opencode-swarm 7.121.4 → 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 (75) 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-10wnhpwn.js → curation-policy-4j4qce5a.js} +5 -5
  4. package/dist/cli/{curator-llm-factory-6rafny5e.js → curator-llm-factory-x769hn66.js} +22 -20
  5. package/dist/cli/{curator-3azybqrw.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-d1m747g5.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-4xnj3fdk.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-x4fwtd59.js → index-5he0kwnx.js} +3 -3
  16. package/dist/cli/{index-982hhpcm.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-5a3xsnzg.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-35xyj7gn.js → index-dywekeen.js} +28 -5
  24. package/dist/cli/{index-wtn8wf7h.js → index-gw3m5fw0.js} +1 -1
  25. package/dist/cli/{index-j8349ac0.js → index-hns7xjm7.js} +2 -2
  26. package/dist/cli/{index-ft6jw816.js → index-j9kxwshw.js} +5 -5
  27. package/dist/cli/{index-2k6z335c.js → index-jm81nhks.js} +24 -22
  28. package/dist/cli/{index-q0fv0xec.js → index-kanrv3sv.js} +280 -119
  29. package/dist/cli/{index-db82jxt7.js → index-m0bmh3w0.js} +4 -4
  30. package/dist/cli/index-m1abzg93.js +68 -0
  31. package/dist/cli/{index-0f800qg7.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-8ajq1fhb.js → knowledge-escalator-dyxsm78k.js} +6 -6
  37. package/dist/cli/{knowledge-events-2sjy3aa7.js → knowledge-events-36q6nvae.js} +6 -4
  38. package/dist/cli/{knowledge-link-sy85fw3w.js → knowledge-link-4yd2z8ev.js} +3 -3
  39. package/dist/cli/{knowledge-store-27cesthc.js → knowledge-store-e07b4s54.js} +4 -4
  40. package/dist/cli/{knowledge-validator-9keh3p8j.js → knowledge-validator-sfyf7wn2.js} +7 -7
  41. package/dist/cli/pr-subscriptions-x653151h.js +1 -1
  42. package/dist/cli/{scan-cursor-qmsmmg1b.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-hkyxdc3j.js → skill-generator-g6r52x94.js} +8 -8
  46. package/dist/config/constants.d.ts +3 -2
  47. package/dist/hooks/cohort-cache.d.ts +44 -0
  48. package/dist/hooks/delegation-gate.d.ts +19 -1
  49. package/dist/hooks/guardrails/nontransient-circuit.d.ts +47 -0
  50. package/dist/hooks/hive-promoter.d.ts +4 -3
  51. package/dist/hooks/host-boundary.d.ts +147 -0
  52. package/dist/hooks/incremental-verify.d.ts +3 -0
  53. package/dist/hooks/knowledge-events.d.ts +25 -2
  54. package/dist/hooks/knowledge-injector.d.ts +9 -1
  55. package/dist/hooks/knowledge-receipt-validator.d.ts +98 -0
  56. package/dist/hooks/micro-reflector.d.ts +3 -0
  57. package/dist/hooks/pr-auto-subscribe.d.ts +3 -0
  58. package/dist/hooks/promotion-evidence-store.d.ts +33 -0
  59. package/dist/hooks/scope-guard.d.ts +9 -2
  60. package/dist/hooks/write-target-resolver.d.ts +30 -0
  61. package/dist/index.js +423 -380
  62. package/dist/sandbox/win32/restricted-environment-executor.d.ts +3 -2
  63. package/dist/scope/scope-binding.d.ts +89 -0
  64. package/dist/scope/scope-persistence.d.ts +53 -12
  65. package/dist/services/knowledge-diagnostics.d.ts +12 -0
  66. package/dist/session/snapshot-writer.d.ts +5 -0
  67. package/dist/state.d.ts +36 -1
  68. package/dist/tools/declare-scope.d.ts +5 -1
  69. package/dist/tools/file-extractor-planner.d.ts +31 -0
  70. package/dist/tools/file-extractor.d.ts +2 -7
  71. package/package.json +1 -1
  72. package/dist/cli/index-51gg9947.js +0 -254
  73. package/dist/cli/scope-persistence-mfr36yc9.js +0 -20
  74. package/dist/cli/{index-h07wn84h.js → index-7mkpsw6g.js} +3 -3
  75. 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-5a3xsnzg.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-0f800qg7.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-2sjy3aa7.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-9keh3p8j.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-q0fv0xec.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-x4fwtd59.js";
17
- import"./index-ft6jw816.js";
18
- import"./index-j8349ac0.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-db82jxt7.js";
24
- import"./index-5a3xsnzg.js";
23
+ import"./index-m0bmh3w0.js";
24
+ import"./index-cqsak7bf.js";
25
25
  import"./index-rtry5xyf.js";
26
- import"./index-0f800qg7.js";
27
- import"./index-35xyj7gn.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-ft6jw816.js";
12
- import"./index-0f800qg7.js";
13
- import"./index-35xyj7gn.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";
@@ -8,6 +8,7 @@ import {
8
8
  appendHiveKnowledgeEvent,
9
9
  appendKnowledgeEvent,
10
10
  applyKnowledgeVerdictFeedback,
11
+ countEmptyTraceTerminals,
11
12
  countEntryContradictionsInWindow,
12
13
  countEntryViolationsInWindow,
13
14
  countViolationsInWindow,
@@ -25,13 +26,13 @@ import {
25
26
  resolveKnowledgeCounterBaselinePath,
26
27
  resolveKnowledgeEventsPath,
27
28
  resolveLegacyApplicationLogPath
28
- } from "./index-35xyj7gn.js";
29
+ } from "./index-dywekeen.js";
29
30
  import"./index-ae75rja9.js";
30
- import"./index-3jvqw5hy.js";
31
+ import"./index-q27bajqb.js";
31
32
  import"./index-zgwm4ryv.js";
32
- import"./index-h07wn84h.js";
33
- import"./index-76kvm9z5.js";
33
+ import"./index-7mkpsw6g.js";
34
34
  import"./index-fsrp8wp3.js";
35
+ import"./index-76kvm9z5.js";
35
36
  import"./index-q2rrv0cy.js";
36
37
  import"./index-7g4c7s5r.js";
37
38
  import"./index-qe3v54nb.js";
@@ -54,6 +55,7 @@ export {
54
55
  countViolationsInWindow,
55
56
  countEntryViolationsInWindow,
56
57
  countEntryContradictionsInWindow,
58
+ countEmptyTraceTerminals,
57
59
  applyKnowledgeVerdictFeedback,
58
60
  appendKnowledgeEvent,
59
61
  appendHiveKnowledgeEvent,
@@ -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-0f800qg7.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-db82jxt7.js";
27
- import"./index-5a3xsnzg.js";
26
+ } from "./index-m0bmh3w0.js";
27
+ import"./index-cqsak7bf.js";
28
28
  import"./index-rtry5xyf.js";
29
- import"./index-0f800qg7.js";
30
- import"./index-35xyj7gn.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-j8349ac0.js";
8
- import"./index-0f800qg7.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-x4fwtd59.js";
37
- import"./index-db82jxt7.js";
38
- import"./index-5a3xsnzg.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-0f800qg7.js";
41
- import"./index-35xyj7gn.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];
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Cohort-id cache helpers (issue #1849).
3
+ *
4
+ * `resolveCohortId` (#1846) canonicalizes repo identity but spawns git (up to
5
+ * 3 subprocesses). Calling it per-turn from `experimental.chat.system.transform`
6
+ * or per-receipt from the PromotionEvidenceRecord writer would violate the
7
+ * bounded-init / no-hot-path-subprocess invariants. These helpers resolve the
8
+ * cohort id ONCE, cache it on the per-session state, and let every hot-path
9
+ * caller read the cached value.
10
+ *
11
+ * Primary population path: `chat.message` (fires turn 1 with sessionID + agent).
12
+ * Fallback: callers that observe a cache miss (pre-existing session, restored
13
+ * old snapshot, first-turn race) call {@link ensureCohortIdCached}, which
14
+ * resolves once-bounded and caches — never per-turn.
15
+ */
16
+ /**
17
+ * Resolve the cohort id for `directory` and cache it on the session at
18
+ * `sessionID`. Fail-open + bounded: `resolveCohortId` never throws, and the
19
+ * call is wrapped so any unexpected error logs and returns undefined without
20
+ * caching a bad value. Idempotent — if the cache is already populated, returns
21
+ * immediately without re-running git.
22
+ *
23
+ * Intended call sites (NOT per-turn):
24
+ * - `chat.message` (primary; fires turn 1).
25
+ * - `ensureCohortIdCached` fallback (only on cache miss).
26
+ */
27
+ export declare function cacheCohortIdAtMessage(directory: string, sessionID: string): Promise<string | undefined>;
28
+ /**
29
+ * Resolve the cohort id for `directory` once-bounded and cache it on the
30
+ * session at `sessionID`. Returns the cached value if present; otherwise
31
+ * resolves, caches, and returns. Returns `undefined` when resolution fails or
32
+ * the identity is degraded in a way that yields no usable cohort id.
33
+ *
34
+ * This is the fallback for hot-path callers (system-enhancer,
35
+ * PromotionEvidenceRecord writer) that observe a cache miss. It MUST stay
36
+ * off the per-turn critical path: callers should read the cached value first
37
+ * and only invoke this on miss.
38
+ */
39
+ export declare function ensureCohortIdCached(directory: string, sessionID: string | undefined): Promise<string | undefined>;
40
+ /**
41
+ * Read the cached cohort id for `sessionID` WITHOUT resolving. Returns
42
+ * `undefined` when not cached. This is the hot-path read (no git, no I/O).
43
+ */
44
+ export declare function readCachedCohortId(sessionID: string | undefined): string | undefined;
@@ -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
  };