@openscout/protocol 0.2.97 → 0.2.102
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/broker-routes.d.ts +7 -0
- package/dist/broker-routes.d.ts.map +1 -1
- package/dist/broker-routes.js +14 -0
- 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 +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/machines.d.ts +231 -0
- package/dist/machines.d.ts.map +1 -0
- package/dist/machines.js +550 -0
- package/dist/runtime-catalog.generated.d.ts +16 -16
- package/dist/runtime-catalog.generated.d.ts.map +1 -1
- package/dist/runtime-catalog.generated.js +30 -20
- package/dist/runtime-execution.d.ts.map +1 -1
- package/dist/runtime-execution.js +3 -0
- 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/package.json +2 -2
- package/src/broker-routes.ts +16 -0
- package/src/conversation-projection.ts +1 -1
- package/src/herdr-workspace-digest.ts +458 -0
- package/src/index.ts +2 -0
- package/src/machines.ts +741 -0
- package/src/runtime-catalog.generated.ts +30 -20
- package/src/runtime-catalog.v1.json +8 -8
- package/src/runtime-execution.ts +3 -0
- package/src/scout-delivery.ts +1 -0
- package/src/terminal-host-topology.ts +32 -2
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
export const SCOUT_RUNTIME_CATALOG_DATA = {
|
|
4
4
|
"schemaVersion": "openscout.runtime-catalog.v1",
|
|
5
|
-
"revision": "2026-09-
|
|
5
|
+
"revision": "2026-09-10.1",
|
|
6
6
|
"harnesses": [
|
|
7
7
|
{
|
|
8
8
|
"id": "claude",
|
|
@@ -82,11 +82,27 @@ export const SCOUT_RUNTIME_CATALOG_DATA = {
|
|
|
82
82
|
],
|
|
83
83
|
"defaultReasoningEffort": "medium",
|
|
84
84
|
"models": [
|
|
85
|
+
{
|
|
86
|
+
"id": "gpt-6-astra",
|
|
87
|
+
"label": "6 Astra",
|
|
88
|
+
"enabled": true,
|
|
89
|
+
"default": true,
|
|
90
|
+
"description": "Most capable for complex reasoning, coding, computer use, research, and document creation",
|
|
91
|
+
"family": "GPT",
|
|
92
|
+
"version": "6 Astra",
|
|
93
|
+
"contextWindowTokens": 1050000,
|
|
94
|
+
"reasoningEfforts": [
|
|
95
|
+
"low",
|
|
96
|
+
"medium",
|
|
97
|
+
"high",
|
|
98
|
+
"xhigh",
|
|
99
|
+
"max"
|
|
100
|
+
]
|
|
101
|
+
},
|
|
85
102
|
{
|
|
86
103
|
"id": "gpt-5.6-sol",
|
|
87
104
|
"label": "5.6 Sol",
|
|
88
105
|
"enabled": true,
|
|
89
|
-
"default": true,
|
|
90
106
|
"family": "GPT",
|
|
91
107
|
"version": "5.6 Sol",
|
|
92
108
|
"reasoningEfforts": [
|
|
@@ -145,7 +161,7 @@ export const SCOUT_RUNTIME_CATALOG_DATA = {
|
|
|
145
161
|
"high",
|
|
146
162
|
"xhigh"
|
|
147
163
|
],
|
|
148
|
-
"defaultReasoningEffort": "
|
|
164
|
+
"defaultReasoningEffort": "high",
|
|
149
165
|
"models": [
|
|
150
166
|
{
|
|
151
167
|
"id": "grok-4.6",
|
|
@@ -161,14 +177,8 @@ export const SCOUT_RUNTIME_CATALOG_DATA = {
|
|
|
161
177
|
"label": "Grok 4.5",
|
|
162
178
|
"enabled": true,
|
|
163
179
|
"family": "Grok",
|
|
164
|
-
"version": "4.5"
|
|
165
|
-
|
|
166
|
-
{
|
|
167
|
-
"id": "grok-4.3",
|
|
168
|
-
"label": "Grok 4.3",
|
|
169
|
-
"enabled": true,
|
|
170
|
-
"family": "Grok",
|
|
171
|
-
"version": "4.3"
|
|
180
|
+
"version": "4.5",
|
|
181
|
+
"contextWindowTokens": 500000
|
|
172
182
|
}
|
|
173
183
|
]
|
|
174
184
|
},
|
|
@@ -176,7 +186,13 @@ export const SCOUT_RUNTIME_CATALOG_DATA = {
|
|
|
176
186
|
"id": "grok-acp",
|
|
177
187
|
"label": "Grok",
|
|
178
188
|
"enabled": true,
|
|
179
|
-
"reasoningEfforts":
|
|
189
|
+
"reasoningEfforts": [
|
|
190
|
+
"low",
|
|
191
|
+
"medium",
|
|
192
|
+
"high",
|
|
193
|
+
"xhigh"
|
|
194
|
+
],
|
|
195
|
+
"defaultReasoningEffort": "high",
|
|
180
196
|
"models": [
|
|
181
197
|
{
|
|
182
198
|
"id": "grok-4.6",
|
|
@@ -192,14 +208,8 @@ export const SCOUT_RUNTIME_CATALOG_DATA = {
|
|
|
192
208
|
"label": "Grok 4.5",
|
|
193
209
|
"enabled": true,
|
|
194
210
|
"family": "Grok",
|
|
195
|
-
"version": "4.5"
|
|
196
|
-
|
|
197
|
-
{
|
|
198
|
-
"id": "grok-4.3",
|
|
199
|
-
"label": "Grok 4.3",
|
|
200
|
-
"enabled": true,
|
|
201
|
-
"family": "Grok",
|
|
202
|
-
"version": "4.3"
|
|
211
|
+
"version": "4.5",
|
|
212
|
+
"contextWindowTokens": 500000
|
|
203
213
|
}
|
|
204
214
|
]
|
|
205
215
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "openscout.runtime-catalog.v1",
|
|
3
|
-
"revision": "2026-09-
|
|
3
|
+
"revision": "2026-09-10.1",
|
|
4
4
|
"harnesses": [
|
|
5
5
|
{
|
|
6
6
|
"id": "claude",
|
|
@@ -26,7 +26,8 @@
|
|
|
26
26
|
"reasoningEfforts": ["low", "medium", "high", "xhigh"],
|
|
27
27
|
"defaultReasoningEffort": "medium",
|
|
28
28
|
"models": [
|
|
29
|
-
{ "id": "gpt-
|
|
29
|
+
{ "id": "gpt-6-astra", "label": "6 Astra", "enabled": true, "default": true, "description": "Most capable for complex reasoning, coding, computer use, research, and document creation", "family": "GPT", "version": "6 Astra", "contextWindowTokens": 1050000, "reasoningEfforts": ["low", "medium", "high", "xhigh", "max"] },
|
|
30
|
+
{ "id": "gpt-5.6-sol", "label": "5.6 Sol", "enabled": true, "family": "GPT", "version": "5.6 Sol", "reasoningEfforts": ["low", "medium", "high", "xhigh", "ultra"] },
|
|
30
31
|
{ "id": "gpt-5.6-terra", "label": "5.6 Terra", "enabled": true, "family": "GPT", "version": "5.6 Terra", "reasoningEfforts": ["low", "medium", "high", "xhigh", "ultra"] },
|
|
31
32
|
{ "id": "gpt-5.6-luna", "label": "5.6 Luna", "enabled": true, "family": "GPT", "version": "5.6 Luna" },
|
|
32
33
|
{ "id": "gpt-5.5", "label": "5.5", "enabled": true, "family": "GPT", "version": "5.5" },
|
|
@@ -39,22 +40,21 @@
|
|
|
39
40
|
"enabled": true,
|
|
40
41
|
"listed": false,
|
|
41
42
|
"reasoningEfforts": ["low", "medium", "high", "xhigh"],
|
|
42
|
-
"defaultReasoningEffort": "
|
|
43
|
+
"defaultReasoningEffort": "high",
|
|
43
44
|
"models": [
|
|
44
45
|
{ "id": "grok-4.6", "label": "Grok 4.6", "enabled": true, "default": true, "family": "Grok", "version": "4.6", "contextWindowTokens": 500000 },
|
|
45
|
-
{ "id": "grok-4.5", "label": "Grok 4.5", "enabled": true, "family": "Grok", "version": "4.5" }
|
|
46
|
-
{ "id": "grok-4.3", "label": "Grok 4.3", "enabled": true, "family": "Grok", "version": "4.3" }
|
|
46
|
+
{ "id": "grok-4.5", "label": "Grok 4.5", "enabled": true, "family": "Grok", "version": "4.5", "contextWindowTokens": 500000 }
|
|
47
47
|
]
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
50
|
"id": "grok-acp",
|
|
51
51
|
"label": "Grok",
|
|
52
52
|
"enabled": true,
|
|
53
|
-
"reasoningEfforts":
|
|
53
|
+
"reasoningEfforts": ["low", "medium", "high", "xhigh"],
|
|
54
|
+
"defaultReasoningEffort": "high",
|
|
54
55
|
"models": [
|
|
55
56
|
{ "id": "grok-4.6", "label": "Grok 4.6", "enabled": true, "default": true, "family": "Grok", "version": "4.6", "contextWindowTokens": 500000 },
|
|
56
|
-
{ "id": "grok-4.5", "label": "Grok 4.5", "enabled": true, "family": "Grok", "version": "4.5" }
|
|
57
|
-
{ "id": "grok-4.3", "label": "Grok 4.3", "enabled": true, "family": "Grok", "version": "4.3" }
|
|
57
|
+
{ "id": "grok-4.5", "label": "Grok 4.5", "enabled": true, "family": "Grok", "version": "4.5", "contextWindowTokens": 500000 }
|
|
58
58
|
]
|
|
59
59
|
},
|
|
60
60
|
{ "id": "kimi", "label": "Kimi Code", "enabled": true, "reasoningEfforts": null, "models": [] },
|
package/src/runtime-execution.ts
CHANGED
|
@@ -322,6 +322,9 @@ export function normalizeScoutRuntimeModel(
|
|
|
322
322
|
const normalizedHarness = harness.trim().toLowerCase();
|
|
323
323
|
const lower = requested.toLowerCase();
|
|
324
324
|
if (normalizedHarness === "codex") {
|
|
325
|
+
if (lower === "6" || lower === "gpt-6" || lower === "astra") {
|
|
326
|
+
return { ok: true, requested, resolved: "gpt-6-astra" };
|
|
327
|
+
}
|
|
325
328
|
if (lower === "5.6" || lower === "gpt-5.6") {
|
|
326
329
|
return { ok: true, requested, resolved: "gpt-5.6-sol" };
|
|
327
330
|
}
|
package/src/scout-delivery.ts
CHANGED
|
@@ -63,6 +63,7 @@ export type ScoutOperatorSignal =
|
|
|
63
63
|
replyExpectation: "required";
|
|
64
64
|
/** What the agent is asking for. Never empty — that is the whole point. */
|
|
65
65
|
question: string;
|
|
66
|
+
requestKind?: "permission";
|
|
66
67
|
/** Optional discrete choices, when the answer is a selection. */
|
|
67
68
|
options?: string[];
|
|
68
69
|
/** Why the agent cannot continue without it. */
|
|
@@ -120,6 +120,21 @@ export type HerdrWorkspaceProjection = {
|
|
|
120
120
|
tabs: HerdrTabProjection[];
|
|
121
121
|
};
|
|
122
122
|
|
|
123
|
+
/**
|
|
124
|
+
* Why a projection is not live.
|
|
125
|
+
*
|
|
126
|
+
* `not_running` is the ordinary case: no herdr server answers for this session,
|
|
127
|
+
* so its persisted layout is the honest thing to show.
|
|
128
|
+
*
|
|
129
|
+
* `unreadable` is the case worth naming. A herdr server for this session IS
|
|
130
|
+
* running, but it did not answer the topology commands — a protocol skew
|
|
131
|
+
* between the installed client and a long-lived server is the common cause,
|
|
132
|
+
* and a busy server or a timeout look the same from here. Collapsing that into
|
|
133
|
+
* `not_running` would state, of live work, that it is not running. The
|
|
134
|
+
* projection says which it is so a reader never has to guess.
|
|
135
|
+
*/
|
|
136
|
+
export type HerdrTopologyUnavailableReason = "not_running" | "unreadable";
|
|
137
|
+
|
|
123
138
|
export type HerdrSessionTopology = {
|
|
124
139
|
/** Herdr session name, e.g. "openscout". */
|
|
125
140
|
session: string;
|
|
@@ -134,8 +149,23 @@ export type HerdrSessionTopology = {
|
|
|
134
149
|
* projection is live.
|
|
135
150
|
*/
|
|
136
151
|
savedAt?: number | null;
|
|
152
|
+
/**
|
|
153
|
+
* Why this projection is not live. Set only when `running` is false; absent
|
|
154
|
+
* on a live read. See {@link HerdrTopologyUnavailableReason}.
|
|
155
|
+
*/
|
|
156
|
+
unavailable?: HerdrTopologyUnavailableReason | null;
|
|
137
157
|
};
|
|
138
158
|
|
|
139
|
-
export function emptyHerdrSessionTopology(
|
|
140
|
-
|
|
159
|
+
export function emptyHerdrSessionTopology(
|
|
160
|
+
session: string,
|
|
161
|
+
running: boolean,
|
|
162
|
+
unavailable?: HerdrTopologyUnavailableReason | null,
|
|
163
|
+
): HerdrSessionTopology {
|
|
164
|
+
return {
|
|
165
|
+
session,
|
|
166
|
+
running,
|
|
167
|
+
workspaces: [],
|
|
168
|
+
observedAt: Date.now(),
|
|
169
|
+
...(running ? {} : { unavailable: unavailable ?? "not_running" }),
|
|
170
|
+
};
|
|
141
171
|
}
|