Skip to content

Declarative connectors: stack entries are inert — bridge them to the automation connector registry or document as descriptor-only #2612

Description

@os-zhuang

The live connector registry behind GET /connectors and the connector_action flow node is populated only by plugins calling automationService.registerConnector(def, handlers) (packages/services/service-automation/src/engine.ts — registration requires a handler per action). Declarative connectors: entries in an app stack are registered as metadata but never reach that registry, so they cannot be dispatched: a declared connector with no plugin behind it is a descriptor with no behavior.

Found while upgrading the showcase to a registry-driven coverage manifest. The showcase demonstrates live connectors the delivered way — ConnectorRestPlugin / ConnectorSlackPlugin instances in objectstack.config.ts plugins:, exercised by the connector flows. Per Prime Directive #10 the declarative connectors: collection is recorded as an explicit waiver in STACK_COLLECTION_COVERAGE (examples/app-showcase/src/coverage.ts) pointing here. (app-crm ships declarative connector examples — examples/app-crm/src/connectors/crm-connectors.ts — which today are declared-but-inert.)

Resolution options:

  1. Bridge: at boot, resolve declarative connector entries against installed connector plugins/handlers and register them (declared connector without a matching handler ⇒ loud validation error, not a silent no-op), or
  2. Document as descriptor-only: make the schema's contract explicit (catalog/marketplace descriptor, not runtime wiring) and keep runtime registration plugin-only.

Once either lands, flip the showcase waiver to demonstrated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions