opencode-swarm 7.166.1 → 7.166.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.
Files changed (115) hide show
  1. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  2. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  3. package/dist/background/candidate-contract.d.ts +14 -0
  4. package/dist/background/pr-subscriptions.d.ts +33 -1
  5. package/dist/background/workspace-snapshot.d.ts +41 -0
  6. package/dist/cli/{coder-settlement-x0h3h6vd.js → coder-settlement-nx8ff9k1.js} +13 -13
  7. package/dist/cli/{config-doctor-pjcjeh8f.js → config-doctor-n9cjh11e.js} +4 -4
  8. package/dist/cli/{core-v11pd1yk.js → core-cbwrwhcz.js} +2 -2
  9. package/dist/cli/{curation-policy-jtzwz6bc.js → curation-policy-bvxf5pxv.js} +11 -6
  10. package/dist/cli/{curator-ssvd7evd.js → curator-c7amtass.js} +40 -39
  11. package/dist/cli/{curator-drift-jpdfwae9.js → curator-drift-20m2ab5w.js} +6 -6
  12. package/dist/cli/curator-llm-factory-2gv6kt1v.js +71 -0
  13. package/dist/cli/{dispatch-591v13pp.js → dispatch-tmb929w8.js} +2 -2
  14. package/dist/cli/{evidence-summary-service-mw6tnsp9.js → evidence-summary-service-5th3zm9c.js} +17 -17
  15. package/dist/cli/{gate-evidence-jymaxb82.js → gate-evidence-py8v0w28.js} +9 -8
  16. package/dist/cli/guardrail-explain-qzhjhtyk.js +72 -0
  17. package/dist/cli/{guardrail-log-kzq2sktb.js → guardrail-log-rtdpk545.js} +9 -9
  18. package/dist/cli/{guardrail-reset-ea1g3g7d.js → guardrail-reset-s27fehv6.js} +40 -39
  19. package/dist/cli/{hive-promoter-ghjbgsms.js → hive-promoter-56mfysq6.js} +40 -39
  20. package/dist/cli/{index-52xdezsh.js → index-0jpv5z94.js} +5 -5
  21. package/dist/cli/{index-8hqkrd2j.js → index-1aex5zd9.js} +1 -1
  22. package/dist/cli/{index-6chhqq2n.js → index-251vrmge.js} +94 -3
  23. package/dist/cli/{index-w11whwn3.js → index-2c7eabkr.js} +9 -9
  24. package/dist/cli/{index-edm41q4j.js → index-2w0beg3s.js} +2 -2
  25. package/dist/cli/{index-nph5g4em.js → index-3a2xznmd.js} +2 -2
  26. package/dist/cli/{index-2y4kargd.js → index-3f1tr4ha.js} +4 -4
  27. package/dist/cli/{index-xezfx7ge.js → index-3nm1b3t2.js} +47 -13
  28. package/dist/cli/{index-gr8ppbq3.js → index-4c50tm9j.js} +3 -3
  29. package/dist/cli/{index-wf12wckd.js → index-4mgggb8x.js} +8 -3
  30. package/dist/cli/{index-17yszqs5.js → index-5bd84nxc.js} +1 -1
  31. package/dist/cli/{index-jx9f4ke1.js → index-6d4dc99f.js} +1 -1
  32. package/dist/cli/{index-79sr3fd1.js → index-75f9jj3h.js} +2 -2
  33. package/dist/cli/{index-ybcxvv17.js → index-87wqes24.js} +2 -2
  34. package/dist/cli/{index-bkd3450m.js → index-8cky7ksv.js} +36 -10
  35. package/dist/cli/{index-1zqf2pny.js → index-9wv6a3jx.js} +2 -2
  36. package/dist/cli/{index-fc1dqzjp.js → index-b7ra4hwj.js} +1 -1
  37. package/dist/cli/{index-6rff2h8x.js → index-bwvbj3fp.js} +4 -4
  38. package/dist/cli/{index-j29nkq5d.js → index-ch293kd3.js} +4 -4
  39. package/dist/cli/{index-gerkwyrr.js → index-d5gvr6z4.js} +1 -1
  40. package/dist/cli/{index-399nq780.js → index-dvhecfa9.js} +3839 -3182
  41. package/dist/cli/{index-hwj25q9r.js → index-f6zgz02s.js} +70 -53
  42. package/dist/cli/{index-3tyym20r.js → index-gbv76wf7.js} +2 -2
  43. package/dist/cli/{index-8fr2wn18.js → index-gk1w1h9k.js} +5 -1
  44. package/dist/cli/{index-13egyjgv.js → index-h92cqbqa.js} +5 -5
  45. package/dist/cli/{index-k5w284js.js → index-hfrb77tj.js} +17 -17
  46. package/dist/cli/{index-gy0nyfbw.js → index-m21x1bkx.js} +78 -25
  47. package/dist/cli/{index-hvk3zs62.js → index-m3tx1q9v.js} +1 -1
  48. package/dist/cli/{index-xwkn5hse.js → index-ms16gaa4.js} +7 -7
  49. package/dist/cli/{index-066xxa4q.js → index-qa7t42e7.js} +96 -31
  50. package/dist/cli/{index-2v17wb75.js → index-qd619x3r.js} +2 -2
  51. package/dist/cli/{index-axf65x87.js → index-qd726agw.js} +5 -5
  52. package/dist/cli/{index-c20gf089.js → index-qww0h314.js} +11 -6
  53. package/dist/cli/{index-aftapk6j.js → index-rk10x4zr.js} +3 -3
  54. package/dist/cli/{index-bfr392e7.js → index-sahf5yz3.js} +13 -6
  55. package/dist/cli/{index-a7rw4g4s.js → index-t8tw1bhs.js} +3 -3
  56. package/dist/cli/{index-0g5v4s0x.js → index-t9kjxzdr.js} +14 -14
  57. package/dist/cli/{index-zha9bdj9.js → index-tzq6t9wc.js} +11 -11
  58. package/dist/cli/index-vzm6zre7.js +167 -0
  59. package/dist/cli/{index-crjx4sx0.js → index-w50dk71y.js} +42 -41
  60. package/dist/cli/{index-yt25kpvz.js → index-xn16akay.js} +4 -4
  61. package/dist/cli/index.js +40 -39
  62. package/dist/cli/{knowledge-escalator-3pjed4tq.js → knowledge-escalator-stnveccq.js} +15 -14
  63. package/dist/cli/{knowledge-events-a5dwkg30.js → knowledge-events-ph6txm8h.js} +12 -12
  64. package/dist/cli/{knowledge-link-1zykfk1p.js → knowledge-link-w1fwqts4.js} +6 -4
  65. package/dist/cli/{knowledge-store-h85efsak.js → knowledge-store-tgyhr9nf.js} +10 -5
  66. package/dist/cli/{knowledge-validator-76qrf1ev.js → knowledge-validator-2g547bcn.js} +10 -7
  67. package/dist/cli/{pending-delegations-zgwfqfac.js → pending-delegations-873dtyw6.js} +14 -13
  68. package/dist/cli/{pr-subscriptions-fzy3ks1k.js → pr-subscriptions-xmxdrj1z.js} +20 -13
  69. package/dist/cli/{pr-workflow-gate-1gtsn7f0.js → pr-workflow-gate-h7644byf.js} +40 -39
  70. package/dist/cli/{runner-j3acybhs.js → runner-nmrjv7te.js} +8 -5
  71. package/dist/cli/{scan-cursor-ahwkxa8j.js → scan-cursor-tx72gxp0.js} +9 -6
  72. package/dist/cli/{schema-27sedbfk.js → schema-cpc92vq0.js} +4 -2
  73. package/dist/cli/{scope-persistence-q792yfxh.js → scope-persistence-xy3xs55f.js} +17 -15
  74. package/dist/cli/{skill-generator-g8wbjw6v.js → skill-generator-4f1v5zwx.js} +17 -16
  75. package/dist/cli/{snapshot-coordination-init-y6spakwm.js → snapshot-coordination-init-w2nw33pn.js} +40 -39
  76. package/dist/cli/{telemetry-9h1z2w9d.js → telemetry-ce0tx41h.js} +5 -1
  77. package/dist/cli/{workspace-snapshot-6z9rk7xw.js → workspace-snapshot-0kxj2grt.js} +11 -1
  78. package/dist/cli/{worktree-collision-ownership-pmpnftkd.js → worktree-collision-ownership-1g1qz8wc.js} +15 -14
  79. package/dist/cli/{worktree-isolation-4053n0px.js → worktree-isolation-jwxtrh3z.js} +40 -39
  80. package/dist/commands/close.d.ts +82 -0
  81. package/dist/config/schema.d.ts +9 -0
  82. package/dist/context-map/capsule-persistence.d.ts +13 -8
  83. package/dist/evidence/phase-participation.d.ts +1 -1
  84. package/dist/hooks/delegate-ack-collector.d.ts +7 -0
  85. package/dist/hooks/guardrails/execution-stall.d.ts +10 -5
  86. package/dist/hooks/hive-promoter.d.ts +28 -5
  87. package/dist/hooks/knowledge-store.d.ts +7 -0
  88. package/dist/hooks/repo-graph-builder.d.ts +14 -0
  89. package/dist/hooks/review-receipt.d.ts +29 -1
  90. package/dist/hooks/system-enhancer.d.ts +21 -0
  91. package/dist/index.js +578 -573
  92. package/dist/knowledge/curation-policy.d.ts +7 -0
  93. package/dist/memory/consolidation-log.d.ts +9 -0
  94. package/dist/memory/injector.d.ts +7 -0
  95. package/dist/memory/run-log.d.ts +8 -0
  96. package/dist/observability/catalog.d.ts +1 -1
  97. package/dist/retention/caps.d.ts +33 -0
  98. package/dist/retention/dir-prune.d.ts +72 -0
  99. package/dist/retention/jsonl-cap.d.ts +84 -0
  100. package/dist/retention/sweep.d.ts +67 -0
  101. package/dist/services/compaction-service.d.ts +14 -0
  102. package/dist/services/skill-changelog.d.ts +20 -0
  103. package/dist/session/snapshot-writer.d.ts +42 -0
  104. package/dist/summaries/manager.d.ts +41 -4
  105. package/dist/telemetry.d.ts +31 -1
  106. package/dist/test-impact/history-store.d.ts +16 -0
  107. package/dist/turbo/epic/calibration.d.ts +16 -1
  108. package/dist/turbo/epic/divergence-recorder.d.ts +11 -0
  109. package/dist/utils/atomic-write.d.ts +32 -0
  110. package/dist/utils/swarm-artifact-cache.d.ts +6 -0
  111. package/opencode-swarm.schema.json +15 -0
  112. package/package.json +1 -1
  113. package/dist/cli/curator-llm-factory-da5q3gg6.js +0 -70
  114. package/dist/cli/guardrail-explain-eva1yrtf.js +0 -71
  115. package/dist/cli/{index-2sqgbmtq.js → index-d5qf7hvh.js} +3 -3
@@ -1,8 +1,14 @@
1
1
  // @bun
2
+ import {
3
+ sameProjectRoot
4
+ } from "./index-7qefgq4j.js";
2
5
  import {
3
6
  exports_external,
4
7
  init_zod
5
8
  } from "./index-bpmtbmy9.js";
9
+ import {
10
+ log
11
+ } from "./index-zgwm4ryv.js";
6
12
 
7
13
  // src/telemetry.ts
8
14
  import * as fs from "fs";
@@ -47,7 +53,7 @@ var CONSUMER_COST_JOIN = Object.freeze([
47
53
  "src/services/cost-accounting.ts:415"
48
54
  ]);
49
55
  var CONSUMER_GATE_STATS = Object.freeze(["src/evaluation/gate-stats.ts:99"]);
50
- var CONSUMER_HEARTBEAT_LISTENER = Object.freeze(["src/telemetry.ts:246"]);
56
+ var CONSUMER_HEARTBEAT_LISTENER = Object.freeze(["src/telemetry.ts:255"]);
51
57
  function defineEntry(kind, input) {
52
58
  const entry = {
53
59
  kind,
@@ -80,7 +86,7 @@ var CATALOG_SOURCE = [
80
86
  category: "lifecycle",
81
87
  severity: "info",
82
88
  privacyClass: "pseudonymous",
83
- producer: "src/telemetry.ts:564",
89
+ producer: "src/telemetry.ts:639",
84
90
  consumers: NO_CONSUMERS,
85
91
  futureOwnerIssue: ISSUE_SINK,
86
92
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -94,7 +100,7 @@ var CATALOG_SOURCE = [
94
100
  category: "lifecycle",
95
101
  severity: "info",
96
102
  privacyClass: "pseudonymous",
97
- producer: "src/telemetry.ts:568",
103
+ producer: "src/telemetry.ts:643",
98
104
  consumers: NO_CONSUMERS,
99
105
  futureOwnerIssue: ISSUE_SINK,
100
106
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -108,7 +114,7 @@ var CATALOG_SOURCE = [
108
114
  category: "lifecycle",
109
115
  severity: "info",
110
116
  privacyClass: "pseudonymous",
111
- producer: "src/telemetry.ts:572",
117
+ producer: "src/telemetry.ts:647",
112
118
  consumers: NO_CONSUMERS,
113
119
  futureOwnerIssue: ISSUE_SINK,
114
120
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -122,7 +128,7 @@ var CATALOG_SOURCE = [
122
128
  category: "lifecycle",
123
129
  severity: "info",
124
130
  privacyClass: "pseudonymous",
125
- producer: "src/telemetry.ts:610",
131
+ producer: "src/telemetry.ts:685",
126
132
  consumers: NO_CONSUMERS,
127
133
  futureOwnerIssue: ISSUE_SINK,
128
134
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -136,7 +142,7 @@ var CATALOG_SOURCE = [
136
142
  category: "lifecycle",
137
143
  severity: "info",
138
144
  privacyClass: "pseudonymous",
139
- producer: "src/telemetry.ts:658",
145
+ producer: "src/telemetry.ts:733",
140
146
  consumers: NO_CONSUMERS,
141
147
  futureOwnerIssue: ISSUE_SINK,
142
148
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -150,7 +156,7 @@ var CATALOG_SOURCE = [
150
156
  category: "lifecycle",
151
157
  severity: "debug",
152
158
  privacyClass: "pseudonymous",
153
- producer: "src/telemetry.ts:840",
159
+ producer: "src/telemetry.ts:915",
154
160
  consumers: CONSUMER_HEARTBEAT_LISTENER,
155
161
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
156
162
  requiredWorkflowIds: REQUIRE_SESSION,
@@ -163,7 +169,7 @@ var CATALOG_SOURCE = [
163
169
  category: "lifecycle",
164
170
  severity: "info",
165
171
  privacyClass: "pseudonymous",
166
- producer: "src/telemetry.ts:848",
172
+ producer: "src/telemetry.ts:923",
167
173
  consumers: NO_CONSUMERS,
168
174
  futureOwnerIssue: ISSUE_SINK,
169
175
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -176,7 +182,7 @@ var CATALOG_SOURCE = [
176
182
  category: "lifecycle",
177
183
  severity: "info",
178
184
  privacyClass: "pseudonymous",
179
- producer: "src/telemetry.ts:873",
185
+ producer: "src/telemetry.ts:948",
180
186
  consumers: NO_CONSUMERS,
181
187
  futureOwnerIssue: ISSUE_SINK,
182
188
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -190,7 +196,7 @@ var CATALOG_SOURCE = [
190
196
  category: "delegation",
191
197
  severity: "info",
192
198
  privacyClass: "pseudonymous",
193
- producer: "src/telemetry.ts:576",
199
+ producer: "src/telemetry.ts:651",
194
200
  consumers: NO_CONSUMERS,
195
201
  futureOwnerIssue: ISSUE_SINK,
196
202
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -204,7 +210,7 @@ var CATALOG_SOURCE = [
204
210
  category: "delegation",
205
211
  severity: "info",
206
212
  privacyClass: "pseudonymous",
207
- producer: "src/telemetry.ts:586",
213
+ producer: "src/telemetry.ts:661",
208
214
  consumers: CONSUMER_COST_ACCOUNTING,
209
215
  retentionOwnerIssue: ISSUE_COST_RETENTION,
210
216
  requiredWorkflowIds: REQUIRE_SESSION_AND_TASK,
@@ -217,7 +223,7 @@ var CATALOG_SOURCE = [
217
223
  category: "delegation",
218
224
  severity: "info",
219
225
  privacyClass: "pseudonymous",
220
- producer: "src/index.ts:666",
226
+ producer: "src/index.ts:768",
221
227
  consumers: CONSUMER_COST_CORRECTION,
222
228
  retentionOwnerIssue: ISSUE_COST_RETENTION,
223
229
  requiredWorkflowIds: REQUIRE_SESSION_AND_TASK,
@@ -230,7 +236,7 @@ var CATALOG_SOURCE = [
230
236
  category: "delegation",
231
237
  severity: "info",
232
238
  privacyClass: "pseudonymous",
233
- producer: "src/index.ts:1608",
239
+ producer: "src/index.ts:1752",
234
240
  consumers: NO_CONSUMERS,
235
241
  futureOwnerIssue: ISSUE_SINK,
236
242
  retentionOwnerIssue: ISSUE_COST_RETENTION,
@@ -244,7 +250,7 @@ var CATALOG_SOURCE = [
244
250
  category: "delegation",
245
251
  severity: "notice",
246
252
  privacyClass: "pseudonymous",
247
- producer: "src/index.ts:1628",
253
+ producer: "src/index.ts:1772",
248
254
  consumers: CONSUMER_COST_JOIN,
249
255
  retentionOwnerIssue: ISSUE_COST_RETENTION,
250
256
  requiredWorkflowIds: REQUIRE_SESSION,
@@ -257,7 +263,7 @@ var CATALOG_SOURCE = [
257
263
  category: "delegation",
258
264
  severity: "notice",
259
265
  privacyClass: "pseudonymous",
260
- producer: "src/telemetry.ts:691",
266
+ producer: "src/telemetry.ts:766",
261
267
  consumers: NO_CONSUMERS,
262
268
  futureOwnerIssue: ISSUE_SINK,
263
269
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -271,7 +277,7 @@ var CATALOG_SOURCE = [
271
277
  category: "delegation",
272
278
  severity: "warning",
273
279
  privacyClass: "pseudonymous",
274
- producer: "src/telemetry.ts:705",
280
+ producer: "src/telemetry.ts:780",
275
281
  consumers: NO_CONSUMERS,
276
282
  futureOwnerIssue: ISSUE_SINK,
277
283
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -285,7 +291,7 @@ var CATALOG_SOURCE = [
285
291
  category: "gate",
286
292
  severity: "info",
287
293
  privacyClass: "pseudonymous",
288
- producer: "src/telemetry.ts:619",
294
+ producer: "src/telemetry.ts:694",
289
295
  consumers: NO_CONSUMERS,
290
296
  futureOwnerIssue: ISSUE_SINK,
291
297
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -298,7 +304,7 @@ var CATALOG_SOURCE = [
298
304
  category: "gate",
299
305
  severity: "warning",
300
306
  privacyClass: "pseudonymous",
301
- producer: "src/telemetry.ts:636",
307
+ producer: "src/telemetry.ts:711",
302
308
  consumers: NO_CONSUMERS,
303
309
  futureOwnerIssue: ISSUE_SINK,
304
310
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -311,7 +317,7 @@ var CATALOG_SOURCE = [
311
317
  category: "gate",
312
318
  severity: "warning",
313
319
  privacyClass: "sensitive",
314
- producer: "src/telemetry.ts:623",
320
+ producer: "src/telemetry.ts:698",
315
321
  consumers: NO_CONSUMERS,
316
322
  futureOwnerIssue: ISSUE_SINK,
317
323
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -325,7 +331,7 @@ var CATALOG_SOURCE = [
325
331
  category: "gate",
326
332
  severity: "info",
327
333
  privacyClass: "pseudonymous",
328
- producer: "src/telemetry.ts:646",
334
+ producer: "src/telemetry.ts:721",
329
335
  consumers: CONSUMER_GATE_STATS,
330
336
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
331
337
  requiredWorkflowIds: REQUIRE_SESSION_AND_TASK
@@ -401,7 +407,7 @@ var CATALOG_SOURCE = [
401
407
  category: "cost",
402
408
  severity: "info",
403
409
  privacyClass: "pseudonymous",
404
- producer: "src/telemetry.ts:662",
410
+ producer: "src/telemetry.ts:737",
405
411
  consumers: NO_CONSUMERS,
406
412
  futureOwnerIssue: ISSUE_SINK,
407
413
  retentionOwnerIssue: ISSUE_COST_RETENTION,
@@ -414,7 +420,7 @@ var CATALOG_SOURCE = [
414
420
  category: "guardrail",
415
421
  severity: "notice",
416
422
  privacyClass: "pseudonymous",
417
- producer: "src/telemetry.ts:681",
423
+ producer: "src/telemetry.ts:756",
418
424
  consumers: NO_CONSUMERS,
419
425
  futureOwnerIssue: ISSUE_SINK,
420
426
  retentionOwnerIssue: ISSUE_SINK,
@@ -427,7 +433,7 @@ var CATALOG_SOURCE = [
427
433
  category: "guardrail",
428
434
  severity: "info",
429
435
  privacyClass: "pseudonymous",
430
- producer: "src/telemetry.ts:1230",
436
+ producer: "src/telemetry.ts:1305",
431
437
  consumers: NO_CONSUMERS,
432
438
  futureOwnerIssue: ISSUE_SINK,
433
439
  retentionOwnerIssue: ISSUE_SINK,
@@ -440,7 +446,7 @@ var CATALOG_SOURCE = [
440
446
  category: "guardrail",
441
447
  severity: "error",
442
448
  privacyClass: "pseudonymous",
443
- producer: "src/telemetry.ts:719",
449
+ producer: "src/telemetry.ts:794",
444
450
  consumers: NO_CONSUMERS,
445
451
  futureOwnerIssue: ISSUE_SINK,
446
452
  retentionOwnerIssue: ISSUE_SINK,
@@ -453,7 +459,7 @@ var CATALOG_SOURCE = [
453
459
  category: "guardrail",
454
460
  severity: "warning",
455
461
  privacyClass: "pseudonymous",
456
- producer: "src/telemetry.ts:728",
462
+ producer: "src/telemetry.ts:803",
457
463
  consumers: NO_CONSUMERS,
458
464
  futureOwnerIssue: ISSUE_SINK,
459
465
  retentionOwnerIssue: ISSUE_SINK,
@@ -466,7 +472,7 @@ var CATALOG_SOURCE = [
466
472
  category: "guardrail",
467
473
  severity: "warning",
468
474
  privacyClass: "sensitive",
469
- producer: "src/telemetry.ts:732",
475
+ producer: "src/telemetry.ts:807",
470
476
  consumers: NO_CONSUMERS,
471
477
  futureOwnerIssue: ISSUE_SINK,
472
478
  retentionOwnerIssue: ISSUE_SINK,
@@ -479,7 +485,7 @@ var CATALOG_SOURCE = [
479
485
  category: "guardrail",
480
486
  severity: "error",
481
487
  privacyClass: "sensitive",
482
- producer: "src/telemetry.ts:828",
488
+ producer: "src/telemetry.ts:903",
483
489
  consumers: NO_CONSUMERS,
484
490
  futureOwnerIssue: ISSUE_SINK,
485
491
  retentionOwnerIssue: ISSUE_SINK,
@@ -492,7 +498,7 @@ var CATALOG_SOURCE = [
492
498
  category: "guardrail",
493
499
  severity: "warning",
494
500
  privacyClass: "pseudonymous",
495
- producer: "src/telemetry.ts:836",
501
+ producer: "src/telemetry.ts:911",
496
502
  consumers: NO_CONSUMERS,
497
503
  futureOwnerIssue: ISSUE_SINK,
498
504
  retentionOwnerIssue: ISSUE_SINK,
@@ -505,7 +511,7 @@ var CATALOG_SOURCE = [
505
511
  category: "guardrail",
506
512
  severity: "warning",
507
513
  privacyClass: "pseudonymous",
508
- producer: "src/telemetry.ts:858",
514
+ producer: "src/telemetry.ts:933",
509
515
  consumers: NO_CONSUMERS,
510
516
  futureOwnerIssue: ISSUE_SINK,
511
517
  retentionOwnerIssue: ISSUE_SINK,
@@ -518,7 +524,7 @@ var CATALOG_SOURCE = [
518
524
  category: "guardrail",
519
525
  severity: "warning",
520
526
  privacyClass: "pseudonymous",
521
- producer: "src/telemetry.ts:746",
527
+ producer: "src/telemetry.ts:821",
522
528
  consumers: NO_CONSUMERS,
523
529
  futureOwnerIssue: ISSUE_SINK,
524
530
  retentionOwnerIssue: ISSUE_SINK,
@@ -531,7 +537,7 @@ var CATALOG_SOURCE = [
531
537
  category: "guardrail",
532
538
  severity: "warning",
533
539
  privacyClass: "pseudonymous",
534
- producer: "src/telemetry.ts:767",
540
+ producer: "src/telemetry.ts:842",
535
541
  consumers: NO_CONSUMERS,
536
542
  futureOwnerIssue: ISSUE_SINK,
537
543
  retentionOwnerIssue: ISSUE_SINK,
@@ -544,7 +550,7 @@ var CATALOG_SOURCE = [
544
550
  category: "guardrail",
545
551
  severity: "warning",
546
552
  privacyClass: "pseudonymous",
547
- producer: "src/telemetry.ts:781",
553
+ producer: "src/telemetry.ts:856",
548
554
  consumers: NO_CONSUMERS,
549
555
  futureOwnerIssue: ISSUE_SINK,
550
556
  retentionOwnerIssue: ISSUE_SINK,
@@ -557,7 +563,7 @@ var CATALOG_SOURCE = [
557
563
  category: "guardrail",
558
564
  severity: "error",
559
565
  privacyClass: "pseudonymous",
560
- producer: "src/telemetry.ts:798",
566
+ producer: "src/telemetry.ts:873",
561
567
  consumers: NO_CONSUMERS,
562
568
  futureOwnerIssue: ISSUE_SINK,
563
569
  retentionOwnerIssue: ISSUE_SINK,
@@ -570,7 +576,7 @@ var CATALOG_SOURCE = [
570
576
  category: "guardrail",
571
577
  severity: "error",
572
578
  privacyClass: "sensitive",
573
- producer: "src/telemetry.ts:815",
579
+ producer: "src/telemetry.ts:890",
574
580
  consumers: NO_CONSUMERS,
575
581
  futureOwnerIssue: ISSUE_SINK,
576
582
  retentionOwnerIssue: ISSUE_SINK,
@@ -583,7 +589,7 @@ var CATALOG_SOURCE = [
583
589
  category: "prm",
584
590
  severity: "error",
585
591
  privacyClass: "pseudonymous",
586
- producer: "src/telemetry.ts:1211",
592
+ producer: "src/telemetry.ts:1286",
587
593
  consumers: NO_CONSUMERS,
588
594
  futureOwnerIssue: ISSUE_SINK,
589
595
  retentionOwnerIssue: ISSUE_SINK,
@@ -596,7 +602,7 @@ var CATALOG_SOURCE = [
596
602
  category: "prm",
597
603
  severity: "notice",
598
604
  privacyClass: "pseudonymous",
599
- producer: "src/telemetry.ts:888",
605
+ producer: "src/telemetry.ts:963",
600
606
  consumers: NO_CONSUMERS,
601
607
  futureOwnerIssue: ISSUE_SINK,
602
608
  retentionOwnerIssue: ISSUE_SINK,
@@ -609,7 +615,7 @@ var CATALOG_SOURCE = [
609
615
  category: "prm",
610
616
  severity: "notice",
611
617
  privacyClass: "pseudonymous",
612
- producer: "src/telemetry.ts:902",
618
+ producer: "src/telemetry.ts:977",
613
619
  consumers: NO_CONSUMERS,
614
620
  futureOwnerIssue: ISSUE_SINK,
615
621
  retentionOwnerIssue: ISSUE_SINK,
@@ -622,7 +628,7 @@ var CATALOG_SOURCE = [
622
628
  category: "prm",
623
629
  severity: "warning",
624
630
  privacyClass: "pseudonymous",
625
- producer: "src/telemetry.ts:915",
631
+ producer: "src/telemetry.ts:990",
626
632
  consumers: NO_CONSUMERS,
627
633
  futureOwnerIssue: ISSUE_SINK,
628
634
  retentionOwnerIssue: ISSUE_SINK,
@@ -635,7 +641,7 @@ var CATALOG_SOURCE = [
635
641
  category: "prm",
636
642
  severity: "critical",
637
643
  privacyClass: "pseudonymous",
638
- producer: "src/telemetry.ts:929",
644
+ producer: "src/telemetry.ts:1004",
639
645
  consumers: NO_CONSUMERS,
640
646
  futureOwnerIssue: ISSUE_SINK,
641
647
  retentionOwnerIssue: ISSUE_SINK,
@@ -745,7 +751,7 @@ var CATALOG_SOURCE = [
745
751
  category: "lifecycle",
746
752
  severity: "notice",
747
753
  privacyClass: "operational",
748
- producer: "src/telemetry.ts:966",
754
+ producer: "src/telemetry.ts:1041",
749
755
  consumers: NO_CONSUMERS,
750
756
  futureOwnerIssue: ISSUE_SINK,
751
757
  retentionOwnerIssue: ISSUE_SINK
@@ -785,7 +791,7 @@ var CATALOG_SOURCE = [
785
791
  category: "lifecycle",
786
792
  severity: "notice",
787
793
  privacyClass: "operational",
788
- producer: "src/telemetry.ts:988",
794
+ producer: "src/telemetry.ts:1063",
789
795
  consumers: NO_CONSUMERS,
790
796
  futureOwnerIssue: ISSUE_SINK,
791
797
  retentionOwnerIssue: ISSUE_SINK,
@@ -799,7 +805,7 @@ var CATALOG_SOURCE = [
799
805
  category: "lifecycle",
800
806
  severity: "notice",
801
807
  privacyClass: "operational",
802
- producer: "src/telemetry.ts:1012",
808
+ producer: "src/telemetry.ts:1087",
803
809
  consumers: NO_CONSUMERS,
804
810
  futureOwnerIssue: ISSUE_SINK,
805
811
  retentionOwnerIssue: ISSUE_SINK,
@@ -813,7 +819,7 @@ var CATALOG_SOURCE = [
813
819
  category: "lifecycle",
814
820
  severity: "notice",
815
821
  privacyClass: "operational",
816
- producer: "src/telemetry.ts:1049",
822
+ producer: "src/telemetry.ts:1124",
817
823
  consumers: NO_CONSUMERS,
818
824
  futureOwnerIssue: ISSUE_SINK,
819
825
  retentionOwnerIssue: ISSUE_SINK,
@@ -827,7 +833,7 @@ var CATALOG_SOURCE = [
827
833
  category: "lifecycle",
828
834
  severity: "notice",
829
835
  privacyClass: "operational",
830
- producer: "src/telemetry.ts:1075",
836
+ producer: "src/telemetry.ts:1150",
831
837
  consumers: NO_CONSUMERS,
832
838
  futureOwnerIssue: ISSUE_SINK,
833
839
  retentionOwnerIssue: ISSUE_SINK,
@@ -841,7 +847,7 @@ var CATALOG_SOURCE = [
841
847
  category: "lifecycle",
842
848
  severity: "notice",
843
849
  privacyClass: "operational",
844
- producer: "src/telemetry.ts:1099",
850
+ producer: "src/telemetry.ts:1174",
845
851
  consumers: NO_CONSUMERS,
846
852
  futureOwnerIssue: ISSUE_SINK,
847
853
  retentionOwnerIssue: ISSUE_SINK,
@@ -855,7 +861,7 @@ var CATALOG_SOURCE = [
855
861
  category: "lifecycle",
856
862
  severity: "notice",
857
863
  privacyClass: "operational",
858
- producer: "src/telemetry.ts:1122",
864
+ producer: "src/telemetry.ts:1197",
859
865
  consumers: NO_CONSUMERS,
860
866
  futureOwnerIssue: ISSUE_SINK,
861
867
  retentionOwnerIssue: ISSUE_SINK,
@@ -869,7 +875,7 @@ var CATALOG_SOURCE = [
869
875
  category: "lifecycle",
870
876
  severity: "notice",
871
877
  privacyClass: "operational",
872
- producer: "src/telemetry.ts:1151",
878
+ producer: "src/telemetry.ts:1226",
873
879
  consumers: NO_CONSUMERS,
874
880
  futureOwnerIssue: ISSUE_SINK,
875
881
  retentionOwnerIssue: ISSUE_SINK,
@@ -883,7 +889,7 @@ var CATALOG_SOURCE = [
883
889
  category: "lifecycle",
884
890
  severity: "warning",
885
891
  privacyClass: "operational",
886
- producer: "src/telemetry.ts:1195",
892
+ producer: "src/telemetry.ts:1270",
887
893
  consumers: NO_CONSUMERS,
888
894
  futureOwnerIssue: ISSUE_SINK,
889
895
  retentionOwnerIssue: 2044,
@@ -1936,11 +1942,14 @@ function resetTelemetryForTesting() {
1936
1942
  }
1937
1943
  }
1938
1944
  function initTelemetry(projectDirectory) {
1939
- if (_writeStream !== null || _disabled) {
1945
+ if (_disabled) {
1946
+ return;
1947
+ }
1948
+ if (_writeStream !== null && _projectDirectory !== null && sameProjectRoot(_projectDirectory, projectDirectory)) {
1940
1949
  return;
1941
1950
  }
1951
+ const oldStream = _writeStream;
1942
1952
  try {
1943
- _projectDirectory = projectDirectory;
1944
1953
  const swarmDir = path.join(projectDirectory, ".swarm");
1945
1954
  if (!fs.existsSync(swarmDir)) {
1946
1955
  fs.mkdirSync(swarmDir, { recursive: true });
@@ -1954,9 +1963,17 @@ function initTelemetry(projectDirectory) {
1954
1963
  }
1955
1964
  });
1956
1965
  _writeStream = stream;
1957
- } catch {
1958
- _disabled = true;
1959
- _writeStream = null;
1966
+ _projectDirectory = projectDirectory;
1967
+ } catch (error) {
1968
+ log(`[telemetry] failed to open the new project's telemetry stream (retaining the previous stream, non-fatal): ${error instanceof Error ? error.message : String(error)}`);
1969
+ return;
1970
+ }
1971
+ if (oldStream !== null) {
1972
+ try {
1973
+ oldStream.end();
1974
+ } catch (error) {
1975
+ log(`[telemetry] failed to close the previous project's stream during re-home (non-fatal): ${error instanceof Error ? error.message : String(error)}`);
1976
+ }
1960
1977
  }
1961
1978
  }
1962
1979
  function emit(event, data) {
@@ -14,14 +14,14 @@ import {
14
14
  detectWindowsWrites,
15
15
  getSharedClassifierGuardrailBlock,
16
16
  resolveWriteTargets
17
- } from "./index-399nq780.js";
17
+ } from "./index-dvhecfa9.js";
18
18
  import {
19
19
  checkFileAuthority,
20
20
  classifyFile,
21
21
  isInDeclaredScope,
22
22
  redactPath,
23
23
  redactShellCommand
24
- } from "./index-gr8ppbq3.js";
24
+ } from "./index-4c50tm9j.js";
25
25
 
26
26
  // src/services/guardrail-explain-service.ts
27
27
  import path from "path";
@@ -12,7 +12,7 @@ import {
12
12
  PluginConfigSchema,
13
13
  init_schema,
14
14
  stripKnownSwarmPrefix
15
- } from "./index-wf12wckd.js";
15
+ } from "./index-4mgggb8x.js";
16
16
  import {
17
17
  ALL_AGENT_NAMES,
18
18
  TOOL_NAME_SET,
@@ -1024,6 +1024,10 @@ function validateConfigKey(path2, value) {
1024
1024
  emitObjectTypeMismatch("repo_graph", value, findings);
1025
1025
  break;
1026
1026
  }
1027
+ case "retention": {
1028
+ emitObjectTypeMismatch("retention", value, findings);
1029
+ break;
1030
+ }
1027
1031
  case "review_passes": {
1028
1032
  emitObjectTypeMismatch("review_passes", value, findings);
1029
1033
  break;
@@ -3,7 +3,7 @@ import {
3
3
  queryHistoricalOutcomes,
4
4
  readKnowledgeEvents,
5
5
  recordKnowledgeEvent
6
- } from "./index-zha9bdj9.js";
6
+ } from "./index-tzq6t9wc.js";
7
7
  import {
8
8
  jaccardBigram,
9
9
  readKnowledge,
@@ -11,7 +11,7 @@ import {
11
11
  resolveSwarmKnowledgePath,
12
12
  transactKnowledge,
13
13
  wordBigrams
14
- } from "./index-bkd3450m.js";
14
+ } from "./index-8cky7ksv.js";
15
15
  import {
16
16
  init_knowledge_types,
17
17
  isActiveStatus
@@ -224,11 +224,11 @@ async function maybeQuarantineOnContradiction(directory, entryId, threshold, win
224
224
  alreadyInactive: true
225
225
  };
226
226
  }
227
- const { quarantineEntry } = await import("./knowledge-validator-76qrf1ev.js");
227
+ const { quarantineEntry } = await import("./knowledge-validator-2g547bcn.js");
228
228
  let policyConfig;
229
229
  try {
230
- const { KnowledgeConfigSchema } = await import("./schema-27sedbfk.js");
231
- const { loadPluginConfigWithMeta } = await import("./index-j29nkq5d.js");
230
+ const { KnowledgeConfigSchema } = await import("./schema-cpc92vq0.js");
231
+ const { loadPluginConfigWithMeta } = await import("./index-ch293kd3.js");
232
232
  const { config: loadedConfig } = loadPluginConfigWithMeta(directory);
233
233
  policyConfig = KnowledgeConfigSchema.parse(loadedConfig.knowledge ?? {});
234
234
  } catch {
@@ -1,11 +1,11 @@
1
1
  // @bun
2
2
  import {
3
- captureWorkspaceSnapshot,
4
- changedFilesSinceSnapshot
5
- } from "./index-6chhqq2n.js";
3
+ captureWorkspaceSnapshotAsync,
4
+ changedFilesSinceSnapshotAsync
5
+ } from "./index-251vrmge.js";
6
6
  import {
7
7
  removeWorktreeProvisioningOwner
8
- } from "./index-1zqf2pny.js";
8
+ } from "./index-9wv6a3jx.js";
9
9
  import {
10
10
  SOURCE_WORKTREE_GONE_STAGE,
11
11
  ensureTaskGateRequirementsReceiptForSettledTransition,
@@ -14,19 +14,19 @@ import {
14
14
  reconcileLandedMerge,
15
15
  withTaskEvidenceTransaction,
16
16
  writeWorkflowWalFile
17
- } from "./index-yt25kpvz.js";
17
+ } from "./index-xn16akay.js";
18
18
  import {
19
19
  validateSwarmPath
20
- } from "./index-bfr392e7.js";
20
+ } from "./index-sahf5yz3.js";
21
21
  import {
22
22
  appendCoreEventSync
23
- } from "./index-2v17wb75.js";
23
+ } from "./index-qd619x3r.js";
24
+ import {
25
+ tryAcquireLock
26
+ } from "./index-2w0beg3s.js";
24
27
  import {
25
28
  canonicalRootKeyFresh
26
29
  } from "./index-7qefgq4j.js";
27
- import {
28
- tryAcquireLock
29
- } from "./index-edm41q4j.js";
30
30
  import {
31
31
  init_git_executable,
32
32
  resolveGitExecutable
@@ -167,9 +167,9 @@ function isProcessAlive(processId) {
167
167
  return error.code === "EPERM";
168
168
  }
169
169
  }
170
- function scopedObservedFiles(directory, context) {
170
+ async function scopedObservedFiles(directory, context) {
171
171
  const baseline = { ...context.baseline, directory };
172
- const observed = changedFilesSinceSnapshot(directory, baseline);
172
+ const observed = await changedFilesSinceSnapshotAsync(directory, baseline);
173
173
  if (!observed || !context.declaredFiles)
174
174
  return null;
175
175
  return observed.filter((filePath) => isPathWithinDeclaredScope(filePath, context.declaredFiles ?? [], directory));
@@ -244,7 +244,7 @@ async function commitPrepared(directory, wal) {
244
244
  }
245
245
  async function beginCoderSettlement(options) {
246
246
  if (options.context.baseline.gitHead === null) {
247
- const rootBaseline = captureWorkspaceSnapshot(options.directory);
247
+ const rootBaseline = await captureWorkspaceSnapshotAsync(options.directory);
248
248
  if (rootBaseline.gitHead !== null) {
249
249
  throw new Error(`CODER_SETTLEMENT_BASELINE_UNAVAILABLE: the launch baseline for task ${options.taskId} has no git HEAD \u2014 the observation directory (${options.context.baseline.directory}) is not a git repository or git is unavailable there. ` + "An unregistered worktree lane (a lane directory that git worktree list does not know) produces exactly this. " + 'The task was not dispatched and no settlement state was created; retry the dispatch, or set worktree.policy "disabled" to run coders in the primary tree.');
250
250
  }
@@ -489,7 +489,7 @@ async function cleanupRecoveredWorktree(directory, descriptor) {
489
489
  awaitingMergeByCallID,
490
490
  cleanupStandardWorktreeForCallId,
491
491
  standardWorktreeByCallID
492
- } = await import("./worktree-isolation-4053n0px.js");
492
+ } = await import("./worktree-isolation-jwxtrh3z.js");
493
493
  standardWorktreeByCallID.delete(descriptor.callID);
494
494
  if (hasResidue)
495
495
  awaitingMergeByCallID.set(descriptor.callID, {
@@ -581,7 +581,7 @@ async function recoverCoderSettlement(directory, taskId) {
581
581
  if (wal.state === "DISPATCHED") {
582
582
  if (wal.worktree) {
583
583
  const worktree = wal.worktree;
584
- const observed2 = wal.observedFiles ?? scopedObservedFiles(worktree.worktreePath, wal.context);
584
+ const observed2 = wal.observedFiles ?? await scopedObservedFiles(worktree.worktreePath, wal.context);
585
585
  if (observed2 === null) {
586
586
  throw new Error(`CODER_SETTLEMENT_RECOVERY_UNCERTAIN: transition ${wal.transitionId} for isolated task ${taskId} could not attribute worktree changes to the declared scope (${filePath}, state ${wal.state}). Run /swarm recover ${taskId} (or /swarm reset-session), then retry; do not remove the WAL by hand.`);
587
587
  }
@@ -613,7 +613,7 @@ async function recoverCoderSettlement(directory, taskId) {
613
613
  awaitingMergeByCallID,
614
614
  finishStandardWorktreeDispatch,
615
615
  standardWorktreeByCallID
616
- } = await import("./worktree-isolation-4053n0px.js");
616
+ } = await import("./worktree-isolation-jwxtrh3z.js");
617
617
  const descriptor = wal.worktree;
618
618
  const reconstructedDispatch = {
619
619
  callID: descriptor.callID,
@@ -682,7 +682,7 @@ async function recoverCoderSettlement(directory, taskId) {
682
682
  });
683
683
  return recovered;
684
684
  }
685
- const rawObserved = changedFilesSinceSnapshot(directory, wal.context.baseline);
685
+ const rawObserved = await changedFilesSinceSnapshotAsync(directory, wal.context.baseline);
686
686
  let observed;
687
687
  if (rawObserved === null) {
688
688
  if (baselineAttributionDoomed(wal.context.baseline)) {