@intentic/sandbox-contract 1.319.0 → 1.320.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.
- package/dist/contracts/agents.contract.d.ts +3 -0
- package/dist/contracts/agents.contract.d.ts.map +1 -1
- package/dist/contracts/device.contract.d.ts +1 -0
- package/dist/contracts/device.contract.d.ts.map +1 -1
- package/dist/contracts/runner.contract.d.ts +15 -2
- package/dist/contracts/runner.contract.d.ts.map +1 -1
- package/dist/contracts/system.contract.d.ts +8 -0
- package/dist/contracts/system.contract.d.ts.map +1 -1
- package/dist/events/agent-events.d.ts +5 -0
- package/dist/events/agent-events.d.ts.map +1 -1
- package/dist/events/agent-events.js +10 -0
- package/dist/events/agent-events.js.map +1 -1
- package/dist/events/resume.d.ts +1 -0
- package/dist/events/resume.d.ts.map +1 -1
- package/dist/events/resume.js +2 -0
- package/dist/events/resume.js.map +1 -1
- package/dist/events/sandbox-notice.d.ts +2 -0
- package/dist/events/sandbox-notice.d.ts.map +1 -1
- package/dist/events/sandbox-notice.js +1 -1
- package/dist/events/sandbox-notice.js.map +1 -1
- package/dist/events/transcript.d.ts +2 -0
- package/dist/events/transcript.d.ts.map +1 -1
- package/dist/events/transcript.js +2 -4
- package/dist/events/transcript.js.map +1 -1
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/policy/secret-hosts.d.ts.map +1 -1
- package/dist/policy/secret-hosts.js.map +1 -1
- package/dist/schemas/devices.d.ts +3 -0
- package/dist/schemas/devices.d.ts.map +1 -1
- package/dist/schemas/devices.js +1 -0
- package/dist/schemas/devices.js.map +1 -1
- package/dist/schemas/git/git.d.ts +2 -0
- package/dist/schemas/git/git.d.ts.map +1 -1
- package/dist/schemas/git/git.js +9 -1
- package/dist/schemas/git/git.js.map +1 -1
- package/dist/schemas/hosts.d.ts +2 -0
- package/dist/schemas/hosts.d.ts.map +1 -1
- package/dist/schemas/hosts.js +2 -1
- package/dist/schemas/hosts.js.map +1 -1
- package/dist/schemas/system.d.ts +15 -0
- package/dist/schemas/system.d.ts.map +1 -1
- package/dist/schemas/system.js +10 -0
- package/dist/schemas/system.js.map +1 -1
- package/dist/schemas/turn-break.d.ts +8 -0
- package/dist/schemas/turn-break.d.ts.map +1 -1
- package/dist/schemas/turn-break.js +2 -0
- package/dist/schemas/turn-break.js.map +1 -1
- package/dist/state/history-state.d.ts.map +1 -1
- package/dist/state/history-state.js +1 -0
- package/dist/state/history-state.js.map +1 -1
- package/package.json +5 -5
- package/src/events/agent-events.ts +13 -0
- package/src/events/resume.ts +5 -0
- package/src/events/sandbox-notice.ts +1 -1
- package/src/events/transcript.ts +4 -6
- package/src/policy/secret-hosts.ts +1 -0
- package/src/policy/{batch-runs.test.ts → tests/batch-runs.test.ts} +2 -2
- package/src/policy/{command-classes.test.ts → tests/command-classes.test.ts} +1 -1
- package/src/policy/{command-run.test.ts → tests/command-run.test.ts} +2 -2
- package/src/policy/{credential-material.test.ts → tests/credential-material.test.ts} +1 -1
- package/src/policy/{fence-paths.test.ts → tests/fence-paths.test.ts} +1 -1
- package/src/policy/{overlay-lint.test.ts → tests/overlay-lint.test.ts} +1 -1
- package/src/policy/{owner-ticket.test.ts → tests/owner-ticket.test.ts} +2 -2
- package/src/policy/{persona-home.test.ts → tests/persona-home.test.ts} +1 -1
- package/src/policy/{reserved-servers.test.ts → tests/reserved-servers.test.ts} +1 -1
- package/src/policy/{safety-policy.test.ts → tests/safety-policy.test.ts} +3 -3
- package/src/policy/{search-globs.test.ts → tests/search-globs.test.ts} +1 -1
- package/src/policy/{secret-hosts.test.ts → tests/secret-hosts.test.ts} +1 -1
- package/src/schemas/devices.ts +4 -0
- package/src/schemas/git/git.ts +11 -1
- package/src/schemas/hosts.ts +5 -1
- package/src/schemas/system.ts +25 -0
- package/src/schemas/turn-break.ts +9 -0
- package/src/state/history-state.ts +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/schemas/system.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/schemas/system.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,14 @@ export declare const TurnBreakSchema: z.ZodEnum<{
|
|
|
5
5
|
stopped: "stopped";
|
|
6
6
|
}>;
|
|
7
7
|
export type TurnBreak = z.infer<typeof TurnBreakSchema>;
|
|
8
|
+
export declare const HeldEndingSchema: z.ZodEnum<{
|
|
9
|
+
flagged: "flagged";
|
|
10
|
+
limit: "limit";
|
|
11
|
+
outage: "outage";
|
|
12
|
+
stopped: "stopped";
|
|
13
|
+
}>;
|
|
14
|
+
export type HeldEnding = z.infer<typeof HeldEndingSchema>;
|
|
15
|
+
export declare const isTurnBreak: (ending: HeldEnding) => ending is TurnBreak;
|
|
8
16
|
export declare const LimitPolicySchema: z.ZodEnum<{
|
|
9
17
|
move: "move";
|
|
10
18
|
resend: "resend";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-break.d.ts","sourceRoot":"","sources":["../../src/schemas/turn-break.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,eAAe;;;;EAAyC,CAAC;AACtE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"turn-break.d.ts","sourceRoot":"","sources":["../../src/schemas/turn-break.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,eAAe;;;;EAAyC,CAAC;AACtE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAKxD,eAAO,MAAM,gBAAgB;;;;;EAAkD,CAAC;AAChF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAG1D,eAAO,MAAM,WAAW,WAAY,UAAU,KAAG,MAAM,IAAI,SAAiC,CAAC;AAI7F,eAAO,MAAM,iBAAiB;;;;EAAqC,CAAC;AACpE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAG5D,eAAO,MAAM,iBAAiB;;;EAA4B,CAAC;AAC3D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAG5D,eAAO,MAAM,qBAAqB;;;;;EAA8C,CAAC;AACjF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAGpE,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,CAAC,CAIvF,CAAC;AAGF,eAAO,MAAM,iBAAiB,WAAY,SAAS,UAAU,MAAM,KAAG,MAAM,IAAI,eACT,CAAC;AAGxE,eAAO,MAAM,UAAU,WAAY,eAAe,KAAG,OAA4B,CAAC;AAIlF,eAAO,MAAM,eAAe,YAAI,IAAK,EAAE,KAAM,EAAE,KAAM,CAAU,CAAC;AAChE,eAAO,MAAM,kBAAkB,GAAyB,CAAC;AAGzD,eAAO,MAAM,gBAAgB,yBAA0B,MAAM,KAAG,MAAM,GAAG,SAAkD,CAAC;AAI5H,eAAO,MAAM,iBAAiB;;;iBAG5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
export const TurnBreakSchema = z.enum(["limit", "outage", "stopped"]);
|
|
3
|
+
export const HeldEndingSchema = z.enum([...TurnBreakSchema.options, "flagged"]);
|
|
4
|
+
export const isTurnBreak = (ending) => ending !== "flagged";
|
|
3
5
|
export const LimitPolicySchema = z.enum(["wait", "resend", "move"]);
|
|
4
6
|
export const RetryPolicySchema = z.enum(["wait", "retry"]);
|
|
5
7
|
export const TurnBreakPolicySchema = z.enum(["wait", "resend", "move", "retry"]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-break.js","sourceRoot":"","sources":["../../src/schemas/turn-break.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"turn-break.js","sourceRoot":"","sources":["../../src/schemas/turn-break.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAMtE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAIhF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAkB,EAAuB,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC;AAI7F,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAIpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAI3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAIjF,MAAM,CAAC,MAAM,mBAAmB,GAA4D;IACxF,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;IACjC,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;CAC7B,CAAC;AAGF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAiB,EAAE,MAAc,EAA6B,EAAE,CAC7F,mBAAmB,CAAC,MAAM,CAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAGxE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAuB,EAAW,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC;AAIlF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAChE,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC,MAAM,CAAC;AAGzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,oBAA4B,EAAsB,EAAE,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;AAI5H,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IACvF,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC;CAC/F,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history-state.d.ts","sourceRoot":"","sources":["../../src/state/history-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAQxD,eAAO,MAAM,mBAAmB,EAAE,SAAS,SAAS,
|
|
1
|
+
{"version":3,"file":"history-state.d.ts","sourceRoot":"","sources":["../../src/state/history-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAQxD,eAAO,MAAM,mBAAmB,EAAE,SAAS,SAAS,EA0JnD,CAAC"}
|
|
@@ -34,6 +34,7 @@ export const HISTORY_STATE_FILES = [
|
|
|
34
34
|
{ path: "arrivals/", portability: "derived" },
|
|
35
35
|
{ path: "engines/", portability: "derived" },
|
|
36
36
|
{ path: "update-staged.json", portability: "derived" },
|
|
37
|
+
{ path: "update-preparing.json", portability: "derived" },
|
|
37
38
|
{ path: "update-outcome.json", portability: "derived" },
|
|
38
39
|
{ path: "update-skipped.json", portability: "derived" },
|
|
39
40
|
{ path: "boot-failure.json", portability: "derived" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history-state.js","sourceRoot":"","sources":["../../src/state/history-state.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,mBAAmB,GAAyB;IAIrD,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE;IAEvC,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE;IAKzC,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,OAAO,EAAE;IAIlD,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,OAAO,EAAE;IAGhD,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE;IAExC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE;IAI7C,EAAE,IAAI,EAAE,sBAAsB,EAAE,WAAW,EAAE,OAAO,EAAE;IACtD,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,OAAO,EAAE;IAChD,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE;IAC7C,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,OAAO,EAAE;IAGpD,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,OAAO,EAAE;IAClD,EAAE,IAAI,EAAE,wBAAwB,EAAE,WAAW,EAAE,OAAO,EAAE;IAExD,EAAE,IAAI,EAAE,qBAAqB,EAAE,WAAW,EAAE,OAAO,EAAE;IAGrD,EAAE,IAAI,EAAE,sBAAsB,EAAE,WAAW,EAAE,OAAO,EAAE;IAGtD,EAAE,IAAI,EAAE,sBAAsB,EAAE,WAAW,EAAE,OAAO,EAAE;IAEtD,EAAE,IAAI,EAAE,0BAA0B,EAAE,WAAW,EAAE,OAAO,EAAE;IAE1D,EAAE,IAAI,EAAE,wBAAwB,EAAE,WAAW,EAAE,OAAO,EAAE;IAExD,EAAE,IAAI,EAAE,qBAAqB,EAAE,WAAW,EAAE,OAAO,EAAE;IACrD,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,EAAE;IAK/C;QACI,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,8EAA8E;KACvF;IAED,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,oEAAoE,EAAE;IAI3H,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,SAAS,EAAE;IACnD,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE;IAC7C,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE;IACzC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE;IAC1C,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,SAAS,EAAE;IAEpD,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE;IAE5C,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE;IAE5C,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE;IAE7C,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE;IAE5C,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"history-state.js","sourceRoot":"","sources":["../../src/state/history-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.
|
|
3
|
+
"version": "1.320.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.
|
|
255
|
-
"@intentic/constants": "1.
|
|
256
|
-
"@intentic/extension-manifest": "1.
|
|
257
|
-
"@intentic/registry": "1.
|
|
254
|
+
"@intentic/base": "1.320.0",
|
|
255
|
+
"@intentic/constants": "1.320.0",
|
|
256
|
+
"@intentic/extension-manifest": "1.320.0",
|
|
257
|
+
"@intentic/registry": "1.320.0",
|
|
258
258
|
"@orpc/contract": "1.15.4",
|
|
259
259
|
"tslib": "2.8.1",
|
|
260
260
|
"zod": "4.6.5"
|
|
@@ -285,8 +285,21 @@ export const AgentEventSchema = z.discriminatedUnion("kind", [
|
|
|
285
285
|
"harness-incomplete",
|
|
286
286
|
// The installed engine is too old for the model; the provider names the version required, on `engine`.
|
|
287
287
|
"engine-version-floor",
|
|
288
|
+
// The provider's safety classifier stopped the turn partway, often a false positive on ordinary work.
|
|
289
|
+
// Held for a person: retry on the same model without the stopped response, or go on with another.
|
|
290
|
+
"safeguard-flagged",
|
|
288
291
|
])
|
|
289
292
|
.optional(),
|
|
293
|
+
// safeguard-flagged only: what the classifier named, and where a retry resumes the session from.
|
|
294
|
+
refusal: z
|
|
295
|
+
.object({
|
|
296
|
+
category: z.string().optional().describe("The classifier's category as the provider named it (cyber, bio, reasoning_extraction, …), when it did."),
|
|
297
|
+
resumeAt: z
|
|
298
|
+
.string()
|
|
299
|
+
.optional()
|
|
300
|
+
.describe("The last session entry before the stopped response: a retry resumes the session there, so the model never sees what was stopped."),
|
|
301
|
+
})
|
|
302
|
+
.optional(),
|
|
290
303
|
// Which engine, the version refused, and the floor the provider requires; lets the client offer an install.
|
|
291
304
|
engine: z
|
|
292
305
|
.object({
|
package/src/events/resume.ts
CHANGED
|
@@ -27,6 +27,10 @@ export const RESUME_NOTES = {
|
|
|
27
27
|
// The session outgrew the model's window, so the re-run opens fresh with the hand-off, as `switched` does.
|
|
28
28
|
overflow:
|
|
29
29
|
"This conversation's session grew larger than the model's context window can hold, which stopped this turn, and it has been sent again in a fresh session. The conversation so far has been carried across above, including the part of the request that was already completed, and the sandbox has measured where the work actually stands (the files changed on this branch, what was verified, what the checklist still holds) in the note headed 'Where the work stands': trust that note over anything recalled, then continue from that point instead of starting over. Keep this session small: read large files and long command output in parts rather than whole.",
|
|
30
|
+
// The provider's safety classifier stopped the turn partway, usually a false positive on ordinary work. Re-run in
|
|
31
|
+
// the same session with the stopped response cut away, so the model sees none of it, on whichever model the press
|
|
32
|
+
// named.
|
|
33
|
+
flagged: `The model provider's safety classifier stopped the previous attempt at this request partway, and it has been sent again after the person looking at this conversation chose to go on. The stopped response has been removed from this session. ${REPEATED}`,
|
|
30
34
|
// A turn parked on the user when the daemon died; what follows the note is their actual answer, not a repeat.
|
|
31
35
|
answered:
|
|
32
36
|
"The sandbox restarted while this conversation was waiting for the user to respond; it is back, and their response follows below: continue from where the session left off.",
|
|
@@ -66,6 +70,7 @@ const RESUME_DISCLOSURES: Record<ResumeReason, ResumeDisclosure> = {
|
|
|
66
70
|
refused: notice("refused", "Sent again after the allowance refused it: nothing had run."),
|
|
67
71
|
door: notice("door", "Sent again: the first attempt was turned away before anything ran."),
|
|
68
72
|
overflow: notice("overflow", "Sent again in a fresh session after the last one outgrew the model's context window."),
|
|
73
|
+
flagged: notice("flagged", "Sent again after the model's safeguards stopped it, without the stopped response."),
|
|
69
74
|
answered: { kind: "note", note: { title: "Picked back up after a sandbox restart", text: RESUME_NOTES.answered } },
|
|
70
75
|
};
|
|
71
76
|
|
|
@@ -26,7 +26,7 @@ const failure = {
|
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
// The re-runs a resumed turn's row can name (events/resume.ts); a reason a reader does not know draws the row's text.
|
|
29
|
-
const ResumeNoticeReasonSchema = z.enum(["auth", "outage", "restart", "stopped", "limit", "switched", "carried", "refused", "door", "overflow"]);
|
|
29
|
+
const ResumeNoticeReasonSchema = z.enum(["auth", "outage", "restart", "stopped", "limit", "switched", "carried", "refused", "door", "overflow", "flagged"]);
|
|
30
30
|
export type ResumeNoticeReason = z.infer<typeof ResumeNoticeReasonSchema>;
|
|
31
31
|
|
|
32
32
|
// Every code this build writes, one per sentence shape, each with the facts that shape needs.
|
package/src/events/transcript.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { ShareDetailSchema } from "../schemas/share.js";
|
|
|
4
4
|
import { TurnErrandSchema, TurnSpeakerSchema } from "../schemas/speaker.js";
|
|
5
5
|
import { SubagentKindSchema, SubagentStatusSchema, SubagentVerificationSchema } from "../schemas/terminal.js";
|
|
6
6
|
import { NeedSchema } from "../schemas/needs.js";
|
|
7
|
-
import { RetryLadderSchema } from "../schemas/turn-break.js";
|
|
7
|
+
import { HeldEndingSchema, RetryLadderSchema } from "../schemas/turn-break.js";
|
|
8
8
|
import { NoticeCodeSchema } from "./sandbox-notice.js";
|
|
9
9
|
import type { ToolCallContent, ToolCallLocation, ToolCallStatus, ToolKind} from "./requests.js";
|
|
10
10
|
import { browserHelpRequest, capabilityOfferRequest, CapabilityOutcomeSchema, credentialOfferRequest, CredentialReceiptSchema, paymentOfferRequest, PaymentReceiptSchema, PermissionAskSchema, permissionRequest, planRequest, questionRequest, terminalHelpRequest, TodoItemSchema, ToolCallContentSchema, ToolCallLocationSchema, ToolCallStatusSchema, ToolKindSchema } from "./requests.js";
|
|
@@ -385,11 +385,9 @@ export const SessionTranscriptSchema = z.object({
|
|
|
385
385
|
// How a turn that left work behind ended, folded straight into pickup state (chat/pickUp.ts). `held` makes a press
|
|
386
386
|
// re-run the turn instead of appending a message; `scheduled` means it's already coming back.
|
|
387
387
|
export const TurnEndingSchema = z.object({
|
|
388
|
-
reason:
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
"Which ending left the work here: a Stop or a daemon killed under the turn, a spent usage allowance, or a provider that refused it.",
|
|
392
|
-
),
|
|
388
|
+
reason: HeldEndingSchema.describe(
|
|
389
|
+
"Which ending left the work here: a Stop or a daemon killed under the turn, a spent usage allowance, a provider that refused it, or the provider's safety classifier stopping it partway.",
|
|
390
|
+
),
|
|
393
391
|
resetsAt: z
|
|
394
392
|
.number()
|
|
395
393
|
.optional()
|
|
@@ -21,6 +21,7 @@ export const normalizeHostPattern = (raw: string): string | undefined => {
|
|
|
21
21
|
if (/^[a-z][a-z0-9+.-]*:\/\//.test(text)) {
|
|
22
22
|
try {
|
|
23
23
|
text = new URL(text).hostname;
|
|
24
|
+
// allow(silent-catch): A malformed URL is refused as a secret host pattern.
|
|
24
25
|
} catch {
|
|
25
26
|
return undefined;
|
|
26
27
|
}
|
|
@@ -14,8 +14,8 @@ import {
|
|
|
14
14
|
batchRunPrefix,
|
|
15
15
|
batchTurnBody,
|
|
16
16
|
parseBatchFile,
|
|
17
|
-
} from "
|
|
18
|
-
import { ConversationIdSchema } from "
|
|
17
|
+
} from "../batch-runs.js";
|
|
18
|
+
import { ConversationIdSchema } from "../../schemas/agent.js";
|
|
19
19
|
|
|
20
20
|
// The two real layouts this fits: one fans out over items, one where a run is the item.
|
|
21
21
|
const FANNED: BatchRunKind = { runsDir: `records/artifacts/acceptance`, prefix: `xt`, scanRuns: 10 };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { classifyCommand, type CommandContext, type CommandSpan, matchCommand } from "
|
|
1
|
+
import { classifyCommand, type CommandContext, type CommandSpan, matchCommand } from "../command-classes.js";
|
|
2
2
|
|
|
3
3
|
// Every call states a locus (now required); these default to `device`, the wider reading, so an assertion made here
|
|
4
4
|
// holds at every locus, and genuine differences get their own tests below.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { CommandRun } from "
|
|
2
|
-
import { followCommandRun } from "
|
|
1
|
+
import type { CommandRun } from "../../schemas/ci.js";
|
|
2
|
+
import { followCommandRun } from "../command-run.js";
|
|
3
3
|
|
|
4
4
|
const RUNNING: CommandRun = { status: "running", command: "pnpm test", output: "" };
|
|
5
5
|
const PASSED: CommandRun = { status: "passed", command: "pnpm test", output: "ok" };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { holdsCredentialMaterial, maskCredentialMaterial } from "
|
|
1
|
+
import { holdsCredentialMaterial, maskCredentialMaterial } from "../credential-material.js";
|
|
2
2
|
|
|
3
3
|
// The two directions aren't symmetric: a miss just raises an extra card, a wrong clear un-gates a real credential read.
|
|
4
4
|
// The "no" cases have to be exactly right; every "yes" case is a real file's real shape.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { fenceAllows, fenceCovers, fenceIntersection, fenceReaches, foldPath, pathInsideFolder } from "
|
|
1
|
+
import { fenceAllows, fenceCovers, fenceIntersection, fenceReaches, foldPath, pathInsideFolder } from "../fence-paths.js";
|
|
2
2
|
|
|
3
3
|
describe("foldPath", () => {
|
|
4
4
|
test("folds the spellings of one path into one answer", () => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { hasOfficialBase, invalidExtensionFragment, isOfficialSandboxImage, lintOverlay, overlayBase, rewriteOverlayBase } from "
|
|
1
|
+
import { hasOfficialBase, invalidExtensionFragment, isOfficialSandboxImage, lintOverlay, overlayBase, rewriteOverlayBase } from "../overlay-lint.js";
|
|
2
2
|
|
|
3
3
|
test("accepts a RUN/ENV-only fragment, comments and blank lines included", () => {
|
|
4
4
|
const fragment = `# install the postgres client\nRUN apt-get update && apt-get install -y postgresql-client\nENV PGCLIENT=1\n`;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { generateKeyPairSync } from "node:crypto";
|
|
2
|
-
import { mintReachabilityGrant, verifyReachabilityGrant } from "
|
|
3
|
-
import { isOwnerTicket, mintOwnerTicket, OWNER_TICKET_TTL_MS, publicKeyPemOf, verifyOwnerTicket } from "
|
|
2
|
+
import { mintReachabilityGrant, verifyReachabilityGrant } from "../../protocol/ingress-contract.js";
|
|
3
|
+
import { isOwnerTicket, mintOwnerTicket, OWNER_TICKET_TTL_MS, publicKeyPemOf, verifyOwnerTicket } from "../owner-ticket.js";
|
|
4
4
|
|
|
5
5
|
const pair = generateKeyPairSync("ed25519");
|
|
6
6
|
const privatePem = pair.privateKey.export({ type: "pkcs8", format: "pem" }) as string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { fenceHoldsPersona, personaHome } from "
|
|
1
|
+
import { fenceHoldsPersona, personaHome } from "../persona-home.js";
|
|
2
2
|
|
|
3
3
|
// Where a card lives, and therefore who may wear it. This is the whole of the rule the Access tab draws and the
|
|
4
4
|
// daemon refuses on, so the three shapes a card can name a place in are each pinned here.
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
DAEMON_MCP_SERVERS,
|
|
5
5
|
MCP_SERVER_MINTING_KINDS,
|
|
6
6
|
RESERVED_MCP_SERVER_NAMES,
|
|
7
|
-
} from "
|
|
7
|
+
} from "../reserved-servers.js";
|
|
8
8
|
|
|
9
9
|
describe("reserved MCP server names", () => {
|
|
10
10
|
test("the reserved set is exactly the daemon server rows", () => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { COMMAND_CLASS_LABELS, COMMAND_CLASS_PATTERNS } from "
|
|
2
|
-
import { COMMAND_RULE_CATALOG, DEFAULT_SAFETY_POLICY, hardRuleClasses } from "
|
|
3
|
-
import { CommandClassSchema, CommandLocusSchema } from "
|
|
1
|
+
import { COMMAND_CLASS_LABELS, COMMAND_CLASS_PATTERNS } from "../command-classes.js";
|
|
2
|
+
import { COMMAND_RULE_CATALOG, DEFAULT_SAFETY_POLICY, hardRuleClasses } from "../safety-policy.js";
|
|
3
|
+
import { CommandClassSchema, CommandLocusSchema } from "../../schemas/agent.js";
|
|
4
4
|
|
|
5
5
|
// The hard rule is the one thing on this page nobody can argue with, so it's pinned here rather than trusted to review:
|
|
6
6
|
// a class added silently is one an owner can never decide about for themselves.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { hostAllowed, hostMatches, normalizeHost, normalizeHostPattern, tightensHostGuard } from "
|
|
1
|
+
import { hostAllowed, hostMatches, normalizeHost, normalizeHostPattern, tightensHostGuard } from "../secret-hosts.js";
|
|
2
2
|
|
|
3
3
|
// The pattern a person writes against the host a use would reach. Every boundary a limit turns on is pinned by value:
|
|
4
4
|
// the apex a wildcard leaves out, the look-alike that only shares a suffix, and which edits take hosts away.
|
package/src/schemas/devices.ts
CHANGED
|
@@ -103,6 +103,10 @@ export const DeviceSandboxOpSchema = z.enum([
|
|
|
103
103
|
"stop",
|
|
104
104
|
"restart",
|
|
105
105
|
"prepare",
|
|
106
|
+
// `prepare` under the unattended rules (`ic sandbox prepare --auto`): nobody pressed anything, so low disk is "not
|
|
107
|
+
// now" and a pinned sandbox or the version it went back from is left alone. What the update card sends by itself
|
|
108
|
+
// when it opens; sent only to an agent advertising `background-prepare`.
|
|
109
|
+
"prepare-background",
|
|
106
110
|
"update",
|
|
107
111
|
"rebuild",
|
|
108
112
|
"rollback",
|
package/src/schemas/git/git.ts
CHANGED
|
@@ -447,11 +447,21 @@ export const AgentChangesSchema = z.object({
|
|
|
447
447
|
.string()
|
|
448
448
|
.optional()
|
|
449
449
|
.describe("The branch its copy is standing on. Absent where it stands on no branch at all, which is a state git allows."),
|
|
450
|
+
carried: z
|
|
451
|
+
.boolean()
|
|
452
|
+
.optional()
|
|
453
|
+
.describe(
|
|
454
|
+
"Whether everything the conversation committed there has also been copied onto its own branch, so what is listed here and what a merge brings include it. False where a commit would not copy over cleanly. Absent from a sandbox too old to copy it, which never did.",
|
|
455
|
+
),
|
|
456
|
+
uncommitted: z
|
|
457
|
+
.boolean()
|
|
458
|
+
.optional()
|
|
459
|
+
.describe("Whether its copy there holds uncommitted changes to tracked files, which no merge brings until they are committed there."),
|
|
450
460
|
}),
|
|
451
461
|
)
|
|
452
462
|
.optional()
|
|
453
463
|
.describe(
|
|
454
|
-
"Repositories whose copy the conversation left standing on a different branch of its own. What is listed for them is this conversation's branch
|
|
464
|
+
"Repositories whose copy the conversation left standing on a different branch of its own. What is listed for them is this conversation's own branch, onto which each turn copies what it committed on the other branch unless `carried` says it could not.",
|
|
455
465
|
),
|
|
456
466
|
// Read off the live copy, so a retired one has none: its scratch went with it.
|
|
457
467
|
scratch: z
|
package/src/schemas/hosts.ts
CHANGED
|
@@ -72,12 +72,16 @@ export type DeviceFacts = z.infer<typeof DeviceFactsSchema>;
|
|
|
72
72
|
// previous one; advertised only when the agent's `ic sandbox rollback` takes `--to`.
|
|
73
73
|
// - `loopback-catch`: the `catchLoopback` procedure, a sign-in's loopback redirect caught on this machine
|
|
74
74
|
// (loopback-catch.ts); an agent without it rejects the call as an unknown procedure.
|
|
75
|
-
|
|
75
|
+
// - `background-prepare`: the `prepare-background` op, the next update downloaded under the unattended rules of the
|
|
76
|
+
// agent's own timer (`ic sandbox prepare --auto`), which the update card sends when it opens; advertised only when
|
|
77
|
+
// the agent's `ic sandbox prepare` takes `--auto`.
|
|
78
|
+
export const DeviceFeatureSchema = z.enum(["reshape-later", "set-shape", "rollback-to", "loopback-catch", "background-prepare"]);
|
|
76
79
|
export type DeviceFeature = z.infer<typeof DeviceFeatureSchema>;
|
|
77
80
|
export const DEVICE_FEATURE_RESHAPE_LATER: DeviceFeature = "reshape-later";
|
|
78
81
|
export const DEVICE_FEATURE_SET_SHAPE: DeviceFeature = "set-shape";
|
|
79
82
|
export const DEVICE_FEATURE_ROLLBACK_TO: DeviceFeature = "rollback-to";
|
|
80
83
|
export const DEVICE_FEATURE_LOOPBACK_CATCH: DeviceFeature = "loopback-catch";
|
|
84
|
+
export const DEVICE_FEATURE_BACKGROUND_PREPARE: DeviceFeature = "background-prepare";
|
|
81
85
|
// The features an agent advertised that this build knows; an unknown one is a newer agent's and means nothing here.
|
|
82
86
|
export const deviceFeatures = (facts: Pick<DeviceFacts, "features"> | undefined): DeviceFeature[] =>
|
|
83
87
|
(facts?.features ?? []).flatMap((feature) => {
|
package/src/schemas/system.ts
CHANGED
|
@@ -39,6 +39,26 @@ export const StagedUpdateSchema = z.object({
|
|
|
39
39
|
.describe("What the downloaded build's first boot would convert in this sandbox's stored files. Absent when no plan could be had, which says nothing either way."),
|
|
40
40
|
});
|
|
41
41
|
export type StagedUpdate = z.infer<typeof StagedUpdateSchema>;
|
|
42
|
+
// A download of the next update running on the machine right now, with how far it has got. `ic sandbox prepare` writes
|
|
43
|
+
// it onto /history while it works (update-preparing.json), refreshing `at` every few seconds, and removes it when it
|
|
44
|
+
// ends, whichever way. Advisory like the staged marker: the daemon passes it on only while `at` is fresh, so a download
|
|
45
|
+
// whose ic was killed is never drawn as one still running.
|
|
46
|
+
// It names no version: only the finished image can say which it is, and asking it costs a container; the card already
|
|
47
|
+
// knows the release it is downloading as `latest`.
|
|
48
|
+
export const PreparingUpdateSchema = z.object({
|
|
49
|
+
channel: z.string().describe("Which channel it is being taken from."),
|
|
50
|
+
startedAt: z.number().describe("When the download began, in milliseconds."),
|
|
51
|
+
at: z.number().describe("When the machine last said it is still working on it, in milliseconds."),
|
|
52
|
+
// A string rather than an enum, as UpdateOutcome's `verb` is: a newer ic's step must not make an older daemon drop
|
|
53
|
+
// the whole marker. `download`, `build` and `check` are the ones this build names.
|
|
54
|
+
phase: z
|
|
55
|
+
.string()
|
|
56
|
+
.describe(
|
|
57
|
+
"What it is doing: download (pulling the new image), build (building this sandbox's environment on it), or check (checking this sandbox's stored files against it).",
|
|
58
|
+
),
|
|
59
|
+
percent: z.number().min(0).max(100).optional().describe("How far through the download it is, from 0 to 100. Absent for a step with no measure of its own."),
|
|
60
|
+
});
|
|
61
|
+
export type PreparingUpdate = z.infer<typeof PreparingUpdateSchema>;
|
|
42
62
|
export const InfoSchema = z.object({
|
|
43
63
|
name: z.string().optional().describe("What this sandbox is called."),
|
|
44
64
|
image: z.string().optional().describe("The image it is running."),
|
|
@@ -83,6 +103,11 @@ export const InfoSchema = z.object({
|
|
|
83
103
|
staged: StagedUpdateSchema.optional().describe(
|
|
84
104
|
"An update already downloaded and built on the machine running this container, waiting only for the restart that applies it. That restart is seconds, where an unprepared update is minutes, which is a different decision entirely. Absent when nothing is waiting.",
|
|
85
105
|
),
|
|
106
|
+
// A download running on the host right now (update-preparing.json, written by ic while it prepares); absent when
|
|
107
|
+
// none is, and when the host stopped refreshing it (PREPARING_FRESH_MS in the daemon).
|
|
108
|
+
preparing: PreparingUpdateSchema.optional().describe(
|
|
109
|
+
"A download of the next update running on the machine right now, and how far it has got. Absent when nothing is downloading, or when the machine stopped saying it is.",
|
|
110
|
+
),
|
|
86
111
|
// What the host last did about this sandbox's version (update-outcome.json on /history, written by ic); absent
|
|
87
112
|
// when no host has said, which is every hosted sandbox and every host older than the file.
|
|
88
113
|
lastUpdate: UpdateOutcomeSchema.optional().describe(
|
|
@@ -13,6 +13,15 @@ import { z } from "zod";
|
|
|
13
13
|
export const TurnBreakSchema = z.enum(["limit", "outage", "stopped"]);
|
|
14
14
|
export type TurnBreak = z.infer<typeof TurnBreakSchema>;
|
|
15
15
|
|
|
16
|
+
// Every ending that leaves a held turn behind: the three above, plus the provider's safety classifier stopping a turn
|
|
17
|
+
// partway. That one has no standing answer and never re-runs by itself: the person picks, each time, between the same
|
|
18
|
+
// model again and another one (2026-09-30, the owner's call over an automatic model switch).
|
|
19
|
+
export const HeldEndingSchema = z.enum([...TurnBreakSchema.options, "flagged"]);
|
|
20
|
+
export type HeldEnding = z.infer<typeof HeldEndingSchema>;
|
|
21
|
+
|
|
22
|
+
/** Whether this ending takes a standing answer (turn-break policy), which `flagged` never does. */
|
|
23
|
+
export const isTurnBreak = (ending: HeldEnding): ending is TurnBreak => ending !== "flagged";
|
|
24
|
+
|
|
16
25
|
// `move` implies `resend`: an account with room is tried at once, and the reset appointment stands as its fallback.
|
|
17
26
|
// There is deliberately no "move, else hold" — a reader willing to spend a second account is willing to wait.
|
|
18
27
|
export const LimitPolicySchema = z.enum(["wait", "resend", "move"]);
|
|
@@ -82,6 +82,8 @@ export const HISTORY_STATE_FILES: readonly StateFile[] = [
|
|
|
82
82
|
{ path: "engines/", portability: "derived" },
|
|
83
83
|
// An update the host downloaded and built for this sandbox (`ic sandbox prepare`); about this machine only.
|
|
84
84
|
{ path: "update-staged.json", portability: "derived" },
|
|
85
|
+
// A download the host is running for this sandbox right now (ic rewrites it every few seconds, removes it when done).
|
|
86
|
+
{ path: "update-preparing.json", portability: "derived" },
|
|
85
87
|
// What the host last did about this sandbox's version (ic writes it), the owner's skipped release, and why the
|
|
86
88
|
// last boot could not start (the daemon writes it, the host's probation reads it): all rebuilt by whoever next says.
|
|
87
89
|
{ path: "update-outcome.json", portability: "derived" },
|