@intentic/sandbox-contract 1.313.0 → 1.315.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/contracts/accounts.contract.d.ts +6 -0
  2. package/dist/contracts/accounts.contract.d.ts.map +1 -1
  3. package/dist/contracts/agent.contract.d.ts +1 -0
  4. package/dist/contracts/agent.contract.d.ts.map +1 -1
  5. package/dist/contracts/agent.contract.js +1 -1
  6. package/dist/contracts/agent.contract.js.map +1 -1
  7. package/dist/contracts/agents.contract.d.ts +293 -0
  8. package/dist/contracts/agents.contract.d.ts.map +1 -1
  9. package/dist/contracts/agents.contract.js +11 -1
  10. package/dist/contracts/agents.contract.js.map +1 -1
  11. package/dist/contracts/device.contract.d.ts +1 -0
  12. package/dist/contracts/device.contract.d.ts.map +1 -1
  13. package/dist/contracts/system.contract.d.ts +5 -0
  14. package/dist/contracts/system.contract.d.ts.map +1 -1
  15. package/dist/contracts/system.contract.js +1 -1
  16. package/dist/contracts/system.contract.js.map +1 -1
  17. package/dist/contracts/translator.contract.d.ts +12 -0
  18. package/dist/contracts/translator.contract.d.ts.map +1 -1
  19. package/dist/events/agent-events.d.ts.map +1 -1
  20. package/dist/events/agent-events.js.map +1 -1
  21. package/dist/events/agent-words.d.ts.map +1 -1
  22. package/dist/events/agent-words.js +5 -4
  23. package/dist/events/agent-words.js.map +1 -1
  24. package/dist/events/requests.js +1 -1
  25. package/dist/events/requests.js.map +1 -1
  26. package/dist/events/system-events.d.ts +2 -0
  27. package/dist/events/system-events.d.ts.map +1 -1
  28. package/dist/events/transcript.d.ts +1 -0
  29. package/dist/events/transcript.d.ts.map +1 -1
  30. package/dist/events/transcript.js +5 -1
  31. package/dist/events/transcript.js.map +1 -1
  32. package/dist/index.d.ts +317 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/models/plan-pools.d.ts +1 -0
  35. package/dist/models/plan-pools.d.ts.map +1 -1
  36. package/dist/models/plan-pools.js +3 -0
  37. package/dist/models/plan-pools.js.map +1 -1
  38. package/dist/schemas/agents.d.ts +7 -0
  39. package/dist/schemas/agents.d.ts.map +1 -1
  40. package/dist/schemas/agents.js +13 -2
  41. package/dist/schemas/agents.js.map +1 -1
  42. package/dist/schemas/automations.d.ts +1 -0
  43. package/dist/schemas/automations.d.ts.map +1 -1
  44. package/dist/schemas/devices.d.ts +2 -0
  45. package/dist/schemas/devices.d.ts.map +1 -1
  46. package/dist/schemas/devices.js.map +1 -1
  47. package/dist/schemas/hosts.d.ts +6 -0
  48. package/dist/schemas/hosts.d.ts.map +1 -1
  49. package/dist/schemas/hosts.js +1 -0
  50. package/dist/schemas/hosts.js.map +1 -1
  51. package/dist/schemas/metrics.d.ts +2 -0
  52. package/dist/schemas/metrics.d.ts.map +1 -1
  53. package/dist/schemas/metrics.js +4 -0
  54. package/dist/schemas/metrics.js.map +1 -1
  55. package/dist/schemas/personas.js +1 -1
  56. package/dist/schemas/personas.js.map +1 -1
  57. package/dist/schemas/providers/plan-limits.d.ts +19 -0
  58. package/dist/schemas/providers/plan-limits.d.ts.map +1 -1
  59. package/dist/schemas/providers/plan-limits.js +9 -3
  60. package/dist/schemas/providers/plan-limits.js.map +1 -1
  61. package/dist/schemas/providers/provider-oauth.d.ts +6 -0
  62. package/dist/schemas/providers/provider-oauth.d.ts.map +1 -1
  63. package/dist/schemas/terminal.d.ts.map +1 -1
  64. package/dist/schemas/terminal.js +3 -3
  65. package/dist/schemas/terminal.js.map +1 -1
  66. package/dist/text/transcript-fold.d.ts +8 -0
  67. package/dist/text/transcript-fold.d.ts.map +1 -1
  68. package/dist/text/transcript-fold.js +67 -14
  69. package/dist/text/transcript-fold.js.map +1 -1
  70. package/package.json +5 -5
  71. package/src/contracts/agent.contract.ts +1 -1
  72. package/src/contracts/agents.contract.ts +12 -0
  73. package/src/contracts/system.contract.ts +1 -1
  74. package/src/events/agent-events.ts +4 -2
  75. package/src/events/agent-words.test.ts +8 -1
  76. package/src/events/agent-words.ts +8 -5
  77. package/src/events/requests.ts +1 -1
  78. package/src/events/transcript.ts +9 -3
  79. package/src/models/plan-pools.test.ts +7 -0
  80. package/src/models/plan-pools.ts +6 -1
  81. package/src/schemas/agents.ts +17 -2
  82. package/src/schemas/devices.ts +2 -1
  83. package/src/schemas/hosts.ts +7 -1
  84. package/src/schemas/metrics.ts +6 -0
  85. package/src/schemas/personas.ts +1 -1
  86. package/src/schemas/providers/plan-limits.ts +13 -3
  87. package/src/schemas/terminal.ts +12 -10
  88. package/src/text/transcript-fold.test.ts +107 -0
  89. package/src/text/transcript-fold.ts +95 -16
@@ -9,6 +9,10 @@ import { unspokenPromptRow } from "../events/agent-words.js";
9
9
  export const COMPACTED_NOTICE = "Context compacted to free up space.";
10
10
  const defined = (value) => Object.fromEntries(Object.entries(value).filter(([, field]) => field !== undefined));
11
11
  const ownFields = ({ children: _children, thinking: _thinking, ...own }) => own;
12
+ const resultWords = (tool) => (tool.content ?? [])
13
+ .filter((entry) => entry.type === "text")
14
+ .map((entry) => entry.text)
15
+ .join("\n");
12
16
  const cardOf = (event) => ({
13
17
  id: event.id,
14
18
  name: event.name,
@@ -134,6 +138,8 @@ export class TranscriptFold {
134
138
  steeredIn = false;
135
139
  bubble;
136
140
  cards = new Map();
141
+ placed = new Map();
142
+ unplaced = new Map();
137
143
  parked = new Map();
138
144
  opener;
139
145
  unrun = false;
@@ -179,6 +185,7 @@ export class TranscriptFold {
179
185
  const row = this.rows[index];
180
186
  row.tools = [...(row.tools ?? []), tool];
181
187
  this.cards.set(tool.id, { tool, row: index });
188
+ this.claimById(tool);
182
189
  return [...opened, { op: "tool", index, tool: structuredClone(tool) }];
183
190
  }
184
191
  case "tool_call_update":
@@ -188,25 +195,16 @@ export class TranscriptFold {
188
195
  }
189
196
  if (event.content !== undefined) {
190
197
  tool.content = event.content;
198
+ this.claimByResult(tool);
191
199
  }
192
200
  if (event.locations !== undefined) {
193
201
  tool.locations = event.locations;
194
202
  }
195
203
  });
196
- case "subagent": {
197
- const { kind: _kind, id, subagentKind, ...rest } = event;
198
- return this.patchCard(id, (tool) => {
199
- tool.subagent = { ...rest, kind: subagentKind, status: "running" };
200
- });
201
- }
202
- case "subagent_update": {
203
- const { kind: _kind, id, ...patch } = event;
204
- return this.patchCard(id, (tool) => {
205
- if (tool.subagent !== undefined) {
206
- tool.subagent = { ...tool.subagent, ...defined(patch) };
207
- }
208
- });
209
- }
204
+ case "subagent":
205
+ return this.subagentBorn(event);
206
+ case "subagent_update":
207
+ return this.subagentMoved(event);
210
208
  case "todos": {
211
209
  const [index, opened] = this.open();
212
210
  this.rows[index].todos = [...event.items];
@@ -412,10 +410,65 @@ export class TranscriptFold {
412
410
  const child = cardOf(event);
413
411
  place.tool.children = [...(place.tool.children ?? []), child];
414
412
  this.cards.set(child.id, { tool: child, row: place.row, parent });
413
+ this.claimById(child);
415
414
  return [{ op: "tool", index: place.row, tool: structuredClone(child), parent }];
416
415
  }
417
416
  return [];
418
417
  }
418
+ subagentBorn(event) {
419
+ const { kind: _kind, id, subagentKind, ...rest } = event;
420
+ const born = { ...rest, kind: subagentKind, status: "running" };
421
+ const card = this.cardOfSubagent(id);
422
+ if (card === undefined) {
423
+ this.unplaced.set(id, born);
424
+ return [];
425
+ }
426
+ return this.patchCard(card, (tool) => this.place(tool, id, born));
427
+ }
428
+ subagentMoved(event) {
429
+ const { kind: _kind, id, ...patch } = event;
430
+ const moved = defined(patch);
431
+ const card = this.cardOfSubagent(id);
432
+ if (card !== undefined) {
433
+ return this.patchCard(card, (tool) => {
434
+ if (tool.subagent !== undefined) {
435
+ tool.subagent = { ...tool.subagent, ...moved };
436
+ }
437
+ });
438
+ }
439
+ const waiting = this.unplaced.get(id);
440
+ if (waiting !== undefined) {
441
+ this.unplaced.set(id, { ...waiting, ...moved });
442
+ }
443
+ return [];
444
+ }
445
+ cardOfSubagent(id) {
446
+ return this.placed.get(id) ?? (this.cards.has(id) ? id : undefined);
447
+ }
448
+ place(tool, id, subagent) {
449
+ const { id: _id, ...state } = subagent;
450
+ tool.subagent = id === tool.id ? state : { ...state, id };
451
+ this.placed.set(id, tool.id);
452
+ this.unplaced.delete(id);
453
+ }
454
+ claimById(tool) {
455
+ const waiting = this.unplaced.get(tool.id);
456
+ if (waiting !== undefined) {
457
+ this.place(tool, tool.id, waiting);
458
+ }
459
+ }
460
+ claimByResult(tool) {
461
+ if (this.unplaced.size === 0 || tool.subagent !== undefined) {
462
+ return;
463
+ }
464
+ const words = resultWords(tool);
465
+ for (const [id, waiting] of this.unplaced) {
466
+ if (words.includes(id)) {
467
+ this.place(tool, id, waiting);
468
+ return;
469
+ }
470
+ }
471
+ }
419
472
  open() {
420
473
  if (this.bubble !== undefined) {
421
474
  return [this.bubble, []];
@@ -1 +1 @@
1
- {"version":3,"file":"transcript-fold.js","sourceRoot":"","sources":["../../src/text/transcript-fold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transcript-fold.js","sourceRoot":"","sources":["../../src/text/transcript-fold.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentic/sandbox-contract",
3
- "version": "1.313.0",
3
+ "version": "1.315.0",
4
4
  "description": "oRPC wire contract for the intentic sandbox daemon, shared by the daemon and its browser client",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -251,10 +251,10 @@
251
251
  }
252
252
  },
253
253
  "dependencies": {
254
- "@intentic/base": "1.313.0",
255
- "@intentic/constants": "1.313.0",
256
- "@intentic/extension-manifest": "1.313.0",
257
- "@intentic/registry": "1.313.0",
254
+ "@intentic/base": "1.315.0",
255
+ "@intentic/constants": "1.315.0",
256
+ "@intentic/extension-manifest": "1.315.0",
257
+ "@intentic/registry": "1.315.0",
258
258
  "@orpc/contract": "1.15.4",
259
259
  "tslib": "2.8.1",
260
260
  "zod": "4.6.5"
@@ -136,7 +136,7 @@ export const agentContract = {
136
136
  path: "/agent/account",
137
137
  summary: "Move a conversation to another account",
138
138
  description:
139
- "Points the conversation at another connected account of the provider it runs on, for every turn from now on. A turn held by a spent allowance or a stop runs again at once on that account, which is how a refused turn continues elsewhere. Without `carry` the next turn opens a fresh session seeded from the record.",
139
+ "Points the conversation at another connected account of the provider it runs on, for every turn from now on. It starts nothing by itself: with `run`, a turn held by a spent allowance or a stop runs again at once on that account, which is how a refused turn continues elsewhere. Without `carry` the next turn opens a fresh session seeded from the record.",
140
140
  })
141
141
  .meta({ floor: "collaborator", guest: true })
142
142
  .input(SwitchAccountSchema)
@@ -21,6 +21,7 @@ import {
21
21
  AgentsMovedSchema,
22
22
  AgentsRemovedSchema,
23
23
  AgentSummarySchema,
24
+ AgentUnsentSchema,
24
25
  LandResultSchema,
25
26
  } from "../schemas/agents.js";
26
27
  import { AgentsListSchema } from "../schemas/automations.js";
@@ -176,6 +177,17 @@ export const agentsContract = {
176
177
  .meta({ floor: "collaborator", guest: true })
177
178
  .input(AgentIdSchema)
178
179
  .output(AgentSummarySchema),
180
+ unsent: procedure
181
+ .route({
182
+ method: "POST",
183
+ path: "/agents/{id}/unsent",
184
+ summary: "Report that a composer holds an unsent message for a conversation",
185
+ description:
186
+ "The words stay in the browser; the sandbox only records since when some composer has held them, so a conversation waiting on a message nobody has sent yet is never archived for being idle. Null clears it once the message is sent or deleted. Does not count as activity.",
187
+ })
188
+ .meta({ floor: "collaborator" })
189
+ .input(AgentUnsentSchema)
190
+ .output(AgentSummarySchema),
179
191
  // A finer-grained ask (watch this, not that) goes through the chat, not a per-watch id here.
180
192
  stopWatching: procedure
181
193
  .route({
@@ -221,7 +221,7 @@ export const systemContract = {
221
221
  path: "/system/subagents",
222
222
  summary: "Subagents the agents have started",
223
223
  description:
224
- "Every subagent and child agent this sandbox's conversations have delegated work to, whichever tool started it, with what each one is doing.",
224
+ "Every subagent this sandbox's conversations have delegated work to, whichever tool started it, with what each one is doing.",
225
225
  })
226
226
  .output(SubagentsListSchema),
227
227
  subagentTranscript: systemRoute
@@ -103,8 +103,10 @@ export const AgentEventSchema = z.discriminatedUnion("kind", [
103
103
  z.object({ kind: z.literal("terminal"), session: z.string() }),
104
104
  // The agent used a browser tool; one per turn, since one Chromium serves every browser call the turn makes.
105
105
  z.object({ kind: z.literal("browser"), session: z.string() }),
106
- // One frame per spawned child (Agent/Task subagent, or a driven Codex/Grok CLI), then `subagent_update` as it
107
- // works, mirroring `tool_call`/`tool_call_update`. `id` is the spawning call's id, so both land on one card.
106
+ // One frame per subagent a turn starts, whichever mechanism starts it, then `subagent_update` as it works, mirroring
107
+ // `tool_call`/`tool_call_update`. `id` is its roster id: the spawning call's own id for an in-process subagent (the
108
+ // runtime's Agent/Task tool), its own conversation id for a spawned one, whose card is the call whose result names
109
+ // that id (transcript-fold.ts). Either way both frames land on the card of the call that started it.
108
110
  z.object({
109
111
  kind: z.literal("subagent"),
110
112
  id: z.string(),
@@ -50,7 +50,14 @@ describe("another agent's words", () => {
50
50
  role: "notice",
51
51
  text: 'Message from another conversation: "Bun migration" (sharp-shale-htw8).',
52
52
  });
53
- expect(agentWordsRow(report({ failed: true }))?.text).toBe('Child agent "Port the parser" (sub-x7) failed.');
53
+ expect(agentWordsRow(report({ failed: true }))?.text).toBe('Subagent "Port the parser" (sub-x7) failed.');
54
+ });
55
+
56
+ // A stored transcript keeps the opening its reports were written with; it still reads as a subagent's report.
57
+ it("still reads a report stored under the opening it had before", () => {
58
+ const stored = report().replace("Report from a subagent you started: ", "Report from a child agent you started: ");
59
+ expect(stored.startsWith("Report from a child agent you started: ")).toBe(true);
60
+ expect(agentWordsOf(stored)).toMatchObject({ kind: "child", from: "sub-x7", title: "Port the parser" });
54
61
  });
55
62
 
56
63
  it("ignores every other prompt, so any reader can ask without checking first", () => {
@@ -4,9 +4,11 @@ import { watchWakeRow } from "./watch-wake.js";
4
4
 
5
5
  // Composer and parser of another agent's prompt (a peer's message, a child's report) are one piece of knowledge.
6
6
 
7
- // Anchored on by the parser, so each must stay unique and unchanged across releases.
7
+ // Anchored on by the parser, so each must stay unique and unchanged across releases; a retired opening stays readable.
8
8
  const PEER_OPENING = "Message from another conversation in this workspace: ";
9
- const CHILD_OPENING = "Report from a child agent you started: ";
9
+ const CHILD_OPENING = "Report from a subagent you started: ";
10
+ // What a report opened with before a spawned agent was called a subagent like every other; still in stored prompts.
11
+ const LEGACY_CHILD_OPENING = "Report from a child agent you started: ";
10
12
 
11
13
  // The parser reads the first line only, so a title may not break it.
12
14
  const oneLine = (text: string): string => text.replaceAll(/\s+/gu, " ").trim();
@@ -76,7 +78,7 @@ export const childReportPrompt = (fields: ChildReportFields): string => {
76
78
  };
77
79
 
78
80
  const PEER_LINE = /^Message from another conversation in this workspace: `([^`]+)`(?: \("(.*)"\))?\.$/u;
79
- const CHILD_LINE = /^Report from a child agent you started: `([^`]+)`(?: \("(.*)"\))? (finished|failed)\.$/u;
81
+ const CHILD_LINE = /^Report from a (?:subagent|child agent) you started: `([^`]+)`(?: \("(.*)"\))? (finished|failed)\.$/u;
80
82
 
81
83
  const peerOf = (first: string, prompt: string): TranscriptAgentWords | undefined => {
82
84
  const match = first.startsWith(PEER_OPENING) ? PEER_LINE.exec(first) : null;
@@ -85,7 +87,7 @@ const peerOf = (first: string, prompt: string): TranscriptAgentWords | undefined
85
87
  };
86
88
 
87
89
  const childOf = (first: string, prompt: string): TranscriptAgentWords | undefined => {
88
- const match = first.startsWith(CHILD_OPENING) ? CHILD_LINE.exec(first) : null;
90
+ const match = first.startsWith(CHILD_OPENING) || first.startsWith(LEGACY_CHILD_OPENING) ? CHILD_LINE.exec(first) : null;
89
91
  const from = match?.[1];
90
92
  if (from === undefined) {
91
93
  return undefined;
@@ -111,7 +113,8 @@ const headline = (words: TranscriptAgentWords): string => {
111
113
  if (words.kind === "peer") {
112
114
  return `Message from another conversation: ${sender}.`;
113
115
  }
114
- return `Child agent ${sender} ${words.failed === true ? "failed" : "finished"}.`;
116
+ // Named as the editor names every agent another one started, whichever mechanism started it.
117
+ return `Subagent ${sender} ${words.failed === true ? "failed" : "finished"}.`;
115
118
  };
116
119
 
117
120
  /** Another agent's words are a notice: it is neither this conversation's user nor its agent. */
@@ -99,7 +99,7 @@ export const PermissionAskSchema = z.object({
99
99
  "The program this request is holding, when the request is about one. Present on a command gate's request and absent on every other permission ask.",
100
100
  ),
101
101
  child: ChildAgentAskSchema.optional().describe(
102
- "The child agent this request would start or reach, and what it runs on. Present on the child-agent gate's request and absent on every other permission ask.",
102
+ "The subagent this request would start or reach, and what it runs on. Present on the request to start or reach a subagent and absent on every other permission ask.",
103
103
  ),
104
104
  // The judge's own sentence, present only when the title can't say it; never written by the agent being gated.
105
105
  explain: z
@@ -97,9 +97,15 @@ export const TranscriptToolSchema: z.ZodType<TranscriptTool> = z.lazy(() =>
97
97
  ),
98
98
  }),
99
99
  );
100
- // The child a call started, keyed by that call's own id, so `subagent`/`subagent_update` frames need no separate
101
- // correlation. Identifying fields arrive once; status/spend/activity replace on each update.
100
+ // The subagent a call started, on that call's card whichever mechanism started it (transcript-fold.ts places it).
101
+ // Identifying fields arrive once; status/spend/activity replace on each update.
102
102
  export const TranscriptSubagentSchema = z.object({
103
+ id: z
104
+ .string()
105
+ .optional()
106
+ .describe(
107
+ "Its own id, where that is not the card's: a spawned subagent is named by its own conversation, which is what the roster, `wait` and its page call it. Absent, the card's id is its id, as it is for one the runtime started in-process.",
108
+ ),
103
109
  kind: SubagentKindSchema,
104
110
  agentType: z.string().optional(),
105
111
  description: z.string().optional(),
@@ -151,7 +157,7 @@ export type TranscriptWatchWake = z.infer<typeof TranscriptWatchWakeSchema>;
151
157
 
152
158
  // Another agent's words that reached this conversation as a prompt; the row keeps the prompt and names the sender.
153
159
  export const TranscriptAgentWordsSchema = z.object({
154
- kind: z.enum(["peer", "child"]).describe("Who sent it: another conversation in the workspace, or a child agent this one started."),
160
+ kind: z.enum(["peer", "child"]).describe("Who sent it: another conversation in the workspace, or a subagent this one started."),
155
161
  from: z.string().describe("The sending conversation's id."),
156
162
  title: z.string().optional().describe("The sender's title, when it had one."),
157
163
  failed: z.boolean().optional().describe("A child's report on a turn that failed rather than finished."),
@@ -167,6 +167,13 @@ test("a revoked sign-in outranks a lost seat, which outranks a bench, whatever t
167
167
  reason: "cooling down",
168
168
  until: 2_000,
169
169
  });
170
+ // One Google wants its owner to verify: neither waiting nor reconnecting lifts it, and the row carries the page.
171
+ expect(serviceState({ ...facts, cooling: { reason: "Verify your account to continue.", verify: "https://accounts.google.com/v" } })).toEqual({
172
+ kind: "blocked",
173
+ fix: "verify",
174
+ reason: "Verify your account to continue.",
175
+ url: "https://accounts.google.com/v",
176
+ });
170
177
  // A bench whose instant has passed is over.
171
178
  expect(serviceState({ ...facts, cooling: { until: 999 } }, undefined, undefined, 1_000_000)).toEqual({ kind: "ready", room: 100 });
172
179
  });
@@ -145,7 +145,7 @@ export interface ServiceFacts {
145
145
  // Why the sign-in needs renewing, where the provider said.
146
146
  readonly detail?: string | undefined;
147
147
  readonly seatRefusal?: string | undefined;
148
- readonly cooling?: { readonly until?: number | undefined; readonly reason?: string | undefined } | undefined;
148
+ readonly cooling?: { readonly until?: number | undefined; readonly reason?: string | undefined; readonly verify?: string | undefined } | undefined;
149
149
  readonly usage?: AccountUsage | undefined;
150
150
  }
151
151
 
@@ -240,6 +240,11 @@ export const serviceState = (facts: ServiceFacts, refusal?: ProviderRefusal, mod
240
240
  return { kind: "blocked", fix: "admin", reason: refusal.message };
241
241
  }
242
242
  const cooling = facts.cooling;
243
+ // A bench the provider wants a person for: the account's owner confirms it on the provider's page, and no wait or
244
+ // reconnect here lifts it. Outranks the retry instant, which is only when the proxy will ask again.
245
+ if (cooling?.verify !== undefined) {
246
+ return { kind: "blocked", fix: "verify", reason: cooling.reason ?? "the provider wants this account verified", url: cooling.verify };
247
+ }
243
248
  // A bench with no instant is one no wait lifts (a Google account with no project): somebody has to connect again.
244
249
  if (cooling !== undefined && cooling.until === undefined) {
245
250
  return { kind: "blocked", fix: "reconnect", reason: cooling.reason ?? "benched by the translator" };
@@ -418,6 +418,13 @@ export const AgentSummarySchema = z.object({
418
418
  .describe(
419
419
  "When somebody last opened it, in milliseconds. Newer activity than this is what makes it unread. Kept by the sandbox rather than by a browser, so clearing site data or picking up a phone does not resurrect every badge.",
420
420
  ),
421
+ // Browser-side words the daemon cannot read, reported so the unattended archive sweep never files them away.
422
+ unsentAt: z
423
+ .number()
424
+ .optional()
425
+ .describe(
426
+ "Since when somebody's composer has held a message for it that they have not sent yet, in milliseconds. While set, the sandbox never archives it on its own for being idle.",
427
+ ),
421
428
  attention: AgentAttentionSchema.describe("Which kinds of waiting-for-you it is doing."),
422
429
  // Only the causes that still hold, re-read live (conversations/land/standing.ts), never the stored report's own list: a
423
430
  // blocker the user has since cleared is not something to offer them an action about.
@@ -448,7 +455,7 @@ export const AgentSummarySchema = z.object({
448
455
  })
449
456
  .optional()
450
457
  .describe(
451
- "Subagents and child agents this one delegated to. Absent means it never has, which is most conversations. Their spend is their own and is not folded into this conversation's cost.",
458
+ "Subagents this one started, in-process and spawned alike. Absent means it never has, which is most conversations. Their spend is their own and is not folded into this conversation's cost.",
452
459
  ),
453
460
  // Cumulative output across every repo (base → branch tip), refreshed on each land; independent of what has actually
454
461
  // landed.
@@ -542,7 +549,7 @@ export const AgentSummarySchema = z.object({
542
549
  .boolean()
543
550
  .optional()
544
551
  .describe(
545
- "Left running for the person: the turn's reply gave its address, so it outlives the turn, wakes nothing and is theirs to stop.",
552
+ "Left running for the person: the agent kept it for them with the `keep` tool (or it holds a port this conversation already left them), so it outlives the turn, wakes nothing and is theirs to stop.",
546
553
  ),
547
554
  ports: z.array(z.number().int()).optional().describe("The ports it was listening on when its turn ended."),
548
555
  stoppedBy: z
@@ -740,6 +747,14 @@ export const AgentAutoLandSchema = z.object({
740
747
  "Whether its work merges automatically when a turn finishes. Null clears the override and goes back to following the sandbox-wide setting, so a conversation does not sit holding a frozen copy of a default it has quietly stopped following.",
741
748
  ),
742
749
  });
750
+ // A composer's unsent words, reported by the editor that holds them: the words themselves stay in the browser.
751
+ export const AgentUnsentSchema = z.object({
752
+ id: z.string().min(1).describe("Which conversation."),
753
+ at: z
754
+ .number()
755
+ .nullable()
756
+ .describe("When the composer started holding the unsent message, in milliseconds. Null says it no longer holds one: it was sent or cleared."),
757
+ });
743
758
  // Same `null`-clears-the-override shape as autoLand, for this conversation's own answer to one ending's question.
744
759
  // One route rather than one per ending: they are the same decision asked about different walls, and three near-identical
745
760
  // verbs is how the surfaces drifted apart in the first place.
@@ -10,7 +10,8 @@ import { DEV_VERSION } from "../state/versions.js";
10
10
  // `overlayRuntime` is the environment's locked demand; `hostRuntime` is the owner's addition; `privileged`/`gpu` are
11
11
  // docker's enforced truth.
12
12
  // A delta against what runs: absent means leave it, `null` on the two caps means back to the default; at least one key
13
- // must be set. What the old `reshape` op carries (`ic sandbox reshape` flags); `set-shape` carries a whole shape instead.
13
+ // must be set. What the old `reshape` op carries, which the machine agent carries out as `ic sandbox shape --set` (its
14
+ // `olderResizePlan`); `set-shape` carries a whole shape instead.
14
15
  export const SandboxResourcesAskFieldsSchema = z.object({
15
16
  memoryGib: z.int().positive().nullable().optional(),
16
17
  cpus: z.int().positive().nullable().optional(),
@@ -53,12 +53,18 @@ export const DeviceFactsSchema = z.object({
53
53
  // detected by a field's presence any more: the device RPC inputs are strict, and an agent rejects a field it does
54
54
  // not know rather than dropping it.
55
55
  features: z.array(z.string()).optional(),
56
+ // Why the `ic` this agent drives is older than the agent, as one sentence, when fetching the current one failed:
57
+ // what explains `features` missing what this agent's release has (a stale ic has no logs verb and no `--set`).
58
+ // Absent when ic is current, and from an agent older than the field.
59
+ icOutOfDate: z.string().optional(),
56
60
  });
57
61
  export type DeviceFacts = z.infer<typeof DeviceFactsSchema>;
58
62
 
59
63
  // The optional device ops, by what enables them:
60
64
  // - `reshape-later`: the old `reshape` op with `later`, saving the change for the next restart. An agent from before it
61
- // strips `later` and reshapes NOW, which is why a later-reshape is never sent to one.
65
+ // strips `later` and reshapes NOW, which is why a later-reshape is never sent to one. Redundant with `set-shape`'s
66
+ // `when` for every current page; kept only for pages and daemons from before `set-shape` (v1.312.0 and older),
67
+ // which check it. REMOVE IN v1.314.0, with the old `reshape` op it gates.
62
68
  // - `set-shape`: the `set-shape`/`forget-shape` ops, and `start`/`restart` applying a saved shape, all through an `ic`
63
69
  // whose `ic sandbox shape` takes the contract's own shape (`--set`); advertised only when the agent's `ic` does.
64
70
  // Both features ride that verb, so an agent advertises both or neither.
@@ -90,6 +90,12 @@ export const SandboxUsageSchema = z.object({
90
90
  loadAverage: z
91
91
  .tuple([z.number(), z.number(), z.number()])
92
92
  .describe("The load average over 1, 5 and 15 minutes. It is the machine's, so other sandboxes on it count too."),
93
+ machineCores: z
94
+ .number()
95
+ .optional()
96
+ .describe(
97
+ "Cores the machine's load average reads against: every core the sandbox may be scheduled on, before any quota. Absent from a daemon that predates it.",
98
+ ),
93
99
  processes: z.number().describe("How many processes are running in the sandbox."),
94
100
  pressure: PressureMetricsSchema.optional().describe(
95
101
  "How much work waited on CPU, memory or disk lately. Absent where the kernel does not report it.",
@@ -134,7 +134,7 @@ export const TURN_BRIEFING_NOTES: readonly TurnBriefingNote[] = [
134
134
  },
135
135
  {
136
136
  id: "delegation",
137
- label: "Spawning child agents",
137
+ label: "Spawning subagents",
138
138
  when: "First message, on a shell-only runtime, for a card that may delegate.",
139
139
  cost: "The agent does the work itself rather than handing parts of it to other conversations.",
140
140
  },