{"id":"@lssm-tech/lib.communication-runtime","slug":"lib.communication-runtime","name":"@lssm-tech/lib.communication-runtime","version":"5.1.4","path":"packages/domains/communication/runtime","manifestPath":"packages/domains/communication/runtime/package.json","manifestBlobSha":"395e34cbc0723a08c5082ba687535eb99e819c09","layer":"domains","physicalArea":"communication","primaryArea":"communication-and-notifications","classification":{"privateDeclared":null,"catalogFamily":"runtime","catalogKind":"library","catalogStatus":"active","adoptionMode":"adoptable","stability":"stable"},"description":"Backend-neutral CommunicationOS runtime, governance, lifecycle, state, ingestion, records, and replay helpers.","descriptionOrigin":"package.json","catalog":{"family":"runtime","kind":"library","status":"active","adoptionMode":"adoptable","stability":"stable","platforms":["server"],"runtimes":["node"],"entrypoints":[".","./agent-lifecycle-projection","./agent-surface-control","./canonical-agent-conversation","./command-inbox","./customer-live-chat-bridge","./delivery-routing","./delivery-routing.fixture","./discord-community-identities","./discord-community-installations","./ecosystem-authority","./ecosystem-bindings","./ecosystem-bootstrap","./ecosystem-capability-migration","./ecosystem-connections","./ecosystem-connection-sync","./ecosystem-conversation-references","./ecosystem-delivery-dispatcher","./ecosystem-encryption","./ecosystem-governed-work","./ecosystem-meeting-thread","./ecosystem-identities","./ecosystem-journal","./ecosystem-messaging-projections","./ecosystem-messaging-service","./ecosystem-oauth","./ecosystem-oauth-helpers","./ecosystem-oauth-memory","./ecosystem-outbox","./ecosystem-outbox-reconciliation","./ecosystem-provider-ingestion","./personal-device-ingestion","./ecosystem-room-creation","./ecosystem-subscription-coordinator","./ecosystem-workspace-projections","./governance","./ingestion","./ingress-admission","./lifecycle","./records","./replay","./runtime","./runtime.capabilities","./runtime.form-intake","./runtime.helpers","./runtime.ingest","./runtime.mutations","./runtime.mutations.actions","./runtime.mutations.drafts","./runtime.mutations.handoff","./runtime.mutations.identity","./runtime.mutations.thread-link","./runtime.records","./runtime.state","./runtime.types","./scenarios","./state","./support-internal-note-validation","./support-internal-notes"],"documentation":[{"title":"Lib Communication Runtime documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Flib.communication-runtime","kind":"readme"}],"examples":[],"replacements":[],"capabilities":[{"id":"package.lssm.tech.lib.communication.runtime","title":"Lib Communication Runtime","description":"Backend-neutral CommunicationOS runtime, governance, lifecycle, state, ingestion, records, and replay helpers.","status":"active","useCases":["Adopt backend-neutral communicationos runtime, governance, lifecycle, state, ingestion, records, and replay helpers"],"aliases":["contractspec","communication","runtime","typescript","lib"],"pythonEquivalents":[],"canonicalImports":[{"from":"@lssm-tech/lib.communication-runtime","symbols":[]},{"from":"@lssm-tech/lib.communication-runtime/command-inbox","symbols":[]},{"from":"@lssm-tech/lib.communication-runtime/ecosystem-authority","symbols":[]},{"from":"@lssm-tech/lib.communication-runtime/ecosystem-bindings","symbols":[]},{"from":"@lssm-tech/lib.communication-runtime/ecosystem-bootstrap","symbols":[]},{"from":"@lssm-tech/lib.communication-runtime/ecosystem-capability-migration","symbols":[]},{"from":"@lssm-tech/lib.communication-runtime/ecosystem-connections","symbols":[]},{"from":"@lssm-tech/lib.communication-runtime/ecosystem-encryption","symbols":[]},{"from":"@lssm-tech/lib.communication-runtime/ecosystem-governed-work","symbols":[]},{"from":"@lssm-tech/lib.communication-runtime/ecosystem-identities","symbols":[]},{"from":"@lssm-tech/lib.communication-runtime/ecosystem-journal","symbols":[]},{"from":"@lssm-tech/lib.communication-runtime/ecosystem-messaging-projections","symbols":[]},{"from":"@lssm-tech/lib.communication-runtime/ecosystem-messaging-service","symbols":[]}],"constraints":{"platforms":["server"],"runtimes":["node"],"avoidWhen":["The @lssm-tech/lib.communication-runtime package constraints do not match the target runtime or platform."],"requires":["TypeScript"]},"alternatives":[],"relationships":[],"resolutionPriority":50}]},"canonicalImports":[{"capabilityId":"package.lssm.tech.lib.communication.runtime","from":"@lssm-tech/lib.communication-runtime","symbols":[]},{"capabilityId":"package.lssm.tech.lib.communication.runtime","from":"@lssm-tech/lib.communication-runtime/command-inbox","symbols":[]},{"capabilityId":"package.lssm.tech.lib.communication.runtime","from":"@lssm-tech/lib.communication-runtime/ecosystem-authority","symbols":[]},{"capabilityId":"package.lssm.tech.lib.communication.runtime","from":"@lssm-tech/lib.communication-runtime/ecosystem-bindings","symbols":[]},{"capabilityId":"package.lssm.tech.lib.communication.runtime","from":"@lssm-tech/lib.communication-runtime/ecosystem-bootstrap","symbols":[]},{"capabilityId":"package.lssm.tech.lib.communication.runtime","from":"@lssm-tech/lib.communication-runtime/ecosystem-capability-migration","symbols":[]},{"capabilityId":"package.lssm.tech.lib.communication.runtime","from":"@lssm-tech/lib.communication-runtime/ecosystem-connections","symbols":[]},{"capabilityId":"package.lssm.tech.lib.communication.runtime","from":"@lssm-tech/lib.communication-runtime/ecosystem-encryption","symbols":[]},{"capabilityId":"package.lssm.tech.lib.communication.runtime","from":"@lssm-tech/lib.communication-runtime/ecosystem-governed-work","symbols":[]},{"capabilityId":"package.lssm.tech.lib.communication.runtime","from":"@lssm-tech/lib.communication-runtime/ecosystem-identities","symbols":[]},{"capabilityId":"package.lssm.tech.lib.communication.runtime","from":"@lssm-tech/lib.communication-runtime/ecosystem-journal","symbols":[]},{"capabilityId":"package.lssm.tech.lib.communication.runtime","from":"@lssm-tech/lib.communication-runtime/ecosystem-messaging-projections","symbols":[]},{"capabilityId":"package.lssm.tech.lib.communication.runtime","from":"@lssm-tech/lib.communication-runtime/ecosystem-messaging-service","symbols":[]}],"scripts":{"publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","publish:pkg:canary":"bun publish:pkg --tag canary","build":"contractspec-bun-build build","build:bundle":"contractspec-bun-build transpile","build:types":"contractspec-bun-build types","dev":"contractspec-bun-build dev","clean":"rimraf dist .turbo","lint":"bun lint:fix","lint:fix":"node ../../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../../scripts/biome.cjs check --write .","lint:check":"node ../../../../scripts/biome.cjs check .","test":"bun test","prebuild":"contractspec-bun-build prebuild","typecheck":"tsgo --noEmit --tsBuildInfoFile .cache/typecheck.tsbuildinfo"},"scriptStatus":"complete pinned manifest","dependencies":{"@lssm-tech/lib.agent-protocol-spec":"workspace:^","@lssm-tech/lib.communication-spec":"workspace:^","@lssm-tech/lib.contracts-spec-core":"workspace:^","@lssm-tech/lib.forms-runtime":"workspace:^","@lssm-tech/lib.schema":"workspace:^","@lssm-tech/lib.lifecycle":"workspace:^","@lssm-tech/lib.bus":"workspace:^"},"devDependencies":{"@lssm-tech/lib.provider-spec":"workspace:^","@lssm-tech/tool.bun":"workspace:*","@lssm-tech/tool.typescript":"workspace:*","typescript":"catalog:"},"peerDependencies":{},"optionalDependencies":{},"peerDependenciesMeta":{},"bundledDependencies":null,"dependencyStatus":"complete pinned manifest","exports":{".":"./src/index.ts","./agent-lifecycle-projection":"./src/agent-lifecycle-projection.ts","./agent-surface-control":"./src/agent-surface-control.ts","./canonical-agent-conversation":"./src/canonical-agent-conversation.ts","./command-inbox":"./src/command-inbox.ts","./customer-live-chat-bridge":"./src/customer-live-chat-bridge.ts","./delivery-artifacts":"./src/delivery-artifacts.ts","./delivery-eligibility":"./src/delivery-eligibility.ts","./delivery-fallback":"./src/delivery-fallback.ts","./delivery-fallback-input":"./src/delivery-fallback-input.ts","./delivery-intent":"./src/delivery-intent.ts","./delivery-preference-resolution":"./src/delivery-preference-resolution.ts","./delivery-quiet-hours":"./src/delivery-quiet-hours.ts","./delivery-routing":"./src/delivery-routing.ts","./delivery-routing-types":"./src/delivery-routing-types.ts","./delivery-routing.fixture":"./src/delivery-routing.fixture.ts","./discord-community-identities":"./src/discord-community-identities.ts","./discord-community-installations":"./src/discord-community-installations.ts","./ecosystem-authority":"./src/ecosystem-authority.ts","./ecosystem-bindings":"./src/ecosystem-bindings.ts","./ecosystem-bootstrap":"./src/ecosystem-bootstrap.ts","./ecosystem-capability-migration":"./src/ecosystem-capability-migration.ts","./ecosystem-connections":"./src/ecosystem-connections.ts","./ecosystem-connection-sync":"./src/ecosystem-connection-sync.ts","./ecosystem-conversation-references":"./src/ecosystem-conversation-references.ts","./ecosystem-delivery-dispatcher":"./src/ecosystem-delivery-dispatcher.ts","./ecosystem-encryption":"./src/ecosystem-encryption.ts","./ecosystem-governed-work":"./src/ecosystem-governed-work.ts","./ecosystem-meeting-thread":"./src/ecosystem-meeting-thread.ts","./ecosystem-identities":"./src/ecosystem-identities.ts","./ecosystem-journal":"./src/ecosystem-journal.ts","./ecosystem-message-replay":"./src/ecosystem-message-replay.ts","./ecosystem-messaging-projections":"./src/ecosystem-messaging-projections.ts","./ecosystem-messaging-service":"./src/ecosystem-messaging-service.ts","./ecosystem-oauth":"./src/ecosystem-oauth.ts","./ecosystem-oauth-helpers":"./src/ecosystem-oauth-helpers.ts","./ecosystem-oauth-memory":"./src/ecosystem-oauth-memory.ts","./ecosystem-oauth-provider-selection":"./src/ecosystem-oauth-provider-selection.ts","./ecosystem-outbox":"./src/ecosystem-outbox.ts","./ecosystem-outbox-reconciliation":"./src/ecosystem-outbox-reconciliation.ts","./ecosystem-provider-ingestion":"./src/ecosystem-provider-ingestion.ts","./personal-device-ingestion":"./src/personal-device-ingestion.ts","./ecosystem-room-creation":"./src/ecosystem-room-creation.ts","./ecosystem-subscription-coordinator":"./src/ecosystem-subscription-coordinator.ts","./ecosystem-workspace-projections":"./src/ecosystem-workspace-projections.ts","./governance":"./src/governance.ts","./ingestion":"./src/ingestion/index.ts","./ingress-admission":"./src/ingress-admission.ts","./lifecycle":"./src/lifecycle.ts","./records":"./src/records/index.ts","./replay":"./src/replay/index.ts","./runtime":"./src/runtime.ts","./runtime.capabilities":"./src/runtime.capabilities.ts","./runtime.form-intake":"./src/runtime.form-intake.ts","./runtime.helpers":"./src/runtime.helpers.ts","./runtime.ingest":"./src/runtime.ingest.ts","./runtime.mutations":"./src/runtime.mutations.ts","./runtime.mutations.actions":"./src/runtime.mutations.actions.ts","./runtime.mutations.drafts":"./src/runtime.mutations.drafts.ts","./runtime.mutations.handoff":"./src/runtime.mutations.handoff.ts","./runtime.mutations.identity":"./src/runtime.mutations.identity.ts","./runtime.mutations.thread-link":"./src/runtime.mutations.thread-link.ts","./runtime.records":"./src/runtime.records.ts","./runtime.state":"./src/runtime.state.ts","./runtime.types":"./src/runtime.types.ts","./scenarios":"./src/scenarios.ts","./state":"./src/state/index.ts","./support-internal-note-validation":"./src/support-internal-note-validation.ts","./support-internal-notes":"./src/support-internal-notes.ts"},"publishExports":{".":{"types":"./dist/index.d.ts","browser":"./dist/browser/index.js","bun":"./dist/index.js","node":"./dist/node/index.js","default":"./dist/index.js"},"./agent-lifecycle-projection":{"types":"./dist/agent-lifecycle-projection.d.ts","browser":"./dist/browser/agent-lifecycle-projection.js","bun":"./dist/agent-lifecycle-projection.js","node":"./dist/node/agent-lifecycle-projection.js","default":"./dist/agent-lifecycle-projection.js"},"./agent-surface-control":{"types":"./dist/agent-surface-control.d.ts","browser":"./dist/browser/agent-surface-control.js","bun":"./dist/agent-surface-control.js","node":"./dist/node/agent-surface-control.js","default":"./dist/agent-surface-control.js"},"./canonical-agent-conversation":{"types":"./dist/canonical-agent-conversation.d.ts","browser":"./dist/browser/canonical-agent-conversation.js","bun":"./dist/canonical-agent-conversation.js","node":"./dist/node/canonical-agent-conversation.js","default":"./dist/canonical-agent-conversation.js"},"./command-inbox":{"types":"./dist/command-inbox.d.ts","browser":"./dist/browser/command-inbox.js","bun":"./dist/command-inbox.js","node":"./dist/node/command-inbox.js","default":"./dist/command-inbox.js"},"./customer-live-chat-bridge":{"types":"./dist/customer-live-chat-bridge.d.ts","browser":"./dist/browser/customer-live-chat-bridge.js","bun":"./dist/customer-live-chat-bridge.js","node":"./dist/node/customer-live-chat-bridge.js","default":"./dist/customer-live-chat-bridge.js"},"./delivery-artifacts":{"types":"./dist/delivery-artifacts.d.ts","browser":"./dist/browser/delivery-artifacts.js","bun":"./dist/delivery-artifacts.js","node":"./dist/node/delivery-artifacts.js","default":"./dist/delivery-artifacts.js"},"./delivery-eligibility":{"types":"./dist/delivery-eligibility.d.ts","browser":"./dist/browser/delivery-eligibility.js","bun":"./dist/delivery-eligibility.js","node":"./dist/node/delivery-eligibility.js","default":"./dist/delivery-eligibility.js"},"./delivery-fallback":{"types":"./dist/delivery-fallback.d.ts","browser":"./dist/browser/delivery-fallback.js","bun":"./dist/delivery-fallback.js","node":"./dist/node/delivery-fallback.js","default":"./dist/delivery-fallback.js"},"./delivery-fallback-input":{"types":"./dist/delivery-fallback-input.d.ts","browser":"./dist/browser/delivery-fallback-input.js","bun":"./dist/delivery-fallback-input.js","node":"./dist/node/delivery-fallback-input.js","default":"./dist/delivery-fallback-input.js"},"./delivery-intent":{"types":"./dist/delivery-intent.d.ts","browser":"./dist/browser/delivery-intent.js","bun":"./dist/delivery-intent.js","node":"./dist/node/delivery-intent.js","default":"./dist/delivery-intent.js"},"./delivery-preference-resolution":{"types":"./dist/delivery-preference-resolution.d.ts","browser":"./dist/browser/delivery-preference-resolution.js","bun":"./dist/delivery-preference-resolution.js","node":"./dist/node/delivery-preference-resolution.js","default":"./dist/delivery-preference-resolution.js"},"./delivery-quiet-hours":{"types":"./dist/delivery-quiet-hours.d.ts","browser":"./dist/browser/delivery-quiet-hours.js","bun":"./dist/delivery-quiet-hours.js","node":"./dist/node/delivery-quiet-hours.js","default":"./dist/delivery-quiet-hours.js"},"./delivery-routing":{"types":"./dist/delivery-routing.d.ts","browser":"./dist/browser/delivery-routing.js","bun":"./dist/delivery-routing.js","node":"./dist/node/delivery-routing.js","default":"./dist/delivery-routing.js"},"./delivery-routing-types":{"types":"./dist/delivery-routing-types.d.ts","browser":"./dist/browser/delivery-routing-types.js","bun":"./dist/delivery-routing-types.js","node":"./dist/node/delivery-routing-types.js","default":"./dist/delivery-routing-types.js"},"./delivery-routing.fixture":{"types":"./dist/delivery-routing.fixture.d.ts","browser":"./dist/browser/delivery-routing.fixture.js","bun":"./dist/delivery-routing.fixture.js","node":"./dist/node/delivery-routing.fixture.js","default":"./dist/delivery-routing.fixture.js"},"./discord-community-identities":{"types":"./dist/discord-community-identities.d.ts","browser":"./dist/browser/discord-community-identities.js","bun":"./dist/discord-community-identities.js","node":"./dist/node/discord-community-identities.js","default":"./dist/discord-community-identities.js"},"./discord-community-installations":{"types":"./dist/discord-community-installations.d.ts","browser":"./dist/browser/discord-community-installations.js","bun":"./dist/discord-community-installations.js","node":"./dist/node/discord-community-installations.js","default":"./dist/discord-community-installations.js"},"./ecosystem-authority":{"types":"./dist/ecosystem-authority.d.ts","browser":"./dist/browser/ecosystem-authority.js","bun":"./dist/ecosystem-authority.js","node":"./dist/node/ecosystem-authority.js","default":"./dist/ecosystem-authority.js"},"./ecosystem-bindings":{"types":"./dist/ecosystem-bindings.d.ts","browser":"./dist/browser/ecosystem-bindings.js","bun":"./dist/ecosystem-bindings.js","node":"./dist/node/ecosystem-bindings.js","default":"./dist/ecosystem-bindings.js"},"./ecosystem-bootstrap":{"types":"./dist/ecosystem-bootstrap.d.ts","browser":"./dist/browser/ecosystem-bootstrap.js","bun":"./dist/ecosystem-bootstrap.js","node":"./dist/node/ecosystem-bootstrap.js","default":"./dist/ecosystem-bootstrap.js"},"./ecosystem-capability-migration":{"types":"./dist/ecosystem-capability-migration.d.ts","browser":"./dist/browser/ecosystem-capability-migration.js","bun":"./dist/ecosystem-capability-migration.js","node":"./dist/node/ecosystem-capability-migration.js","default":"./dist/ecosystem-capability-migration.js"},"./ecosystem-connections":{"types":"./dist/ecosystem-connections.d.ts","browser":"./dist/browser/ecosystem-connections.js","bun":"./dist/ecosystem-connections.js","node":"./dist/node/ecosystem-connections.js","default":"./dist/ecosystem-connections.js"},"./ecosystem-connection-sync":{"types":"./dist/ecosystem-connection-sync.d.ts","browser":"./dist/browser/ecosystem-connection-sync.js","bun":"./dist/ecosystem-connection-sync.js","node":"./dist/node/ecosystem-connection-sync.js","default":"./dist/ecosystem-connection-sync.js"},"./ecosystem-conversation-references":{"types":"./dist/ecosystem-conversation-references.d.ts","browser":"./dist/browser/ecosystem-conversation-references.js","bun":"./dist/ecosystem-conversation-references.js","node":"./dist/node/ecosystem-conversation-references.js","default":"./dist/ecosystem-conversation-references.js"},"./ecosystem-delivery-dispatcher":{"types":"./dist/ecosystem-delivery-dispatcher.d.ts","browser":"./dist/browser/ecosystem-delivery-dispatcher.js","bun":"./dist/ecosystem-delivery-dispatcher.js","node":"./dist/node/ecosystem-delivery-dispatcher.js","default":"./dist/ecosystem-delivery-dispatcher.js"},"./ecosystem-encryption":{"types":"./dist/ecosystem-encryption.d.ts","browser":"./dist/browser/ecosystem-encryption.js","bun":"./dist/ecosystem-encryption.js","node":"./dist/node/ecosystem-encryption.js","default":"./dist/ecosystem-encryption.js"},"./ecosystem-governed-work":{"types":"./dist/ecosystem-governed-work.d.ts","browser":"./dist/browser/ecosystem-governed-work.js","bun":"./dist/ecosystem-governed-work.js","node":"./dist/node/ecosystem-governed-work.js","default":"./dist/ecosystem-governed-work.js"},"./ecosystem-meeting-thread":{"types":"./dist/ecosystem-meeting-thread.d.ts","browser":"./dist/browser/ecosystem-meeting-thread.js","bun":"./dist/ecosystem-meeting-thread.js","node":"./dist/node/ecosystem-meeting-thread.js","default":"./dist/ecosystem-meeting-thread.js"},"./ecosystem-identities":{"types":"./dist/ecosystem-identities.d.ts","browser":"./dist/browser/ecosystem-identities.js","bun":"./dist/ecosystem-identities.js","node":"./dist/node/ecosystem-identities.js","default":"./dist/ecosystem-identities.js"},"./ecosystem-journal":{"types":"./dist/ecosystem-journal.d.ts","browser":"./dist/browser/ecosystem-journal.js","bun":"./dist/ecosystem-journal.js","node":"./dist/node/ecosystem-journal.js","default":"./dist/ecosystem-journal.js"},"./ecosystem-message-replay":{"types":"./dist/ecosystem-message-replay.d.ts","browser":"./dist/browser/ecosystem-message-replay.js","bun":"./dist/ecosystem-message-replay.js","node":"./dist/node/ecosystem-message-replay.js","default":"./dist/ecosystem-message-replay.js"},"./ecosystem-messaging-projections":{"types":"./dist/ecosystem-messaging-projections.d.ts","browser":"./dist/browser/ecosystem-messaging-projections.js","bun":"./dist/ecosystem-messaging-projections.js","node":"./dist/node/ecosystem-messaging-projections.js","default":"./dist/ecosystem-messaging-projections.js"},"./ecosystem-messaging-service":{"types":"./dist/ecosystem-messaging-service.d.ts","browser":"./dist/browser/ecosystem-messaging-service.js","bun":"./dist/ecosystem-messaging-service.js","node":"./dist/node/ecosystem-messaging-service.js","default":"./dist/ecosystem-messaging-service.js"},"./ecosystem-oauth":{"types":"./dist/ecosystem-oauth.d.ts","browser":"./dist/browser/ecosystem-oauth.js","bun":"./dist/ecosystem-oauth.js","node":"./dist/node/ecosystem-oauth.js","default":"./dist/ecosystem-oauth.js"},"./ecosystem-oauth-helpers":{"types":"./dist/ecosystem-oauth-helpers.d.ts","browser":"./dist/browser/ecosystem-oauth-helpers.js","bun":"./dist/ecosystem-oauth-helpers.js","node":"./dist/node/ecosystem-oauth-helpers.js","default":"./dist/ecosystem-oauth-helpers.js"},"./ecosystem-oauth-memory":{"types":"./dist/ecosystem-oauth-memory.d.ts","browser":"./dist/browser/ecosystem-oauth-memory.js","bun":"./dist/ecosystem-oauth-memory.js","node":"./dist/node/ecosystem-oauth-memory.js","default":"./dist/ecosystem-oauth-memory.js"},"./ecosystem-oauth-provider-selection":{"types":"./dist/ecosystem-oauth-provider-selection.d.ts","browser":"./dist/browser/ecosystem-oauth-provider-selection.js","bun":"./dist/ecosystem-oauth-provider-selection.js","node":"./dist/node/ecosystem-oauth-provider-selection.js","default":"./dist/ecosystem-oauth-provider-selection.js"},"./ecosystem-outbox":{"types":"./dist/ecosystem-outbox.d.ts","browser":"./dist/browser/ecosystem-outbox.js","bun":"./dist/ecosystem-outbox.js","node":"./dist/node/ecosystem-outbox.js","default":"./dist/ecosystem-outbox.js"},"./ecosystem-outbox-reconciliation":{"types":"./dist/ecosystem-outbox-reconciliation.d.ts","browser":"./dist/browser/ecosystem-outbox-reconciliation.js","bun":"./dist/ecosystem-outbox-reconciliation.js","node":"./dist/node/ecosystem-outbox-reconciliation.js","default":"./dist/ecosystem-outbox-reconciliation.js"},"./ecosystem-provider-ingestion":{"types":"./dist/ecosystem-provider-ingestion.d.ts","browser":"./dist/browser/ecosystem-provider-ingestion.js","bun":"./dist/ecosystem-provider-ingestion.js","node":"./dist/node/ecosystem-provider-ingestion.js","default":"./dist/ecosystem-provider-ingestion.js"},"./personal-device-ingestion":{"types":"./dist/personal-device-ingestion.d.ts","browser":"./dist/browser/personal-device-ingestion.js","bun":"./dist/personal-device-ingestion.js","node":"./dist/node/personal-device-ingestion.js","default":"./dist/personal-device-ingestion.js"},"./ecosystem-room-creation":{"types":"./dist/ecosystem-room-creation.d.ts","browser":"./dist/browser/ecosystem-room-creation.js","bun":"./dist/ecosystem-room-creation.js","node":"./dist/node/ecosystem-room-creation.js","default":"./dist/ecosystem-room-creation.js"},"./ecosystem-subscription-coordinator":{"types":"./dist/ecosystem-subscription-coordinator.d.ts","browser":"./dist/browser/ecosystem-subscription-coordinator.js","bun":"./dist/ecosystem-subscription-coordinator.js","node":"./dist/node/ecosystem-subscription-coordinator.js","default":"./dist/ecosystem-subscription-coordinator.js"},"./ecosystem-workspace-projections":{"types":"./dist/ecosystem-workspace-projections.d.ts","browser":"./dist/browser/ecosystem-workspace-projections.js","bun":"./dist/ecosystem-workspace-projections.js","node":"./dist/node/ecosystem-workspace-projections.js","default":"./dist/ecosystem-workspace-projections.js"},"./governance":{"types":"./dist/governance.d.ts","browser":"./dist/browser/governance.js","bun":"./dist/governance.js","node":"./dist/node/governance.js","default":"./dist/governance.js"},"./ingestion":{"types":"./dist/ingestion/index.d.ts","browser":"./dist/browser/ingestion/index.js","bun":"./dist/ingestion/index.js","node":"./dist/node/ingestion/index.js","default":"./dist/ingestion/index.js"},"./ingress-admission":{"types":"./dist/ingress-admission.d.ts","browser":"./dist/browser/ingress-admission.js","bun":"./dist/ingress-admission.js","node":"./dist/node/ingress-admission.js","default":"./dist/ingress-admission.js"},"./lifecycle":{"types":"./dist/lifecycle.d.ts","browser":"./dist/browser/lifecycle.js","bun":"./dist/lifecycle.js","node":"./dist/node/lifecycle.js","default":"./dist/lifecycle.js"},"./records":{"types":"./dist/records/index.d.ts","browser":"./dist/browser/records/index.js","bun":"./dist/records/index.js","node":"./dist/node/records/index.js","default":"./dist/records/index.js"},"./replay":{"types":"./dist/replay/index.d.ts","browser":"./dist/browser/replay/index.js","bun":"./dist/replay/index.js","node":"./dist/node/replay/index.js","default":"./dist/replay/index.js"},"./runtime":{"types":"./dist/runtime.d.ts","browser":"./dist/browser/runtime.js","bun":"./dist/runtime.js","node":"./dist/node/runtime.js","default":"./dist/runtime.js"},"./runtime.capabilities":{"types":"./dist/runtime.capabilities.d.ts","browser":"./dist/browser/runtime.capabilities.js","bun":"./dist/runtime.capabilities.js","node":"./dist/node/runtime.capabilities.js","default":"./dist/runtime.capabilities.js"},"./runtime.form-intake":{"types":"./dist/runtime.form-intake.d.ts","browser":"./dist/browser/runtime.form-intake.js","bun":"./dist/runtime.form-intake.js","node":"./dist/node/runtime.form-intake.js","default":"./dist/runtime.form-intake.js"},"./runtime.helpers":{"types":"./dist/runtime.helpers.d.ts","browser":"./dist/browser/runtime.helpers.js","bun":"./dist/runtime.helpers.js","node":"./dist/node/runtime.helpers.js","default":"./dist/runtime.helpers.js"},"./runtime.ingest":{"types":"./dist/runtime.ingest.d.ts","browser":"./dist/browser/runtime.ingest.js","bun":"./dist/runtime.ingest.js","node":"./dist/node/runtime.ingest.js","default":"./dist/runtime.ingest.js"},"./runtime.mutations":{"types":"./dist/runtime.mutations.d.ts","browser":"./dist/browser/runtime.mutations.js","bun":"./dist/runtime.mutations.js","node":"./dist/node/runtime.mutations.js","default":"./dist/runtime.mutations.js"},"./runtime.mutations.actions":{"types":"./dist/runtime.mutations.actions.d.ts","browser":"./dist/browser/runtime.mutations.actions.js","bun":"./dist/runtime.mutations.actions.js","node":"./dist/node/runtime.mutations.actions.js","default":"./dist/runtime.mutations.actions.js"},"./runtime.mutations.drafts":{"types":"./dist/runtime.mutations.drafts.d.ts","browser":"./dist/browser/runtime.mutations.drafts.js","bun":"./dist/runtime.mutations.drafts.js","node":"./dist/node/runtime.mutations.drafts.js","default":"./dist/runtime.mutations.drafts.js"},"./runtime.mutations.handoff":{"types":"./dist/runtime.mutations.handoff.d.ts","browser":"./dist/browser/runtime.mutations.handoff.js","bun":"./dist/runtime.mutations.handoff.js","node":"./dist/node/runtime.mutations.handoff.js","default":"./dist/runtime.mutations.handoff.js"},"./runtime.mutations.identity":{"types":"./dist/runtime.mutations.identity.d.ts","browser":"./dist/browser/runtime.mutations.identity.js","bun":"./dist/runtime.mutations.identity.js","node":"./dist/node/runtime.mutations.identity.js","default":"./dist/runtime.mutations.identity.js"},"./runtime.mutations.thread-link":{"types":"./dist/runtime.mutations.thread-link.d.ts","browser":"./dist/browser/runtime.mutations.thread-link.js","bun":"./dist/runtime.mutations.thread-link.js","node":"./dist/node/runtime.mutations.thread-link.js","default":"./dist/runtime.mutations.thread-link.js"},"./runtime.records":{"types":"./dist/runtime.records.d.ts","browser":"./dist/browser/runtime.records.js","bun":"./dist/runtime.records.js","node":"./dist/node/runtime.records.js","default":"./dist/runtime.records.js"},"./runtime.state":{"types":"./dist/runtime.state.d.ts","browser":"./dist/browser/runtime.state.js","bun":"./dist/runtime.state.js","node":"./dist/node/runtime.state.js","default":"./dist/runtime.state.js"},"./runtime.types":{"types":"./dist/runtime.types.d.ts","browser":"./dist/browser/runtime.types.js","bun":"./dist/runtime.types.js","node":"./dist/node/runtime.types.js","default":"./dist/runtime.types.js"},"./scenarios":{"types":"./dist/scenarios.d.ts","browser":"./dist/browser/scenarios.js","bun":"./dist/scenarios.js","node":"./dist/node/scenarios.js","default":"./dist/scenarios.js"},"./state":{"types":"./dist/state/index.d.ts","browser":"./dist/browser/state/index.js","bun":"./dist/state/index.js","node":"./dist/node/state/index.js","default":"./dist/state/index.js"},"./support-internal-note-validation":{"types":"./dist/support-internal-note-validation.d.ts","browser":"./dist/browser/support-internal-note-validation.js","bun":"./dist/support-internal-note-validation.js","node":"./dist/node/support-internal-note-validation.js","default":"./dist/support-internal-note-validation.js"},"./support-internal-notes":{"types":"./dist/support-internal-notes.d.ts","browser":"./dist/browser/support-internal-notes.js","bun":"./dist/support-internal-notes.js","node":"./dist/node/support-internal-notes.js","default":"./dist/support-internal-notes.js"}},"types":"./dist/index.d.ts","files":["dist","README.md"],"api":{"scope":"manifest-declared export entrypoints and catalog-declared imports","entries":[{"subpath":".","importPath":"@lssm-tech/lib.communication-runtime","target":"./src/index.ts","targets":[{"conditions":[],"target":"./src/index.ts","sourcePath":"packages/domains/communication/runtime/src/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./agent-lifecycle-projection","importPath":"@lssm-tech/lib.communication-runtime/agent-lifecycle-projection","target":"./src/agent-lifecycle-projection.ts","targets":[{"conditions":[],"target":"./src/agent-lifecycle-projection.ts","sourcePath":"packages/domains/communication/runtime/src/agent-lifecycle-projection.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/agent-lifecycle-projection.ts","sourceStatus":"verified source file"}]},{"subpath":"./agent-surface-control","importPath":"@lssm-tech/lib.communication-runtime/agent-surface-control","target":"./src/agent-surface-control.ts","targets":[{"conditions":[],"target":"./src/agent-surface-control.ts","sourcePath":"packages/domains/communication/runtime/src/agent-surface-control.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/agent-surface-control.ts","sourceStatus":"verified source file"}]},{"subpath":"./canonical-agent-conversation","importPath":"@lssm-tech/lib.communication-runtime/canonical-agent-conversation","target":"./src/canonical-agent-conversation.ts","targets":[{"conditions":[],"target":"./src/canonical-agent-conversation.ts","sourcePath":"packages/domains/communication/runtime/src/canonical-agent-conversation.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/canonical-agent-conversation.ts","sourceStatus":"verified source file"}]},{"subpath":"./command-inbox","importPath":"@lssm-tech/lib.communication-runtime/command-inbox","target":"./src/command-inbox.ts","targets":[{"conditions":[],"target":"./src/command-inbox.ts","sourcePath":"packages/domains/communication/runtime/src/command-inbox.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/command-inbox.ts","sourceStatus":"verified source file"}]},{"subpath":"./customer-live-chat-bridge","importPath":"@lssm-tech/lib.communication-runtime/customer-live-chat-bridge","target":"./src/customer-live-chat-bridge.ts","targets":[{"conditions":[],"target":"./src/customer-live-chat-bridge.ts","sourcePath":"packages/domains/communication/runtime/src/customer-live-chat-bridge.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/customer-live-chat-bridge.ts","sourceStatus":"verified source file"}]},{"subpath":"./delivery-artifacts","importPath":"@lssm-tech/lib.communication-runtime/delivery-artifacts","target":"./src/delivery-artifacts.ts","targets":[{"conditions":[],"target":"./src/delivery-artifacts.ts","sourcePath":"packages/domains/communication/runtime/src/delivery-artifacts.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/delivery-artifacts.ts","sourceStatus":"verified source file"}]},{"subpath":"./delivery-eligibility","importPath":"@lssm-tech/lib.communication-runtime/delivery-eligibility","target":"./src/delivery-eligibility.ts","targets":[{"conditions":[],"target":"./src/delivery-eligibility.ts","sourcePath":"packages/domains/communication/runtime/src/delivery-eligibility.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/delivery-eligibility.ts","sourceStatus":"verified source file"}]},{"subpath":"./delivery-fallback","importPath":"@lssm-tech/lib.communication-runtime/delivery-fallback","target":"./src/delivery-fallback.ts","targets":[{"conditions":[],"target":"./src/delivery-fallback.ts","sourcePath":"packages/domains/communication/runtime/src/delivery-fallback.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/delivery-fallback.ts","sourceStatus":"verified source file"}]},{"subpath":"./delivery-fallback-input","importPath":"@lssm-tech/lib.communication-runtime/delivery-fallback-input","target":"./src/delivery-fallback-input.ts","targets":[{"conditions":[],"target":"./src/delivery-fallback-input.ts","sourcePath":"packages/domains/communication/runtime/src/delivery-fallback-input.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/delivery-fallback-input.ts","sourceStatus":"verified source file"}]},{"subpath":"./delivery-intent","importPath":"@lssm-tech/lib.communication-runtime/delivery-intent","target":"./src/delivery-intent.ts","targets":[{"conditions":[],"target":"./src/delivery-intent.ts","sourcePath":"packages/domains/communication/runtime/src/delivery-intent.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/delivery-intent.ts","sourceStatus":"verified source file"}]},{"subpath":"./delivery-preference-resolution","importPath":"@lssm-tech/lib.communication-runtime/delivery-preference-resolution","target":"./src/delivery-preference-resolution.ts","targets":[{"conditions":[],"target":"./src/delivery-preference-resolution.ts","sourcePath":"packages/domains/communication/runtime/src/delivery-preference-resolution.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/delivery-preference-resolution.ts","sourceStatus":"verified source file"}]},{"subpath":"./delivery-quiet-hours","importPath":"@lssm-tech/lib.communication-runtime/delivery-quiet-hours","target":"./src/delivery-quiet-hours.ts","targets":[{"conditions":[],"target":"./src/delivery-quiet-hours.ts","sourcePath":"packages/domains/communication/runtime/src/delivery-quiet-hours.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/delivery-quiet-hours.ts","sourceStatus":"verified source file"}]},{"subpath":"./delivery-routing","importPath":"@lssm-tech/lib.communication-runtime/delivery-routing","target":"./src/delivery-routing.ts","targets":[{"conditions":[],"target":"./src/delivery-routing.ts","sourcePath":"packages/domains/communication/runtime/src/delivery-routing.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/delivery-routing.ts","sourceStatus":"verified source file"}]},{"subpath":"./delivery-routing-types","importPath":"@lssm-tech/lib.communication-runtime/delivery-routing-types","target":"./src/delivery-routing-types.ts","targets":[{"conditions":[],"target":"./src/delivery-routing-types.ts","sourcePath":"packages/domains/communication/runtime/src/delivery-routing-types.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/delivery-routing-types.ts","sourceStatus":"verified source file"}]},{"subpath":"./delivery-routing.fixture","importPath":"@lssm-tech/lib.communication-runtime/delivery-routing.fixture","target":"./src/delivery-routing.fixture.ts","targets":[{"conditions":[],"target":"./src/delivery-routing.fixture.ts","sourcePath":"packages/domains/communication/runtime/src/delivery-routing.fixture.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/delivery-routing.fixture.ts","sourceStatus":"verified source file"}]},{"subpath":"./discord-community-identities","importPath":"@lssm-tech/lib.communication-runtime/discord-community-identities","target":"./src/discord-community-identities.ts","targets":[{"conditions":[],"target":"./src/discord-community-identities.ts","sourcePath":"packages/domains/communication/runtime/src/discord-community-identities.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/discord-community-identities.ts","sourceStatus":"verified source file"}]},{"subpath":"./discord-community-installations","importPath":"@lssm-tech/lib.communication-runtime/discord-community-installations","target":"./src/discord-community-installations.ts","targets":[{"conditions":[],"target":"./src/discord-community-installations.ts","sourcePath":"packages/domains/communication/runtime/src/discord-community-installations.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/discord-community-installations.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-authority","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-authority","target":"./src/ecosystem-authority.ts","targets":[{"conditions":[],"target":"./src/ecosystem-authority.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-authority.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-authority.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-bindings","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-bindings","target":"./src/ecosystem-bindings.ts","targets":[{"conditions":[],"target":"./src/ecosystem-bindings.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-bindings.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-bindings.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-bootstrap","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-bootstrap","target":"./src/ecosystem-bootstrap.ts","targets":[{"conditions":[],"target":"./src/ecosystem-bootstrap.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-bootstrap.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-bootstrap.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-capability-migration","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-capability-migration","target":"./src/ecosystem-capability-migration.ts","targets":[{"conditions":[],"target":"./src/ecosystem-capability-migration.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-capability-migration.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-capability-migration.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-connections","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-connections","target":"./src/ecosystem-connections.ts","targets":[{"conditions":[],"target":"./src/ecosystem-connections.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-connections.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-connections.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-connection-sync","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-connection-sync","target":"./src/ecosystem-connection-sync.ts","targets":[{"conditions":[],"target":"./src/ecosystem-connection-sync.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-connection-sync.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-connection-sync.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-conversation-references","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-conversation-references","target":"./src/ecosystem-conversation-references.ts","targets":[{"conditions":[],"target":"./src/ecosystem-conversation-references.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-conversation-references.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-conversation-references.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-delivery-dispatcher","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-delivery-dispatcher","target":"./src/ecosystem-delivery-dispatcher.ts","targets":[{"conditions":[],"target":"./src/ecosystem-delivery-dispatcher.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-delivery-dispatcher.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-delivery-dispatcher.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-encryption","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-encryption","target":"./src/ecosystem-encryption.ts","targets":[{"conditions":[],"target":"./src/ecosystem-encryption.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-encryption.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-encryption.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-governed-work","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-governed-work","target":"./src/ecosystem-governed-work.ts","targets":[{"conditions":[],"target":"./src/ecosystem-governed-work.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-governed-work.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-governed-work.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-meeting-thread","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-meeting-thread","target":"./src/ecosystem-meeting-thread.ts","targets":[{"conditions":[],"target":"./src/ecosystem-meeting-thread.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-meeting-thread.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-meeting-thread.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-identities","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-identities","target":"./src/ecosystem-identities.ts","targets":[{"conditions":[],"target":"./src/ecosystem-identities.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-identities.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-identities.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-journal","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-journal","target":"./src/ecosystem-journal.ts","targets":[{"conditions":[],"target":"./src/ecosystem-journal.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-journal.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-journal.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-message-replay","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-message-replay","target":"./src/ecosystem-message-replay.ts","targets":[{"conditions":[],"target":"./src/ecosystem-message-replay.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-message-replay.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-message-replay.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-messaging-projections","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-messaging-projections","target":"./src/ecosystem-messaging-projections.ts","targets":[{"conditions":[],"target":"./src/ecosystem-messaging-projections.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-messaging-projections.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-messaging-projections.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-messaging-service","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-messaging-service","target":"./src/ecosystem-messaging-service.ts","targets":[{"conditions":[],"target":"./src/ecosystem-messaging-service.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-messaging-service.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-messaging-service.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-oauth","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-oauth","target":"./src/ecosystem-oauth.ts","targets":[{"conditions":[],"target":"./src/ecosystem-oauth.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-oauth.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-oauth.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-oauth-helpers","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-oauth-helpers","target":"./src/ecosystem-oauth-helpers.ts","targets":[{"conditions":[],"target":"./src/ecosystem-oauth-helpers.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-oauth-helpers.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-oauth-helpers.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-oauth-memory","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-oauth-memory","target":"./src/ecosystem-oauth-memory.ts","targets":[{"conditions":[],"target":"./src/ecosystem-oauth-memory.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-oauth-memory.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-oauth-memory.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-oauth-provider-selection","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-oauth-provider-selection","target":"./src/ecosystem-oauth-provider-selection.ts","targets":[{"conditions":[],"target":"./src/ecosystem-oauth-provider-selection.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-oauth-provider-selection.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-oauth-provider-selection.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-outbox","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-outbox","target":"./src/ecosystem-outbox.ts","targets":[{"conditions":[],"target":"./src/ecosystem-outbox.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-outbox.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-outbox.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-outbox-reconciliation","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-outbox-reconciliation","target":"./src/ecosystem-outbox-reconciliation.ts","targets":[{"conditions":[],"target":"./src/ecosystem-outbox-reconciliation.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-outbox-reconciliation.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-outbox-reconciliation.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-provider-ingestion","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-provider-ingestion","target":"./src/ecosystem-provider-ingestion.ts","targets":[{"conditions":[],"target":"./src/ecosystem-provider-ingestion.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-provider-ingestion.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-provider-ingestion.ts","sourceStatus":"verified source file"}]},{"subpath":"./personal-device-ingestion","importPath":"@lssm-tech/lib.communication-runtime/personal-device-ingestion","target":"./src/personal-device-ingestion.ts","targets":[{"conditions":[],"target":"./src/personal-device-ingestion.ts","sourcePath":"packages/domains/communication/runtime/src/personal-device-ingestion.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/personal-device-ingestion.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-room-creation","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-room-creation","target":"./src/ecosystem-room-creation.ts","targets":[{"conditions":[],"target":"./src/ecosystem-room-creation.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-room-creation.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-room-creation.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-subscription-coordinator","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-subscription-coordinator","target":"./src/ecosystem-subscription-coordinator.ts","targets":[{"conditions":[],"target":"./src/ecosystem-subscription-coordinator.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-subscription-coordinator.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-subscription-coordinator.ts","sourceStatus":"verified source file"}]},{"subpath":"./ecosystem-workspace-projections","importPath":"@lssm-tech/lib.communication-runtime/ecosystem-workspace-projections","target":"./src/ecosystem-workspace-projections.ts","targets":[{"conditions":[],"target":"./src/ecosystem-workspace-projections.ts","sourcePath":"packages/domains/communication/runtime/src/ecosystem-workspace-projections.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ecosystem-workspace-projections.ts","sourceStatus":"verified source file"}]},{"subpath":"./governance","importPath":"@lssm-tech/lib.communication-runtime/governance","target":"./src/governance.ts","targets":[{"conditions":[],"target":"./src/governance.ts","sourcePath":"packages/domains/communication/runtime/src/governance.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/governance.ts","sourceStatus":"verified source file"}]},{"subpath":"./ingestion","importPath":"@lssm-tech/lib.communication-runtime/ingestion","target":"./src/ingestion/index.ts","targets":[{"conditions":[],"target":"./src/ingestion/index.ts","sourcePath":"packages/domains/communication/runtime/src/ingestion/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ingestion/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./ingress-admission","importPath":"@lssm-tech/lib.communication-runtime/ingress-admission","target":"./src/ingress-admission.ts","targets":[{"conditions":[],"target":"./src/ingress-admission.ts","sourcePath":"packages/domains/communication/runtime/src/ingress-admission.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/ingress-admission.ts","sourceStatus":"verified source file"}]},{"subpath":"./lifecycle","importPath":"@lssm-tech/lib.communication-runtime/lifecycle","target":"./src/lifecycle.ts","targets":[{"conditions":[],"target":"./src/lifecycle.ts","sourcePath":"packages/domains/communication/runtime/src/lifecycle.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/lifecycle.ts","sourceStatus":"verified source file"}]},{"subpath":"./records","importPath":"@lssm-tech/lib.communication-runtime/records","target":"./src/records/index.ts","targets":[{"conditions":[],"target":"./src/records/index.ts","sourcePath":"packages/domains/communication/runtime/src/records/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/records/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./replay","importPath":"@lssm-tech/lib.communication-runtime/replay","target":"./src/replay/index.ts","targets":[{"conditions":[],"target":"./src/replay/index.ts","sourcePath":"packages/domains/communication/runtime/src/replay/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/replay/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./runtime","importPath":"@lssm-tech/lib.communication-runtime/runtime","target":"./src/runtime.ts","targets":[{"conditions":[],"target":"./src/runtime.ts","sourcePath":"packages/domains/communication/runtime/src/runtime.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/runtime.ts","sourceStatus":"verified source file"}]},{"subpath":"./runtime.capabilities","importPath":"@lssm-tech/lib.communication-runtime/runtime.capabilities","target":"./src/runtime.capabilities.ts","targets":[{"conditions":[],"target":"./src/runtime.capabilities.ts","sourcePath":"packages/domains/communication/runtime/src/runtime.capabilities.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/runtime.capabilities.ts","sourceStatus":"verified source file"}]},{"subpath":"./runtime.form-intake","importPath":"@lssm-tech/lib.communication-runtime/runtime.form-intake","target":"./src/runtime.form-intake.ts","targets":[{"conditions":[],"target":"./src/runtime.form-intake.ts","sourcePath":"packages/domains/communication/runtime/src/runtime.form-intake.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/runtime.form-intake.ts","sourceStatus":"verified source file"}]},{"subpath":"./runtime.helpers","importPath":"@lssm-tech/lib.communication-runtime/runtime.helpers","target":"./src/runtime.helpers.ts","targets":[{"conditions":[],"target":"./src/runtime.helpers.ts","sourcePath":"packages/domains/communication/runtime/src/runtime.helpers.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/runtime.helpers.ts","sourceStatus":"verified source file"}]},{"subpath":"./runtime.ingest","importPath":"@lssm-tech/lib.communication-runtime/runtime.ingest","target":"./src/runtime.ingest.ts","targets":[{"conditions":[],"target":"./src/runtime.ingest.ts","sourcePath":"packages/domains/communication/runtime/src/runtime.ingest.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/runtime.ingest.ts","sourceStatus":"verified source file"}]},{"subpath":"./runtime.mutations","importPath":"@lssm-tech/lib.communication-runtime/runtime.mutations","target":"./src/runtime.mutations.ts","targets":[{"conditions":[],"target":"./src/runtime.mutations.ts","sourcePath":"packages/domains/communication/runtime/src/runtime.mutations.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/runtime.mutations.ts","sourceStatus":"verified source file"}]},{"subpath":"./runtime.mutations.actions","importPath":"@lssm-tech/lib.communication-runtime/runtime.mutations.actions","target":"./src/runtime.mutations.actions.ts","targets":[{"conditions":[],"target":"./src/runtime.mutations.actions.ts","sourcePath":"packages/domains/communication/runtime/src/runtime.mutations.actions.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/runtime.mutations.actions.ts","sourceStatus":"verified source file"}]},{"subpath":"./runtime.mutations.drafts","importPath":"@lssm-tech/lib.communication-runtime/runtime.mutations.drafts","target":"./src/runtime.mutations.drafts.ts","targets":[{"conditions":[],"target":"./src/runtime.mutations.drafts.ts","sourcePath":"packages/domains/communication/runtime/src/runtime.mutations.drafts.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/runtime.mutations.drafts.ts","sourceStatus":"verified source file"}]},{"subpath":"./runtime.mutations.handoff","importPath":"@lssm-tech/lib.communication-runtime/runtime.mutations.handoff","target":"./src/runtime.mutations.handoff.ts","targets":[{"conditions":[],"target":"./src/runtime.mutations.handoff.ts","sourcePath":"packages/domains/communication/runtime/src/runtime.mutations.handoff.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/runtime.mutations.handoff.ts","sourceStatus":"verified source file"}]},{"subpath":"./runtime.mutations.identity","importPath":"@lssm-tech/lib.communication-runtime/runtime.mutations.identity","target":"./src/runtime.mutations.identity.ts","targets":[{"conditions":[],"target":"./src/runtime.mutations.identity.ts","sourcePath":"packages/domains/communication/runtime/src/runtime.mutations.identity.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/runtime.mutations.identity.ts","sourceStatus":"verified source file"}]},{"subpath":"./runtime.mutations.thread-link","importPath":"@lssm-tech/lib.communication-runtime/runtime.mutations.thread-link","target":"./src/runtime.mutations.thread-link.ts","targets":[{"conditions":[],"target":"./src/runtime.mutations.thread-link.ts","sourcePath":"packages/domains/communication/runtime/src/runtime.mutations.thread-link.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/runtime.mutations.thread-link.ts","sourceStatus":"verified source file"}]},{"subpath":"./runtime.records","importPath":"@lssm-tech/lib.communication-runtime/runtime.records","target":"./src/runtime.records.ts","targets":[{"conditions":[],"target":"./src/runtime.records.ts","sourcePath":"packages/domains/communication/runtime/src/runtime.records.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/runtime.records.ts","sourceStatus":"verified source file"}]},{"subpath":"./runtime.state","importPath":"@lssm-tech/lib.communication-runtime/runtime.state","target":"./src/runtime.state.ts","targets":[{"conditions":[],"target":"./src/runtime.state.ts","sourcePath":"packages/domains/communication/runtime/src/runtime.state.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/runtime.state.ts","sourceStatus":"verified source file"}]},{"subpath":"./runtime.types","importPath":"@lssm-tech/lib.communication-runtime/runtime.types","target":"./src/runtime.types.ts","targets":[{"conditions":[],"target":"./src/runtime.types.ts","sourcePath":"packages/domains/communication/runtime/src/runtime.types.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/runtime.types.ts","sourceStatus":"verified source file"}]},{"subpath":"./scenarios","importPath":"@lssm-tech/lib.communication-runtime/scenarios","target":"./src/scenarios.ts","targets":[{"conditions":[],"target":"./src/scenarios.ts","sourcePath":"packages/domains/communication/runtime/src/scenarios.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/scenarios.ts","sourceStatus":"verified source file"}]},{"subpath":"./state","importPath":"@lssm-tech/lib.communication-runtime/state","target":"./src/state/index.ts","targets":[{"conditions":[],"target":"./src/state/index.ts","sourcePath":"packages/domains/communication/runtime/src/state/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/state/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./support-internal-note-validation","importPath":"@lssm-tech/lib.communication-runtime/support-internal-note-validation","target":"./src/support-internal-note-validation.ts","targets":[{"conditions":[],"target":"./src/support-internal-note-validation.ts","sourcePath":"packages/domains/communication/runtime/src/support-internal-note-validation.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/support-internal-note-validation.ts","sourceStatus":"verified source file"}]},{"subpath":"./support-internal-notes","importPath":"@lssm-tech/lib.communication-runtime/support-internal-notes","target":"./src/support-internal-notes.ts","targets":[{"conditions":[],"target":"./src/support-internal-notes.ts","sourcePath":"packages/domains/communication/runtime/src/support-internal-notes.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/src/support-internal-notes.ts","sourceStatus":"verified source file"}]}],"entryCount":69,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[{"title":"Lib Communication Runtime documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Flib.communication-runtime","kind":"readme","pinnedUrl":null,"sourceStatus":"declared link; destination not verified"}],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/package.json","readme":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/README.md","guide":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/lib.communication-runtime.txt"},"readme":{"status":"available","body":"# @lssm-tech/lib.communication-runtime\n\n## CommunicationOS capability migration\n\nThe v3 capability namespace migration keeps the append-only journal immutable.\n`reconcileLegacyCommunicationCapabilities` appends canonical membership and\nauthority-grant events for the latest aggregates with an idempotent migration\nkey. Read projections canonicalize legacy evidence immediately, so a valid\npersisted `comms.room.write` grant does not lose send authority while the\nreconciliation sweep completes.\n\nBackend-neutral CommunicationOS runtime for lifecycle validation, governance decisions, in-memory state, ingestion normalization, records, and replay-oriented helpers.\n\nTyped provider ingestion can retain validated non-message events as immutable\n`communication.provider.<eventKind>` journal entries without fabricating message\nevents. Discord identity helpers correlate the same stable provider ID across\nguilds while preserving guild-local roles; different-account merges require\nexplicit reviewed evidence.\n\nThe v2 ecosystem runtime adds a scope-isolated append-only journal, deterministic\nprojections, personal/organization encryption policy evaluation, and immediate\nsend-authority checks for human, agent, and system principals. The default remains\n`legacy_draft_only`; hosts explicitly choose `membership_grants` only after they can\nprovide current room membership and auditable, revocable grants.\n\n`createCommunicationMessagingRuntime` exposes typed `listSpaces` and `listRooms`\nprojections rebuilt from the selected space journal. Historical room events that\npredate `roomKind` remain readable as `group` rooms; the projection never scans a\nsibling space or creates a parallel mutable catalog.\n\n`createCommunicationGovernedWorkRuntime` adapts the existing CommunicationOS\nidentity, draft, action, handoff, escalation, agent, consent, retention, and\npolicy operations to the same append-only journal. Creates and decisions are\nidempotent, projected only inside the selected scope, and permit exactly one\nterminal transition from `pending`.\n\n`createCommunicationOAuthCoordinator` provides the adapter-free provider\nonboarding control plane. It binds encrypted opaque state and PKCE to the exact\nprincipal, scope, network, optional provider key, placement, and safe return\npath; consumes replay state before exchange; and accepts only credential\nreferences from provider ports. Multiple providers may share one network;\nprovider-less email onboarding deterministically retains the first registered\nprovider while an explicit key is pinned through callback completion.\n\nAuthenticated provider invalidations use the same journal idempotency domain as\ncursor sync. They append `communication.connection.sync.invalidated` without\nfabricating a message, and duplicate callbacks reuse the durable evidence.\n\nThe runtime also exposes `persistAgentCommunicationCommand`, a provider-free\ndomain-command persistence helper. It turns named CommunicationOS commands (for\nexample `communication.reply.send`) into immutable in-memory runtime events with\n`read_persisted`, `draft_persisted`, or `approval_packet_persisted` status. The\nhelper records the command plan and approval violations only; it does not send\nmessages, call providers, open database connections, or mutate external systems.\n\n`createCommunicationCommandInboxItem` projects message-originated commands into\na command inbox item with `canExecute: false`, AIP control refs, persisted event\nevidence, and optional CompanyOS bridge review state. Production-send and\nhigh-impact CompanyOS bypass signals fail closed as `blocked`; approval-gated\ncommands remain evidence packets until an external human/policy path acts.\n\n## Unified delivery preparation\n\n`prepareCommunicationDeliveryV1` resolves the sealed preference hierarchy,\ncreates an exact no-authority delivery intent, evaluates every candidate route,\nand selects the first eligible route. Missing eligibility evidence fails closed.\nExternal routes always require consent. WhatsApp service windows/templates,\nTelegram first contact, workspace membership, suppression/opt-out, push-device,\nand calendar-permission constraints are explicit inputs. The fallback path stops\nafter an ambiguous attempt until exact reconciliation proves failure.\n\n`reconciliation_pending` is a non-claimable outbox state. Moving a leased\nrecord into it requires the exact lease plus the Runtime Node work-order digest\nand evidence refs; replay with substituted custody data fails closed.\n`resolveCommunicationOutboxReconciliation` can later resolve that custody only\nfrom a digest-bound provider observation for the same work order. Accepted\nevidence records the provider delivery ID; definitive-failure evidence records\nthe error without creating a delivery receipt. Neither path redispatches.\n\n`./delivery-routing.fixture` is a deterministic, provider-free integration\nfixture. The runtime contains no provider SDK, database adapter, secret, or send\nauthority.\n\n## Public Entry Points\n\n- `.` resolves through `./src/index.ts`\n- `./governance` resolves through `./src/governance/index.ts`\n- `./ingestion` resolves through `./src/ingestion/index.ts`\n- `./lifecycle` resolves through `./src/lifecycle/index.ts`\n- `./records` resolves through `./src/records/index.ts`\n- `./replay` resolves through `./src/replay/index.ts`\n- `./state` resolves through `./src/state/index.ts`\n- `./runtime` includes domain-command planning and persistence helpers\n- `./command-inbox` exposes the fail-closed command inbox projection helper\n- `./delivery-routing` exposes deterministic preference, eligibility, intent,\n  and fallback preparation; `./delivery-routing.fixture` exposes its sealed test\n  fixture\n- the root export includes `createInMemoryCommunicationJournal`, `projectCommunicationJournal`, `evaluateCommunicationContentPolicy`, and `evaluateMessagingSendAuthority`\n- `./ecosystem-oauth` exposes the provider-neutral OAuth coordinator, state\n  codec/replay ports, provider port, and deterministic test store\n- `./ecosystem-governed-work` exposes persisted work projections and lifecycle\n  commands without importing example or application packages\n- `./ecosystem-conversation-references` records authenticated provider\n  conversation addresses in the scoped journal and resolves only active,\n  non-revoked references for later delivery admission\n- `./ecosystem-messaging-service` resolves opaque, scope-bound attachment IDs\n  before appending public-safe file metadata to the immutable message event\n- `./support-internal-notes` validates private Support note commands, protects\n  content before persistence, and returns body-free evidence projections\n- `./agent-lifecycle-projection` validates immutable, digest-bound progress and\n  help projections before an injected canonical-conversation sink is called;\n  the projection grants no effect authority\n- `./canonical-agent-conversation` validates and resolves exact scoped\n  conversation/session bindings\n- `./ingress-admission` persists the authenticated receipt before context\n  compilation, applies deterministic admission, and resumes an already durable\n  decision through an idempotent normalized-ingress reference\n- `./agent-surface-control` claims a conversation/run-bound control once and\n  delegates execution to an injected authority; duplicate or indeterminate\n  claims reconcile rather than calling authority again\n- `./ecosystem-subscription-coordinator` journals a provider subscription\n  request before one injected effect authority call, reuses active state until\n  the renewal lead, honours the retry window, and settles completed, rejected\n  or indeterminate outcomes; it never performs the provider effect itself\n- `./ecosystem-connection-sync` journals adapter health changes, gates on the\n  `sync` capability, reads one provider page from the stored cursor, ingests it\n  through bound rooms, and advances the cursor last. The adapter, resolver and\n  failure mapping are injected ports, so hosts keep credential-backed adapters\n  and their transport error type\n- `./ecosystem-delivery-dispatcher` is the outbound delivery gate behind the\n  outbox (`createCommunicationDeliveryDispatcher`, `CommunicationDeliveryError`\n  and the context/adapter resolver ports). It requires a valid payload\n  identity, a matching resolved context, host target verification\n  (`verifyTarget`), adapter placement and `send` support, a healthy\n  connection, and an unchanged context after the health check; provider\n  ambiguity becomes a reconciliation-required error. It implements the\n  `delivery` port that `integration.communication-os-runtime`\n  `CommunicationOsOutboxAgentHostProviderV1` consumes; adapters are structural\n- `./discord-community-installations` owns the Discord guild installation\n  lifecycle for community intelligence\n  (`createCommunicationCommunityIntelligenceRuntime`): verifier-evidence-bound\n  authorization, policy update and revocation with tenant/workspace-scoped\n  identifiers and an order-independent request digest (WebCrypto SHA-256,\n  base64url), plus public projections that never expose credential\n  references. Persistence and the Discord verifier are injected ports typed on\n  `lib.communication-spec` discord-community models\n\n## Boundary\n\n### Source checks and artifact declarations\n\n`typecheck` uses `tsconfig.json` and checks all source tests without emitting\ndeclarations. Its TypeScript incremental state stays in `.cache/` so a package\nartifact rebuild does not discard source-check progress. Unit tests remain a\nseparate required acceptance check.\n\nArtifact builds use `tsconfig.build.json` to emit production declarations.\nTest, spec, story and test-support files are excluded as compiler roots; files\nreferenced by production signatures remain reachable and are still checked\nand emitted. The public `delivery-routing.fixture` entry is retained. This\nscope separates artifact generation from test verification: a successful\npackage build does not replace the full source typecheck and unit tests.\n\nThis package depends on `@lssm-tech/lib.communication-spec` and lower-level libs only. It must not import `@lssm-tech/example.communication-os`, `examples/*`, or module packages.\n\n## Matrix runtime channel\n\nThe runtime recognizes `matrix` as a backend-neutral channel type with default send capability and human-review expectations for sensitive replies. Matrix SDK behavior belongs in integration provider packages, not in this runtime package.\n\n### Authorized send retries\n\nMessage retries recheck current membership and connection authority before returning accepted content. Reuse of a request key with a different principal, room, content, subject, reply target, metadata, encryption envelope or attachment list is denied. Object metadata key order does not change semantic identity. Missing or partial attachment resolution fails before acceptance.\n\nThe journal/outbox transaction validates a replayed message before enqueueing delivery, and insert-returned journal events preserve their tenant scope. Queued acceptance remains distinct from provider delivery. Source-bound OPA follow-up delivery, full concurrent authority fencing and production qualification remain open.\n\n### Provider queue acceptance\n\nAn external connection send requires `appendForDelivery`; journal-only persistence cannot claim provider queue acceptance. The event/outbox transaction validates the accepted message identity, connection and exact persisted delivery scope, command, policy and payload. Conflicting outbox keys roll back instead of silently dropping delivery. Provider delivery keys use `delivery:<send idempotency key>`; retries cannot substitute another key. Atomic journal replay uses the accepted message ID rather than the discarded candidate ID.\n\nInternal room journal acceptance remains available without a provider adapter. Queued does not imply sent or delivered. Legacy malformed delivery inputs fail closed and require explicit repair; broader cross-scope key migration and OPA follow-up delivery remain separate qualification work.\n","sourcePath":"packages/domains/communication/runtime/README.md","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/communication/runtime/README.md","blobSha":"179c5db1817f79ea516a17d1ffe1fccfc5e71481","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","origin":"README recovered byte-for-byte from pinned aggregate guide","integrity":"exact Git blob match","executionStatus":"not executed"},"provenance":{"repository":"lssm-tech/contractspec","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","manifestOrigin":"pinned GitHub manifest fetch","manifestComplete":true,"publicationPolicyApplied":false},"areaSlug":"communication-and-notifications","areaTitle":"Communication and notifications","displayName":"lib.communication-runtime","runtimes":["node"],"platforms":["server"],"kind":"library","scope":"Package manifest","canonicalRoute":"/docs/packages/lib.communication-runtime/","contextUrl":"/docs/packages/lib.communication-runtime.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}