opencode-swarm 7.122.0 → 7.122.1

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 (63) hide show
  1. package/dist/cli/{config-doctor-404c8mf8.js → config-doctor-3ksh1534.js} +2 -2
  2. package/dist/cli/{core-xnwasfpc.js → core-cwgb7ev8.js} +1 -1
  3. package/dist/cli/{curation-policy-cj1tpzr5.js → curation-policy-4j4qce5a.js} +5 -5
  4. package/dist/cli/{curator-llm-factory-8rg0f77t.js → curator-llm-factory-x769hn66.js} +22 -20
  5. package/dist/cli/{curator-3rze3pd4.js → curator-qfh07497.js} +22 -20
  6. package/dist/cli/{evidence-summary-service-k14ykm03.js → evidence-summary-service-96ndczbk.js} +7 -5
  7. package/dist/cli/{gate-evidence-tbpezk28.js → gate-evidence-xqks3kk2.js} +3 -3
  8. package/dist/cli/{guardrail-explain-hdsxa2c5.js → guardrail-explain-kj0e9r25.js} +23 -21
  9. package/dist/cli/{guardrail-log-dhpp0kmn.js → guardrail-log-z291m4gw.js} +3 -3
  10. package/dist/cli/{hive-promoter-dh38qd9m.js → hive-promoter-00mktxkk.js} +22 -20
  11. package/dist/cli/{index-zvae4m8g.js → index-17eybc3z.js} +1 -1
  12. package/dist/cli/{index-kyvg2cmp.js → index-19zn67q6.js} +1 -1
  13. package/dist/cli/{index-rbfq77sz.js → index-2j25br0p.js} +12 -10
  14. package/dist/cli/{index-9xpgytj9.js → index-3rr0ese8.js} +1 -1
  15. package/dist/cli/{index-gr7ssnj9.js → index-5he0kwnx.js} +3 -3
  16. package/dist/cli/{index-68aggz0v.js → index-6srk9a5q.js} +2 -2
  17. package/dist/cli/{index-qg11yf8q.js → index-6xnxz6z0.js} +1 -1
  18. package/dist/cli/{index-emkb0bbe.js → index-7cspygmb.js} +277 -673
  19. package/dist/cli/{index-3r1w7xky.js → index-cqsak7bf.js} +2 -2
  20. package/dist/cli/index-ctpgsj84.js +547 -0
  21. package/dist/cli/index-d6h5hq91.js +564 -0
  22. package/dist/cli/{index-vqcgmy4y.js → index-det5jwfk.js} +1 -1
  23. package/dist/cli/{index-3sx27bxt.js → index-dywekeen.js} +3 -3
  24. package/dist/cli/{index-wtn8wf7h.js → index-gw3m5fw0.js} +1 -1
  25. package/dist/cli/{index-rkd6qwjh.js → index-hns7xjm7.js} +2 -2
  26. package/dist/cli/{index-xdsj4qtd.js → index-j9kxwshw.js} +5 -5
  27. package/dist/cli/{index-jzpv74mq.js → index-jm81nhks.js} +24 -22
  28. package/dist/cli/{index-ahxrne50.js → index-kanrv3sv.js} +160 -58
  29. package/dist/cli/{index-j33zb3cx.js → index-m0bmh3w0.js} +4 -4
  30. package/dist/cli/index-m1abzg93.js +68 -0
  31. package/dist/cli/{index-ny13nr0x.js → index-n2712byd.js} +6 -6
  32. package/dist/cli/{index-3jvqw5hy.js → index-q27bajqb.js} +1 -1
  33. package/dist/cli/{index-qt2yaghg.js → index-vcgfqd8f.js} +1 -63
  34. package/dist/cli/{index-tftv9xh9.js → index-wr8qgpz5.js} +1 -1
  35. package/dist/cli/index.js +22 -20
  36. package/dist/cli/{knowledge-escalator-sya06p12.js → knowledge-escalator-dyxsm78k.js} +6 -6
  37. package/dist/cli/{knowledge-events-xzps61a9.js → knowledge-events-36q6nvae.js} +4 -4
  38. package/dist/cli/{knowledge-link-sy85fw3w.js → knowledge-link-4yd2z8ev.js} +3 -3
  39. package/dist/cli/{knowledge-store-qg66a93n.js → knowledge-store-e07b4s54.js} +4 -4
  40. package/dist/cli/{knowledge-validator-gar6wv4f.js → knowledge-validator-sfyf7wn2.js} +7 -7
  41. package/dist/cli/pr-subscriptions-x653151h.js +1 -1
  42. package/dist/cli/{scan-cursor-nx5y5k7r.js → scan-cursor-hm0aqqae.js} +5 -5
  43. package/dist/cli/{schema-vwxpsk6j.js → schema-13bnng2n.js} +1 -1
  44. package/dist/cli/scope-persistence-d9erwnvb.js +36 -0
  45. package/dist/cli/{skill-generator-nt5qxafq.js → skill-generator-g6r52x94.js} +8 -8
  46. package/dist/config/constants.d.ts +3 -2
  47. package/dist/hooks/delegation-gate.d.ts +19 -1
  48. package/dist/hooks/guardrails/nontransient-circuit.d.ts +47 -0
  49. package/dist/hooks/scope-guard.d.ts +9 -2
  50. package/dist/hooks/write-target-resolver.d.ts +30 -0
  51. package/dist/index.js +405 -369
  52. package/dist/sandbox/win32/restricted-environment-executor.d.ts +3 -2
  53. package/dist/scope/scope-binding.d.ts +89 -0
  54. package/dist/scope/scope-persistence.d.ts +53 -12
  55. package/dist/state.d.ts +25 -1
  56. package/dist/tools/declare-scope.d.ts +5 -1
  57. package/dist/tools/file-extractor-planner.d.ts +31 -0
  58. package/dist/tools/file-extractor.d.ts +2 -7
  59. package/package.json +1 -1
  60. package/dist/cli/index-51gg9947.js +0 -254
  61. package/dist/cli/scope-persistence-mfr36yc9.js +0 -20
  62. package/dist/cli/{index-h07wn84h.js → index-7mkpsw6g.js} +3 -3
  63. package/dist/cli/{pending-delegations-0z3znsec.js → pending-delegations-68cbaqv2.js} +1 -1
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  authorizeCuration
4
- } from "./index-3r1w7xky.js";
4
+ } from "./index-cqsak7bf.js";
5
5
  import {
6
6
  findNearDuplicate,
7
7
  inferTags,
@@ -9,17 +9,17 @@ import {
9
9
  resolveSwarmKnowledgePath,
10
10
  resolveSwarmRejectedPath,
11
11
  transactKnowledge
12
- } from "./index-ny13nr0x.js";
12
+ } from "./index-n2712byd.js";
13
13
  import {
14
14
  resolveKnowledgeStoreDir
15
- } from "./index-3jvqw5hy.js";
15
+ } from "./index-q27bajqb.js";
16
16
  import {
17
17
  init_logger,
18
18
  warn
19
19
  } from "./index-zgwm4ryv.js";
20
20
  import {
21
21
  atomicWriteFile
22
- } from "./index-h07wn84h.js";
22
+ } from "./index-7mkpsw6g.js";
23
23
  import {
24
24
  require_proper_lockfile
25
25
  } from "./index-7g4c7s5r.js";
@@ -0,0 +1,68 @@
1
+ // @bun
2
+ import {
3
+ exports_external
4
+ } from "./index-293f68mj.js";
5
+
6
+ // src/config/plan-schema.ts
7
+ var ExecutionProfileSchema = exports_external.object({
8
+ parallelization_enabled: exports_external.boolean().default(false),
9
+ max_concurrent_tasks: exports_external.number().int().min(1).max(64).default(10),
10
+ council_parallel: exports_external.boolean().default(true),
11
+ locked: exports_external.boolean().default(false),
12
+ auto_proceed: exports_external.boolean().default(false)
13
+ });
14
+ var TaskStatusSchema = exports_external.enum([
15
+ "pending",
16
+ "in_progress",
17
+ "completed",
18
+ "blocked",
19
+ "closed"
20
+ ]);
21
+ var TaskSizeSchema = exports_external.enum(["small", "medium", "large"]);
22
+ var PhaseStatusSchema = exports_external.enum([
23
+ "pending",
24
+ "in_progress",
25
+ "complete",
26
+ "completed",
27
+ "blocked",
28
+ "closed"
29
+ ]);
30
+ var MigrationStatusSchema = exports_external.enum([
31
+ "native",
32
+ "migrated",
33
+ "migration_failed"
34
+ ]);
35
+ var TaskSchema = exports_external.object({
36
+ id: exports_external.string(),
37
+ phase: exports_external.number().int().min(1),
38
+ status: TaskStatusSchema.default("pending"),
39
+ size: TaskSizeSchema.default("small"),
40
+ description: exports_external.string().min(1),
41
+ depends: exports_external.array(exports_external.string()).default([]),
42
+ acceptance: exports_external.string().optional(),
43
+ files_touched: exports_external.array(exports_external.string()).default([]),
44
+ evidence_path: exports_external.string().optional(),
45
+ blocked_reason: exports_external.string().optional(),
46
+ fr_refs: exports_external.array(exports_external.string()).optional()
47
+ });
48
+ var PhaseSchema = exports_external.object({
49
+ id: exports_external.number().int().min(1),
50
+ name: exports_external.string().min(1),
51
+ status: PhaseStatusSchema.default("pending"),
52
+ tasks: exports_external.array(TaskSchema).default([]),
53
+ type: exports_external.enum(["code", "non-code"]).optional(),
54
+ required_agents: exports_external.array(exports_external.string()).optional()
55
+ });
56
+ var PlanSchema = exports_external.object({
57
+ schema_version: exports_external.literal("1.0.0"),
58
+ title: exports_external.string().min(1),
59
+ swarm: exports_external.string().min(1),
60
+ current_phase: exports_external.number().int().min(1).optional(),
61
+ phases: exports_external.array(PhaseSchema).min(1),
62
+ migration_status: MigrationStatusSchema.optional(),
63
+ specMtime: exports_external.string().optional(),
64
+ specHash: exports_external.string().optional(),
65
+ execution_profile: ExecutionProfileSchema.optional()
66
+ });
67
+
68
+ export { ExecutionProfileSchema, TaskStatusSchema, TaskSizeSchema, PhaseStatusSchema, MigrationStatusSchema, TaskSchema, PhaseSchema, PlanSchema };
@@ -6,7 +6,7 @@ import {
6
6
  } from "./index-ae75rja9.js";
7
7
  import {
8
8
  resolveKnowledgeStoreDir
9
- } from "./index-3jvqw5hy.js";
9
+ } from "./index-q27bajqb.js";
10
10
  import {
11
11
  isActiveStatus
12
12
  } from "./index-4rhcth7a.js";
@@ -16,7 +16,7 @@ import {
16
16
  } from "./index-zgwm4ryv.js";
17
17
  import {
18
18
  atomicWriteFile
19
- } from "./index-h07wn84h.js";
19
+ } from "./index-7mkpsw6g.js";
20
20
  import {
21
21
  readCachedParsedFile
22
22
  } from "./index-fsrp8wp3.js";
@@ -647,7 +647,7 @@ async function applyConfidenceFloorAction(directory, touched, options) {
647
647
  const recovered = touched.filter((e) => e.confidence > CONFIDENCE_FLOOR + FLOOR_EPSILON && e.confidence_floor_demoted);
648
648
  if (atFloor.length === 0 && recovered.length === 0)
649
649
  return;
650
- const { readKnowledgeCounterRollups, effectiveRetrievalOutcomes } = await import("./knowledge-events-xzps61a9.js");
650
+ const { readKnowledgeCounterRollups, effectiveRetrievalOutcomes } = await import("./knowledge-events-36q6nvae.js");
651
651
  const rollups = await readKnowledgeCounterRollups(directory);
652
652
  const flagIds = new Set;
653
653
  for (const e of atFloor) {
@@ -714,11 +714,11 @@ async function applyConfidenceFloorAction(directory, touched, options) {
714
714
  });
715
715
  }
716
716
  if (action === "quarantine" && toQuarantine.length > 0) {
717
- const { quarantineEntry } = await import("./knowledge-validator-gar6wv4f.js");
718
- const { KnowledgeConfigSchema } = await import("./schema-vwxpsk6j.js");
717
+ const { quarantineEntry } = await import("./knowledge-validator-sfyf7wn2.js");
718
+ const { KnowledgeConfigSchema } = await import("./schema-13bnng2n.js");
719
719
  let config;
720
720
  try {
721
- const { loadPluginConfigWithMeta } = await import("./index-rbfq77sz.js");
721
+ const { loadPluginConfigWithMeta } = await import("./index-2j25br0p.js");
722
722
  const { config: loadedConfig } = loadPluginConfigWithMeta(directory);
723
723
  config = KnowledgeConfigSchema.parse(loadedConfig.knowledge ?? {});
724
724
  } catch {
@@ -5,7 +5,7 @@ import {
5
5
  } from "./index-zgwm4ryv.js";
6
6
  import {
7
7
  atomicWriteFile
8
- } from "./index-h07wn84h.js";
8
+ } from "./index-7mkpsw6g.js";
9
9
 
10
10
  // src/hooks/knowledge-link.ts
11
11
  import {
@@ -3,68 +3,6 @@ import {
3
3
  exports_external
4
4
  } from "./index-293f68mj.js";
5
5
 
6
- // src/config/plan-schema.ts
7
- var ExecutionProfileSchema = exports_external.object({
8
- parallelization_enabled: exports_external.boolean().default(false),
9
- max_concurrent_tasks: exports_external.number().int().min(1).max(64).default(10),
10
- council_parallel: exports_external.boolean().default(true),
11
- locked: exports_external.boolean().default(false),
12
- auto_proceed: exports_external.boolean().default(false)
13
- });
14
- var TaskStatusSchema = exports_external.enum([
15
- "pending",
16
- "in_progress",
17
- "completed",
18
- "blocked",
19
- "closed"
20
- ]);
21
- var TaskSizeSchema = exports_external.enum(["small", "medium", "large"]);
22
- var PhaseStatusSchema = exports_external.enum([
23
- "pending",
24
- "in_progress",
25
- "complete",
26
- "completed",
27
- "blocked",
28
- "closed"
29
- ]);
30
- var MigrationStatusSchema = exports_external.enum([
31
- "native",
32
- "migrated",
33
- "migration_failed"
34
- ]);
35
- var TaskSchema = exports_external.object({
36
- id: exports_external.string(),
37
- phase: exports_external.number().int().min(1),
38
- status: TaskStatusSchema.default("pending"),
39
- size: TaskSizeSchema.default("small"),
40
- description: exports_external.string().min(1),
41
- depends: exports_external.array(exports_external.string()).default([]),
42
- acceptance: exports_external.string().optional(),
43
- files_touched: exports_external.array(exports_external.string()).default([]),
44
- evidence_path: exports_external.string().optional(),
45
- blocked_reason: exports_external.string().optional(),
46
- fr_refs: exports_external.array(exports_external.string()).optional()
47
- });
48
- var PhaseSchema = exports_external.object({
49
- id: exports_external.number().int().min(1),
50
- name: exports_external.string().min(1),
51
- status: PhaseStatusSchema.default("pending"),
52
- tasks: exports_external.array(TaskSchema).default([]),
53
- type: exports_external.enum(["code", "non-code"]).optional(),
54
- required_agents: exports_external.array(exports_external.string()).optional()
55
- });
56
- var PlanSchema = exports_external.object({
57
- schema_version: exports_external.literal("1.0.0"),
58
- title: exports_external.string().min(1),
59
- swarm: exports_external.string().min(1),
60
- current_phase: exports_external.number().int().min(1).optional(),
61
- phases: exports_external.array(PhaseSchema).min(1),
62
- migration_status: MigrationStatusSchema.optional(),
63
- specMtime: exports_external.string().optional(),
64
- specHash: exports_external.string().optional(),
65
- execution_profile: ExecutionProfileSchema.optional()
66
- });
67
-
68
6
  // src/config/evidence-schema.ts
69
7
  var EVIDENCE_MAX_JSON_BYTES = 500 * 1024;
70
8
  var EVIDENCE_MAX_PATCH_BYTES = 5 * 1024 * 1024;
@@ -347,4 +285,4 @@ var EvidenceBundleSchema = exports_external.object({
347
285
  updated_at: exports_external.string().datetime()
348
286
  });
349
287
 
350
- export { ExecutionProfileSchema, TaskStatusSchema, TaskSizeSchema, PhaseStatusSchema, MigrationStatusSchema, TaskSchema, PhaseSchema, PlanSchema, EVIDENCE_MAX_JSON_BYTES, EVIDENCE_MAX_PATCH_BYTES, EVIDENCE_MAX_TASK_BYTES, EvidenceTypeSchema, EvidenceVerdictSchema, BaseEvidenceSchema, ReviewEvidenceSchema, TestEvidenceSchema, DiffEvidenceSchema, ApprovalEvidenceSchema, NoteEvidenceSchema, RetrospectiveEvidenceSchema, EvidenceSchema, EvidenceBundleSchema };
288
+ export { EVIDENCE_MAX_JSON_BYTES, EVIDENCE_MAX_PATCH_BYTES, EVIDENCE_MAX_TASK_BYTES, EvidenceTypeSchema, EvidenceVerdictSchema, BaseEvidenceSchema, ReviewEvidenceSchema, TestEvidenceSchema, DiffEvidenceSchema, ApprovalEvidenceSchema, NoteEvidenceSchema, RetrospectiveEvidenceSchema, EvidenceSchema, EvidenceBundleSchema };
@@ -1045,7 +1045,7 @@ function getCanonicalAgentRole(agentName, generatedAgentNames) {
1045
1045
  for (const role of CANONICAL_ROLES_LONGEST_FIRST) {
1046
1046
  for (const sep of SEPARATORS) {
1047
1047
  const suffix = sep + role;
1048
- if (normalized.endsWith(suffix)) {
1048
+ if (normalized.length > suffix.length && normalized.endsWith(suffix)) {
1049
1049
  return role;
1050
1050
  }
1051
1051
  }
package/dist/cli/index.js CHANGED
@@ -7,47 +7,49 @@ import {
7
7
  getPluginLockFilePaths,
8
8
  package_default,
9
9
  resolveCommand
10
- } from "./index-ahxrne50.js";
11
- import"./index-kyvg2cmp.js";
12
- import"./index-vqcgmy4y.js";
13
- import"./index-emkb0bbe.js";
10
+ } from "./index-kanrv3sv.js";
11
+ import"./index-19zn67q6.js";
12
+ import"./index-det5jwfk.js";
13
+ import"./index-7cspygmb.js";
14
14
  import"./index-4905hd2m.js";
15
15
  import"./index-nprawcc0.js";
16
- import"./index-gr7ssnj9.js";
17
- import"./index-xdsj4qtd.js";
18
- import"./index-rkd6qwjh.js";
16
+ import"./index-5he0kwnx.js";
17
+ import"./index-j9kxwshw.js";
18
+ import"./index-hns7xjm7.js";
19
19
  import"./index-vxv732ex.js";
20
20
  import"./index-c8s9a3zh.js";
21
21
  import"./index-816rkp4y.js";
22
22
  import"./index-22e127jw.js";
23
- import"./index-j33zb3cx.js";
24
- import"./index-3r1w7xky.js";
23
+ import"./index-m0bmh3w0.js";
24
+ import"./index-cqsak7bf.js";
25
25
  import"./index-rtry5xyf.js";
26
- import"./index-ny13nr0x.js";
27
- import"./index-3sx27bxt.js";
26
+ import"./index-n2712byd.js";
27
+ import"./index-dywekeen.js";
28
28
  import"./index-ae75rja9.js";
29
- import"./index-3jvqw5hy.js";
30
- import"./index-9xpgytj9.js";
31
- import"./index-qt2yaghg.js";
29
+ import"./index-q27bajqb.js";
30
+ import"./index-3rr0ese8.js";
31
+ import"./index-vcgfqd8f.js";
32
32
  import"./index-gnp9x6se.js";
33
33
  import {
34
34
  DEFAULT_AGENT_CONFIGS
35
- } from "./index-tftv9xh9.js";
35
+ } from "./index-wr8qgpz5.js";
36
36
  import"./index-4rhcth7a.js";
37
37
  import"./index-8fwhhayc.js";
38
38
  import"./index-q1exe2b3.js";
39
- import"./index-51gg9947.js";
40
- import"./index-wtn8wf7h.js";
39
+ import"./index-d6h5hq91.js";
40
+ import"./index-ctpgsj84.js";
41
+ import"./index-m1abzg93.js";
42
+ import"./index-gw3m5fw0.js";
41
43
  import"./index-ye3fndsw.js";
42
44
  import"./index-kzj3fp7c.js";
43
45
  import"./index-5e4e2hvv.js";
44
46
  import"./index-p0arc26j.js";
45
47
  import"./index-zgwm4ryv.js";
46
48
  import"./index-dqh3zhhc.js";
47
- import"./index-qg11yf8q.js";
48
- import"./index-h07wn84h.js";
49
- import"./index-76kvm9z5.js";
49
+ import"./index-6xnxz6z0.js";
50
+ import"./index-7mkpsw6g.js";
50
51
  import"./index-fsrp8wp3.js";
52
+ import"./index-76kvm9z5.js";
51
53
  import"./index-q2rrv0cy.js";
52
54
  import"./index-293f68mj.js";
53
55
  import"./index-7g4c7s5r.js";
@@ -8,16 +8,16 @@ import {
8
8
  maybeEscalateOnViolation,
9
9
  maybeQuarantineOnContradiction,
10
10
  readRecentEscalations
11
- } from "./index-xdsj4qtd.js";
12
- import"./index-ny13nr0x.js";
13
- import"./index-3sx27bxt.js";
11
+ } from "./index-j9kxwshw.js";
12
+ import"./index-n2712byd.js";
13
+ import"./index-dywekeen.js";
14
14
  import"./index-ae75rja9.js";
15
- import"./index-3jvqw5hy.js";
15
+ import"./index-q27bajqb.js";
16
16
  import"./index-4rhcth7a.js";
17
17
  import"./index-zgwm4ryv.js";
18
- import"./index-h07wn84h.js";
19
- import"./index-76kvm9z5.js";
18
+ import"./index-7mkpsw6g.js";
20
19
  import"./index-fsrp8wp3.js";
20
+ import"./index-76kvm9z5.js";
21
21
  import"./index-q2rrv0cy.js";
22
22
  import"./index-7g4c7s5r.js";
23
23
  import"./index-qe3v54nb.js";
@@ -26,13 +26,13 @@ import {
26
26
  resolveKnowledgeCounterBaselinePath,
27
27
  resolveKnowledgeEventsPath,
28
28
  resolveLegacyApplicationLogPath
29
- } from "./index-3sx27bxt.js";
29
+ } from "./index-dywekeen.js";
30
30
  import"./index-ae75rja9.js";
31
- import"./index-3jvqw5hy.js";
31
+ import"./index-q27bajqb.js";
32
32
  import"./index-zgwm4ryv.js";
33
- import"./index-h07wn84h.js";
34
- import"./index-76kvm9z5.js";
33
+ import"./index-7mkpsw6g.js";
35
34
  import"./index-fsrp8wp3.js";
35
+ import"./index-76kvm9z5.js";
36
36
  import"./index-q2rrv0cy.js";
37
37
  import"./index-7g4c7s5r.js";
38
38
  import"./index-qe3v54nb.js";
@@ -12,11 +12,11 @@ import {
12
12
  resolveLinkDir,
13
13
  sanitizeLinkId,
14
14
  writeLinkPointer
15
- } from "./index-3jvqw5hy.js";
15
+ } from "./index-q27bajqb.js";
16
16
  import"./index-zgwm4ryv.js";
17
- import"./index-h07wn84h.js";
18
- import"./index-76kvm9z5.js";
17
+ import"./index-7mkpsw6g.js";
19
18
  import"./index-fsrp8wp3.js";
19
+ import"./index-76kvm9z5.js";
20
20
  import"./index-q2rrv0cy.js";
21
21
  import"./index-7g4c7s5r.js";
22
22
  import"./index-qe3v54nb.js";
@@ -40,16 +40,16 @@ import {
40
40
  transactKnowledge,
41
41
  transactKnowledgeWithCas,
42
42
  wordBigrams
43
- } from "./index-ny13nr0x.js";
43
+ } from "./index-n2712byd.js";
44
44
  import {
45
45
  resolveHiveDataDir
46
46
  } from "./index-ae75rja9.js";
47
- import"./index-3jvqw5hy.js";
47
+ import"./index-q27bajqb.js";
48
48
  import"./index-4rhcth7a.js";
49
49
  import"./index-zgwm4ryv.js";
50
- import"./index-h07wn84h.js";
51
- import"./index-76kvm9z5.js";
50
+ import"./index-7mkpsw6g.js";
52
51
  import"./index-fsrp8wp3.js";
52
+ import"./index-76kvm9z5.js";
53
53
  import"./index-q2rrv0cy.js";
54
54
  import"./index-7g4c7s5r.js";
55
55
  import"./index-qe3v54nb.js";
@@ -23,18 +23,18 @@ import {
23
23
  validateLesson,
24
24
  validateSkillCandidatePath,
25
25
  validateSkillPath
26
- } from "./index-j33zb3cx.js";
27
- import"./index-3r1w7xky.js";
26
+ } from "./index-m0bmh3w0.js";
27
+ import"./index-cqsak7bf.js";
28
28
  import"./index-rtry5xyf.js";
29
- import"./index-ny13nr0x.js";
30
- import"./index-3sx27bxt.js";
29
+ import"./index-n2712byd.js";
30
+ import"./index-dywekeen.js";
31
31
  import"./index-ae75rja9.js";
32
- import"./index-3jvqw5hy.js";
32
+ import"./index-q27bajqb.js";
33
33
  import"./index-4rhcth7a.js";
34
34
  import"./index-zgwm4ryv.js";
35
- import"./index-h07wn84h.js";
36
- import"./index-76kvm9z5.js";
35
+ import"./index-7mkpsw6g.js";
37
36
  import"./index-fsrp8wp3.js";
37
+ import"./index-76kvm9z5.js";
38
38
  import"./index-q2rrv0cy.js";
39
39
  import"./index-7g4c7s5r.js";
40
40
  import"./index-qe3v54nb.js";
@@ -14,8 +14,8 @@ import"./index-kzj3fp7c.js";
14
14
  import"./index-5e4e2hvv.js";
15
15
  import"./index-p0arc26j.js";
16
16
  import"./index-zgwm4ryv.js";
17
- import"./index-76kvm9z5.js";
18
17
  import"./index-fsrp8wp3.js";
18
+ import"./index-76kvm9z5.js";
19
19
  import"./index-q2rrv0cy.js";
20
20
  import"./index-293f68mj.js";
21
21
  import"./index-7g4c7s5r.js";
@@ -4,15 +4,15 @@ import {
4
4
  alreadyCuratedThisGeneration,
5
5
  claimNextScanBatch,
6
6
  getScanStatus
7
- } from "./index-rkd6qwjh.js";
8
- import"./index-ny13nr0x.js";
7
+ } from "./index-hns7xjm7.js";
8
+ import"./index-n2712byd.js";
9
9
  import"./index-ae75rja9.js";
10
- import"./index-3jvqw5hy.js";
10
+ import"./index-q27bajqb.js";
11
11
  import"./index-4rhcth7a.js";
12
12
  import"./index-zgwm4ryv.js";
13
- import"./index-h07wn84h.js";
14
- import"./index-76kvm9z5.js";
13
+ import"./index-7mkpsw6g.js";
15
14
  import"./index-fsrp8wp3.js";
15
+ import"./index-76kvm9z5.js";
16
16
  import"./index-q2rrv0cy.js";
17
17
  import"./index-7g4c7s5r.js";
18
18
  import"./index-qe3v54nb.js";
@@ -87,7 +87,7 @@ import {
87
87
  resolveGeneratedAgentRole,
88
88
  resolveGuardrailsConfig,
89
89
  stripKnownSwarmPrefix
90
- } from "./index-tftv9xh9.js";
90
+ } from "./index-wr8qgpz5.js";
91
91
  import"./index-4rhcth7a.js";
92
92
  import"./index-p0arc26j.js";
93
93
  import"./index-293f68mj.js";
@@ -0,0 +1,36 @@
1
+ // @bun
2
+ import {
3
+ clearAllScopes,
4
+ clearScopeBindingFromDisk,
5
+ clearScopeForTask,
6
+ readPlanScope,
7
+ readScopeBindingFromDisk,
8
+ readScopeFromDisk,
9
+ resolveAuthorizedScopeBinding,
10
+ resolveAuthorizedScopeBindingForSession,
11
+ resolveScopeWithFallbacks,
12
+ writeScopeBindingToDisk,
13
+ writeScopeToDisk
14
+ } from "./index-d6h5hq91.js";
15
+ import"./index-ctpgsj84.js";
16
+ import"./index-m1abzg93.js";
17
+ import"./index-zgwm4ryv.js";
18
+ import"./index-76kvm9z5.js";
19
+ import"./index-q2rrv0cy.js";
20
+ import"./index-293f68mj.js";
21
+ import"./index-7g4c7s5r.js";
22
+ import"./index-qe3v54nb.js";
23
+ import"./index-a76rekgs.js";
24
+ export {
25
+ writeScopeToDisk,
26
+ writeScopeBindingToDisk,
27
+ resolveScopeWithFallbacks,
28
+ resolveAuthorizedScopeBindingForSession,
29
+ resolveAuthorizedScopeBinding,
30
+ readScopeFromDisk,
31
+ readScopeBindingFromDisk,
32
+ readPlanScope,
33
+ clearScopeForTask,
34
+ clearScopeBindingFromDisk,
35
+ clearAllScopes
36
+ };
@@ -33,20 +33,20 @@ import {
33
33
  sanitizeSlug,
34
34
  selectCandidateEntries,
35
35
  writeEvalStub
36
- } from "./index-gr7ssnj9.js";
37
- import"./index-j33zb3cx.js";
38
- import"./index-3r1w7xky.js";
36
+ } from "./index-5he0kwnx.js";
37
+ import"./index-m0bmh3w0.js";
38
+ import"./index-cqsak7bf.js";
39
39
  import"./index-rtry5xyf.js";
40
- import"./index-ny13nr0x.js";
41
- import"./index-3sx27bxt.js";
40
+ import"./index-n2712byd.js";
41
+ import"./index-dywekeen.js";
42
42
  import"./index-ae75rja9.js";
43
- import"./index-3jvqw5hy.js";
43
+ import"./index-q27bajqb.js";
44
44
  import"./index-4rhcth7a.js";
45
45
  import"./index-ye3fndsw.js";
46
46
  import"./index-zgwm4ryv.js";
47
- import"./index-h07wn84h.js";
48
- import"./index-76kvm9z5.js";
47
+ import"./index-7mkpsw6g.js";
49
48
  import"./index-fsrp8wp3.js";
49
+ import"./index-76kvm9z5.js";
50
50
  import"./index-q2rrv0cy.js";
51
51
  import"./index-7g4c7s5r.js";
52
52
  import"./index-qe3v54nb.js";
@@ -24,8 +24,9 @@ export declare const SKILL_AGENT_TOOL_MAP: Partial<Record<AgentName, ToolName[]>
24
24
  /**
25
25
  * Canonical set of tool names that write/modify file contents.
26
26
  * Used by scope-guard.ts and guardrails.ts to detect write operations.
27
- * NOTE: bash/shell tools are intentionally excluded bash commands are opaque
28
- * to static scope analysis. Post-hoc detection via guardrails diff-scope provides secondary coverage.
27
+ * NOTE: bash/shell tools are intentionally excluded from this direct-write set.
28
+ * Their detected write targets are analyzed separately by shell-write-detect before
29
+ * execution; an unresolvable detected target fails closed instead of gaining authority here.
29
30
  */
30
31
  export declare const WRITE_TOOL_NAMES: readonly ["write", "edit", "patch", "apply_patch", "swarm_apply_patch", "create_file", "insert", "replace", "append", "prepend", "extract_code_blocks"];
31
32
  export type WriteToolName = (typeof WRITE_TOOL_NAMES)[number];
@@ -22,7 +22,19 @@ import { _internals as _wtiInternals } from './delegation-gate/worktree-isolatio
22
22
  * that cleanup, a `/swarm close` followed by a new session with a colliding
23
23
  * taskId (e.g. "1.1") would inherit stale scope from the previous swarm.
24
24
  */
25
- export declare const pendingCoderScopeByTaskId: Map<string, string[]>;
25
+ declare class BoundedPendingScopeMap extends Map<string, string[]> {
26
+ private readonly expiresAtByKey;
27
+ private sweepExpired;
28
+ set(key: string, value: string[]): this;
29
+ get(key: string): string[] | undefined;
30
+ has(key: string): boolean;
31
+ delete(key: string): boolean;
32
+ clear(): void;
33
+ }
34
+ /** @deprecated Compatibility-only test fixture; never consulted by production. */
35
+ export declare const pendingCoderScopeByTaskId: BoundedPendingScopeMap;
36
+ export declare function setPendingCoderScope(directory: string, taskId: string, files: string[]): void;
37
+ export declare function getPendingCoderScope(directory: string, taskId: string): string[] | null;
26
38
  /**
27
39
  * v6.70.0 gap-closure: clears the pending coder-scope map. Exported as a
28
40
  * helper (rather than importing the map directly from state.ts) to avoid the
@@ -293,4 +305,10 @@ export declare function createDelegationGateHook(config: PluginConfig, directory
293
305
  callID: string;
294
306
  args?: Record<string, unknown>;
295
307
  }, output: unknown) => Promise<void>;
308
+ taskMetadata: (input: {
309
+ callID: string;
310
+ parentSessionID: string;
311
+ childSessionID: string;
312
+ }) => Promise<void>;
313
+ sessionEnded: (sessionID: string, includeOwnedChildren?: boolean) => void;
296
314
  };
@@ -0,0 +1,47 @@
1
+ import { type NonTransientCircuitState, type NonTransientErrorCategory, type PendingToolExecution } from '../../state';
2
+ export type ToolOutcome = {
3
+ kind: 'success';
4
+ signal: string;
5
+ } | {
6
+ kind: 'neutral';
7
+ signal: string;
8
+ } | {
9
+ kind: 'unknown';
10
+ signal: string;
11
+ } | {
12
+ kind: 'failure';
13
+ signal: string;
14
+ } | {
15
+ kind: 'fatal';
16
+ category: NonTransientErrorCategory;
17
+ signal: string;
18
+ };
19
+ type ToolAfterInput = {
20
+ tool: string;
21
+ sessionID: string;
22
+ callID: string;
23
+ args?: Record<string, unknown>;
24
+ };
25
+ type ToolAfterOutput = {
26
+ title: string;
27
+ output: string;
28
+ metadata: unknown;
29
+ [key: string]: unknown;
30
+ };
31
+ declare function isNeutralExitOne(command: string): boolean;
32
+ declare function classifyFatalSignal(signal: string, sandboxWrapped: boolean): NonTransientErrorCategory | null;
33
+ export declare function classifyToolOutcome(input: ToolAfterInput, output: ToolAfterOutput, correlation?: PendingToolExecution): ToolOutcome;
34
+ export declare function recordNonTransientFailure(sessionID: string, category: NonTransientErrorCategory, signal: string): NonTransientCircuitState | null;
35
+ export declare function clearNonTransientCircuit(sessionID: string): void;
36
+ export declare function nonTransientHardStopMessage(circuit: NonTransientCircuitState): string;
37
+ export declare function assertNonTransientCircuitAllowsTool(sessionID: string): void;
38
+ export declare function rememberToolExecution(sessionID: string, callID: string, tool: string, originalCommand: string): void;
39
+ export declare function isToolExecutionCurrent(sessionID: string, execution: PendingToolExecution): boolean;
40
+ export declare function markToolExecutionSandboxWrapped(sessionID: string, callID: string): void;
41
+ export declare function takeToolExecution(sessionID: string, callID: string): PendingToolExecution | undefined;
42
+ export declare function forgetToolExecution(sessionID: string, callID: string): void;
43
+ export declare const _test_exports: {
44
+ isNeutralExitOne: typeof isNeutralExitOne;
45
+ classifyFatalSignal: typeof classifyFatalSignal;
46
+ };
47
+ export {};
@@ -5,9 +5,12 @@
5
5
  * NOT as session crash. Verified from guardrails.ts multiple existing throw sites.
6
6
  * Safe blocking pattern: throw new Error(`SCOPE VIOLATION: ...`)
7
7
  *
8
- * Fires BEFORE write/edit tools execute. When a non-architect agent attempts to
9
- * modify a file outside the declared task scope, blocks the call and injects an advisory.
8
+ * Fires BEFORE write/edit tools execute. When a coder attempts to modify a file
9
+ * outside its Task-correlated scope, blocks the call and injects an advisory.
10
10
  */
11
+ import { resolveAuthorizedScopeBinding, resolveAuthorizedScopeBindingForSession } from '../scope/scope-persistence';
12
+ import { type AgentSessionState } from '../state';
13
+ import { resolveWriteTargets } from './write-target-resolver';
11
14
  /**
12
15
  * Configuration for scope guard behavior.
13
16
  */
@@ -63,5 +66,9 @@ declare function sanitizePath(raw: string): string;
63
66
  */
64
67
  export declare const _internals: {
65
68
  sanitizePath: typeof sanitizePath;
69
+ resolveWriteTargets: typeof resolveWriteTargets;
70
+ resolveAuthorizedScopeBinding: typeof resolveAuthorizedScopeBinding;
71
+ resolveAuthorizedScopeBindingForSession: typeof resolveAuthorizedScopeBindingForSession;
72
+ resolveTaskId: (session: AgentSessionState | undefined) => string | null;
66
73
  };
67
74
  export {};