opencode-swarm 7.192.1 → 7.192.3
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/.opencode/skills/critic-gate/SKILL.md +2 -1
- package/.opencode/skills/execute/SKILL.md +1 -1
- package/README.md +5 -3
- package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
- package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
- package/dist/agents/critic.d.ts +2 -2
- package/dist/cli/{auto-checkpoint-kkakqktp.js → auto-checkpoint-8c7hpz0z.js} +8 -8
- package/dist/cli/{capability-probe-3mgxcfr9.js → capability-probe-rty1315z.js} +1 -1
- package/dist/cli/{checkpoint-cefw75xe.js → checkpoint-98h7ftn4.js} +16 -16
- package/dist/cli/{coder-settlement-tgdjczyp.js → coder-settlement-0nhsjfh1.js} +12 -12
- package/dist/cli/{config-doctor-sns7gbj2.js → config-doctor-ah661gsm.js} +15 -15
- package/dist/cli/{core-q8xvp8bw.js → core-eyk369jx.js} +3 -3
- package/dist/cli/{curation-policy-2q5xs0xg.js → curation-policy-yzdznz4z.js} +6 -6
- package/dist/cli/{curator-drift-1n3akmda.js → curator-drift-k6f7mnj5.js} +8 -8
- package/dist/cli/curator-llm-factory-9g9p90jz.js +82 -0
- package/dist/cli/{curator-mgdsxrpv.js → curator-t9cwtz64.js} +43 -43
- package/dist/cli/{doctor-knowledge-receipt-phase-id-33bp8fcs.js → doctor-knowledge-receipt-phase-id-dwygxv2m.js} +8 -8
- package/dist/cli/{evidence-summary-service-sb888pg8.js → evidence-summary-service-b9xq092m.js} +19 -19
- package/dist/cli/{gate-evidence-rmk87c6m.js → gate-evidence-g3qpsr62.js} +7 -7
- package/dist/cli/guardrail-explain-784a2m4p.js +83 -0
- package/dist/cli/{guardrail-log-d18dcweh.js → guardrail-log-b862hykr.js} +7 -7
- package/dist/cli/{guardrail-reset-1xeeetk7.js → guardrail-reset-avehjarw.js} +43 -43
- package/dist/cli/{hive-promoter-44grgbq4.js → hive-promoter-0zv095rz.js} +43 -43
- package/dist/cli/{index-cje7tt58.js → index-043r3t12.js} +1 -1
- package/dist/cli/{index-b79a8pc2.js → index-04knttpn.js} +2 -2
- package/dist/cli/{index-xjqa26fs.js → index-0e1nxkte.js} +1 -1
- package/dist/cli/{index-63v3gmgr.js → index-1n7sf9gz.js} +2 -2
- package/dist/cli/{index-km4x7yfb.js → index-31bd6hrm.js} +11 -11
- package/dist/cli/{index-95hc7xn4.js → index-3bst6f3c.js} +3 -3
- package/dist/cli/{index-edk2sgse.js → index-4bpnf2eg.js} +2 -2
- package/dist/cli/{index-w52xyp9v.js → index-4e8xcgkx.js} +2 -2
- package/dist/cli/{index-advcaree.js → index-4g39c948.js} +4 -4
- package/dist/cli/{index-k6h66zm3.js → index-4twjbsfw.js} +2 -2
- package/dist/cli/{index-xw19x0t7.js → index-5dws7eyb.js} +1 -1
- package/dist/cli/{index-t0se5zwe.js → index-5gy5dc2n.js} +2 -2
- package/dist/cli/{index-vt8hk0pt.js → index-5m64x65w.js} +244 -106
- package/dist/cli/{index-af3nmk6c.js → index-5mrvx2vm.js} +7 -7
- package/dist/cli/{index-v3bmeqqh.js → index-6a4t4p4p.js} +12 -7
- package/dist/cli/{index-f32hs2vt.js → index-83swjsyd.js} +4 -4
- package/dist/cli/{index-nb1c3342.js → index-8z8cj2rz.js} +7 -7
- package/dist/cli/{index-ga1pcs49.js → index-8zj647hc.js} +1 -1
- package/dist/cli/{index-d4cjbm4p.js → index-a9m7h5v0.js} +2 -2
- package/dist/cli/{index-fsm9gv1p.js → index-aqvsxjwn.js} +43 -43
- package/dist/cli/{index-pkgbrrn7.js → index-azr0092e.js} +1 -1
- package/dist/cli/{index-ysazjncb.js → index-b67200rm.js} +6 -6
- package/dist/cli/{index-ajp4dabz.js → index-b7nb6c0p.js} +5 -5
- package/dist/cli/{index-6shk3n43.js → index-bccf3c0h.js} +2 -2
- package/dist/cli/{index-kvtwwj8b.js → index-bgzpw6ge.js} +1 -1
- package/dist/cli/{index-vf6pqke0.js → index-bxtyg46p.js} +45 -45
- package/dist/cli/{index-sgxbqba0.js → index-bzfn85kq.js} +119 -55
- package/dist/cli/{index-r3gphy10.js → index-cme96pja.js} +5 -5
- package/dist/cli/{index-4cm1p2kj.js → index-dt4cjxbz.js} +1 -1
- package/dist/cli/{index-f6e44xh2.js → index-dtet46e6.js} +7 -7
- package/dist/cli/{index-8bx6vhzk.js → index-e8k0v19e.js} +1 -1
- package/dist/cli/{index-mhqh2dc9.js → index-eaess7dm.js} +1 -1
- package/dist/cli/{index-yfmgbhwz.js → index-ef0tgsgj.js} +20 -6
- package/dist/cli/{index-0yrsvwdf.js → index-f6am4ypq.js} +6 -6
- package/dist/cli/{index-ejfmgkt0.js → index-fayfa263.js} +3 -3
- package/dist/cli/{index-bwh9196c.js → index-fzcr2s01.js} +7 -7
- package/dist/cli/{index-t433r606.js → index-fzqn2kk8.js} +2 -2
- package/dist/cli/{index-jdw63xyd.js → index-g7vd2azv.js} +2 -2
- package/dist/cli/{index-28zgn6sm.js → index-g8jd3h4r.js} +2 -2
- package/dist/cli/{index-2wps5fec.js → index-hmgx2bsy.js} +3 -3
- package/dist/cli/{index-9b6bxe9b.js → index-mbn4vn3z.js} +1 -1
- package/dist/cli/{index-7vnr5cmp.js → index-mtqwyjrg.js} +1 -1
- package/dist/cli/{index-867d9dhf.js → index-nd4kkbjw.js} +3 -3
- package/dist/cli/{index-025wg2re.js → index-nwswxes7.js} +3 -3
- package/dist/cli/{index-s81tvz98.js → index-pq5962z7.js} +3 -3
- package/dist/cli/{index-ney8qpg3.js → index-rhjzq6kw.js} +1 -1
- package/dist/cli/{index-3txrbsa1.js → index-yc8v81ab.js} +4 -4
- package/dist/cli/{index-50b8f6qz.js → index-zdt5m9n2.js} +4 -4
- package/dist/cli/index.d.ts +2 -2
- package/dist/cli/index.js +60 -54
- package/dist/cli/{knowledge-escalator-naq700x5.js → knowledge-escalator-y879xx4c.js} +14 -14
- package/dist/cli/{knowledge-events-mmh5cya6.js → knowledge-events-07vpvmmr.js} +12 -12
- package/dist/cli/{knowledge-link-76egdqc9.js → knowledge-link-a5tvjqdt.js} +5 -5
- package/dist/cli/{knowledge-store-9dxr9jb9.js → knowledge-store-wae6s3ef.js} +6 -6
- package/dist/cli/{knowledge-validator-eze3s6fn.js → knowledge-validator-v13cjze1.js} +8 -8
- package/dist/cli/{mcp-1x2tpk71.js → mcp-5ns32ees.js} +1 -1
- package/dist/cli/{model-preflight-hgb7kf5d.js → model-preflight-06jexzsa.js} +43 -43
- package/dist/cli/{pending-delegations-zg4q1k5q.js → pending-delegations-8g7nne79.js} +12 -12
- package/dist/cli/{pr-subscriptions-zw8aev5s.js → pr-subscriptions-yp71fzeb.js} +12 -12
- package/dist/cli/{pr-workflow-gate-dcbpd451.js → pr-workflow-gate-rcfwt8jd.js} +43 -43
- package/dist/cli/{runner-y529qa4d.js → runner-8qybgy4n.js} +6 -6
- package/dist/cli/{scan-cursor-pdxmndd0.js → scan-cursor-9xqrqgbs.js} +7 -7
- package/dist/cli/{schema-hzz32642.js → schema-qxgn4xzy.js} +1 -1
- package/dist/cli/{scope-persistence-h4b6p951.js → scope-persistence-9dscq6a2.js} +15 -15
- package/dist/cli/{server-7gd7tqt5.js → server-v1s76pa3.js} +43 -43
- package/dist/cli/{skill-generator-7g7sca90.js → skill-generator-yjeam2kn.js} +16 -16
- package/dist/cli/{snapshot-coordination-init-4q5ykq22.js → snapshot-coordination-init-jqkew1cw.js} +43 -43
- package/dist/cli/{speckit-checkoff-5bfxs8r7.js → speckit-checkoff-atm1ftz7.js} +4 -4
- package/dist/cli/{telemetry-9szfdfqv.js → telemetry-qaymh4gg.js} +1 -1
- package/dist/cli/{workspace-snapshot-nre732xt.js → workspace-snapshot-vfpnxjsp.js} +3 -3
- package/dist/cli/{worktree-collision-ownership-327d06qw.js → worktree-collision-ownership-ftg1bnx6.js} +13 -13
- package/dist/cli/{worktree-isolation-zqzs3wkk.js → worktree-isolation-ttqkatgg.js} +49 -43
- package/dist/commands/turbo.d.ts +4 -3
- package/dist/config/constants.d.ts +2 -2
- package/dist/config/plan-schema.d.ts +16 -0
- package/dist/epic/phase-readiness.d.ts +4 -2
- package/dist/evaluation/ephemeral-agent-dispatcher.d.ts +11 -0
- package/dist/failures/provider-message-error.d.ts +32 -0
- package/dist/hooks/delegation-gate/worktree-isolation.d.ts +40 -0
- package/dist/hooks/delegation-gate.d.ts +13 -0
- package/dist/hooks/extractors.d.ts +2 -0
- package/dist/hooks/guardrails/index.d.ts +2 -0
- package/dist/hooks/guardrails/parallel-gate-attribution.d.ts +10 -0
- package/dist/index.js +415 -412
- package/dist/plan/ledger.d.ts +21 -3
- package/dist/sandbox/linux/bubblewrap-executor.d.ts +24 -0
- package/dist/services/skill-optimizer/store.d.ts +2 -2
- package/dist/tools/phase-complete.d.ts +4 -0
- package/dist/turbo/lean/runner.d.ts +2 -0
- package/opencode-swarm.schema.json +1 -1
- package/package.json +1 -1
- package/dist/cli/curator-llm-factory-tfn0cp68.js +0 -82
- package/dist/cli/guardrail-explain-n9ndp99q.js +0 -83
|
@@ -1047,7 +1047,7 @@ async function _createExecutor() {
|
|
|
1047
1047
|
return null;
|
|
1048
1048
|
}
|
|
1049
1049
|
async function _createLinuxExecutor() {
|
|
1050
|
-
const { SandboxCapabilityProbe: SandboxCapabilityProbe2, isBubblewrapAvailable } = await import("./capability-probe-
|
|
1050
|
+
const { SandboxCapabilityProbe: SandboxCapabilityProbe2, isBubblewrapAvailable } = await import("./capability-probe-rty1315z.js");
|
|
1051
1051
|
await new SandboxCapabilityProbe2().detect();
|
|
1052
1052
|
if (!isBubblewrapAvailable()) {
|
|
1053
1053
|
return null;
|
|
@@ -1067,7 +1067,7 @@ async function _createMacOSExecutor() {
|
|
|
1067
1067
|
}
|
|
1068
1068
|
return null;
|
|
1069
1069
|
}
|
|
1070
|
-
const { SandboxCapabilityProbe: SandboxCapabilityProbe2, isSandboxExecAvailable } = await import("./capability-probe-
|
|
1070
|
+
const { SandboxCapabilityProbe: SandboxCapabilityProbe2, isSandboxExecAvailable } = await import("./capability-probe-rty1315z.js");
|
|
1071
1071
|
await new SandboxCapabilityProbe2().detect();
|
|
1072
1072
|
if (!isSandboxExecAvailable()) {
|
|
1073
1073
|
return null;
|
|
@@ -1080,7 +1080,7 @@ async function _createMacOSExecutor() {
|
|
|
1080
1080
|
}
|
|
1081
1081
|
}
|
|
1082
1082
|
async function _createWindowsExecutor() {
|
|
1083
|
-
const { SandboxCapabilityProbe: SandboxCapabilityProbe2, isWindowsSandboxAvailable } = await import("./capability-probe-
|
|
1083
|
+
const { SandboxCapabilityProbe: SandboxCapabilityProbe2, isWindowsSandboxAvailable } = await import("./capability-probe-rty1315z.js");
|
|
1084
1084
|
await new SandboxCapabilityProbe2().detect();
|
|
1085
1085
|
if (!isWindowsSandboxAvailable()) {
|
|
1086
1086
|
return null;
|
|
@@ -1111,6 +1111,7 @@ var init_executor = __esm(() => {
|
|
|
1111
1111
|
// src/sandbox/linux/bubblewrap-executor.ts
|
|
1112
1112
|
import { spawnSync as spawnSync4 } from "child_process";
|
|
1113
1113
|
import { existsSync as existsSync3 } from "fs";
|
|
1114
|
+
import { tmpdir as tmpdir5 } from "os";
|
|
1114
1115
|
function resolveBwrapBinary() {
|
|
1115
1116
|
try {
|
|
1116
1117
|
if (existsSync3(BWRAP_ABSOLUTE)) {
|
|
@@ -1119,10 +1120,84 @@ function resolveBwrapBinary() {
|
|
|
1119
1120
|
} catch {}
|
|
1120
1121
|
return "bwrap";
|
|
1121
1122
|
}
|
|
1123
|
+
function shellQuote(s) {
|
|
1124
|
+
return `'${shellEscape2(s)}'`;
|
|
1125
|
+
}
|
|
1126
|
+
function buildBwrapArgs(input) {
|
|
1127
|
+
const { quote } = input;
|
|
1128
|
+
const roBindArgs = input.readonlyRoots.flatMap((p) => [
|
|
1129
|
+
"--ro-bind",
|
|
1130
|
+
quote(p),
|
|
1131
|
+
quote(p)
|
|
1132
|
+
]);
|
|
1133
|
+
const bindArgs = input.scopes.flatMap((p) => ["--bind", quote(p), quote(p)]);
|
|
1134
|
+
const args = [
|
|
1135
|
+
"--unshare-user",
|
|
1136
|
+
"--unshare-ipc",
|
|
1137
|
+
"--die-with-parent",
|
|
1138
|
+
"--new-session",
|
|
1139
|
+
"--cap-drop",
|
|
1140
|
+
"ALL",
|
|
1141
|
+
...roBindArgs,
|
|
1142
|
+
...bindArgs,
|
|
1143
|
+
"--dev",
|
|
1144
|
+
"/dev",
|
|
1145
|
+
"--size",
|
|
1146
|
+
String(TMPFS_SIZE_BYTES),
|
|
1147
|
+
"--tmpfs",
|
|
1148
|
+
quote(input.temp),
|
|
1149
|
+
"--ro-bind",
|
|
1150
|
+
"/etc",
|
|
1151
|
+
"/etc",
|
|
1152
|
+
"--ro-bind",
|
|
1153
|
+
"/usr",
|
|
1154
|
+
"/usr",
|
|
1155
|
+
"--ro-bind",
|
|
1156
|
+
"/lib",
|
|
1157
|
+
"/lib",
|
|
1158
|
+
"--ro-bind",
|
|
1159
|
+
"/lib64",
|
|
1160
|
+
"/lib64",
|
|
1161
|
+
"--proc",
|
|
1162
|
+
"/proc",
|
|
1163
|
+
"--unshare-pid",
|
|
1164
|
+
...input.envArgs,
|
|
1165
|
+
"--",
|
|
1166
|
+
"bash",
|
|
1167
|
+
"-c",
|
|
1168
|
+
quote(input.command)
|
|
1169
|
+
];
|
|
1170
|
+
if ((input.networkMode ?? "off") === "off") {
|
|
1171
|
+
args.splice(1, 0, "--unshare-net");
|
|
1172
|
+
}
|
|
1173
|
+
return args;
|
|
1174
|
+
}
|
|
1175
|
+
function probeBwrapNamespace(binary) {
|
|
1176
|
+
try {
|
|
1177
|
+
const result = spawnSync4(binary, [...BWRAP_NAMESPACE_SMOKE_ARGS], {
|
|
1178
|
+
cwd: tmpdir5(),
|
|
1179
|
+
windowsHide: true,
|
|
1180
|
+
encoding: "utf-8",
|
|
1181
|
+
timeout: 5000,
|
|
1182
|
+
stdio: ["ignore", "ignore", "pipe"]
|
|
1183
|
+
});
|
|
1184
|
+
if (!result.error && result.status === 0)
|
|
1185
|
+
return { ok: true };
|
|
1186
|
+
const reason = result.error?.message ?? (result.stderr?.trim().split(`
|
|
1187
|
+
`)[0] || `exit ${result.status}`);
|
|
1188
|
+
return { ok: false, reason };
|
|
1189
|
+
} catch (err) {
|
|
1190
|
+
return {
|
|
1191
|
+
ok: false,
|
|
1192
|
+
reason: err instanceof Error ? err.message : String(err)
|
|
1193
|
+
};
|
|
1194
|
+
}
|
|
1195
|
+
}
|
|
1122
1196
|
function probeBwrap() {
|
|
1123
1197
|
try {
|
|
1124
1198
|
const binary = _internals4.resolveBwrapBinary();
|
|
1125
1199
|
const result = spawnSync4(binary, ["--version"], {
|
|
1200
|
+
cwd: tmpdir5(),
|
|
1126
1201
|
windowsHide: true,
|
|
1127
1202
|
encoding: "utf-8",
|
|
1128
1203
|
timeout: 5000,
|
|
@@ -1137,7 +1212,15 @@ function probeBwrap() {
|
|
|
1137
1212
|
warn(`Sandbox disabled: bwrap spawn error (${result.error.message}). Falling through to tool-layer enforcement.`);
|
|
1138
1213
|
return false;
|
|
1139
1214
|
}
|
|
1140
|
-
|
|
1215
|
+
if (result.status !== BWRAP_VERSION_EXIT || result.stdout.trim().length === 0) {
|
|
1216
|
+
return false;
|
|
1217
|
+
}
|
|
1218
|
+
const smoke = _internals4.probeBwrapNamespace(binary);
|
|
1219
|
+
if (!smoke.ok) {
|
|
1220
|
+
warn(`Sandbox disabled: bwrap cannot create a sandbox on this host (${smoke.reason}). ` + "Unprivileged user namespaces may be restricted (Ubuntu 24.04+: " + "kernel.apparmor_restrict_unprivileged_userns=1). Falling through to tool-layer enforcement.");
|
|
1221
|
+
return false;
|
|
1222
|
+
}
|
|
1223
|
+
return true;
|
|
1141
1224
|
} catch (err) {
|
|
1142
1225
|
const message = err instanceof Error ? err.message : String(err);
|
|
1143
1226
|
warn(`Sandbox disabled: probe threw (${message}). Falling through to tool-layer enforcement.`);
|
|
@@ -1190,16 +1273,6 @@ class BubblewrapSandboxExecutor {
|
|
|
1190
1273
|
const readonlyRoots = [
|
|
1191
1274
|
...new Set((policy?.readonly_roots ?? []).filter((p) => typeof p === "string" && p.startsWith("/") && p !== "/"))
|
|
1192
1275
|
];
|
|
1193
|
-
const roBindArgs = readonlyRoots.flatMap((p) => [
|
|
1194
|
-
"--ro-bind",
|
|
1195
|
-
`'${shellEscape2(p)}'`,
|
|
1196
|
-
`'${shellEscape2(p)}'`
|
|
1197
|
-
]);
|
|
1198
|
-
const bindArgs = allScopes.flatMap((p) => [
|
|
1199
|
-
"--bind",
|
|
1200
|
-
`'${shellEscape2(p)}'`,
|
|
1201
|
-
`'${shellEscape2(p)}'`
|
|
1202
|
-
]);
|
|
1203
1276
|
const envArgs = [];
|
|
1204
1277
|
if (envOverrides) {
|
|
1205
1278
|
for (const [key, value] of Object.entries(envOverrides)) {
|
|
@@ -1209,49 +1282,19 @@ class BubblewrapSandboxExecutor {
|
|
|
1209
1282
|
if (value === null) {
|
|
1210
1283
|
envArgs.push("--unsetenv", key);
|
|
1211
1284
|
} else {
|
|
1212
|
-
envArgs.push("--setenv", key,
|
|
1285
|
+
envArgs.push("--setenv", key, shellQuote(value));
|
|
1213
1286
|
}
|
|
1214
1287
|
}
|
|
1215
1288
|
}
|
|
1216
|
-
const args =
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
"--dev",
|
|
1226
|
-
"/dev",
|
|
1227
|
-
"--size",
|
|
1228
|
-
String(TMPFS_SIZE_BYTES),
|
|
1229
|
-
"--tmpfs",
|
|
1230
|
-
`'${shellEscape2(temp)}'`,
|
|
1231
|
-
"--ro-bind",
|
|
1232
|
-
"/etc",
|
|
1233
|
-
"/etc",
|
|
1234
|
-
"--ro-bind",
|
|
1235
|
-
"/usr",
|
|
1236
|
-
"/usr",
|
|
1237
|
-
"--ro-bind",
|
|
1238
|
-
"/lib",
|
|
1239
|
-
"/lib",
|
|
1240
|
-
"--ro-bind",
|
|
1241
|
-
"/lib64",
|
|
1242
|
-
"/lib64",
|
|
1243
|
-
"--proc",
|
|
1244
|
-
"/proc",
|
|
1245
|
-
"--unshare-pid",
|
|
1246
|
-
...envArgs,
|
|
1247
|
-
"--",
|
|
1248
|
-
"bash",
|
|
1249
|
-
"-c",
|
|
1250
|
-
`'${shellEscape2(command)}'`
|
|
1251
|
-
];
|
|
1252
|
-
if ((policy?.network_mode ?? "off") === "off") {
|
|
1253
|
-
args.splice(1, 0, "--unshare-net");
|
|
1254
|
-
}
|
|
1289
|
+
const args = buildBwrapArgs({
|
|
1290
|
+
quote: shellQuote,
|
|
1291
|
+
temp,
|
|
1292
|
+
readonlyRoots,
|
|
1293
|
+
scopes: allScopes,
|
|
1294
|
+
envArgs,
|
|
1295
|
+
networkMode: policy?.network_mode,
|
|
1296
|
+
command
|
|
1297
|
+
});
|
|
1255
1298
|
const binary = _internals4.resolveBwrapBinary();
|
|
1256
1299
|
return `${binary} ${args.join(" ")}`;
|
|
1257
1300
|
}
|
|
@@ -1259,13 +1302,23 @@ class BubblewrapSandboxExecutor {
|
|
|
1259
1302
|
return {};
|
|
1260
1303
|
}
|
|
1261
1304
|
}
|
|
1262
|
-
var BWRAP_VERSION_EXIT = 0, BWRAP_UNAVAILABLE_CODES, BWRAP_ABSOLUTE = "/usr/bin/bwrap", TMPFS_SIZE_BYTES = 524288000, _internals4;
|
|
1305
|
+
var BWRAP_VERSION_EXIT = 0, BWRAP_UNAVAILABLE_CODES, BWRAP_ABSOLUTE = "/usr/bin/bwrap", TMPFS_SIZE_BYTES = 524288000, BWRAP_NAMESPACE_SMOKE_ARGS, _internals4;
|
|
1263
1306
|
var init_bubblewrap_executor = __esm(() => {
|
|
1264
1307
|
init_logger();
|
|
1265
1308
|
init_executor();
|
|
1266
1309
|
BWRAP_UNAVAILABLE_CODES = new Set(["ENOENT", "EACCES", "ENOSPC"]);
|
|
1310
|
+
BWRAP_NAMESPACE_SMOKE_ARGS = buildBwrapArgs({
|
|
1311
|
+
quote: (value) => value,
|
|
1312
|
+
temp: "/tmp",
|
|
1313
|
+
readonlyRoots: [],
|
|
1314
|
+
scopes: [],
|
|
1315
|
+
envArgs: [],
|
|
1316
|
+
networkMode: "off",
|
|
1317
|
+
command: "true"
|
|
1318
|
+
});
|
|
1267
1319
|
_internals4 = {
|
|
1268
1320
|
probeBwrap,
|
|
1321
|
+
probeBwrapNamespace,
|
|
1269
1322
|
resolveBwrapBinary
|
|
1270
1323
|
};
|
|
1271
1324
|
});
|
|
@@ -1604,6 +1657,17 @@ async function probeLinux() {
|
|
|
1604
1657
|
const binary = _internals4.resolveBwrapBinary();
|
|
1605
1658
|
const output = await _internals5.withProbeTimeout(binary, ["--version"], 2000);
|
|
1606
1659
|
if (output.length > 0) {
|
|
1660
|
+
try {
|
|
1661
|
+
await _internals5.withProbeTimeout(binary, [...BWRAP_NAMESPACE_SMOKE_ARGS], 2000);
|
|
1662
|
+
} catch (smokeError) {
|
|
1663
|
+
const detail = smokeError instanceof Error ? smokeError.message : String(smokeError);
|
|
1664
|
+
return {
|
|
1665
|
+
status: "disabled",
|
|
1666
|
+
mechanism: "Bubblewrap",
|
|
1667
|
+
platform: "linux",
|
|
1668
|
+
error: `bwrap cannot create a sandbox on this host (unprivileged user namespaces may be restricted): ${detail}`
|
|
1669
|
+
};
|
|
1670
|
+
}
|
|
1607
1671
|
return {
|
|
1608
1672
|
status: "enabled",
|
|
1609
1673
|
strength: "strong",
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
computePlanStructureHash
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-ef0tgsgj.js";
|
|
5
5
|
import {
|
|
6
6
|
appendCoreEventSync
|
|
7
|
-
} from "./index-
|
|
7
|
+
} from "./index-a9m7h5v0.js";
|
|
8
8
|
import {
|
|
9
9
|
deleteCoordinationState,
|
|
10
10
|
importCoordinationOnce,
|
|
@@ -12,10 +12,10 @@ import {
|
|
|
12
12
|
transitionCoordinationState,
|
|
13
13
|
transitionCoordinationStateWithinTransaction,
|
|
14
14
|
withCoordinationTransaction
|
|
15
|
-
} from "./index-
|
|
15
|
+
} from "./index-mbn4vn3z.js";
|
|
16
16
|
import {
|
|
17
17
|
getProjectDb
|
|
18
|
-
} from "./index-
|
|
18
|
+
} from "./index-8zj647hc.js";
|
|
19
19
|
import {
|
|
20
20
|
canonicalExistingFilesystemPath,
|
|
21
21
|
legacyCanonicalExistingFilesystemPath
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
import {
|
|
33
33
|
atomicWriteSwarmFile,
|
|
34
34
|
atomicWriteSwarmFileSync
|
|
35
|
-
} from "./index-
|
|
35
|
+
} from "./index-nwswxes7.js";
|
|
36
36
|
import {
|
|
37
37
|
PlanSchema
|
|
38
38
|
} from "./index-gx2vp8gx.js";
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
validateSwarmPath
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-eaess7dm.js";
|
|
5
5
|
import {
|
|
6
6
|
deleteCoordinationState,
|
|
7
7
|
importCoordinationOnce,
|
|
8
8
|
listCoordinationStates,
|
|
9
9
|
transitionCoordinationState,
|
|
10
10
|
withCoordinationTransaction
|
|
11
|
-
} from "./index-
|
|
11
|
+
} from "./index-mbn4vn3z.js";
|
|
12
12
|
import {
|
|
13
13
|
getProjectDb,
|
|
14
14
|
projectDbExists
|
|
15
|
-
} from "./index-
|
|
15
|
+
} from "./index-8zj647hc.js";
|
|
16
16
|
import {
|
|
17
17
|
observeStoreHealth
|
|
18
|
-
} from "./index-
|
|
18
|
+
} from "./index-4twjbsfw.js";
|
|
19
19
|
import {
|
|
20
20
|
withEvidenceLock
|
|
21
|
-
} from "./index-
|
|
21
|
+
} from "./index-e8k0v19e.js";
|
|
22
22
|
import {
|
|
23
23
|
telemetry
|
|
24
|
-
} from "./index-
|
|
24
|
+
} from "./index-mtqwyjrg.js";
|
|
25
25
|
import {
|
|
26
26
|
canonicalRootKey,
|
|
27
27
|
canonicalRootKeyFresh,
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
} from "./index-fzpt2djt.js";
|
|
30
30
|
import {
|
|
31
31
|
atomicWriteSwarmFileSync
|
|
32
|
-
} from "./index-
|
|
32
|
+
} from "./index-nwswxes7.js";
|
|
33
33
|
import {
|
|
34
34
|
exports_external,
|
|
35
35
|
init_zod
|
|
@@ -4,20 +4,20 @@ import {
|
|
|
4
4
|
projectDbExists,
|
|
5
5
|
withImmediateTransaction,
|
|
6
6
|
withProjectDbReadOnly
|
|
7
|
-
} from "./index-
|
|
7
|
+
} from "./index-8zj647hc.js";
|
|
8
8
|
import {
|
|
9
9
|
derivePlanId,
|
|
10
10
|
derivePlanIdentityHash
|
|
11
11
|
} from "./index-7pmbnjvj.js";
|
|
12
12
|
import {
|
|
13
13
|
withEvidenceLock
|
|
14
|
-
} from "./index-
|
|
14
|
+
} from "./index-e8k0v19e.js";
|
|
15
15
|
import {
|
|
16
16
|
assertProjectRoot
|
|
17
17
|
} from "./index-t7hmqgjy.js";
|
|
18
18
|
import {
|
|
19
19
|
emit
|
|
20
|
-
} from "./index-
|
|
20
|
+
} from "./index-mtqwyjrg.js";
|
|
21
21
|
import {
|
|
22
22
|
ExecutionProfileSchema,
|
|
23
23
|
PlanSchema,
|
|
@@ -27,11 +27,11 @@ import {
|
|
|
27
27
|
import {
|
|
28
28
|
init_loader,
|
|
29
29
|
loadPluginConfig
|
|
30
|
-
} from "./index-
|
|
30
|
+
} from "./index-rhjzq6kw.js";
|
|
31
31
|
import {
|
|
32
32
|
init_package,
|
|
33
33
|
package_default
|
|
34
|
-
} from "./index-
|
|
34
|
+
} from "./index-04knttpn.js";
|
|
35
35
|
import {
|
|
36
36
|
criticalWarn,
|
|
37
37
|
init_logger,
|
|
@@ -1976,6 +1976,20 @@ async function loadLastApprovedPlan(directory, expectedPlanId) {
|
|
|
1976
1976
|
const integrity = await readLedgerEventsWithIntegrity(directory);
|
|
1977
1977
|
return findLastApprovedSnapshot(integrity.events, expectedPlanId);
|
|
1978
1978
|
}
|
|
1979
|
+
function approvedSnapshotCoversPlan(approved, plan) {
|
|
1980
|
+
const current = computePlanStructureHash(plan);
|
|
1981
|
+
if (approved.payloadHash === current)
|
|
1982
|
+
return true;
|
|
1983
|
+
if (approved.plan.current_phase === plan.current_phase)
|
|
1984
|
+
return false;
|
|
1985
|
+
if (computePlanStructureHash(approved.plan) !== approved.payloadHash) {
|
|
1986
|
+
return false;
|
|
1987
|
+
}
|
|
1988
|
+
return computePlanStructureHash({
|
|
1989
|
+
...approved.plan,
|
|
1990
|
+
current_phase: plan.current_phase
|
|
1991
|
+
}) === current;
|
|
1992
|
+
}
|
|
1979
1993
|
async function loadLastPlanCriticApprovedSnapshot(directory, expectedPlanId) {
|
|
1980
1994
|
const integrity = await readLedgerEventsWithIntegrity(directory);
|
|
1981
1995
|
return findLastApprovedSnapshot(integrity.events, expectedPlanId, (payload) => payload.approval?.source === "plan_critic_gate");
|
|
@@ -2050,4 +2064,4 @@ var _internals = {
|
|
|
2050
2064
|
randomUUID: () => crypto.randomUUID()
|
|
2051
2065
|
};
|
|
2052
2066
|
|
|
2053
|
-
export { renderPlanningProfileDirective, resolvePlanningProfile, normalizeExecutionProfileForHash, LedgerStaleWriterError, computePlanLedgerHash, computePlanStructureHash, computeCurrentPlanHash, ledgerExists, getLatestLedgerSeq, readLedgerEvents, initLedger, readPlanEpochIdentity, getOrAdoptPlanEpochUnderLock, appendLedgerEvent, takeSnapshotWithRetry, takeSnapshotEvent, replaceTruncatedLedgerWithRecoveryRoot, clearPlanLedgerForReset, replacePlanLedgerWithRoot, replayFromLedger, peekPlanFromLedger, replayFromLedgerWithStatus, readLedgerEventsWithIntegrity, loadLastApprovedPlan, loadLastPlanCriticApprovedSnapshot };
|
|
2067
|
+
export { renderPlanningProfileDirective, resolvePlanningProfile, normalizeExecutionProfileForHash, LedgerStaleWriterError, computePlanLedgerHash, computePlanStructureHash, computeCurrentPlanHash, ledgerExists, getLatestLedgerSeq, readLedgerEvents, initLedger, readPlanEpochIdentity, getOrAdoptPlanEpochUnderLock, appendLedgerEvent, takeSnapshotWithRetry, takeSnapshotEvent, replaceTruncatedLedgerWithRecoveryRoot, clearPlanLedgerForReset, replacePlanLedgerWithRoot, replayFromLedger, peekPlanFromLedger, replayFromLedgerWithStatus, readLedgerEventsWithIntegrity, loadLastApprovedPlan, approvedSnapshotCoversPlan, loadLastPlanCriticApprovedSnapshot };
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import {
|
|
3
3
|
readKnowledgeEvents,
|
|
4
4
|
recordKnowledgeEvent
|
|
5
|
-
} from "./index-
|
|
5
|
+
} from "./index-4g39c948.js";
|
|
6
6
|
import {
|
|
7
7
|
queryHistoricalOutcomes
|
|
8
|
-
} from "./index-
|
|
8
|
+
} from "./index-6a4t4p4p.js";
|
|
9
9
|
import {
|
|
10
10
|
jaccardBigram,
|
|
11
11
|
readKnowledge,
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
resolveSwarmKnowledgePath,
|
|
14
14
|
transactKnowledge,
|
|
15
15
|
wordBigrams
|
|
16
|
-
} from "./index-
|
|
16
|
+
} from "./index-5mrvx2vm.js";
|
|
17
17
|
import {
|
|
18
18
|
init_knowledge_types,
|
|
19
19
|
isActiveStatus
|
|
@@ -226,11 +226,11 @@ async function maybeQuarantineOnContradiction(directory, entryId, threshold, win
|
|
|
226
226
|
alreadyInactive: true
|
|
227
227
|
};
|
|
228
228
|
}
|
|
229
|
-
const { quarantineEntry } = await import("./knowledge-validator-
|
|
229
|
+
const { quarantineEntry } = await import("./knowledge-validator-v13cjze1.js");
|
|
230
230
|
let policyConfig;
|
|
231
231
|
try {
|
|
232
|
-
const { KnowledgeConfigSchema } = await import("./schema-
|
|
233
|
-
const { loadPluginConfigWithMeta } = await import("./index-
|
|
232
|
+
const { KnowledgeConfigSchema } = await import("./schema-qxgn4xzy.js");
|
|
233
|
+
const { loadPluginConfigWithMeta } = await import("./index-pq5962z7.js");
|
|
234
234
|
const { config: loadedConfig } = loadPluginConfigWithMeta(directory);
|
|
235
235
|
policyConfig = KnowledgeConfigSchema.parse(loadedConfig.knowledge ?? {});
|
|
236
236
|
} catch {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
validateSwarmPath
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-eaess7dm.js";
|
|
5
5
|
import {
|
|
6
6
|
bunSpawn
|
|
7
7
|
} from "./index-2s7dvzff.js";
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
} from "./index-fzpt2djt.js";
|
|
11
11
|
import {
|
|
12
12
|
atomicWriteSwarmFileSync
|
|
13
|
-
} from "./index-
|
|
13
|
+
} from "./index-nwswxes7.js";
|
|
14
14
|
import {
|
|
15
15
|
advisoryWarn,
|
|
16
16
|
init_git_executable,
|
|
@@ -242,7 +242,7 @@ var _internals2 = {
|
|
|
242
242
|
symlinkSync: fs2.symlinkSync
|
|
243
243
|
},
|
|
244
244
|
writeScopeToDisk: async (directory, taskId, files) => {
|
|
245
|
-
const { writeScopeToDisk: realWrite } = await import("./scope-persistence-
|
|
245
|
+
const { writeScopeToDisk: realWrite } = await import("./scope-persistence-9dscq6a2.js");
|
|
246
246
|
return realWrite(directory, taskId, files);
|
|
247
247
|
},
|
|
248
248
|
writeLaneProfileToDisk: async (_worktreePath, _laneIndex, _envOverrides) => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
validateSwarmPath
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-eaess7dm.js";
|
|
5
5
|
import {
|
|
6
6
|
bunWrite
|
|
7
7
|
} from "./index-2s7dvzff.js";
|
|
@@ -18,21 +18,21 @@ import {
|
|
|
18
18
|
releaseCoordinationLease,
|
|
19
19
|
transitionCoordinationState,
|
|
20
20
|
withCoordinationTransaction
|
|
21
|
-
} from "./index-
|
|
21
|
+
} from "./index-mbn4vn3z.js";
|
|
22
22
|
import {
|
|
23
23
|
getProjectDb,
|
|
24
24
|
projectDbExists
|
|
25
|
-
} from "./index-
|
|
25
|
+
} from "./index-8zj647hc.js";
|
|
26
26
|
import {
|
|
27
27
|
observeDelegationLedgerPressure
|
|
28
|
-
} from "./index-
|
|
28
|
+
} from "./index-4twjbsfw.js";
|
|
29
29
|
import {
|
|
30
30
|
EvidenceLockTimeoutError,
|
|
31
31
|
withEvidenceLock
|
|
32
|
-
} from "./index-
|
|
32
|
+
} from "./index-e8k0v19e.js";
|
|
33
33
|
import {
|
|
34
34
|
telemetry
|
|
35
|
-
} from "./index-
|
|
35
|
+
} from "./index-mtqwyjrg.js";
|
|
36
36
|
import {
|
|
37
37
|
canonicalRootKeyFresh,
|
|
38
38
|
sameProjectRoot
|
|
@@ -4735,7 +4735,7 @@ async function reconcileLegacyCoderSettlements(directory, maxRecords, onReconcil
|
|
|
4735
4735
|
const candidates = readDelegations(directory).filter((record) => record.normalizedAgent === "coder" && Boolean(record.legacyCoderSettlementTransfer) && Boolean(record.terminalResult)).slice(0, maxRecords);
|
|
4736
4736
|
if (candidates.length === 0)
|
|
4737
4737
|
return 0;
|
|
4738
|
-
const { transferCoderSettlementToBackground } = await import("./coder-settlement-
|
|
4738
|
+
const { transferCoderSettlementToBackground } = await import("./coder-settlement-0nhsjfh1.js");
|
|
4739
4739
|
let transferred = 0;
|
|
4740
4740
|
for (const record of candidates) {
|
|
4741
4741
|
try {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
validateSwarmPath
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-eaess7dm.js";
|
|
5
5
|
import {
|
|
6
6
|
bunSpawn
|
|
7
7
|
} from "./index-2s7dvzff.js";
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
} from "./index-fzpt2djt.js";
|
|
12
12
|
import {
|
|
13
13
|
atomicWriteSwarmFile
|
|
14
|
-
} from "./index-
|
|
14
|
+
} from "./index-nwswxes7.js";
|
|
15
15
|
import {
|
|
16
16
|
init_git_executable,
|
|
17
17
|
resolveGitExecutable
|
|
@@ -5,11 +5,11 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
atomicWriteFileAnyRoot,
|
|
7
7
|
atomicWriteSwarmFileSync
|
|
8
|
-
} from "./index-
|
|
8
|
+
} from "./index-nwswxes7.js";
|
|
9
9
|
import {
|
|
10
10
|
init_loader,
|
|
11
11
|
loadPluginConfig
|
|
12
|
-
} from "./index-
|
|
12
|
+
} from "./index-rhjzq6kw.js";
|
|
13
13
|
import {
|
|
14
14
|
init_logger,
|
|
15
15
|
log,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
validateSwarmPath
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-eaess7dm.js";
|
|
5
5
|
import {
|
|
6
6
|
atomicWriteSwarmFileSync
|
|
7
|
-
} from "./index-
|
|
7
|
+
} from "./index-nwswxes7.js";
|
|
8
8
|
|
|
9
9
|
// src/hooks/delegation-gate/worktree-provisioning-owner.ts
|
|
10
10
|
import { createHash } from "crypto";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
readEffectiveSpecSync
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-azr0092e.js";
|
|
5
5
|
import {
|
|
6
6
|
readSwarmFileAsync
|
|
7
|
-
} from "./index-
|
|
7
|
+
} from "./index-eaess7dm.js";
|
|
8
8
|
import {
|
|
9
9
|
DURABILITY_CLASSES,
|
|
10
10
|
DbWriteError,
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
classifyDbWriteError,
|
|
14
14
|
getProjectDb,
|
|
15
15
|
projectDbExists
|
|
16
|
-
} from "./index-
|
|
16
|
+
} from "./index-8zj647hc.js";
|
|
17
17
|
import {
|
|
18
18
|
_internals,
|
|
19
19
|
canonicalRootKeyFresh
|
|
@@ -761,7 +761,7 @@ var CATALOG_SOURCE = [
|
|
|
761
761
|
category: "plan",
|
|
762
762
|
severity: "error",
|
|
763
763
|
privacyClass: "sensitive",
|
|
764
|
-
producer: "src/plan/ledger.ts:
|
|
764
|
+
producer: "src/plan/ledger.ts:1623",
|
|
765
765
|
consumers: NO_CONSUMERS,
|
|
766
766
|
futureOwnerIssue: ISSUE_SINK,
|
|
767
767
|
retentionOwnerIssue: ISSUE_PLAN_EVIDENCE_RETENTION,
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
observeStoreHealth
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-4twjbsfw.js";
|
|
5
5
|
import {
|
|
6
6
|
telemetry
|
|
7
|
-
} from "./index-
|
|
7
|
+
} from "./index-mtqwyjrg.js";
|
|
8
8
|
import {
|
|
9
9
|
init_schema,
|
|
10
10
|
stripKnownSwarmPrefix
|
|
11
|
-
} from "./index-
|
|
11
|
+
} from "./index-04knttpn.js";
|
|
12
12
|
import {
|
|
13
13
|
init_constants
|
|
14
14
|
} from "./index-py8wpe81.js";
|
|
@@ -245,9 +245,9 @@ var SWARM_TEMP_GRAMMARS = [
|
|
|
245
245
|
"src/hooks/review-receipt.ts:894",
|
|
246
246
|
"src/knowledge/identity.ts:234",
|
|
247
247
|
"src/evidence/phase-participation.ts (pre-#2035; migrated-to=src/evidence/phase-participation.ts:atomicWriteBytes)",
|
|
248
|
-
"src/turbo/lean/integration.ts:
|
|
248
|
+
"src/turbo/lean/integration.ts:429",
|
|
249
249
|
"src/turbo/lean/reviewer.ts:403",
|
|
250
|
-
"src/plan/ledger.ts:
|
|
250
|
+
"src/plan/ledger.ts:1474",
|
|
251
251
|
"src/services/synonym-map.ts:389",
|
|
252
252
|
"src/services/skill-optimizer/store.ts:340",
|
|
253
253
|
"src/services/skill-optimizer/store.ts:503",
|
|
@@ -422,7 +422,7 @@ var SWARM_TEMP_GRAMMARS = [
|
|
|
422
422
|
"src/hooks/skill-usage-pending.ts:817",
|
|
423
423
|
"src/parallel/file-locks.ts:113",
|
|
424
424
|
"src/plan/ledger.ts:607",
|
|
425
|
-
"src/plan/ledger.ts:
|
|
425
|
+
"src/plan/ledger.ts:1796"
|
|
426
426
|
],
|
|
427
427
|
note: "constant-name temps: reported when stale, never auto-quarantined. file-locks meta sidecars live under the scanner-skipped .swarm/locks/ subtree; the ledger reconcile temp embeds instance tokens but its .tmp-suffix shape maps here (conservatively report-only)"
|
|
428
428
|
}
|