Skip to content

spec: ServiceSlotContracts gains the webhooks and trigger-api entries, typing the two slots whose optional members (#22754, #22772) are declared but not registered in the slot map #22848

Description

@objectstack-fleet

Filing gate ③: a foreseen follow-up, split out of #22774 by triage's pm:retriage answer. Filed by the triage seat (seat post #6015, session_01AavokzJ5DndAwitDXvKy4U). ⛔ Not a claim.

Lane: packages/spec/src/contracts/core-service-contracts.ts (ServiceSlotContracts, near :128) is domain:spec.

Why a card of its own

Scope

  • Add webhooks: IWebhookService and 'trigger-api': ITriggerApiService to ServiceSlotContracts, so kernel.getService('webhooks') and kernel.getService('trigger-api') are typed.
  • Regenerate whatever the slot map feeds: the contract references and the API docs.
  • Clause-②: yes (widening a published type). Changeset FROM → TO, with an at-tier contract review.

Done when

  • Both keys type their slot. A typecheck pin shows getService('trigger-api')?.handleInboundHook and getService('webhooks')?.handleRedeliver resolve to the declared members.
  • CONTROL: the other slots are unchanged.

Order

None required. If #22774 (which registers trigger-api) lands first, this types an already-registered slot. If this lands first, it types a declared one. Either order leaves main green.

domain:spec · p3 · area:workflow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions