@lssm/lib.communication-spec 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +201 -0
- package/dist/browser/capabilities/comms-ai.capabilities.js +1 -0
- package/dist/browser/capabilities/communication-os.capability-ids.js +1 -0
- package/dist/browser/capabilities/ecosystem-messaging.capabilities.js +1 -0
- package/dist/browser/capabilities/index.js +1 -0
- package/dist/browser/commands/comms-ai.commands.js +1 -0
- package/dist/browser/commands/index.js +1 -0
- package/dist/browser/contracts/agent-communication.js +1 -0
- package/dist/browser/contracts/agent-lifecycle-projection.js +1 -0
- package/dist/browser/contracts/agent-surface-control.js +1 -0
- package/dist/browser/contracts/ai-assistance.operations.js +1 -0
- package/dist/browser/contracts/artifact-digest.js +1 -0
- package/dist/browser/contracts/canonical-agent-conversation.js +1 -0
- package/dist/browser/contracts/channel-preferences.js +1 -0
- package/dist/browser/contracts/channel-routing.js +1 -0
- package/dist/browser/contracts/collaboration.operations.js +1 -0
- package/dist/browser/contracts/customer-live-chat-grant.operations.js +1 -0
- package/dist/browser/contracts/delivery-eligibility.js +1 -0
- package/dist/browser/contracts/delivery-fallback-eligibility-validation.js +1 -0
- package/dist/browser/contracts/delivery-fallback-validation.js +1 -0
- package/dist/browser/contracts/delivery-fallback.js +1 -0
- package/dist/browser/contracts/delivery-intent-validation.js +1 -0
- package/dist/browser/contracts/delivery-intent.js +1 -0
- package/dist/browser/contracts/delivery-progress.js +1 -0
- package/dist/browser/contracts/discord-community-intelligence.operations.js +1 -0
- package/dist/browser/contracts/discord-community.events.js +1 -0
- package/dist/browser/contracts/discord-community.models.js +1 -0
- package/dist/browser/contracts/discord-community.operations.js +1 -0
- package/dist/browser/contracts/ecosystem-attachment.operations.js +1 -0
- package/dist/browser/contracts/ecosystem-auth.operations.js +1 -0
- package/dist/browser/contracts/ecosystem-binding.operations.js +1 -0
- package/dist/browser/contracts/ecosystem-connection-subscription.events.js +1 -0
- package/dist/browser/contracts/ecosystem-governed-work-v2.operations.js +1 -0
- package/dist/browser/contracts/ecosystem-governed-work.operations.js +1 -0
- package/dist/browser/contracts/ecosystem-identity-v3.operations.js +1 -0
- package/dist/browser/contracts/ecosystem-identity.operations.js +1 -0
- package/dist/browser/contracts/ecosystem-message.operations.js +1 -0
- package/dist/browser/contracts/ecosystem-messaging.dtos.js +0 -0
- package/dist/browser/contracts/ecosystem-messaging.events.js +1 -0
- package/dist/browser/contracts/ecosystem-messaging.models.js +1 -0
- package/dist/browser/contracts/ecosystem-navigation-v3.operations.js +1 -0
- package/dist/browser/contracts/ecosystem-webhook.operations.js +1 -0
- package/dist/browser/contracts/ecosystem-workspace.operations.js +1 -0
- package/dist/browser/contracts/enums.js +1 -0
- package/dist/browser/contracts/erasure.operations.js +1 -0
- package/dist/browser/contracts/events.js +1 -0
- package/dist/browser/contracts/index.js +1 -0
- package/dist/browser/contracts/ingestion.js +1 -0
- package/dist/browser/contracts/ingress-admission-policy.js +1 -0
- package/dist/browser/contracts/ingress-admission.js +1 -0
- package/dist/browser/contracts/models.js +1 -0
- package/dist/browser/contracts/operations.js +1 -0
- package/dist/browser/contracts/persistence.js +1 -0
- package/dist/browser/contracts/preference-resolution.js +1 -0
- package/dist/browser/contracts/query.operations.js +1 -0
- package/dist/browser/contracts/sequence-intent.js +1 -0
- package/dist/browser/contracts/sovereignty.js +1 -0
- package/dist/browser/contracts/support-internal-note.operations.js +1 -0
- package/dist/browser/contracts/thread-link-kind.js +1 -0
- package/dist/browser/contracts/thread-message.operations.js +1 -0
- package/dist/browser/events/index.js +1 -0
- package/dist/browser/fixtures/agent-omnichannel-primitives.js +1 -0
- package/dist/browser/fixtures/agent-omnichannel.js +1 -0
- package/dist/browser/fixtures/gtm-learning-loop-neutral.parts.js +1 -0
- package/dist/browser/fixtures/index.js +1 -0
- package/dist/browser/fixtures/normalized-ingestion.js +1 -0
- package/dist/browser/index.js +1 -0
- package/dist/browser/queries/index.js +1 -0
- package/dist/browser/types/domain-command.js +0 -0
- package/dist/browser/types/index.js +1 -0
- package/dist/browser/validation/domain-command.js +1 -0
- package/dist/browser/validation/index.js +1 -0
- package/dist/capabilities/comms-ai.capabilities.d.ts +72 -0
- package/dist/capabilities/comms-ai.capabilities.js +2 -0
- package/dist/capabilities/communication-os-capability-boundary.test.d.ts +1 -0
- package/dist/capabilities/communication-os.capability-ids.d.ts +39 -0
- package/dist/capabilities/communication-os.capability-ids.js +2 -0
- package/dist/capabilities/communication-os.capability-ids.test.d.ts +1 -0
- package/dist/capabilities/ecosystem-messaging.capabilities.d.ts +9 -0
- package/dist/capabilities/ecosystem-messaging.capabilities.js +2 -0
- package/dist/capabilities/index.d.ts +4 -0
- package/dist/capabilities/index.js +2 -0
- package/dist/commands/comms-ai.commands.d.ts +272 -0
- package/dist/commands/comms-ai.commands.js +2 -0
- package/dist/commands/index.d.ts +10 -0
- package/dist/commands/index.js +2 -0
- package/dist/contracts/agent-communication.d.ts +108 -0
- package/dist/contracts/agent-communication.js +2 -0
- package/dist/contracts/agent-communication.test.d.ts +1 -0
- package/dist/contracts/agent-lifecycle-projection.d.ts +98 -0
- package/dist/contracts/agent-lifecycle-projection.js +2 -0
- package/dist/contracts/agent-lifecycle-projection.test.d.ts +1 -0
- package/dist/contracts/agent-surface-control.d.ts +210 -0
- package/dist/contracts/agent-surface-control.js +2 -0
- package/dist/contracts/agent-surface-control.test.d.ts +1 -0
- package/dist/contracts/ai-assistance.operations.d.ts +187 -0
- package/dist/contracts/ai-assistance.operations.js +2 -0
- package/dist/contracts/artifact-digest.d.ts +3 -0
- package/dist/contracts/artifact-digest.js +2 -0
- package/dist/contracts/canonical-agent-conversation.d.ts +46 -0
- package/dist/contracts/canonical-agent-conversation.js +2 -0
- package/dist/contracts/canonical-agent-conversation.test.d.ts +1 -0
- package/dist/contracts/channel-preferences.d.ts +115 -0
- package/dist/contracts/channel-preferences.js +2 -0
- package/dist/contracts/channel-routing.d.ts +58 -0
- package/dist/contracts/channel-routing.js +2 -0
- package/dist/contracts/channel-routing.test.d.ts +1 -0
- package/dist/contracts/collaboration.operations.d.ts +315 -0
- package/dist/contracts/collaboration.operations.js +2 -0
- package/dist/contracts/customer-live-chat-grant.operations.d.ts +132 -0
- package/dist/contracts/customer-live-chat-grant.operations.js +2 -0
- package/dist/contracts/delivery-contracts.test.d.ts +1 -0
- package/dist/contracts/delivery-eligibility.d.ts +126 -0
- package/dist/contracts/delivery-eligibility.js +2 -0
- package/dist/contracts/delivery-eligibility.test.d.ts +1 -0
- package/dist/contracts/delivery-fallback-eligibility-validation.d.ts +6 -0
- package/dist/contracts/delivery-fallback-eligibility-validation.js +2 -0
- package/dist/contracts/delivery-fallback-validation.d.ts +24 -0
- package/dist/contracts/delivery-fallback-validation.js +2 -0
- package/dist/contracts/delivery-fallback.d.ts +117 -0
- package/dist/contracts/delivery-fallback.js +2 -0
- package/dist/contracts/delivery-intent-validation.d.ts +13 -0
- package/dist/contracts/delivery-intent-validation.js +2 -0
- package/dist/contracts/delivery-intent.d.ts +137 -0
- package/dist/contracts/delivery-intent.js +2 -0
- package/dist/contracts/delivery-progress.d.ts +61 -0
- package/dist/contracts/delivery-progress.js +2 -0
- package/dist/contracts/discord-community-intelligence.operations.d.ts +405 -0
- package/dist/contracts/discord-community-intelligence.operations.js +2 -0
- package/dist/contracts/discord-community.events.d.ts +162 -0
- package/dist/contracts/discord-community.events.js +2 -0
- package/dist/contracts/discord-community.models.d.ts +167 -0
- package/dist/contracts/discord-community.models.js +2 -0
- package/dist/contracts/discord-community.operations.d.ts +663 -0
- package/dist/contracts/discord-community.operations.js +2 -0
- package/dist/contracts/discord-community.test.d.ts +1 -0
- package/dist/contracts/ecosystem-attachment.operations.d.ts +129 -0
- package/dist/contracts/ecosystem-attachment.operations.js +2 -0
- package/dist/contracts/ecosystem-auth.operations.d.ts +345 -0
- package/dist/contracts/ecosystem-auth.operations.js +2 -0
- package/dist/contracts/ecosystem-binding.operations.d.ts +231 -0
- package/dist/contracts/ecosystem-binding.operations.js +2 -0
- package/dist/contracts/ecosystem-connection-subscription.events.d.ts +332 -0
- package/dist/contracts/ecosystem-connection-subscription.events.js +2 -0
- package/dist/contracts/ecosystem-governed-work-v2.operations.d.ts +234 -0
- package/dist/contracts/ecosystem-governed-work-v2.operations.js +2 -0
- package/dist/contracts/ecosystem-governed-work.operations.d.ts +265 -0
- package/dist/contracts/ecosystem-governed-work.operations.js +2 -0
- package/dist/contracts/ecosystem-governed-work.operations.test.d.ts +1 -0
- package/dist/contracts/ecosystem-identity-v3.operations.d.ts +65 -0
- package/dist/contracts/ecosystem-identity-v3.operations.js +2 -0
- package/dist/contracts/ecosystem-identity.operations.d.ts +174 -0
- package/dist/contracts/ecosystem-identity.operations.js +2 -0
- package/dist/contracts/ecosystem-identity.operations.test.d.ts +1 -0
- package/dist/contracts/ecosystem-message.operations.d.ts +1092 -0
- package/dist/contracts/ecosystem-message.operations.js +2 -0
- package/dist/contracts/ecosystem-messaging.dtos.d.ts +68 -0
- package/dist/contracts/ecosystem-messaging.dtos.js +1 -0
- package/dist/contracts/ecosystem-messaging.dtos.test.d.ts +1 -0
- package/dist/contracts/ecosystem-messaging.events.d.ts +608 -0
- package/dist/contracts/ecosystem-messaging.events.js +2 -0
- package/dist/contracts/ecosystem-messaging.models.d.ts +386 -0
- package/dist/contracts/ecosystem-messaging.models.js +2 -0
- package/dist/contracts/ecosystem-messaging.test.d.ts +1 -0
- package/dist/contracts/ecosystem-navigation-v3.operations.d.ts +149 -0
- package/dist/contracts/ecosystem-navigation-v3.operations.js +2 -0
- package/dist/contracts/ecosystem-webhook.operations.d.ts +187 -0
- package/dist/contracts/ecosystem-webhook.operations.js +2 -0
- package/dist/contracts/ecosystem-workspace.operations.d.ts +590 -0
- package/dist/contracts/ecosystem-workspace.operations.js +2 -0
- package/dist/contracts/enums.d.ts +9 -0
- package/dist/contracts/enums.js +2 -0
- package/dist/contracts/erasure.operations.d.ts +114 -0
- package/dist/contracts/erasure.operations.js +2 -0
- package/dist/contracts/erasure.test.d.ts +1 -0
- package/dist/contracts/events.d.ts +174 -0
- package/dist/contracts/events.js +2 -0
- package/dist/contracts/index.d.ts +43 -0
- package/dist/contracts/index.js +2 -0
- package/dist/contracts/ingestion.d.ts +169 -0
- package/dist/contracts/ingestion.js +2 -0
- package/dist/contracts/ingress-admission-policy.d.ts +14 -0
- package/dist/contracts/ingress-admission-policy.js +2 -0
- package/dist/contracts/ingress-admission.d.ts +184 -0
- package/dist/contracts/ingress-admission.js +2 -0
- package/dist/contracts/ingress-admission.test.d.ts +1 -0
- package/dist/contracts/models.d.ts +851 -0
- package/dist/contracts/models.js +2 -0
- package/dist/contracts/operations.d.ts +5 -0
- package/dist/contracts/operations.js +2 -0
- package/dist/contracts/persistence.d.ts +353 -0
- package/dist/contracts/persistence.js +2 -0
- package/dist/contracts/persistence.test.d.ts +1 -0
- package/dist/contracts/preference-resolution.d.ts +154 -0
- package/dist/contracts/preference-resolution.js +2 -0
- package/dist/contracts/preference-resolution.test.d.ts +1 -0
- package/dist/contracts/query.operations.d.ts +600 -0
- package/dist/contracts/query.operations.js +2 -0
- package/dist/contracts/sequence-intent.d.ts +103 -0
- package/dist/contracts/sequence-intent.js +2 -0
- package/dist/contracts/sequence-intent.test.d.ts +1 -0
- package/dist/contracts/sovereignty.d.ts +164 -0
- package/dist/contracts/sovereignty.js +2 -0
- package/dist/contracts/support-internal-note.operations.d.ts +309 -0
- package/dist/contracts/support-internal-note.operations.js +2 -0
- package/dist/contracts/support-internal-note.operations.test.d.ts +1 -0
- package/dist/contracts/thread-link-kind.d.ts +20 -0
- package/dist/contracts/thread-link-kind.js +2 -0
- package/dist/contracts/thread-message.operations.d.ts +485 -0
- package/dist/contracts/thread-message.operations.js +2 -0
- package/dist/events/index.d.ts +4 -0
- package/dist/events/index.js +2 -0
- package/dist/fixtures/agent-omnichannel-primitives.d.ts +240 -0
- package/dist/fixtures/agent-omnichannel-primitives.js +2 -0
- package/dist/fixtures/agent-omnichannel.d.ts +682 -0
- package/dist/fixtures/agent-omnichannel.js +2 -0
- package/dist/fixtures/agent-omnichannel.test.d.ts +1 -0
- package/dist/fixtures/gtm-learning-loop-neutral.parts.d.ts +20 -0
- package/dist/fixtures/gtm-learning-loop-neutral.parts.js +2 -0
- package/dist/fixtures/index.d.ts +3 -0
- package/dist/fixtures/index.js +2 -0
- package/dist/fixtures/normalized-ingestion.d.ts +102 -0
- package/dist/fixtures/normalized-ingestion.js +2 -0
- package/dist/fixtures/normalized-ingestion.test.d.ts +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +2 -0
- package/dist/node/capabilities/comms-ai.capabilities.js +1 -0
- package/dist/node/capabilities/communication-os.capability-ids.js +1 -0
- package/dist/node/capabilities/ecosystem-messaging.capabilities.js +1 -0
- package/dist/node/capabilities/index.js +1 -0
- package/dist/node/commands/comms-ai.commands.js +1 -0
- package/dist/node/commands/index.js +1 -0
- package/dist/node/contracts/agent-communication.js +1 -0
- package/dist/node/contracts/agent-lifecycle-projection.js +1 -0
- package/dist/node/contracts/agent-surface-control.js +1 -0
- package/dist/node/contracts/ai-assistance.operations.js +1 -0
- package/dist/node/contracts/artifact-digest.js +1 -0
- package/dist/node/contracts/canonical-agent-conversation.js +1 -0
- package/dist/node/contracts/channel-preferences.js +1 -0
- package/dist/node/contracts/channel-routing.js +1 -0
- package/dist/node/contracts/collaboration.operations.js +1 -0
- package/dist/node/contracts/customer-live-chat-grant.operations.js +1 -0
- package/dist/node/contracts/delivery-eligibility.js +1 -0
- package/dist/node/contracts/delivery-fallback-eligibility-validation.js +1 -0
- package/dist/node/contracts/delivery-fallback-validation.js +1 -0
- package/dist/node/contracts/delivery-fallback.js +1 -0
- package/dist/node/contracts/delivery-intent-validation.js +1 -0
- package/dist/node/contracts/delivery-intent.js +1 -0
- package/dist/node/contracts/delivery-progress.js +1 -0
- package/dist/node/contracts/discord-community-intelligence.operations.js +1 -0
- package/dist/node/contracts/discord-community.events.js +1 -0
- package/dist/node/contracts/discord-community.models.js +1 -0
- package/dist/node/contracts/discord-community.operations.js +1 -0
- package/dist/node/contracts/ecosystem-attachment.operations.js +1 -0
- package/dist/node/contracts/ecosystem-auth.operations.js +1 -0
- package/dist/node/contracts/ecosystem-binding.operations.js +1 -0
- package/dist/node/contracts/ecosystem-connection-subscription.events.js +1 -0
- package/dist/node/contracts/ecosystem-governed-work-v2.operations.js +1 -0
- package/dist/node/contracts/ecosystem-governed-work.operations.js +1 -0
- package/dist/node/contracts/ecosystem-identity-v3.operations.js +1 -0
- package/dist/node/contracts/ecosystem-identity.operations.js +1 -0
- package/dist/node/contracts/ecosystem-message.operations.js +1 -0
- package/dist/node/contracts/ecosystem-messaging.dtos.js +0 -0
- package/dist/node/contracts/ecosystem-messaging.events.js +1 -0
- package/dist/node/contracts/ecosystem-messaging.models.js +1 -0
- package/dist/node/contracts/ecosystem-navigation-v3.operations.js +1 -0
- package/dist/node/contracts/ecosystem-webhook.operations.js +1 -0
- package/dist/node/contracts/ecosystem-workspace.operations.js +1 -0
- package/dist/node/contracts/enums.js +1 -0
- package/dist/node/contracts/erasure.operations.js +1 -0
- package/dist/node/contracts/events.js +1 -0
- package/dist/node/contracts/index.js +1 -0
- package/dist/node/contracts/ingestion.js +1 -0
- package/dist/node/contracts/ingress-admission-policy.js +1 -0
- package/dist/node/contracts/ingress-admission.js +1 -0
- package/dist/node/contracts/models.js +1 -0
- package/dist/node/contracts/operations.js +1 -0
- package/dist/node/contracts/persistence.js +1 -0
- package/dist/node/contracts/preference-resolution.js +1 -0
- package/dist/node/contracts/query.operations.js +1 -0
- package/dist/node/contracts/sequence-intent.js +1 -0
- package/dist/node/contracts/sovereignty.js +1 -0
- package/dist/node/contracts/support-internal-note.operations.js +1 -0
- package/dist/node/contracts/thread-link-kind.js +1 -0
- package/dist/node/contracts/thread-message.operations.js +1 -0
- package/dist/node/events/index.js +1 -0
- package/dist/node/fixtures/agent-omnichannel-primitives.js +1 -0
- package/dist/node/fixtures/agent-omnichannel.js +1 -0
- package/dist/node/fixtures/gtm-learning-loop-neutral.parts.js +1 -0
- package/dist/node/fixtures/index.js +1 -0
- package/dist/node/fixtures/normalized-ingestion.js +1 -0
- package/dist/node/index.js +1 -0
- package/dist/node/queries/index.js +1 -0
- package/dist/node/types/domain-command.js +0 -0
- package/dist/node/types/index.js +1 -0
- package/dist/node/validation/domain-command.js +1 -0
- package/dist/node/validation/index.js +1 -0
- package/dist/package-exports.test.d.ts +1 -0
- package/dist/queries/index.d.ts +4 -0
- package/dist/queries/index.js +2 -0
- package/dist/types/domain-command.d.ts +54 -0
- package/dist/types/domain-command.js +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.js +2 -0
- package/dist/validation/domain-command.d.ts +3 -0
- package/dist/validation/domain-command.js +2 -0
- package/dist/validation/index.d.ts +53 -0
- package/dist/validation/index.js +2 -0
- package/package.json +1227 -0
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
export declare const CommunicationGovernedWorkDecisionStatusV2Enum: import("@lssm/lib.schema").EnumType<[string, string, string, string, string]>;
|
|
2
|
+
export declare const ListCommunicationGovernedWorkV2Input: import("@lssm/lib.schema").SchemaModel<{
|
|
3
|
+
kind: {
|
|
4
|
+
type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string, string, string, string, string, string]>;
|
|
5
|
+
isOptional: true;
|
|
6
|
+
};
|
|
7
|
+
}>;
|
|
8
|
+
export declare const CreateCommunicationGovernedWorkV2Input: import("@lssm/lib.schema").SchemaModel<{
|
|
9
|
+
kind: {
|
|
10
|
+
type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string, string, string, string, string, string]>;
|
|
11
|
+
isOptional: false;
|
|
12
|
+
};
|
|
13
|
+
title: {
|
|
14
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
15
|
+
isOptional: false;
|
|
16
|
+
};
|
|
17
|
+
threadId: {
|
|
18
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
19
|
+
isOptional: true;
|
|
20
|
+
};
|
|
21
|
+
details: {
|
|
22
|
+
type: import("@lssm/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
|
|
23
|
+
isOptional: true;
|
|
24
|
+
};
|
|
25
|
+
idempotencyKey: {
|
|
26
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
27
|
+
isOptional: false;
|
|
28
|
+
};
|
|
29
|
+
}>;
|
|
30
|
+
export declare const TransitionCommunicationGovernedWorkV2Input: import("@lssm/lib.schema").SchemaModel<{
|
|
31
|
+
workId: {
|
|
32
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
33
|
+
isOptional: false;
|
|
34
|
+
};
|
|
35
|
+
status: {
|
|
36
|
+
type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string]>;
|
|
37
|
+
isOptional: false;
|
|
38
|
+
};
|
|
39
|
+
reason: {
|
|
40
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
41
|
+
isOptional: true;
|
|
42
|
+
};
|
|
43
|
+
idempotencyKey: {
|
|
44
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
45
|
+
isOptional: false;
|
|
46
|
+
};
|
|
47
|
+
}>;
|
|
48
|
+
export declare const ListCommunicationGovernedWorkV2Query: import("@lssm/lib.contracts-spec").OperationSpec<import("@lssm/lib.schema").SchemaModel<{
|
|
49
|
+
kind: {
|
|
50
|
+
type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string, string, string, string, string, string]>;
|
|
51
|
+
isOptional: true;
|
|
52
|
+
};
|
|
53
|
+
}>, import("@lssm/lib.schema").SchemaModel<{
|
|
54
|
+
items: {
|
|
55
|
+
type: import("@lssm/lib.schema").SchemaModel<{
|
|
56
|
+
id: {
|
|
57
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
58
|
+
isOptional: false;
|
|
59
|
+
};
|
|
60
|
+
kind: {
|
|
61
|
+
type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string, string, string, string, string, string]>;
|
|
62
|
+
isOptional: false;
|
|
63
|
+
};
|
|
64
|
+
status: {
|
|
65
|
+
type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string]>;
|
|
66
|
+
isOptional: false;
|
|
67
|
+
};
|
|
68
|
+
title: {
|
|
69
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
70
|
+
isOptional: false;
|
|
71
|
+
};
|
|
72
|
+
threadId: {
|
|
73
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
74
|
+
isOptional: true;
|
|
75
|
+
};
|
|
76
|
+
details: {
|
|
77
|
+
type: import("@lssm/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
|
|
78
|
+
isOptional: false;
|
|
79
|
+
};
|
|
80
|
+
revision: {
|
|
81
|
+
type: import("@lssm/lib.schema").FieldType<number, number>;
|
|
82
|
+
isOptional: false;
|
|
83
|
+
};
|
|
84
|
+
createdBy: {
|
|
85
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
86
|
+
isOptional: false;
|
|
87
|
+
};
|
|
88
|
+
createdAt: {
|
|
89
|
+
type: import("@lssm/lib.schema").FieldType<Date, string>;
|
|
90
|
+
isOptional: false;
|
|
91
|
+
};
|
|
92
|
+
updatedBy: {
|
|
93
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
94
|
+
isOptional: false;
|
|
95
|
+
};
|
|
96
|
+
updatedAt: {
|
|
97
|
+
type: import("@lssm/lib.schema").FieldType<Date, string>;
|
|
98
|
+
isOptional: false;
|
|
99
|
+
};
|
|
100
|
+
}>;
|
|
101
|
+
isArray: true;
|
|
102
|
+
isOptional: false;
|
|
103
|
+
};
|
|
104
|
+
}>, undefined>;
|
|
105
|
+
export declare const CreateCommunicationGovernedWorkV2Command: import("@lssm/lib.contracts-spec").OperationSpec<import("@lssm/lib.schema").SchemaModel<{
|
|
106
|
+
kind: {
|
|
107
|
+
type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string, string, string, string, string, string]>;
|
|
108
|
+
isOptional: false;
|
|
109
|
+
};
|
|
110
|
+
title: {
|
|
111
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
112
|
+
isOptional: false;
|
|
113
|
+
};
|
|
114
|
+
threadId: {
|
|
115
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
116
|
+
isOptional: true;
|
|
117
|
+
};
|
|
118
|
+
details: {
|
|
119
|
+
type: import("@lssm/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
|
|
120
|
+
isOptional: true;
|
|
121
|
+
};
|
|
122
|
+
idempotencyKey: {
|
|
123
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
124
|
+
isOptional: false;
|
|
125
|
+
};
|
|
126
|
+
}>, import("@lssm/lib.schema").SchemaModel<{
|
|
127
|
+
id: {
|
|
128
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
129
|
+
isOptional: false;
|
|
130
|
+
};
|
|
131
|
+
kind: {
|
|
132
|
+
type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string, string, string, string, string, string]>;
|
|
133
|
+
isOptional: false;
|
|
134
|
+
};
|
|
135
|
+
status: {
|
|
136
|
+
type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string]>;
|
|
137
|
+
isOptional: false;
|
|
138
|
+
};
|
|
139
|
+
title: {
|
|
140
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
141
|
+
isOptional: false;
|
|
142
|
+
};
|
|
143
|
+
threadId: {
|
|
144
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
145
|
+
isOptional: true;
|
|
146
|
+
};
|
|
147
|
+
details: {
|
|
148
|
+
type: import("@lssm/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
|
|
149
|
+
isOptional: false;
|
|
150
|
+
};
|
|
151
|
+
revision: {
|
|
152
|
+
type: import("@lssm/lib.schema").FieldType<number, number>;
|
|
153
|
+
isOptional: false;
|
|
154
|
+
};
|
|
155
|
+
createdBy: {
|
|
156
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
157
|
+
isOptional: false;
|
|
158
|
+
};
|
|
159
|
+
createdAt: {
|
|
160
|
+
type: import("@lssm/lib.schema").FieldType<Date, string>;
|
|
161
|
+
isOptional: false;
|
|
162
|
+
};
|
|
163
|
+
updatedBy: {
|
|
164
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
165
|
+
isOptional: false;
|
|
166
|
+
};
|
|
167
|
+
updatedAt: {
|
|
168
|
+
type: import("@lssm/lib.schema").FieldType<Date, string>;
|
|
169
|
+
isOptional: false;
|
|
170
|
+
};
|
|
171
|
+
}>, undefined>;
|
|
172
|
+
export declare const TransitionCommunicationGovernedWorkV2Command: import("@lssm/lib.contracts-spec").OperationSpec<import("@lssm/lib.schema").SchemaModel<{
|
|
173
|
+
workId: {
|
|
174
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
175
|
+
isOptional: false;
|
|
176
|
+
};
|
|
177
|
+
status: {
|
|
178
|
+
type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string]>;
|
|
179
|
+
isOptional: false;
|
|
180
|
+
};
|
|
181
|
+
reason: {
|
|
182
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
183
|
+
isOptional: true;
|
|
184
|
+
};
|
|
185
|
+
idempotencyKey: {
|
|
186
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
187
|
+
isOptional: false;
|
|
188
|
+
};
|
|
189
|
+
}>, import("@lssm/lib.schema").SchemaModel<{
|
|
190
|
+
id: {
|
|
191
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
192
|
+
isOptional: false;
|
|
193
|
+
};
|
|
194
|
+
kind: {
|
|
195
|
+
type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string, string, string, string, string, string]>;
|
|
196
|
+
isOptional: false;
|
|
197
|
+
};
|
|
198
|
+
status: {
|
|
199
|
+
type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string]>;
|
|
200
|
+
isOptional: false;
|
|
201
|
+
};
|
|
202
|
+
title: {
|
|
203
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
204
|
+
isOptional: false;
|
|
205
|
+
};
|
|
206
|
+
threadId: {
|
|
207
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
208
|
+
isOptional: true;
|
|
209
|
+
};
|
|
210
|
+
details: {
|
|
211
|
+
type: import("@lssm/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
|
|
212
|
+
isOptional: false;
|
|
213
|
+
};
|
|
214
|
+
revision: {
|
|
215
|
+
type: import("@lssm/lib.schema").FieldType<number, number>;
|
|
216
|
+
isOptional: false;
|
|
217
|
+
};
|
|
218
|
+
createdBy: {
|
|
219
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
220
|
+
isOptional: false;
|
|
221
|
+
};
|
|
222
|
+
createdAt: {
|
|
223
|
+
type: import("@lssm/lib.schema").FieldType<Date, string>;
|
|
224
|
+
isOptional: false;
|
|
225
|
+
};
|
|
226
|
+
updatedBy: {
|
|
227
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
228
|
+
isOptional: false;
|
|
229
|
+
};
|
|
230
|
+
updatedAt: {
|
|
231
|
+
type: import("@lssm/lib.schema").FieldType<Date, string>;
|
|
232
|
+
isOptional: false;
|
|
233
|
+
};
|
|
234
|
+
}>, undefined>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{defineCommand as v,defineQuery as A,docId as D}from"@lssm/lib.contracts-spec";import{defineEnum as E,defineSchemaModel as s,ScalarTypeEnum as a}from"@lssm/lib.schema";import{defineCommand as f,defineQuery as V,docId as T}from"@lssm/lib.contracts-spec";import{defineEnum as g,defineSchemaModel as c,ScalarTypeEnum as t}from"@lssm/lib.schema";import{defineEnum as i,defineSchemaModel as n,ScalarTypeEnum as e}from"@lssm/lib.schema";var C=i("CommunicationSpaceKind",["personal","organization"]),h=i("CommunicationPrincipalKind",["human","agent","system"]),_=i("CommunicationConnectionPlacement",["device","managed_cloud","self_hosted"]),P=i("CommunicationConnectionNetwork",["email","sms","slack","teams","telegram","whatsapp","discord","matrix"]),I=i("CommunicationEncryptionMode",["client_encrypted","governed_server_indexable"]),w=i("CommunicationMembershipState",["active","revoked"]),j=i("CommunicationReceiptKind",["delivered","read"]),x=i("CommunicationConnectionHealth",["connecting","healthy","degraded","offline","revoked"]),q={id:"communication-os.ecosystem-messaging.v2",title:"CommunicationOS ecosystem messaging contracts",body:"Versioned, workspace-scoped contracts for personal and organization spaces, rooms, human and agent membership, hybrid channel connections, synchronized messages, and revocable outbound authority. CommunicationSpec remains canonical; provider protocols are adapters. V1 thread and draft-only operations remain unchanged.",kind:"reference",route:"/docs/communication-os/ecosystem-messaging-v2",visibility:"public"},y=n({name:"CommunicationScopeV2",description:"Strict tenant, workspace, and space boundary for messaging state",fields:{tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1}}}),z=n({name:"CommunicationSpaceV2",description:"Personal or organization messaging boundary under one account",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},kind:{type:C,isOptional:!1},encryptionMode:{type:I,isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1}}}),F=n({name:"CommunicationPrincipalV2",description:"Auditable human, agent, or system identity",fields:{id:{type:e.String_unsecure(),isOptional:!1},kind:{type:h,isOptional:!1},displayName:{type:e.String_unsecure(),isOptional:!1},ownerPrincipalId:{type:e.String_unsecure(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}}),Q=n({name:"CommunicationRoomV2",description:"Room or direct-message projection inside one space",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!0},roomKind:{type:e.String_unsecure(),isOptional:!1},connectionIds:{type:e.String_unsecure(),isArray:!0,isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),J=n({name:"CommunicationRoomMembershipV2",description:"Revocable principal membership and room-scoped capabilities",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},roomId:{type:e.String_unsecure(),isOptional:!1},principalId:{type:e.String_unsecure(),isOptional:!1},role:{type:e.String_unsecure(),isOptional:!1},state:{type:w,isOptional:!1},capabilities:{type:e.String_unsecure(),isArray:!0,isOptional:!1},expiresAt:{type:e.DateTime(),isOptional:!0},revokedAt:{type:e.DateTime(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}}),H=n({name:"CommunicationChannelConnectionV2",description:"Credential-reference-only local, managed, or self-hosted channel connection",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},network:{type:e.String_unsecure(),isOptional:!1},placement:{type:_,isOptional:!1},externalAccountRef:{type:e.String_unsecure(),isOptional:!1},credentialRef:{type:e.String_unsecure(),isOptional:!1},health:{type:x,isOptional:!1},capabilities:{type:e.String_unsecure(),isArray:!0,isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),b=n({name:"CommunicationAttachmentV2",description:"Public-safe metadata for an opaque, scope-bound message attachment",fields:{id:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},mimeType:{type:e.String_unsecure(),isOptional:!1},sizeBytes:{type:e.Int_unsecure(),isOptional:!1},sha256:{type:e.String_unsecure(),isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1}}}),U=n({name:"CommunicationMessageV2",description:"Canonical room message with explicit author and encryption posture",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},roomId:{type:e.String_unsecure(),isOptional:!1},authorPrincipalId:{type:e.String_unsecure(),isOptional:!1},connectionId:{type:e.String_unsecure(),isOptional:!0},externalMessageId:{type:e.String_unsecure(),isOptional:!0},body:{type:e.String_unsecure(),isOptional:!0},encryptedEnvelope:{type:e.JSONObject(),isOptional:!0},attachments:{type:b,isArray:!0,isOptional:!0},replyToMessageId:{type:e.String_unsecure(),isOptional:!0},revision:{type:e.Int_unsecure(),isOptional:!1},deletedAt:{type:e.DateTime(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),X=n({name:"CommunicationAuthorityGrantV2",description:"Explicit, revocable messaging authority granted to one principal",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},roomId:{type:e.String_unsecure(),isOptional:!0},connectionId:{type:e.String_unsecure(),isOptional:!0},principalId:{type:e.String_unsecure(),isOptional:!1},capabilities:{type:e.String_unsecure(),isArray:!0,isOptional:!1},grantedBy:{type:e.String_unsecure(),isOptional:!1},expiresAt:{type:e.DateTime(),isOptional:!0},revokedAt:{type:e.DateTime(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}});var p=["platform.communication-os"],u={id:"communication-os.governed-work.v1",title:"CommunicationOS governed work contracts",body:"Persisted, scope-isolated reviews for identity, drafts, actions, handoffs, escalations, triage, summaries, agents, consent, retention, and policy. Managed decisions require current manager authority and every transition appends evidence.",kind:"reference",route:"/docs/communication-os/governed-work-v1",visibility:"public"},l=[T(u.id)],r=g("CommunicationGovernedWorkKind",["identity_review","draft","action","handoff","escalation","triage","summary","agent","consent","retention","policy"]),O=g("CommunicationGovernedWorkStatus",["pending","approved","rejected","blocked","resolved","revoked"]),o=c({name:"CommunicationGovernedWorkV1",fields:{id:{type:t.String_unsecure(),isOptional:!1},kind:{type:r,isOptional:!1},status:{type:O,isOptional:!1},title:{type:t.String_unsecure(),isOptional:!1},threadId:{type:t.String_unsecure(),isOptional:!0},details:{type:t.JSONObject(),isOptional:!1},revision:{type:t.Int_unsecure(),isOptional:!1},createdBy:{type:t.String_unsecure(),isOptional:!1},createdAt:{type:t.DateTime(),isOptional:!1},updatedBy:{type:t.String_unsecure(),isOptional:!1},updatedAt:{type:t.DateTime(),isOptional:!1}}}),ne=V({meta:{key:"communication.governed_work.list",version:"1.0.0",stability:"experimental",owners:[...p],tags:["communication","governance","work","query"],description:"List governed work in one authorized messaging space",goal:"Drive review queues from replayable state rather than fixtures",context:"The server derives scope and filters optional kinds",docId:l},io:{input:y,output:c({name:"ListCommunicationGovernedWorkV1Output",fields:{items:{type:o,isArray:!0,isOptional:!1}}})},policy:{auth:"user"}}),ie=f({meta:{key:"communication.governed_work.create",version:"1.0.0",stability:"experimental",owners:[...p],tags:["communication","governance","work","create"],description:"Create one idempotent governed work item",goal:"Start an accountable review from a real user or runtime action",context:"Client-supplied tenant or principal authority is rejected",docId:l},io:{input:o,output:o},policy:{auth:"user"}}),oe=f({meta:{key:"communication.governed_work.transition",version:"1.0.0",stability:"experimental",owners:[...p],tags:["communication","governance","work","transition"],description:"Apply one policy-valid governed work transition",goal:"Record approval, denial, resolution, blocking, or revocation evidence",context:"Managed kinds require current manager authority and terminal transitions fail closed",docId:l},io:{input:c({name:"TransitionCommunicationGovernedWorkV1Input",fields:{workId:{type:t.String_unsecure(),isOptional:!1},status:{type:O,isOptional:!1},reason:{type:t.String_unsecure(),isOptional:!0}}}),output:o},policy:{auth:"user"}});var G=["platform.communication-os"],M=[D(u.id)],m={VALIDATION_FAILED:{description:"The governed-work intent is invalid.",http:422,when:"Required intent is blank, malformed, or exceeds a declared limit."},FORBIDDEN:{description:"The principal cannot manage this governed-work kind.",http:403,when:"The server-derived role lacks the required management authority."},NOT_FOUND:{description:"The governed-work item does not exist in this scope.",http:404,when:"No item is visible in the authenticated journal partition."},CONFLICT:{description:"The requested lifecycle transition is not permitted.",http:409,when:"The current persisted status cannot transition to the requested status."},SERVICE_UNAVAILABLE:{description:"The governed-work journal is unavailable.",http:503,when:"The durable runtime cannot safely answer the operation."}},W=E("CommunicationGovernedWorkDecisionStatusV2",["approved","rejected","blocked","resolved","revoked"]),R=s({name:"ListCommunicationGovernedWorkV2Input",fields:{kind:{type:r,isOptional:!0}}}),N=s({name:"CreateCommunicationGovernedWorkV2Input",fields:{kind:{type:r,isOptional:!1},title:{type:a.String_unsecure(),isOptional:!1},threadId:{type:a.String_unsecure(),isOptional:!0},details:{type:a.JSONObject(),isOptional:!0},idempotencyKey:{type:a.String_unsecure(),isOptional:!1}}}),B=s({name:"TransitionCommunicationGovernedWorkV2Input",fields:{workId:{type:a.String_unsecure(),isOptional:!1},status:{type:W,isOptional:!1},reason:{type:a.String_unsecure(),isOptional:!0},idempotencyKey:{type:a.String_unsecure(),isOptional:!1}}}),L=s({name:"ListCommunicationGovernedWorkV2Output",fields:{items:{type:o,isArray:!0,isOptional:!1}}}),pe=A({meta:d("communication.governed_work.list","List governed work from the authenticated journal partition"),io:{input:R,output:L,errors:m},policy:{auth:"user"}}),ue=v({meta:d("communication.governed_work.create","Create governed work from replay-safe client intent"),io:{input:N,output:o,errors:m},policy:{auth:"user"}}),le=v({meta:d("communication.governed_work.transition","Apply one authorized governed-work lifecycle transition"),io:{input:B,output:o,errors:m},policy:{auth:"user"}});function d(S,k){return{key:S,version:"2.0.0",stability:"experimental",owners:[...G],tags:["communication","governance","authority","server-scope"],description:k,goal:"Keep scope, principal, lifecycle state, revision, and evidence server-owned",context:"The authenticated server context is the only tenant and principal authority.",docId:M}}export{W as CommunicationGovernedWorkDecisionStatusV2Enum,ue as CreateCommunicationGovernedWorkV2Command,N as CreateCommunicationGovernedWorkV2Input,R as ListCommunicationGovernedWorkV2Input,pe as ListCommunicationGovernedWorkV2Query,le as TransitionCommunicationGovernedWorkV2Command,B as TransitionCommunicationGovernedWorkV2Input};
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import { type DocBlock } from '@lssm/lib.contracts-spec';
|
|
2
|
+
export declare const CommunicationGovernedWorkDocBlock: DocBlock;
|
|
3
|
+
export declare const CommunicationGovernedWorkKindEnum: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string, string, string, string, string, string]>;
|
|
4
|
+
export declare const CommunicationGovernedWorkStatusEnum: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string]>;
|
|
5
|
+
export declare const CommunicationGovernedWorkV1Model: import("@lssm/lib.schema").SchemaModel<{
|
|
6
|
+
id: {
|
|
7
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
8
|
+
isOptional: false;
|
|
9
|
+
};
|
|
10
|
+
kind: {
|
|
11
|
+
type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string, string, string, string, string, string]>;
|
|
12
|
+
isOptional: false;
|
|
13
|
+
};
|
|
14
|
+
status: {
|
|
15
|
+
type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string]>;
|
|
16
|
+
isOptional: false;
|
|
17
|
+
};
|
|
18
|
+
title: {
|
|
19
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
20
|
+
isOptional: false;
|
|
21
|
+
};
|
|
22
|
+
threadId: {
|
|
23
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
24
|
+
isOptional: true;
|
|
25
|
+
};
|
|
26
|
+
details: {
|
|
27
|
+
type: import("@lssm/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
|
|
28
|
+
isOptional: false;
|
|
29
|
+
};
|
|
30
|
+
revision: {
|
|
31
|
+
type: import("@lssm/lib.schema").FieldType<number, number>;
|
|
32
|
+
isOptional: false;
|
|
33
|
+
};
|
|
34
|
+
createdBy: {
|
|
35
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
36
|
+
isOptional: false;
|
|
37
|
+
};
|
|
38
|
+
createdAt: {
|
|
39
|
+
type: import("@lssm/lib.schema").FieldType<Date, string>;
|
|
40
|
+
isOptional: false;
|
|
41
|
+
};
|
|
42
|
+
updatedBy: {
|
|
43
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
44
|
+
isOptional: false;
|
|
45
|
+
};
|
|
46
|
+
updatedAt: {
|
|
47
|
+
type: import("@lssm/lib.schema").FieldType<Date, string>;
|
|
48
|
+
isOptional: false;
|
|
49
|
+
};
|
|
50
|
+
}>;
|
|
51
|
+
export declare const ListCommunicationGovernedWorkV1Query: import("@lssm/lib.contracts-spec").OperationSpec<import("@lssm/lib.schema").SchemaModel<{
|
|
52
|
+
tenantId: {
|
|
53
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
54
|
+
isOptional: false;
|
|
55
|
+
};
|
|
56
|
+
workspaceId: {
|
|
57
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
58
|
+
isOptional: false;
|
|
59
|
+
};
|
|
60
|
+
spaceId: {
|
|
61
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
62
|
+
isOptional: false;
|
|
63
|
+
};
|
|
64
|
+
}>, import("@lssm/lib.schema").SchemaModel<{
|
|
65
|
+
items: {
|
|
66
|
+
type: import("@lssm/lib.schema").SchemaModel<{
|
|
67
|
+
id: {
|
|
68
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
69
|
+
isOptional: false;
|
|
70
|
+
};
|
|
71
|
+
kind: {
|
|
72
|
+
type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string, string, string, string, string, string]>;
|
|
73
|
+
isOptional: false;
|
|
74
|
+
};
|
|
75
|
+
status: {
|
|
76
|
+
type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string]>;
|
|
77
|
+
isOptional: false;
|
|
78
|
+
};
|
|
79
|
+
title: {
|
|
80
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
81
|
+
isOptional: false;
|
|
82
|
+
};
|
|
83
|
+
threadId: {
|
|
84
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
85
|
+
isOptional: true;
|
|
86
|
+
};
|
|
87
|
+
details: {
|
|
88
|
+
type: import("@lssm/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
|
|
89
|
+
isOptional: false;
|
|
90
|
+
};
|
|
91
|
+
revision: {
|
|
92
|
+
type: import("@lssm/lib.schema").FieldType<number, number>;
|
|
93
|
+
isOptional: false;
|
|
94
|
+
};
|
|
95
|
+
createdBy: {
|
|
96
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
97
|
+
isOptional: false;
|
|
98
|
+
};
|
|
99
|
+
createdAt: {
|
|
100
|
+
type: import("@lssm/lib.schema").FieldType<Date, string>;
|
|
101
|
+
isOptional: false;
|
|
102
|
+
};
|
|
103
|
+
updatedBy: {
|
|
104
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
105
|
+
isOptional: false;
|
|
106
|
+
};
|
|
107
|
+
updatedAt: {
|
|
108
|
+
type: import("@lssm/lib.schema").FieldType<Date, string>;
|
|
109
|
+
isOptional: false;
|
|
110
|
+
};
|
|
111
|
+
}>;
|
|
112
|
+
isArray: true;
|
|
113
|
+
isOptional: false;
|
|
114
|
+
};
|
|
115
|
+
}>, undefined>;
|
|
116
|
+
export declare const CreateCommunicationGovernedWorkV1Command: import("@lssm/lib.contracts-spec").OperationSpec<import("@lssm/lib.schema").SchemaModel<{
|
|
117
|
+
id: {
|
|
118
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
119
|
+
isOptional: false;
|
|
120
|
+
};
|
|
121
|
+
kind: {
|
|
122
|
+
type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string, string, string, string, string, string]>;
|
|
123
|
+
isOptional: false;
|
|
124
|
+
};
|
|
125
|
+
status: {
|
|
126
|
+
type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string]>;
|
|
127
|
+
isOptional: false;
|
|
128
|
+
};
|
|
129
|
+
title: {
|
|
130
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
131
|
+
isOptional: false;
|
|
132
|
+
};
|
|
133
|
+
threadId: {
|
|
134
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
135
|
+
isOptional: true;
|
|
136
|
+
};
|
|
137
|
+
details: {
|
|
138
|
+
type: import("@lssm/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
|
|
139
|
+
isOptional: false;
|
|
140
|
+
};
|
|
141
|
+
revision: {
|
|
142
|
+
type: import("@lssm/lib.schema").FieldType<number, number>;
|
|
143
|
+
isOptional: false;
|
|
144
|
+
};
|
|
145
|
+
createdBy: {
|
|
146
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
147
|
+
isOptional: false;
|
|
148
|
+
};
|
|
149
|
+
createdAt: {
|
|
150
|
+
type: import("@lssm/lib.schema").FieldType<Date, string>;
|
|
151
|
+
isOptional: false;
|
|
152
|
+
};
|
|
153
|
+
updatedBy: {
|
|
154
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
155
|
+
isOptional: false;
|
|
156
|
+
};
|
|
157
|
+
updatedAt: {
|
|
158
|
+
type: import("@lssm/lib.schema").FieldType<Date, string>;
|
|
159
|
+
isOptional: false;
|
|
160
|
+
};
|
|
161
|
+
}>, import("@lssm/lib.schema").SchemaModel<{
|
|
162
|
+
id: {
|
|
163
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
164
|
+
isOptional: false;
|
|
165
|
+
};
|
|
166
|
+
kind: {
|
|
167
|
+
type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string, string, string, string, string, string]>;
|
|
168
|
+
isOptional: false;
|
|
169
|
+
};
|
|
170
|
+
status: {
|
|
171
|
+
type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string]>;
|
|
172
|
+
isOptional: false;
|
|
173
|
+
};
|
|
174
|
+
title: {
|
|
175
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
176
|
+
isOptional: false;
|
|
177
|
+
};
|
|
178
|
+
threadId: {
|
|
179
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
180
|
+
isOptional: true;
|
|
181
|
+
};
|
|
182
|
+
details: {
|
|
183
|
+
type: import("@lssm/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
|
|
184
|
+
isOptional: false;
|
|
185
|
+
};
|
|
186
|
+
revision: {
|
|
187
|
+
type: import("@lssm/lib.schema").FieldType<number, number>;
|
|
188
|
+
isOptional: false;
|
|
189
|
+
};
|
|
190
|
+
createdBy: {
|
|
191
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
192
|
+
isOptional: false;
|
|
193
|
+
};
|
|
194
|
+
createdAt: {
|
|
195
|
+
type: import("@lssm/lib.schema").FieldType<Date, string>;
|
|
196
|
+
isOptional: false;
|
|
197
|
+
};
|
|
198
|
+
updatedBy: {
|
|
199
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
200
|
+
isOptional: false;
|
|
201
|
+
};
|
|
202
|
+
updatedAt: {
|
|
203
|
+
type: import("@lssm/lib.schema").FieldType<Date, string>;
|
|
204
|
+
isOptional: false;
|
|
205
|
+
};
|
|
206
|
+
}>, undefined>;
|
|
207
|
+
export declare const TransitionCommunicationGovernedWorkV1Command: import("@lssm/lib.contracts-spec").OperationSpec<import("@lssm/lib.schema").SchemaModel<{
|
|
208
|
+
workId: {
|
|
209
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
210
|
+
isOptional: false;
|
|
211
|
+
};
|
|
212
|
+
status: {
|
|
213
|
+
type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string]>;
|
|
214
|
+
isOptional: false;
|
|
215
|
+
};
|
|
216
|
+
reason: {
|
|
217
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
218
|
+
isOptional: true;
|
|
219
|
+
};
|
|
220
|
+
}>, import("@lssm/lib.schema").SchemaModel<{
|
|
221
|
+
id: {
|
|
222
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
223
|
+
isOptional: false;
|
|
224
|
+
};
|
|
225
|
+
kind: {
|
|
226
|
+
type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string, string, string, string, string, string]>;
|
|
227
|
+
isOptional: false;
|
|
228
|
+
};
|
|
229
|
+
status: {
|
|
230
|
+
type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string]>;
|
|
231
|
+
isOptional: false;
|
|
232
|
+
};
|
|
233
|
+
title: {
|
|
234
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
235
|
+
isOptional: false;
|
|
236
|
+
};
|
|
237
|
+
threadId: {
|
|
238
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
239
|
+
isOptional: true;
|
|
240
|
+
};
|
|
241
|
+
details: {
|
|
242
|
+
type: import("@lssm/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
|
|
243
|
+
isOptional: false;
|
|
244
|
+
};
|
|
245
|
+
revision: {
|
|
246
|
+
type: import("@lssm/lib.schema").FieldType<number, number>;
|
|
247
|
+
isOptional: false;
|
|
248
|
+
};
|
|
249
|
+
createdBy: {
|
|
250
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
251
|
+
isOptional: false;
|
|
252
|
+
};
|
|
253
|
+
createdAt: {
|
|
254
|
+
type: import("@lssm/lib.schema").FieldType<Date, string>;
|
|
255
|
+
isOptional: false;
|
|
256
|
+
};
|
|
257
|
+
updatedBy: {
|
|
258
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
259
|
+
isOptional: false;
|
|
260
|
+
};
|
|
261
|
+
updatedAt: {
|
|
262
|
+
type: import("@lssm/lib.schema").FieldType<Date, string>;
|
|
263
|
+
isOptional: false;
|
|
264
|
+
};
|
|
265
|
+
}>, undefined>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{defineCommand as p,defineQuery as _,docId as C}from"@lssm/lib.contracts-spec";import{defineEnum as l,defineSchemaModel as a,ScalarTypeEnum as t}from"@lssm/lib.schema";import{defineEnum as i,defineSchemaModel as n,ScalarTypeEnum as e}from"@lssm/lib.schema";var m=i("CommunicationSpaceKind",["personal","organization"]),d=i("CommunicationPrincipalKind",["human","agent","system"]),y=i("CommunicationConnectionPlacement",["device","managed_cloud","self_hosted"]),I=i("CommunicationConnectionNetwork",["email","sms","slack","teams","telegram","whatsapp","discord","matrix"]),f=i("CommunicationEncryptionMode",["client_encrypted","governed_server_indexable"]),g=i("CommunicationMembershipState",["active","revoked"]),x=i("CommunicationReceiptKind",["delivered","read"]),O=i("CommunicationConnectionHealth",["connecting","healthy","degraded","offline","revoked"]),b={id:"communication-os.ecosystem-messaging.v2",title:"CommunicationOS ecosystem messaging contracts",body:"Versioned, workspace-scoped contracts for personal and organization spaces, rooms, human and agent membership, hybrid channel connections, synchronized messages, and revocable outbound authority. CommunicationSpec remains canonical; provider protocols are adapters. V1 thread and draft-only operations remain unchanged.",kind:"reference",route:"/docs/communication-os/ecosystem-messaging-v2",visibility:"public"},c=n({name:"CommunicationScopeV2",description:"Strict tenant, workspace, and space boundary for messaging state",fields:{tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1}}}),w=n({name:"CommunicationSpaceV2",description:"Personal or organization messaging boundary under one account",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},kind:{type:m,isOptional:!1},encryptionMode:{type:f,isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1}}}),A=n({name:"CommunicationPrincipalV2",description:"Auditable human, agent, or system identity",fields:{id:{type:e.String_unsecure(),isOptional:!1},kind:{type:d,isOptional:!1},displayName:{type:e.String_unsecure(),isOptional:!1},ownerPrincipalId:{type:e.String_unsecure(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}}),D=n({name:"CommunicationRoomV2",description:"Room or direct-message projection inside one space",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!0},roomKind:{type:e.String_unsecure(),isOptional:!1},connectionIds:{type:e.String_unsecure(),isArray:!0,isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),V=n({name:"CommunicationRoomMembershipV2",description:"Revocable principal membership and room-scoped capabilities",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},roomId:{type:e.String_unsecure(),isOptional:!1},principalId:{type:e.String_unsecure(),isOptional:!1},role:{type:e.String_unsecure(),isOptional:!1},state:{type:g,isOptional:!1},capabilities:{type:e.String_unsecure(),isArray:!0,isOptional:!1},expiresAt:{type:e.DateTime(),isOptional:!0},revokedAt:{type:e.DateTime(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}}),M=n({name:"CommunicationChannelConnectionV2",description:"Credential-reference-only local, managed, or self-hosted channel connection",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},network:{type:e.String_unsecure(),isOptional:!1},placement:{type:y,isOptional:!1},externalAccountRef:{type:e.String_unsecure(),isOptional:!1},credentialRef:{type:e.String_unsecure(),isOptional:!1},health:{type:O,isOptional:!1},capabilities:{type:e.String_unsecure(),isArray:!0,isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),S=n({name:"CommunicationAttachmentV2",description:"Public-safe metadata for an opaque, scope-bound message attachment",fields:{id:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},mimeType:{type:e.String_unsecure(),isOptional:!1},sizeBytes:{type:e.Int_unsecure(),isOptional:!1},sha256:{type:e.String_unsecure(),isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1}}}),T=n({name:"CommunicationMessageV2",description:"Canonical room message with explicit author and encryption posture",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},roomId:{type:e.String_unsecure(),isOptional:!1},authorPrincipalId:{type:e.String_unsecure(),isOptional:!1},connectionId:{type:e.String_unsecure(),isOptional:!0},externalMessageId:{type:e.String_unsecure(),isOptional:!0},body:{type:e.String_unsecure(),isOptional:!0},encryptedEnvelope:{type:e.JSONObject(),isOptional:!0},attachments:{type:S,isArray:!0,isOptional:!0},replyToMessageId:{type:e.String_unsecure(),isOptional:!0},revision:{type:e.Int_unsecure(),isOptional:!1},deletedAt:{type:e.DateTime(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),E=n({name:"CommunicationAuthorityGrantV2",description:"Explicit, revocable messaging authority granted to one principal",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},roomId:{type:e.String_unsecure(),isOptional:!0},connectionId:{type:e.String_unsecure(),isOptional:!0},principalId:{type:e.String_unsecure(),isOptional:!1},capabilities:{type:e.String_unsecure(),isArray:!0,isOptional:!1},grantedBy:{type:e.String_unsecure(),isOptional:!1},expiresAt:{type:e.DateTime(),isOptional:!0},revokedAt:{type:e.DateTime(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}});var s=["platform.communication-os"],v={id:"communication-os.governed-work.v1",title:"CommunicationOS governed work contracts",body:"Persisted, scope-isolated reviews for identity, drafts, actions, handoffs, escalations, triage, summaries, agents, consent, retention, and policy. Managed decisions require current manager authority and every transition appends evidence.",kind:"reference",route:"/docs/communication-os/governed-work-v1",visibility:"public"},r=[C(v.id)],k=l("CommunicationGovernedWorkKind",["identity_review","draft","action","handoff","escalation","triage","summary","agent","consent","retention","policy"]),u=l("CommunicationGovernedWorkStatus",["pending","approved","rejected","blocked","resolved","revoked"]),o=a({name:"CommunicationGovernedWorkV1",fields:{id:{type:t.String_unsecure(),isOptional:!1},kind:{type:k,isOptional:!1},status:{type:u,isOptional:!1},title:{type:t.String_unsecure(),isOptional:!1},threadId:{type:t.String_unsecure(),isOptional:!0},details:{type:t.JSONObject(),isOptional:!1},revision:{type:t.Int_unsecure(),isOptional:!1},createdBy:{type:t.String_unsecure(),isOptional:!1},createdAt:{type:t.DateTime(),isOptional:!1},updatedBy:{type:t.String_unsecure(),isOptional:!1},updatedAt:{type:t.DateTime(),isOptional:!1}}}),P=_({meta:{key:"communication.governed_work.list",version:"1.0.0",stability:"experimental",owners:[...s],tags:["communication","governance","work","query"],description:"List governed work in one authorized messaging space",goal:"Drive review queues from replayable state rather than fixtures",context:"The server derives scope and filters optional kinds",docId:r},io:{input:c,output:a({name:"ListCommunicationGovernedWorkV1Output",fields:{items:{type:o,isArray:!0,isOptional:!1}}})},policy:{auth:"user"}}),K=p({meta:{key:"communication.governed_work.create",version:"1.0.0",stability:"experimental",owners:[...s],tags:["communication","governance","work","create"],description:"Create one idempotent governed work item",goal:"Start an accountable review from a real user or runtime action",context:"Client-supplied tenant or principal authority is rejected",docId:r},io:{input:o,output:o},policy:{auth:"user"}}),z=p({meta:{key:"communication.governed_work.transition",version:"1.0.0",stability:"experimental",owners:[...s],tags:["communication","governance","work","transition"],description:"Apply one policy-valid governed work transition",goal:"Record approval, denial, resolution, blocking, or revocation evidence",context:"Managed kinds require current manager authority and terminal transitions fail closed",docId:r},io:{input:a({name:"TransitionCommunicationGovernedWorkV1Input",fields:{workId:{type:t.String_unsecure(),isOptional:!1},status:{type:u,isOptional:!1},reason:{type:t.String_unsecure(),isOptional:!0}}}),output:o},policy:{auth:"user"}});export{v as CommunicationGovernedWorkDocBlock,k as CommunicationGovernedWorkKindEnum,u as CommunicationGovernedWorkStatusEnum,o as CommunicationGovernedWorkV1Model,K as CreateCommunicationGovernedWorkV1Command,P as ListCommunicationGovernedWorkV1Query,z as TransitionCommunicationGovernedWorkV1Command};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export declare const ListCommunicationAccountsV3Query: import("@lssm/lib.contracts-spec").OperationSpec<import("@lssm/lib.schema").SchemaModel<{}>, import("@lssm/lib.schema").SchemaModel<{
|
|
2
|
+
accounts: {
|
|
3
|
+
type: import("@lssm/lib.schema").SchemaModel<{
|
|
4
|
+
id: {
|
|
5
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
6
|
+
isOptional: false;
|
|
7
|
+
};
|
|
8
|
+
network: {
|
|
9
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
10
|
+
isOptional: false;
|
|
11
|
+
};
|
|
12
|
+
externalAccountRef: {
|
|
13
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
14
|
+
isOptional: false;
|
|
15
|
+
};
|
|
16
|
+
placement: {
|
|
17
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
18
|
+
isOptional: false;
|
|
19
|
+
};
|
|
20
|
+
health: {
|
|
21
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
22
|
+
isOptional: false;
|
|
23
|
+
};
|
|
24
|
+
createdAt: {
|
|
25
|
+
type: import("@lssm/lib.schema").FieldType<Date, string>;
|
|
26
|
+
isOptional: false;
|
|
27
|
+
};
|
|
28
|
+
updatedAt: {
|
|
29
|
+
type: import("@lssm/lib.schema").FieldType<Date, string>;
|
|
30
|
+
isOptional: false;
|
|
31
|
+
};
|
|
32
|
+
}>;
|
|
33
|
+
isArray: true;
|
|
34
|
+
isOptional: false;
|
|
35
|
+
};
|
|
36
|
+
}>, undefined>;
|
|
37
|
+
export declare const ListCommunicationContactsV3Query: import("@lssm/lib.contracts-spec").OperationSpec<import("@lssm/lib.schema").SchemaModel<{}>, import("@lssm/lib.schema").SchemaModel<{
|
|
38
|
+
contacts: {
|
|
39
|
+
type: import("@lssm/lib.schema").SchemaModel<{
|
|
40
|
+
principalId: {
|
|
41
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
42
|
+
isOptional: false;
|
|
43
|
+
};
|
|
44
|
+
displayName: {
|
|
45
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
46
|
+
isOptional: true;
|
|
47
|
+
};
|
|
48
|
+
roomIds: {
|
|
49
|
+
type: import("@lssm/lib.schema").FieldType<string, string>;
|
|
50
|
+
isArray: true;
|
|
51
|
+
isOptional: false;
|
|
52
|
+
};
|
|
53
|
+
messageCount: {
|
|
54
|
+
type: import("@lssm/lib.schema").FieldType<number, number>;
|
|
55
|
+
isOptional: false;
|
|
56
|
+
};
|
|
57
|
+
lastSeenAt: {
|
|
58
|
+
type: import("@lssm/lib.schema").FieldType<Date, string>;
|
|
59
|
+
isOptional: false;
|
|
60
|
+
};
|
|
61
|
+
}>;
|
|
62
|
+
isArray: true;
|
|
63
|
+
isOptional: false;
|
|
64
|
+
};
|
|
65
|
+
}>, undefined>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{defineQuery as V,docId as Y}from"@lssm/lib.contracts-spec";import{defineSchemaModel as A}from"@lssm/lib.schema";import{defineCommand as N,defineQuery as _,docId as j}from"@lssm/lib.contracts-spec";import{defineEnum as B,defineSchemaModel as o,ScalarTypeEnum as t}from"@lssm/lib.schema";import{defineEnum as n,defineSchemaModel as i,ScalarTypeEnum as e}from"@lssm/lib.schema";var D=n("CommunicationSpaceKind",["personal","organization"]),k=n("CommunicationPrincipalKind",["human","agent","system"]),T=n("CommunicationConnectionPlacement",["device","managed_cloud","self_hosted"]),ne=n("CommunicationConnectionNetwork",["email","sms","slack","teams","telegram","whatsapp","discord","matrix"]),E=n("CommunicationEncryptionMode",["client_encrypted","governed_server_indexable"]),R=n("CommunicationMembershipState",["active","revoked"]),oe=n("CommunicationReceiptKind",["delivered","read"]),M=n("CommunicationConnectionHealth",["connecting","healthy","degraded","offline","revoked"]),h={id:"communication-os.ecosystem-messaging.v2",title:"CommunicationOS ecosystem messaging contracts",body:"Versioned, workspace-scoped contracts for personal and organization spaces, rooms, human and agent membership, hybrid channel connections, synchronized messages, and revocable outbound authority. CommunicationSpec remains canonical; provider protocols are adapters. V1 thread and draft-only operations remain unchanged.",kind:"reference",route:"/docs/communication-os/ecosystem-messaging-v2",visibility:"public"},p=i({name:"CommunicationScopeV2",description:"Strict tenant, workspace, and space boundary for messaging state",fields:{tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1}}}),C=i({name:"CommunicationSpaceV2",description:"Personal or organization messaging boundary under one account",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},kind:{type:D,isOptional:!1},encryptionMode:{type:E,isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1}}}),ae=i({name:"CommunicationPrincipalV2",description:"Auditable human, agent, or system identity",fields:{id:{type:e.String_unsecure(),isOptional:!1},kind:{type:k,isOptional:!1},displayName:{type:e.String_unsecure(),isOptional:!1},ownerPrincipalId:{type:e.String_unsecure(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}}),u=i({name:"CommunicationRoomV2",description:"Room or direct-message projection inside one space",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!0},roomKind:{type:e.String_unsecure(),isOptional:!1},connectionIds:{type:e.String_unsecure(),isArray:!0,isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),se=i({name:"CommunicationRoomMembershipV2",description:"Revocable principal membership and room-scoped capabilities",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},roomId:{type:e.String_unsecure(),isOptional:!1},principalId:{type:e.String_unsecure(),isOptional:!1},role:{type:e.String_unsecure(),isOptional:!1},state:{type:R,isOptional:!1},capabilities:{type:e.String_unsecure(),isArray:!0,isOptional:!1},expiresAt:{type:e.DateTime(),isOptional:!0},revokedAt:{type:e.DateTime(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}}),re=i({name:"CommunicationChannelConnectionV2",description:"Credential-reference-only local, managed, or self-hosted channel connection",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},network:{type:e.String_unsecure(),isOptional:!1},placement:{type:T,isOptional:!1},externalAccountRef:{type:e.String_unsecure(),isOptional:!1},credentialRef:{type:e.String_unsecure(),isOptional:!1},health:{type:M,isOptional:!1},capabilities:{type:e.String_unsecure(),isArray:!0,isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),L=i({name:"CommunicationAttachmentV2",description:"Public-safe metadata for an opaque, scope-bound message attachment",fields:{id:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},mimeType:{type:e.String_unsecure(),isOptional:!1},sizeBytes:{type:e.Int_unsecure(),isOptional:!1},sha256:{type:e.String_unsecure(),isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1}}}),ce=i({name:"CommunicationMessageV2",description:"Canonical room message with explicit author and encryption posture",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},roomId:{type:e.String_unsecure(),isOptional:!1},authorPrincipalId:{type:e.String_unsecure(),isOptional:!1},connectionId:{type:e.String_unsecure(),isOptional:!0},externalMessageId:{type:e.String_unsecure(),isOptional:!0},body:{type:e.String_unsecure(),isOptional:!0},encryptedEnvelope:{type:e.JSONObject(),isOptional:!0},attachments:{type:L,isArray:!0,isOptional:!0},replyToMessageId:{type:e.String_unsecure(),isOptional:!0},revision:{type:e.Int_unsecure(),isOptional:!1},deletedAt:{type:e.DateTime(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),pe=i({name:"CommunicationAuthorityGrantV2",description:"Explicit, revocable messaging authority granted to one principal",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},roomId:{type:e.String_unsecure(),isOptional:!0},connectionId:{type:e.String_unsecure(),isOptional:!0},principalId:{type:e.String_unsecure(),isOptional:!1},capabilities:{type:e.String_unsecure(),isArray:!0,isOptional:!1},grantedBy:{type:e.String_unsecure(),isOptional:!1},expiresAt:{type:e.DateTime(),isOptional:!0},revokedAt:{type:e.DateTime(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}});var m=["platform.communication-os"],l={id:"communication-os.identity-resolution.v1",title:"CommunicationOS identity resolution contracts",body:"Scope-isolated account and contact projections plus a human-reviewed identity merge or rejection lifecycle. Provider credentials and raw identity evidence never enter public outputs.",kind:"reference",route:"/docs/communication-os/identity-resolution-v1",visibility:"public"},d=[j(l.id)],S=B("CommunicationIdentityReviewStatus",["pending","merged","rejected"]),y=o({name:"CommunicationAccountV2",description:"Public-safe provider account projection in one authorized space",fields:{id:{type:t.String_unsecure(),isOptional:!1},network:{type:t.String_unsecure(),isOptional:!1},externalAccountRef:{type:t.String_unsecure(),isOptional:!1},placement:{type:t.String_unsecure(),isOptional:!1},health:{type:t.String_unsecure(),isOptional:!1},createdAt:{type:t.DateTime(),isOptional:!1},updatedAt:{type:t.DateTime(),isOptional:!1}}}),f=o({name:"CommunicationContactV2",description:"Participant projection derived from persisted scoped messages",fields:{principalId:{type:t.String_unsecure(),isOptional:!1},displayName:{type:t.String_unsecure(),isOptional:!0},roomIds:{type:t.String_unsecure(),isArray:!0,isOptional:!1},messageCount:{type:t.Int_unsecure(),isOptional:!1},lastSeenAt:{type:t.DateTime(),isOptional:!1}}}),P=o({name:"ListCommunicationAccountsV2Output",fields:{accounts:{type:y,isArray:!0,isOptional:!1}}}),K=o({name:"ListCommunicationContactsV2Output",fields:{contacts:{type:f,isArray:!0,isOptional:!1}}}),ye=_({meta:{key:"communication.account.list",version:"2.0.0",stability:"experimental",owners:[...m],tags:["communication","account","identity"],description:"List public-safe provider accounts in one authorized space",goal:"Expose account readiness without leaking credential references",context:"Authority is derived by the server from the authenticated scope",docId:d},io:{input:p,output:P},policy:{auth:"user"}}),fe=_({meta:{key:"communication.contact.list",version:"2.0.0",stability:"experimental",owners:[...m],tags:["communication","contact","identity"],description:"List persisted participant projections in one authorized space",goal:"Provide a real scoped contact index without provider identity leakage",context:"Contacts are replayable projections, never transient UI inference",docId:d},io:{input:p,output:K},policy:{auth:"user"}}),ge=N({meta:{key:"communication.identity.decide",version:"1.0.0",stability:"experimental",owners:[...m],tags:["communication","identity","review","governance"],description:"Merge or reject one pending identity review",goal:"Require an auditable human decision before cross-channel identity linkage",context:"Only authorized managers may decide and each review is single-transition",docId:d},io:{input:o({name:"DecideCommunicationIdentityV1Input",fields:{reviewId:{type:t.String_unsecure(),isOptional:!1},decision:{type:S,isOptional:!1},reason:{type:t.String_unsecure(),isOptional:!0}}}),output:o({name:"DecideCommunicationIdentityV1Output",fields:{reviewId:{type:t.String_unsecure(),isOptional:!1},status:{type:S,isOptional:!1},revision:{type:t.Int_unsecure(),isOptional:!1}}})},policy:{auth:"admin"}});import{defineCommand as z,defineQuery as v,docId as Q}from"@lssm/lib.contracts-spec";import{defineEnum as q,defineSchemaModel as s,ScalarTypeEnum as I}from"@lssm/lib.schema";var F=["platform.communication-os"],G=[Q(h.id)],g={VALIDATION_FAILED:{description:"The room intent or replay key is invalid.",http:422,when:"The request is malformed, blank, or exceeds a declared limit."},FORBIDDEN:{description:"The authenticated principal cannot access this scope.",http:403,when:"The server-derived membership or room authority is absent."},SERVICE_UNAVAILABLE:{description:"The scoped messaging projection is unavailable.",http:503,when:"The durable journal cannot safely answer the operation."}},U=q("CommunicationRoomKindV3",["direct","group"]),a=s({name:"CommunicationNavigationV3Input",fields:{}}),W=s({name:"CreateCommunicationRoomV3Input",fields:{name:{type:I.String_unsecure(),isOptional:!1},roomKind:{type:U,isOptional:!1},idempotencyKey:{type:I.String_unsecure(),isOptional:!1}}}),H=s({name:"ListCommunicationSpacesV3Output",fields:{spaces:{type:C,isArray:!0,isOptional:!1}}}),J=s({name:"ListCommunicationRoomsV3Output",fields:{rooms:{type:u,isArray:!0,isOptional:!1}}}),_e=v({meta:O("communication.space.list","List server-authorized messaging spaces","Drive space switching without accepting browser scope authority"),io:{input:a,output:H,errors:g},policy:{auth:"user"}}),Ie=v({meta:O("communication.room.list","List rooms in the server-selected messaging space","Drive room navigation from one authenticated journal partition"),io:{input:a,output:J,errors:g},policy:{auth:"user"}}),ve=z({meta:O("communication.room.create","Create a room from replay-safe client intent","Keep scope, principal, identifiers, and timestamps server-owned"),io:{input:W,output:u,errors:g},policy:{auth:"user"}});function O(r,c,w){return{key:r,version:"3.0.0",stability:"experimental",owners:[...F],tags:["communication","navigation","authority","server-scope"],description:c,goal:w,context:"The runtime derives tenant, workspace, space, and principal from the authenticated server context.",docId:G}}var X=["platform.communication-os"],Z=[Y(l.id)],x={FORBIDDEN:{description:"The authenticated principal cannot inspect this scope.",http:403,when:"The server-derived workspace or space membership is absent."},SERVICE_UNAVAILABLE:{description:"The scoped identity projection is unavailable.",http:503,when:"The durable projection cannot safely answer the operation."}},ee=A({name:"ListCommunicationAccountsV3Output",fields:{accounts:{type:y,isArray:!0,isOptional:!1}}}),te=A({name:"ListCommunicationContactsV3Output",fields:{contacts:{type:f,isArray:!0,isOptional:!1}}}),De=V({meta:b("communication.account.list","List public-safe provider accounts in the authenticated space"),io:{input:a,output:ee,errors:x},policy:{auth:"user"}}),ke=V({meta:b("communication.contact.list","List persisted contacts in the authenticated space"),io:{input:a,output:te,errors:x},policy:{auth:"user"}});function b(r,c){return{key:r,version:"3.0.0",stability:"experimental",owners:[...X],tags:["communication","identity","authority","server-scope"],description:c,goal:"Remove client-supplied tenant and space authority from identity reads",context:"The runtime derives tenant, workspace, space, and principal from the authenticated server context.",docId:Z}}export{De as ListCommunicationAccountsV3Query,ke as ListCommunicationContactsV3Query};
|