@intentic/sandbox-contract 1.238.1 → 1.239.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.
@@ -0,0 +1,70 @@
1
+ import { z } from "zod";
2
+ export const ENGINE_IDS = ["claude", "codex", "cursor", "opencode", "translator"];
3
+ export const EngineIdSchema = z.enum(ENGINE_IDS);
4
+ export const EngineChannelSchema = z.object({
5
+ kind: z.enum(["blessed", "latest", "pinned", "image"]).describe("Where this engine's version comes from."),
6
+ version: z.string().optional().describe("Which version, when it is pinned to one."),
7
+ });
8
+ export const EngineQuarantineSchema = z.object({
9
+ version: z.string().describe("Which version was refused."),
10
+ reason: z.string().describe("What was wrong with it: it would not launch, or it did not export what the daemon calls."),
11
+ at: z.string().describe("When it was refused."),
12
+ });
13
+ export const EngineRowSchema = z.object({
14
+ id: EngineIdSchema.describe("Which engine."),
15
+ label: z.string().describe("What it is called on screen."),
16
+ running: z
17
+ .object({
18
+ version: z.string().optional().describe("The version a turn would use right now. Absent means there is no copy of this engine here yet."),
19
+ source: z
20
+ .enum(["image", "store"])
21
+ .describe("Whether that version is the one baked into the sandbox image or one the store installed over it."),
22
+ })
23
+ .describe("What a turn started now would actually run."),
24
+ baked: z
25
+ .string()
26
+ .optional()
27
+ .describe("The version the image bakes, which is the floor everything else falls back to. Absent on an image that carries no copy of it."),
28
+ channel: EngineChannelSchema.describe("The owner's standing answer for this engine."),
29
+ offered: z
30
+ .object({
31
+ version: z.string().describe("The version this engine would move to."),
32
+ blessed: z.boolean().describe("Whether the blessed list names this version, which on the latest channel is routinely no."),
33
+ })
34
+ .optional()
35
+ .describe("A newer version waiting, absent when the running one is already what the channel asks for."),
36
+ blessed: z.string().optional().describe("What the blessed list names for this engine, when the list has been read."),
37
+ previous: z.string().optional().describe("The version kept one step back, which is what going back means."),
38
+ quarantined: z.array(EngineQuarantineSchema).describe("Versions the store installed and then refused, with the reason."),
39
+ diskBytes: z.number().int().nonnegative().describe("What this engine's kept versions cost on the daemon's volume."),
40
+ });
41
+ export const EnginesViewSchema = z.object({
42
+ engines: z.array(EngineRowSchema).describe("Every engine this sandbox can run, whether or not the store holds anything for it."),
43
+ checkedAt: z.string().optional().describe("When upstream was last asked what it publishes. Absent until the first check has run."),
44
+ listSource: z.string().describe("Where the blessed list is read from, so a self-hosted sandbox can show its own."),
45
+ listReadAt: z.string().optional().describe("When that list was last read. Absent means it has never been reachable from here."),
46
+ });
47
+ export const EngineChannelInputSchema = z.object({
48
+ id: EngineIdSchema.describe("Which engine."),
49
+ kind: z.enum(["blessed", "latest", "pinned", "image"]).describe("Where its version should come from."),
50
+ version: z.string().optional().describe("Which version, required when pinning and ignored otherwise."),
51
+ });
52
+ export const EngineUpdateInputSchema = z.object({
53
+ id: EngineIdSchema.describe("Which engine."),
54
+ version: z
55
+ .string()
56
+ .optional()
57
+ .describe("Which version. Leave it out for whatever the channel offers; naming one takes a version nobody has blessed, deliberately."),
58
+ floor: z
59
+ .string()
60
+ .optional()
61
+ .describe("Install the lowest published version at or above this one. What a turn refused for being too old sends back."),
62
+ });
63
+ export const EngineRevertInputSchema = z.object({ id: EngineIdSchema.describe("Which engine.") });
64
+ export const EngineAppliedSchema = z.object({
65
+ ok: z.literal(true).describe("It went through."),
66
+ version: z.string().describe("Which version is now active."),
67
+ source: z.enum(["image", "store"]).describe("Whether that is the image's copy or the store's."),
68
+ fromNextTurn: z.boolean().describe("Whether the change reaches turns already in flight, or only the next one."),
69
+ });
70
+ //# sourceMappingURL=engines.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engines.js","sourceRoot":"","sources":["../../src/schemas/engines.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmBxB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAU,CAAC;AAE3F,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAWjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IAC1G,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;CACtF,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IAC1D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0FAA0F,CAAC;IACvH,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;CAClD,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC1D,OAAO,EAAE,CAAC;SACL,MAAM,CAAC;QAIJ,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gGAAgG,CAAC;QACzI,MAAM,EAAE,CAAC;aACJ,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aACxB,QAAQ,CAAC,kGAAkG,CAAC;KACpH,CAAC;SACD,QAAQ,CAAC,6CAA6C,CAAC;IAC5D,KAAK,EAAE,CAAC;SACH,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,+HAA+H,CAAC;IAC9I,OAAO,EAAE,mBAAmB,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IAGrF,OAAO,EAAE,CAAC;SACL,MAAM,CAAC;QACJ,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QACtE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,2FAA2F,CAAC;KAC7H,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CAAC,4FAA4F,CAAC;IAC3G,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2EAA2E,CAAC;IAGpH,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;IAC3G,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,iEAAiE,CAAC;IACxH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;CACtH,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,oFAAoF,CAAC;IAChI,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uFAAuF,CAAC;IAClI,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iFAAiF,CAAC;IAClH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mFAAmF,CAAC;CAClI,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACtG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;CACzG,CAAC,CAAC;AAKH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC;IAC5C,OAAO,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,2HAA2H,CAAC;IAK1I,KAAK,EAAE,CAAC;SACH,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8GAA8G,CAAC;CAChI,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;AAElG,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC5D,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IAG/F,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,2EAA2E,CAAC;CAClH,CAAC,CAAC"}
@@ -166,7 +166,26 @@ export declare const SteerSchema: z.ZodObject<{
166
166
  export declare const StopTurnSchema: z.ZodObject<{
167
167
  conversationId: z.ZodString;
168
168
  }, z.core.$strip>;
169
+ export declare const ResumeRoutingSchema: z.ZodObject<{
170
+ agent: z.ZodString;
171
+ harness: z.ZodEnum<{
172
+ "claude-code": "claude-code";
173
+ native: "native";
174
+ }>;
175
+ account: z.ZodOptional<z.ZodString>;
176
+ model: z.ZodOptional<z.ZodString>;
177
+ }, z.core.$strip>;
178
+ export type ResumeRouting = z.infer<typeof ResumeRoutingSchema>;
169
179
  export declare const ResumeTurnSchema: z.ZodObject<{
170
180
  conversationId: z.ZodString;
181
+ routing: z.ZodOptional<z.ZodObject<{
182
+ agent: z.ZodString;
183
+ harness: z.ZodEnum<{
184
+ "claude-code": "claude-code";
185
+ native: "native";
186
+ }>;
187
+ account: z.ZodOptional<z.ZodString>;
188
+ model: z.ZodOptional<z.ZodString>;
189
+ }, z.core.$strip>>;
171
190
  }, z.core.$strip>;
172
191
  //# sourceMappingURL=plan-limits.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plan-limits.d.ts","sourceRoot":"","sources":["../../src/schemas/plan-limits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,iBAAiB;;;;;iBAK5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAU5D,eAAO,MAAM,kBAAkB;;;;;;;;iBAG7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAmB9D,eAAO,MAAM,qBAAqB;;;;;;;;;iBAmBhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,eAAO,MAAM,sBAAsB;;;;;;;;;;;iBAMjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAGtE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;iBAQlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAKxE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAI1E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA2G3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAM1D,eAAO,MAAM,WAAW;;;;;;;;;;iBAclB,CAAC;AAGP,eAAO,MAAM,cAAc;;iBAA2G,CAAC;AAcvI,eAAO,MAAM,gBAAgB;;iBAE3B,CAAC"}
1
+ {"version":3,"file":"plan-limits.d.ts","sourceRoot":"","sources":["../../src/schemas/plan-limits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,iBAAiB;;;;;iBAK5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAU5D,eAAO,MAAM,kBAAkB;;;;;;;;iBAG7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAmB9D,eAAO,MAAM,qBAAqB;;;;;;;;;iBAmBhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,eAAO,MAAM,sBAAsB;;;;;;;;;;;iBAMjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAGtE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;iBAQlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAKxE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAI1E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA2G3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAM1D,eAAO,MAAM,WAAW;;;;;;;;;;iBAclB,CAAC;AAGP,eAAO,MAAM,cAAc;;iBAA2G,CAAC;AAgBvI,eAAO,MAAM,mBAAmB;;;;;;;;iBAO9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAMhE,eAAO,MAAM,gBAAgB;;;;;;;;;;;iBAK3B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { EditorContextSchema } from "./agent.js";
2
+ import { AgentHarnessSchema, AgentProviderSchema, EditorContextSchema } from "./agent.js";
3
3
  export const UsageWindowSchema = z.object({
4
4
  kind: z.string(),
5
5
  label: z.string().optional(),
@@ -120,7 +120,14 @@ export const SteerSchema = z
120
120
  message: "text or attachments required",
121
121
  });
122
122
  export const StopTurnSchema = z.object({ conversationId: z.string().min(1).describe("Which conversation's running turn to cancel.") });
123
+ export const ResumeRoutingSchema = z.object({
124
+ agent: AgentProviderSchema.describe("Which provider serves the re-run."),
125
+ harness: AgentHarnessSchema.describe("Which agentic loop runs it."),
126
+ account: z.string().optional().describe("Which of that provider's accounts pays for it. Leave it out for the first one."),
127
+ model: z.string().optional().describe("Which model. Leave it out to keep the one the refused turn named."),
128
+ });
123
129
  export const ResumeTurnSchema = z.object({
124
130
  conversationId: z.string().min(1).describe("Which conversation's held turn to run again."),
131
+ routing: ResumeRoutingSchema.optional().describe("Who serves the re-run, when the conversation has been re-pointed since it was refused. Leave it out to run it on whatever the turn carried."),
125
132
  });
126
133
  //# sourceMappingURL=plan-limits.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plan-limits.js","sourceRoot":"","sources":["../../src/schemas/plan-limits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAYjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAWH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;IACnC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACzB,CAAC,CAAC;AAoBH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAE1C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAQ5D,IAAI,EAAE,CAAC;SACF,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;SACtC,QAAQ,CACL,mWAAmW,CACtW;IAEL,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8FAA8F,CAAC;IAE5H,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;CAC7F,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,QAAQ,EAAE,CAAC;SACN,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC;SACzC,QAAQ,CACL,yKAAyK,CAC5K;CACR,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IAKjB,KAAK,EAAE,kBAAkB,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC;IACtC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC;CAC3C,CAAC,CAAC;AAKH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAMzD,CAAC,CAAC,MAAM,CAAC;QACL,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACxE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,8DAA8D,CAAC;QACrG,OAAO,EAAE,CAAC;aACL,OAAO,EAAE;aACT,QAAQ,CACL,uMAAuM,CAC1M;QACL,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;KACnG,CAAC;IAGF,CAAC,CAAC,MAAM,CAAC;QACL,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QAC7E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QACtE,OAAO,EAAE,CAAC;aACL,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;aACvC,QAAQ,EAAE;aACV,QAAQ,CAAC,kFAAkF,CAAC;QACjG,SAAS,EAAE,CAAC;aACP,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,kHAAkH,CAAC;KACpI,CAAC;IAIF,CAAC,CAAC,MAAM,CAAC;QACL,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAC5E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QACtE,QAAQ,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;aAChC,QAAQ,CAAC,4GAA4G,CAAC;QAC3H,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;KACnG,CAAC;IAMF,CAAC,CAAC,MAAM,CAAC;QACL,IAAI,EAAE,CAAC;aACF,OAAO,CAAC,cAAc,CAAC;aACvB,QAAQ,CAAC,qHAAqH,CAAC;QACpI,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QACtE,MAAM,EAAE,CAAC;aACJ,OAAO,EAAE;aACT,QAAQ,CACL,0JAA0J,CAC7J;QACL,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;KAC5G,CAAC;IAKF,CAAC,CAAC,MAAM,CAAC;QACL,IAAI,EAAE,CAAC;aACF,OAAO,CAAC,eAAe,CAAC;aACxB,QAAQ,CAAC,oGAAoG,CAAC;QACnH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QACtE,MAAM,EAAE,CAAC;aACJ,OAAO,EAAE;aACT,QAAQ,CACL,0JAA0J,CAC7J;QACL,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;KAC5G,CAAC;IAIF,CAAC,CAAC,MAAM,CAAC;QACL,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,iDAAiD,CAAC;QAC5F,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QACtE,OAAO,EAAE,CAAC;aACL,OAAO,EAAE;aACT,QAAQ,CAAC,+GAA+G,CAAC;KACjI,CAAC;IAKF,CAAC,CAAC,MAAM,CAAC;QACL,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,2DAA2D,CAAC;QACzG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QACtE,OAAO,EAAE,CAAC;aACL,OAAO,EAAE;aACT,QAAQ,CACL,sNAAsN,CACzN;KACR,CAAC;IAIF,CAAC,CAAC,MAAM,CAAC;QACL,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QACtF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QACtE,OAAO,EAAE,CAAC;aACL,OAAO,EAAE;aACT,QAAQ,CAAC,gHAAgH,CAAC;KAClI,CAAC;CACL,CAAC,CAAC;AAOH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACvB,MAAM,CAAC;IACJ,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACtF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,mEAAmE,CAAC;IAC1G,WAAW,EAAE,CAAC;SACT,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACxB,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,EAAE;SACV,QAAQ,CAAC,0HAA0H,CAAC;IACzI,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;CAC1H,CAAC;KAED,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE;IACrF,OAAO,EAAE,8BAA8B;CAC1C,CAAC,CAAC;AAGP,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,8CAA8C,CAAC,EAAE,CAAC,CAAC;AAcvI,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,8CAA8C,CAAC;CAC7F,CAAC,CAAC"}
1
+ {"version":3,"file":"plan-limits.js","sourceRoot":"","sources":["../../src/schemas/plan-limits.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,11 @@ declare const STATE_FILES: readonly [{
71
71
  readonly path: ".intentic/records/runtime-installs.json";
72
72
  readonly invalidates: readonly ["environment"];
73
73
  readonly portability: "carry";
74
+ }, {
75
+ readonly path: ".intentic/config/engines.json";
76
+ readonly invalidates: readonly ["engines"];
77
+ readonly portability: "carry";
78
+ readonly versioned: true;
74
79
  }, {
75
80
  readonly path: ".intentic/config/drafts/";
76
81
  readonly invalidates: readonly ["drafts"];
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-state.d.ts","sourceRoot":"","sources":["../src/workspace-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-state.d.ts","sourceRoot":"","sources":["../src/workspace-state.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,7 @@ const STATE_FILES = [
33
33
  note: "Stamps of when each rule last did something; the new sandbox starts its own record.",
34
34
  },
35
35
  { path: ".intentic/records/runtime-installs.json", invalidates: ["environment"], portability: "carry" },
36
+ { path: ".intentic/config/engines.json", invalidates: ["engines"], portability: "carry", versioned: true },
36
37
  { path: ".intentic/config/drafts/", invalidates: ["drafts"], portability: "carry", versioned: true, authored: true },
37
38
  {
38
39
  path: ".intentic/config/automations.json",
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-state.js","sourceRoot":"","sources":["../src/workspace-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAgIhD,MAAM,WAAW,GAAG;IA2BhB;QACI,IAAI,EAAE,oCAAoC;QAC1C,WAAW,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,CAAC;QACnE,WAAW,EAAE,OAAO;QACpB,SAAS,EAAE,IAAI;KAClB;IAOD,EAAE,IAAI,EAAE,6CAA6C,EAAE,WAAW,EAAE,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;IAO7H,EAAE,IAAI,EAAE,oCAAoC,EAAE,WAAW,EAAE,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE;IAO9F;QACI,IAAI,EAAE,sCAAsC;QAC5C,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,4GAA4G;QACjH,WAAW,EAAE,OAAO;KACvB;IAcD,EAAE,IAAI,EAAE,gCAAgC,EAAE,WAAW,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;IAYzI,EAAE,IAAI,EAAE,gDAAgD,EAAE,WAAW,EAAE,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;IAC/H,EAAE,IAAI,EAAE,yCAAyC,EAAE,WAAW,EAAE,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;IACxH,EAAE,IAAI,EAAE,iCAAiC,EAAE,WAAW,EAAE,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;IAChH;QACI,IAAI,EAAE,iDAAiD;QACvD,WAAW,EAAE,CAAC,aAAa,CAAC;QAC5B,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,oGAAoG;KAC7G;IAED,EAAE,IAAI,EAAE,gCAAgC,EAAE,WAAW,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;IAYzH,EAAE,IAAI,EAAE,sCAAsC,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;IAIlH;QACI,IAAI,EAAE,mCAAmC;QACzC,WAAW,EAAE,CAAC,cAAc,CAAC;QAC7B,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,qFAAqF;KAC9F;IAOD,EAAE,IAAI,EAAE,yCAAyC,EAAE,WAAW,EAAE,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE;IAgBvG,EAAE,IAAI,EAAE,0BAA0B,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;IAKpH;QACI,IAAI,EAAE,mCAAmC;QACzC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,iHAAiH;QACtH,WAAW,EAAE,OAAO;QACpB,SAAS,EAAE,IAAI;KAClB;IAcD;QACI,IAAI,EAAE,wCAAwC;QAC9C,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,iHAAiH;QACtH,WAAW,EAAE,OAAO;KACvB;IACD;QACI,IAAI,EAAE,8BAA8B;QACpC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,0HAA0H;QAC/H,WAAW,EAAE,OAAO;KACvB;IAaD;QACI,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,uGAAuG;QAC5G,WAAW,EAAE,OAAO;KACvB;IAMD;QACI,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,6IAA6I;QAClJ,WAAW,EAAE,OAAO;KACvB;IAKD;QACI,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,4IAA4I;QACjJ,WAAW,EAAE,OAAO;QACpB,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,sEAAsE;KACxF;IAQD,EAAE,IAAI,EAAE,iCAAiC,EAAE,WAAW,EAAE,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;IAC9G,EAAE,IAAI,EAAE,sCAAsC,EAAE,WAAW,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE;IAOnH,EAAE,IAAI,EAAE,oCAAoC,EAAE,WAAW,EAAE,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;IACpH;QACI,IAAI,EAAE,8BAA8B;QACpC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,2cAA2c;QAChd,WAAW,EAAE,OAAO;KACvB;IAQD;QACI,IAAI,EAAE,yCAAyC;QAC/C,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,kYAAkY;QACvY,WAAW,EAAE,OAAO;KACvB;IACD;QACI,IAAI,EAAE,uCAAuC;QAC7C,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,mLAAmL;QACxL,WAAW,EAAE,OAAO;KACvB;IACD;QACI,IAAI,EAAE,wCAAwC;QAC9C,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,6eAA6e;QAClf,WAAW,EAAE,OAAO;KACvB;IAsBD;QACI,IAAI,EAAE,0CAA0C;QAChD,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,0iBAA0iB;QAC/iB,WAAW,EAAE,OAAO;QACpB,SAAS,EAAE,IAAI;KAClB;IAKD;QACI,IAAI,EAAE,4CAA4C;QAClD,WAAW,EAAE,CAAC,YAAY,CAAC;QAC3B,WAAW,EAAE,OAAO;QACpB,SAAS,EAAE,IAAI;KAClB;IAoBD,EAAE,IAAI,EAAE,wCAAwC,EAAE,WAAW,EAAE,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;IAItI,EAAE,IAAI,EAAE,0CAA0C,EAAE,WAAW,EAAE,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE;IAGvG,EAAE,IAAI,EAAE,+CAA+C,EAAE,WAAW,EAAE,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;IAG7H;QACI,IAAI,EAAE,wCAAwC;QAC9C,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,odAAod;QACzd,WAAW,EAAE,OAAO;KACvB;IAYD;QACI,IAAI,EAAE,iCAAiC;QACvC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,qVAAqV;QAC1V,WAAW,EAAE,UAAU;QACvB,IAAI,EAAE,sHAAsH;KAC/H;IAcD;QACI,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,oKAAoK;QACzK,WAAW,EAAE,QAAQ;QACrB,IAAI,EAAE,iNAAiN;KAC1N;IAMD;QACI,IAAI,EAAE,oCAAoC;QAC1C,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,4HAA4H;QACjI,WAAW,EAAE,OAAO;KACvB;IACD;QACI,IAAI,EAAE,8BAA8B;QACpC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,6LAA6L;QAClM,WAAW,EAAE,OAAO;KACvB;IACD;QACI,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,iNAAiN;QACtN,WAAW,EAAE,SAAS;KACzB;IAMD;QACI,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,kHAAkH;QACvH,WAAW,EAAE,SAAS;QACtB,aAAa,EAAE,+CAA+C;KACjE;IACD;QACI,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,+JAA+J;QACpK,WAAW,EAAE,SAAS;KACzB;IAMD;QACI,IAAI,EAAE,8BAA8B;QACpC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,oHAAoH;QACzH,WAAW,EAAE,SAAS;QACtB,aAAa,EAAE,wDAAwD;KAC1E;IACD;QACI,IAAI,EAAE,iCAAiC;QACvC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,iJAAiJ;QACtJ,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,yDAAyD;KAClE;IACD;QACI,IAAI,EAAE,+BAA+B;QACrC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,2IAA2I;QAChJ,WAAW,EAAE,OAAO;KACvB;IACD;QACI,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,2GAA2G;QAChH,WAAW,EAAE,SAAS;KACzB;IACD;QACI,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,iGAAiG;QACtG,WAAW,EAAE,QAAQ;QACrB,IAAI,EAAE,yEAAyE;KAClF;IASD;QACI,IAAI,EAAE,wCAAwC;QAC9C,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,oIAAoI;QACzI,WAAW,EAAE,UAAU;QACvB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,kFAAkF;KAC3F;IACD;QACI,IAAI,EAAE,+BAA+B;QACrC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,uGAAuG;QAC5G,WAAW,EAAE,UAAU;KAC1B;IACD;QACI,IAAI,EAAE,mCAAmC;QACzC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,kFAAkF;QACvF,WAAW,EAAE,UAAU;KAC1B;IACD;QACI,IAAI,EAAE,iCAAiC;QACvC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,0DAA0D;QAC/D,WAAW,EAAE,OAAO;QACpB,SAAS,EAAE,IAAI;KAClB;IAKD;QACI,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,sGAAsG;QAC3G,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,8EAA8E;KACvF;IACD;QACI,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,kIAAkI;QACvI,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,kFAAkF;KAC3F;IACD,EAAE,IAAI,EAAE,4BAA4B,EAAE,WAAW,EAAE,EAAE,EAAE,GAAG,EAAE,wDAAwD,EAAE,WAAW,EAAE,OAAO,EAAE;IAS5I,EAAE,IAAI,EAAE,0BAA0B,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;IAcpG,EAAE,IAAI,EAAE,4BAA4B,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;CAC1D,CAAC;AAEnD,MAAM,CAAC,MAAM,qBAAqB,GAAkC,WAAW,CAAC;AAShF,MAAM,CAAC,MAAM,qBAAqB,GAAsB,qBAAqB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAgBxI,MAAM,CAAC,MAAM,sBAAsB,GAAsB,qBAAqB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAChI,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CACtB,CAAC;AAsDF,MAAM,CAAC,MAAM,eAAe,GAAyC;IACjE,MAAM,EAAE,GAAG,SAAS,SAAS;IAC7B,OAAO,EAAE,GAAG,SAAS,UAAU;IAC/B,KAAK,EAAE,GAAG,SAAS,QAAQ;IAC3B,QAAQ,EAAE,GAAG,SAAS,WAAW;IACjC,OAAO,EAAE,GAAG,SAAS,UAAU;CAClC,CAAC;AAKF,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAA0B,CAAC;AAIlF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAwB,EAAc,EAAE;IACjE,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;QACvB,KAAK,QAAQ;YACT,OAAO,SAAS,CAAC;QACrB,KAAK,UAAU;YACX,OAAO,UAAU,CAAC;QACtB,KAAK,SAAS;YACV,OAAO,OAAO,CAAC;QACnB,KAAK,OAAO;YACR,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACxF,CAAC;AACL,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAiB,EAAqB,EAAE,CACpE,qBAAqB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAYlG,MAAM,CAAC,MAAM,qBAAqB,GAAsB,qBAAqB,CAAC,MAAM,CAChF,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,OAAO,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU,CAAC,CACvG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAK3B,MAAM,CAAC,MAAM,oBAAoB,GAAsB,qBAAqB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CACzI,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CACtB,CAAC;AAUF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAU,EAAE,CAC7D,GAAG,eAAe,CAAC,KAAK,uBAAuB,SAAS,CAAC,UAAU,CAAC,kBAAkB,EAAE,GAAG,CAAC,EAAE,CAAC;AAmBnG,MAAM,CAAC,MAAM,uBAAuB,GAAsB,qBAAqB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CACxI,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CACtB,CAAC;AAIF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAW,EAAE,CAAC,uBAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AAoBhI,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC;IACtD,qBAAqB;IACrB,uBAAuB;IACvB,8BAA8B;IAC9B,0BAA0B;IAC1B,iBAAiB;IACjB,cAAc;IACd,kBAAkB;IAClB,eAAe;IAKf,aAAa;CAChB,CAAC,CAAC;AAWH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAAW,EAAE;IAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,GAAG,CAAC,CAAC;IAC/F,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IAGD,OAAO,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC;AAoBF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAe,EAAW,EAAE;IAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC/D,OAAO,qBAAqB,CAAC,GAAG,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC;AAC1I,CAAC,CAAC;AA2BF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAwB,EAAE,WAAwC,EAAqB,EAAE,CAAC;IACrH,GAAG,IAAI,GAAG,CACN,CAAC,GAAG,qBAAqB,EAAE,GAAG,WAAW,CAAC;SACrC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACjG,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAC3C;CACJ,CAAC;AAOF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,WAAwC,EAAqB,EAAE,CAAC;IAC/F,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,qBAAqB,EAAE,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;CAC7F,CAAC"}
1
+ {"version":3,"file":"workspace-state.js","sourceRoot":"","sources":["../src/workspace-state.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.238.1",
3
+ "version": "1.239.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",
@@ -119,9 +119,9 @@
119
119
  }
120
120
  },
121
121
  "dependencies": {
122
- "@intentic/constants": "1.238.1",
123
- "@intentic/extension-manifest": "1.238.1",
124
- "@intentic/registry": "1.238.1",
122
+ "@intentic/constants": "1.239.0",
123
+ "@intentic/extension-manifest": "1.239.0",
124
+ "@intentic/registry": "1.239.0",
125
125
  "@orpc/contract": "1.14.13",
126
126
  "tslib": "2.8.1",
127
127
  "zod": "4.4.3"
@@ -74,7 +74,7 @@ export const agentContract = {
74
74
  path: "/agent/resume",
75
75
  summary: "Run a refused turn again",
76
76
  description:
77
- "Sends the same turn again when the model provider's allowance refused it, with everything it originally carried. It repeats the request rather than adding a new message to the conversation, so pressing it twice costs nothing and the agent is never told to continue work it has not started.",
77
+ "Sends the same turn again when the model provider's allowance refused it, with everything it originally carried except who serves it: the caller may name a different provider, harness or account, which is the usual answer to a spent allowance. It repeats the request rather than adding a new message to the conversation, so pressing it twice costs nothing and the agent is never told to continue work it has not started.",
78
78
  })
79
79
  .input(ResumeTurnSchema)
80
80
  .output(StartedTurnSchema),
@@ -44,6 +44,20 @@ test("a re-run discloses as a notice, and the answered case as a note on the mes
44
44
  expect(answered).toEqual({ kind: "note", note: { title: expect.any(String), text: RESUME_NOTES.answered } });
45
45
  });
46
46
 
47
+ /* THE THREE SPENT-ALLOWANCE NOTES OPEN ON THE SAME SENTENCE, and both readers of a note resolve it by PREFIX
48
+ * (withoutResumeNote, resumeDisclosure). So one of them growing into a prefix of another is a silent swap rather
49
+ * than a failure: a press that moved the turn onto an account with headroom would report itself as an ordinary
50
+ * re-run, and the reader would be told nothing about the one fact that explains why this press worked where the
51
+ * last one bounced. Each resolves to its own line, or this is broken. */
52
+ test("the spent-allowance notes do not disclose as each other", () => {
53
+ const lines = (["limit", "switched", "refused"] as const).map((reason) => {
54
+ const disclosure = resumeDisclosure(withResumeNote("ship the parser", RESUME_NOTES[reason]));
55
+ expect(disclosure?.kind).toBe("notice");
56
+ return disclosure?.kind === "notice" ? disclosure.text : reason;
57
+ });
58
+ expect(new Set(lines).size).toBe(3);
59
+ });
60
+
47
61
  // Same guarantee withoutResumeNote gives: an ordinary prompt is not a resume of anything.
48
62
  test("a prompt that is not a resume discloses nothing", () => {
49
63
  expect(resumeDisclosure("just a question")).toBeUndefined();
package/src/events.ts CHANGED
@@ -1048,8 +1048,31 @@ export const AgentEventSchema = z.discriminatedUnion("kind", [
1048
1048
  * is a real classification all the same: it says the failure came from the LOOP rather than
1049
1049
  * from the provider, the credential or the request, which rules out every recovery next door. */
1050
1050
  "harness-incomplete",
1051
+ /* THE ENGINE IS TOO OLD FOR THE MODEL, and the provider says so in the same breath as the
1052
+ * version that would work ("Claude Code 2.1.233 does not support this model; version 2.1.251
1053
+ * or newer is required"). Its own code because the fix is unlike every neighbour's: nothing is
1054
+ * disconnected, nothing is spent, no retry of any length helps, and the thing that has to
1055
+ * change is not the request but the PROGRAM running it (schemas/engines.ts).
1056
+ *
1057
+ * It used to be unfixable from inside a sandbox at all — the engine came with the image, so a
1058
+ * whole fleet failed every turn on this model until a new image reached it. Now the daemon can
1059
+ * install the version the provider named, which is why this frame carries the numbers rather
1060
+ * than only the sentence: `engine` is what the card's Update button acts on. The install is
1061
+ * still a person's decision, because the version that satisfies a floor is by definition one
1062
+ * nobody has blessed yet. */
1063
+ "engine-version-floor",
1051
1064
  ])
1052
1065
  .optional(),
1066
+ /* engine-version-floor only: which engine is too old, what it is running, and the floor the provider
1067
+ * demanded. On the wire because the recovery is a specific, offerable action — install at or above
1068
+ * `floor` — and a client that had only the sentence would have to parse prose to offer it. */
1069
+ engine: z
1070
+ .object({
1071
+ id: z.string().describe("Which engine (e.g. claude)."),
1072
+ running: z.string().optional().describe("The version that was refused, when the provider named it."),
1073
+ floor: z.string().describe("The lowest version the provider will accept."),
1074
+ })
1075
+ .optional(),
1053
1076
  // rate_limit only: when the exhausted window reopens (epoch seconds, from the stream's own
1054
1077
  // rate_limit_event or the account's persisted usage windows). Absent when the reset instant is unknown
1055
1078
  // (nothing to schedule against).
@@ -1147,11 +1170,18 @@ export const RESUME_NOTES = {
1147
1170
  auth: `The Claude credential that interrupted this conversation has been renewed, and this turn resumed automatically. ${REPEATED}`,
1148
1171
  outage: `The model provider was briefly unavailable and interrupted this conversation; this turn resumed automatically. ${REPEATED}`,
1149
1172
  restart: `The sandbox restarted while this turn was running, which stopped it, and this turn resumed automatically once it came back. ${REPEATED}`,
1150
- /* A SPENT ALLOWANCE STRANDS A TURN IN TWO SHAPES, and they must not share a note.
1173
+ /* A SPENT ALLOWANCE STRANDS A TURN IN THREE SHAPES, and they must not share a note.
1151
1174
  *
1152
1175
  * `limit` is the mid-turn one and reads like its three neighbours above: the session holds real work, and
1153
1176
  * carrying on from it is exactly right.
1154
1177
  *
1178
+ * `switched` is that same mid-turn stranding picked back up on a DIFFERENT account (or provider, or
1179
+ * harness), which is what the composer's account switcher does between the refusal and the press. A session
1180
+ * belongs to the credential that minted it, so this one cannot resume: it opens a fresh session seeded from
1181
+ * the daemon's record. REPEATED's "already completed in this session" is therefore false where it counts —
1182
+ * the work is in the carried-across conversation, not in this session's own history — and a model told to
1183
+ * look for it there finds nothing and starts over silently.
1184
+ *
1155
1185
  * `refused` is the turn the provider turned away at the door, before the model read one word of it, and it
1156
1186
  * is the COMMONER of the two, because an allowance that is already spent refuses the first request it is
1157
1187
  * asked. REPEATED is actively wrong for it: "part of it was already completed in this session, continue from
@@ -1162,6 +1192,8 @@ export const RESUME_NOTES = {
1162
1192
  * allowance is the user's own budget and stays their call to spend (turn-resume.ts), so what re-ran this
1163
1193
  * turn was a person pressing Continue. */
1164
1194
  limit: `The model provider's usage allowance ran out while this turn was running, which stopped it, and it has been sent again. ${REPEATED}`,
1195
+ switched:
1196
+ "The model provider's usage allowance ran out while this turn was running, which stopped it, and it has been sent again on a different account, which starts a fresh session. The conversation so far has been carried across above, including the part of the request that was already completed: continue from that point instead of starting over.",
1165
1197
  refused:
1166
1198
  "The model provider refused the previous attempt at this request outright, because its usage allowance was spent: no part of the request below was read or acted on, and nothing has been done towards it. It has been sent again, and starts from the beginning.",
1167
1199
  // A turn that was PARKED on the user when the daemon died: nothing re-runs at boot, the card is restored
@@ -1209,13 +1241,18 @@ const RESUME_DISCLOSURES: Record<ResumeReason, ResumeDisclosure> = {
1209
1241
  auth: { kind: "notice", text: "Claude sign-in renewed, this turn picked up where it left off." },
1210
1242
  outage: { kind: "notice", text: "The model provider came back, this turn picked up where it left off." },
1211
1243
  restart: { kind: "notice", text: "The sandbox came back, this turn picked up where it left off." },
1212
- /* THE ONE PAIR NOBODY AUTOMATED, said in the passive voice the other three earn honestly and these two do
1213
- * not: a person pressed Continue. Which is the whole reason these rows exist at all. A press used to append
1214
- * the word "Continue" as a message of its own, so a chat that bounced off a spent allowance four times read
1215
- * back as the user saying "Continue" four times to an agent that had answered none of them, and the provider
1216
- * session the model actually reads accumulated all four (plus a synthetic "No response requested." per
1217
- * press). One row for one press was never the problem; a row that claims the user said something new is. */
1244
+ /* THE THREE NOBODY AUTOMATED, said in the passive voice the other three earn honestly and these do not: a
1245
+ * person pressed Continue. Which is the whole reason these rows exist at all. A press used to append the word
1246
+ * "Continue" as a message of its own, so a chat that bounced off a spent allowance four times read back as
1247
+ * the user saying "Continue" four times to an agent that had answered none of them, and the provider session
1248
+ * the model actually reads accumulated all four (plus a synthetic "No response requested." per press). One
1249
+ * row for one press was never the problem; a row that claims the user said something new is.
1250
+ *
1251
+ * `switched` names the account because that is the fact the reader needs: they pressed the same button they
1252
+ * pressed a minute ago, and the difference between the press that bounced and the press that worked is who
1253
+ * served it. The line is also the only place a retired session is accounted for. */
1218
1254
  limit: { kind: "notice", text: "Sent again after the allowance ran out mid-turn, picking up where it left off." },
1255
+ switched: { kind: "notice", text: "Sent again on the switched account after the allowance ran out mid-turn, in a fresh session." },
1219
1256
  refused: { kind: "notice", text: "Sent again after the allowance refused it: nothing had run." },
1220
1257
  answered: { kind: "note", note: { title: "Picked back up after a sandbox restart", text: RESUME_NOTES.answered } },
1221
1258
  };
package/src/index.ts CHANGED
@@ -144,6 +144,7 @@ export * from "./schemas/claude-gate.js";
144
144
  export * from "./schemas/codebase-health.js";
145
145
  export * from "./schemas/computers.js";
146
146
  export * from "./schemas/drafts.js";
147
+ export * from "./schemas/engines.js";
147
148
  export * from "./schemas/environment.js";
148
149
  export * from "./schemas/exit.js";
149
150
  export * from "./schemas/extension-updates.js";
@@ -0,0 +1,129 @@
1
+ // engines: the upstream agent programs this sandbox spawns, and which version of each it runs
2
+ import { z } from "zod";
3
+
4
+ /* AN ENGINE IS THE PROGRAM A RUNTIME RIDES ON, which is a different noun from `runtime` and has to stay one.
5
+ *
6
+ * `runtime` (agent-catalog.ts) is the LOOP: claude-code, codex, opencode, acp, pi, cursor — what shape a turn
7
+ * has. An engine is the installed PROGRAM that loop spawns or imports: the `claude` binary and its SDK, the
8
+ * `codex` wrapper, `@cursor/sdk`, the `opencode` binary, the `cli-proxy-api` translator. One engine can back
9
+ * several runtimes (the translator serves Gemini, Kimi and ChatGPT; Kimi runs under the Claude Code loop), so
10
+ * the two lists are neither the same set nor the same question.
11
+ *
12
+ * The distinction earns its keep because engines have a lifecycle runtimes do not: they are published upstream,
13
+ * on somebody else's schedule, and until this existed the only way to move one was to ship a sandbox image.
14
+ * That made an ordinary upstream event — Anthropic raising the version floor a model requires — into a support
15
+ * problem: every sandbox in the fleet failed every Claude turn until a new image reached it.
16
+ *
17
+ * So an engine version now comes from a STORE on the daemon volume, and the image's copy is the floor beneath
18
+ * it. The blessed list says which version this project has actually run its suite against; an owner who wants
19
+ * upstream's newest without waiting for that says so per engine. */
20
+
21
+ export const ENGINE_IDS = ["claude", "codex", "cursor", "opencode", "translator"] as const;
22
+ export type EngineId = (typeof ENGINE_IDS)[number];
23
+ export const EngineIdSchema = z.enum(ENGINE_IDS);
24
+
25
+ /* THE OWNER'S STANDING ANSWER for one engine, and the whole of the version policy.
26
+ *
27
+ * blessed , the default: whatever the blessed list names, which is a version this project's CI has run
28
+ * against. Data, not an image, so blessing a version reaches a running sandbox in seconds.
29
+ * latest , upstream's newest published version, taken without waiting for anyone to bless it. The opt-in
30
+ * for an owner who would rather have the fix than the assurance.
31
+ * pinned , exactly this version, until they say otherwise. What a revert leaves behind, and what somebody
32
+ * debugging a regression wants.
33
+ * image , do not use the store at all: run what the image bakes. The way back to a stock sandbox. */
34
+ export const EngineChannelSchema = z.object({
35
+ kind: z.enum(["blessed", "latest", "pinned", "image"]).describe("Where this engine's version comes from."),
36
+ version: z.string().optional().describe("Which version, when it is pinned to one."),
37
+ });
38
+ export type EngineChannel = z.infer<typeof EngineChannelSchema>;
39
+
40
+ // A version the store installed and then refused, with the reason it was refused. Kept per engine so a bad
41
+ // publish is not retried on a timer forever, and so the card can say why the sandbox is back on the image's
42
+ // copy rather than leaving that as an unexplained downgrade.
43
+ export const EngineQuarantineSchema = z.object({
44
+ version: z.string().describe("Which version was refused."),
45
+ reason: z.string().describe("What was wrong with it: it would not launch, or it did not export what the daemon calls."),
46
+ at: z.string().describe("When it was refused."),
47
+ });
48
+ export type EngineQuarantine = z.infer<typeof EngineQuarantineSchema>;
49
+
50
+ // One engine as the Environment card draws it: what is running, what is on offer, and what the ways out are.
51
+ export const EngineRowSchema = z.object({
52
+ id: EngineIdSchema.describe("Which engine."),
53
+ label: z.string().describe("What it is called on screen."),
54
+ running: z
55
+ .object({
56
+ // Absent means this sandbox has no copy of the engine at all: a core image bakes no provider packs,
57
+ // and until the store installs one, a turn on that provider cannot start. Different from "running
58
+ // the image's copy", and the card says so rather than drawing a blank version.
59
+ version: z.string().optional().describe("The version a turn would use right now. Absent means there is no copy of this engine here yet."),
60
+ source: z
61
+ .enum(["image", "store"])
62
+ .describe("Whether that version is the one baked into the sandbox image or one the store installed over it."),
63
+ })
64
+ .describe("What a turn started now would actually run."),
65
+ baked: z
66
+ .string()
67
+ .optional()
68
+ .describe("The version the image bakes, which is the floor everything else falls back to. Absent on an image that carries no copy of it."),
69
+ channel: EngineChannelSchema.describe("The owner's standing answer for this engine."),
70
+ // What the channel would move to, absent when the running version is already it. Carries whether the
71
+ // blessed list names it, because on `latest` the answer is routinely no and the row has to say so.
72
+ offered: z
73
+ .object({
74
+ version: z.string().describe("The version this engine would move to."),
75
+ blessed: z.boolean().describe("Whether the blessed list names this version, which on the latest channel is routinely no."),
76
+ })
77
+ .optional()
78
+ .describe("A newer version waiting, absent when the running one is already what the channel asks for."),
79
+ blessed: z.string().optional().describe("What the blessed list names for this engine, when the list has been read."),
80
+ // The store keeps one version back so a revert is a pointer move rather than a download. Absent on an
81
+ // engine that has only ever run the image's copy.
82
+ previous: z.string().optional().describe("The version kept one step back, which is what going back means."),
83
+ quarantined: z.array(EngineQuarantineSchema).describe("Versions the store installed and then refused, with the reason."),
84
+ diskBytes: z.number().int().nonnegative().describe("What this engine's kept versions cost on the daemon's volume."),
85
+ });
86
+ export type EngineRow = z.infer<typeof EngineRowSchema>;
87
+
88
+ export const EnginesViewSchema = z.object({
89
+ engines: z.array(EngineRowSchema).describe("Every engine this sandbox can run, whether or not the store holds anything for it."),
90
+ checkedAt: z.string().optional().describe("When upstream was last asked what it publishes. Absent until the first check has run."),
91
+ listSource: z.string().describe("Where the blessed list is read from, so a self-hosted sandbox can show its own."),
92
+ listReadAt: z.string().optional().describe("When that list was last read. Absent means it has never been reachable from here."),
93
+ });
94
+ export type EnginesView = z.infer<typeof EnginesViewSchema>;
95
+
96
+ export const EngineChannelInputSchema = z.object({
97
+ id: EngineIdSchema.describe("Which engine."),
98
+ kind: z.enum(["blessed", "latest", "pinned", "image"]).describe("Where its version should come from."),
99
+ version: z.string().optional().describe("Which version, required when pinning and ignored otherwise."),
100
+ });
101
+
102
+ /* Install and activate a version now. `version` absent means what the channel offers, which is the button on
103
+ * the row. Naming one explicitly is the "update anyway" path: it installs a version the blessed list does not
104
+ * name, which is how a sandbox gets past an upstream version floor that the list has not caught up with. */
105
+ export const EngineUpdateInputSchema = z.object({
106
+ id: EngineIdSchema.describe("Which engine."),
107
+ version: z
108
+ .string()
109
+ .optional()
110
+ .describe("Which version. Leave it out for whatever the channel offers; naming one takes a version nobody has blessed, deliberately."),
111
+ /* The other half of the update-anyway path: a turn that died on an upstream version floor knows the floor
112
+ * and not which published version satisfies it. Sending the floor lets the daemon answer that — it takes
113
+ * the LOWEST version at or above it, the smallest step that works — rather than making a browser walk a
114
+ * registry to fill in a version number. */
115
+ floor: z
116
+ .string()
117
+ .optional()
118
+ .describe("Install the lowest published version at or above this one. What a turn refused for being too old sends back."),
119
+ });
120
+ export const EngineRevertInputSchema = z.object({ id: EngineIdSchema.describe("Which engine.") });
121
+
122
+ export const EngineAppliedSchema = z.object({
123
+ ok: z.literal(true).describe("It went through."),
124
+ version: z.string().describe("Which version is now active."),
125
+ source: z.enum(["image", "store"]).describe("Whether that is the image's copy or the store's."),
126
+ // An engine loaded in-process (the Claude SDK's JavaScript half, @cursor/sdk) is picked up by the NEXT
127
+ // turn rather than by the one that pressed the button: a turn already running holds the module it loaded.
128
+ fromNextTurn: z.boolean().describe("Whether the change reaches turns already in flight, or only the next one."),
129
+ });
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { EditorContextSchema } from "./agent.js";
2
+ import { AgentHarnessSchema, AgentProviderSchema, EditorContextSchema } from "./agent.js";
3
3
  // Declared ABOVE both account shapes because both carry it: headroom is one idea in this product, not a Claude
4
4
  // idea that other providers imitate. A native account (OauthAccount) and a routed subscription
5
5
  // (TranslatorAccount) differ in who holds the credential and how the reading is taken, never in what a
@@ -237,19 +237,38 @@ export const SteerSchema = z
237
237
  // True cancel for the conversation's in-flight turn, aborts the agent daemon-side, unlike closing the
238
238
  // /agent fetch (which sends no cancel frame).
239
239
  export const StopTurnSchema = z.object({ conversationId: z.string().min(1).describe("Which conversation's running turn to cancel.") });
240
- /* RUN THE HELD TURN AGAIN, and it carries a conversation id and NOTHING else, which is the entire point of it
241
- * existing as its own route rather than as a flag on a turn.
240
+ /* WHO SERVES THE RE-RUN, the one part of a held turn a press is allowed to move, and the field that exists
241
+ * because leaving it out made the press useless in exactly the case it was built for.
242
242
  *
243
- * A spent allowance leaves a turn stranded that the daemon still holds in full: the prompt, the attachments, the
244
- * model, the effort, the mode, the worktree, the session that holds whatever it managed to do. Every one of
245
- * those is on the turn the daemon already has, and a client that re-derived them from its own transcript would
246
- * be re-deriving them from the STRIPPED copy it renders (no preamble notes, no attachment note, no model), which
247
- * is how a re-send comes to run a different turn from the one it claims to repeat.
243
+ * A spent allowance is a refusal by an ACCOUNT, and the fix a person reaches for is the account switcher in the
244
+ * composer: switch to one with headroom, press Continue. Replaying the turn with everything it carried replayed
245
+ * the refused account too, so the press bounced off the same limit, reported it in the same words, and the user's
246
+ * only way through was to type "Continue" by hand a send, which reads the composer's current selection, which
247
+ * is the very thing the press was ignoring.
248
248
  *
249
- * So the caller says only WHICH conversation, and the daemon re-runs the turn it kept. What comes back is an
250
- * ordinary StartedTurn, and the caller then attaches to it exactly as it would to a turn somebody else started
251
- * (the resume note on the prompt is what tells an attaching window to reuse the bubble that is already there
252
- * instead of drawing the same message twice). */
249
+ * So the press carries WHO, and the daemon keeps WHAT. Everything that makes the turn the turn (the prompt, the
250
+ * attachments, the effort, the mode, the worktree, the session holding whatever it managed to do) stays on the
251
+ * daemon's own copy, because a client re-deriving those from its transcript would be re-deriving them from the
252
+ * STRIPPED copy it renders, which is how a re-send comes to run a different turn from the one it claims to
253
+ * repeat. Routing is the exception, and it is the exception on purpose: it is not a property of the request, it
254
+ * is the answer to "who pays for it", and the whole reason the user is pressing is that they have changed it. */
255
+ export const ResumeRoutingSchema = z.object({
256
+ agent: AgentProviderSchema.describe("Which provider serves the re-run."),
257
+ harness: AgentHarnessSchema.describe("Which agentic loop runs it."),
258
+ account: z.string().optional().describe("Which of that provider's accounts pays for it. Leave it out for the first one."),
259
+ // Omitted rather than guessed: a client whose catalog hasn't loaded has no pick to send, and the turn's own
260
+ // model is a better answer than a blank one.
261
+ model: z.string().optional().describe("Which model. Leave it out to keep the one the refused turn named."),
262
+ });
263
+ export type ResumeRouting = z.infer<typeof ResumeRoutingSchema>;
264
+ /* RUN THE HELD TURN AGAIN: which conversation, and who serves it now.
265
+ *
266
+ * What comes back is an ordinary StartedTurn, and the caller then attaches to it exactly as it would to a turn
267
+ * somebody else started (the resume note on the prompt is what tells an attaching window to reuse the bubble that
268
+ * is already there instead of drawing the same message twice). */
253
269
  export const ResumeTurnSchema = z.object({
254
270
  conversationId: z.string().min(1).describe("Which conversation's held turn to run again."),
271
+ routing: ResumeRoutingSchema.optional().describe(
272
+ "Who serves the re-run, when the conversation has been re-pointed since it was refused. Leave it out to run it on whatever the turn carried.",
273
+ ),
255
274
  });