@openscout/protocol 0.2.98 → 0.2.104
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/actors.d.ts +2 -2
- package/dist/actors.d.ts.map +1 -1
- package/dist/actors.js +1 -0
- package/dist/broker-routes.d.ts +8 -0
- package/dist/broker-routes.d.ts.map +1 -1
- package/dist/broker-routes.js +15 -0
- package/dist/channel-identity.d.ts +77 -0
- package/dist/channel-identity.d.ts.map +1 -1
- package/dist/channel-identity.js +134 -0
- package/dist/channel-invites.d.ts +179 -0
- package/dist/channel-invites.d.ts.map +1 -0
- package/dist/channel-invites.js +166 -0
- package/dist/channel-reception.d.ts +78 -0
- package/dist/channel-reception.d.ts.map +1 -0
- package/dist/channel-reception.js +219 -0
- package/dist/common.d.ts +1 -1
- package/dist/common.d.ts.map +1 -1
- package/dist/conversation-projection.d.ts +1 -1
- package/dist/conversation-projection.js +1 -1
- package/dist/herdr-workspace-digest.d.ts +151 -0
- package/dist/herdr-workspace-digest.d.ts.map +1 -0
- package/dist/herdr-workspace-digest.js +343 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/machines.d.ts +233 -0
- package/dist/machines.d.ts.map +1 -0
- package/dist/machines.js +550 -0
- package/dist/mesh.d.ts +8 -0
- package/dist/mesh.d.ts.map +1 -1
- package/dist/runtime-catalog-contract.d.ts +1 -1
- package/dist/runtime-catalog-contract.d.ts.map +1 -1
- package/dist/runtime-catalog-contract.js +1 -1
- package/dist/runtime-catalog.generated.d.ts +34 -15
- package/dist/runtime-catalog.generated.d.ts.map +1 -1
- package/dist/runtime-catalog.generated.js +46 -19
- package/dist/runtime-execution.d.ts +1 -1
- package/dist/runtime-execution.d.ts.map +1 -1
- package/dist/scout-delivery.d.ts +1 -0
- package/dist/scout-delivery.d.ts.map +1 -1
- package/dist/terminal-host-topology.d.ts +20 -1
- package/dist/terminal-host-topology.d.ts.map +1 -1
- package/dist/terminal-host-topology.js +8 -2
- package/dist/transports.d.ts +39 -1
- package/dist/transports.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/actors.ts +2 -0
- package/src/broker-routes.ts +17 -0
- package/src/channel-identity.ts +151 -0
- package/src/channel-invites.ts +343 -0
- package/src/channel-reception.ts +308 -0
- package/src/common.ts +1 -0
- package/src/conversation-projection.ts +1 -1
- package/src/herdr-workspace-digest.ts +458 -0
- package/src/index.ts +4 -0
- package/src/machines.ts +743 -0
- package/src/mesh.ts +8 -0
- package/src/runtime-catalog-contract.ts +1 -1
- package/src/runtime-catalog.generated.ts +46 -19
- package/src/runtime-catalog.v1.json +18 -8
- package/src/scout-delivery.ts +1 -0
- package/src/terminal-host-topology.ts +32 -2
- package/src/transports.ts +48 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const SCOUT_RUNTIME_CATALOG_DATA: {
|
|
2
2
|
readonly schemaVersion: "openscout.runtime-catalog.v1";
|
|
3
|
-
readonly revision: "2026-09-
|
|
3
|
+
readonly revision: "2026-09-14.1";
|
|
4
4
|
readonly harnesses: readonly [{
|
|
5
5
|
readonly id: "claude";
|
|
6
6
|
readonly label: "Claude Code";
|
|
@@ -107,7 +107,7 @@ export declare const SCOUT_RUNTIME_CATALOG_DATA: {
|
|
|
107
107
|
readonly enabled: true;
|
|
108
108
|
readonly listed: false;
|
|
109
109
|
readonly reasoningEfforts: readonly ["low", "medium", "high", "xhigh"];
|
|
110
|
-
readonly defaultReasoningEffort: "
|
|
110
|
+
readonly defaultReasoningEffort: "high";
|
|
111
111
|
readonly models: readonly [{
|
|
112
112
|
readonly id: "grok-4.6";
|
|
113
113
|
readonly label: "Grok 4.6";
|
|
@@ -122,18 +122,14 @@ export declare const SCOUT_RUNTIME_CATALOG_DATA: {
|
|
|
122
122
|
readonly enabled: true;
|
|
123
123
|
readonly family: "Grok";
|
|
124
124
|
readonly version: "4.5";
|
|
125
|
-
|
|
126
|
-
readonly id: "grok-4.3";
|
|
127
|
-
readonly label: "Grok 4.3";
|
|
128
|
-
readonly enabled: true;
|
|
129
|
-
readonly family: "Grok";
|
|
130
|
-
readonly version: "4.3";
|
|
125
|
+
readonly contextWindowTokens: 500000;
|
|
131
126
|
}];
|
|
132
127
|
}, {
|
|
133
128
|
readonly id: "grok-acp";
|
|
134
129
|
readonly label: "Grok";
|
|
135
130
|
readonly enabled: true;
|
|
136
|
-
readonly reasoningEfforts:
|
|
131
|
+
readonly reasoningEfforts: readonly ["low", "medium", "high", "xhigh"];
|
|
132
|
+
readonly defaultReasoningEffort: "high";
|
|
137
133
|
readonly models: readonly [{
|
|
138
134
|
readonly id: "grok-4.6";
|
|
139
135
|
readonly label: "Grok 4.6";
|
|
@@ -148,12 +144,7 @@ export declare const SCOUT_RUNTIME_CATALOG_DATA: {
|
|
|
148
144
|
readonly enabled: true;
|
|
149
145
|
readonly family: "Grok";
|
|
150
146
|
readonly version: "4.5";
|
|
151
|
-
|
|
152
|
-
readonly id: "grok-4.3";
|
|
153
|
-
readonly label: "Grok 4.3";
|
|
154
|
-
readonly enabled: true;
|
|
155
|
-
readonly family: "Grok";
|
|
156
|
-
readonly version: "4.3";
|
|
147
|
+
readonly contextWindowTokens: 500000;
|
|
157
148
|
}];
|
|
158
149
|
}, {
|
|
159
150
|
readonly id: "kimi";
|
|
@@ -240,6 +231,34 @@ export declare const SCOUT_RUNTIME_CATALOG_DATA: {
|
|
|
240
231
|
readonly enabled: true;
|
|
241
232
|
readonly reasoningEfforts: null;
|
|
242
233
|
readonly models: readonly [];
|
|
234
|
+
}, {
|
|
235
|
+
readonly id: "devin";
|
|
236
|
+
readonly label: "Devin";
|
|
237
|
+
readonly enabled: true;
|
|
238
|
+
readonly reasoningEfforts: null;
|
|
239
|
+
readonly models: readonly [{
|
|
240
|
+
readonly id: "swe-2-high";
|
|
241
|
+
readonly label: "SWE-2 High";
|
|
242
|
+
readonly enabled: true;
|
|
243
|
+
readonly default: true;
|
|
244
|
+
readonly family: "SWE";
|
|
245
|
+
readonly version: "2 High";
|
|
246
|
+
readonly contextWindowTokens: 262000;
|
|
247
|
+
}, {
|
|
248
|
+
readonly id: "swe-2-medium";
|
|
249
|
+
readonly label: "SWE-2 Medium";
|
|
250
|
+
readonly enabled: true;
|
|
251
|
+
readonly family: "SWE";
|
|
252
|
+
readonly version: "2 Medium";
|
|
253
|
+
readonly contextWindowTokens: 262000;
|
|
254
|
+
}, {
|
|
255
|
+
readonly id: "swe-2-max";
|
|
256
|
+
readonly label: "SWE-2 Max";
|
|
257
|
+
readonly enabled: true;
|
|
258
|
+
readonly family: "SWE";
|
|
259
|
+
readonly version: "2 Max";
|
|
260
|
+
readonly contextWindowTokens: 262000;
|
|
261
|
+
}];
|
|
243
262
|
}];
|
|
244
263
|
};
|
|
245
264
|
//# sourceMappingURL=runtime-catalog.generated.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-catalog.generated.d.ts","sourceRoot":"","sources":["../src/runtime-catalog.generated.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,0BAA0B
|
|
1
|
+
{"version":3,"file":"runtime-catalog.generated.d.ts","sourceRoot":"","sources":["../src/runtime-catalog.generated.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2V7B,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Generated automatically from runtime-catalog.v1.json. Do not edit.
|
|
2
2
|
export const SCOUT_RUNTIME_CATALOG_DATA = {
|
|
3
3
|
"schemaVersion": "openscout.runtime-catalog.v1",
|
|
4
|
-
"revision": "2026-09-
|
|
4
|
+
"revision": "2026-09-14.1",
|
|
5
5
|
"harnesses": [
|
|
6
6
|
{
|
|
7
7
|
"id": "claude",
|
|
@@ -160,7 +160,7 @@ export const SCOUT_RUNTIME_CATALOG_DATA = {
|
|
|
160
160
|
"high",
|
|
161
161
|
"xhigh"
|
|
162
162
|
],
|
|
163
|
-
"defaultReasoningEffort": "
|
|
163
|
+
"defaultReasoningEffort": "high",
|
|
164
164
|
"models": [
|
|
165
165
|
{
|
|
166
166
|
"id": "grok-4.6",
|
|
@@ -176,14 +176,8 @@ export const SCOUT_RUNTIME_CATALOG_DATA = {
|
|
|
176
176
|
"label": "Grok 4.5",
|
|
177
177
|
"enabled": true,
|
|
178
178
|
"family": "Grok",
|
|
179
|
-
"version": "4.5"
|
|
180
|
-
|
|
181
|
-
{
|
|
182
|
-
"id": "grok-4.3",
|
|
183
|
-
"label": "Grok 4.3",
|
|
184
|
-
"enabled": true,
|
|
185
|
-
"family": "Grok",
|
|
186
|
-
"version": "4.3"
|
|
179
|
+
"version": "4.5",
|
|
180
|
+
"contextWindowTokens": 500000
|
|
187
181
|
}
|
|
188
182
|
]
|
|
189
183
|
},
|
|
@@ -191,7 +185,13 @@ export const SCOUT_RUNTIME_CATALOG_DATA = {
|
|
|
191
185
|
"id": "grok-acp",
|
|
192
186
|
"label": "Grok",
|
|
193
187
|
"enabled": true,
|
|
194
|
-
"reasoningEfforts":
|
|
188
|
+
"reasoningEfforts": [
|
|
189
|
+
"low",
|
|
190
|
+
"medium",
|
|
191
|
+
"high",
|
|
192
|
+
"xhigh"
|
|
193
|
+
],
|
|
194
|
+
"defaultReasoningEffort": "high",
|
|
195
195
|
"models": [
|
|
196
196
|
{
|
|
197
197
|
"id": "grok-4.6",
|
|
@@ -207,14 +207,8 @@ export const SCOUT_RUNTIME_CATALOG_DATA = {
|
|
|
207
207
|
"label": "Grok 4.5",
|
|
208
208
|
"enabled": true,
|
|
209
209
|
"family": "Grok",
|
|
210
|
-
"version": "4.5"
|
|
211
|
-
|
|
212
|
-
{
|
|
213
|
-
"id": "grok-4.3",
|
|
214
|
-
"label": "Grok 4.3",
|
|
215
|
-
"enabled": true,
|
|
216
|
-
"family": "Grok",
|
|
217
|
-
"version": "4.3"
|
|
210
|
+
"version": "4.5",
|
|
211
|
+
"contextWindowTokens": 500000
|
|
218
212
|
}
|
|
219
213
|
]
|
|
220
214
|
},
|
|
@@ -317,6 +311,39 @@ export const SCOUT_RUNTIME_CATALOG_DATA = {
|
|
|
317
311
|
"enabled": true,
|
|
318
312
|
"reasoningEfforts": null,
|
|
319
313
|
"models": []
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
"id": "devin",
|
|
317
|
+
"label": "Devin",
|
|
318
|
+
"enabled": true,
|
|
319
|
+
"reasoningEfforts": null,
|
|
320
|
+
"models": [
|
|
321
|
+
{
|
|
322
|
+
"id": "swe-2-high",
|
|
323
|
+
"label": "SWE-2 High",
|
|
324
|
+
"enabled": true,
|
|
325
|
+
"default": true,
|
|
326
|
+
"family": "SWE",
|
|
327
|
+
"version": "2 High",
|
|
328
|
+
"contextWindowTokens": 262000
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
"id": "swe-2-medium",
|
|
332
|
+
"label": "SWE-2 Medium",
|
|
333
|
+
"enabled": true,
|
|
334
|
+
"family": "SWE",
|
|
335
|
+
"version": "2 Medium",
|
|
336
|
+
"contextWindowTokens": 262000
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"id": "swe-2-max",
|
|
340
|
+
"label": "SWE-2 Max",
|
|
341
|
+
"enabled": true,
|
|
342
|
+
"family": "SWE",
|
|
343
|
+
"version": "2 Max",
|
|
344
|
+
"contextWindowTokens": 262000
|
|
345
|
+
}
|
|
346
|
+
]
|
|
320
347
|
}
|
|
321
348
|
]
|
|
322
349
|
};
|
|
@@ -20,7 +20,7 @@ export declare function scoutRuntimeDefaultModel(harness: string, catalog?: Scou
|
|
|
20
20
|
export declare function scoutRuntimeReasoningEfforts(harness: string, model?: string | null, catalog?: ScoutOwnedRuntimeCatalog): readonly ScoutReasoningEffort[] | null;
|
|
21
21
|
export declare function scoutRuntimeDefaultReasoningEffort(harness: string, model?: string | null, catalog?: ScoutOwnedRuntimeCatalog): ScoutReasoningEffort | null;
|
|
22
22
|
export declare function scoutRuntimeDefaultsByHarness(catalog?: ScoutOwnedRuntimeCatalog): Readonly<Partial<Record<ScoutLaunchableHarness, ScoutRuntimeHarnessDefaults>>>;
|
|
23
|
-
export declare const SCOUT_RUNTIME_DEFAULTS_BY_HARNESS: Readonly<Partial<Record<"codex" | "claude" | "grok" | "grok-acp" | "kimi" | "flue" | "cursor" | "opencode" | "pi", ScoutRuntimeHarnessDefaults>>>;
|
|
23
|
+
export declare const SCOUT_RUNTIME_DEFAULTS_BY_HARNESS: Readonly<Partial<Record<"codex" | "claude" | "grok" | "grok-acp" | "kimi" | "flue" | "cursor" | "opencode" | "devin" | "pi", ScoutRuntimeHarnessDefaults>>>;
|
|
24
24
|
export declare const SCOUT_REASONING_EFFORTS_BY_HARNESS: Readonly<Partial<Record<ScoutLaunchableHarness, readonly ScoutReasoningEffort[]>>>;
|
|
25
25
|
export type ScoutRuntimeResolutionSource = "flag" | "literal" | "profile" | "endpoint" | "config" | "default";
|
|
26
26
|
export type ScoutRuntimeDriftState = "unknown" | "match" | "mismatch";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-execution.d.ts","sourceRoot":"","sources":["../src/runtime-execution.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAE9C,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,eAAe,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC9C;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,wBAAqD,CAAC;AAE1F,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,wBAAgD,GACxD,wBAAwB,GAAG,SAAS,CAEtC;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,wBAAgD,GACxD,OAAO,IAAI,sBAAsB,CAEnC;AAED,iFAAiF;AACjF,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,wBAAgD,GACxD,OAAO,CAGT;AAED,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,wBAAgD,GACxD,sBAAsB,GAAG,IAAI,CAI/B;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,wBAAgD,GACxD,MAAM,GAAG,IAAI,CAKf;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,GAAE,wBAAgD,GACxD,SAAS,oBAAoB,EAAE,GAAG,IAAI,CASxC;AAED,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,GAAE,wBAAgD,GACxD,oBAAoB,GAAG,IAAI,CAQ7B;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,GAAE,wBAAgD,GACxD,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAYhF;AAED,eAAO,MAAM,iCAAiC,
|
|
1
|
+
{"version":3,"file":"runtime-execution.d.ts","sourceRoot":"","sources":["../src/runtime-execution.ts"],"names":[],"mappings":"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"}
|
package/dist/scout-delivery.d.ts
CHANGED
|
@@ -45,6 +45,7 @@ export type ScoutOperatorSignal = {
|
|
|
45
45
|
replyExpectation: "required";
|
|
46
46
|
/** What the agent is asking for. Never empty — that is the whole point. */
|
|
47
47
|
question: string;
|
|
48
|
+
requestKind?: "permission";
|
|
48
49
|
/** Optional discrete choices, when the answer is a selection. */
|
|
49
50
|
options?: string[];
|
|
50
51
|
/** Why the agent cannot continue without it. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scout-delivery.d.ts","sourceRoot":"","sources":["../src/scout-delivery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scout-delivery.d.ts","sourceRoot":"","sources":["../src/scout-delivery.ts"],"names":[],"mappings":"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"}
|
|
@@ -109,6 +109,20 @@ export type HerdrWorkspaceProjection = {
|
|
|
109
109
|
agentStatus: HerdrAgentStatus;
|
|
110
110
|
tabs: HerdrTabProjection[];
|
|
111
111
|
};
|
|
112
|
+
/**
|
|
113
|
+
* Why a projection is not live.
|
|
114
|
+
*
|
|
115
|
+
* `not_running` is the ordinary case: no herdr server answers for this session,
|
|
116
|
+
* so its persisted layout is the honest thing to show.
|
|
117
|
+
*
|
|
118
|
+
* `unreadable` is the case worth naming. A herdr server for this session IS
|
|
119
|
+
* running, but it did not answer the topology commands — a protocol skew
|
|
120
|
+
* between the installed client and a long-lived server is the common cause,
|
|
121
|
+
* and a busy server or a timeout look the same from here. Collapsing that into
|
|
122
|
+
* `not_running` would state, of live work, that it is not running. The
|
|
123
|
+
* projection says which it is so a reader never has to guess.
|
|
124
|
+
*/
|
|
125
|
+
export type HerdrTopologyUnavailableReason = "not_running" | "unreadable";
|
|
112
126
|
export type HerdrSessionTopology = {
|
|
113
127
|
/** Herdr session name, e.g. "openscout". */
|
|
114
128
|
session: string;
|
|
@@ -123,6 +137,11 @@ export type HerdrSessionTopology = {
|
|
|
123
137
|
* projection is live.
|
|
124
138
|
*/
|
|
125
139
|
savedAt?: number | null;
|
|
140
|
+
/**
|
|
141
|
+
* Why this projection is not live. Set only when `running` is false; absent
|
|
142
|
+
* on a live read. See {@link HerdrTopologyUnavailableReason}.
|
|
143
|
+
*/
|
|
144
|
+
unavailable?: HerdrTopologyUnavailableReason | null;
|
|
126
145
|
};
|
|
127
|
-
export declare function emptyHerdrSessionTopology(session: string, running: boolean): HerdrSessionTopology;
|
|
146
|
+
export declare function emptyHerdrSessionTopology(session: string, running: boolean, unavailable?: HerdrTopologyUnavailableReason | null): HerdrSessionTopology;
|
|
128
147
|
//# sourceMappingURL=terminal-host-topology.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-host-topology.d.ts","sourceRoot":"","sources":["../src/terminal-host-topology.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"terminal-host-topology.d.ts","sourceRoot":"","sources":["../src/terminal-host-topology.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,12 @@
|
|
|
19
19
|
* persisted state projects as `{ running: false, workspaces: [] }` — an
|
|
20
20
|
* ordinary state, not an error.
|
|
21
21
|
*/
|
|
22
|
-
export function emptyHerdrSessionTopology(session, running) {
|
|
23
|
-
return {
|
|
22
|
+
export function emptyHerdrSessionTopology(session, running, unavailable) {
|
|
23
|
+
return {
|
|
24
|
+
session,
|
|
25
|
+
running,
|
|
26
|
+
workspaces: [],
|
|
27
|
+
observedAt: Date.now(),
|
|
28
|
+
...(running ? {} : { unavailable: unavailable ?? "not_running" }),
|
|
29
|
+
};
|
|
24
30
|
}
|
package/dist/transports.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import type { InvocationRequest } from "./invocations.js";
|
|
|
5
5
|
import type { NodeDefinition } from "./mesh.js";
|
|
6
6
|
import type { MessageRecord } from "./messages.js";
|
|
7
7
|
import type { CollaborationEvent, CollaborationRecord } from "./collaboration.js";
|
|
8
|
+
import type { ChannelInviteRedemptionRequest, ChannelInviteRoute, ChannelInviteInvitee } from "./channel-invites.js";
|
|
8
9
|
export interface SubscriptionRequest {
|
|
9
10
|
actorId: ScoutId;
|
|
10
11
|
conversationIds?: ScoutId[];
|
|
@@ -63,5 +64,42 @@ export interface CollaborationEventAppendCommand {
|
|
|
63
64
|
kind: "collaboration.event.append";
|
|
64
65
|
event: CollaborationEvent;
|
|
65
66
|
}
|
|
66
|
-
|
|
67
|
+
/**
|
|
68
|
+
* Invitation writes are broker commands rather than conversation upserts so
|
|
69
|
+
* the read-modify-write of a channel's invitation set happens inside the
|
|
70
|
+
* broker's serialized command queue. Two operators minting an invitation at
|
|
71
|
+
* the same instant must not clobber each other's record.
|
|
72
|
+
*/
|
|
73
|
+
export interface ChannelInviteCreateCommand {
|
|
74
|
+
kind: "channel.invite.create";
|
|
75
|
+
channelId: ScoutId;
|
|
76
|
+
inviteId: ScoutId;
|
|
77
|
+
/** Digest only. The raw token never crosses this boundary. */
|
|
78
|
+
tokenHash: string;
|
|
79
|
+
tokenHint: string;
|
|
80
|
+
createdByActorId: ScoutId;
|
|
81
|
+
createdAt: number;
|
|
82
|
+
expiresAt: number | null;
|
|
83
|
+
maxRedemptions: number | null;
|
|
84
|
+
route: ChannelInviteRoute;
|
|
85
|
+
invitee?: ChannelInviteInvitee;
|
|
86
|
+
metadata?: MetadataMap;
|
|
87
|
+
}
|
|
88
|
+
export interface ChannelInviteRevokeCommand {
|
|
89
|
+
kind: "channel.invite.revoke";
|
|
90
|
+
channelId: ScoutId;
|
|
91
|
+
inviteId: ScoutId;
|
|
92
|
+
revokedByActorId: ScoutId;
|
|
93
|
+
revokedAt: number;
|
|
94
|
+
}
|
|
95
|
+
export interface ChannelInviteRedeemCommand {
|
|
96
|
+
kind: "channel.invite.redeem";
|
|
97
|
+
channelId: ScoutId;
|
|
98
|
+
/** Digest of the presented token; the broker matches, never the caller. */
|
|
99
|
+
tokenHash: string;
|
|
100
|
+
redemptionId: ScoutId;
|
|
101
|
+
redeemedAt: number;
|
|
102
|
+
request: ChannelInviteRedemptionRequest;
|
|
103
|
+
}
|
|
104
|
+
export type ControlCommand = NodeUpsertCommand | ActorUpsertCommand | AgentUpsertCommand | AgentEndpointUpsertCommand | ConversationUpsertCommand | BindingUpsertCommand | CollaborationUpsertCommand | CollaborationEventAppendCommand | ChannelInviteCreateCommand | ChannelInviteRevokeCommand | ChannelInviteRedeemCommand | PostMessageCommand | InvokeAgentCommand | EnsureAwakeCommand | SubscribeCommand;
|
|
67
105
|
//# sourceMappingURL=transports.d.ts.map
|
package/dist/transports.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transports.d.ts","sourceRoot":"","sources":["../src/transports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"transports.d.ts","sourceRoot":"","sources":["../src/transports.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openscout/protocol",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.104",
|
|
4
4
|
"description": "Typed protocol for the OpenScout local control plane",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"typescript": "^5"
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "ccfe6c5bb412f1f40a85858b25acfea34060bc5e"
|
|
61
61
|
}
|
package/src/actors.ts
CHANGED
|
@@ -43,6 +43,7 @@ export type AgentEndpointTransport = Extract<
|
|
|
43
43
|
| "kimi_acp"
|
|
44
44
|
| "cursor_acp"
|
|
45
45
|
| "opencode_acp"
|
|
46
|
+
| "devin_acp"
|
|
46
47
|
| "tmux"
|
|
47
48
|
| "cursor_exec"
|
|
48
49
|
| "cursor_cli_text"
|
|
@@ -59,6 +60,7 @@ export const AGENT_HARNESSES = [
|
|
|
59
60
|
"flue",
|
|
60
61
|
"cursor",
|
|
61
62
|
"opencode",
|
|
63
|
+
"devin",
|
|
62
64
|
"native",
|
|
63
65
|
"worker",
|
|
64
66
|
"bridge",
|
package/src/broker-routes.ts
CHANGED
|
@@ -12,12 +12,20 @@ export const scoutBrokerPaths = {
|
|
|
12
12
|
capabilities: "/v1/capabilities",
|
|
13
13
|
runtimeCatalog: "/v1/runtime-catalog",
|
|
14
14
|
topologySnapshot: "/v1/topology/snapshot",
|
|
15
|
+
meshNodes: "/v1/mesh/nodes",
|
|
16
|
+
// Observe-tier compact node state. Read against a PEER broker's base URL
|
|
17
|
+
// through the signed/pinned mesh client; the local home feed is never
|
|
18
|
+
// widened for remote callers (mesh trust cone §4).
|
|
19
|
+
meshNodeState: "/v1/mesh/node-state",
|
|
15
20
|
tailDiscover: "/v1/tail/discover",
|
|
16
21
|
tailRecent: "/v1/tail/recent",
|
|
17
22
|
repoWatchSnapshot: "/v1/repo-watch/snapshot",
|
|
23
|
+
machines: "/v1/machines",
|
|
24
|
+
machinesScan: "/v1/machines/scan",
|
|
18
25
|
messages: "/v1/messages",
|
|
19
26
|
brokerMessages: "/v1/broker/messages",
|
|
20
27
|
eventsStream: "/v1/events/stream",
|
|
28
|
+
commands: "/v1/commands",
|
|
21
29
|
actors: "/v1/actors",
|
|
22
30
|
agents: "/v1/agents",
|
|
23
31
|
endpoints: "/v1/endpoints",
|
|
@@ -50,6 +58,11 @@ export function scoutBrokerMessagesPath(search: URLSearchParams): string {
|
|
|
50
58
|
: scoutBrokerPaths.v1.brokerMessages;
|
|
51
59
|
}
|
|
52
60
|
|
|
61
|
+
/** Name a conversation. An empty title hands it back to automatic naming. */
|
|
62
|
+
export function scoutBrokerConversationTitlePath(conversationId: string): string {
|
|
63
|
+
return `${scoutBrokerPaths.v1.conversations}/${encodeURIComponent(conversationId)}/title`;
|
|
64
|
+
}
|
|
65
|
+
|
|
53
66
|
export function scoutBrokerInvocationPath(invocationId: string): string {
|
|
54
67
|
return `${scoutBrokerPaths.v1.invocations}/${encodeURIComponent(invocationId)}`;
|
|
55
68
|
}
|
|
@@ -61,3 +74,7 @@ export function scoutBrokerInvocationStreamPath(invocationId: string): string {
|
|
|
61
74
|
export function scoutBrokerInvocationLifecyclePath(invocationId: string): string {
|
|
62
75
|
return `${scoutBrokerInvocationPath(invocationId)}/lifecycle`;
|
|
63
76
|
}
|
|
77
|
+
|
|
78
|
+
export function scoutBrokerMachinePath(machineRef: string): string {
|
|
79
|
+
return `${scoutBrokerPaths.v1.machines}/${encodeURIComponent(machineRef)}`;
|
|
80
|
+
}
|
package/src/channel-identity.ts
CHANGED
|
@@ -59,6 +59,157 @@ export function systemChannelNaturalKey(name: string): string {
|
|
|
59
59
|
return `system:${encodeIdentityPart(name.trim().toLowerCase() || "system")}`;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
+
/* -- spaces ---------------------------------------------------------------- */
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* The space every channel that predates spaces belongs to.
|
|
66
|
+
*
|
|
67
|
+
* It is not a migration target; it is the name of what already exists. A
|
|
68
|
+
* channel with no space marker *is* a default-space channel, decided at read
|
|
69
|
+
* time by {@link channelSpaceSlug}, so no record is ever rewritten to acquire
|
|
70
|
+
* one.
|
|
71
|
+
*/
|
|
72
|
+
export const DEFAULT_CHAT_SPACE_SLUG = "home";
|
|
73
|
+
|
|
74
|
+
/** Metadata key carrying a channel's (or a space record's) space slug. */
|
|
75
|
+
export const CHANNEL_SPACE_SLUG_METADATA = "spaceSlug";
|
|
76
|
+
|
|
77
|
+
/** Natural-key prefix for the conversation record that *is* a space. */
|
|
78
|
+
export const SPACE_NATURAL_KEY_PREFIX = "space:";
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Slugs are the durable half of a space's identity, so they are deliberately
|
|
82
|
+
* boring: lowercase, digits and single-width hyphens, never leading or
|
|
83
|
+
* trailing punctuation. The human-readable half is the conversation `title`,
|
|
84
|
+
* which is free-form and renameable; the slug never changes once minted
|
|
85
|
+
* because it is mixed into every channel id in the space.
|
|
86
|
+
*/
|
|
87
|
+
const CHAT_SPACE_SLUG_PATTERN = /^[a-z0-9](?:[a-z0-9-]{0,30}[a-z0-9])?$/;
|
|
88
|
+
|
|
89
|
+
export function isChatSpaceSlug(value: string | null | undefined): value is string {
|
|
90
|
+
return typeof value === "string" && CHAT_SPACE_SLUG_PATTERN.test(value);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Read a slug from untrusted input, or return `null`.
|
|
95
|
+
*
|
|
96
|
+
* Lowercasing and trimming are accepted because they cannot change which space
|
|
97
|
+
* is meant. Anything else -- a space character, a slash, a percent escape --
|
|
98
|
+
* is refused rather than repaired: silently rewriting `work/secret` into
|
|
99
|
+
* `worksecret` would resolve a request to a space the caller did not name.
|
|
100
|
+
*/
|
|
101
|
+
export function normalizeChatSpaceSlug(value: string | null | undefined): string | null {
|
|
102
|
+
const candidate = typeof value === "string" ? value.trim().toLowerCase() : "";
|
|
103
|
+
return isChatSpaceSlug(candidate) ? candidate : null;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Derive a slug from a human title, for creation only.
|
|
108
|
+
*
|
|
109
|
+
* This one *does* rewrite, because the title is prose the operator typed and
|
|
110
|
+
* the slug is an identifier we are minting from it. It is never used to
|
|
111
|
+
* interpret a slug that arrived on a request.
|
|
112
|
+
*/
|
|
113
|
+
export function chatSpaceSlugFromTitle(title: string): string | null {
|
|
114
|
+
const slug = title
|
|
115
|
+
.trim()
|
|
116
|
+
.toLowerCase()
|
|
117
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
118
|
+
.replace(/^-+|-+$/g, "")
|
|
119
|
+
.slice(0, 32)
|
|
120
|
+
.replace(/-+$/g, "");
|
|
121
|
+
return isChatSpaceSlug(slug) ? slug : null;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/** The natural key of the conversation record that carries a space. */
|
|
125
|
+
export function spaceNaturalKey(spaceSlug: string): string {
|
|
126
|
+
return `${SPACE_NATURAL_KEY_PREFIX}${encodeIdentityPart(
|
|
127
|
+
spaceSlug.trim().toLowerCase() || DEFAULT_CHAT_SPACE_SLUG,
|
|
128
|
+
)}`;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* The natural key of a named channel *inside a space*.
|
|
133
|
+
*
|
|
134
|
+
* The default space returns the byte-identical legacy string, which is what
|
|
135
|
+
* keeps every channel that exists today on the exact id it already has:
|
|
136
|
+
* `stableChannelId` is a pure function of this key, so an unchanged key is an
|
|
137
|
+
* unchanged id, an unchanged feed, and unchanged invitations. Nothing is
|
|
138
|
+
* migrated because nothing moves.
|
|
139
|
+
*
|
|
140
|
+
* `/` is the separator because {@link encodeIdentityPart} percent-encodes it,
|
|
141
|
+
* so a channel whose *name* contains a slash encodes to `%2F` and can never be
|
|
142
|
+
* mistaken for the space boundary. A legacy key and a spaced key are therefore
|
|
143
|
+
* distinguishable by inspection, in both directions.
|
|
144
|
+
*/
|
|
145
|
+
export function spacedChannelNaturalKey(spaceSlug: string, channel: string): string {
|
|
146
|
+
const slug = normalizeChatSpaceSlug(spaceSlug) ?? DEFAULT_CHAT_SPACE_SLUG;
|
|
147
|
+
const name = encodeIdentityPart(channel.trim().toLowerCase() || "shared");
|
|
148
|
+
return slug === DEFAULT_CHAT_SPACE_SLUG
|
|
149
|
+
? namedChannelNaturalKey(channel)
|
|
150
|
+
: `channel:${slug}/${name}`;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Which space a conversation belongs to.
|
|
155
|
+
*
|
|
156
|
+
* Read in priority order: the explicit marker, then the natural key, then the
|
|
157
|
+
* default. The fallback is not a guess -- a record with no marker was written
|
|
158
|
+
* before spaces existed, and the default space is precisely the set of things
|
|
159
|
+
* that existed before spaces. That is why this can be derived at read time
|
|
160
|
+
* instead of backfilled.
|
|
161
|
+
*/
|
|
162
|
+
export function channelSpaceSlug(conversation: ConversationIdentityRecord): string {
|
|
163
|
+
const declared = normalizeChatSpaceSlug(
|
|
164
|
+
conversation.metadata?.[CHANNEL_SPACE_SLUG_METADATA] as string | undefined,
|
|
165
|
+
);
|
|
166
|
+
if (declared) return declared;
|
|
167
|
+
|
|
168
|
+
const naturalKey = conversationNaturalKey(conversation);
|
|
169
|
+
return chatSpaceSlugFromNaturalKey(naturalKey) ?? DEFAULT_CHAT_SPACE_SLUG;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* The space named inside a natural key, or `null` when the key names none.
|
|
174
|
+
*
|
|
175
|
+
* `null` is distinct from `"home"`: it means this key carries no space at all
|
|
176
|
+
* (a direct message, a system record, a legacy channel), and the caller
|
|
177
|
+
* decides what that means. Only {@link channelSpaceSlug} turns it into the
|
|
178
|
+
* default.
|
|
179
|
+
*/
|
|
180
|
+
export function chatSpaceSlugFromNaturalKey(
|
|
181
|
+
naturalKey: string | null | undefined,
|
|
182
|
+
): string | null {
|
|
183
|
+
const key = naturalKey?.trim();
|
|
184
|
+
if (!key) return null;
|
|
185
|
+
if (key.startsWith(SPACE_NATURAL_KEY_PREFIX)) {
|
|
186
|
+
return normalizeChatSpaceSlug(
|
|
187
|
+
decodeURIComponent(key.slice(SPACE_NATURAL_KEY_PREFIX.length)),
|
|
188
|
+
);
|
|
189
|
+
}
|
|
190
|
+
if (!key.startsWith("channel:")) return null;
|
|
191
|
+
const rest = key.slice("channel:".length);
|
|
192
|
+
const boundary = rest.indexOf("/");
|
|
193
|
+
// No separator is a legacy key, and a legacy key is a default-space key.
|
|
194
|
+
if (boundary < 0) return DEFAULT_CHAT_SPACE_SLUG;
|
|
195
|
+
return normalizeChatSpaceSlug(rest.slice(0, boundary));
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Whether a conversation record is a space rather than a room.
|
|
200
|
+
*
|
|
201
|
+
* Two independent markers have to agree. `kind: "system"` is what keeps the
|
|
202
|
+
* record out of every conversation list; the natural-key prefix is what says
|
|
203
|
+
* it is a *space* and not some other system record. Requiring both means a
|
|
204
|
+
* future system conversation cannot be mistaken for a space, and a channel
|
|
205
|
+
* cannot be mistaken for one either.
|
|
206
|
+
*/
|
|
207
|
+
export function isChatSpaceRecord(conversation: ConversationIdentityRecord): boolean {
|
|
208
|
+
if (conversation.kind !== "system") return false;
|
|
209
|
+
const naturalKey = channelNaturalKeyFromMetadata(conversation.metadata);
|
|
210
|
+
return Boolean(naturalKey?.startsWith(SPACE_NATURAL_KEY_PREFIX));
|
|
211
|
+
}
|
|
212
|
+
|
|
62
213
|
export function channelNaturalKeyFromMetadata(
|
|
63
214
|
metadata: MetadataMap | undefined,
|
|
64
215
|
): string | null {
|