@clowder-ai/plugin-contract 0.1.0-beta.3 → 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.
- package/dist/codegen/generate-contract.d.ts +10 -0
- package/dist/codegen/generate-contract.d.ts.map +1 -1
- package/dist/codegen/generate-contract.js +362 -21
- package/dist/codegen/generate-contract.js.map +1 -1
- package/dist/conformance/fixtures.d.ts +11 -0
- package/dist/conformance/fixtures.d.ts.map +1 -0
- package/dist/conformance/fixtures.js +9 -0
- package/dist/conformance/fixtures.js.map +1 -0
- package/dist/conformance/index.d.ts +4 -1
- package/dist/conformance/index.d.ts.map +1 -1
- package/dist/conformance/index.js +3 -1
- package/dist/conformance/index.js.map +1 -1
- package/dist/conformance/messaging-behavior-fixture.d.ts +12 -0
- package/dist/conformance/messaging-behavior-fixture.d.ts.map +1 -0
- package/dist/conformance/messaging-behavior-fixture.js +30 -0
- package/dist/conformance/messaging-behavior-fixture.js.map +1 -0
- package/dist/conformance/runner.d.ts.map +1 -1
- package/dist/conformance/runner.js +23 -3
- package/dist/conformance/runner.js.map +1 -1
- package/dist/conformance/stdio-harness/child-process-harness.d.ts +6 -0
- package/dist/conformance/stdio-harness/child-process-harness.d.ts.map +1 -1
- package/dist/conformance/stdio-harness/child-process-harness.js +26 -9
- package/dist/conformance/stdio-harness/child-process-harness.js.map +1 -1
- package/dist/conformance/stdio-harness/index.d.ts +1 -1
- package/dist/conformance/stdio-harness/index.d.ts.map +1 -1
- package/dist/conformance/stdio-harness/index.js +1 -1
- package/dist/conformance/stdio-harness/index.js.map +1 -1
- package/dist/conformance/stdio-harness/ndjson-frame.d.ts +6 -1
- package/dist/conformance/stdio-harness/ndjson-frame.d.ts.map +1 -1
- package/dist/conformance/stdio-harness/ndjson-frame.js +7 -1
- package/dist/conformance/stdio-harness/ndjson-frame.js.map +1 -1
- package/dist/conformance/stdio-harness/wire-shape.d.ts +1 -1
- package/dist/docx-materialization.d.ts +8 -0
- package/dist/docx-materialization.d.ts.map +1 -0
- package/dist/docx-materialization.js +19 -0
- package/dist/docx-materialization.js.map +1 -0
- package/dist/generated/contract.generated.d.ts +1793 -32
- package/dist/generated/contract.generated.d.ts.map +1 -1
- package/dist/generated/contract.generated.js +72 -3
- package/dist/generated/contract.generated.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/validation/catalog.d.ts +21 -0
- package/dist/validation/catalog.d.ts.map +1 -0
- package/dist/validation/catalog.js +140 -0
- package/dist/validation/catalog.js.map +1 -0
- package/dist/validation/cloud-conversation-host.d.ts +18 -0
- package/dist/validation/cloud-conversation-host.d.ts.map +1 -0
- package/dist/validation/cloud-conversation-host.js +83 -0
- package/dist/validation/cloud-conversation-host.js.map +1 -0
- package/dist/validation/companion-bridge.d.ts +6 -0
- package/dist/validation/companion-bridge.d.ts.map +1 -0
- package/dist/validation/companion-bridge.js +198 -0
- package/dist/validation/companion-bridge.js.map +1 -0
- package/dist/validation/docx-materialization.d.ts +6 -0
- package/dist/validation/docx-materialization.d.ts.map +1 -0
- package/dist/validation/docx-materialization.js +36 -0
- package/dist/validation/docx-materialization.js.map +1 -0
- package/dist/validation/index.d.ts +10 -0
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +10 -0
- package/dist/validation/index.js.map +1 -1
- package/dist/validation/manifest.d.ts +23 -0
- package/dist/validation/manifest.d.ts.map +1 -0
- package/dist/validation/manifest.js +273 -0
- package/dist/validation/manifest.js.map +1 -0
- package/dist/validation/members.d.ts +4 -0
- package/dist/validation/members.d.ts.map +1 -0
- package/dist/validation/members.js +11 -0
- package/dist/validation/members.js.map +1 -0
- package/dist/validation/messaging-semantic.d.ts.map +1 -1
- package/dist/validation/messaging-semantic.js +98 -0
- package/dist/validation/messaging-semantic.js.map +1 -1
- package/dist/validation/messaging-wire.d.ts +42 -0
- package/dist/validation/messaging-wire.d.ts.map +1 -0
- package/dist/validation/messaging-wire.js +184 -0
- package/dist/validation/messaging-wire.js.map +1 -0
- package/dist/validation/operation-rows.d.ts +25 -0
- package/dist/validation/operation-rows.d.ts.map +1 -0
- package/dist/validation/operation-rows.js +135 -0
- package/dist/validation/operation-rows.js.map +1 -0
- package/dist/validation/signals.d.ts +17 -0
- package/dist/validation/signals.d.ts.map +1 -0
- package/dist/validation/signals.js +32 -0
- package/dist/validation/signals.js.map +1 -0
- package/dist/wire/constants.d.ts +2 -1
- package/dist/wire/constants.d.ts.map +1 -1
- package/dist/wire/constants.js +2 -1
- package/dist/wire/constants.js.map +1 -1
- package/dist/wire/dispatch.d.ts +49 -0
- package/dist/wire/dispatch.d.ts.map +1 -0
- package/dist/wire/dispatch.js +880 -0
- package/dist/wire/dispatch.js.map +1 -0
- package/dist/wire/disposition-fixtures.d.ts +19 -2
- package/dist/wire/disposition-fixtures.d.ts.map +1 -1
- package/dist/wire/disposition-fixtures.js +1110 -77
- package/dist/wire/disposition-fixtures.js.map +1 -1
- package/dist/wire/disposition.d.ts +10 -8
- package/dist/wire/disposition.d.ts.map +1 -1
- package/dist/wire/disposition.js +20 -8
- package/dist/wire/disposition.js.map +1 -1
- package/dist/wire/envelope.d.ts +31 -0
- package/dist/wire/envelope.d.ts.map +1 -1
- package/dist/wire/envelope.js +48 -1
- package/dist/wire/envelope.js.map +1 -1
- package/dist/wire/errors.d.ts +31 -1
- package/dist/wire/errors.d.ts.map +1 -1
- package/dist/wire/errors.js +36 -0
- package/dist/wire/errors.js.map +1 -1
- package/dist/wire/grants.d.ts +4 -4
- package/dist/wire/grants.js +3 -3
- package/dist/wire/handshake-byte-bounds.d.ts +69 -0
- package/dist/wire/handshake-byte-bounds.d.ts.map +1 -0
- package/dist/wire/handshake-byte-bounds.js +176 -0
- package/dist/wire/handshake-byte-bounds.js.map +1 -0
- package/dist/wire/handshake.d.ts +59 -7
- package/dist/wire/handshake.d.ts.map +1 -1
- package/dist/wire/handshake.js +132 -10
- package/dist/wire/handshake.js.map +1 -1
- package/dist/wire/index.d.ts +18 -7
- package/dist/wire/index.d.ts.map +1 -1
- package/dist/wire/index.js +35 -6
- package/dist/wire/index.js.map +1 -1
- package/dist/wire/lifecycle-byte-bounds.d.ts +40 -0
- package/dist/wire/lifecycle-byte-bounds.d.ts.map +1 -0
- package/dist/wire/lifecycle-byte-bounds.js +149 -0
- package/dist/wire/lifecycle-byte-bounds.js.map +1 -0
- package/dist/wire/messaging-byte-bounds.d.ts +62 -0
- package/dist/wire/messaging-byte-bounds.d.ts.map +1 -0
- package/dist/wire/messaging-byte-bounds.js +581 -0
- package/dist/wire/messaging-byte-bounds.js.map +1 -0
- package/dist/wire/registry.d.ts +192 -35
- package/dist/wire/registry.d.ts.map +1 -1
- package/dist/wire/registry.js +57 -79
- package/dist/wire/registry.js.map +1 -1
- package/dist/wire/row-shapes.d.ts +98 -81
- package/dist/wire/row-shapes.d.ts.map +1 -1
- package/dist/wire/row-shapes.js +31 -4
- package/dist/wire/row-shapes.js.map +1 -1
- package/fixtures/behavior/messaging/adversarial-invariants.json +92 -2
- package/fixtures/manifest/invalid/duplicate-signal-type.json +35 -0
- package/fixtures/manifest/invalid/icon-package-escape.json +22 -0
- package/fixtures/manifest/valid/localized-product-metadata.json +27 -0
- package/fixtures/messaging/valid/subscription-delivery.json +1 -1
- package/fixtures/signals/invalid/dynamic-schema-url.json +10 -0
- package/fixtures/signals/invalid/forbidden-raw-privacy.json +10 -0
- package/fixtures/signals/valid/remote-service-declaration.json +10 -0
- package/package.json +18 -5
- package/src/schemas/behavior-fixture.schema.json +903 -116
- package/src/schemas/catalog.schema.json +91 -0
- package/src/schemas/companion-bridge.schema.json +2256 -0
- package/src/schemas/docx-materialization.schema.json +302 -0
- package/src/schemas/manifest.schema.json +2223 -89
- package/src/schemas/messaging.schema.json +692 -40
- package/src/schemas/physical-limb.schema.json +319 -0
- package/src/schemas/plugin-metadata.schema.json +62 -0
- package/src/schemas/signal.schema.json +119 -0
|
@@ -1,11 +1,35 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Generated from manifest.schema.json, messaging.schema.json, and behavior-fixture.schema.json.
|
|
2
|
+
* Generated from plugin-metadata.schema.json, manifest.schema.json, catalog.schema.json, signal.schema.json, messaging.schema.json, physical-limb.schema.json, docx-materialization.schema.json, and behavior-fixture.schema.json.
|
|
3
3
|
* Do not edit by hand. Run `pnpm generate` after changing a schema.
|
|
4
4
|
*/
|
|
5
|
+
export type LocalizedDescriptionObject = {
|
|
6
|
+
readonly default: string;
|
|
7
|
+
readonly translations: Readonly<Record<string, string>>;
|
|
8
|
+
};
|
|
9
|
+
export type LocalizedDescription = string | LocalizedDescriptionObject;
|
|
10
|
+
export type PackageAssetPath = string;
|
|
11
|
+
export type PackageIcon = {
|
|
12
|
+
readonly type: 'svg';
|
|
13
|
+
readonly src: PackageAssetPath & `${string}.svg`;
|
|
14
|
+
} | {
|
|
15
|
+
readonly type: 'png';
|
|
16
|
+
readonly src: PackageAssetPath & `${string}.png`;
|
|
17
|
+
};
|
|
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
|
+
};
|
|
5
29
|
export type SemVer = string;
|
|
6
30
|
export type DataClass = 'cache' | 'ephemeral' | 'user-authored' | 'derived-user-visible' | 'relationship' | 'interaction-history';
|
|
7
31
|
export type DataStrategy = 'lifecycle' | 'retained' | 'ask-on-uninstall';
|
|
8
|
-
export type Capability = 'plugin.config.read' | 'plugin.state.get' | 'plugin.state.set' | 'messaging.send' | 'schedule.register' | '
|
|
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';
|
|
9
33
|
export type DataDeclaration = {
|
|
10
34
|
readonly name: string;
|
|
11
35
|
readonly dataClass: 'cache';
|
|
@@ -41,21 +65,440 @@ export type ResourceReference = {
|
|
|
41
65
|
readonly type: string;
|
|
42
66
|
readonly id: string;
|
|
43
67
|
};
|
|
68
|
+
export type ContributionReference = {
|
|
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';
|
|
70
|
+
readonly id: string;
|
|
71
|
+
};
|
|
72
|
+
export type PackageRelativePath = string;
|
|
73
|
+
export type ConfigurationOption = {
|
|
74
|
+
readonly value: string;
|
|
75
|
+
readonly label: string;
|
|
76
|
+
readonly hint?: string;
|
|
77
|
+
readonly docsUrl?: string;
|
|
78
|
+
};
|
|
79
|
+
export type RequiredWhen = {
|
|
80
|
+
readonly key: string;
|
|
81
|
+
readonly value: string | number | boolean | readonly (string | number | boolean)[];
|
|
82
|
+
};
|
|
83
|
+
export type ConfigurationField = {
|
|
84
|
+
readonly key: string;
|
|
85
|
+
readonly label: string;
|
|
86
|
+
readonly description?: string;
|
|
87
|
+
readonly kind: 'string';
|
|
88
|
+
readonly required: boolean;
|
|
89
|
+
readonly hidden?: boolean;
|
|
90
|
+
readonly requiredWhen?: RequiredWhen;
|
|
91
|
+
readonly default?: string;
|
|
92
|
+
readonly options?: never;
|
|
93
|
+
readonly target?: never;
|
|
94
|
+
readonly actions?: never;
|
|
95
|
+
} | {
|
|
96
|
+
readonly key: string;
|
|
97
|
+
readonly label: string;
|
|
98
|
+
readonly description?: string;
|
|
99
|
+
readonly kind: 'secret';
|
|
100
|
+
readonly required: boolean;
|
|
101
|
+
readonly hidden?: boolean;
|
|
102
|
+
readonly requiredWhen?: RequiredWhen;
|
|
103
|
+
readonly default?: never;
|
|
104
|
+
readonly options?: never;
|
|
105
|
+
readonly target?: never;
|
|
106
|
+
readonly actions?: never;
|
|
107
|
+
} | {
|
|
108
|
+
readonly key: string;
|
|
109
|
+
readonly label: string;
|
|
110
|
+
readonly description?: string;
|
|
111
|
+
readonly kind: 'select';
|
|
112
|
+
readonly required: boolean;
|
|
113
|
+
readonly hidden?: boolean;
|
|
114
|
+
readonly requiredWhen?: RequiredWhen;
|
|
115
|
+
readonly default?: string;
|
|
116
|
+
readonly options: readonly ConfigurationOption[];
|
|
117
|
+
readonly target?: never;
|
|
118
|
+
readonly actions?: never;
|
|
119
|
+
} | {
|
|
120
|
+
readonly key: string;
|
|
121
|
+
readonly label: string;
|
|
122
|
+
readonly description?: string;
|
|
123
|
+
readonly kind: 'boolean';
|
|
124
|
+
readonly required: boolean;
|
|
125
|
+
readonly hidden?: boolean;
|
|
126
|
+
readonly requiredWhen?: RequiredWhen;
|
|
127
|
+
readonly default?: boolean;
|
|
128
|
+
readonly options?: never;
|
|
129
|
+
readonly target?: never;
|
|
130
|
+
readonly actions?: never;
|
|
131
|
+
} | {
|
|
132
|
+
readonly key: string;
|
|
133
|
+
readonly label: string;
|
|
134
|
+
readonly description?: string;
|
|
135
|
+
readonly kind: 'number';
|
|
136
|
+
readonly required: boolean;
|
|
137
|
+
readonly hidden?: boolean;
|
|
138
|
+
readonly requiredWhen?: RequiredWhen;
|
|
139
|
+
readonly default?: number;
|
|
140
|
+
readonly options?: never;
|
|
141
|
+
readonly target?: never;
|
|
142
|
+
readonly actions?: never;
|
|
143
|
+
} | {
|
|
144
|
+
readonly key: string;
|
|
145
|
+
readonly label: string;
|
|
146
|
+
readonly description?: string;
|
|
147
|
+
readonly kind: 'url';
|
|
148
|
+
readonly required: boolean;
|
|
149
|
+
readonly hidden?: boolean;
|
|
150
|
+
readonly requiredWhen?: RequiredWhen;
|
|
151
|
+
readonly default?: string;
|
|
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[];
|
|
167
|
+
};
|
|
168
|
+
export type EnvironmentBinding = {
|
|
169
|
+
readonly source: 'config';
|
|
170
|
+
readonly key: string;
|
|
171
|
+
} | {
|
|
172
|
+
readonly source: 'secret';
|
|
173
|
+
readonly key: string;
|
|
174
|
+
};
|
|
175
|
+
export type ContributionRuntime = {
|
|
176
|
+
readonly transport: 'stdio' | 'ipc';
|
|
177
|
+
readonly entrypoint: PackageRelativePath;
|
|
178
|
+
readonly args?: readonly string[];
|
|
179
|
+
};
|
|
180
|
+
export type CallbackAction = {
|
|
181
|
+
readonly method: string;
|
|
182
|
+
readonly params?: Readonly<Record<string, unknown>>;
|
|
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
|
+
};
|
|
234
|
+
export type IdentityContribution = {
|
|
235
|
+
readonly type: 'identity';
|
|
236
|
+
readonly id: string;
|
|
237
|
+
readonly displayName: string;
|
|
238
|
+
readonly icon?: string;
|
|
239
|
+
readonly color?: string;
|
|
240
|
+
};
|
|
241
|
+
export type ScheduleContribution = {
|
|
242
|
+
readonly type: 'schedule';
|
|
243
|
+
readonly id: string;
|
|
244
|
+
readonly schedule: {
|
|
245
|
+
readonly kind: 'interval';
|
|
246
|
+
readonly everyMs: number;
|
|
247
|
+
} | {
|
|
248
|
+
readonly kind: 'cron';
|
|
249
|
+
readonly expression: string;
|
|
250
|
+
};
|
|
251
|
+
readonly action: CallbackAction;
|
|
252
|
+
readonly policy: {
|
|
253
|
+
readonly overlap: 'skip';
|
|
254
|
+
readonly timeoutMs: number;
|
|
255
|
+
};
|
|
256
|
+
};
|
|
257
|
+
export type DirectToolContribution = {
|
|
258
|
+
readonly type: 'tool';
|
|
259
|
+
readonly id: string;
|
|
260
|
+
readonly name: string;
|
|
261
|
+
readonly description?: string;
|
|
262
|
+
readonly inputSchema: Readonly<Record<string, unknown>>;
|
|
263
|
+
readonly action: CallbackAction;
|
|
264
|
+
};
|
|
265
|
+
export type McpActionMethod = {
|
|
266
|
+
readonly method: string;
|
|
267
|
+
};
|
|
268
|
+
export type McpContribution = {
|
|
269
|
+
readonly type: 'mcp';
|
|
270
|
+
readonly id: string;
|
|
271
|
+
readonly runtime: ContributionRuntime;
|
|
272
|
+
readonly actions?: readonly McpActionMethod[];
|
|
273
|
+
readonly environment?: Readonly<Record<string, EnvironmentBinding>>;
|
|
274
|
+
};
|
|
275
|
+
export type SkillContribution = {
|
|
276
|
+
readonly type: 'skill';
|
|
277
|
+
readonly id: string;
|
|
278
|
+
readonly path: PackageRelativePath;
|
|
279
|
+
};
|
|
280
|
+
export type LimbContribution = {
|
|
281
|
+
readonly type: 'limb';
|
|
282
|
+
readonly id: string;
|
|
283
|
+
readonly manifestPath: PackageRelativePath;
|
|
284
|
+
};
|
|
285
|
+
export type WebhookContribution = {
|
|
286
|
+
readonly type: 'webhook';
|
|
287
|
+
readonly id: string;
|
|
288
|
+
readonly path: string;
|
|
289
|
+
readonly methods: readonly ('GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE')[];
|
|
290
|
+
readonly action: CallbackAction;
|
|
291
|
+
readonly verificationSecretRef?: string;
|
|
292
|
+
};
|
|
293
|
+
export type MessageSubscriptionContribution = {
|
|
294
|
+
readonly type: 'message-subscription';
|
|
295
|
+
readonly id: string;
|
|
296
|
+
readonly binding: string;
|
|
297
|
+
readonly filter?: Readonly<Record<string, unknown>>;
|
|
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;
|
|
305
|
+
};
|
|
306
|
+
export type ServiceContribution = {
|
|
307
|
+
readonly type: 'service';
|
|
308
|
+
readonly id: string;
|
|
309
|
+
readonly runtime: ContributionRuntime;
|
|
310
|
+
readonly healthMethod: string;
|
|
311
|
+
readonly environment?: Readonly<Record<string, EnvironmentBinding>>;
|
|
312
|
+
};
|
|
313
|
+
export type ConnectorContribution = {
|
|
314
|
+
readonly type: 'connector';
|
|
315
|
+
readonly id: string;
|
|
316
|
+
readonly identityRef: string;
|
|
317
|
+
readonly inboundMethod: string;
|
|
318
|
+
readonly outboundMethod: string;
|
|
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;
|
|
409
|
+
export type UiWhenClause = {
|
|
410
|
+
readonly featureEnabled?: boolean;
|
|
411
|
+
readonly requiresCapabilities?: readonly Capability[];
|
|
412
|
+
};
|
|
413
|
+
export type UiAnchor = {
|
|
414
|
+
readonly position: 'before' | 'after';
|
|
415
|
+
readonly target: string;
|
|
416
|
+
};
|
|
417
|
+
export type UiCommandContribution = {
|
|
418
|
+
readonly type: 'ui';
|
|
419
|
+
readonly id: string;
|
|
420
|
+
readonly kind: 'command';
|
|
421
|
+
readonly label: string;
|
|
422
|
+
readonly action: CallbackAction;
|
|
423
|
+
readonly when?: UiWhenClause;
|
|
424
|
+
};
|
|
425
|
+
export type UiSlotItemContribution = {
|
|
426
|
+
readonly type: 'ui';
|
|
427
|
+
readonly id: string;
|
|
428
|
+
readonly kind: 'slot-item';
|
|
429
|
+
readonly label: string;
|
|
430
|
+
readonly command: string;
|
|
431
|
+
readonly group: string;
|
|
432
|
+
readonly anchor?: UiAnchor;
|
|
433
|
+
readonly order?: number;
|
|
434
|
+
readonly when?: UiWhenClause;
|
|
435
|
+
};
|
|
436
|
+
export type UiMessageElementContribution = {
|
|
437
|
+
readonly type: 'ui';
|
|
438
|
+
readonly id: string;
|
|
439
|
+
readonly kind: 'message-element';
|
|
440
|
+
readonly label: string;
|
|
441
|
+
readonly elementKind: string;
|
|
442
|
+
readonly renderer: string;
|
|
443
|
+
readonly when?: UiWhenClause;
|
|
444
|
+
};
|
|
445
|
+
export type UiContribution = UiCommandContribution | UiSlotItemContribution | UiMessageElementContribution;
|
|
446
|
+
export type SemanticMaterializerDeclaration = {
|
|
447
|
+
readonly executionClass: 'dedicated-browser-worker';
|
|
448
|
+
readonly entrypoint: PackageRelativePath & `${string}.js`;
|
|
449
|
+
readonly integrity: string;
|
|
450
|
+
readonly protocolVersion: '1.0.0';
|
|
451
|
+
};
|
|
452
|
+
export type DesktopWindowContribution = {
|
|
453
|
+
readonly type: 'desktop-window';
|
|
454
|
+
readonly id: string;
|
|
455
|
+
readonly role: 'companion';
|
|
456
|
+
readonly surface: {
|
|
457
|
+
readonly entrypoint: PackageRelativePath & `${string}.html`;
|
|
458
|
+
readonly integrity: string;
|
|
459
|
+
};
|
|
460
|
+
readonly bridgeVersion: '1.0.0' | '1.1.0' | '1.2.0' | '1.3.0' | '1.4.0' | '1.5.0' | '1.6.0';
|
|
461
|
+
readonly presentation: {
|
|
462
|
+
readonly width: number;
|
|
463
|
+
readonly height: number;
|
|
464
|
+
readonly transparent: true;
|
|
465
|
+
readonly frame: false;
|
|
466
|
+
readonly alwaysOnTop: boolean;
|
|
467
|
+
readonly skipTaskbar: boolean;
|
|
468
|
+
};
|
|
469
|
+
};
|
|
470
|
+
export type ContentEditorProviderContribution = {
|
|
471
|
+
readonly type: 'content-editor-provider';
|
|
472
|
+
readonly id: string;
|
|
473
|
+
readonly mediaTypes: readonly ['application/vnd.openxmlformats-officedocument.wordprocessingml.document'];
|
|
474
|
+
readonly surface: {
|
|
475
|
+
readonly entrypoint: PackageRelativePath;
|
|
476
|
+
readonly integrity: string;
|
|
477
|
+
readonly sandbox: 'dedicated-origin-iframe';
|
|
478
|
+
readonly navigationPolicy: 'navigation-api-deny';
|
|
479
|
+
};
|
|
480
|
+
readonly bridgeVersion: '1.0.0';
|
|
481
|
+
readonly semanticMaterializer?: SemanticMaterializerDeclaration;
|
|
482
|
+
readonly operations: readonly ['load' | 'settle' | 'comment' | 'tracked-change', 'load' | 'settle' | 'comment' | 'tracked-change', 'load' | 'settle' | 'comment' | 'tracked-change', 'load' | 'settle' | 'comment' | 'tracked-change'];
|
|
483
|
+
};
|
|
484
|
+
export type StaticContribution = IdentityContribution | ScheduleContribution | DirectToolContribution | McpContribution | SkillContribution | LimbContribution | WebhookContribution | MessageSubscriptionContribution | MediaSourceContribution | ServiceContribution | ConnectorContribution | CloudConversationHostContribution | UiContribution | ContentEditorProviderContribution | DesktopWindowContribution;
|
|
44
485
|
export type PluginFeature = {
|
|
45
486
|
readonly id: string;
|
|
46
487
|
readonly name: string;
|
|
47
488
|
readonly resources: readonly ResourceReference[];
|
|
489
|
+
readonly contributions?: readonly ContributionReference[];
|
|
48
490
|
readonly capabilities: readonly Capability[];
|
|
49
491
|
};
|
|
50
492
|
export type RuntimeTransport = 'stdio' | 'ipc' | 'builtin';
|
|
51
493
|
export type ExternalRuntimeTransport = 'stdio' | 'ipc';
|
|
52
494
|
export type ExternalRuntimeDeclaration = {
|
|
53
495
|
readonly transport: ExternalRuntimeTransport;
|
|
54
|
-
readonly entrypoint:
|
|
496
|
+
readonly entrypoint: PackageRelativePath;
|
|
55
497
|
};
|
|
56
498
|
export type BuiltinRuntimeDeclaration = {
|
|
57
499
|
readonly transport: 'builtin';
|
|
58
500
|
readonly entrypoint?: string;
|
|
501
|
+
readonly dataDirectory?: string;
|
|
59
502
|
};
|
|
60
503
|
export type RuntimeDeclaration = ExternalRuntimeDeclaration | BuiltinRuntimeDeclaration;
|
|
61
504
|
export type PluginManifest = {
|
|
@@ -63,10 +506,71 @@ export type PluginManifest = {
|
|
|
63
506
|
readonly version: SemVer;
|
|
64
507
|
readonly contractVersion: SemVer;
|
|
65
508
|
readonly name: string;
|
|
66
|
-
readonly description?:
|
|
509
|
+
readonly description?: LocalizedDescription;
|
|
510
|
+
readonly icon?: PluginIcon;
|
|
511
|
+
readonly configuration?: readonly ConfigurationField[];
|
|
512
|
+
readonly contributions?: readonly StaticContribution[];
|
|
67
513
|
readonly features: readonly PluginFeature[];
|
|
68
514
|
readonly data?: readonly DataDeclaration[];
|
|
69
|
-
readonly runtime
|
|
515
|
+
readonly runtime?: RuntimeDeclaration;
|
|
516
|
+
readonly test?: PluginTestDeclaration;
|
|
517
|
+
readonly permissions?: ConnectorPermissions;
|
|
518
|
+
readonly steps?: readonly SetupStep[];
|
|
519
|
+
readonly signals?: SignalContribution;
|
|
520
|
+
};
|
|
521
|
+
export type CatalogSemVer = string;
|
|
522
|
+
export type CatalogPublisher = {
|
|
523
|
+
readonly id: string;
|
|
524
|
+
readonly name: string;
|
|
525
|
+
};
|
|
526
|
+
export type ArtifactProvenance = {
|
|
527
|
+
readonly repository: string;
|
|
528
|
+
readonly sourceDirectory: string;
|
|
529
|
+
};
|
|
530
|
+
export type NpmArtifact = {
|
|
531
|
+
readonly kind: 'npm';
|
|
532
|
+
readonly packageName: string;
|
|
533
|
+
readonly version: CatalogSemVer;
|
|
534
|
+
readonly tarballUrl: string;
|
|
535
|
+
readonly integrity: string;
|
|
536
|
+
readonly shasum: string;
|
|
537
|
+
readonly provenance: ArtifactProvenance;
|
|
538
|
+
};
|
|
539
|
+
export type CatalogPluginVersion = {
|
|
540
|
+
readonly version: CatalogSemVer;
|
|
541
|
+
readonly contractVersion: CatalogSemVer;
|
|
542
|
+
readonly manifestPath: 'plugin.yaml';
|
|
543
|
+
readonly artifact: NpmArtifact;
|
|
544
|
+
};
|
|
545
|
+
export type CatalogPluginEntry = {
|
|
546
|
+
readonly pluginId: string;
|
|
547
|
+
readonly name: string;
|
|
548
|
+
readonly description: LocalizedDescription;
|
|
549
|
+
readonly icon: PluginIcon;
|
|
550
|
+
readonly publisher: CatalogPublisher;
|
|
551
|
+
readonly keywords?: readonly string[];
|
|
552
|
+
readonly versions: readonly CatalogPluginVersion[];
|
|
553
|
+
};
|
|
554
|
+
export type PluginCatalog = {
|
|
555
|
+
readonly schemaVersion: '1';
|
|
556
|
+
readonly plugins: readonly CatalogPluginEntry[];
|
|
557
|
+
};
|
|
558
|
+
export type SignalType = string;
|
|
559
|
+
export type SignalSchemaRef = string;
|
|
560
|
+
export type SignalEpistemicStatus = 'observation' | 'inference';
|
|
561
|
+
export type SignalPrivacyClass = 'behavioral' | 'content-adjacent' | 'content' | 'av-raw' | 'input-raw';
|
|
562
|
+
export type AdmissibleSignalPrivacyClass = 'behavioral' | 'content-adjacent' | 'content';
|
|
563
|
+
export type SignalSourceClass = 'os-metadata' | 'accessibility-api' | 'remote-service' | 'av-capture' | 'input-hardware';
|
|
564
|
+
export type AdmissibleSignalSourceClass = 'os-metadata' | 'accessibility-api' | 'remote-service';
|
|
565
|
+
export type SignalDeclaration = {
|
|
566
|
+
readonly type: SignalType;
|
|
567
|
+
readonly schemaRef: SignalSchemaRef;
|
|
568
|
+
readonly epistemicStatus: SignalEpistemicStatus;
|
|
569
|
+
readonly privacyClass: AdmissibleSignalPrivacyClass;
|
|
570
|
+
readonly sourceClass: AdmissibleSignalSourceClass;
|
|
571
|
+
};
|
|
572
|
+
export type SignalContribution = {
|
|
573
|
+
readonly provides: readonly SignalDeclaration[];
|
|
70
574
|
};
|
|
71
575
|
export type ActorKind = 'user' | 'cat' | 'plugin' | 'device' | 'system';
|
|
72
576
|
export type ActorRef = {
|
|
@@ -102,12 +606,34 @@ export type DraftProvenance = {
|
|
|
102
606
|
readonly origin?: DraftOrigin;
|
|
103
607
|
readonly epistemicStatus: EpistemicStatus;
|
|
104
608
|
};
|
|
105
|
-
export type
|
|
609
|
+
export type MediaType = 'image' | 'file' | 'audio' | 'video';
|
|
610
|
+
export type ElementKind = 'text' | 'media_ref' | 'rich_block' | 'media_unavailable' | 'media_warning';
|
|
106
611
|
export type TextElementPayload = {
|
|
107
612
|
readonly text: string;
|
|
108
613
|
};
|
|
109
|
-
export type MediaRefElementPayload =
|
|
110
|
-
|
|
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
|
+
};
|
|
111
637
|
export type TextMessageElement = {
|
|
112
638
|
readonly elementId: string;
|
|
113
639
|
readonly kind: 'text';
|
|
@@ -122,6 +648,12 @@ export type MediaRefMessageElement = {
|
|
|
122
648
|
readonly derivedFromElementId?: string;
|
|
123
649
|
readonly epistemicStatus?: EpistemicStatus;
|
|
124
650
|
};
|
|
651
|
+
export type PmrMediaRefElementMatch = {
|
|
652
|
+
readonly kind: 'media_ref';
|
|
653
|
+
readonly payload: {
|
|
654
|
+
readonly reference: string;
|
|
655
|
+
};
|
|
656
|
+
};
|
|
125
657
|
export type RichBlockMessageElement = {
|
|
126
658
|
readonly elementId: string;
|
|
127
659
|
readonly kind: 'rich_block';
|
|
@@ -129,7 +661,21 @@ export type RichBlockMessageElement = {
|
|
|
129
661
|
readonly derivedFromElementId?: string;
|
|
130
662
|
readonly epistemicStatus?: EpistemicStatus;
|
|
131
663
|
};
|
|
132
|
-
export type
|
|
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;
|
|
133
679
|
export type MessagePayload = {
|
|
134
680
|
readonly provenance: MessageProvenance;
|
|
135
681
|
readonly elements: readonly MessageElement[];
|
|
@@ -163,22 +709,25 @@ export type SystemAudience = {
|
|
|
163
709
|
};
|
|
164
710
|
export type DraftAudience = PublicAudience | WhisperAudience;
|
|
165
711
|
export type CanonicalAudience = PublicAudience | WhisperAudience | SystemAudience;
|
|
712
|
+
export type MessageId = string;
|
|
166
713
|
export type MessageDraft = {
|
|
167
714
|
readonly address: MessageAddress;
|
|
168
715
|
readonly draftAudience?: DraftAudience;
|
|
169
716
|
readonly idempotencyKey: string;
|
|
170
717
|
readonly sourceEventId?: string;
|
|
171
|
-
readonly replyTo?:
|
|
718
|
+
readonly replyTo?: MessageId;
|
|
172
719
|
readonly payload: DraftPayload;
|
|
173
720
|
};
|
|
721
|
+
export type OccurredAt = string | string;
|
|
722
|
+
export type ThreadId = string;
|
|
174
723
|
export type MessageEnvelope = {
|
|
175
|
-
readonly messageId:
|
|
724
|
+
readonly messageId: MessageId;
|
|
176
725
|
readonly revision: number;
|
|
177
|
-
readonly threadId:
|
|
178
|
-
readonly replyTo?:
|
|
726
|
+
readonly threadId: ThreadId;
|
|
727
|
+
readonly replyTo?: MessageId;
|
|
179
728
|
readonly actor: ActorRef;
|
|
180
729
|
readonly audience: CanonicalAudience;
|
|
181
|
-
readonly occurredAt:
|
|
730
|
+
readonly occurredAt: OccurredAt;
|
|
182
731
|
readonly payload: MessagePayload;
|
|
183
732
|
};
|
|
184
733
|
export type MessagePublishEvent = {
|
|
@@ -191,8 +740,8 @@ export type MessageElementsAppendEvent = {
|
|
|
191
740
|
readonly eventId: string;
|
|
192
741
|
readonly sequence: number;
|
|
193
742
|
readonly type: 'message.elements.append';
|
|
194
|
-
readonly messageId:
|
|
195
|
-
readonly threadId:
|
|
743
|
+
readonly messageId: MessageId;
|
|
744
|
+
readonly threadId: ThreadId;
|
|
196
745
|
readonly operationId: string;
|
|
197
746
|
readonly baseRevision?: number;
|
|
198
747
|
readonly revision: number;
|
|
@@ -200,18 +749,20 @@ export type MessageElementsAppendEvent = {
|
|
|
200
749
|
};
|
|
201
750
|
export type MessageOutputEvent = MessagePublishEvent | MessageElementsAppendEvent;
|
|
202
751
|
export type SendReceipt = {
|
|
203
|
-
readonly messageId:
|
|
204
|
-
readonly threadId:
|
|
752
|
+
readonly messageId: MessageId;
|
|
753
|
+
readonly threadId: ThreadId;
|
|
205
754
|
readonly revision: number;
|
|
755
|
+
readonly messageHandle: MessageHandle;
|
|
206
756
|
readonly publishSequence?: number;
|
|
757
|
+
readonly pendingPublication?: true;
|
|
207
758
|
};
|
|
208
759
|
export type AppendReceipt = {
|
|
209
|
-
readonly messageId:
|
|
760
|
+
readonly messageId: MessageId;
|
|
210
761
|
readonly revision: number;
|
|
211
762
|
readonly appendSequence?: number;
|
|
212
763
|
readonly appliedElementIds: readonly string[];
|
|
213
764
|
};
|
|
214
|
-
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';
|
|
215
766
|
export type MessageHandle = {
|
|
216
767
|
readonly kind: 'message';
|
|
217
768
|
readonly token: string;
|
|
@@ -229,12 +780,12 @@ export type SubscriptionNormalResponse = {
|
|
|
229
780
|
readonly stale: false;
|
|
230
781
|
};
|
|
231
782
|
export type SubscriptionEmptyResponse = {
|
|
232
|
-
readonly events: readonly
|
|
783
|
+
readonly events: readonly [];
|
|
233
784
|
readonly ackToken: null;
|
|
234
785
|
readonly stale: false;
|
|
235
786
|
};
|
|
236
787
|
export type SubscriptionStaleResponse = {
|
|
237
|
-
readonly events: readonly
|
|
788
|
+
readonly events: readonly [];
|
|
238
789
|
readonly ackToken: null;
|
|
239
790
|
readonly stale: true;
|
|
240
791
|
};
|
|
@@ -243,6 +794,1045 @@ export type SnapshotResponse = {
|
|
|
243
794
|
readonly envelopes: readonly MessageEnvelope[];
|
|
244
795
|
readonly resumeSequence: number;
|
|
245
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
|
+
};
|
|
878
|
+
export type M0CSubscribeInput = {
|
|
879
|
+
readonly handle: string;
|
|
880
|
+
};
|
|
881
|
+
export type M0CSubscribeResult = {
|
|
882
|
+
readonly subscriptionId: string;
|
|
883
|
+
};
|
|
884
|
+
export type M0CReadInput = {
|
|
885
|
+
readonly subscriptionId: string;
|
|
886
|
+
readonly limit: number;
|
|
887
|
+
};
|
|
888
|
+
export type M0CReadNormalResult = {
|
|
889
|
+
readonly events: readonly MessageOutputEvent[];
|
|
890
|
+
readonly ackToken: string;
|
|
891
|
+
readonly stale: false;
|
|
892
|
+
};
|
|
893
|
+
export type M0CReadEmptyResult = {
|
|
894
|
+
readonly events: readonly [];
|
|
895
|
+
readonly ackToken: null;
|
|
896
|
+
readonly stale: false;
|
|
897
|
+
};
|
|
898
|
+
export type M0CReadStaleResult = {
|
|
899
|
+
readonly events: readonly [];
|
|
900
|
+
readonly ackToken: null;
|
|
901
|
+
readonly stale: true;
|
|
902
|
+
};
|
|
903
|
+
export type M0CReadResult = M0CReadNormalResult | M0CReadEmptyResult | M0CReadStaleResult;
|
|
904
|
+
export type M0CAckInput = {
|
|
905
|
+
readonly subscriptionId: string;
|
|
906
|
+
readonly ackToken: string;
|
|
907
|
+
};
|
|
908
|
+
export type M0CAckResult = null;
|
|
909
|
+
export type M0CSnapshotInput = {
|
|
910
|
+
readonly subscriptionId: string;
|
|
911
|
+
readonly maxItems: number;
|
|
912
|
+
readonly pageToken?: string;
|
|
913
|
+
};
|
|
914
|
+
export type M0CSnapshotIntermediateResult = {
|
|
915
|
+
readonly items: readonly MessageEnvelope[];
|
|
916
|
+
readonly nextPageToken: string;
|
|
917
|
+
readonly snapshotAckToken: null;
|
|
918
|
+
};
|
|
919
|
+
export type M0CSnapshotFinalResult = {
|
|
920
|
+
readonly items: readonly MessageEnvelope[];
|
|
921
|
+
readonly nextPageToken: null;
|
|
922
|
+
readonly snapshotAckToken: string;
|
|
923
|
+
};
|
|
924
|
+
export type M0CSnapshotResult = M0CSnapshotIntermediateResult | M0CSnapshotFinalResult;
|
|
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"];
|
|
986
|
+
export type PhysicalLimbIdentifier = string;
|
|
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';
|
|
988
|
+
export type PhysicalLimbSafePose = {
|
|
989
|
+
readonly yawDeg: number;
|
|
990
|
+
readonly pitchDeg: number;
|
|
991
|
+
readonly timeoutMs: number;
|
|
992
|
+
};
|
|
993
|
+
export type PhysicalLimbContribution = {
|
|
994
|
+
readonly contributionId: PhysicalLimbIdentifier;
|
|
995
|
+
readonly nodeType: PhysicalLimbIdentifier;
|
|
996
|
+
readonly displayName: string;
|
|
997
|
+
readonly grants: readonly PhysicalLimbGrant[];
|
|
998
|
+
readonly safePose: PhysicalLimbSafePose;
|
|
999
|
+
};
|
|
1000
|
+
export type PhysicalLimbExpressionSource = {
|
|
1001
|
+
readonly kind: 'cat_state' | 'play' | 'degraded';
|
|
1002
|
+
readonly ref: PhysicalLimbIdentifier;
|
|
1003
|
+
};
|
|
1004
|
+
export type PhysicalLimbTouchPayload = {
|
|
1005
|
+
readonly gesture: 'tap' | 'stroke';
|
|
1006
|
+
readonly durationMs: number;
|
|
1007
|
+
readonly confidence: number;
|
|
1008
|
+
};
|
|
1009
|
+
export type PhysicalLimbTranscriptPayload = {
|
|
1010
|
+
readonly interactionId: PhysicalLimbIdentifier;
|
|
1011
|
+
readonly text: string;
|
|
1012
|
+
readonly language?: string;
|
|
1013
|
+
readonly captureDurationMs: number;
|
|
1014
|
+
};
|
|
1015
|
+
export type PhysicalLimbTouchObservation = {
|
|
1016
|
+
readonly v: 1;
|
|
1017
|
+
readonly observationId: PhysicalLimbIdentifier;
|
|
1018
|
+
readonly nodeId: PhysicalLimbIdentifier;
|
|
1019
|
+
readonly occurredAt: string;
|
|
1020
|
+
readonly sessionId: PhysicalLimbIdentifier;
|
|
1021
|
+
readonly kind: 'touch';
|
|
1022
|
+
readonly payload: PhysicalLimbTouchPayload;
|
|
1023
|
+
};
|
|
1024
|
+
export type PhysicalLimbTranscriptObservation = {
|
|
1025
|
+
readonly v: 1;
|
|
1026
|
+
readonly observationId: PhysicalLimbIdentifier;
|
|
1027
|
+
readonly nodeId: PhysicalLimbIdentifier;
|
|
1028
|
+
readonly occurredAt: string;
|
|
1029
|
+
readonly sessionId: PhysicalLimbIdentifier;
|
|
1030
|
+
readonly kind: 'transcript';
|
|
1031
|
+
readonly payload: PhysicalLimbTranscriptPayload;
|
|
1032
|
+
};
|
|
1033
|
+
export type PhysicalLimbObservation = PhysicalLimbTouchObservation | PhysicalLimbTranscriptObservation;
|
|
1034
|
+
export type PhysicalLimbMotionPayload = {
|
|
1035
|
+
readonly yawDeg: number;
|
|
1036
|
+
readonly pitchDeg: number;
|
|
1037
|
+
readonly speedDps: number;
|
|
1038
|
+
readonly accelerationDps2: number;
|
|
1039
|
+
};
|
|
1040
|
+
export type PhysicalLimbDisplayPayload = {
|
|
1041
|
+
readonly expression: string;
|
|
1042
|
+
readonly expressionSource: PhysicalLimbExpressionSource;
|
|
1043
|
+
};
|
|
1044
|
+
export type PhysicalLimbRgb = readonly [number, number, number];
|
|
1045
|
+
export type PhysicalLimbLightPayload = {
|
|
1046
|
+
readonly colors: readonly PhysicalLimbRgb[];
|
|
1047
|
+
};
|
|
1048
|
+
export type PhysicalLimbSpeakerPayload = {
|
|
1049
|
+
readonly text: string;
|
|
1050
|
+
readonly voiceProfileRef: PhysicalLimbIdentifier;
|
|
1051
|
+
readonly volumePercent: number;
|
|
1052
|
+
};
|
|
1053
|
+
export type PhysicalLimbMotionAction = {
|
|
1054
|
+
readonly v: 1;
|
|
1055
|
+
readonly actionId: PhysicalLimbIdentifier;
|
|
1056
|
+
readonly nodeId: PhysicalLimbIdentifier;
|
|
1057
|
+
readonly deadlineUnixMs: number;
|
|
1058
|
+
readonly timeoutMs: number;
|
|
1059
|
+
readonly cancelToken: PhysicalLimbIdentifier;
|
|
1060
|
+
readonly kind: 'motion';
|
|
1061
|
+
readonly payload: PhysicalLimbMotionPayload;
|
|
1062
|
+
};
|
|
1063
|
+
export type PhysicalLimbDisplayAction = {
|
|
1064
|
+
readonly v: 1;
|
|
1065
|
+
readonly actionId: PhysicalLimbIdentifier;
|
|
1066
|
+
readonly nodeId: PhysicalLimbIdentifier;
|
|
1067
|
+
readonly deadlineUnixMs: number;
|
|
1068
|
+
readonly timeoutMs: number;
|
|
1069
|
+
readonly cancelToken: PhysicalLimbIdentifier;
|
|
1070
|
+
readonly kind: 'display';
|
|
1071
|
+
readonly payload: PhysicalLimbDisplayPayload;
|
|
1072
|
+
};
|
|
1073
|
+
export type PhysicalLimbLightAction = {
|
|
1074
|
+
readonly v: 1;
|
|
1075
|
+
readonly actionId: PhysicalLimbIdentifier;
|
|
1076
|
+
readonly nodeId: PhysicalLimbIdentifier;
|
|
1077
|
+
readonly deadlineUnixMs: number;
|
|
1078
|
+
readonly timeoutMs: number;
|
|
1079
|
+
readonly cancelToken: PhysicalLimbIdentifier;
|
|
1080
|
+
readonly kind: 'light';
|
|
1081
|
+
readonly payload: PhysicalLimbLightPayload;
|
|
1082
|
+
};
|
|
1083
|
+
export type PhysicalLimbSpeakerAction = {
|
|
1084
|
+
readonly v: 1;
|
|
1085
|
+
readonly actionId: PhysicalLimbIdentifier;
|
|
1086
|
+
readonly nodeId: PhysicalLimbIdentifier;
|
|
1087
|
+
readonly deadlineUnixMs: number;
|
|
1088
|
+
readonly timeoutMs: number;
|
|
1089
|
+
readonly cancelToken: PhysicalLimbIdentifier;
|
|
1090
|
+
readonly kind: 'speaker';
|
|
1091
|
+
readonly payload: PhysicalLimbSpeakerPayload;
|
|
1092
|
+
};
|
|
1093
|
+
export type PhysicalLimbAction = PhysicalLimbMotionAction | PhysicalLimbDisplayAction | PhysicalLimbLightAction | PhysicalLimbSpeakerAction;
|
|
1094
|
+
export type PhysicalLimbCancel = {
|
|
1095
|
+
readonly v: 1;
|
|
1096
|
+
readonly nodeId: PhysicalLimbIdentifier;
|
|
1097
|
+
readonly actionId: PhysicalLimbIdentifier;
|
|
1098
|
+
readonly cancelToken: PhysicalLimbIdentifier;
|
|
1099
|
+
readonly reason: 'user' | 'timeout' | 'lease_lost' | 'host_lost' | 'superseded';
|
|
1100
|
+
};
|
|
1101
|
+
export type PhysicalLimbActionResult = {
|
|
1102
|
+
readonly v: 1;
|
|
1103
|
+
readonly actionId: PhysicalLimbIdentifier;
|
|
1104
|
+
readonly nodeId: PhysicalLimbIdentifier;
|
|
1105
|
+
readonly outcome: 'succeeded' | 'refused' | 'failed' | 'canceled';
|
|
1106
|
+
readonly reason?: string;
|
|
1107
|
+
readonly observedAt: string;
|
|
1108
|
+
};
|
|
1109
|
+
export type PhysicalLimbReadinessReason = 'gateway_disconnected' | 'device_disconnected' | 'firmware_incompatible' | 'sensor_unavailable' | 'speech_dependency_missing' | 'skin_unavailable' | 'grant_revoked' | 'host_unavailable';
|
|
1110
|
+
export type PhysicalLimbReadyReadiness = {
|
|
1111
|
+
readonly v: 1;
|
|
1112
|
+
readonly nodeId: PhysicalLimbIdentifier;
|
|
1113
|
+
readonly status: 'ready';
|
|
1114
|
+
readonly observedAt: string;
|
|
1115
|
+
};
|
|
1116
|
+
export type PhysicalLimbUnavailableReadiness = {
|
|
1117
|
+
readonly v: 1;
|
|
1118
|
+
readonly nodeId: PhysicalLimbIdentifier;
|
|
1119
|
+
readonly status: 'degraded' | 'offline';
|
|
1120
|
+
readonly reason: PhysicalLimbReadinessReason;
|
|
1121
|
+
readonly observedAt: string;
|
|
1122
|
+
};
|
|
1123
|
+
export type PhysicalLimbReadiness = PhysicalLimbReadyReadiness | PhysicalLimbUnavailableReadiness;
|
|
1124
|
+
export type DocxMaterializationText = string;
|
|
1125
|
+
export type DocxMaterializationAuthor = string;
|
|
1126
|
+
export type DocxMaterializationBytes = string;
|
|
1127
|
+
export type DocxMaterializationAnchor = {
|
|
1128
|
+
readonly paragraphId: string;
|
|
1129
|
+
readonly textQuote: string;
|
|
1130
|
+
};
|
|
1131
|
+
export type DocxMaterializationAttribution = {
|
|
1132
|
+
readonly author: DocxMaterializationAuthor;
|
|
1133
|
+
readonly operationId: string;
|
|
1134
|
+
readonly timestamp: string;
|
|
1135
|
+
};
|
|
1136
|
+
export type DocxMaterializationOperation = {
|
|
1137
|
+
readonly kind: 'inspect';
|
|
1138
|
+
readonly cursor: number;
|
|
1139
|
+
readonly limit: number;
|
|
1140
|
+
} | {
|
|
1141
|
+
readonly kind: 'tracked-change';
|
|
1142
|
+
readonly target: DocxMaterializationAnchor;
|
|
1143
|
+
readonly replacement: DocxMaterializationText;
|
|
1144
|
+
readonly attribution: DocxMaterializationAttribution;
|
|
1145
|
+
} | {
|
|
1146
|
+
readonly kind: 'comment';
|
|
1147
|
+
readonly target: DocxMaterializationAnchor;
|
|
1148
|
+
readonly body: DocxMaterializationText;
|
|
1149
|
+
readonly attribution: DocxMaterializationAttribution;
|
|
1150
|
+
};
|
|
1151
|
+
export type DocxMaterializationRequest = {
|
|
1152
|
+
readonly protocolVersion: '1.0.0';
|
|
1153
|
+
readonly requestId: string;
|
|
1154
|
+
readonly mediaType: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
|
|
1155
|
+
readonly bytesBase64: DocxMaterializationBytes;
|
|
1156
|
+
readonly operation: DocxMaterializationOperation;
|
|
1157
|
+
};
|
|
1158
|
+
export type DocxMaterializationResult = {
|
|
1159
|
+
readonly kind: 'inspection';
|
|
1160
|
+
readonly paragraphs: readonly ({
|
|
1161
|
+
readonly target: DocxMaterializationAnchor;
|
|
1162
|
+
readonly editable: boolean;
|
|
1163
|
+
})[];
|
|
1164
|
+
readonly nextCursor: number | null;
|
|
1165
|
+
} | {
|
|
1166
|
+
readonly kind: 'document';
|
|
1167
|
+
readonly bytesBase64: DocxMaterializationBytes;
|
|
1168
|
+
} | {
|
|
1169
|
+
readonly kind: 'rejected';
|
|
1170
|
+
readonly code: 'INVALID_DOCX' | 'TARGET_MISMATCH' | 'UNSUPPORTED_TARGET' | 'LIMIT_EXCEEDED' | 'INVALID_REQUEST';
|
|
1171
|
+
};
|
|
1172
|
+
export type DocxMaterializationResponse = {
|
|
1173
|
+
readonly protocolVersion: '1.0.0';
|
|
1174
|
+
readonly requestId: string;
|
|
1175
|
+
readonly result: DocxMaterializationResult;
|
|
1176
|
+
};
|
|
1177
|
+
export type CompanionSelectionId = string;
|
|
1178
|
+
export type CompanionCallId = string;
|
|
1179
|
+
export type CompanionClientMessageId = string;
|
|
1180
|
+
export type CompanionAppAssistRef = string;
|
|
1181
|
+
export type CompanionAppAssistAction = 'dismiss' | 'timeout' | 'accept';
|
|
1182
|
+
export type CompanionCorrelatableId = string;
|
|
1183
|
+
export type CompanionOpaqueReadReference = string;
|
|
1184
|
+
export type CompanionConversationScopeRef = string;
|
|
1185
|
+
export type CompanionPresentationReference = {
|
|
1186
|
+
readonly kind: 'message';
|
|
1187
|
+
readonly messageId: CompanionCorrelatableId;
|
|
1188
|
+
} | {
|
|
1189
|
+
readonly kind: 'native-item';
|
|
1190
|
+
readonly nativeItemId: CompanionCorrelatableId;
|
|
1191
|
+
};
|
|
1192
|
+
export type CompanionScreenFrame = {
|
|
1193
|
+
readonly image: string;
|
|
1194
|
+
readonly width: number;
|
|
1195
|
+
readonly height: number;
|
|
1196
|
+
readonly frameId: string;
|
|
1197
|
+
readonly sourceLabel: string;
|
|
1198
|
+
readonly observedAt: number;
|
|
1199
|
+
};
|
|
1200
|
+
export type CompanionCommand = {
|
|
1201
|
+
readonly kind: 'state';
|
|
1202
|
+
} | {
|
|
1203
|
+
readonly kind: 'work.read';
|
|
1204
|
+
} | {
|
|
1205
|
+
readonly kind: 'work.open';
|
|
1206
|
+
readonly entryRef: string;
|
|
1207
|
+
} | {
|
|
1208
|
+
readonly kind: 'prepare';
|
|
1209
|
+
} | {
|
|
1210
|
+
readonly kind: 'audio.connect';
|
|
1211
|
+
readonly mode?: 'receive_only';
|
|
1212
|
+
} | {
|
|
1213
|
+
readonly kind: 'audio.close';
|
|
1214
|
+
} | {
|
|
1215
|
+
readonly kind: 'audio.microphone';
|
|
1216
|
+
readonly muted: boolean;
|
|
1217
|
+
} | {
|
|
1218
|
+
readonly kind: 'audio.speaker';
|
|
1219
|
+
readonly muted: boolean;
|
|
1220
|
+
} | {
|
|
1221
|
+
readonly kind: 'stop';
|
|
1222
|
+
} | {
|
|
1223
|
+
readonly kind: 'text';
|
|
1224
|
+
readonly text: string;
|
|
1225
|
+
readonly clientMessageId: string;
|
|
1226
|
+
} | {
|
|
1227
|
+
readonly kind: 'documents';
|
|
1228
|
+
readonly allowed: boolean;
|
|
1229
|
+
} | {
|
|
1230
|
+
readonly kind: 'screen.pick';
|
|
1231
|
+
} | {
|
|
1232
|
+
readonly kind: 'screen.open';
|
|
1233
|
+
readonly selectionId: CompanionSelectionId;
|
|
1234
|
+
readonly label: string;
|
|
1235
|
+
} | {
|
|
1236
|
+
readonly kind: 'screen.frame';
|
|
1237
|
+
readonly selectionId: CompanionSelectionId;
|
|
1238
|
+
readonly frame: CompanionScreenFrame;
|
|
1239
|
+
} | {
|
|
1240
|
+
readonly kind: 'screen.close';
|
|
1241
|
+
} | {
|
|
1242
|
+
readonly kind: 'conversation.open';
|
|
1243
|
+
} | {
|
|
1244
|
+
readonly kind: 'presentation.observe';
|
|
1245
|
+
readonly event: 'first_text_visible';
|
|
1246
|
+
readonly observedAt: number;
|
|
1247
|
+
readonly callId: CompanionCallId;
|
|
1248
|
+
readonly reference: CompanionPresentationReference;
|
|
1249
|
+
} | {
|
|
1250
|
+
readonly kind: 'decisions.read';
|
|
1251
|
+
readonly offset: number;
|
|
1252
|
+
readonly limit: number;
|
|
1253
|
+
} | {
|
|
1254
|
+
readonly kind: 'decision.open';
|
|
1255
|
+
readonly variantRef: string;
|
|
1256
|
+
readonly target: CompanionDecisionNavigationTarget;
|
|
1257
|
+
} | {
|
|
1258
|
+
readonly kind: 'f221.inspect';
|
|
1259
|
+
readonly proposalId: string;
|
|
1260
|
+
} | {
|
|
1261
|
+
readonly kind: 'view.resize';
|
|
1262
|
+
readonly expanded: boolean;
|
|
1263
|
+
} | {
|
|
1264
|
+
readonly kind: 'view.layout';
|
|
1265
|
+
readonly panel: 'none' | 'bubble' | 'actions' | 'menu' | 'chat' | 'decisions' | 'transcript' | 'settings' | 'app-assist';
|
|
1266
|
+
readonly width: number;
|
|
1267
|
+
readonly height: number;
|
|
1268
|
+
readonly call?: {
|
|
1269
|
+
readonly presentation: 'lite' | 'controls';
|
|
1270
|
+
readonly bubble?: {
|
|
1271
|
+
readonly width: number;
|
|
1272
|
+
readonly height: number;
|
|
1273
|
+
};
|
|
1274
|
+
};
|
|
1275
|
+
} | {
|
|
1276
|
+
readonly kind: 'view.drag';
|
|
1277
|
+
readonly phase: 'start' | 'end';
|
|
1278
|
+
} | {
|
|
1279
|
+
readonly kind: 'view.hide';
|
|
1280
|
+
} | {
|
|
1281
|
+
readonly kind: 'view.reset';
|
|
1282
|
+
} | {
|
|
1283
|
+
readonly kind: 'settings.read';
|
|
1284
|
+
} | {
|
|
1285
|
+
readonly kind: 'settings.update';
|
|
1286
|
+
readonly field: 'dutyCatProfileId';
|
|
1287
|
+
readonly value: string;
|
|
1288
|
+
} | {
|
|
1289
|
+
readonly kind: 'settings.update';
|
|
1290
|
+
readonly field: 'skin';
|
|
1291
|
+
readonly value: 'yarn-ball' | 'ragdoll-v1' | 'yanyan-codex' | 'xianxian-codex';
|
|
1292
|
+
} | {
|
|
1293
|
+
readonly kind: 'settings.update';
|
|
1294
|
+
readonly field: 'ballSize';
|
|
1295
|
+
readonly value: number;
|
|
1296
|
+
} | {
|
|
1297
|
+
readonly kind: 'settings.update';
|
|
1298
|
+
readonly field: 'behaviorEnabled';
|
|
1299
|
+
readonly value: boolean;
|
|
1300
|
+
} | {
|
|
1301
|
+
readonly kind: 'settings.update';
|
|
1302
|
+
readonly field: 'proactivePolicy';
|
|
1303
|
+
readonly value: 'ambient' | 'quiet-badge';
|
|
1304
|
+
} | {
|
|
1305
|
+
readonly kind: 'settings.update';
|
|
1306
|
+
readonly field: 'personaTone';
|
|
1307
|
+
readonly value: string;
|
|
1308
|
+
} | {
|
|
1309
|
+
readonly kind: 'settings.update';
|
|
1310
|
+
readonly field: 'householdReadsAllowed';
|
|
1311
|
+
readonly value: boolean;
|
|
1312
|
+
} | {
|
|
1313
|
+
readonly kind: 'settings.update';
|
|
1314
|
+
readonly field: 'appAssistEnabled';
|
|
1315
|
+
readonly value: boolean;
|
|
1316
|
+
} | {
|
|
1317
|
+
readonly kind: 'app-assist.settle';
|
|
1318
|
+
readonly scopeRef: CompanionAppAssistRef;
|
|
1319
|
+
readonly offerRef: CompanionAppAssistRef;
|
|
1320
|
+
readonly action: CompanionAppAssistAction;
|
|
1321
|
+
} | {
|
|
1322
|
+
readonly kind: 'companion.disable';
|
|
1323
|
+
} | {
|
|
1324
|
+
readonly kind: 'conversation.read';
|
|
1325
|
+
} | {
|
|
1326
|
+
readonly kind: 'conversation.read';
|
|
1327
|
+
readonly v: 2;
|
|
1328
|
+
readonly before?: CompanionOpaqueReadReference;
|
|
1329
|
+
readonly limit?: number;
|
|
1330
|
+
} | {
|
|
1331
|
+
readonly kind: 'conversation.body.read';
|
|
1332
|
+
readonly v: 2;
|
|
1333
|
+
readonly continuation: CompanionOpaqueReadReference;
|
|
1334
|
+
} | {
|
|
1335
|
+
readonly kind: 'conversation.draft.read';
|
|
1336
|
+
readonly v: 1;
|
|
1337
|
+
} | {
|
|
1338
|
+
readonly kind: 'conversation.draft.save';
|
|
1339
|
+
readonly v: 1;
|
|
1340
|
+
readonly scopeRef: CompanionConversationScopeRef;
|
|
1341
|
+
readonly expectedRevision: number;
|
|
1342
|
+
readonly text: string;
|
|
1343
|
+
} | {
|
|
1344
|
+
readonly kind: 'conversation.delivery.read';
|
|
1345
|
+
readonly v: 1;
|
|
1346
|
+
readonly scopeRef: CompanionConversationScopeRef;
|
|
1347
|
+
readonly clientMessageId: CompanionClientMessageId;
|
|
1348
|
+
} | {
|
|
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;
|
|
1357
|
+
};
|
|
1358
|
+
export type CompanionActor = {
|
|
1359
|
+
readonly catId: string;
|
|
1360
|
+
readonly displayName: string;
|
|
1361
|
+
};
|
|
1362
|
+
export type CompanionWorkCoverage = {
|
|
1363
|
+
readonly source: 'tasks' | 'messages' | 'artifacts';
|
|
1364
|
+
readonly status: 'available' | 'partial' | 'unavailable';
|
|
1365
|
+
};
|
|
1366
|
+
export type CompanionWorkActive = {
|
|
1367
|
+
readonly entryRef: string;
|
|
1368
|
+
readonly title: string;
|
|
1369
|
+
readonly actor: CompanionActor | null;
|
|
1370
|
+
readonly activity: 'working' | 'waiting';
|
|
1371
|
+
readonly taskId: string | null;
|
|
1372
|
+
readonly homeThreadId: string | null;
|
|
1373
|
+
readonly sourceRef: string;
|
|
1374
|
+
readonly updatedAt: number;
|
|
1375
|
+
};
|
|
1376
|
+
export type CompanionWorkDelivery = {
|
|
1377
|
+
readonly entryRef: string;
|
|
1378
|
+
readonly title: string;
|
|
1379
|
+
readonly taskId: string | null;
|
|
1380
|
+
readonly homeThreadId: string | null;
|
|
1381
|
+
readonly sourceRef: string;
|
|
1382
|
+
readonly deliveredAt: number;
|
|
1383
|
+
readonly artifact: null | {
|
|
1384
|
+
readonly artifactId: string;
|
|
1385
|
+
readonly version: string | null;
|
|
1386
|
+
readonly versionState: 'current' | 'superseded' | 'unknown';
|
|
1387
|
+
};
|
|
1388
|
+
};
|
|
1389
|
+
export type CompanionWorkOverview = {
|
|
1390
|
+
readonly kind: 'work';
|
|
1391
|
+
readonly v: 1;
|
|
1392
|
+
readonly status: 'available' | 'partial' | 'unavailable';
|
|
1393
|
+
readonly observedAt: number;
|
|
1394
|
+
readonly scope: {
|
|
1395
|
+
readonly kind: 'current-project';
|
|
1396
|
+
readonly label: string;
|
|
1397
|
+
};
|
|
1398
|
+
readonly coverage: readonly [CompanionWorkCoverage, CompanionWorkCoverage, CompanionWorkCoverage];
|
|
1399
|
+
readonly active: readonly CompanionWorkActive[];
|
|
1400
|
+
readonly recentDeliveries: readonly CompanionWorkDelivery[];
|
|
1401
|
+
};
|
|
1402
|
+
export type CompanionIdentitySnapshotV1 = {
|
|
1403
|
+
readonly v: 1;
|
|
1404
|
+
readonly name: '猫猫球';
|
|
1405
|
+
readonly partner: {
|
|
1406
|
+
readonly catId: string;
|
|
1407
|
+
readonly displayName: string;
|
|
1408
|
+
readonly skin: string;
|
|
1409
|
+
};
|
|
1410
|
+
readonly live: {
|
|
1411
|
+
readonly catId: string;
|
|
1412
|
+
readonly displayName: string;
|
|
1413
|
+
readonly transport: 'gpt_live_v3';
|
|
1414
|
+
readonly verifiedModel: string | null;
|
|
1415
|
+
};
|
|
1416
|
+
readonly deep: {
|
|
1417
|
+
readonly catId: string;
|
|
1418
|
+
readonly displayName: string;
|
|
1419
|
+
readonly verifiedModel: string | null;
|
|
1420
|
+
};
|
|
1421
|
+
};
|
|
1422
|
+
export type CompanionLiveTransport = {
|
|
1423
|
+
readonly kind: 'gpt_live_v3';
|
|
1424
|
+
readonly verifiedModel: null;
|
|
1425
|
+
};
|
|
1426
|
+
export type CompanionAudioState = {
|
|
1427
|
+
readonly supportedModes: readonly ('duplex' | 'receive_only')[];
|
|
1428
|
+
readonly activeMode: 'duplex' | 'receive_only' | null;
|
|
1429
|
+
};
|
|
1430
|
+
export type CompanionNativeWorkEntry = {
|
|
1431
|
+
readonly taskId: string;
|
|
1432
|
+
readonly nativeTurnId: string;
|
|
1433
|
+
readonly kind: 'reasoning' | 'tool' | 'workspace_fetch' | 'workspace_dispatch' | 'screen_read';
|
|
1434
|
+
readonly startedAt: number;
|
|
1435
|
+
readonly expiresAt: number;
|
|
1436
|
+
};
|
|
1437
|
+
export type CompanionNativeWorkEvent = {
|
|
1438
|
+
readonly eventId: string;
|
|
1439
|
+
readonly taskId: string;
|
|
1440
|
+
readonly kind: 'reasoning' | 'tool' | 'workspace_fetch' | 'workspace_dispatch' | 'screen_read' | 'result';
|
|
1441
|
+
readonly phase: 'started' | 'completed' | 'failed' | 'cancelled' | 'expired' | 'result_handed_to_voice';
|
|
1442
|
+
readonly occurredAt: number;
|
|
1443
|
+
readonly expiresAt: number;
|
|
1444
|
+
readonly resultId?: string;
|
|
1445
|
+
readonly nativeCarrierCatId?: string;
|
|
1446
|
+
};
|
|
1447
|
+
export type CompanionNativeWork = {
|
|
1448
|
+
readonly scopeId: string | null;
|
|
1449
|
+
readonly revision: number;
|
|
1450
|
+
readonly active: readonly CompanionNativeWorkEntry[];
|
|
1451
|
+
readonly recent: readonly CompanionNativeWorkEvent[];
|
|
1452
|
+
};
|
|
1453
|
+
export type CompanionMeetingState = {
|
|
1454
|
+
readonly kind: 'running';
|
|
1455
|
+
readonly sharing: boolean;
|
|
1456
|
+
readonly paused: boolean;
|
|
1457
|
+
readonly sourceLabel: string | null;
|
|
1458
|
+
} | {
|
|
1459
|
+
readonly kind: 'idle' | 'stopped' | 'unconfirmed' | 'needs_source';
|
|
1460
|
+
readonly sharing: false;
|
|
1461
|
+
readonly paused: false;
|
|
1462
|
+
readonly sourceLabel: null;
|
|
1463
|
+
};
|
|
1464
|
+
export type CompanionAppAssistState = {
|
|
1465
|
+
readonly scopeRef: CompanionAppAssistRef;
|
|
1466
|
+
readonly revision: number;
|
|
1467
|
+
readonly status: 'ready';
|
|
1468
|
+
readonly offer: null | {
|
|
1469
|
+
readonly offerRef: CompanionAppAssistRef;
|
|
1470
|
+
readonly appName: string;
|
|
1471
|
+
};
|
|
1472
|
+
} | {
|
|
1473
|
+
readonly scopeRef: CompanionAppAssistRef;
|
|
1474
|
+
readonly revision: number;
|
|
1475
|
+
readonly status: 'off' | 'suspended' | 'unsupported' | 'source_unavailable' | 'permission_required' | 'timezone_required' | 'identity_unavailable';
|
|
1476
|
+
readonly offer: null;
|
|
1477
|
+
};
|
|
1478
|
+
export type CompanionAppAssistSettlement = {
|
|
1479
|
+
readonly kind: 'app-assist-settlement';
|
|
1480
|
+
readonly scopeRef: CompanionAppAssistRef;
|
|
1481
|
+
readonly revision: number;
|
|
1482
|
+
readonly offerRef: CompanionAppAssistRef;
|
|
1483
|
+
readonly action: CompanionAppAssistAction;
|
|
1484
|
+
readonly outcome: 'settled' | 'stale_offer';
|
|
1485
|
+
};
|
|
1486
|
+
export type CompanionState = {
|
|
1487
|
+
readonly kind: 'state';
|
|
1488
|
+
readonly phase: 'idle' | 'preparing' | 'ready' | 'connecting' | 'talking' | 'closed' | 'failed';
|
|
1489
|
+
readonly displayName: string;
|
|
1490
|
+
readonly skin: string;
|
|
1491
|
+
readonly duty: CompanionActor;
|
|
1492
|
+
readonly carrier: CompanionActor;
|
|
1493
|
+
readonly documentsAllowed: boolean;
|
|
1494
|
+
readonly behaviorEnabled: boolean;
|
|
1495
|
+
readonly toolsReady: boolean;
|
|
1496
|
+
readonly nativeActivity: 'none' | 'reasoning' | 'tool_running';
|
|
1497
|
+
readonly liveTransport: CompanionLiveTransport;
|
|
1498
|
+
readonly audio?: CompanionAudioState;
|
|
1499
|
+
readonly meeting: CompanionMeetingState;
|
|
1500
|
+
readonly appAssist: CompanionAppAssistState;
|
|
1501
|
+
readonly nativeWork: CompanionNativeWork;
|
|
1502
|
+
};
|
|
1503
|
+
export type CompanionDecisionNavigationTarget = 'origin' | 'approval_card' | 'action';
|
|
1504
|
+
export type CompanionDecisionNavigation = {
|
|
1505
|
+
readonly targets: readonly CompanionDecisionNavigationTarget[];
|
|
1506
|
+
};
|
|
1507
|
+
export type CompanionDecisionSourceRead = {
|
|
1508
|
+
readonly status: 'available' | 'unavailable' | 'unauthenticated' | 'forbidden' | 'invalid';
|
|
1509
|
+
readonly coverage: 'complete' | 'partial' | 'unknown';
|
|
1510
|
+
};
|
|
1511
|
+
export type CompanionDecisionSources = {
|
|
1512
|
+
readonly approvals: CompanionDecisionSourceRead;
|
|
1513
|
+
readonly needsMe: CompanionDecisionSourceRead;
|
|
1514
|
+
};
|
|
1515
|
+
export type CompanionDecisionApproval = {
|
|
1516
|
+
readonly resolution: 'open' | 'accepted' | 'rejected' | 'closed_without_decision';
|
|
1517
|
+
readonly materializationState: 'not_started' | 'outcome_unknown' | 'in_progress' | 'succeeded' | 'failed';
|
|
1518
|
+
readonly linkedNeedsMe: boolean;
|
|
1519
|
+
};
|
|
1520
|
+
export type CompanionDecisionItem = {
|
|
1521
|
+
readonly variantRef: string;
|
|
1522
|
+
readonly kind: 'approval';
|
|
1523
|
+
readonly summary: string;
|
|
1524
|
+
readonly navigation: CompanionDecisionNavigation;
|
|
1525
|
+
readonly approval: CompanionDecisionApproval;
|
|
1526
|
+
} | {
|
|
1527
|
+
readonly variantRef: string;
|
|
1528
|
+
readonly kind: 'judgment' | 'repair';
|
|
1529
|
+
readonly summary: string;
|
|
1530
|
+
readonly navigation: CompanionDecisionNavigation;
|
|
1531
|
+
};
|
|
1532
|
+
export type CompanionLegacyDecisions = {
|
|
1533
|
+
readonly kind: 'decisions';
|
|
1534
|
+
readonly status: 'available' | 'unavailable';
|
|
1535
|
+
readonly approvalCount: number | null;
|
|
1536
|
+
readonly needsMeCount: number | null;
|
|
1537
|
+
readonly otherNeedsMeCount: number | null;
|
|
1538
|
+
readonly approvals: readonly ({
|
|
1539
|
+
readonly proposalId: string;
|
|
1540
|
+
readonly sourceFeatureId: string;
|
|
1541
|
+
readonly summary: string;
|
|
1542
|
+
readonly resolution: 'open' | 'accepted' | 'rejected' | 'closed_without_decision';
|
|
1543
|
+
readonly materializationState: 'not_started' | 'outcome_unknown' | 'in_progress' | 'succeeded' | 'failed';
|
|
1544
|
+
readonly linkedNeedsMe: boolean;
|
|
1545
|
+
})[];
|
|
1546
|
+
readonly otherNeedsMe: readonly ({
|
|
1547
|
+
readonly subjectRef: string;
|
|
1548
|
+
readonly summary: string;
|
|
1549
|
+
})[];
|
|
1550
|
+
readonly page: {
|
|
1551
|
+
readonly offset: number;
|
|
1552
|
+
readonly limit: number;
|
|
1553
|
+
readonly hasMoreApprovals: boolean;
|
|
1554
|
+
readonly hasMoreNeedsMe: boolean;
|
|
1555
|
+
};
|
|
1556
|
+
};
|
|
1557
|
+
export type CompanionUnifiedDecisions = {
|
|
1558
|
+
readonly kind: 'decisions';
|
|
1559
|
+
readonly version: 1;
|
|
1560
|
+
readonly status: 'available' | 'partial' | 'unavailable';
|
|
1561
|
+
readonly observedAt: number;
|
|
1562
|
+
readonly sources: CompanionDecisionSources;
|
|
1563
|
+
readonly items: readonly CompanionDecisionItem[];
|
|
1564
|
+
readonly totalCount?: number;
|
|
1565
|
+
readonly page: {
|
|
1566
|
+
readonly offset: number;
|
|
1567
|
+
readonly limit: number;
|
|
1568
|
+
readonly scope: 'known_rows';
|
|
1569
|
+
readonly hasMore: boolean;
|
|
1570
|
+
};
|
|
1571
|
+
};
|
|
1572
|
+
export type CompanionDecisions = CompanionLegacyDecisions | CompanionUnifiedDecisions;
|
|
1573
|
+
export type CompanionDecisionTrial = {
|
|
1574
|
+
readonly kind: 'decision-trial';
|
|
1575
|
+
readonly status: 'dismissed' | 'trial_confirmed' | 'stale' | 'unavailable';
|
|
1576
|
+
};
|
|
1577
|
+
export type CompanionSettingField = 'dutyCatProfileId' | 'skin' | 'ballSize' | 'behaviorEnabled' | 'proactivePolicy' | 'personaTone' | 'householdReadsAllowed' | 'appAssistEnabled';
|
|
1578
|
+
export type CompanionSettingsValues = {
|
|
1579
|
+
readonly dutyCatProfileId: string;
|
|
1580
|
+
readonly skin: 'yarn-ball' | 'ragdoll-v1' | 'yanyan-codex' | 'xianxian-codex';
|
|
1581
|
+
readonly ballSize: number;
|
|
1582
|
+
readonly behaviorEnabled: boolean;
|
|
1583
|
+
readonly proactivePolicy: 'ambient' | 'quiet-badge';
|
|
1584
|
+
readonly personaTone: string;
|
|
1585
|
+
readonly householdReadsAllowed: boolean;
|
|
1586
|
+
readonly appAssistEnabled: boolean;
|
|
1587
|
+
};
|
|
1588
|
+
export type CompanionSettingsRosterEntry = {
|
|
1589
|
+
readonly catProfileId: string;
|
|
1590
|
+
readonly displayName: string;
|
|
1591
|
+
readonly available: boolean;
|
|
1592
|
+
};
|
|
1593
|
+
export type CompanionSettings = {
|
|
1594
|
+
readonly kind: 'settings';
|
|
1595
|
+
readonly status: 'available';
|
|
1596
|
+
readonly values: CompanionSettingsValues;
|
|
1597
|
+
readonly companions: readonly CompanionSettingsRosterEntry[];
|
|
1598
|
+
readonly selectedCompanionStatus: 'available' | 'unavailable';
|
|
1599
|
+
} | {
|
|
1600
|
+
readonly kind: 'settings';
|
|
1601
|
+
readonly status: 'unavailable';
|
|
1602
|
+
readonly reason: 'host_upgrade_required' | 'temporarily_unavailable';
|
|
1603
|
+
};
|
|
1604
|
+
export type CompanionSettingsUpdateReceipt = {
|
|
1605
|
+
readonly kind: 'settings-update';
|
|
1606
|
+
readonly field: CompanionSettingField;
|
|
1607
|
+
readonly outcome: 'saved';
|
|
1608
|
+
readonly callStatus: 'unchanged' | 'stopped';
|
|
1609
|
+
readonly applies: 'now' | 'next_call';
|
|
1610
|
+
} | {
|
|
1611
|
+
readonly kind: 'settings-update';
|
|
1612
|
+
readonly field: CompanionSettingField;
|
|
1613
|
+
readonly outcome: 'rejected';
|
|
1614
|
+
readonly callStatus: 'unchanged' | 'stopped' | 'stop_failed';
|
|
1615
|
+
readonly reason: 'invalid_value' | 'selection_unavailable' | 'permission_denied' | 'call_stop_failed' | 'save_failed' | 'unsupported';
|
|
1616
|
+
} | {
|
|
1617
|
+
readonly kind: 'settings-update';
|
|
1618
|
+
readonly field: CompanionSettingField;
|
|
1619
|
+
readonly outcome: 'unconfirmed';
|
|
1620
|
+
readonly callStatus: 'unchanged' | 'stopped';
|
|
1621
|
+
readonly reconcile: 'settings.read';
|
|
1622
|
+
};
|
|
1623
|
+
export type CompanionLifecycleReceipt = {
|
|
1624
|
+
readonly kind: 'companion-lifecycle';
|
|
1625
|
+
readonly action: 'disable';
|
|
1626
|
+
readonly outcome: 'disabled';
|
|
1627
|
+
};
|
|
1628
|
+
export type CompanionTranscriptScope = {
|
|
1629
|
+
readonly callId: CompanionCallId;
|
|
1630
|
+
readonly realtimeSessionId: string;
|
|
1631
|
+
};
|
|
1632
|
+
export type CompanionTranscriptVoiceSource = {
|
|
1633
|
+
readonly kind: 'voice';
|
|
1634
|
+
readonly nativeThreadId: string;
|
|
1635
|
+
readonly realtimeSessionId: string;
|
|
1636
|
+
readonly nativeItemId: CompanionCorrelatableId;
|
|
1637
|
+
readonly nativeTurnId?: string;
|
|
1638
|
+
};
|
|
1639
|
+
export type CompanionTranscriptTypedSource = {
|
|
1640
|
+
readonly kind: 'typed';
|
|
1641
|
+
readonly clientMessageId: CompanionClientMessageId;
|
|
1642
|
+
readonly callId: CompanionCallId;
|
|
1643
|
+
};
|
|
1644
|
+
export type CompanionTranscriptRow = {
|
|
1645
|
+
readonly messageId: CompanionCorrelatableId;
|
|
1646
|
+
readonly role: 'user' | 'assistant';
|
|
1647
|
+
readonly text: string;
|
|
1648
|
+
readonly source: CompanionTranscriptVoiceSource;
|
|
1649
|
+
} | {
|
|
1650
|
+
readonly messageId: CompanionCorrelatableId;
|
|
1651
|
+
readonly role: 'user';
|
|
1652
|
+
readonly text: string;
|
|
1653
|
+
readonly source: CompanionTranscriptTypedSource;
|
|
1654
|
+
};
|
|
1655
|
+
export type CompanionDeliveryReceipt = {
|
|
1656
|
+
readonly kind: 'delivery';
|
|
1657
|
+
readonly delivery: 'accepted';
|
|
1658
|
+
readonly clientMessageId: CompanionClientMessageId;
|
|
1659
|
+
readonly messageId: CompanionCorrelatableId;
|
|
1660
|
+
readonly callId: CompanionCallId | null;
|
|
1661
|
+
} | {
|
|
1662
|
+
readonly kind: 'delivery';
|
|
1663
|
+
readonly delivery: 'unconfirmed';
|
|
1664
|
+
readonly clientMessageId: CompanionClientMessageId;
|
|
1665
|
+
readonly messageId: null;
|
|
1666
|
+
readonly callId: CompanionCallId | null;
|
|
1667
|
+
};
|
|
1668
|
+
export type CompanionDeliveryAcceptedV2 = {
|
|
1669
|
+
readonly kind: 'delivery';
|
|
1670
|
+
readonly v: 2;
|
|
1671
|
+
readonly delivery: 'accepted';
|
|
1672
|
+
readonly clientMessageId: CompanionClientMessageId;
|
|
1673
|
+
readonly messageId: CompanionCorrelatableId;
|
|
1674
|
+
readonly callId: CompanionCallId | null;
|
|
1675
|
+
};
|
|
1676
|
+
export type CompanionDeliveryUnconfirmedV2 = {
|
|
1677
|
+
readonly kind: 'delivery';
|
|
1678
|
+
readonly v: 2;
|
|
1679
|
+
readonly delivery: 'unconfirmed';
|
|
1680
|
+
readonly clientMessageId: CompanionClientMessageId;
|
|
1681
|
+
readonly messageId: null;
|
|
1682
|
+
readonly callId: CompanionCallId | null;
|
|
1683
|
+
};
|
|
1684
|
+
export type CompanionDeliveryRejectedV2 = {
|
|
1685
|
+
readonly kind: 'delivery';
|
|
1686
|
+
readonly v: 2;
|
|
1687
|
+
readonly delivery: 'rejected';
|
|
1688
|
+
readonly clientMessageId: CompanionClientMessageId;
|
|
1689
|
+
readonly reason: 'draft_changed' | 'unsupported_draft' | 'pending_limit';
|
|
1690
|
+
readonly draftRevision: number;
|
|
1691
|
+
};
|
|
1692
|
+
export type CompanionDeliveryReceiptV2 = CompanionDeliveryAcceptedV2 | CompanionDeliveryUnconfirmedV2 | CompanionDeliveryRejectedV2;
|
|
1693
|
+
export type CompanionConversationDraftSubmissionV1 = {
|
|
1694
|
+
readonly clientMessageId: CompanionClientMessageId;
|
|
1695
|
+
readonly text: string;
|
|
1696
|
+
readonly submissionRevision: number;
|
|
1697
|
+
readonly receipt: CompanionDeliveryAcceptedV2 | CompanionDeliveryUnconfirmedV2;
|
|
1698
|
+
};
|
|
1699
|
+
export type CompanionConversationDraftV1 = {
|
|
1700
|
+
readonly kind: 'conversation-draft';
|
|
1701
|
+
readonly v: 1;
|
|
1702
|
+
readonly status: 'available';
|
|
1703
|
+
readonly scopeRef: CompanionConversationScopeRef;
|
|
1704
|
+
readonly revision: number;
|
|
1705
|
+
readonly text: string;
|
|
1706
|
+
readonly writable: boolean;
|
|
1707
|
+
readonly submissions: readonly CompanionConversationDraftSubmissionV1[];
|
|
1708
|
+
} | {
|
|
1709
|
+
readonly kind: 'conversation-draft';
|
|
1710
|
+
readonly v: 1;
|
|
1711
|
+
readonly status: 'conflict' | 'readonly';
|
|
1712
|
+
readonly revision: number;
|
|
1713
|
+
};
|
|
1714
|
+
export type CompanionConversationResponsePhase = 'processing' | 'completed' | 'failed' | 'canceled' | 'interrupted' | null;
|
|
1715
|
+
export type CompanionConversationBodyProjection = {
|
|
1716
|
+
readonly revision: CompanionCorrelatableId;
|
|
1717
|
+
readonly complete: true;
|
|
1718
|
+
readonly continuation: null;
|
|
1719
|
+
} | {
|
|
1720
|
+
readonly revision: CompanionCorrelatableId;
|
|
1721
|
+
readonly complete: false;
|
|
1722
|
+
readonly continuation: CompanionOpaqueReadReference;
|
|
1723
|
+
};
|
|
1724
|
+
export type CompanionConversationRowV2 = {
|
|
1725
|
+
readonly id: CompanionCorrelatableId;
|
|
1726
|
+
readonly role: 'user' | 'assistant';
|
|
1727
|
+
readonly name: string;
|
|
1728
|
+
readonly text: string;
|
|
1729
|
+
readonly companionIdentity?: CompanionIdentitySnapshotV1;
|
|
1730
|
+
readonly inputMessageIds: readonly CompanionCorrelatableId[];
|
|
1731
|
+
readonly responsePhase: CompanionConversationResponsePhase;
|
|
1732
|
+
readonly body: CompanionConversationBodyProjection;
|
|
1733
|
+
readonly deliveryReceipt?: CompanionDeliveryAcceptedV2;
|
|
1734
|
+
};
|
|
1735
|
+
export type CompanionConversationPageV2 = {
|
|
1736
|
+
readonly kind: 'conversation';
|
|
1737
|
+
readonly v: 2;
|
|
1738
|
+
readonly status: 'available';
|
|
1739
|
+
readonly threadTitle: string;
|
|
1740
|
+
readonly messages: readonly CompanionConversationRowV2[];
|
|
1741
|
+
readonly hasMoreOlder: boolean;
|
|
1742
|
+
readonly olderCursor: CompanionOpaqueReadReference | null;
|
|
1743
|
+
} | {
|
|
1744
|
+
readonly kind: 'conversation';
|
|
1745
|
+
readonly v: 2;
|
|
1746
|
+
readonly status: 'stale';
|
|
1747
|
+
};
|
|
1748
|
+
export type CompanionConversationBodyV2 = {
|
|
1749
|
+
readonly kind: 'conversation-body';
|
|
1750
|
+
readonly v: 2;
|
|
1751
|
+
readonly status: 'available';
|
|
1752
|
+
readonly messageId: CompanionCorrelatableId;
|
|
1753
|
+
readonly text: string;
|
|
1754
|
+
readonly body: CompanionConversationBodyProjection;
|
|
1755
|
+
} | {
|
|
1756
|
+
readonly kind: 'conversation-body';
|
|
1757
|
+
readonly v: 2;
|
|
1758
|
+
readonly status: 'stale' | 'withdrawn';
|
|
1759
|
+
};
|
|
1760
|
+
export type CompanionErrorCode = 'invalid_request' | 'permission_required' | 'unavailable' | 'session_required' | 'busy' | 'selection_changed' | 'carrier_unavailable' | 'cancelled' | 'unconfirmed';
|
|
1761
|
+
export type CompanionReply = {
|
|
1762
|
+
readonly kind: 'ok';
|
|
1763
|
+
} | CompanionState | CompanionWorkOverview | CompanionDecisions | CompanionDecisionTrial | CompanionDeliveryReceipt | CompanionDeliveryReceiptV2 | CompanionConversationDraftV1 | CompanionSettings | CompanionSettingsUpdateReceipt | CompanionLifecycleReceipt | CompanionAppAssistSettlement | {
|
|
1764
|
+
readonly kind: 'selection';
|
|
1765
|
+
readonly selectionId: CompanionSelectionId;
|
|
1766
|
+
} | CompanionConversationPageV2 | CompanionConversationBodyV2 | {
|
|
1767
|
+
readonly kind: 'navigation';
|
|
1768
|
+
readonly delivery: 'requested' | 'applied' | 'queued' | 'blocked' | 'unconfirmed';
|
|
1769
|
+
} | {
|
|
1770
|
+
readonly kind: 'error';
|
|
1771
|
+
readonly code: CompanionErrorCode;
|
|
1772
|
+
} | {
|
|
1773
|
+
readonly kind: 'layout';
|
|
1774
|
+
readonly pet: {
|
|
1775
|
+
readonly x: number;
|
|
1776
|
+
readonly y: number;
|
|
1777
|
+
};
|
|
1778
|
+
readonly panel: {
|
|
1779
|
+
readonly x: number;
|
|
1780
|
+
readonly y: number;
|
|
1781
|
+
readonly width: number;
|
|
1782
|
+
readonly height: number;
|
|
1783
|
+
};
|
|
1784
|
+
readonly bubble?: {
|
|
1785
|
+
readonly x: number;
|
|
1786
|
+
readonly y: number;
|
|
1787
|
+
readonly width: number;
|
|
1788
|
+
readonly height: number;
|
|
1789
|
+
};
|
|
1790
|
+
readonly width: number;
|
|
1791
|
+
readonly height: number;
|
|
1792
|
+
} | {
|
|
1793
|
+
readonly kind: 'conversation';
|
|
1794
|
+
readonly threadTitle: string;
|
|
1795
|
+
readonly messages: readonly ({
|
|
1796
|
+
readonly id: string;
|
|
1797
|
+
readonly role: 'user' | 'assistant';
|
|
1798
|
+
readonly text: string;
|
|
1799
|
+
readonly name: string;
|
|
1800
|
+
readonly companionIdentity?: CompanionIdentitySnapshotV1;
|
|
1801
|
+
})[];
|
|
1802
|
+
readonly hasMore: boolean;
|
|
1803
|
+
} | {
|
|
1804
|
+
readonly kind: 'transcript';
|
|
1805
|
+
readonly scope: CompanionTranscriptScope;
|
|
1806
|
+
readonly rows: readonly CompanionTranscriptRow[];
|
|
1807
|
+
readonly hasMore: boolean;
|
|
1808
|
+
};
|
|
1809
|
+
export type CompanionEvent = {
|
|
1810
|
+
readonly kind: 'media-stopped';
|
|
1811
|
+
readonly reason: 'locked' | 'suspended' | 'hidden' | 'closed' | 'revoked';
|
|
1812
|
+
} | {
|
|
1813
|
+
readonly kind: 'audio';
|
|
1814
|
+
readonly type: 'connected' | 'recovering' | 'recovered' | 'error';
|
|
1815
|
+
readonly callId: CompanionCallId;
|
|
1816
|
+
} | {
|
|
1817
|
+
readonly kind: 'audio';
|
|
1818
|
+
readonly type: 'transcript';
|
|
1819
|
+
readonly role: 'user' | 'assistant';
|
|
1820
|
+
readonly text: string;
|
|
1821
|
+
readonly callId: CompanionCallId;
|
|
1822
|
+
readonly turnId?: string;
|
|
1823
|
+
readonly itemId?: CompanionCorrelatableId;
|
|
1824
|
+
} | {
|
|
1825
|
+
readonly kind: 'audio';
|
|
1826
|
+
readonly type: 'turn-done';
|
|
1827
|
+
readonly role?: 'user' | 'assistant';
|
|
1828
|
+
readonly transcript?: string;
|
|
1829
|
+
readonly callId: CompanionCallId;
|
|
1830
|
+
readonly turnId?: string;
|
|
1831
|
+
} | {
|
|
1832
|
+
readonly kind: 'view-dismiss';
|
|
1833
|
+
};
|
|
1834
|
+
export declare const DOCX_MATERIALIZATION_TEXT_PATTERN = "^[\\u0009\\u000A\\u0020-\\uD7FF\\uE000-\\uFFFD\\u{10000}-\\u{10FFFF}]*(?![\\s\\S])";
|
|
1835
|
+
export declare const DOCX_MATERIALIZATION_AUTHOR_PATTERN = "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\u{10000}-\\u{10FFFF}]*(?![\\s\\S])";
|
|
246
1836
|
export type FixtureMetadata = {
|
|
247
1837
|
readonly executor: 'loopback';
|
|
248
1838
|
readonly domain: 'messaging';
|
|
@@ -302,6 +1892,31 @@ export type FixtureOperation = {
|
|
|
302
1892
|
readonly operation: 'deleteReplayEvents';
|
|
303
1893
|
readonly input: DeleteReplayEventsInput;
|
|
304
1894
|
};
|
|
1895
|
+
export type PluginToHostMethod = 'messaging.send' | 'messaging.appendElements' | 'messaging.subscribe' | 'messaging.read' | 'messaging.ack' | 'messaging.snapshot';
|
|
1896
|
+
export type BehaviorExpectationOracle = {
|
|
1897
|
+
readonly kind: 'behavior-expectation';
|
|
1898
|
+
};
|
|
1899
|
+
export type JsonRpcAdmissionOracle = {
|
|
1900
|
+
readonly kind: 'json-rpc-error';
|
|
1901
|
+
readonly code: -32602;
|
|
1902
|
+
readonly sideEffects: 'behavior-expectation';
|
|
1903
|
+
};
|
|
1904
|
+
export type BehaviorExecution = {
|
|
1905
|
+
readonly plane: 'plugin-to-host-wire';
|
|
1906
|
+
readonly method: PluginToHostMethod;
|
|
1907
|
+
readonly verdictOracle: BehaviorExpectationOracle;
|
|
1908
|
+
} | {
|
|
1909
|
+
readonly plane: 'wire-admission';
|
|
1910
|
+
readonly method: PluginToHostMethod;
|
|
1911
|
+
readonly verdictOracle: JsonRpcAdmissionOracle;
|
|
1912
|
+
} | {
|
|
1913
|
+
readonly plane: 'host-to-plugin-delivery';
|
|
1914
|
+
readonly method: 'host.messaging.deliver';
|
|
1915
|
+
readonly verdictOracle: BehaviorExpectationOracle;
|
|
1916
|
+
} | {
|
|
1917
|
+
readonly plane: 'host-control';
|
|
1918
|
+
readonly verdictOracle: BehaviorExpectationOracle;
|
|
1919
|
+
};
|
|
305
1920
|
export type SendOperationInput = {
|
|
306
1921
|
readonly address: Readonly<Record<string, unknown>>;
|
|
307
1922
|
readonly idempotencyKey: string;
|
|
@@ -344,7 +1959,7 @@ export type PermissionMatrixEntry = {
|
|
|
344
1959
|
readonly firstPartyPreset: boolean;
|
|
345
1960
|
};
|
|
346
1961
|
export type PermissionMatrixInput = {
|
|
347
|
-
readonly entries: readonly 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];
|
|
348
1963
|
};
|
|
349
1964
|
export type DeleteReplayEventsInput = {
|
|
350
1965
|
readonly subscriptionId: string;
|
|
@@ -352,19 +1967,159 @@ export type DeleteReplayEventsInput = {
|
|
|
352
1967
|
};
|
|
353
1968
|
export type SideEffectAssertion = {
|
|
354
1969
|
readonly target: 'messages' | 'output_events' | 'idempotency_ledger' | 'subscription' | 'snapshot' | 'reply_preview' | 'provenance' | 'grant_state' | 'permission_matrix' | 'replay_events';
|
|
355
|
-
readonly assertion: 'unchanged'
|
|
356
|
-
readonly value?:
|
|
1970
|
+
readonly assertion: 'unchanged';
|
|
1971
|
+
readonly value?: never;
|
|
1972
|
+
} | {
|
|
1973
|
+
readonly target: 'messages' | 'output_events' | 'idempotency_ledger' | 'subscription' | 'snapshot' | 'reply_preview' | 'provenance' | 'grant_state' | 'permission_matrix' | 'replay_events';
|
|
1974
|
+
readonly assertion: 'none';
|
|
1975
|
+
readonly value?: never;
|
|
1976
|
+
} | {
|
|
1977
|
+
readonly target: 'messages' | 'output_events' | 'idempotency_ledger' | 'subscription' | 'snapshot' | 'reply_preview' | 'provenance' | 'grant_state' | 'permission_matrix' | 'replay_events';
|
|
1978
|
+
readonly assertion: 'state_equals';
|
|
1979
|
+
readonly value: unknown;
|
|
1980
|
+
} | {
|
|
1981
|
+
readonly target: 'messages' | 'output_events' | 'idempotency_ledger' | 'subscription' | 'snapshot' | 'reply_preview' | 'provenance' | 'grant_state' | 'permission_matrix' | 'replay_events';
|
|
1982
|
+
readonly assertion: 'round_trip';
|
|
1983
|
+
readonly value: unknown;
|
|
1984
|
+
} | {
|
|
1985
|
+
readonly target: 'messages' | 'output_events' | 'idempotency_ledger' | 'subscription' | 'snapshot' | 'reply_preview' | 'provenance' | 'grant_state' | 'permission_matrix' | 'replay_events';
|
|
1986
|
+
readonly assertion: 'matches';
|
|
1987
|
+
readonly value: unknown;
|
|
357
1988
|
};
|
|
358
1989
|
export type ExpectedVerdict = {
|
|
359
|
-
readonly status: 'success'
|
|
360
|
-
readonly errorCode?:
|
|
1990
|
+
readonly status: 'success';
|
|
1991
|
+
readonly errorCode?: never;
|
|
1992
|
+
readonly sideEffects: readonly SideEffectAssertion[];
|
|
1993
|
+
} | {
|
|
1994
|
+
readonly status: 'error';
|
|
1995
|
+
readonly errorCode: MessagingErrorCode;
|
|
361
1996
|
readonly sideEffects: readonly SideEffectAssertion[];
|
|
362
1997
|
};
|
|
363
1998
|
export type BehaviorCase = {
|
|
364
1999
|
readonly id: string;
|
|
365
2000
|
readonly invariant: string;
|
|
2001
|
+
readonly execution: Extract<BehaviorExecution, {
|
|
2002
|
+
readonly plane: 'plugin-to-host-wire';
|
|
2003
|
+
}> & {
|
|
2004
|
+
readonly method: 'messaging.send';
|
|
2005
|
+
} | Extract<BehaviorExecution, {
|
|
2006
|
+
readonly plane: 'wire-admission';
|
|
2007
|
+
}> & {
|
|
2008
|
+
readonly method: 'messaging.send';
|
|
2009
|
+
};
|
|
2010
|
+
readonly given: FixtureSetup;
|
|
2011
|
+
readonly when: Extract<FixtureOperation, {
|
|
2012
|
+
readonly operation: 'send';
|
|
2013
|
+
}>;
|
|
2014
|
+
readonly expect: ExpectedVerdict;
|
|
2015
|
+
} | {
|
|
2016
|
+
readonly id: string;
|
|
2017
|
+
readonly invariant: string;
|
|
2018
|
+
readonly execution: Extract<BehaviorExecution, {
|
|
2019
|
+
readonly plane: 'plugin-to-host-wire';
|
|
2020
|
+
}> & {
|
|
2021
|
+
readonly method: 'messaging.appendElements';
|
|
2022
|
+
} | Extract<BehaviorExecution, {
|
|
2023
|
+
readonly plane: 'wire-admission';
|
|
2024
|
+
}> & {
|
|
2025
|
+
readonly method: 'messaging.appendElements';
|
|
2026
|
+
};
|
|
2027
|
+
readonly given: FixtureSetup;
|
|
2028
|
+
readonly when: Extract<FixtureOperation, {
|
|
2029
|
+
readonly operation: 'appendElements';
|
|
2030
|
+
}>;
|
|
2031
|
+
readonly expect: ExpectedVerdict;
|
|
2032
|
+
} | {
|
|
2033
|
+
readonly id: string;
|
|
2034
|
+
readonly invariant: string;
|
|
2035
|
+
readonly execution: Extract<BehaviorExecution, {
|
|
2036
|
+
readonly plane: 'plugin-to-host-wire';
|
|
2037
|
+
}> & {
|
|
2038
|
+
readonly method: 'messaging.subscribe';
|
|
2039
|
+
} | Extract<BehaviorExecution, {
|
|
2040
|
+
readonly plane: 'wire-admission';
|
|
2041
|
+
}> & {
|
|
2042
|
+
readonly method: 'messaging.subscribe';
|
|
2043
|
+
};
|
|
2044
|
+
readonly given: FixtureSetup;
|
|
2045
|
+
readonly when: Extract<FixtureOperation, {
|
|
2046
|
+
readonly operation: 'subscribe';
|
|
2047
|
+
}>;
|
|
2048
|
+
readonly expect: ExpectedVerdict;
|
|
2049
|
+
} | {
|
|
2050
|
+
readonly id: string;
|
|
2051
|
+
readonly invariant: string;
|
|
2052
|
+
readonly execution: Extract<BehaviorExecution, {
|
|
2053
|
+
readonly plane: 'plugin-to-host-wire';
|
|
2054
|
+
}> & {
|
|
2055
|
+
readonly method: 'messaging.read';
|
|
2056
|
+
} | Extract<BehaviorExecution, {
|
|
2057
|
+
readonly plane: 'wire-admission';
|
|
2058
|
+
}> & {
|
|
2059
|
+
readonly method: 'messaging.read';
|
|
2060
|
+
};
|
|
2061
|
+
readonly given: FixtureSetup;
|
|
2062
|
+
readonly when: Extract<FixtureOperation, {
|
|
2063
|
+
readonly operation: 'read';
|
|
2064
|
+
}>;
|
|
2065
|
+
readonly expect: ExpectedVerdict;
|
|
2066
|
+
} | {
|
|
2067
|
+
readonly id: string;
|
|
2068
|
+
readonly invariant: string;
|
|
2069
|
+
readonly execution: Extract<BehaviorExecution, {
|
|
2070
|
+
readonly plane: 'plugin-to-host-wire';
|
|
2071
|
+
}> & {
|
|
2072
|
+
readonly method: 'messaging.ack';
|
|
2073
|
+
} | Extract<BehaviorExecution, {
|
|
2074
|
+
readonly plane: 'wire-admission';
|
|
2075
|
+
}> & {
|
|
2076
|
+
readonly method: 'messaging.ack';
|
|
2077
|
+
};
|
|
2078
|
+
readonly given: FixtureSetup;
|
|
2079
|
+
readonly when: Extract<FixtureOperation, {
|
|
2080
|
+
readonly operation: 'ack';
|
|
2081
|
+
}>;
|
|
2082
|
+
readonly expect: ExpectedVerdict;
|
|
2083
|
+
} | {
|
|
2084
|
+
readonly id: string;
|
|
2085
|
+
readonly invariant: string;
|
|
2086
|
+
readonly execution: Extract<BehaviorExecution, {
|
|
2087
|
+
readonly plane: 'plugin-to-host-wire';
|
|
2088
|
+
}> & {
|
|
2089
|
+
readonly method: 'messaging.snapshot';
|
|
2090
|
+
} | Extract<BehaviorExecution, {
|
|
2091
|
+
readonly plane: 'wire-admission';
|
|
2092
|
+
}> & {
|
|
2093
|
+
readonly method: 'messaging.snapshot';
|
|
2094
|
+
};
|
|
2095
|
+
readonly given: FixtureSetup;
|
|
2096
|
+
readonly when: Extract<FixtureOperation, {
|
|
2097
|
+
readonly operation: 'snapshot';
|
|
2098
|
+
}>;
|
|
2099
|
+
readonly expect: ExpectedVerdict;
|
|
2100
|
+
} | {
|
|
2101
|
+
readonly id: string;
|
|
2102
|
+
readonly invariant: string;
|
|
2103
|
+
readonly execution: Extract<BehaviorExecution, {
|
|
2104
|
+
readonly plane: 'host-to-plugin-delivery';
|
|
2105
|
+
}> & {
|
|
2106
|
+
readonly method: 'host.messaging.deliver';
|
|
2107
|
+
};
|
|
2108
|
+
readonly given: FixtureSetup;
|
|
2109
|
+
readonly when: Extract<FixtureOperation, {
|
|
2110
|
+
readonly operation: 'deliverOnMessage';
|
|
2111
|
+
}>;
|
|
2112
|
+
readonly expect: ExpectedVerdict;
|
|
2113
|
+
} | {
|
|
2114
|
+
readonly id: string;
|
|
2115
|
+
readonly invariant: string;
|
|
2116
|
+
readonly execution: Extract<BehaviorExecution, {
|
|
2117
|
+
readonly plane: 'host-control';
|
|
2118
|
+
}>;
|
|
366
2119
|
readonly given: FixtureSetup;
|
|
367
|
-
readonly when: FixtureOperation
|
|
2120
|
+
readonly when: Extract<FixtureOperation, {
|
|
2121
|
+
readonly operation: 'applyGrantPreset' | 'revokeGrant' | 'checkPermissionMatrix' | 'deleteReplayEvents';
|
|
2122
|
+
}>;
|
|
368
2123
|
readonly expect: ExpectedVerdict;
|
|
369
2124
|
};
|
|
370
2125
|
export type BehaviorFixture = {
|
|
@@ -373,14 +2128,14 @@ export type BehaviorFixture = {
|
|
|
373
2128
|
};
|
|
374
2129
|
export declare const L0_CAPABILITIES: readonly ["plugin.config.read", "plugin.state.get", "plugin.state.set"];
|
|
375
2130
|
export type L0Capability = (typeof L0_CAPABILITIES)[number];
|
|
376
|
-
export declare const L1_CAPABILITIES: readonly ["messaging.send", "schedule.register", "
|
|
2131
|
+
export declare const L1_CAPABILITIES: readonly ["messaging.send", "schedule.register", "messaging.appendElements", "streams.read"];
|
|
377
2132
|
export type L1Capability = (typeof L1_CAPABILITIES)[number];
|
|
378
|
-
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"];
|
|
379
2134
|
export type L2Capability = (typeof L2_CAPABILITIES)[number];
|
|
380
2135
|
export declare const CAPABILITY_TABLE: {
|
|
381
2136
|
readonly L0: readonly ["plugin.config.read", "plugin.state.get", "plugin.state.set"];
|
|
382
|
-
readonly L1: readonly ["messaging.send", "schedule.register", "
|
|
383
|
-
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"];
|
|
384
2139
|
};
|
|
385
2140
|
export type AuthorizationLayer = keyof typeof CAPABILITY_TABLE;
|
|
386
2141
|
export declare const DATA_CLASS_ALLOWED_STRATEGIES: {
|
|
@@ -400,6 +2155,12 @@ export declare const MESSAGING_BOUNDS: {
|
|
|
400
2155
|
readonly maxElementIdLength: 128;
|
|
401
2156
|
readonly maxElementsPerMessage: 128;
|
|
402
2157
|
readonly maxAppendOpsPerMessage: 64;
|
|
2158
|
+
readonly maxMessageIdLength: 512;
|
|
2159
|
+
readonly maxThreadIdLength: 512;
|
|
2160
|
+
readonly maxActorIdLength: 512;
|
|
2161
|
+
readonly maxMessageHandleTokenLength: 512;
|
|
2162
|
+
readonly maxEventIdLength: 720;
|
|
2163
|
+
readonly maxOccurredAtLength: 27;
|
|
403
2164
|
};
|
|
404
2165
|
/**
|
|
405
2166
|
* @signed(G-0 2026-07-15)
|