opencode-swarm 7.164.0 → 7.164.2

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 (103) hide show
  1. package/.opencode/skills/codebase-review-swarm/SKILL.md +4 -0
  2. package/.opencode/skills/commit-pr/SKILL.md +4 -1
  3. package/.opencode/skills/critic-gate/SKILL.md +4 -0
  4. package/.opencode/skills/deep-dive/SKILL.md +4 -0
  5. package/.opencode/skills/engineering-conventions/SKILL.md +2 -0
  6. package/.opencode/skills/execute/SKILL.md +4 -0
  7. package/.opencode/skills/phase-wrap/SKILL.md +4 -0
  8. package/.opencode/skills/plan/SKILL.md +4 -0
  9. package/.opencode/skills/running-tests/SKILL.md +4 -0
  10. package/.opencode/skills/swarm-pr-review/SKILL.md +4 -0
  11. package/.opencode/skills/swarm-pr-review/references/prompt-templates.md +2 -0
  12. package/.opencode/skills/writing-tests/SKILL.md +4 -0
  13. package/dist/agents/critic.d.ts +6 -6
  14. package/dist/cli/{coder-settlement-84je6bza.js → coder-settlement-kv1x94w6.js} +12 -13
  15. package/dist/cli/{config-doctor-vfze38e1.js → config-doctor-8d7ydxck.js} +3 -3
  16. package/dist/cli/{core-q5hv8e2w.js → core-7jjgxczp.js} +2 -2
  17. package/dist/cli/{curation-policy-a2zty4br.js → curation-policy-7pnmnfct.js} +6 -7
  18. package/dist/cli/{curator-4pckmmyf.js → curator-5nyth2rj.js} +35 -38
  19. package/dist/cli/{curator-drift-wy7ejcvw.js → curator-drift-ykrdf08r.js} +4 -5
  20. package/dist/cli/curator-llm-factory-d415s169.js +66 -0
  21. package/dist/cli/{evidence-summary-service-b15yes21.js → evidence-summary-service-aebn7nb9.js} +16 -17
  22. package/dist/cli/{gate-evidence-70h0w4tb.js → gate-evidence-es59pysy.js} +8 -9
  23. package/dist/cli/guardrail-explain-mn2x7w2y.js +67 -0
  24. package/dist/cli/{guardrail-log-7rxbd20p.js → guardrail-log-fd3c5rks.js} +8 -9
  25. package/dist/cli/{guardrail-reset-3b4gs357.js → guardrail-reset-r49rvptv.js} +35 -38
  26. package/dist/cli/{hive-promoter-s80g1gwb.js → hive-promoter-qp2kjhhp.js} +35 -38
  27. package/dist/cli/{index-93sepnc9.js → index-0145kpjr.js} +2 -2
  28. package/dist/cli/{index-v3a9rmyh.js → index-1r6p1wpa.js} +4 -4
  29. package/dist/cli/{index-c4pynht5.js → index-2xj34nkh.js} +1 -1
  30. package/dist/cli/{index-g64154pd.js → index-34exj2e3.js} +2 -2
  31. package/dist/cli/{index-td6n935w.js → index-3704v4e6.js} +2 -2
  32. package/dist/cli/{index-ynqp3jb6.js → index-5d7bzpfn.js} +1 -1
  33. package/dist/cli/{index-hyq20s2v.js → index-6vtm4rd0.js} +12 -12
  34. package/dist/cli/{index-4afh2cz7.js → index-92q98ry8.js} +7 -7
  35. package/dist/cli/{index-wdtckfnf.js → index-ac39znep.js} +2 -2
  36. package/dist/cli/{index-4jersar8.js → index-axtnc0xf.js} +5 -5
  37. package/dist/cli/{index-e3hwzcjv.js → index-b85jnfp4.js} +2 -2
  38. package/dist/cli/{index-bm73pych.js → index-br7q79t2.js} +7 -7
  39. package/dist/cli/{index-1b1h770t.js → index-bzd67m2j.js} +3 -3
  40. package/dist/cli/{index-ma8w6pfp.js → index-c8k4cs94.js} +5 -5
  41. package/dist/cli/{index-t90gjc0k.js → index-cm4r8gh2.js} +1 -1
  42. package/dist/cli/{index-3b762978.js → index-f9nfknjg.js} +182 -37
  43. package/dist/cli/{index-t9rhtvy9.js → index-fyt5byhd.js} +3 -3
  44. package/dist/cli/{index-zbpcpsk0.js → index-gz5rn6w6.js} +9 -9
  45. package/dist/cli/{index-7r9vpkwa.js → index-h9wnkr2e.js} +5 -5
  46. package/dist/cli/{index-1hpjwz3s.js → index-hcn69kp0.js} +1 -1
  47. package/dist/cli/{index-12f1tsn2.js → index-hnwg5gt6.js} +655 -16
  48. package/dist/cli/{index-qkk2skff.js → index-jw9wbwdh.js} +37 -40
  49. package/dist/cli/{index-pvgcex0d.js → index-kwd09y5a.js} +4 -4
  50. package/dist/cli/{index-9xd073d4.js → index-m1nrd3yd.js} +9 -2
  51. package/dist/cli/{index-c69jbpex.js → index-pcnhh2vt.js} +2 -2
  52. package/dist/cli/{index-gxd8fwyt.js → index-q3xn3m3g.js} +4 -4
  53. package/dist/cli/{index-fckfgptr.js → index-qbr05tbw.js} +2 -2
  54. package/dist/cli/{index-9sy65e94.js → index-qmeewt3g.js} +32 -34
  55. package/dist/cli/{index-tb1k8jya.js → index-sb4eanpv.js} +1 -1
  56. package/dist/cli/{index-dtn0pne5.js → index-v56mhyhs.js} +1 -1
  57. package/dist/cli/{index-2s4s9n82.js → index-w5jpjaqe.js} +2 -2
  58. package/dist/cli/{index-1z4jzwja.js → index-w8qt2612.js} +3 -3
  59. package/dist/cli/{index-nhxaa9j5.js → index-xm6c1tnf.js} +1 -1
  60. package/dist/cli/{index-0515j0cz.js → index-y2f5s2cf.js} +1 -1
  61. package/dist/cli/{index-36nt17m8.js → index-yep24wn4.js} +1 -1
  62. package/dist/cli/{index-xk0kc1py.js → index-yjftcanv.js} +7767 -2575
  63. package/dist/cli/{index-t5t82jy8.js → index-yqhwrjw9.js} +5 -5
  64. package/dist/cli/{index-nzrhw31r.js → index-zgeqwbhw.js} +2 -2
  65. package/dist/cli/{index-70bfj3v1.js → index-zs1jrsta.js} +2 -2
  66. package/dist/cli/index.js +35 -38
  67. package/dist/cli/{knowledge-escalator-sttdnwf8.js → knowledge-escalator-439jajb3.js} +14 -15
  68. package/dist/cli/{knowledge-events-4h88stj7.js → knowledge-events-wz3h98kk.js} +12 -13
  69. package/dist/cli/{knowledge-link-yykmxdyw.js → knowledge-link-2gh1cnk3.js} +5 -6
  70. package/dist/cli/{knowledge-store-j832fxpx.js → knowledge-store-y1cwe80n.js} +6 -7
  71. package/dist/cli/{knowledge-validator-edbg761g.js → knowledge-validator-bk2qfqe2.js} +8 -9
  72. package/dist/cli/{model-preflight-c3mc8njg.js → model-preflight-pmnbfzjv.js} +1 -1
  73. package/dist/cli/{pending-delegations-sphntrs0.js → pending-delegations-kh4mkvzb.js} +6 -8
  74. package/dist/cli/{pr-subscriptions-1a4gcnzv.js → pr-subscriptions-sdv0n59c.js} +6 -7
  75. package/dist/cli/pr-workflow-gate-a9vj11e5.js +221 -0
  76. package/dist/cli/{runner-d294h1by.js → runner-m95v9d47.js} +6 -7
  77. package/dist/cli/{scan-cursor-5frvp7nb.js → scan-cursor-pjek24k7.js} +7 -8
  78. package/dist/cli/{schema-9xkt5hvd.js → schema-674qw3aj.js} +2 -2
  79. package/dist/cli/{scope-persistence-gk55h3sp.js → scope-persistence-sq331eqh.js} +10 -11
  80. package/dist/cli/{skill-generator-sxxf7jbb.js → skill-generator-pcw7c50r.js} +16 -17
  81. package/dist/cli/{telemetry-q51s6tyt.js → telemetry-c4j18da8.js} +1 -1
  82. package/dist/cli/{worktree-collision-ownership-7kj2ryt1.js → worktree-collision-ownership-vnj31rgc.js} +7 -9
  83. package/dist/cli/{worktree-isolation-67fs6rz9.js → worktree-isolation-tje6p4zt.js} +35 -38
  84. package/dist/hooks/delegate-ack-collector.d.ts +5 -0
  85. package/dist/hooks/delegation-gate.d.ts +14 -2
  86. package/dist/hooks/plan-task-id-context.d.ts +24 -0
  87. package/dist/hooks/pr-workflow-gate.d.ts +14 -8
  88. package/dist/hooks/pr-workflow-response-gate.d.ts +9 -12
  89. package/dist/hooks/skill-injection.d.ts +7 -3
  90. package/dist/hooks/skill-propagation-gate.d.ts +1 -1
  91. package/dist/hooks/task-id-resolver.d.ts +46 -0
  92. package/dist/index.js +118 -92
  93. package/dist/pr-review/authorization.d.ts +18 -12
  94. package/dist/tools/authorize-pr-review-reentry.d.ts +12 -8
  95. package/dist/tools/tool-metadata.d.ts +1 -1
  96. package/opencode-swarm.schema.json +4 -1
  97. package/package.json +1 -1
  98. package/dist/cli/authorization-vstrh7ra.js +0 -23
  99. package/dist/cli/curator-llm-factory-msbj3hpn.js +0 -69
  100. package/dist/cli/guardrail-explain-kksdy032.js +0 -70
  101. package/dist/cli/index-ed5ykebp.js +0 -151
  102. package/dist/cli/index-mmngnxev.js +0 -883
  103. package/dist/cli/index-w7ekntej.js +0 -643
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailExplain
4
- } from "./index-c69jbpex.js";
4
+ } from "./index-pcnhh2vt.js";
5
5
  import {
6
6
  handleGuardrailLog
7
- } from "./index-t90gjc0k.js";
7
+ } from "./index-cm4r8gh2.js";
8
8
  import {
9
9
  COMMAND_REGISTRY,
10
10
  SWARM_COMMAND_TOOL_ALLOWLIST,
@@ -94,72 +94,69 @@ import {
94
94
  handleWriteRetroCommand,
95
95
  normalizeSwarmCommandInput,
96
96
  resolveCommand
97
- } from "./index-xk0kc1py.js";
98
- import"./index-c4pynht5.js";
99
- import"./index-9sy65e94.js";
100
- import"./index-g64154pd.js";
101
- import"./index-hyq20s2v.js";
102
- import"./index-2s4s9n82.js";
97
+ } from "./index-yjftcanv.js";
98
+ import"./index-2xj34nkh.js";
99
+ import"./index-qmeewt3g.js";
100
+ import"./index-34exj2e3.js";
101
+ import"./index-6vtm4rd0.js";
102
+ import"./index-w5jpjaqe.js";
103
103
  import"./index-txdagbh7.js";
104
104
  import"./index-3146wmgv.js";
105
- import"./index-pvgcex0d.js";
106
- import"./index-t5t82jy8.js";
107
- import"./index-e3hwzcjv.js";
105
+ import"./index-kwd09y5a.js";
106
+ import"./index-yqhwrjw9.js";
107
+ import"./index-b85jnfp4.js";
108
108
  import"./index-70ha9e09.js";
109
- import"./index-0515j0cz.js";
110
- import"./index-1hpjwz3s.js";
109
+ import"./index-y2f5s2cf.js";
110
+ import"./index-hcn69kp0.js";
111
111
  import"./index-zaab1wz9.js";
112
- import"./index-ma8w6pfp.js";
112
+ import"./index-c8k4cs94.js";
113
113
  import"./index-zsrtt42s.js";
114
- import"./index-4afh2cz7.js";
114
+ import"./index-92q98ry8.js";
115
115
  import"./index-3f7hqtgg.js";
116
- import"./index-fckfgptr.js";
117
- import"./index-gxd8fwyt.js";
118
- import"./index-tb1k8jya.js";
116
+ import"./index-qbr05tbw.js";
117
+ import"./index-q3xn3m3g.js";
118
+ import"./index-sb4eanpv.js";
119
119
  import"./index-rtry5xyf.js";
120
- import"./index-7r9vpkwa.js";
121
- import"./index-nzrhw31r.js";
122
- import"./index-12f1tsn2.js";
120
+ import"./index-h9wnkr2e.js";
121
+ import"./index-zgeqwbhw.js";
122
+ import"./index-hnwg5gt6.js";
123
123
  import"./index-ddszzne4.js";
124
- import"./index-mmngnxev.js";
125
- import"./index-w7ekntej.js";
126
- import"./index-4jersar8.js";
127
- import"./index-1z4jzwja.js";
128
- import"./index-93sepnc9.js";
124
+ import"./index-axtnc0xf.js";
125
+ import"./index-w8qt2612.js";
126
+ import"./index-0145kpjr.js";
129
127
  import"./index-556ja8an.js";
130
128
  import"./index-4fwbbad3.js";
131
129
  import"./index-b43rt5ph.js";
132
130
  import"./index-q7sjgr1y.js";
133
- import"./index-bm73pych.js";
134
- import"./index-zbpcpsk0.js";
135
- import"./index-t9rhtvy9.js";
131
+ import"./index-br7q79t2.js";
132
+ import"./index-gz5rn6w6.js";
133
+ import"./index-fyt5byhd.js";
136
134
  import"./index-zg9d392c.js";
137
135
  import"./index-n832052r.js";
138
- import"./index-dtn0pne5.js";
136
+ import"./index-v56mhyhs.js";
139
137
  import"./index-z6xqpmqg.js";
140
138
  import"./index-r3mvsbtq.js";
141
- import"./index-nhxaa9j5.js";
139
+ import"./index-xm6c1tnf.js";
142
140
  import {
143
141
  init_schema,
144
142
  stripKnownSwarmPrefix
145
- } from "./index-td6n935w.js";
143
+ } from "./index-3704v4e6.js";
146
144
  import"./index-9e6fdz2h.js";
147
145
  import"./index-4rhhvd1a.js";
148
- import"./index-wdtckfnf.js";
146
+ import"./index-ac39znep.js";
149
147
  import {
150
148
  AGENT_TOOL_MAP,
151
149
  ORCHESTRATOR_NAME,
152
150
  init_constants
153
- } from "./index-9xd073d4.js";
151
+ } from "./index-m1nrd3yd.js";
154
152
  import"./index-zjygnfay.js";
155
153
  import"./index-ae75rja9.js";
156
- import"./index-ynqp3jb6.js";
157
- import"./index-70bfj3v1.js";
154
+ import"./index-5d7bzpfn.js";
155
+ import"./index-zs1jrsta.js";
158
156
  import"./index-bk5tah7q.js";
159
- import"./index-36nt17m8.js";
160
- import"./index-3b762978.js";
161
- import"./index-1b1h770t.js";
162
- import"./index-ed5ykebp.js";
157
+ import"./index-yep24wn4.js";
158
+ import"./index-f9nfknjg.js";
159
+ import"./index-bzd67m2j.js";
163
160
  import"./index-7g4c7s5r.js";
164
161
  import"./index-bpmtbmy9.js";
165
162
  import"./index-zgwm4ryv.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  ALLOWED_SKILL_PATH_PREFIXES,
4
4
  validateSkillPath
5
- } from "./index-gxd8fwyt.js";
5
+ } from "./index-q3xn3m3g.js";
6
6
  import {
7
7
  withTimeoutSignal
8
8
  } from "./index-q7sjgr1y.js";
@@ -12,11 +12,11 @@ import {
12
12
  resolveHiveKnowledgePath,
13
13
  resolveSwarmKnowledgePath,
14
14
  transactKnowledge
15
- } from "./index-bm73pych.js";
15
+ } from "./index-br7q79t2.js";
16
16
  import {
17
17
  effectiveRetrievalOutcomes,
18
18
  readAuthoritativeKnowledgeCounterRollups
19
- } from "./index-zbpcpsk0.js";
19
+ } from "./index-gz5rn6w6.js";
20
20
  import {
21
21
  advisoryWarn,
22
22
  init_warning_buffer
@@ -28,7 +28,7 @@ import {
28
28
  import {
29
29
  atomicWriteFileAnyRoot,
30
30
  atomicWriteSwarmFile
31
- } from "./index-3b762978.js";
31
+ } from "./index-f9nfknjg.js";
32
32
  import {
33
33
  init_logger,
34
34
  log,
@@ -45,6 +45,12 @@ var init_agent_names = __esm(() => {
45
45
  });
46
46
 
47
47
  // src/tools/tool-metadata.ts
48
+ function getPrWorkflowToolCapability(toolName, mode) {
49
+ const metadata = TOOL_METADATA[toolName];
50
+ if (!metadata?.prWorkflow?.modes.includes(mode))
51
+ return null;
52
+ return metadata.prWorkflow.capability;
53
+ }
48
54
  var TOOL_METADATA, TOOL_NAMES, TOOL_NAME_SET, TOOL_DESCRIPTIONS, AGENT_TOOL_MAP;
49
55
  var init_tool_metadata = __esm(() => {
50
56
  init_agent_names();
@@ -676,7 +682,8 @@ var init_tool_metadata = __esm(() => {
676
682
  "critic",
677
683
  "critic_oversight",
678
684
  "explorer",
679
- "coder"
685
+ "coder",
686
+ "test_engineer"
680
687
  ],
681
688
  prWorkflow: {
682
689
  modes: ["PR_REVIEW", "PR_FEEDBACK"],
@@ -1288,4 +1295,4 @@ var init_constants = __esm(() => {
1288
1295
  };
1289
1296
  });
1290
1297
 
1291
- export { QA_AGENTS, PIPELINE_AGENTS, ORCHESTRATOR_NAME, ALL_SUBAGENT_NAMES, ALL_AGENT_NAMES, init_agent_names, TOOL_NAMES, TOOL_NAME_SET, AGENT_TOOL_MAP, init_tool_metadata, WRITE_TOOL_NAMES, SUMMARIZER_EXEMPT_TOOL_NAMES, DEFAULT_MODELS, DEFAULT_AGENT_CONFIGS, isQAAgent, isSubagent, SWARM_WORKTREE_DIR_NAME, DEFAULT_WORKTREE_ISOLATION_CONFIG, init_constants };
1298
+ export { QA_AGENTS, PIPELINE_AGENTS, ORCHESTRATOR_NAME, ALL_SUBAGENT_NAMES, ALL_AGENT_NAMES, init_agent_names, TOOL_NAMES, TOOL_NAME_SET, getPrWorkflowToolCapability, AGENT_TOOL_MAP, init_tool_metadata, WRITE_TOOL_NAMES, SUMMARIZER_EXEMPT_TOOL_NAMES, DEFAULT_MODELS, DEFAULT_AGENT_CONFIGS, isQAAgent, isSubagent, SWARM_WORKTREE_DIR_NAME, DEFAULT_WORKTREE_ISOLATION_CONFIG, init_constants };
@@ -14,14 +14,14 @@ import {
14
14
  detectWindowsWrites,
15
15
  getSharedClassifierGuardrailBlock,
16
16
  resolveWriteTargets
17
- } from "./index-xk0kc1py.js";
17
+ } from "./index-yjftcanv.js";
18
18
  import {
19
19
  checkFileAuthority,
20
20
  classifyFile,
21
21
  isInDeclaredScope,
22
22
  redactPath,
23
23
  redactShellCommand
24
- } from "./index-9sy65e94.js";
24
+ } from "./index-qmeewt3g.js";
25
25
 
26
26
  // src/services/guardrail-explain-service.ts
27
27
  import path from "path";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  authorizeCuration
4
- } from "./index-tb1k8jya.js";
4
+ } from "./index-sb4eanpv.js";
5
5
  import {
6
6
  findNearDuplicate,
7
7
  inferTags,
@@ -9,13 +9,13 @@ import {
9
9
  resolveSwarmKnowledgePath,
10
10
  resolveSwarmRejectedPath,
11
11
  transactKnowledge
12
- } from "./index-bm73pych.js";
12
+ } from "./index-br7q79t2.js";
13
13
  import {
14
14
  resolveKnowledgeStoreDir
15
- } from "./index-ynqp3jb6.js";
15
+ } from "./index-5d7bzpfn.js";
16
16
  import {
17
17
  atomicWriteFile
18
- } from "./index-70bfj3v1.js";
18
+ } from "./index-zs1jrsta.js";
19
19
  import {
20
20
  require_proper_lockfile
21
21
  } from "./index-7g4c7s5r.js";
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-dtn0pne5.js";
4
+ } from "./index-v56mhyhs.js";
5
5
  import {
6
6
  atomicWriteSwarmFileSync
7
- } from "./index-3b762978.js";
7
+ } from "./index-f9nfknjg.js";
8
8
 
9
9
  // src/hooks/delegation-gate/worktree-provisioning-owner.ts
10
10
  import { createHash } from "crypto";
@@ -11,16 +11,16 @@ import {
11
11
  import {
12
12
  init_schema,
13
13
  stripKnownSwarmPrefix
14
- } from "./index-td6n935w.js";
14
+ } from "./index-3704v4e6.js";
15
15
  import {
16
16
  observeStoreHealth
17
- } from "./index-wdtckfnf.js";
17
+ } from "./index-ac39znep.js";
18
18
  import {
19
19
  init_constants
20
- } from "./index-9xd073d4.js";
20
+ } from "./index-m1nrd3yd.js";
21
21
  import {
22
22
  telemetry
23
- } from "./index-1b1h770t.js";
23
+ } from "./index-bzd67m2j.js";
24
24
  import {
25
25
  init_logger,
26
26
  warn
@@ -1709,6 +1709,17 @@ var require_picomatch2 = __commonJS((exports, module) => {
1709
1709
  module.exports = picomatch;
1710
1710
  });
1711
1711
 
1712
+ // src/hooks/normalize-tool-name.ts
1713
+ var NAMESPACE_PREFIX_PATTERN = /^[^:]+[:.]/;
1714
+ function normalizeToolName(toolName) {
1715
+ if (!toolName)
1716
+ return;
1717
+ return toolName.replace(NAMESPACE_PREFIX_PATTERN, "");
1718
+ }
1719
+ function normalizeToolNameLowerCase(toolName) {
1720
+ return toolName.replace(NAMESPACE_PREFIX_PATTERN, "").toLowerCase();
1721
+ }
1722
+
1712
1723
  // src/context/zone-classifier.ts
1713
1724
  function classifyFile(filePath) {
1714
1725
  const normalized = filePath.toLowerCase().replace(/\\/g, "/");
@@ -1768,6 +1779,23 @@ function classifyFile(filePath) {
1768
1779
  };
1769
1780
  }
1770
1781
 
1782
+ // src/utils/stable-stringify.ts
1783
+ function stableCanonicalStringify(value) {
1784
+ if (value === undefined)
1785
+ return "null";
1786
+ if (value === null)
1787
+ return "null";
1788
+ if (typeof value !== "object")
1789
+ return JSON.stringify(value);
1790
+ if (Array.isArray(value)) {
1791
+ return `[${value.map((el) => stableCanonicalStringify(el)).join(",")}]`;
1792
+ }
1793
+ const obj = value;
1794
+ const keys = Object.keys(obj).sort();
1795
+ const entries = keys.map((k) => `${JSON.stringify(k)}:${stableCanonicalStringify(obj[k])}`).join(",");
1796
+ return `{${entries}}`;
1797
+ }
1798
+
1771
1799
  // src/hooks/guardrails/file-authority.ts
1772
1800
  import * as fsSync from "fs";
1773
1801
  var import_picomatch = __toESM(require_picomatch2(), 1);
@@ -2109,23 +2137,6 @@ function protectedRoots(projectRoot, additional = []) {
2109
2137
  // src/utils/arg-hash.ts
2110
2138
  var HASH_INPUT_CAP_BYTES = 64 * 1024;
2111
2139
 
2112
- // src/utils/stable-stringify.ts
2113
- function stableCanonicalStringify(value) {
2114
- if (value === undefined)
2115
- return "null";
2116
- if (value === null)
2117
- return "null";
2118
- if (typeof value !== "object")
2119
- return JSON.stringify(value);
2120
- if (Array.isArray(value)) {
2121
- return `[${value.map((el) => stableCanonicalStringify(el)).join(",")}]`;
2122
- }
2123
- const obj = value;
2124
- const keys = Object.keys(obj).sort();
2125
- const entries = keys.map((k) => `${JSON.stringify(k)}:${stableCanonicalStringify(obj[k])}`).join(",");
2126
- return `{${entries}}`;
2127
- }
2128
-
2129
2140
  // src/hooks/guardrails/file-authority.ts
2130
2141
  var pathNormalizationCache = new QuickLRU({
2131
2142
  maxSize: 500
@@ -2641,19 +2652,6 @@ function checkFileAuthority(agentName, filePath, cwd, authorityConfig, options =
2641
2652
 
2642
2653
  // src/hooks/guardrails/helpers.ts
2643
2654
  init_constants();
2644
-
2645
- // src/hooks/normalize-tool-name.ts
2646
- var NAMESPACE_PREFIX_PATTERN = /^[^:]+[:.]/;
2647
- function normalizeToolName(toolName) {
2648
- if (!toolName)
2649
- return;
2650
- return toolName.replace(NAMESPACE_PREFIX_PATTERN, "");
2651
- }
2652
- function normalizeToolNameLowerCase(toolName) {
2653
- return toolName.replace(NAMESPACE_PREFIX_PATTERN, "").toLowerCase();
2654
- }
2655
-
2656
- // src/hooks/guardrails/helpers.ts
2657
2655
  function isInDeclaredScope(filePath, scopeEntries, cwd) {
2658
2656
  return isPathWithinDeclaredScope(filePath, scopeEntries, cwd);
2659
2657
  }
@@ -7,7 +7,7 @@ import {
7
7
  readLinkPointer,
8
8
  resolveKnowledgeStoreDir,
9
9
  resolveLinkDir
10
- } from "./index-ynqp3jb6.js";
10
+ } from "./index-5d7bzpfn.js";
11
11
 
12
12
  // src/knowledge/curation-policy.ts
13
13
  import { appendFile, mkdir as mkdir2, readFile as readFile2 } from "fs/promises";
@@ -7,7 +7,7 @@ import {
7
7
  } from "./index-r3mvsbtq.js";
8
8
  import {
9
9
  readCachedTextFile
10
- } from "./index-ed5ykebp.js";
10
+ } from "./index-f9nfknjg.js";
11
11
  import {
12
12
  warn
13
13
  } from "./index-zgwm4ryv.js";
@@ -9,11 +9,11 @@ import {
9
9
  } from "./index-txdagbh7.js";
10
10
  import {
11
11
  atomicWriteFile
12
- } from "./index-70bfj3v1.js";
12
+ } from "./index-zs1jrsta.js";
13
13
  import {
14
14
  assertProjectRoot,
15
15
  withEvidenceLock
16
- } from "./index-36nt17m8.js";
16
+ } from "./index-yep24wn4.js";
17
17
  import {
18
18
  exports_external,
19
19
  init_zod
@@ -4,14 +4,14 @@ import {
4
4
  PlanSchema,
5
5
  TaskStatusSchema,
6
6
  init_loader
7
- } from "./index-nhxaa9j5.js";
7
+ } from "./index-xm6c1tnf.js";
8
8
  import {
9
9
  assertProjectRoot,
10
10
  withEvidenceLock
11
- } from "./index-36nt17m8.js";
11
+ } from "./index-yep24wn4.js";
12
12
  import {
13
13
  emit
14
- } from "./index-1b1h770t.js";
14
+ } from "./index-bzd67m2j.js";
15
15
  import {
16
16
  criticalWarn,
17
17
  init_logger,
@@ -6,7 +6,7 @@ import {
6
6
  PluginConfigSchema,
7
7
  init_schema,
8
8
  resolveExternalSkillsConfig
9
- } from "./index-td6n935w.js";
9
+ } from "./index-3704v4e6.js";
10
10
  import {
11
11
  GIT_BINARY_ENV_VAR,
12
12
  init_git_executable
@@ -6,7 +6,7 @@ import {
6
6
  canonicalProjectKey,
7
7
  classifyDbWriteError,
8
8
  getProjectDb
9
- } from "./index-1hpjwz3s.js";
9
+ } from "./index-hcn69kp0.js";
10
10
  import {
11
11
  init_logger,
12
12
  log,
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  emit
4
- } from "./index-1b1h770t.js";
4
+ } from "./index-bzd67m2j.js";
5
5
  import {
6
6
  require_proper_lockfile
7
7
  } from "./index-7g4c7s5r.js";