@clowder-ai/plugin-contract 0.1.0-beta.29 → 0.1.0-beta.37

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.
Files changed (113) hide show
  1. package/dist/codegen/generate-contract.d.ts.map +1 -1
  2. package/dist/codegen/generate-contract.js +88 -1
  3. package/dist/codegen/generate-contract.js.map +1 -1
  4. package/dist/conformance/fixtures.d.ts +1 -1
  5. package/dist/conformance/fixtures.d.ts.map +1 -1
  6. package/dist/conformance/fixtures.js +1 -1
  7. package/dist/conformance/fixtures.js.map +1 -1
  8. package/dist/conformance/index.d.ts +1 -1
  9. package/dist/conformance/index.d.ts.map +1 -1
  10. package/dist/conformance/index.js +1 -1
  11. package/dist/conformance/index.js.map +1 -1
  12. package/dist/conformance/runner.js +1 -1
  13. package/dist/conformance/runner.js.map +1 -1
  14. package/dist/generated/contract.generated.d.ts +425 -62
  15. package/dist/generated/contract.generated.d.ts.map +1 -1
  16. package/dist/generated/contract.generated.js +63 -2
  17. package/dist/generated/contract.generated.js.map +1 -1
  18. package/dist/index.d.ts +1 -1
  19. package/dist/index.js +1 -1
  20. package/dist/validation/cloud-conversation-host.d.ts +18 -0
  21. package/dist/validation/cloud-conversation-host.d.ts.map +1 -0
  22. package/dist/validation/cloud-conversation-host.js +83 -0
  23. package/dist/validation/cloud-conversation-host.js.map +1 -0
  24. package/dist/validation/index.d.ts +5 -1
  25. package/dist/validation/index.d.ts.map +1 -1
  26. package/dist/validation/index.js +5 -1
  27. package/dist/validation/index.js.map +1 -1
  28. package/dist/validation/manifest.d.ts.map +1 -1
  29. package/dist/validation/manifest.js +113 -0
  30. package/dist/validation/manifest.js.map +1 -1
  31. package/dist/validation/members.d.ts +4 -0
  32. package/dist/validation/members.d.ts.map +1 -0
  33. package/dist/validation/members.js +11 -0
  34. package/dist/validation/members.js.map +1 -0
  35. package/dist/validation/messaging-semantic.d.ts.map +1 -1
  36. package/dist/validation/messaging-semantic.js +52 -3
  37. package/dist/validation/messaging-semantic.js.map +1 -1
  38. package/dist/validation/messaging-wire.d.ts +6 -2
  39. package/dist/validation/messaging-wire.d.ts.map +1 -1
  40. package/dist/validation/messaging-wire.js +22 -2
  41. package/dist/validation/messaging-wire.js.map +1 -1
  42. package/dist/validation/operation-rows.d.ts +25 -0
  43. package/dist/validation/operation-rows.d.ts.map +1 -0
  44. package/dist/validation/operation-rows.js +135 -0
  45. package/dist/validation/operation-rows.js.map +1 -0
  46. package/dist/validation/signals.d.ts +1 -10
  47. package/dist/validation/signals.d.ts.map +1 -1
  48. package/dist/validation/signals.js +0 -174
  49. package/dist/validation/signals.js.map +1 -1
  50. package/dist/wire/constants.d.ts +2 -1
  51. package/dist/wire/constants.d.ts.map +1 -1
  52. package/dist/wire/constants.js +2 -1
  53. package/dist/wire/constants.js.map +1 -1
  54. package/dist/wire/dispatch.d.ts +49 -0
  55. package/dist/wire/dispatch.d.ts.map +1 -0
  56. package/dist/wire/dispatch.js +880 -0
  57. package/dist/wire/dispatch.js.map +1 -0
  58. package/dist/wire/disposition-fixtures.d.ts +0 -2
  59. package/dist/wire/disposition-fixtures.d.ts.map +1 -1
  60. package/dist/wire/disposition-fixtures.js +20 -245
  61. package/dist/wire/disposition-fixtures.js.map +1 -1
  62. package/dist/wire/envelope.d.ts +31 -0
  63. package/dist/wire/envelope.d.ts.map +1 -1
  64. package/dist/wire/envelope.js +48 -1
  65. package/dist/wire/envelope.js.map +1 -1
  66. package/dist/wire/errors.d.ts +31 -1
  67. package/dist/wire/errors.d.ts.map +1 -1
  68. package/dist/wire/errors.js +36 -0
  69. package/dist/wire/errors.js.map +1 -1
  70. package/dist/wire/grants.d.ts +4 -4
  71. package/dist/wire/grants.js +3 -3
  72. package/dist/wire/handshake-byte-bounds.d.ts.map +1 -1
  73. package/dist/wire/handshake-byte-bounds.js +5 -2
  74. package/dist/wire/handshake-byte-bounds.js.map +1 -1
  75. package/dist/wire/handshake.d.ts +6 -0
  76. package/dist/wire/handshake.d.ts.map +1 -1
  77. package/dist/wire/handshake.js +6 -3
  78. package/dist/wire/handshake.js.map +1 -1
  79. package/dist/wire/index.d.ts +11 -11
  80. package/dist/wire/index.d.ts.map +1 -1
  81. package/dist/wire/index.js +20 -7
  82. package/dist/wire/index.js.map +1 -1
  83. package/dist/wire/lifecycle-byte-bounds.d.ts +0 -15
  84. package/dist/wire/lifecycle-byte-bounds.d.ts.map +1 -1
  85. package/dist/wire/lifecycle-byte-bounds.js +2 -62
  86. package/dist/wire/lifecycle-byte-bounds.js.map +1 -1
  87. package/dist/wire/messaging-byte-bounds.d.ts +4 -3
  88. package/dist/wire/messaging-byte-bounds.d.ts.map +1 -1
  89. package/dist/wire/messaging-byte-bounds.js +134 -12
  90. package/dist/wire/messaging-byte-bounds.js.map +1 -1
  91. package/dist/wire/registry.d.ts +15 -62
  92. package/dist/wire/registry.d.ts.map +1 -1
  93. package/dist/wire/registry.js +15 -61
  94. package/dist/wire/registry.js.map +1 -1
  95. package/dist/wire/row-shapes.d.ts +25 -13
  96. package/dist/wire/row-shapes.d.ts.map +1 -1
  97. package/dist/wire/row-shapes.js +11 -0
  98. package/dist/wire/row-shapes.js.map +1 -1
  99. package/fixtures/behavior/messaging/adversarial-invariants.json +7 -2
  100. package/fixtures/manifest/invalid/duplicate-signal-type.json +4 -2
  101. package/package.json +2 -2
  102. package/src/schemas/behavior-fixture.schema.json +711 -184
  103. package/src/schemas/companion-bridge.schema.json +51 -28
  104. package/src/schemas/manifest.schema.json +1954 -306
  105. package/src/schemas/messaging.schema.json +510 -35
  106. package/src/schemas/signal.schema.json +68 -78
  107. package/dist/wire/signal-byte-bounds.d.ts +0 -97
  108. package/dist/wire/signal-byte-bounds.d.ts.map +0 -1
  109. package/dist/wire/signal-byte-bounds.js +0 -229
  110. package/dist/wire/signal-byte-bounds.js.map +0 -1
  111. package/fixtures/signals/invalid/destination-injection.json +0 -15
  112. package/fixtures/signals/invalid/non-utc-occurred-at.json +0 -12
  113. package/fixtures/signals/valid/feishu-meeting-artifact.json +0 -18
@@ -16,10 +16,20 @@ export type PackageIcon = {
16
16
  readonly src: PackageAssetPath & `${string}.png`;
17
17
  };
18
18
  export type PluginIcon = 'github' | PackageIcon;
19
+ export type PluginMember = {
20
+ readonly catId: string;
21
+ readonly displayName: string;
22
+ readonly defaultModel: string;
23
+ readonly nickname?: string;
24
+ readonly variantLabel?: string;
25
+ readonly roleDescription?: string;
26
+ readonly avatar?: string;
27
+ readonly available: boolean;
28
+ };
19
29
  export type SemVer = string;
20
30
  export type DataClass = 'cache' | 'ephemeral' | 'user-authored' | 'derived-user-visible' | 'relationship' | 'interaction-history';
21
31
  export type DataStrategy = 'lifecycle' | 'retained' | 'ask-on-uninstall';
22
- export type Capability = 'plugin.config.read' | 'plugin.state.get' | 'plugin.state.set' | 'messaging.send' | 'schedule.register' | 'events.publish' | 'messaging.appendElements' | 'onMessage' | 'message.event.subscribe' | 'secret.read' | 'thread.listMetadata' | 'thread.readContent' | 'memory.query' | 'memory.append' | 'memory.retrieve' | 'windows.create' | 'whisper.extend';
32
+ export type Capability = 'plugin.config.read' | 'plugin.state.get' | 'plugin.state.set' | 'messaging.send' | 'schedule.register' | 'messaging.appendElements' | 'streams.read' | 'onMessage' | 'message.event.subscribe' | 'secret.read' | 'thread.listMetadata' | 'thread.readContent' | 'thread.write' | 'task.read' | 'task.write' | 'task.admitEntrusted' | 'memory.query' | 'memory.append' | 'memory.retrieve' | 'windows.create' | 'whisper.extend' | 'cloud.conversation.host';
23
33
  export type DataDeclaration = {
24
34
  readonly name: string;
25
35
  readonly dataClass: 'cache';
@@ -56,7 +66,7 @@ export type ResourceReference = {
56
66
  readonly id: string;
57
67
  };
58
68
  export type ContributionReference = {
59
- readonly type: 'identity' | 'schedule' | 'tool' | 'mcp' | 'skill' | 'limb' | 'webhook' | 'message-subscription' | 'service' | 'connector' | 'ui' | 'content-editor-provider' | 'desktop-window';
69
+ readonly type: 'identity' | 'schedule' | 'tool' | 'mcp' | 'skill' | 'limb' | 'webhook' | 'message-subscription' | 'media-source' | 'service' | 'connector' | 'cloud-conversation-host' | 'ui' | 'content-editor-provider' | 'desktop-window';
60
70
  readonly id: string;
61
71
  };
62
72
  export type PackageRelativePath = string;
@@ -66,54 +76,94 @@ export type ConfigurationOption = {
66
76
  readonly hint?: string;
67
77
  readonly docsUrl?: string;
68
78
  };
79
+ export type RequiredWhen = {
80
+ readonly key: string;
81
+ readonly value: string | number | boolean | readonly (string | number | boolean)[];
82
+ };
69
83
  export type ConfigurationField = {
70
84
  readonly key: string;
71
85
  readonly label: string;
72
86
  readonly description?: string;
73
87
  readonly kind: 'string';
74
88
  readonly required: boolean;
89
+ readonly hidden?: boolean;
90
+ readonly requiredWhen?: RequiredWhen;
75
91
  readonly default?: string;
76
92
  readonly options?: never;
93
+ readonly target?: never;
94
+ readonly actions?: never;
77
95
  } | {
78
96
  readonly key: string;
79
97
  readonly label: string;
80
98
  readonly description?: string;
81
99
  readonly kind: 'secret';
82
100
  readonly required: boolean;
101
+ readonly hidden?: boolean;
102
+ readonly requiredWhen?: RequiredWhen;
83
103
  readonly default?: never;
84
104
  readonly options?: never;
105
+ readonly target?: never;
106
+ readonly actions?: never;
85
107
  } | {
86
108
  readonly key: string;
87
109
  readonly label: string;
88
110
  readonly description?: string;
89
111
  readonly kind: 'select';
90
112
  readonly required: boolean;
113
+ readonly hidden?: boolean;
114
+ readonly requiredWhen?: RequiredWhen;
91
115
  readonly default?: string;
92
116
  readonly options: readonly ConfigurationOption[];
117
+ readonly target?: never;
118
+ readonly actions?: never;
93
119
  } | {
94
120
  readonly key: string;
95
121
  readonly label: string;
96
122
  readonly description?: string;
97
123
  readonly kind: 'boolean';
98
124
  readonly required: boolean;
125
+ readonly hidden?: boolean;
126
+ readonly requiredWhen?: RequiredWhen;
99
127
  readonly default?: boolean;
100
128
  readonly options?: never;
129
+ readonly target?: never;
130
+ readonly actions?: never;
101
131
  } | {
102
132
  readonly key: string;
103
133
  readonly label: string;
104
134
  readonly description?: string;
105
135
  readonly kind: 'number';
106
136
  readonly required: boolean;
137
+ readonly hidden?: boolean;
138
+ readonly requiredWhen?: RequiredWhen;
107
139
  readonly default?: number;
108
140
  readonly options?: never;
141
+ readonly target?: never;
142
+ readonly actions?: never;
109
143
  } | {
110
144
  readonly key: string;
111
145
  readonly label: string;
112
146
  readonly description?: string;
113
147
  readonly kind: 'url';
114
148
  readonly required: boolean;
149
+ readonly hidden?: boolean;
150
+ readonly requiredWhen?: RequiredWhen;
115
151
  readonly default?: string;
116
152
  readonly options?: never;
153
+ readonly target?: never;
154
+ readonly actions?: never;
155
+ } | {
156
+ readonly key: string;
157
+ readonly label: string;
158
+ readonly description?: string;
159
+ readonly kind: 'operation';
160
+ readonly required: boolean;
161
+ readonly hidden?: never;
162
+ readonly requiredWhen?: never;
163
+ readonly default?: never;
164
+ readonly options?: never;
165
+ readonly target?: readonly string[];
166
+ readonly actions: readonly ActionDef[];
117
167
  };
118
168
  export type EnvironmentBinding = {
119
169
  readonly source: 'config';
@@ -131,6 +181,56 @@ export type CallbackAction = {
131
181
  readonly method: string;
132
182
  readonly params?: Readonly<Record<string, unknown>>;
133
183
  };
184
+ export type ActionDef = {
185
+ readonly id: string;
186
+ readonly label: string;
187
+ readonly render: 'button' | 'polling' | 'status' | 'row';
188
+ readonly confirm?: string;
189
+ readonly action: CallbackAction;
190
+ readonly resultRender?: string;
191
+ readonly next?: string;
192
+ readonly rollback?: string;
193
+ readonly timeout?: number;
194
+ };
195
+ export type OperationRows = {
196
+ readonly rows: readonly OperationRow[];
197
+ readonly empty?: string;
198
+ };
199
+ export type OperationRow = {
200
+ readonly key: string;
201
+ readonly label: string;
202
+ readonly detail?: string;
203
+ readonly actions?: readonly OperationRowAction[];
204
+ };
205
+ export type OperationRowAction = {
206
+ readonly action: string;
207
+ readonly label?: string;
208
+ readonly input: Readonly<Record<string, string | number | boolean>>;
209
+ readonly confirm?: string;
210
+ };
211
+ export type OperationActionResult = {
212
+ readonly render: string;
213
+ readonly data: unknown;
214
+ readonly label?: string;
215
+ readonly targetValues?: Readonly<Record<string, string>>;
216
+ readonly advance?: boolean;
217
+ readonly activate?: boolean;
218
+ };
219
+ export type PluginTestDeclaration = {
220
+ readonly action: CallbackAction;
221
+ };
222
+ export type PluginTestResult = {
223
+ readonly ok: boolean;
224
+ readonly message?: string;
225
+ readonly details?: Readonly<Record<string, unknown>>;
226
+ };
227
+ export type SetupStep = {
228
+ readonly text: string;
229
+ readonly mode?: string;
230
+ };
231
+ export type ConnectorPermissions = {
232
+ readonly label: string;
233
+ };
134
234
  export type IdentityContribution = {
135
235
  readonly type: 'identity';
136
236
  readonly id: string;
@@ -162,10 +262,14 @@ export type DirectToolContribution = {
162
262
  readonly inputSchema: Readonly<Record<string, unknown>>;
163
263
  readonly action: CallbackAction;
164
264
  };
265
+ export type McpActionMethod = {
266
+ readonly method: string;
267
+ };
165
268
  export type McpContribution = {
166
269
  readonly type: 'mcp';
167
270
  readonly id: string;
168
271
  readonly runtime: ContributionRuntime;
272
+ readonly actions?: readonly McpActionMethod[];
169
273
  readonly environment?: Readonly<Record<string, EnvironmentBinding>>;
170
274
  };
171
275
  export type SkillContribution = {
@@ -182,7 +286,7 @@ export type WebhookContribution = {
182
286
  readonly type: 'webhook';
183
287
  readonly id: string;
184
288
  readonly path: string;
185
- readonly methods: readonly ('GET' | 'POST' | 'PUT' | 'DELETE')[];
289
+ readonly methods: readonly ('GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE')[];
186
290
  readonly action: CallbackAction;
187
291
  readonly verificationSecretRef?: string;
188
292
  };
@@ -192,6 +296,12 @@ export type MessageSubscriptionContribution = {
192
296
  readonly binding: string;
193
297
  readonly filter?: Readonly<Record<string, unknown>>;
194
298
  readonly action: CallbackAction;
299
+ readonly presentation?: 'v1' | 'v2';
300
+ };
301
+ export type MediaSourceContribution = {
302
+ readonly type: 'media-source';
303
+ readonly id: string;
304
+ readonly binding: string;
195
305
  };
196
306
  export type ServiceContribution = {
197
307
  readonly type: 'service';
@@ -207,6 +317,95 @@ export type ConnectorContribution = {
207
317
  readonly inboundMethod: string;
208
318
  readonly outboundMethod: string;
209
319
  };
320
+ export type CloudConversationHostMethod = {
321
+ readonly method: string;
322
+ };
323
+ export type CloudConversationHostContribution = {
324
+ readonly type: 'cloud-conversation-host';
325
+ readonly id: string;
326
+ readonly provider: 'chatgpt';
327
+ readonly appendMessage: CloudConversationHostMethod;
328
+ readonly assistantReturns: {
329
+ readonly list: CloudConversationHostMethod;
330
+ readonly ack: CloudConversationHostMethod;
331
+ };
332
+ };
333
+ export type CloudBridgeDomFingerprintNodeV1 = {
334
+ readonly path: string;
335
+ readonly kind: 'text' | 'element' | 'other';
336
+ readonly empty?: boolean;
337
+ readonly tag?: string;
338
+ readonly nodeType?: number;
339
+ readonly childCount?: number;
340
+ readonly contentEditable?: boolean;
341
+ readonly proseMirror?: boolean;
342
+ readonly placeholder?: boolean;
343
+ readonly virtualKeyboard?: boolean;
344
+ readonly trailingBreak?: boolean;
345
+ };
346
+ export type CloudBridgeDomFingerprintV1 = {
347
+ readonly v: 1;
348
+ readonly phase: string;
349
+ readonly adapterRevision: string;
350
+ readonly artifactRevision: string;
351
+ readonly firstUnsupportedPath?: string;
352
+ readonly nodes: readonly CloudBridgeDomFingerprintNodeV1[];
353
+ readonly truncated: boolean;
354
+ };
355
+ export type CloudBridgeFailureDiagnosticV1 = {
356
+ readonly v: 1;
357
+ readonly errorCode: string;
358
+ readonly nextAction: 'inspect_bound_tab';
359
+ readonly fingerprint: CloudBridgeDomFingerprintV1;
360
+ };
361
+ export type CloudConversationAppendMessageInput = {
362
+ readonly conversationId: string;
363
+ readonly text: string;
364
+ readonly idempotencyKey: MessageId;
365
+ };
366
+ export type CloudConversationAppendMessageAppendedResult = {
367
+ readonly status: 'appended';
368
+ readonly providerMessageId: string;
369
+ readonly idempotentReplay?: boolean;
370
+ };
371
+ export type CloudConversationAppendMessageFailedResult = {
372
+ readonly status: 'failed';
373
+ readonly errorCode: string;
374
+ readonly diagnostic?: CloudBridgeFailureDiagnosticV1;
375
+ readonly idempotentReplay?: boolean;
376
+ };
377
+ export type CloudConversationAppendMessageResult = CloudConversationAppendMessageAppendedResult | CloudConversationAppendMessageFailedResult;
378
+ export type CloudConversationReturnCursor = {
379
+ readonly conversationId: string;
380
+ readonly sourceMessageId: MessageId;
381
+ readonly assistantMessageId: string;
382
+ };
383
+ export type CloudConversationAssistantReturn = {
384
+ readonly conversationId: string;
385
+ readonly sourceMessageId: MessageId;
386
+ readonly assistantMessageId: string;
387
+ readonly content: string;
388
+ };
389
+ export type CloudConversationListInput = {
390
+ readonly after?: CloudConversationReturnCursor;
391
+ };
392
+ export type CloudConversationListResult = {
393
+ readonly returns: readonly CloudConversationAssistantReturn[];
394
+ };
395
+ export type CloudConversationAckInput = {
396
+ readonly conversationId: string;
397
+ readonly sourceMessageId: MessageId;
398
+ readonly assistantMessageId: string;
399
+ };
400
+ export type CloudConversationAcknowledgedResult = {
401
+ readonly status: 'acknowledged';
402
+ };
403
+ export type CloudConversationAckFailedResult = {
404
+ readonly status: 'failed';
405
+ readonly errorCode: string;
406
+ readonly diagnostic?: CloudBridgeFailureDiagnosticV1;
407
+ };
408
+ export type CloudConversationAckResult = CloudConversationAcknowledgedResult | CloudConversationAckFailedResult;
210
409
  export type UiWhenClause = {
211
410
  readonly featureEnabled?: boolean;
212
411
  readonly requiresCapabilities?: readonly Capability[];
@@ -282,7 +481,7 @@ export type ContentEditorProviderContribution = {
282
481
  readonly semanticMaterializer?: SemanticMaterializerDeclaration;
283
482
  readonly operations: readonly ['load' | 'settle' | 'comment' | 'tracked-change', 'load' | 'settle' | 'comment' | 'tracked-change', 'load' | 'settle' | 'comment' | 'tracked-change', 'load' | 'settle' | 'comment' | 'tracked-change'];
284
483
  };
285
- export type StaticContribution = IdentityContribution | ScheduleContribution | DirectToolContribution | McpContribution | SkillContribution | LimbContribution | WebhookContribution | MessageSubscriptionContribution | ServiceContribution | ConnectorContribution | UiContribution | ContentEditorProviderContribution | DesktopWindowContribution;
484
+ export type StaticContribution = IdentityContribution | ScheduleContribution | DirectToolContribution | McpContribution | SkillContribution | LimbContribution | WebhookContribution | MessageSubscriptionContribution | MediaSourceContribution | ServiceContribution | ConnectorContribution | CloudConversationHostContribution | UiContribution | ContentEditorProviderContribution | DesktopWindowContribution;
286
485
  export type PluginFeature = {
287
486
  readonly id: string;
288
487
  readonly name: string;
@@ -299,6 +498,7 @@ export type ExternalRuntimeDeclaration = {
299
498
  export type BuiltinRuntimeDeclaration = {
300
499
  readonly transport: 'builtin';
301
500
  readonly entrypoint?: string;
501
+ readonly dataDirectory?: string;
302
502
  };
303
503
  export type RuntimeDeclaration = ExternalRuntimeDeclaration | BuiltinRuntimeDeclaration;
304
504
  export type PluginManifest = {
@@ -312,7 +512,10 @@ export type PluginManifest = {
312
512
  readonly contributions?: readonly StaticContribution[];
313
513
  readonly features: readonly PluginFeature[];
314
514
  readonly data?: readonly DataDeclaration[];
315
- readonly runtime: RuntimeDeclaration;
515
+ readonly runtime?: RuntimeDeclaration;
516
+ readonly test?: PluginTestDeclaration;
517
+ readonly permissions?: ConnectorPermissions;
518
+ readonly steps?: readonly SetupStep[];
316
519
  readonly signals?: SignalContribution;
317
520
  };
318
521
  export type CatalogSemVer = string;
@@ -369,25 +572,6 @@ export type SignalDeclaration = {
369
572
  export type SignalContribution = {
370
573
  readonly provides: readonly SignalDeclaration[];
371
574
  };
372
- export type SignalEventId = string;
373
- export type SignalIdempotencyKey = string;
374
- export type OpaqueSourceHandle = string;
375
- export type SignalSourceRef = {
376
- readonly handle: OpaqueSourceHandle;
377
- };
378
- export type EventsPublishInput = {
379
- readonly signalType: SignalType;
380
- readonly eventId: SignalEventId;
381
- readonly idempotencyKey: SignalIdempotencyKey;
382
- readonly occurredAt: string;
383
- readonly payload: Readonly<Record<string, unknown>>;
384
- readonly source: SignalSourceRef;
385
- };
386
- export type EventsPublishDisposition = 'accepted' | 'duplicate';
387
- export type EventsPublishResult = {
388
- readonly publicationId: SignalEventId;
389
- readonly disposition: EventsPublishDisposition;
390
- };
391
575
  export type ActorKind = 'user' | 'cat' | 'plugin' | 'device' | 'system';
392
576
  export type ActorRef = {
393
577
  readonly kind: ActorKind;
@@ -422,12 +606,34 @@ export type DraftProvenance = {
422
606
  readonly origin?: DraftOrigin;
423
607
  readonly epistemicStatus: EpistemicStatus;
424
608
  };
425
- export type ElementKind = 'text' | 'media_ref' | 'rich_block';
609
+ export type MediaType = 'image' | 'file' | 'audio' | 'video';
610
+ export type ElementKind = 'text' | 'media_ref' | 'rich_block' | 'media_unavailable' | 'media_warning';
426
611
  export type TextElementPayload = {
427
612
  readonly text: string;
428
613
  };
429
- export type MediaRefElementPayload = Readonly<Record<string, unknown>>;
430
- export type RichBlockElementPayload = Readonly<Record<string, unknown>>;
614
+ export type MediaRefElementPayload = {
615
+ readonly type: MediaType;
616
+ readonly reference: string;
617
+ readonly sourceId?: string;
618
+ readonly fileName?: string;
619
+ readonly [key: string]: unknown;
620
+ };
621
+ export type RichBlockElementPayload = {
622
+ readonly id: string;
623
+ readonly kind: string;
624
+ readonly v: 1;
625
+ readonly [key: string]: unknown;
626
+ };
627
+ export type MediaUnavailableElementPayload = {
628
+ readonly type: MediaType;
629
+ readonly fileName?: string;
630
+ readonly reason: 'source_expired' | 'timeout' | 'unavailable';
631
+ };
632
+ export type MediaWarningElementPayload = {
633
+ readonly mediaElementId: string;
634
+ readonly stage: 'transcription' | 'preview';
635
+ readonly reason: 'timeout' | 'processing_failed';
636
+ };
431
637
  export type TextMessageElement = {
432
638
  readonly elementId: string;
433
639
  readonly kind: 'text';
@@ -442,6 +648,12 @@ export type MediaRefMessageElement = {
442
648
  readonly derivedFromElementId?: string;
443
649
  readonly epistemicStatus?: EpistemicStatus;
444
650
  };
651
+ export type PmrMediaRefElementMatch = {
652
+ readonly kind: 'media_ref';
653
+ readonly payload: {
654
+ readonly reference: string;
655
+ };
656
+ };
445
657
  export type RichBlockMessageElement = {
446
658
  readonly elementId: string;
447
659
  readonly kind: 'rich_block';
@@ -449,7 +661,21 @@ export type RichBlockMessageElement = {
449
661
  readonly derivedFromElementId?: string;
450
662
  readonly epistemicStatus?: EpistemicStatus;
451
663
  };
452
- export type MessageElement = TextMessageElement | MediaRefMessageElement | RichBlockMessageElement;
664
+ export type MediaUnavailableMessageElement = {
665
+ readonly elementId: string;
666
+ readonly kind: 'media_unavailable';
667
+ readonly payload: MediaUnavailableElementPayload;
668
+ readonly derivedFromElementId?: string;
669
+ readonly epistemicStatus?: EpistemicStatus;
670
+ };
671
+ export type MediaWarningMessageElement = {
672
+ readonly elementId: string;
673
+ readonly kind: 'media_warning';
674
+ readonly payload: MediaWarningElementPayload;
675
+ readonly derivedFromElementId?: string;
676
+ readonly epistemicStatus?: EpistemicStatus;
677
+ };
678
+ export type MessageElement = TextMessageElement | MediaRefMessageElement | RichBlockMessageElement | MediaUnavailableMessageElement | MediaWarningMessageElement;
453
679
  export type MessagePayload = {
454
680
  readonly provenance: MessageProvenance;
455
681
  readonly elements: readonly MessageElement[];
@@ -483,20 +709,22 @@ export type SystemAudience = {
483
709
  };
484
710
  export type DraftAudience = PublicAudience | WhisperAudience;
485
711
  export type CanonicalAudience = PublicAudience | WhisperAudience | SystemAudience;
712
+ export type MessageId = string;
486
713
  export type MessageDraft = {
487
714
  readonly address: MessageAddress;
488
715
  readonly draftAudience?: DraftAudience;
489
716
  readonly idempotencyKey: string;
490
717
  readonly sourceEventId?: string;
491
- readonly replyTo?: string;
718
+ readonly replyTo?: MessageId;
492
719
  readonly payload: DraftPayload;
493
720
  };
494
721
  export type OccurredAt = string | string;
722
+ export type ThreadId = string;
495
723
  export type MessageEnvelope = {
496
- readonly messageId: string;
724
+ readonly messageId: MessageId;
497
725
  readonly revision: number;
498
- readonly threadId: string;
499
- readonly replyTo?: string;
726
+ readonly threadId: ThreadId;
727
+ readonly replyTo?: MessageId;
500
728
  readonly actor: ActorRef;
501
729
  readonly audience: CanonicalAudience;
502
730
  readonly occurredAt: OccurredAt;
@@ -512,8 +740,8 @@ export type MessageElementsAppendEvent = {
512
740
  readonly eventId: string;
513
741
  readonly sequence: number;
514
742
  readonly type: 'message.elements.append';
515
- readonly messageId: string;
516
- readonly threadId: string;
743
+ readonly messageId: MessageId;
744
+ readonly threadId: ThreadId;
517
745
  readonly operationId: string;
518
746
  readonly baseRevision?: number;
519
747
  readonly revision: number;
@@ -521,19 +749,20 @@ export type MessageElementsAppendEvent = {
521
749
  };
522
750
  export type MessageOutputEvent = MessagePublishEvent | MessageElementsAppendEvent;
523
751
  export type SendReceipt = {
524
- readonly messageId: string;
525
- readonly threadId: string;
752
+ readonly messageId: MessageId;
753
+ readonly threadId: ThreadId;
526
754
  readonly revision: number;
527
755
  readonly messageHandle: MessageHandle;
528
756
  readonly publishSequence?: number;
757
+ readonly pendingPublication?: true;
529
758
  };
530
759
  export type AppendReceipt = {
531
- readonly messageId: string;
760
+ readonly messageId: MessageId;
532
761
  readonly revision: number;
533
762
  readonly appendSequence?: number;
534
763
  readonly appliedElementIds: readonly string[];
535
764
  };
536
- export type MessagingErrorCode = 'VALIDATION' | 'PERMISSION' | 'NOT_FOUND' | 'CONFLICT' | 'RETRYABLE_INFLIGHT' | 'STALE_CURSOR';
765
+ export type MessagingErrorCode = 'VALIDATION' | 'PERMISSION' | 'NOT_FOUND' | 'CONFLICT' | 'RETRYABLE_INFLIGHT' | 'STALE_CURSOR' | 'MEDIA_ACCESS_DENIED' | 'MESSAGE_NOT_PUBLISHED';
537
766
  export type MessageHandle = {
538
767
  readonly kind: 'message';
539
768
  readonly token: string;
@@ -565,6 +794,87 @@ export type SnapshotResponse = {
565
794
  readonly envelopes: readonly MessageEnvelope[];
566
795
  readonly resumeSequence: number;
567
796
  };
797
+ export type FrontendDisplayUrl = string;
798
+ export type DeliveryPresentationActor = {
799
+ readonly displayName: string;
800
+ readonly emoji: string;
801
+ };
802
+ export type DeliveryPresentationThread = {
803
+ readonly shortId: string;
804
+ readonly title?: string;
805
+ readonly featId?: string;
806
+ };
807
+ export type DeliveryPresentationContext = {
808
+ readonly actor: DeliveryPresentationActor;
809
+ readonly thread: DeliveryPresentationThread;
810
+ readonly deepLinkUrl?: FrontendDisplayUrl;
811
+ };
812
+ export type MediaReadInput = {
813
+ readonly reference: string;
814
+ readonly offset: number;
815
+ readonly limit: number;
816
+ };
817
+ export type MediaReadResult = {
818
+ readonly offset: number;
819
+ readonly dataBase64: string;
820
+ readonly nextOffset?: number;
821
+ readonly done: boolean;
822
+ };
823
+ export type PluginMessageDelivery = {
824
+ readonly kind: 'message';
825
+ readonly deliveryId: string;
826
+ readonly threadId: ThreadId;
827
+ readonly executionId?: string;
828
+ readonly envelope: MessageEnvelope;
829
+ readonly presentation?: DeliveryPresentationContext;
830
+ };
831
+ export type PluginExecutionStartedDelivery = {
832
+ readonly deliveryId: string;
833
+ readonly threadId: ThreadId;
834
+ readonly state: 'started';
835
+ readonly presentation: DeliveryPresentationContext;
836
+ readonly placeholderLine?: string;
837
+ readonly replyTo?: MessageId;
838
+ readonly executionId: string;
839
+ readonly kind: 'execution_status';
840
+ };
841
+ export type PluginExecutionCatchingUpDelivery = {
842
+ readonly deliveryId: string;
843
+ readonly threadId: ThreadId;
844
+ readonly state: 'catching_up';
845
+ readonly executionId: string;
846
+ readonly kind: 'execution_status';
847
+ };
848
+ export type PluginExecutionBlockedDelivery = {
849
+ readonly deliveryId: string;
850
+ readonly threadId: ThreadId;
851
+ readonly state: 'blocked';
852
+ readonly reason: string;
853
+ readonly recoveryUrl?: FrontendDisplayUrl;
854
+ readonly executionId: string;
855
+ readonly kind: 'execution_status';
856
+ };
857
+ export type PluginExecutionResumedDelivery = {
858
+ readonly deliveryId: string;
859
+ readonly threadId: ThreadId;
860
+ readonly state: 'resumed';
861
+ readonly executionId: string;
862
+ readonly kind: 'execution_status';
863
+ };
864
+ export type PluginExecutionSettledDelivery = {
865
+ readonly deliveryId: string;
866
+ readonly threadId: ThreadId;
867
+ readonly state: 'settled';
868
+ readonly chainDone: boolean;
869
+ readonly outcome: 'completed' | 'failed' | 'cancelled';
870
+ readonly executionId: string;
871
+ readonly kind: 'execution_status';
872
+ };
873
+ export type PluginExecutionStatusDelivery = PluginExecutionStartedDelivery | PluginExecutionCatchingUpDelivery | PluginExecutionBlockedDelivery | PluginExecutionResumedDelivery | PluginExecutionSettledDelivery;
874
+ export type PluginDeliveryInput = PluginMessageDelivery | PluginExecutionStatusDelivery;
875
+ export type PluginDeliveryReceipt = {
876
+ readonly deliveryId: string;
877
+ };
568
878
  export type M0CSubscribeInput = {
569
879
  readonly handle: string;
570
880
  };
@@ -612,14 +922,67 @@ export type M0CSnapshotFinalResult = {
612
922
  readonly snapshotAckToken: string;
613
923
  };
614
924
  export type M0CSnapshotResult = M0CSnapshotIntermediateResult | M0CSnapshotFinalResult;
615
- export type M0CDeliverInput = {
616
- readonly deliveryId: string;
617
- readonly threadHandle: ThreadHandleAddress;
618
- readonly envelope: MessageEnvelope;
619
- };
620
- export type M0CDeliverResult = {
621
- readonly deliveryId: string;
622
- };
925
+ export declare const ACTOR_KIND_VALUES: readonly ["user", "cat", "plugin", "device", "system"];
926
+ export declare const ACTOR_REF_KEYS: readonly ["kind", "id"];
927
+ export declare const EPISTEMIC_STATUS_VALUES: readonly ["observation", "user_intent", "inference"];
928
+ export declare const EXTERNAL_SOURCE_ADDRESS_KEYS: readonly ["connectorId", "chatId", "messageId"];
929
+ export declare const PLUGIN_ORIGIN_KEYS: readonly ["kind", "instanceId"];
930
+ export declare const EXTERNAL_ORIGIN_KEYS: readonly ["kind", "connectorId", "sourceAddress"];
931
+ export declare const HOST_ORIGIN_KEYS: readonly ["kind"];
932
+ export declare const MESSAGE_PROVENANCE_KEYS: readonly ["origin", "epistemicStatus"];
933
+ export declare const DRAFT_PROVENANCE_KEYS: readonly ["origin", "epistemicStatus"];
934
+ export declare const MEDIA_TYPE_VALUES: readonly ["image", "file", "audio", "video"];
935
+ export declare const ELEMENT_KIND_VALUES: readonly ["text", "media_ref", "rich_block", "media_unavailable", "media_warning"];
936
+ export declare const TEXT_ELEMENT_PAYLOAD_KEYS: readonly ["text"];
937
+ export declare const MEDIA_UNAVAILABLE_ELEMENT_PAYLOAD_KEYS: readonly ["type", "fileName", "reason"];
938
+ export declare const MEDIA_WARNING_ELEMENT_PAYLOAD_KEYS: readonly ["mediaElementId", "stage", "reason"];
939
+ export declare const TEXT_MESSAGE_ELEMENT_KEYS: readonly ["elementId", "kind", "payload", "derivedFromElementId", "epistemicStatus"];
940
+ export declare const MEDIA_REF_MESSAGE_ELEMENT_KEYS: readonly ["elementId", "kind", "payload", "derivedFromElementId", "epistemicStatus"];
941
+ export declare const RICH_BLOCK_MESSAGE_ELEMENT_KEYS: readonly ["elementId", "kind", "payload", "derivedFromElementId", "epistemicStatus"];
942
+ export declare const MEDIA_UNAVAILABLE_MESSAGE_ELEMENT_KEYS: readonly ["elementId", "kind", "payload", "derivedFromElementId", "epistemicStatus"];
943
+ export declare const MEDIA_WARNING_MESSAGE_ELEMENT_KEYS: readonly ["elementId", "kind", "payload", "derivedFromElementId", "epistemicStatus"];
944
+ export declare const MESSAGE_PAYLOAD_KEYS: readonly ["provenance", "elements", "correlationId", "causationId"];
945
+ export declare const DRAFT_PAYLOAD_KEYS: readonly ["provenance", "elements", "correlationId", "causationId"];
946
+ export declare const THREAD_HANDLE_ADDRESS_KEYS: readonly ["kind", "handle"];
947
+ export declare const CONNECTOR_BINDING_ADDRESS_KEYS: readonly ["kind", "handle"];
948
+ export declare const PUBLIC_AUDIENCE_KEYS: readonly ["kind"];
949
+ export declare const WHISPER_AUDIENCE_KEYS: readonly ["kind", "targets"];
950
+ export declare const SYSTEM_AUDIENCE_KEYS: readonly ["kind"];
951
+ export declare const MESSAGE_DRAFT_KEYS: readonly ["address", "draftAudience", "idempotencyKey", "sourceEventId", "replyTo", "payload"];
952
+ export declare const MESSAGE_ENVELOPE_KEYS: readonly ["messageId", "revision", "threadId", "replyTo", "actor", "audience", "occurredAt", "payload"];
953
+ export declare const MESSAGE_PUBLISH_EVENT_KEYS: readonly ["eventId", "sequence", "type", "envelope"];
954
+ export declare const MESSAGE_ELEMENTS_APPEND_EVENT_KEYS: readonly ["eventId", "sequence", "type", "messageId", "threadId", "operationId", "baseRevision", "revision", "elements"];
955
+ export declare const SEND_RECEIPT_KEYS: readonly ["messageId", "threadId", "revision", "messageHandle", "publishSequence", "pendingPublication"];
956
+ export declare const APPEND_RECEIPT_KEYS: readonly ["messageId", "revision", "appendSequence", "appliedElementIds"];
957
+ export declare const MESSAGING_ERROR_CODE_VALUES: readonly ["VALIDATION", "PERMISSION", "NOT_FOUND", "CONFLICT", "RETRYABLE_INFLIGHT", "STALE_CURSOR", "MEDIA_ACCESS_DENIED", "MESSAGE_NOT_PUBLISHED"];
958
+ export declare const MESSAGE_HANDLE_KEYS: readonly ["kind", "token"];
959
+ export declare const APPEND_ELEMENTS_REQUEST_KEYS: readonly ["handle", "operationId", "baseRevision", "elements"];
960
+ export declare const SUBSCRIPTION_NORMAL_RESPONSE_KEYS: readonly ["events", "ackToken", "stale"];
961
+ export declare const SUBSCRIPTION_EMPTY_RESPONSE_KEYS: readonly ["events", "ackToken", "stale"];
962
+ export declare const SUBSCRIPTION_STALE_RESPONSE_KEYS: readonly ["events", "ackToken", "stale"];
963
+ export declare const SNAPSHOT_RESPONSE_KEYS: readonly ["envelopes", "resumeSequence"];
964
+ export declare const DELIVERY_PRESENTATION_ACTOR_KEYS: readonly ["displayName", "emoji"];
965
+ export declare const DELIVERY_PRESENTATION_THREAD_KEYS: readonly ["shortId", "title", "featId"];
966
+ export declare const DELIVERY_PRESENTATION_CONTEXT_KEYS: readonly ["actor", "thread", "deepLinkUrl"];
967
+ export declare const MEDIA_READ_INPUT_KEYS: readonly ["reference", "offset", "limit"];
968
+ export declare const MEDIA_READ_RESULT_KEYS: readonly ["offset", "dataBase64", "nextOffset", "done"];
969
+ export declare const PLUGIN_MESSAGE_DELIVERY_KEYS: readonly ["kind", "deliveryId", "threadId", "executionId", "envelope", "presentation"];
970
+ export declare const PLUGIN_EXECUTION_STARTED_DELIVERY_KEYS: readonly ["deliveryId", "threadId", "state", "presentation", "placeholderLine", "replyTo", "executionId", "kind"];
971
+ export declare const PLUGIN_EXECUTION_CATCHING_UP_DELIVERY_KEYS: readonly ["deliveryId", "threadId", "state", "executionId", "kind"];
972
+ export declare const PLUGIN_EXECUTION_BLOCKED_DELIVERY_KEYS: readonly ["deliveryId", "threadId", "state", "reason", "recoveryUrl", "executionId", "kind"];
973
+ export declare const PLUGIN_EXECUTION_RESUMED_DELIVERY_KEYS: readonly ["deliveryId", "threadId", "state", "executionId", "kind"];
974
+ export declare const PLUGIN_EXECUTION_SETTLED_DELIVERY_KEYS: readonly ["deliveryId", "threadId", "state", "chainDone", "outcome", "executionId", "kind"];
975
+ export declare const PLUGIN_DELIVERY_RECEIPT_KEYS: readonly ["deliveryId"];
976
+ export declare const M0CSUBSCRIBE_INPUT_KEYS: readonly ["handle"];
977
+ export declare const M0CSUBSCRIBE_RESULT_KEYS: readonly ["subscriptionId"];
978
+ export declare const M0CREAD_INPUT_KEYS: readonly ["subscriptionId", "limit"];
979
+ export declare const M0CREAD_NORMAL_RESULT_KEYS: readonly ["events", "ackToken", "stale"];
980
+ export declare const M0CREAD_EMPTY_RESULT_KEYS: readonly ["events", "ackToken", "stale"];
981
+ export declare const M0CREAD_STALE_RESULT_KEYS: readonly ["events", "ackToken", "stale"];
982
+ export declare const M0CACK_INPUT_KEYS: readonly ["subscriptionId", "ackToken"];
983
+ export declare const M0CSNAPSHOT_INPUT_KEYS: readonly ["subscriptionId", "maxItems", "pageToken"];
984
+ export declare const M0CSNAPSHOT_INTERMEDIATE_RESULT_KEYS: readonly ["items", "nextPageToken", "snapshotAckToken"];
985
+ export declare const M0CSNAPSHOT_FINAL_RESULT_KEYS: readonly ["items", "nextPageToken", "snapshotAckToken"];
623
986
  export type PhysicalLimbIdentifier = string;
624
987
  export type PhysicalLimbGrant = 'limb.action.motion' | 'limb.action.display' | 'limb.action.light' | 'limb.action.speaker' | 'limb.observe.touch' | 'limb.sensor.microphone' | 'limb.sensor.camera';
625
988
  export type PhysicalLimbSafePose = {
@@ -837,12 +1200,10 @@ export type CompanionScreenFrame = {
837
1200
  export type CompanionCommand = {
838
1201
  readonly kind: 'state';
839
1202
  } | {
840
- readonly kind: 'text';
841
- readonly v: 2;
842
- readonly scopeRef: CompanionConversationScopeRef;
843
- readonly text: string;
844
- readonly clientMessageId: CompanionClientMessageId;
845
- readonly submissionRevision: number;
1203
+ readonly kind: 'work.read';
1204
+ } | {
1205
+ readonly kind: 'work.open';
1206
+ readonly entryRef: string;
846
1207
  } | {
847
1208
  readonly kind: 'prepare';
848
1209
  } | {
@@ -885,11 +1246,6 @@ export type CompanionCommand = {
885
1246
  readonly observedAt: number;
886
1247
  readonly callId: CompanionCallId;
887
1248
  readonly reference: CompanionPresentationReference;
888
- } | {
889
- readonly kind: 'work.read';
890
- } | {
891
- readonly kind: 'work.open';
892
- readonly entryRef: string;
893
1249
  } | {
894
1250
  readonly kind: 'decisions.read';
895
1251
  readonly offset: number;
@@ -991,6 +1347,13 @@ export type CompanionCommand = {
991
1347
  readonly clientMessageId: CompanionClientMessageId;
992
1348
  } | {
993
1349
  readonly kind: 'transcript.read';
1350
+ } | {
1351
+ readonly kind: 'text';
1352
+ readonly v: 2;
1353
+ readonly scopeRef: CompanionConversationScopeRef;
1354
+ readonly text: string;
1355
+ readonly clientMessageId: CompanionClientMessageId;
1356
+ readonly submissionRevision: number;
994
1357
  };
995
1358
  export type CompanionActor = {
996
1359
  readonly catId: string;
@@ -1596,7 +1959,7 @@ export type PermissionMatrixEntry = {
1596
1959
  readonly firstPartyPreset: boolean;
1597
1960
  };
1598
1961
  export type PermissionMatrixInput = {
1599
- readonly entries: readonly [PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry];
1962
+ readonly entries: readonly [PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry];
1600
1963
  };
1601
1964
  export type DeleteReplayEventsInput = {
1602
1965
  readonly subscriptionId: string;
@@ -1765,14 +2128,14 @@ export type BehaviorFixture = {
1765
2128
  };
1766
2129
  export declare const L0_CAPABILITIES: readonly ["plugin.config.read", "plugin.state.get", "plugin.state.set"];
1767
2130
  export type L0Capability = (typeof L0_CAPABILITIES)[number];
1768
- export declare const L1_CAPABILITIES: readonly ["messaging.send", "schedule.register", "events.publish", "messaging.appendElements"];
2131
+ export declare const L1_CAPABILITIES: readonly ["messaging.send", "schedule.register", "messaging.appendElements", "streams.read"];
1769
2132
  export type L1Capability = (typeof L1_CAPABILITIES)[number];
1770
- export declare const L2_CAPABILITIES: readonly ["onMessage", "message.event.subscribe", "secret.read", "thread.listMetadata", "thread.readContent", "memory.query", "memory.append", "memory.retrieve", "windows.create", "whisper.extend"];
2133
+ export declare const L2_CAPABILITIES: readonly ["onMessage", "message.event.subscribe", "secret.read", "thread.listMetadata", "thread.readContent", "thread.write", "task.read", "task.write", "task.admitEntrusted", "memory.query", "memory.append", "memory.retrieve", "windows.create", "whisper.extend", "cloud.conversation.host"];
1771
2134
  export type L2Capability = (typeof L2_CAPABILITIES)[number];
1772
2135
  export declare const CAPABILITY_TABLE: {
1773
2136
  readonly L0: readonly ["plugin.config.read", "plugin.state.get", "plugin.state.set"];
1774
- readonly L1: readonly ["messaging.send", "schedule.register", "events.publish", "messaging.appendElements"];
1775
- readonly L2: readonly ["onMessage", "message.event.subscribe", "secret.read", "thread.listMetadata", "thread.readContent", "memory.query", "memory.append", "memory.retrieve", "windows.create", "whisper.extend"];
2137
+ readonly L1: readonly ["messaging.send", "schedule.register", "messaging.appendElements", "streams.read"];
2138
+ readonly L2: readonly ["onMessage", "message.event.subscribe", "secret.read", "thread.listMetadata", "thread.readContent", "thread.write", "task.read", "task.write", "task.admitEntrusted", "memory.query", "memory.append", "memory.retrieve", "windows.create", "whisper.extend", "cloud.conversation.host"];
1776
2139
  };
1777
2140
  export type AuthorizationLayer = keyof typeof CAPABILITY_TABLE;
1778
2141
  export declare const DATA_CLASS_ALLOWED_STRATEGIES: {