@intentic/sandbox-contract 1.332.0 → 1.333.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 (159) hide show
  1. package/README.md +8 -1
  2. package/dist/contracts/agent.contract.d.ts +1 -0
  3. package/dist/contracts/agent.contract.d.ts.map +1 -1
  4. package/dist/contracts/automations.contract.d.ts +1 -0
  5. package/dist/contracts/automations.contract.d.ts.map +1 -1
  6. package/dist/contracts/needs.contract.d.ts +29 -1
  7. package/dist/contracts/needs.contract.d.ts.map +1 -1
  8. package/dist/contracts/needs.contract.js +2 -2
  9. package/dist/contracts/needs.contract.js.map +1 -1
  10. package/dist/contracts/runner.contract.d.ts.map +1 -1
  11. package/dist/contracts/runner.contract.js +2 -2
  12. package/dist/contracts/runner.contract.js.map +1 -1
  13. package/dist/contracts/settings.contract.d.ts +34 -0
  14. package/dist/contracts/settings.contract.d.ts.map +1 -1
  15. package/dist/index.d.ts +114 -43
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +7 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/models/model-roles.d.ts +8 -0
  20. package/dist/models/model-roles.d.ts.map +1 -1
  21. package/dist/models/model-roles.js +8 -0
  22. package/dist/models/model-roles.js.map +1 -1
  23. package/dist/policy/control-scopes.d.ts +47 -0
  24. package/dist/policy/control-scopes.d.ts.map +1 -1
  25. package/dist/policy/control-scopes.js +16 -0
  26. package/dist/policy/control-scopes.js.map +1 -1
  27. package/dist/policy/device-programs.d.ts +28 -0
  28. package/dist/policy/device-programs.d.ts.map +1 -0
  29. package/dist/policy/device-programs.js +79 -0
  30. package/dist/policy/device-programs.js.map +1 -0
  31. package/dist/policy/identity-assertion.d.ts +27 -0
  32. package/dist/policy/identity-assertion.d.ts.map +1 -0
  33. package/dist/policy/identity-assertion.js +77 -0
  34. package/dist/policy/identity-assertion.js.map +1 -0
  35. package/dist/policy/sandbox-power.d.ts +34 -0
  36. package/dist/policy/sandbox-power.d.ts.map +1 -0
  37. package/dist/policy/sandbox-power.js +146 -0
  38. package/dist/policy/sandbox-power.js.map +1 -0
  39. package/dist/protocol/doors/runner-protocol.d.ts +36 -0
  40. package/dist/protocol/doors/runner-protocol.d.ts.map +1 -1
  41. package/dist/protocol/doors/runner-protocol.js +2 -0
  42. package/dist/protocol/doors/runner-protocol.js.map +1 -1
  43. package/dist/protocol/raw/raw-json-routes.d.ts +839 -1
  44. package/dist/protocol/raw/raw-json-routes.d.ts.map +1 -1
  45. package/dist/protocol/raw/raw-json-routes.js +60 -2
  46. package/dist/protocol/raw/raw-json-routes.js.map +1 -1
  47. package/dist/protocol/raw/raw-routes.d.ts +9 -0
  48. package/dist/protocol/raw/raw-routes.d.ts.map +1 -1
  49. package/dist/protocol/raw/raw-routes.js +3 -0
  50. package/dist/protocol/raw/raw-routes.js.map +1 -1
  51. package/dist/schemas/agent.d.ts +3 -0
  52. package/dist/schemas/agent.d.ts.map +1 -1
  53. package/dist/schemas/automations.d.ts +1 -0
  54. package/dist/schemas/automations.d.ts.map +1 -1
  55. package/dist/schemas/automations.js +8 -2
  56. package/dist/schemas/automations.js.map +1 -1
  57. package/dist/schemas/device-swaps.d.ts +19 -0
  58. package/dist/schemas/device-swaps.d.ts.map +1 -0
  59. package/dist/schemas/device-swaps.js +11 -0
  60. package/dist/schemas/device-swaps.js.map +1 -0
  61. package/dist/schemas/environment.d.ts +7 -0
  62. package/dist/schemas/environment.d.ts.map +1 -1
  63. package/dist/schemas/environment.js +2 -0
  64. package/dist/schemas/environment.js.map +1 -1
  65. package/dist/schemas/members.d.ts +4 -0
  66. package/dist/schemas/members.d.ts.map +1 -1
  67. package/dist/schemas/members.js +5 -0
  68. package/dist/schemas/members.js.map +1 -1
  69. package/dist/schemas/needs.d.ts +78 -1
  70. package/dist/schemas/needs.d.ts.map +1 -1
  71. package/dist/schemas/needs.js +36 -1
  72. package/dist/schemas/needs.js.map +1 -1
  73. package/dist/schemas/restart-intent.d.ts +47 -0
  74. package/dist/schemas/restart-intent.d.ts.map +1 -0
  75. package/dist/schemas/restart-intent.js +19 -0
  76. package/dist/schemas/restart-intent.js.map +1 -0
  77. package/dist/schemas/settings.d.ts +34 -0
  78. package/dist/schemas/settings.d.ts.map +1 -1
  79. package/dist/schemas/settings.js +2 -0
  80. package/dist/schemas/settings.js.map +1 -1
  81. package/dist/schemas/short-codes.d.ts +16 -0
  82. package/dist/schemas/short-codes.d.ts.map +1 -1
  83. package/dist/schemas/short-codes.js +2 -0
  84. package/dist/schemas/short-codes.js.map +1 -1
  85. package/dist/schemas/speech.d.ts +4 -0
  86. package/dist/schemas/speech.d.ts.map +1 -1
  87. package/dist/schemas/speech.js +1 -0
  88. package/dist/schemas/speech.js.map +1 -1
  89. package/dist/schemas/system.d.ts +46 -0
  90. package/dist/schemas/system.d.ts.map +1 -1
  91. package/dist/schemas/system.js +18 -1
  92. package/dist/schemas/system.js.map +1 -1
  93. package/dist/schemas/voice.d.ts +171 -0
  94. package/dist/schemas/voice.d.ts.map +1 -0
  95. package/dist/schemas/voice.js +99 -0
  96. package/dist/schemas/voice.js.map +1 -0
  97. package/dist/schemas/workspace/workspace-upload.d.ts +14 -0
  98. package/dist/schemas/workspace/workspace-upload.d.ts.map +1 -0
  99. package/dist/schemas/workspace/workspace-upload.js +6 -0
  100. package/dist/schemas/workspace/workspace-upload.js.map +1 -0
  101. package/dist/state/arrival.d.ts +3 -0
  102. package/dist/state/arrival.d.ts.map +1 -1
  103. package/dist/state/arrival.js +1 -0
  104. package/dist/state/arrival.js.map +1 -1
  105. package/dist/state/definition.d.ts +52 -4
  106. package/dist/state/definition.d.ts.map +1 -1
  107. package/dist/state/history-state.d.ts.map +1 -1
  108. package/dist/state/history-state.js +2 -0
  109. package/dist/state/history-state.js.map +1 -1
  110. package/dist/state/runtime-state.d.ts +2 -2
  111. package/dist/state/runtime-state.d.ts.map +1 -1
  112. package/dist/state/runtime-state.js +2 -2
  113. package/dist/state/runtime-state.js.map +1 -1
  114. package/dist/state/update-probation.d.ts +50 -0
  115. package/dist/state/update-probation.d.ts.map +1 -0
  116. package/dist/state/update-probation.js +81 -0
  117. package/dist/state/update-probation.js.map +1 -0
  118. package/dist/state/workspace-state.d.ts +1 -1
  119. package/dist/state/workspace-state.d.ts.map +1 -1
  120. package/dist/state/workspace-state.js +1 -1
  121. package/dist/state/workspace-state.js.map +1 -1
  122. package/package.json +16 -5
  123. package/src/contracts/needs.contract.ts +2 -2
  124. package/src/contracts/runner.contract.ts +10 -2
  125. package/src/ids/tunnel-ids.test.ts +30 -0
  126. package/src/index.ts +7 -0
  127. package/src/models/model-roles.ts +10 -0
  128. package/src/policy/control-scopes.ts +27 -0
  129. package/src/policy/device-programs.ts +137 -0
  130. package/src/policy/identity-assertion.ts +130 -0
  131. package/src/policy/sandbox-power.ts +247 -0
  132. package/src/policy/tests/device-programs.test.ts +107 -0
  133. package/src/policy/tests/identity-assertion.test.ts +79 -0
  134. package/src/policy/tests/sandbox-power.test.ts +181 -0
  135. package/src/protocol/doors/runner-protocol.ts +7 -0
  136. package/src/protocol/raw/raw-json-routes.test.ts +87 -0
  137. package/src/protocol/raw/raw-json-routes.ts +125 -6
  138. package/src/protocol/raw/raw-routes.ts +6 -0
  139. package/src/schemas/automations.ts +10 -3
  140. package/src/schemas/device-swaps.test.ts +39 -0
  141. package/src/schemas/device-swaps.ts +26 -0
  142. package/src/schemas/environment.ts +4 -0
  143. package/src/schemas/members.ts +8 -0
  144. package/src/schemas/needs.ts +51 -1
  145. package/src/schemas/restart-intent.test.ts +45 -0
  146. package/src/schemas/restart-intent.ts +47 -0
  147. package/src/schemas/settings.ts +6 -0
  148. package/src/schemas/short-codes.ts +11 -0
  149. package/src/schemas/speech.ts +4 -0
  150. package/src/schemas/system.ts +43 -4
  151. package/src/schemas/voice.ts +161 -0
  152. package/src/schemas/workspace/workspace-upload.ts +11 -0
  153. package/src/state/arrival.ts +3 -0
  154. package/src/state/history-state.ts +5 -0
  155. package/src/state/runtime-state.test.ts +9 -0
  156. package/src/state/runtime-state.ts +7 -5
  157. package/src/state/update-probation.test.ts +45 -0
  158. package/src/state/update-probation.ts +169 -0
  159. package/src/state/workspace-state.ts +4 -1
@@ -0,0 +1,77 @@
1
+ import { createPrivateKey, createPublicKey, randomBytes, sign as edSign, verify as edVerify } from "node:crypto";
2
+ import { z } from "zod";
3
+ import { SANDBOX_ID } from "../ids/tunnel-ids.js";
4
+ const ASSERTION_PREFIX = "pa1";
5
+ export const IDENTITY_ASSERTION_TTL_MS = 2 * 60_000;
6
+ export const IDENTITY_ASSERTION_MAX_TTL_MS = 5 * 60_000;
7
+ export const ENV_PLATFORM_IDENTITY_KEY = "PLATFORM_IDENTITY_KEY";
8
+ export const IdentityAssertionMethodSchema = z.enum(["email", "google"]);
9
+ const base64url = (bytes) => bytes.toString("base64url");
10
+ const signedBytes = (payload) => Buffer.concat([Buffer.from(`${ASSERTION_PREFIX}.`, "utf8"), payload]);
11
+ export const isIdentityAssertion = (bearer) => bearer.startsWith(`${ASSERTION_PREFIX}.`);
12
+ export const mintIdentityAssertion = (privateKeyPem, claim) => {
13
+ if (!SANDBOX_ID.test(claim.sandboxId)) {
14
+ throw new Error(`an identity assertion names a 12-hex sandbox id, got "${claim.sandboxId}"`);
15
+ }
16
+ if (claim.email.trim() === "") {
17
+ throw new Error("an identity assertion names an address");
18
+ }
19
+ const ttlMs = claim.ttlMs ?? IDENTITY_ASSERTION_TTL_MS;
20
+ if (ttlMs <= 0 || ttlMs > IDENTITY_ASSERTION_MAX_TTL_MS) {
21
+ throw new Error(`an identity assertion lives at most ${IDENTITY_ASSERTION_MAX_TTL_MS} ms`);
22
+ }
23
+ const iat = Math.floor(claim.issuedAtMs / 1000);
24
+ const exp = Math.floor((claim.issuedAtMs + ttlMs) / 1000);
25
+ const payload = Buffer.from(JSON.stringify({
26
+ v: 1,
27
+ sub: claim.sandboxId,
28
+ email: claim.email.trim().toLowerCase(),
29
+ amr: claim.method,
30
+ iat,
31
+ exp,
32
+ jti: base64url(randomBytes(16)),
33
+ }), "utf8");
34
+ const signature = edSign(null, signedBytes(payload), createPrivateKey(privateKeyPem));
35
+ return `${ASSERTION_PREFIX}.${base64url(payload)}.${base64url(signature)}`;
36
+ };
37
+ const AssertionPayloadSchema = z.object({
38
+ v: z.literal(1),
39
+ sub: z.string().regex(SANDBOX_ID),
40
+ email: z.string().min(1),
41
+ amr: IdentityAssertionMethodSchema,
42
+ iat: z.number(),
43
+ exp: z.number(),
44
+ jti: z.string().min(16),
45
+ });
46
+ const parsePayload = (payload) => {
47
+ try {
48
+ return AssertionPayloadSchema.safeParse(JSON.parse(payload.toString("utf8"))).data;
49
+ }
50
+ catch {
51
+ return undefined;
52
+ }
53
+ };
54
+ export const verifyIdentityAssertion = (publicKeyPem, token, nowMs) => {
55
+ const [prefix, encodedPayload, encodedSignature, ...rest] = token.split(".");
56
+ if (prefix !== ASSERTION_PREFIX || encodedPayload === undefined || encodedSignature === undefined || rest.length > 0) {
57
+ return undefined;
58
+ }
59
+ const payload = Buffer.from(encodedPayload, "base64url");
60
+ try {
61
+ if (!edVerify(null, signedBytes(payload), createPublicKey(publicKeyPem), Buffer.from(encodedSignature, "base64url"))) {
62
+ return undefined;
63
+ }
64
+ }
65
+ catch {
66
+ return undefined;
67
+ }
68
+ const claim = parsePayload(payload);
69
+ if (claim === undefined) {
70
+ return undefined;
71
+ }
72
+ if (claim.exp * 1000 <= nowMs || claim.iat * 1000 > nowMs + 60_000 || (claim.exp - claim.iat) * 1000 > IDENTITY_ASSERTION_MAX_TTL_MS) {
73
+ return undefined;
74
+ }
75
+ return { sandboxId: claim.sub, email: claim.email, method: claim.amr, issuedAt: claim.iat, expiresAt: claim.exp, nonce: claim.jti };
76
+ };
77
+ //# sourceMappingURL=identity-assertion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-assertion.js","sourceRoot":"","sources":["../../src/policy/identity-assertion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import type { CommandSpan } from "./command-classes.js";
2
+ export type SandboxPowerOp = "start" | "stop" | "restart" | "sleep" | "remove" | "update" | "prepare" | "rebuild" | "rollback" | "dev" | "resize" | "restore" | "connect";
3
+ export declare const SANDBOX_POWER_DOING: {
4
+ readonly start: "Start";
5
+ readonly stop: "Stop";
6
+ readonly restart: "Restart";
7
+ readonly sleep: "Stop";
8
+ readonly remove: "Remove";
9
+ readonly update: "Update";
10
+ readonly prepare: "Prepare an update for";
11
+ readonly rebuild: "Rebuild";
12
+ readonly rollback: "Roll back";
13
+ readonly dev: "Update";
14
+ readonly resize: "Restart with new resources";
15
+ readonly restore: "Restore a backup over";
16
+ readonly connect: "Reinstall";
17
+ };
18
+ export interface SandboxPowerCommand {
19
+ readonly via: "ic" | "docker";
20
+ readonly op: SandboxPowerOp;
21
+ readonly stops: boolean;
22
+ readonly targets: readonly string[];
23
+ readonly unnamed: boolean;
24
+ readonly span: CommandSpan;
25
+ readonly live: boolean;
26
+ }
27
+ export declare const sandboxPowerCommands: (command: string) => SandboxPowerCommand[];
28
+ export interface OwnSandbox {
29
+ readonly slug: string;
30
+ readonly container: string;
31
+ }
32
+ export declare const mayReachSandbox: (hit: SandboxPowerCommand, own: OwnSandbox) => boolean;
33
+ export declare const managesSandbox: (hit: SandboxPowerCommand, containerPrefix: string) => boolean;
34
+ //# sourceMappingURL=sandbox-power.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-power.d.ts","sourceRoot":"","sources":["../../src/policy/sandbox-power.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAWxD,MAAM,MAAM,cAAc,GACpB,OAAO,GACP,MAAM,GACN,SAAS,GACT,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,SAAS,GACT,UAAU,GACV,KAAK,GACL,QAAQ,GACR,SAAS,GACT,SAAS,CAAC;AAGhB,eAAO,MAAM,mBAAmB;oBACrB,OAAO;mBACR,MAAM;sBACH,SAAS;oBACX,MAAM;qBACL,QAAQ;qBACR,QAAQ;sBACP,uBAAuB;sBACvB,SAAS;uBACR,WAAW;kBAChB,QAAQ;qBACL,4BAA4B;sBAC3B,uBAAuB;sBACvB,WAAW;CAC2B,CAAC;AAGpD,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,QAAQ,CAAC;IAC9B,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAE5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAExB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAEpC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CAC1B;AA+ID,eAAO,MAAM,oBAAoB,YAAa,MAAM,KAAG,mBAAmB,EAoBzE,CAAC;AAMF,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAOD,eAAO,MAAM,eAAe,QAAS,mBAAmB,OAAO,UAAU,KAAG,OAC2C,CAAC;AAOxH,eAAO,MAAM,cAAc,QAAS,mBAAmB,mBAAmB,MAAM,KAAG,OACK,CAAC"}
@@ -0,0 +1,146 @@
1
+ import { inertRegions, isLive } from "../text/shell-regions.js";
2
+ export const SANDBOX_POWER_DOING = {
3
+ start: "Start",
4
+ stop: "Stop",
5
+ restart: "Restart",
6
+ sleep: "Stop",
7
+ remove: "Remove",
8
+ update: "Update",
9
+ prepare: "Prepare an update for",
10
+ rebuild: "Rebuild",
11
+ rollback: "Roll back",
12
+ dev: "Update",
13
+ resize: "Restart with new resources",
14
+ restore: "Restore a backup over",
15
+ connect: "Reinstall",
16
+ };
17
+ const IC_INVOCATION = /(?<![\w.$-])ic(?:\.exe)?["']?\s+sandbox\s+([a-z][a-z-]*)(?![\w-])/gi;
18
+ const DOCKER_INVOCATION = /(?<![\w.$-])(?:docker|podman)(?:\.exe)?["']?\s+(?:container\s+)?(stop|restart|rm|remove|kill)(?![\w-])/gi;
19
+ const IC_VERBS = new Map([
20
+ ["start", "start"],
21
+ ["stop", "stop"],
22
+ ["restart", "restart"],
23
+ ["sleep", "sleep"],
24
+ ["remove", "remove"],
25
+ ["rm", "remove"],
26
+ ["update", "update"],
27
+ ["prepare", "prepare"],
28
+ ["rebuild", "rebuild"],
29
+ ["rollback", "rollback"],
30
+ ["dev", "dev"],
31
+ ["reshape", "resize"],
32
+ ["shape", "resize"],
33
+ ["backup-restore", "restore"],
34
+ ["connect", "connect"],
35
+ ]);
36
+ const DOCKER_VERBS = new Map([
37
+ ["stop", "stop"],
38
+ ["kill", "stop"],
39
+ ["restart", "restart"],
40
+ ["rm", "remove"],
41
+ ["remove", "remove"],
42
+ ]);
43
+ const IC_VALUE_FLAGS = new Set([
44
+ "--channel",
45
+ "--to",
46
+ "--set",
47
+ "--when",
48
+ "--memory",
49
+ "--cpus",
50
+ "--privileged",
51
+ "--gpus",
52
+ "--idle",
53
+ "--source",
54
+ "--code",
55
+ "--snapshot",
56
+ "--into",
57
+ "--confirm",
58
+ "--accept",
59
+ "--tail",
60
+ ]);
61
+ const DOCKER_VALUE_FLAGS = new Set(["-t", "--time", "-s", "--signal"]);
62
+ const SIMPLE_COMMAND = /^(?:[^|;&\n\r"']|(?<=[<>])&|"[^"]*"?|'[^']*'?)*/;
63
+ const WORD = /(?:[^\s"']|"[^"]*"?|'[^']*'?)+/g;
64
+ const REDIRECTION = /^\d*(?:>>?|<)/;
65
+ const BARE_REDIRECTION = /^\d*(?:>>?|<)$/;
66
+ const wordsOf = (text) => [...(SIMPLE_COMMAND.exec(text)?.[0] ?? "").matchAll(WORD)].map((word) => word[0].replace(/["']/g, ""));
67
+ const withoutRedirections = (words) => {
68
+ const kept = [];
69
+ let skipNext = false;
70
+ for (const word of words) {
71
+ if (skipNext) {
72
+ skipNext = false;
73
+ }
74
+ else if (BARE_REDIRECTION.test(word)) {
75
+ skipNext = true;
76
+ }
77
+ else if (!REDIRECTION.test(word)) {
78
+ kept.push(word);
79
+ }
80
+ }
81
+ return kept;
82
+ };
83
+ const operandsOf = (words, valueFlags) => {
84
+ const positionals = [];
85
+ const flags = new Map();
86
+ const list = withoutRedirections(words);
87
+ for (const [index, word] of list.entries()) {
88
+ const equals = word.indexOf("=");
89
+ if (!word.startsWith("-") || word === "-") {
90
+ if (!valueFlags.has(list[index - 1] ?? "")) {
91
+ positionals.push(word);
92
+ }
93
+ }
94
+ else if (word.startsWith("--") && equals !== -1) {
95
+ flags.set(word.slice(0, equals), word.slice(equals + 1));
96
+ }
97
+ else {
98
+ flags.set(word, valueFlags.has(word) ? list[index + 1] : undefined);
99
+ }
100
+ }
101
+ return { positionals, flags };
102
+ };
103
+ const icAim = (op, { positionals, flags }) => {
104
+ const all = flags.has("--all") || flags.has("-a");
105
+ if (op === "start" || op === "prepare") {
106
+ return { stops: false, targets: positionals, all };
107
+ }
108
+ if (op === "resize") {
109
+ const when = flags.get("--when");
110
+ const saves = flags.has("--later") || flags.has("--forget") || (when !== undefined && when !== "now");
111
+ return { stops: !saves, targets: positionals, all };
112
+ }
113
+ if (op === "restore") {
114
+ const into = flags.get("--into");
115
+ return into === undefined ? { stops: false, targets: [], all: false } : { stops: true, targets: [into], all: false };
116
+ }
117
+ if (op === "connect") {
118
+ return { stops: flags.has("--replace"), targets: [], all: false };
119
+ }
120
+ return { stops: true, targets: positionals, all };
121
+ };
122
+ export const sandboxPowerCommands = (command) => {
123
+ const regions = inertRegions(command);
124
+ const found = [];
125
+ for (const invocation of command.matchAll(IC_INVOCATION)) {
126
+ const op = IC_VERBS.get((invocation[1] ?? "").toLowerCase());
127
+ if (op !== undefined) {
128
+ const span = { start: invocation.index, end: invocation.index + invocation[0].length };
129
+ const aim = icAim(op, operandsOf(wordsOf(command.slice(span.end)), IC_VALUE_FLAGS));
130
+ found.push({ via: "ic", op, stops: aim.stops, targets: aim.targets, unnamed: aim.targets.length === 0 || aim.all, span, live: isLive(span, regions) });
131
+ }
132
+ }
133
+ for (const invocation of command.matchAll(DOCKER_INVOCATION)) {
134
+ const op = DOCKER_VERBS.get((invocation[1] ?? "").toLowerCase());
135
+ if (op !== undefined) {
136
+ const span = { start: invocation.index, end: invocation.index + invocation[0].length };
137
+ const { positionals } = operandsOf(wordsOf(command.slice(span.end)), DOCKER_VALUE_FLAGS);
138
+ found.push({ via: "docker", op, stops: true, targets: positionals, unnamed: positionals.length === 0, span, live: isLive(span, regions) });
139
+ }
140
+ }
141
+ return found.toSorted((left, right) => left.span.start - right.span.start);
142
+ };
143
+ const isExpansion = (word) => /[$`*?%]|^\(/.test(word);
144
+ export const mayReachSandbox = (hit, own) => hit.unnamed || hit.targets.some((target) => target === own.slug || target === own.container || isExpansion(target));
145
+ export const managesSandbox = (hit, containerPrefix) => hit.via === "ic" || hit.targets.some((target) => target.startsWith(containerPrefix));
146
+ //# sourceMappingURL=sandbox-power.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-power.js","sourceRoot":"","sources":["../../src/policy/sandbox-power.ts"],"names":[],"mappings":"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"}
@@ -111,6 +111,42 @@ export declare const RunnerSummarySchema: z.ZodObject<{
111
111
  }, z.core.$strip>>>;
112
112
  }, z.core.$strip>;
113
113
  export type RunnerSummary = z.infer<typeof RunnerSummarySchema>;
114
+ export declare const RunnersListSchema: z.ZodObject<{
115
+ runners: z.ZodArray<z.ZodObject<{
116
+ id: z.ZodString;
117
+ host: z.ZodOptional<z.ZodString>;
118
+ online: z.ZodBoolean;
119
+ version: z.ZodOptional<z.ZodString>;
120
+ image: z.ZodOptional<z.ZodString>;
121
+ channel: z.ZodOptional<z.ZodString>;
122
+ overlayHash: z.ZodOptional<z.ZodString>;
123
+ facts: z.ZodOptional<z.ZodObject<{
124
+ cpus: z.ZodNumber;
125
+ memoryMb: z.ZodNumber;
126
+ freeDiskMb: z.ZodNumber;
127
+ load: z.ZodNumber;
128
+ memoryFreeMb: z.ZodOptional<z.ZodNumber>;
129
+ memoryLimitMb: z.ZodOptional<z.ZodNumber>;
130
+ cpuPressure: z.ZodOptional<z.ZodNumber>;
131
+ memoryStall: z.ZodOptional<z.ZodNumber>;
132
+ }, z.core.$strip>>;
133
+ lastSeen: z.ZodOptional<z.ZodNumber>;
134
+ parity: z.ZodEnum<{
135
+ current: "current";
136
+ outdated: "outdated";
137
+ unknown: "unknown";
138
+ }>;
139
+ drift: z.ZodOptional<z.ZodArray<z.ZodObject<{
140
+ subject: z.ZodString;
141
+ detail: z.ZodString;
142
+ }, z.core.$strip>>>;
143
+ }, z.core.$strip>>;
144
+ }, z.core.$strip>;
145
+ export type RunnersList = z.infer<typeof RunnersListSchema>;
146
+ export declare const RunnerDefinitionAppliedSchema: z.ZodObject<{
147
+ settings: z.ZodArray<z.ZodString>;
148
+ }, z.core.$strip>;
149
+ export type RunnerDefinitionApplied = z.infer<typeof RunnerDefinitionAppliedSchema>;
114
150
  export declare const RunnerSyncSchema: z.ZodObject<{
115
151
  op: z.ZodEnum<{
116
152
  pull: "pull";
@@ -1 +1 @@
1
- {"version":3,"file":"runner-protocol.d.ts","sourceRoot":"","sources":["../../../src/protocol/doors/runner-protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner-protocol.d.ts","sourceRoot":"","sources":["../../../src/protocol/doors/runner-protocol.ts"],"names":[],"mappings":"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"}
@@ -73,6 +73,8 @@ export const RunnerSummarySchema = z.object({
73
73
  parity: RunnerParitySchema,
74
74
  drift: z.array(NeedsActionSchema).optional(),
75
75
  });
76
+ export const RunnersListSchema = z.object({ runners: z.array(RunnerSummarySchema) });
77
+ export const RunnerDefinitionAppliedSchema = z.object({ settings: z.array(z.string()) });
76
78
  export const RunnerSyncSchema = z.object({
77
79
  op: z.enum(["pull", "push"]),
78
80
  conversationId: z.string().min(1),
@@ -1 +1 @@
1
- {"version":3,"file":"runner-protocol.js","sourceRoot":"","sources":["../../../src/protocol/doors/runner-protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner-protocol.js","sourceRoot":"","sources":["../../../src/protocol/doors/runner-protocol.ts"],"names":[],"mappings":"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"}