@clowder-ai/plugin-contract 0.1.0-beta.2 → 0.1.0-beta.20
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 +201 -19
- 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 -0
- package/dist/conformance/index.d.ts.map +1 -1
- package/dist/conformance/index.js +3 -0
- 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 +22 -2
- package/dist/conformance/runner.js.map +1 -1
- package/dist/conformance/stdio-harness/child-process-harness.d.ts +65 -0
- package/dist/conformance/stdio-harness/child-process-harness.d.ts.map +1 -0
- package/dist/conformance/stdio-harness/child-process-harness.js +296 -0
- package/dist/conformance/stdio-harness/child-process-harness.js.map +1 -0
- package/dist/conformance/stdio-harness/dual-transport-oracle.d.ts +26 -0
- package/dist/conformance/stdio-harness/dual-transport-oracle.d.ts.map +1 -0
- package/dist/conformance/stdio-harness/dual-transport-oracle.js +32 -0
- package/dist/conformance/stdio-harness/dual-transport-oracle.js.map +1 -0
- package/dist/conformance/stdio-harness/harness-process-spawn.d.ts +27 -0
- package/dist/conformance/stdio-harness/harness-process-spawn.d.ts.map +1 -0
- package/dist/conformance/stdio-harness/harness-process-spawn.js +43 -0
- package/dist/conformance/stdio-harness/harness-process-spawn.js.map +1 -0
- package/dist/conformance/stdio-harness/index.d.ts +5 -0
- package/dist/conformance/stdio-harness/index.d.ts.map +1 -0
- package/dist/conformance/stdio-harness/index.js +4 -0
- package/dist/conformance/stdio-harness/index.js.map +1 -0
- package/dist/conformance/stdio-harness/ndjson-frame.d.ts +31 -0
- package/dist/conformance/stdio-harness/ndjson-frame.d.ts.map +1 -0
- package/dist/conformance/stdio-harness/ndjson-frame.js +125 -0
- package/dist/conformance/stdio-harness/ndjson-frame.js.map +1 -0
- package/dist/conformance/stdio-harness/node-process-tree-runtime.d.ts +15 -0
- package/dist/conformance/stdio-harness/node-process-tree-runtime.d.ts.map +1 -0
- package/dist/conformance/stdio-harness/node-process-tree-runtime.js +78 -0
- package/dist/conformance/stdio-harness/node-process-tree-runtime.js.map +1 -0
- package/dist/conformance/stdio-harness/process-tree-controller.d.ts +51 -0
- package/dist/conformance/stdio-harness/process-tree-controller.d.ts.map +1 -0
- package/dist/conformance/stdio-harness/process-tree-controller.js +162 -0
- package/dist/conformance/stdio-harness/process-tree-controller.js.map +1 -0
- package/dist/conformance/stdio-harness/windows-sentinel.d.ts +15 -0
- package/dist/conformance/stdio-harness/windows-sentinel.d.ts.map +1 -0
- package/dist/conformance/stdio-harness/windows-sentinel.js +160 -0
- package/dist/conformance/stdio-harness/windows-sentinel.js.map +1 -0
- package/dist/conformance/stdio-harness/wire-shape.d.ts +18 -0
- package/dist/conformance/stdio-harness/wire-shape.d.ts.map +1 -0
- package/dist/conformance/stdio-harness/wire-shape.js +2 -0
- package/dist/conformance/stdio-harness/wire-shape.js.map +1 -0
- 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 +957 -12
- package/dist/generated/contract.generated.d.ts.map +1 -1
- package/dist/generated/contract.generated.js +9 -1
- package/dist/generated/contract.generated.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -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/companion-bridge.d.ts +6 -0
- package/dist/validation/companion-bridge.d.ts.map +1 -0
- package/dist/validation/companion-bridge.js +57 -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 +6 -0
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +6 -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 +160 -0
- package/dist/validation/manifest.js.map +1 -0
- package/dist/validation/messaging-semantic.d.ts.map +1 -1
- package/dist/validation/messaging-semantic.js +49 -0
- package/dist/validation/messaging-semantic.js.map +1 -1
- package/dist/validation/messaging-wire.d.ts +38 -0
- package/dist/validation/messaging-wire.d.ts.map +1 -0
- package/dist/validation/messaging-wire.js +164 -0
- package/dist/validation/messaging-wire.js.map +1 -0
- package/dist/validation/signals.d.ts +26 -0
- package/dist/validation/signals.d.ts.map +1 -0
- package/dist/validation/signals.js +206 -0
- package/dist/validation/signals.js.map +1 -0
- package/dist/wire/constants.d.ts +36 -0
- package/dist/wire/constants.d.ts.map +1 -0
- package/dist/wire/constants.js +36 -0
- package/dist/wire/constants.js.map +1 -0
- package/dist/wire/disposition-fixtures.d.ts +118 -0
- package/dist/wire/disposition-fixtures.d.ts.map +1 -0
- package/dist/wire/disposition-fixtures.js +1881 -0
- package/dist/wire/disposition-fixtures.js.map +1 -0
- package/dist/wire/disposition.d.ts +102 -0
- package/dist/wire/disposition.d.ts.map +1 -0
- package/dist/wire/disposition.js +217 -0
- package/dist/wire/disposition.js.map +1 -0
- package/dist/wire/envelope.d.ts +253 -0
- package/dist/wire/envelope.d.ts.map +1 -0
- package/dist/wire/envelope.js +19 -0
- package/dist/wire/envelope.js.map +1 -0
- package/dist/wire/errors.d.ts +222 -0
- package/dist/wire/errors.d.ts.map +1 -0
- package/dist/wire/errors.js +153 -0
- package/dist/wire/errors.js.map +1 -0
- package/dist/wire/grants.d.ts +57 -0
- package/dist/wire/grants.d.ts.map +1 -0
- package/dist/wire/grants.js +59 -0
- package/dist/wire/grants.js.map +1 -0
- 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 +173 -0
- package/dist/wire/handshake-byte-bounds.js.map +1 -0
- package/dist/wire/handshake.d.ts +146 -0
- package/dist/wire/handshake.d.ts.map +1 -0
- package/dist/wire/handshake.js +189 -0
- package/dist/wire/handshake.js.map +1 -0
- package/dist/wire/index.d.ts +37 -0
- package/dist/wire/index.d.ts.map +1 -0
- package/dist/wire/index.js +61 -0
- package/dist/wire/index.js.map +1 -0
- package/dist/wire/lifecycle-byte-bounds.d.ts +55 -0
- package/dist/wire/lifecycle-byte-bounds.d.ts.map +1 -0
- package/dist/wire/lifecycle-byte-bounds.js +209 -0
- package/dist/wire/lifecycle-byte-bounds.js.map +1 -0
- package/dist/wire/messaging-byte-bounds.d.ts +61 -0
- package/dist/wire/messaging-byte-bounds.d.ts.map +1 -0
- package/dist/wire/messaging-byte-bounds.js +459 -0
- package/dist/wire/messaging-byte-bounds.js.map +1 -0
- package/dist/wire/registry.d.ts +294 -0
- package/dist/wire/registry.d.ts.map +1 -0
- package/dist/wire/registry.js +256 -0
- package/dist/wire/registry.js.map +1 -0
- package/dist/wire/request-id.d.ts +34 -0
- package/dist/wire/request-id.d.ts.map +1 -0
- package/dist/wire/request-id.js +40 -0
- package/dist/wire/request-id.js.map +1 -0
- package/dist/wire/row-shapes.d.ts +217 -0
- package/dist/wire/row-shapes.d.ts.map +1 -0
- package/dist/wire/row-shapes.js +75 -0
- package/dist/wire/row-shapes.js.map +1 -0
- package/dist/wire/signal-byte-bounds.d.ts +97 -0
- package/dist/wire/signal-byte-bounds.d.ts.map +1 -0
- package/dist/wire/signal-byte-bounds.js +229 -0
- package/dist/wire/signal-byte-bounds.js.map +1 -0
- package/dist/wire/wire-uint53.d.ts +26 -0
- package/dist/wire/wire-uint53.d.ts.map +1 -0
- package/dist/wire/wire-uint53.js +32 -0
- package/dist/wire/wire-uint53.js.map +1 -0
- package/fixtures/behavior/messaging/adversarial-invariants.json +85 -0
- package/fixtures/manifest/invalid/duplicate-signal-type.json +33 -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/destination-injection.json +15 -0
- package/fixtures/signals/invalid/dynamic-schema-url.json +10 -0
- package/fixtures/signals/invalid/forbidden-raw-privacy.json +10 -0
- package/fixtures/signals/invalid/non-utc-occurred-at.json +12 -0
- package/fixtures/signals/valid/feishu-meeting-artifact.json +18 -0
- package/fixtures/signals/valid/remote-service-declaration.json +10 -0
- package/package.json +19 -6
- package/src/schemas/behavior-fixture.schema.json +262 -2
- package/src/schemas/catalog.schema.json +91 -0
- package/src/schemas/companion-bridge.schema.json +937 -0
- package/src/schemas/docx-materialization.schema.json +302 -0
- package/src/schemas/manifest.schema.json +490 -4
- package/src/schemas/messaging.schema.json +209 -32
- package/src/schemas/physical-limb.schema.json +319 -0
- package/src/schemas/plugin-metadata.schema.json +62 -0
- package/src/schemas/signal.schema.json +129 -0
|
@@ -1,7 +1,21 @@
|
|
|
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;
|
|
5
19
|
export type SemVer = string;
|
|
6
20
|
export type DataClass = 'cache' | 'ephemeral' | 'user-authored' | 'derived-user-visible' | 'relationship' | 'interaction-history';
|
|
7
21
|
export type DataStrategy = 'lifecycle' | 'retained' | 'ask-on-uninstall';
|
|
@@ -41,17 +55,246 @@ export type ResourceReference = {
|
|
|
41
55
|
readonly type: string;
|
|
42
56
|
readonly id: string;
|
|
43
57
|
};
|
|
58
|
+
export type ContributionReference = {
|
|
59
|
+
readonly type: 'identity' | 'schedule' | 'tool' | 'mcp' | 'skill' | 'limb' | 'webhook' | 'message-subscription' | 'service' | 'connector' | 'ui' | 'content-editor-provider' | 'desktop-window';
|
|
60
|
+
readonly id: string;
|
|
61
|
+
};
|
|
62
|
+
export type PackageRelativePath = string;
|
|
63
|
+
export type ConfigurationOption = {
|
|
64
|
+
readonly value: string;
|
|
65
|
+
readonly label: string;
|
|
66
|
+
readonly hint?: string;
|
|
67
|
+
readonly docsUrl?: string;
|
|
68
|
+
};
|
|
69
|
+
export type ConfigurationField = {
|
|
70
|
+
readonly key: string;
|
|
71
|
+
readonly label: string;
|
|
72
|
+
readonly description?: string;
|
|
73
|
+
readonly kind: 'string';
|
|
74
|
+
readonly required: boolean;
|
|
75
|
+
readonly default?: string;
|
|
76
|
+
readonly options?: never;
|
|
77
|
+
} | {
|
|
78
|
+
readonly key: string;
|
|
79
|
+
readonly label: string;
|
|
80
|
+
readonly description?: string;
|
|
81
|
+
readonly kind: 'secret';
|
|
82
|
+
readonly required: boolean;
|
|
83
|
+
readonly default?: never;
|
|
84
|
+
readonly options?: never;
|
|
85
|
+
} | {
|
|
86
|
+
readonly key: string;
|
|
87
|
+
readonly label: string;
|
|
88
|
+
readonly description?: string;
|
|
89
|
+
readonly kind: 'select';
|
|
90
|
+
readonly required: boolean;
|
|
91
|
+
readonly default?: string;
|
|
92
|
+
readonly options: readonly ConfigurationOption[];
|
|
93
|
+
} | {
|
|
94
|
+
readonly key: string;
|
|
95
|
+
readonly label: string;
|
|
96
|
+
readonly description?: string;
|
|
97
|
+
readonly kind: 'boolean';
|
|
98
|
+
readonly required: boolean;
|
|
99
|
+
readonly default?: boolean;
|
|
100
|
+
readonly options?: never;
|
|
101
|
+
} | {
|
|
102
|
+
readonly key: string;
|
|
103
|
+
readonly label: string;
|
|
104
|
+
readonly description?: string;
|
|
105
|
+
readonly kind: 'number';
|
|
106
|
+
readonly required: boolean;
|
|
107
|
+
readonly default?: number;
|
|
108
|
+
readonly options?: never;
|
|
109
|
+
} | {
|
|
110
|
+
readonly key: string;
|
|
111
|
+
readonly label: string;
|
|
112
|
+
readonly description?: string;
|
|
113
|
+
readonly kind: 'url';
|
|
114
|
+
readonly required: boolean;
|
|
115
|
+
readonly default?: string;
|
|
116
|
+
readonly options?: never;
|
|
117
|
+
};
|
|
118
|
+
export type EnvironmentBinding = {
|
|
119
|
+
readonly source: 'config';
|
|
120
|
+
readonly key: string;
|
|
121
|
+
} | {
|
|
122
|
+
readonly source: 'secret';
|
|
123
|
+
readonly key: string;
|
|
124
|
+
};
|
|
125
|
+
export type ContributionRuntime = {
|
|
126
|
+
readonly transport: 'stdio' | 'ipc';
|
|
127
|
+
readonly entrypoint: PackageRelativePath;
|
|
128
|
+
readonly args?: readonly string[];
|
|
129
|
+
};
|
|
130
|
+
export type CallbackAction = {
|
|
131
|
+
readonly method: string;
|
|
132
|
+
readonly params?: Readonly<Record<string, unknown>>;
|
|
133
|
+
};
|
|
134
|
+
export type IdentityContribution = {
|
|
135
|
+
readonly type: 'identity';
|
|
136
|
+
readonly id: string;
|
|
137
|
+
readonly displayName: string;
|
|
138
|
+
readonly icon?: string;
|
|
139
|
+
readonly color?: string;
|
|
140
|
+
};
|
|
141
|
+
export type ScheduleContribution = {
|
|
142
|
+
readonly type: 'schedule';
|
|
143
|
+
readonly id: string;
|
|
144
|
+
readonly schedule: {
|
|
145
|
+
readonly kind: 'interval';
|
|
146
|
+
readonly everyMs: number;
|
|
147
|
+
} | {
|
|
148
|
+
readonly kind: 'cron';
|
|
149
|
+
readonly expression: string;
|
|
150
|
+
};
|
|
151
|
+
readonly action: CallbackAction;
|
|
152
|
+
readonly policy: {
|
|
153
|
+
readonly overlap: 'skip';
|
|
154
|
+
readonly timeoutMs: number;
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
export type DirectToolContribution = {
|
|
158
|
+
readonly type: 'tool';
|
|
159
|
+
readonly id: string;
|
|
160
|
+
readonly name: string;
|
|
161
|
+
readonly description?: string;
|
|
162
|
+
readonly inputSchema: Readonly<Record<string, unknown>>;
|
|
163
|
+
readonly action: CallbackAction;
|
|
164
|
+
};
|
|
165
|
+
export type McpContribution = {
|
|
166
|
+
readonly type: 'mcp';
|
|
167
|
+
readonly id: string;
|
|
168
|
+
readonly runtime: ContributionRuntime;
|
|
169
|
+
readonly environment?: Readonly<Record<string, EnvironmentBinding>>;
|
|
170
|
+
};
|
|
171
|
+
export type SkillContribution = {
|
|
172
|
+
readonly type: 'skill';
|
|
173
|
+
readonly id: string;
|
|
174
|
+
readonly path: PackageRelativePath;
|
|
175
|
+
};
|
|
176
|
+
export type LimbContribution = {
|
|
177
|
+
readonly type: 'limb';
|
|
178
|
+
readonly id: string;
|
|
179
|
+
readonly manifestPath: PackageRelativePath;
|
|
180
|
+
};
|
|
181
|
+
export type WebhookContribution = {
|
|
182
|
+
readonly type: 'webhook';
|
|
183
|
+
readonly id: string;
|
|
184
|
+
readonly path: string;
|
|
185
|
+
readonly methods: readonly ('GET' | 'POST' | 'PUT' | 'DELETE')[];
|
|
186
|
+
readonly action: CallbackAction;
|
|
187
|
+
readonly verificationSecretRef?: string;
|
|
188
|
+
};
|
|
189
|
+
export type MessageSubscriptionContribution = {
|
|
190
|
+
readonly type: 'message-subscription';
|
|
191
|
+
readonly id: string;
|
|
192
|
+
readonly binding: string;
|
|
193
|
+
readonly filter?: Readonly<Record<string, unknown>>;
|
|
194
|
+
readonly action: CallbackAction;
|
|
195
|
+
};
|
|
196
|
+
export type ServiceContribution = {
|
|
197
|
+
readonly type: 'service';
|
|
198
|
+
readonly id: string;
|
|
199
|
+
readonly runtime: ContributionRuntime;
|
|
200
|
+
readonly healthMethod: string;
|
|
201
|
+
readonly environment?: Readonly<Record<string, EnvironmentBinding>>;
|
|
202
|
+
};
|
|
203
|
+
export type ConnectorContribution = {
|
|
204
|
+
readonly type: 'connector';
|
|
205
|
+
readonly id: string;
|
|
206
|
+
readonly identityRef: string;
|
|
207
|
+
readonly inboundMethod: string;
|
|
208
|
+
readonly outboundMethod: string;
|
|
209
|
+
};
|
|
210
|
+
export type UiWhenClause = {
|
|
211
|
+
readonly featureEnabled?: boolean;
|
|
212
|
+
readonly requiresCapabilities?: readonly Capability[];
|
|
213
|
+
};
|
|
214
|
+
export type UiAnchor = {
|
|
215
|
+
readonly position: 'before' | 'after';
|
|
216
|
+
readonly target: string;
|
|
217
|
+
};
|
|
218
|
+
export type UiCommandContribution = {
|
|
219
|
+
readonly type: 'ui';
|
|
220
|
+
readonly id: string;
|
|
221
|
+
readonly kind: 'command';
|
|
222
|
+
readonly label: string;
|
|
223
|
+
readonly action: CallbackAction;
|
|
224
|
+
readonly when?: UiWhenClause;
|
|
225
|
+
};
|
|
226
|
+
export type UiSlotItemContribution = {
|
|
227
|
+
readonly type: 'ui';
|
|
228
|
+
readonly id: string;
|
|
229
|
+
readonly kind: 'slot-item';
|
|
230
|
+
readonly label: string;
|
|
231
|
+
readonly command: string;
|
|
232
|
+
readonly group: string;
|
|
233
|
+
readonly anchor?: UiAnchor;
|
|
234
|
+
readonly order?: number;
|
|
235
|
+
readonly when?: UiWhenClause;
|
|
236
|
+
};
|
|
237
|
+
export type UiMessageElementContribution = {
|
|
238
|
+
readonly type: 'ui';
|
|
239
|
+
readonly id: string;
|
|
240
|
+
readonly kind: 'message-element';
|
|
241
|
+
readonly label: string;
|
|
242
|
+
readonly elementKind: string;
|
|
243
|
+
readonly renderer: string;
|
|
244
|
+
readonly when?: UiWhenClause;
|
|
245
|
+
};
|
|
246
|
+
export type UiContribution = UiCommandContribution | UiSlotItemContribution | UiMessageElementContribution;
|
|
247
|
+
export type SemanticMaterializerDeclaration = {
|
|
248
|
+
readonly executionClass: 'dedicated-browser-worker';
|
|
249
|
+
readonly entrypoint: PackageRelativePath & `${string}.js`;
|
|
250
|
+
readonly integrity: string;
|
|
251
|
+
readonly protocolVersion: '1.0.0';
|
|
252
|
+
};
|
|
253
|
+
export type DesktopWindowContribution = {
|
|
254
|
+
readonly type: 'desktop-window';
|
|
255
|
+
readonly id: string;
|
|
256
|
+
readonly role: 'companion';
|
|
257
|
+
readonly surface: {
|
|
258
|
+
readonly entrypoint: PackageRelativePath & `${string}.html`;
|
|
259
|
+
readonly integrity: string;
|
|
260
|
+
};
|
|
261
|
+
readonly bridgeVersion: '1.0.0' | '1.1.0' | '1.2.0' | '1.3.0';
|
|
262
|
+
readonly presentation: {
|
|
263
|
+
readonly width: number;
|
|
264
|
+
readonly height: number;
|
|
265
|
+
readonly transparent: true;
|
|
266
|
+
readonly frame: false;
|
|
267
|
+
readonly alwaysOnTop: boolean;
|
|
268
|
+
readonly skipTaskbar: boolean;
|
|
269
|
+
};
|
|
270
|
+
};
|
|
271
|
+
export type ContentEditorProviderContribution = {
|
|
272
|
+
readonly type: 'content-editor-provider';
|
|
273
|
+
readonly id: string;
|
|
274
|
+
readonly mediaTypes: readonly ['application/vnd.openxmlformats-officedocument.wordprocessingml.document'];
|
|
275
|
+
readonly surface: {
|
|
276
|
+
readonly entrypoint: PackageRelativePath;
|
|
277
|
+
readonly integrity: string;
|
|
278
|
+
readonly sandbox: 'dedicated-origin-iframe';
|
|
279
|
+
readonly navigationPolicy: 'navigation-api-deny';
|
|
280
|
+
};
|
|
281
|
+
readonly bridgeVersion: '1.0.0';
|
|
282
|
+
readonly semanticMaterializer?: SemanticMaterializerDeclaration;
|
|
283
|
+
readonly operations: readonly ['load' | 'settle' | 'comment' | 'tracked-change', 'load' | 'settle' | 'comment' | 'tracked-change', 'load' | 'settle' | 'comment' | 'tracked-change', 'load' | 'settle' | 'comment' | 'tracked-change'];
|
|
284
|
+
};
|
|
285
|
+
export type StaticContribution = IdentityContribution | ScheduleContribution | DirectToolContribution | McpContribution | SkillContribution | LimbContribution | WebhookContribution | MessageSubscriptionContribution | ServiceContribution | ConnectorContribution | UiContribution | ContentEditorProviderContribution | DesktopWindowContribution;
|
|
44
286
|
export type PluginFeature = {
|
|
45
287
|
readonly id: string;
|
|
46
288
|
readonly name: string;
|
|
47
289
|
readonly resources: readonly ResourceReference[];
|
|
290
|
+
readonly contributions?: readonly ContributionReference[];
|
|
48
291
|
readonly capabilities: readonly Capability[];
|
|
49
292
|
};
|
|
50
293
|
export type RuntimeTransport = 'stdio' | 'ipc' | 'builtin';
|
|
51
294
|
export type ExternalRuntimeTransport = 'stdio' | 'ipc';
|
|
52
295
|
export type ExternalRuntimeDeclaration = {
|
|
53
296
|
readonly transport: ExternalRuntimeTransport;
|
|
54
|
-
readonly entrypoint:
|
|
297
|
+
readonly entrypoint: PackageRelativePath;
|
|
55
298
|
};
|
|
56
299
|
export type BuiltinRuntimeDeclaration = {
|
|
57
300
|
readonly transport: 'builtin';
|
|
@@ -63,10 +306,87 @@ export type PluginManifest = {
|
|
|
63
306
|
readonly version: SemVer;
|
|
64
307
|
readonly contractVersion: SemVer;
|
|
65
308
|
readonly name: string;
|
|
66
|
-
readonly description?:
|
|
309
|
+
readonly description?: LocalizedDescription;
|
|
310
|
+
readonly icon?: PluginIcon;
|
|
311
|
+
readonly configuration?: readonly ConfigurationField[];
|
|
312
|
+
readonly contributions?: readonly StaticContribution[];
|
|
67
313
|
readonly features: readonly PluginFeature[];
|
|
68
314
|
readonly data?: readonly DataDeclaration[];
|
|
69
315
|
readonly runtime: RuntimeDeclaration;
|
|
316
|
+
readonly signals?: SignalContribution;
|
|
317
|
+
};
|
|
318
|
+
export type CatalogSemVer = string;
|
|
319
|
+
export type CatalogPublisher = {
|
|
320
|
+
readonly id: string;
|
|
321
|
+
readonly name: string;
|
|
322
|
+
};
|
|
323
|
+
export type ArtifactProvenance = {
|
|
324
|
+
readonly repository: string;
|
|
325
|
+
readonly sourceDirectory: string;
|
|
326
|
+
};
|
|
327
|
+
export type NpmArtifact = {
|
|
328
|
+
readonly kind: 'npm';
|
|
329
|
+
readonly packageName: string;
|
|
330
|
+
readonly version: CatalogSemVer;
|
|
331
|
+
readonly tarballUrl: string;
|
|
332
|
+
readonly integrity: string;
|
|
333
|
+
readonly shasum: string;
|
|
334
|
+
readonly provenance: ArtifactProvenance;
|
|
335
|
+
};
|
|
336
|
+
export type CatalogPluginVersion = {
|
|
337
|
+
readonly version: CatalogSemVer;
|
|
338
|
+
readonly contractVersion: CatalogSemVer;
|
|
339
|
+
readonly manifestPath: 'plugin.yaml';
|
|
340
|
+
readonly artifact: NpmArtifact;
|
|
341
|
+
};
|
|
342
|
+
export type CatalogPluginEntry = {
|
|
343
|
+
readonly pluginId: string;
|
|
344
|
+
readonly name: string;
|
|
345
|
+
readonly description: LocalizedDescription;
|
|
346
|
+
readonly icon: PluginIcon;
|
|
347
|
+
readonly publisher: CatalogPublisher;
|
|
348
|
+
readonly keywords?: readonly string[];
|
|
349
|
+
readonly versions: readonly CatalogPluginVersion[];
|
|
350
|
+
};
|
|
351
|
+
export type PluginCatalog = {
|
|
352
|
+
readonly schemaVersion: '1';
|
|
353
|
+
readonly plugins: readonly CatalogPluginEntry[];
|
|
354
|
+
};
|
|
355
|
+
export type SignalType = string;
|
|
356
|
+
export type SignalSchemaRef = string;
|
|
357
|
+
export type SignalEpistemicStatus = 'observation' | 'inference';
|
|
358
|
+
export type SignalPrivacyClass = 'behavioral' | 'content-adjacent' | 'content' | 'av-raw' | 'input-raw';
|
|
359
|
+
export type AdmissibleSignalPrivacyClass = 'behavioral' | 'content-adjacent' | 'content';
|
|
360
|
+
export type SignalSourceClass = 'os-metadata' | 'accessibility-api' | 'remote-service' | 'av-capture' | 'input-hardware';
|
|
361
|
+
export type AdmissibleSignalSourceClass = 'os-metadata' | 'accessibility-api' | 'remote-service';
|
|
362
|
+
export type SignalDeclaration = {
|
|
363
|
+
readonly type: SignalType;
|
|
364
|
+
readonly schemaRef: SignalSchemaRef;
|
|
365
|
+
readonly epistemicStatus: SignalEpistemicStatus;
|
|
366
|
+
readonly privacyClass: AdmissibleSignalPrivacyClass;
|
|
367
|
+
readonly sourceClass: AdmissibleSignalSourceClass;
|
|
368
|
+
};
|
|
369
|
+
export type SignalContribution = {
|
|
370
|
+
readonly provides: readonly SignalDeclaration[];
|
|
371
|
+
};
|
|
372
|
+
export type SignalEventId = string;
|
|
373
|
+
export type SignalIdempotencyKey = string;
|
|
374
|
+
export type OpaqueSourceHandle = string;
|
|
375
|
+
export type SignalSourceRef = {
|
|
376
|
+
readonly handle: OpaqueSourceHandle;
|
|
377
|
+
};
|
|
378
|
+
export type EventsPublishInput = {
|
|
379
|
+
readonly signalType: SignalType;
|
|
380
|
+
readonly eventId: SignalEventId;
|
|
381
|
+
readonly idempotencyKey: SignalIdempotencyKey;
|
|
382
|
+
readonly occurredAt: string;
|
|
383
|
+
readonly payload: Readonly<Record<string, unknown>>;
|
|
384
|
+
readonly source: SignalSourceRef;
|
|
385
|
+
};
|
|
386
|
+
export type EventsPublishDisposition = 'accepted' | 'duplicate';
|
|
387
|
+
export type EventsPublishResult = {
|
|
388
|
+
readonly publicationId: SignalEventId;
|
|
389
|
+
readonly disposition: EventsPublishDisposition;
|
|
70
390
|
};
|
|
71
391
|
export type ActorKind = 'user' | 'cat' | 'plugin' | 'device' | 'system';
|
|
72
392
|
export type ActorRef = {
|
|
@@ -171,6 +491,7 @@ export type MessageDraft = {
|
|
|
171
491
|
readonly replyTo?: string;
|
|
172
492
|
readonly payload: DraftPayload;
|
|
173
493
|
};
|
|
494
|
+
export type OccurredAt = string | string;
|
|
174
495
|
export type MessageEnvelope = {
|
|
175
496
|
readonly messageId: string;
|
|
176
497
|
readonly revision: number;
|
|
@@ -178,7 +499,7 @@ export type MessageEnvelope = {
|
|
|
178
499
|
readonly replyTo?: string;
|
|
179
500
|
readonly actor: ActorRef;
|
|
180
501
|
readonly audience: CanonicalAudience;
|
|
181
|
-
readonly occurredAt:
|
|
502
|
+
readonly occurredAt: OccurredAt;
|
|
182
503
|
readonly payload: MessagePayload;
|
|
183
504
|
};
|
|
184
505
|
export type MessagePublishEvent = {
|
|
@@ -203,6 +524,7 @@ export type SendReceipt = {
|
|
|
203
524
|
readonly messageId: string;
|
|
204
525
|
readonly threadId: string;
|
|
205
526
|
readonly revision: number;
|
|
527
|
+
readonly messageHandle: MessageHandle;
|
|
206
528
|
readonly publishSequence?: number;
|
|
207
529
|
};
|
|
208
530
|
export type AppendReceipt = {
|
|
@@ -229,12 +551,12 @@ export type SubscriptionNormalResponse = {
|
|
|
229
551
|
readonly stale: false;
|
|
230
552
|
};
|
|
231
553
|
export type SubscriptionEmptyResponse = {
|
|
232
|
-
readonly events: readonly
|
|
554
|
+
readonly events: readonly [];
|
|
233
555
|
readonly ackToken: null;
|
|
234
556
|
readonly stale: false;
|
|
235
557
|
};
|
|
236
558
|
export type SubscriptionStaleResponse = {
|
|
237
|
-
readonly events: readonly
|
|
559
|
+
readonly events: readonly [];
|
|
238
560
|
readonly ackToken: null;
|
|
239
561
|
readonly stale: true;
|
|
240
562
|
};
|
|
@@ -243,6 +565,458 @@ export type SnapshotResponse = {
|
|
|
243
565
|
readonly envelopes: readonly MessageEnvelope[];
|
|
244
566
|
readonly resumeSequence: number;
|
|
245
567
|
};
|
|
568
|
+
export type M0CSubscribeInput = {
|
|
569
|
+
readonly handle: string;
|
|
570
|
+
};
|
|
571
|
+
export type M0CSubscribeResult = {
|
|
572
|
+
readonly subscriptionId: string;
|
|
573
|
+
};
|
|
574
|
+
export type M0CReadInput = {
|
|
575
|
+
readonly subscriptionId: string;
|
|
576
|
+
readonly limit: number;
|
|
577
|
+
};
|
|
578
|
+
export type M0CReadNormalResult = {
|
|
579
|
+
readonly events: readonly MessageOutputEvent[];
|
|
580
|
+
readonly ackToken: string;
|
|
581
|
+
readonly stale: false;
|
|
582
|
+
};
|
|
583
|
+
export type M0CReadEmptyResult = {
|
|
584
|
+
readonly events: readonly [];
|
|
585
|
+
readonly ackToken: null;
|
|
586
|
+
readonly stale: false;
|
|
587
|
+
};
|
|
588
|
+
export type M0CReadStaleResult = {
|
|
589
|
+
readonly events: readonly [];
|
|
590
|
+
readonly ackToken: null;
|
|
591
|
+
readonly stale: true;
|
|
592
|
+
};
|
|
593
|
+
export type M0CReadResult = M0CReadNormalResult | M0CReadEmptyResult | M0CReadStaleResult;
|
|
594
|
+
export type M0CAckInput = {
|
|
595
|
+
readonly subscriptionId: string;
|
|
596
|
+
readonly ackToken: string;
|
|
597
|
+
};
|
|
598
|
+
export type M0CAckResult = null;
|
|
599
|
+
export type M0CSnapshotInput = {
|
|
600
|
+
readonly subscriptionId: string;
|
|
601
|
+
readonly maxItems: number;
|
|
602
|
+
readonly pageToken?: string;
|
|
603
|
+
};
|
|
604
|
+
export type M0CSnapshotIntermediateResult = {
|
|
605
|
+
readonly items: readonly MessageEnvelope[];
|
|
606
|
+
readonly nextPageToken: string;
|
|
607
|
+
readonly snapshotAckToken: null;
|
|
608
|
+
};
|
|
609
|
+
export type M0CSnapshotFinalResult = {
|
|
610
|
+
readonly items: readonly MessageEnvelope[];
|
|
611
|
+
readonly nextPageToken: null;
|
|
612
|
+
readonly snapshotAckToken: string;
|
|
613
|
+
};
|
|
614
|
+
export type M0CSnapshotResult = M0CSnapshotIntermediateResult | M0CSnapshotFinalResult;
|
|
615
|
+
export type M0CDeliverInput = {
|
|
616
|
+
readonly deliveryId: string;
|
|
617
|
+
readonly threadHandle: ThreadHandleAddress;
|
|
618
|
+
readonly envelope: MessageEnvelope;
|
|
619
|
+
};
|
|
620
|
+
export type M0CDeliverResult = {
|
|
621
|
+
readonly deliveryId: string;
|
|
622
|
+
};
|
|
623
|
+
export type PhysicalLimbIdentifier = string;
|
|
624
|
+
export type PhysicalLimbGrant = 'limb.action.motion' | 'limb.action.display' | 'limb.action.light' | 'limb.action.speaker' | 'limb.observe.touch' | 'limb.sensor.microphone' | 'limb.sensor.camera';
|
|
625
|
+
export type PhysicalLimbSafePose = {
|
|
626
|
+
readonly yawDeg: number;
|
|
627
|
+
readonly pitchDeg: number;
|
|
628
|
+
readonly timeoutMs: number;
|
|
629
|
+
};
|
|
630
|
+
export type PhysicalLimbContribution = {
|
|
631
|
+
readonly contributionId: PhysicalLimbIdentifier;
|
|
632
|
+
readonly nodeType: PhysicalLimbIdentifier;
|
|
633
|
+
readonly displayName: string;
|
|
634
|
+
readonly grants: readonly PhysicalLimbGrant[];
|
|
635
|
+
readonly safePose: PhysicalLimbSafePose;
|
|
636
|
+
};
|
|
637
|
+
export type PhysicalLimbExpressionSource = {
|
|
638
|
+
readonly kind: 'cat_state' | 'play' | 'degraded';
|
|
639
|
+
readonly ref: PhysicalLimbIdentifier;
|
|
640
|
+
};
|
|
641
|
+
export type PhysicalLimbTouchPayload = {
|
|
642
|
+
readonly gesture: 'tap' | 'stroke';
|
|
643
|
+
readonly durationMs: number;
|
|
644
|
+
readonly confidence: number;
|
|
645
|
+
};
|
|
646
|
+
export type PhysicalLimbTranscriptPayload = {
|
|
647
|
+
readonly interactionId: PhysicalLimbIdentifier;
|
|
648
|
+
readonly text: string;
|
|
649
|
+
readonly language?: string;
|
|
650
|
+
readonly captureDurationMs: number;
|
|
651
|
+
};
|
|
652
|
+
export type PhysicalLimbTouchObservation = {
|
|
653
|
+
readonly v: 1;
|
|
654
|
+
readonly observationId: PhysicalLimbIdentifier;
|
|
655
|
+
readonly nodeId: PhysicalLimbIdentifier;
|
|
656
|
+
readonly occurredAt: string;
|
|
657
|
+
readonly sessionId: PhysicalLimbIdentifier;
|
|
658
|
+
readonly kind: 'touch';
|
|
659
|
+
readonly payload: PhysicalLimbTouchPayload;
|
|
660
|
+
};
|
|
661
|
+
export type PhysicalLimbTranscriptObservation = {
|
|
662
|
+
readonly v: 1;
|
|
663
|
+
readonly observationId: PhysicalLimbIdentifier;
|
|
664
|
+
readonly nodeId: PhysicalLimbIdentifier;
|
|
665
|
+
readonly occurredAt: string;
|
|
666
|
+
readonly sessionId: PhysicalLimbIdentifier;
|
|
667
|
+
readonly kind: 'transcript';
|
|
668
|
+
readonly payload: PhysicalLimbTranscriptPayload;
|
|
669
|
+
};
|
|
670
|
+
export type PhysicalLimbObservation = PhysicalLimbTouchObservation | PhysicalLimbTranscriptObservation;
|
|
671
|
+
export type PhysicalLimbMotionPayload = {
|
|
672
|
+
readonly yawDeg: number;
|
|
673
|
+
readonly pitchDeg: number;
|
|
674
|
+
readonly speedDps: number;
|
|
675
|
+
readonly accelerationDps2: number;
|
|
676
|
+
};
|
|
677
|
+
export type PhysicalLimbDisplayPayload = {
|
|
678
|
+
readonly expression: string;
|
|
679
|
+
readonly expressionSource: PhysicalLimbExpressionSource;
|
|
680
|
+
};
|
|
681
|
+
export type PhysicalLimbRgb = readonly [number, number, number];
|
|
682
|
+
export type PhysicalLimbLightPayload = {
|
|
683
|
+
readonly colors: readonly PhysicalLimbRgb[];
|
|
684
|
+
};
|
|
685
|
+
export type PhysicalLimbSpeakerPayload = {
|
|
686
|
+
readonly text: string;
|
|
687
|
+
readonly voiceProfileRef: PhysicalLimbIdentifier;
|
|
688
|
+
readonly volumePercent: number;
|
|
689
|
+
};
|
|
690
|
+
export type PhysicalLimbMotionAction = {
|
|
691
|
+
readonly v: 1;
|
|
692
|
+
readonly actionId: PhysicalLimbIdentifier;
|
|
693
|
+
readonly nodeId: PhysicalLimbIdentifier;
|
|
694
|
+
readonly deadlineUnixMs: number;
|
|
695
|
+
readonly timeoutMs: number;
|
|
696
|
+
readonly cancelToken: PhysicalLimbIdentifier;
|
|
697
|
+
readonly kind: 'motion';
|
|
698
|
+
readonly payload: PhysicalLimbMotionPayload;
|
|
699
|
+
};
|
|
700
|
+
export type PhysicalLimbDisplayAction = {
|
|
701
|
+
readonly v: 1;
|
|
702
|
+
readonly actionId: PhysicalLimbIdentifier;
|
|
703
|
+
readonly nodeId: PhysicalLimbIdentifier;
|
|
704
|
+
readonly deadlineUnixMs: number;
|
|
705
|
+
readonly timeoutMs: number;
|
|
706
|
+
readonly cancelToken: PhysicalLimbIdentifier;
|
|
707
|
+
readonly kind: 'display';
|
|
708
|
+
readonly payload: PhysicalLimbDisplayPayload;
|
|
709
|
+
};
|
|
710
|
+
export type PhysicalLimbLightAction = {
|
|
711
|
+
readonly v: 1;
|
|
712
|
+
readonly actionId: PhysicalLimbIdentifier;
|
|
713
|
+
readonly nodeId: PhysicalLimbIdentifier;
|
|
714
|
+
readonly deadlineUnixMs: number;
|
|
715
|
+
readonly timeoutMs: number;
|
|
716
|
+
readonly cancelToken: PhysicalLimbIdentifier;
|
|
717
|
+
readonly kind: 'light';
|
|
718
|
+
readonly payload: PhysicalLimbLightPayload;
|
|
719
|
+
};
|
|
720
|
+
export type PhysicalLimbSpeakerAction = {
|
|
721
|
+
readonly v: 1;
|
|
722
|
+
readonly actionId: PhysicalLimbIdentifier;
|
|
723
|
+
readonly nodeId: PhysicalLimbIdentifier;
|
|
724
|
+
readonly deadlineUnixMs: number;
|
|
725
|
+
readonly timeoutMs: number;
|
|
726
|
+
readonly cancelToken: PhysicalLimbIdentifier;
|
|
727
|
+
readonly kind: 'speaker';
|
|
728
|
+
readonly payload: PhysicalLimbSpeakerPayload;
|
|
729
|
+
};
|
|
730
|
+
export type PhysicalLimbAction = PhysicalLimbMotionAction | PhysicalLimbDisplayAction | PhysicalLimbLightAction | PhysicalLimbSpeakerAction;
|
|
731
|
+
export type PhysicalLimbCancel = {
|
|
732
|
+
readonly v: 1;
|
|
733
|
+
readonly nodeId: PhysicalLimbIdentifier;
|
|
734
|
+
readonly actionId: PhysicalLimbIdentifier;
|
|
735
|
+
readonly cancelToken: PhysicalLimbIdentifier;
|
|
736
|
+
readonly reason: 'user' | 'timeout' | 'lease_lost' | 'host_lost' | 'superseded';
|
|
737
|
+
};
|
|
738
|
+
export type PhysicalLimbActionResult = {
|
|
739
|
+
readonly v: 1;
|
|
740
|
+
readonly actionId: PhysicalLimbIdentifier;
|
|
741
|
+
readonly nodeId: PhysicalLimbIdentifier;
|
|
742
|
+
readonly outcome: 'succeeded' | 'refused' | 'failed' | 'canceled';
|
|
743
|
+
readonly reason?: string;
|
|
744
|
+
readonly observedAt: string;
|
|
745
|
+
};
|
|
746
|
+
export type PhysicalLimbReadinessReason = 'gateway_disconnected' | 'device_disconnected' | 'firmware_incompatible' | 'sensor_unavailable' | 'speech_dependency_missing' | 'skin_unavailable' | 'grant_revoked' | 'host_unavailable';
|
|
747
|
+
export type PhysicalLimbReadyReadiness = {
|
|
748
|
+
readonly v: 1;
|
|
749
|
+
readonly nodeId: PhysicalLimbIdentifier;
|
|
750
|
+
readonly status: 'ready';
|
|
751
|
+
readonly observedAt: string;
|
|
752
|
+
};
|
|
753
|
+
export type PhysicalLimbUnavailableReadiness = {
|
|
754
|
+
readonly v: 1;
|
|
755
|
+
readonly nodeId: PhysicalLimbIdentifier;
|
|
756
|
+
readonly status: 'degraded' | 'offline';
|
|
757
|
+
readonly reason: PhysicalLimbReadinessReason;
|
|
758
|
+
readonly observedAt: string;
|
|
759
|
+
};
|
|
760
|
+
export type PhysicalLimbReadiness = PhysicalLimbReadyReadiness | PhysicalLimbUnavailableReadiness;
|
|
761
|
+
export type DocxMaterializationText = string;
|
|
762
|
+
export type DocxMaterializationAuthor = string;
|
|
763
|
+
export type DocxMaterializationBytes = string;
|
|
764
|
+
export type DocxMaterializationAnchor = {
|
|
765
|
+
readonly paragraphId: string;
|
|
766
|
+
readonly textQuote: string;
|
|
767
|
+
};
|
|
768
|
+
export type DocxMaterializationAttribution = {
|
|
769
|
+
readonly author: DocxMaterializationAuthor;
|
|
770
|
+
readonly operationId: string;
|
|
771
|
+
readonly timestamp: string;
|
|
772
|
+
};
|
|
773
|
+
export type DocxMaterializationOperation = {
|
|
774
|
+
readonly kind: 'inspect';
|
|
775
|
+
readonly cursor: number;
|
|
776
|
+
readonly limit: number;
|
|
777
|
+
} | {
|
|
778
|
+
readonly kind: 'tracked-change';
|
|
779
|
+
readonly target: DocxMaterializationAnchor;
|
|
780
|
+
readonly replacement: DocxMaterializationText;
|
|
781
|
+
readonly attribution: DocxMaterializationAttribution;
|
|
782
|
+
} | {
|
|
783
|
+
readonly kind: 'comment';
|
|
784
|
+
readonly target: DocxMaterializationAnchor;
|
|
785
|
+
readonly body: DocxMaterializationText;
|
|
786
|
+
readonly attribution: DocxMaterializationAttribution;
|
|
787
|
+
};
|
|
788
|
+
export type DocxMaterializationRequest = {
|
|
789
|
+
readonly protocolVersion: '1.0.0';
|
|
790
|
+
readonly requestId: string;
|
|
791
|
+
readonly mediaType: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
|
|
792
|
+
readonly bytesBase64: DocxMaterializationBytes;
|
|
793
|
+
readonly operation: DocxMaterializationOperation;
|
|
794
|
+
};
|
|
795
|
+
export type DocxMaterializationResult = {
|
|
796
|
+
readonly kind: 'inspection';
|
|
797
|
+
readonly paragraphs: readonly ({
|
|
798
|
+
readonly target: DocxMaterializationAnchor;
|
|
799
|
+
readonly editable: boolean;
|
|
800
|
+
})[];
|
|
801
|
+
readonly nextCursor: number | null;
|
|
802
|
+
} | {
|
|
803
|
+
readonly kind: 'document';
|
|
804
|
+
readonly bytesBase64: DocxMaterializationBytes;
|
|
805
|
+
} | {
|
|
806
|
+
readonly kind: 'rejected';
|
|
807
|
+
readonly code: 'INVALID_DOCX' | 'TARGET_MISMATCH' | 'UNSUPPORTED_TARGET' | 'LIMIT_EXCEEDED' | 'INVALID_REQUEST';
|
|
808
|
+
};
|
|
809
|
+
export type DocxMaterializationResponse = {
|
|
810
|
+
readonly protocolVersion: '1.0.0';
|
|
811
|
+
readonly requestId: string;
|
|
812
|
+
readonly result: DocxMaterializationResult;
|
|
813
|
+
};
|
|
814
|
+
export type CompanionSelectionId = string;
|
|
815
|
+
export type CompanionScreenFrame = {
|
|
816
|
+
readonly image: string;
|
|
817
|
+
readonly width: number;
|
|
818
|
+
readonly height: number;
|
|
819
|
+
readonly frameId: string;
|
|
820
|
+
readonly sourceLabel: string;
|
|
821
|
+
readonly observedAt: number;
|
|
822
|
+
};
|
|
823
|
+
export type CompanionCommand = {
|
|
824
|
+
readonly kind: 'state';
|
|
825
|
+
} | {
|
|
826
|
+
readonly kind: 'prepare';
|
|
827
|
+
} | {
|
|
828
|
+
readonly kind: 'audio.connect';
|
|
829
|
+
} | {
|
|
830
|
+
readonly kind: 'audio.close';
|
|
831
|
+
} | {
|
|
832
|
+
readonly kind: 'audio.microphone';
|
|
833
|
+
readonly muted: boolean;
|
|
834
|
+
} | {
|
|
835
|
+
readonly kind: 'audio.speaker';
|
|
836
|
+
readonly muted: boolean;
|
|
837
|
+
} | {
|
|
838
|
+
readonly kind: 'stop';
|
|
839
|
+
} | {
|
|
840
|
+
readonly kind: 'text';
|
|
841
|
+
readonly text: string;
|
|
842
|
+
readonly clientMessageId: string;
|
|
843
|
+
} | {
|
|
844
|
+
readonly kind: 'documents';
|
|
845
|
+
readonly allowed: boolean;
|
|
846
|
+
} | {
|
|
847
|
+
readonly kind: 'screen.pick';
|
|
848
|
+
} | {
|
|
849
|
+
readonly kind: 'screen.open';
|
|
850
|
+
readonly selectionId: CompanionSelectionId;
|
|
851
|
+
readonly label: string;
|
|
852
|
+
} | {
|
|
853
|
+
readonly kind: 'screen.frame';
|
|
854
|
+
readonly selectionId: CompanionSelectionId;
|
|
855
|
+
readonly frame: CompanionScreenFrame;
|
|
856
|
+
} | {
|
|
857
|
+
readonly kind: 'screen.close';
|
|
858
|
+
} | {
|
|
859
|
+
readonly kind: 'conversation.open';
|
|
860
|
+
} | {
|
|
861
|
+
readonly kind: 'decisions.read';
|
|
862
|
+
readonly offset: number;
|
|
863
|
+
readonly limit: number;
|
|
864
|
+
} | {
|
|
865
|
+
readonly kind: 'f221.inspect';
|
|
866
|
+
readonly proposalId: string;
|
|
867
|
+
} | {
|
|
868
|
+
readonly kind: 'view.resize';
|
|
869
|
+
readonly expanded: boolean;
|
|
870
|
+
} | {
|
|
871
|
+
readonly kind: 'view.layout';
|
|
872
|
+
readonly panel: 'none' | 'bubble' | 'actions' | 'menu' | 'chat' | 'decisions';
|
|
873
|
+
readonly width: number;
|
|
874
|
+
readonly height: number;
|
|
875
|
+
} | {
|
|
876
|
+
readonly kind: 'view.drag';
|
|
877
|
+
readonly phase: 'start' | 'end';
|
|
878
|
+
} | {
|
|
879
|
+
readonly kind: 'view.hide';
|
|
880
|
+
} | {
|
|
881
|
+
readonly kind: 'conversation.read';
|
|
882
|
+
};
|
|
883
|
+
export type CompanionActor = {
|
|
884
|
+
readonly catId: string;
|
|
885
|
+
readonly displayName: string;
|
|
886
|
+
};
|
|
887
|
+
export type CompanionLiveTransport = {
|
|
888
|
+
readonly kind: 'gpt_live_v3';
|
|
889
|
+
readonly verifiedModel: null;
|
|
890
|
+
};
|
|
891
|
+
export type CompanionNativeWorkEntry = {
|
|
892
|
+
readonly taskId: string;
|
|
893
|
+
readonly nativeTurnId: string;
|
|
894
|
+
readonly kind: 'reasoning' | 'tool' | 'workspace_fetch' | 'workspace_dispatch' | 'screen_read';
|
|
895
|
+
readonly startedAt: number;
|
|
896
|
+
readonly expiresAt: number;
|
|
897
|
+
};
|
|
898
|
+
export type CompanionNativeWorkEvent = {
|
|
899
|
+
readonly eventId: string;
|
|
900
|
+
readonly taskId: string;
|
|
901
|
+
readonly kind: 'reasoning' | 'tool' | 'workspace_fetch' | 'workspace_dispatch' | 'screen_read' | 'result';
|
|
902
|
+
readonly phase: 'started' | 'completed' | 'failed' | 'cancelled' | 'expired' | 'result_handed_to_voice';
|
|
903
|
+
readonly occurredAt: number;
|
|
904
|
+
readonly expiresAt: number;
|
|
905
|
+
readonly resultId?: string;
|
|
906
|
+
readonly nativeCarrierCatId?: string;
|
|
907
|
+
};
|
|
908
|
+
export type CompanionNativeWork = {
|
|
909
|
+
readonly scopeId: string | null;
|
|
910
|
+
readonly revision: number;
|
|
911
|
+
readonly active: readonly CompanionNativeWorkEntry[];
|
|
912
|
+
readonly recent: readonly CompanionNativeWorkEvent[];
|
|
913
|
+
};
|
|
914
|
+
export type CompanionState = {
|
|
915
|
+
readonly kind: 'state';
|
|
916
|
+
readonly phase: 'idle' | 'preparing' | 'ready' | 'connecting' | 'talking' | 'closed' | 'failed';
|
|
917
|
+
readonly displayName: string;
|
|
918
|
+
readonly skin: string;
|
|
919
|
+
readonly duty: CompanionActor;
|
|
920
|
+
readonly carrier: CompanionActor;
|
|
921
|
+
readonly documentsAllowed: boolean;
|
|
922
|
+
readonly toolsReady: boolean;
|
|
923
|
+
readonly nativeActivity: 'none' | 'reasoning' | 'tool_running';
|
|
924
|
+
readonly liveTransport: CompanionLiveTransport;
|
|
925
|
+
readonly nativeWork: CompanionNativeWork;
|
|
926
|
+
};
|
|
927
|
+
export type CompanionDecisions = {
|
|
928
|
+
readonly kind: 'decisions';
|
|
929
|
+
readonly status: 'available' | 'unavailable';
|
|
930
|
+
readonly approvalCount: number | null;
|
|
931
|
+
readonly needsMeCount: number | null;
|
|
932
|
+
readonly otherNeedsMeCount: number | null;
|
|
933
|
+
readonly approvals: readonly ({
|
|
934
|
+
readonly proposalId: string;
|
|
935
|
+
readonly sourceFeatureId: string;
|
|
936
|
+
readonly summary: string;
|
|
937
|
+
readonly resolution: 'open' | 'accepted' | 'rejected' | 'closed_without_decision';
|
|
938
|
+
readonly materializationState: 'not_started' | 'outcome_unknown' | 'in_progress' | 'succeeded' | 'failed';
|
|
939
|
+
readonly linkedNeedsMe: boolean;
|
|
940
|
+
})[];
|
|
941
|
+
readonly otherNeedsMe: readonly ({
|
|
942
|
+
readonly subjectRef: string;
|
|
943
|
+
readonly summary: string;
|
|
944
|
+
})[];
|
|
945
|
+
readonly page: {
|
|
946
|
+
readonly offset: number;
|
|
947
|
+
readonly limit: number;
|
|
948
|
+
readonly hasMoreApprovals: boolean;
|
|
949
|
+
readonly hasMoreNeedsMe: boolean;
|
|
950
|
+
};
|
|
951
|
+
};
|
|
952
|
+
export type CompanionDecisionTrial = {
|
|
953
|
+
readonly kind: 'decision-trial';
|
|
954
|
+
readonly status: 'dismissed' | 'trial_confirmed' | 'stale' | 'unavailable';
|
|
955
|
+
};
|
|
956
|
+
export type CompanionErrorCode = 'invalid_request' | 'permission_required' | 'unavailable' | 'session_required' | 'busy' | 'selection_changed' | 'carrier_unavailable' | 'cancelled' | 'unconfirmed';
|
|
957
|
+
export type CompanionReply = {
|
|
958
|
+
readonly kind: 'ok';
|
|
959
|
+
} | CompanionState | CompanionDecisions | CompanionDecisionTrial | {
|
|
960
|
+
readonly kind: 'delivery';
|
|
961
|
+
readonly delivery: 'accepted' | 'unconfirmed';
|
|
962
|
+
} | {
|
|
963
|
+
readonly kind: 'selection';
|
|
964
|
+
readonly selectionId: CompanionSelectionId;
|
|
965
|
+
} | {
|
|
966
|
+
readonly kind: 'navigation';
|
|
967
|
+
readonly delivery: 'requested' | 'unconfirmed';
|
|
968
|
+
} | {
|
|
969
|
+
readonly kind: 'error';
|
|
970
|
+
readonly code: CompanionErrorCode;
|
|
971
|
+
} | {
|
|
972
|
+
readonly kind: 'layout';
|
|
973
|
+
readonly pet: {
|
|
974
|
+
readonly x: number;
|
|
975
|
+
readonly y: number;
|
|
976
|
+
};
|
|
977
|
+
readonly panel: {
|
|
978
|
+
readonly x: number;
|
|
979
|
+
readonly y: number;
|
|
980
|
+
readonly width: number;
|
|
981
|
+
readonly height: number;
|
|
982
|
+
};
|
|
983
|
+
readonly width: number;
|
|
984
|
+
readonly height: number;
|
|
985
|
+
} | {
|
|
986
|
+
readonly kind: 'conversation';
|
|
987
|
+
readonly threadTitle: string;
|
|
988
|
+
readonly messages: readonly ({
|
|
989
|
+
readonly id: string;
|
|
990
|
+
readonly role: 'user' | 'assistant';
|
|
991
|
+
readonly text: string;
|
|
992
|
+
readonly name: string;
|
|
993
|
+
})[];
|
|
994
|
+
readonly hasMore: boolean;
|
|
995
|
+
};
|
|
996
|
+
export type CompanionEvent = {
|
|
997
|
+
readonly kind: 'media-stopped';
|
|
998
|
+
readonly reason: 'locked' | 'suspended' | 'hidden' | 'closed' | 'revoked';
|
|
999
|
+
} | {
|
|
1000
|
+
readonly kind: 'audio';
|
|
1001
|
+
readonly type: 'connected' | 'recovering' | 'recovered' | 'error';
|
|
1002
|
+
} | {
|
|
1003
|
+
readonly kind: 'audio';
|
|
1004
|
+
readonly type: 'transcript';
|
|
1005
|
+
readonly role: 'user' | 'assistant';
|
|
1006
|
+
readonly text: string;
|
|
1007
|
+
readonly turnId?: string;
|
|
1008
|
+
readonly itemId?: string;
|
|
1009
|
+
} | {
|
|
1010
|
+
readonly kind: 'audio';
|
|
1011
|
+
readonly type: 'turn-done';
|
|
1012
|
+
readonly role?: 'user' | 'assistant';
|
|
1013
|
+
readonly transcript?: string;
|
|
1014
|
+
readonly turnId?: string;
|
|
1015
|
+
} | {
|
|
1016
|
+
readonly kind: 'view-dismiss';
|
|
1017
|
+
};
|
|
1018
|
+
export declare const DOCX_MATERIALIZATION_TEXT_PATTERN = "^[\\u0009\\u000A\\u0020-\\uD7FF\\uE000-\\uFFFD\\u{10000}-\\u{10FFFF}]*(?![\\s\\S])";
|
|
1019
|
+
export declare const DOCX_MATERIALIZATION_AUTHOR_PATTERN = "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\u{10000}-\\u{10FFFF}]*(?![\\s\\S])";
|
|
246
1020
|
export type FixtureMetadata = {
|
|
247
1021
|
readonly executor: 'loopback';
|
|
248
1022
|
readonly domain: 'messaging';
|
|
@@ -302,6 +1076,31 @@ export type FixtureOperation = {
|
|
|
302
1076
|
readonly operation: 'deleteReplayEvents';
|
|
303
1077
|
readonly input: DeleteReplayEventsInput;
|
|
304
1078
|
};
|
|
1079
|
+
export type PluginToHostMethod = 'messaging.send' | 'messaging.appendElements' | 'messaging.subscribe' | 'messaging.read' | 'messaging.ack' | 'messaging.snapshot';
|
|
1080
|
+
export type BehaviorExpectationOracle = {
|
|
1081
|
+
readonly kind: 'behavior-expectation';
|
|
1082
|
+
};
|
|
1083
|
+
export type JsonRpcAdmissionOracle = {
|
|
1084
|
+
readonly kind: 'json-rpc-error';
|
|
1085
|
+
readonly code: -32602;
|
|
1086
|
+
readonly sideEffects: 'behavior-expectation';
|
|
1087
|
+
};
|
|
1088
|
+
export type BehaviorExecution = {
|
|
1089
|
+
readonly plane: 'plugin-to-host-wire';
|
|
1090
|
+
readonly method: PluginToHostMethod;
|
|
1091
|
+
readonly verdictOracle: BehaviorExpectationOracle;
|
|
1092
|
+
} | {
|
|
1093
|
+
readonly plane: 'wire-admission';
|
|
1094
|
+
readonly method: PluginToHostMethod;
|
|
1095
|
+
readonly verdictOracle: JsonRpcAdmissionOracle;
|
|
1096
|
+
} | {
|
|
1097
|
+
readonly plane: 'host-to-plugin-delivery';
|
|
1098
|
+
readonly method: 'host.messaging.deliver';
|
|
1099
|
+
readonly verdictOracle: BehaviorExpectationOracle;
|
|
1100
|
+
} | {
|
|
1101
|
+
readonly plane: 'host-control';
|
|
1102
|
+
readonly verdictOracle: BehaviorExpectationOracle;
|
|
1103
|
+
};
|
|
305
1104
|
export type SendOperationInput = {
|
|
306
1105
|
readonly address: Readonly<Record<string, unknown>>;
|
|
307
1106
|
readonly idempotencyKey: string;
|
|
@@ -344,7 +1143,7 @@ export type PermissionMatrixEntry = {
|
|
|
344
1143
|
readonly firstPartyPreset: boolean;
|
|
345
1144
|
};
|
|
346
1145
|
export type PermissionMatrixInput = {
|
|
347
|
-
readonly entries: readonly PermissionMatrixEntry
|
|
1146
|
+
readonly entries: readonly [PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry, PermissionMatrixEntry];
|
|
348
1147
|
};
|
|
349
1148
|
export type DeleteReplayEventsInput = {
|
|
350
1149
|
readonly subscriptionId: string;
|
|
@@ -352,19 +1151,159 @@ export type DeleteReplayEventsInput = {
|
|
|
352
1151
|
};
|
|
353
1152
|
export type SideEffectAssertion = {
|
|
354
1153
|
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?:
|
|
1154
|
+
readonly assertion: 'unchanged';
|
|
1155
|
+
readonly value?: never;
|
|
1156
|
+
} | {
|
|
1157
|
+
readonly target: 'messages' | 'output_events' | 'idempotency_ledger' | 'subscription' | 'snapshot' | 'reply_preview' | 'provenance' | 'grant_state' | 'permission_matrix' | 'replay_events';
|
|
1158
|
+
readonly assertion: 'none';
|
|
1159
|
+
readonly value?: never;
|
|
1160
|
+
} | {
|
|
1161
|
+
readonly target: 'messages' | 'output_events' | 'idempotency_ledger' | 'subscription' | 'snapshot' | 'reply_preview' | 'provenance' | 'grant_state' | 'permission_matrix' | 'replay_events';
|
|
1162
|
+
readonly assertion: 'state_equals';
|
|
1163
|
+
readonly value: unknown;
|
|
1164
|
+
} | {
|
|
1165
|
+
readonly target: 'messages' | 'output_events' | 'idempotency_ledger' | 'subscription' | 'snapshot' | 'reply_preview' | 'provenance' | 'grant_state' | 'permission_matrix' | 'replay_events';
|
|
1166
|
+
readonly assertion: 'round_trip';
|
|
1167
|
+
readonly value: unknown;
|
|
1168
|
+
} | {
|
|
1169
|
+
readonly target: 'messages' | 'output_events' | 'idempotency_ledger' | 'subscription' | 'snapshot' | 'reply_preview' | 'provenance' | 'grant_state' | 'permission_matrix' | 'replay_events';
|
|
1170
|
+
readonly assertion: 'matches';
|
|
1171
|
+
readonly value: unknown;
|
|
357
1172
|
};
|
|
358
1173
|
export type ExpectedVerdict = {
|
|
359
|
-
readonly status: 'success'
|
|
360
|
-
readonly errorCode?:
|
|
1174
|
+
readonly status: 'success';
|
|
1175
|
+
readonly errorCode?: never;
|
|
1176
|
+
readonly sideEffects: readonly SideEffectAssertion[];
|
|
1177
|
+
} | {
|
|
1178
|
+
readonly status: 'error';
|
|
1179
|
+
readonly errorCode: MessagingErrorCode;
|
|
361
1180
|
readonly sideEffects: readonly SideEffectAssertion[];
|
|
362
1181
|
};
|
|
363
1182
|
export type BehaviorCase = {
|
|
364
1183
|
readonly id: string;
|
|
365
1184
|
readonly invariant: string;
|
|
1185
|
+
readonly execution: Extract<BehaviorExecution, {
|
|
1186
|
+
readonly plane: 'plugin-to-host-wire';
|
|
1187
|
+
}> & {
|
|
1188
|
+
readonly method: 'messaging.send';
|
|
1189
|
+
} | Extract<BehaviorExecution, {
|
|
1190
|
+
readonly plane: 'wire-admission';
|
|
1191
|
+
}> & {
|
|
1192
|
+
readonly method: 'messaging.send';
|
|
1193
|
+
};
|
|
1194
|
+
readonly given: FixtureSetup;
|
|
1195
|
+
readonly when: Extract<FixtureOperation, {
|
|
1196
|
+
readonly operation: 'send';
|
|
1197
|
+
}>;
|
|
1198
|
+
readonly expect: ExpectedVerdict;
|
|
1199
|
+
} | {
|
|
1200
|
+
readonly id: string;
|
|
1201
|
+
readonly invariant: string;
|
|
1202
|
+
readonly execution: Extract<BehaviorExecution, {
|
|
1203
|
+
readonly plane: 'plugin-to-host-wire';
|
|
1204
|
+
}> & {
|
|
1205
|
+
readonly method: 'messaging.appendElements';
|
|
1206
|
+
} | Extract<BehaviorExecution, {
|
|
1207
|
+
readonly plane: 'wire-admission';
|
|
1208
|
+
}> & {
|
|
1209
|
+
readonly method: 'messaging.appendElements';
|
|
1210
|
+
};
|
|
1211
|
+
readonly given: FixtureSetup;
|
|
1212
|
+
readonly when: Extract<FixtureOperation, {
|
|
1213
|
+
readonly operation: 'appendElements';
|
|
1214
|
+
}>;
|
|
1215
|
+
readonly expect: ExpectedVerdict;
|
|
1216
|
+
} | {
|
|
1217
|
+
readonly id: string;
|
|
1218
|
+
readonly invariant: string;
|
|
1219
|
+
readonly execution: Extract<BehaviorExecution, {
|
|
1220
|
+
readonly plane: 'plugin-to-host-wire';
|
|
1221
|
+
}> & {
|
|
1222
|
+
readonly method: 'messaging.subscribe';
|
|
1223
|
+
} | Extract<BehaviorExecution, {
|
|
1224
|
+
readonly plane: 'wire-admission';
|
|
1225
|
+
}> & {
|
|
1226
|
+
readonly method: 'messaging.subscribe';
|
|
1227
|
+
};
|
|
1228
|
+
readonly given: FixtureSetup;
|
|
1229
|
+
readonly when: Extract<FixtureOperation, {
|
|
1230
|
+
readonly operation: 'subscribe';
|
|
1231
|
+
}>;
|
|
1232
|
+
readonly expect: ExpectedVerdict;
|
|
1233
|
+
} | {
|
|
1234
|
+
readonly id: string;
|
|
1235
|
+
readonly invariant: string;
|
|
1236
|
+
readonly execution: Extract<BehaviorExecution, {
|
|
1237
|
+
readonly plane: 'plugin-to-host-wire';
|
|
1238
|
+
}> & {
|
|
1239
|
+
readonly method: 'messaging.read';
|
|
1240
|
+
} | Extract<BehaviorExecution, {
|
|
1241
|
+
readonly plane: 'wire-admission';
|
|
1242
|
+
}> & {
|
|
1243
|
+
readonly method: 'messaging.read';
|
|
1244
|
+
};
|
|
1245
|
+
readonly given: FixtureSetup;
|
|
1246
|
+
readonly when: Extract<FixtureOperation, {
|
|
1247
|
+
readonly operation: 'read';
|
|
1248
|
+
}>;
|
|
1249
|
+
readonly expect: ExpectedVerdict;
|
|
1250
|
+
} | {
|
|
1251
|
+
readonly id: string;
|
|
1252
|
+
readonly invariant: string;
|
|
1253
|
+
readonly execution: Extract<BehaviorExecution, {
|
|
1254
|
+
readonly plane: 'plugin-to-host-wire';
|
|
1255
|
+
}> & {
|
|
1256
|
+
readonly method: 'messaging.ack';
|
|
1257
|
+
} | Extract<BehaviorExecution, {
|
|
1258
|
+
readonly plane: 'wire-admission';
|
|
1259
|
+
}> & {
|
|
1260
|
+
readonly method: 'messaging.ack';
|
|
1261
|
+
};
|
|
1262
|
+
readonly given: FixtureSetup;
|
|
1263
|
+
readonly when: Extract<FixtureOperation, {
|
|
1264
|
+
readonly operation: 'ack';
|
|
1265
|
+
}>;
|
|
1266
|
+
readonly expect: ExpectedVerdict;
|
|
1267
|
+
} | {
|
|
1268
|
+
readonly id: string;
|
|
1269
|
+
readonly invariant: string;
|
|
1270
|
+
readonly execution: Extract<BehaviorExecution, {
|
|
1271
|
+
readonly plane: 'plugin-to-host-wire';
|
|
1272
|
+
}> & {
|
|
1273
|
+
readonly method: 'messaging.snapshot';
|
|
1274
|
+
} | Extract<BehaviorExecution, {
|
|
1275
|
+
readonly plane: 'wire-admission';
|
|
1276
|
+
}> & {
|
|
1277
|
+
readonly method: 'messaging.snapshot';
|
|
1278
|
+
};
|
|
1279
|
+
readonly given: FixtureSetup;
|
|
1280
|
+
readonly when: Extract<FixtureOperation, {
|
|
1281
|
+
readonly operation: 'snapshot';
|
|
1282
|
+
}>;
|
|
1283
|
+
readonly expect: ExpectedVerdict;
|
|
1284
|
+
} | {
|
|
1285
|
+
readonly id: string;
|
|
1286
|
+
readonly invariant: string;
|
|
1287
|
+
readonly execution: Extract<BehaviorExecution, {
|
|
1288
|
+
readonly plane: 'host-to-plugin-delivery';
|
|
1289
|
+
}> & {
|
|
1290
|
+
readonly method: 'host.messaging.deliver';
|
|
1291
|
+
};
|
|
1292
|
+
readonly given: FixtureSetup;
|
|
1293
|
+
readonly when: Extract<FixtureOperation, {
|
|
1294
|
+
readonly operation: 'deliverOnMessage';
|
|
1295
|
+
}>;
|
|
1296
|
+
readonly expect: ExpectedVerdict;
|
|
1297
|
+
} | {
|
|
1298
|
+
readonly id: string;
|
|
1299
|
+
readonly invariant: string;
|
|
1300
|
+
readonly execution: Extract<BehaviorExecution, {
|
|
1301
|
+
readonly plane: 'host-control';
|
|
1302
|
+
}>;
|
|
366
1303
|
readonly given: FixtureSetup;
|
|
367
|
-
readonly when: FixtureOperation
|
|
1304
|
+
readonly when: Extract<FixtureOperation, {
|
|
1305
|
+
readonly operation: 'applyGrantPreset' | 'revokeGrant' | 'checkPermissionMatrix' | 'deleteReplayEvents';
|
|
1306
|
+
}>;
|
|
368
1307
|
readonly expect: ExpectedVerdict;
|
|
369
1308
|
};
|
|
370
1309
|
export type BehaviorFixture = {
|
|
@@ -400,6 +1339,12 @@ export declare const MESSAGING_BOUNDS: {
|
|
|
400
1339
|
readonly maxElementIdLength: 128;
|
|
401
1340
|
readonly maxElementsPerMessage: 128;
|
|
402
1341
|
readonly maxAppendOpsPerMessage: 64;
|
|
1342
|
+
readonly maxMessageIdLength: 512;
|
|
1343
|
+
readonly maxThreadIdLength: 512;
|
|
1344
|
+
readonly maxActorIdLength: 512;
|
|
1345
|
+
readonly maxMessageHandleTokenLength: 512;
|
|
1346
|
+
readonly maxEventIdLength: 720;
|
|
1347
|
+
readonly maxOccurredAtLength: 27;
|
|
403
1348
|
};
|
|
404
1349
|
/**
|
|
405
1350
|
* @signed(G-0 2026-07-15)
|