opencode-swarm 7.159.3 → 7.160.0

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 (91) hide show
  1. package/dist/background/delegation-health.d.ts +1 -1
  2. package/dist/cli/{coder-settlement-50p7dsya.js → coder-settlement-zn552sp9.js} +11 -10
  3. package/dist/cli/{config-doctor-a7drgs33.js → config-doctor-ddtdz2g0.js} +3 -3
  4. package/dist/cli/{core-madqgdsc.js → core-embasn2j.js} +2 -2
  5. package/dist/cli/{curation-policy-ray8h55z.js → curation-policy-agr6ga1s.js} +6 -6
  6. package/dist/cli/{curator-3sz7refy.js → curator-dgp6dxxn.js} +32 -31
  7. package/dist/cli/curator-llm-factory-7cwvmc46.js +67 -0
  8. package/dist/cli/{evidence-summary-service-cwyjkdsa.js → evidence-summary-service-sbnyann4.js} +14 -13
  9. package/dist/cli/{gate-evidence-95k5ap1z.js → gate-evidence-5v67a1dz.js} +7 -7
  10. package/dist/cli/guardrail-explain-2gwarnca.js +68 -0
  11. package/dist/cli/{guardrail-log-nerqk9qb.js → guardrail-log-zbnbff1y.js} +9 -6
  12. package/dist/cli/{guardrail-reset-chbc0mep.js → guardrail-reset-3cnz54hx.js} +32 -31
  13. package/dist/cli/{hive-promoter-4rtxhw7n.js → hive-promoter-7cr7t2kg.js} +32 -31
  14. package/dist/cli/{index-ebxmfr4j.js → index-1f4n43yz.js} +2 -2
  15. package/dist/cli/{index-zswy6xgb.js → index-3055dgzp.js} +7 -7
  16. package/dist/cli/{index-2jzmg2km.js → index-3yh737hc.js} +6 -6
  17. package/dist/cli/{index-0zerbq1v.js → index-4mm22fzj.js} +23 -14
  18. package/dist/cli/{index-5hfqc3h3.js → index-5m7qjj29.js} +24 -7
  19. package/dist/cli/{index-nvz4mp5w.js → index-7qv869f0.js} +6 -6
  20. package/dist/cli/{index-gk6gpe7r.js → index-85qjc7b2.js} +2 -2
  21. package/dist/cli/{index-xqjhbfbx.js → index-8bjv01t8.js} +4 -4
  22. package/dist/cli/{index-t3wk7q51.js → index-962jgzdq.js} +1 -1
  23. package/dist/cli/{index-nhhek8yw.js → index-9fspg1xw.js} +1 -1
  24. package/dist/cli/{index-wwpe4am7.js → index-9k3zc2t8.js} +7 -7
  25. package/dist/cli/{index-y2d381ce.js → index-9q6w7kke.js} +1 -1
  26. package/dist/cli/{index-av3gnekk.js → index-b5adxpy6.js} +1 -1
  27. package/dist/cli/{index-8fyebh3w.js → index-cn233hsy.js} +1 -1
  28. package/dist/cli/{index-qxpfmryw.js → index-d9s5hb0m.js} +4 -4
  29. package/dist/cli/{index-prknc0xn.js → index-dke4wzkn.js} +108 -44
  30. package/dist/cli/index-e75bzfgd.js +785 -0
  31. package/dist/cli/{index-mqfs5f8a.js → index-fzkx24q5.js} +2 -2
  32. package/dist/cli/{index-m9m3emns.js → index-gt8cxfbp.js} +2 -2
  33. package/dist/cli/{index-yt75r1er.js → index-h3re5c78.js} +1 -1
  34. package/dist/cli/{index-sn6mtxxc.js → index-jmths6jj.js} +34 -33
  35. package/dist/cli/{index-p3ym3y8b.js → index-kkfgygvn.js} +4 -4
  36. package/dist/cli/{index-9qw4sbg1.js → index-p39xem8b.js} +4 -4
  37. package/dist/cli/{index-6jp5yxye.js → index-py6bqwnb.js} +2 -2
  38. package/dist/cli/{index-515nwvdp.js → index-q6gjwy7m.js} +19 -10
  39. package/dist/cli/{index-v3ybemb1.js → index-rhc8jve7.js} +2 -2
  40. package/dist/cli/{index-txwx9p21.js → index-rnyt2z5r.js} +345 -97
  41. package/dist/cli/{index-ve0xj03m.js → index-rq7k03rk.js} +4 -4
  42. package/dist/cli/{index-2fq4a3vk.js → index-s7w428r3.js} +1 -1
  43. package/dist/cli/{index-h96xp4t0.js → index-sy5aeegg.js} +11 -2
  44. package/dist/cli/{index-fnxmg8sz.js → index-va1edd2n.js} +5 -5
  45. package/dist/cli/{index-rq4jcw64.js → index-w699ekk9.js} +4 -4
  46. package/dist/cli/{index-8zw60wya.js → index-wzx6atbv.js} +13 -4
  47. package/dist/cli/{index-xs32znyz.js → index-xs15netk.js} +1 -1
  48. package/dist/cli/{index-40t6s98s.js → index-yrar1ask.js} +3 -3
  49. package/dist/cli/{index-bxpqq9th.js → index-zjvf7edj.js} +3 -3
  50. package/dist/cli/index.js +32 -31
  51. package/dist/cli/{knowledge-escalator-f80n84ch.js → knowledge-escalator-zksm9833.js} +13 -12
  52. package/dist/cli/{knowledge-events-1d7v2krw.js → knowledge-events-ayta750w.js} +11 -10
  53. package/dist/cli/{knowledge-link-vm4caewt.js → knowledge-link-7c7fjnzc.js} +5 -5
  54. package/dist/cli/{knowledge-store-66yxeet7.js → knowledge-store-q5axge8b.js} +6 -6
  55. package/dist/cli/{knowledge-validator-p0xcx7jx.js → knowledge-validator-3rrbva2p.js} +8 -8
  56. package/dist/cli/{model-preflight-w85ecyxh.js → model-preflight-x9szw1v4.js} +1 -1
  57. package/dist/cli/{pending-delegations-vad1z71d.js → pending-delegations-kc7tzxg9.js} +5 -3
  58. package/dist/cli/{pr-review-reentry-authorization-kn3nny7h.js → pr-review-reentry-authorization-vag5gh50.js} +32 -31
  59. package/dist/cli/{pr-subscriptions-482gzvt6.js → pr-subscriptions-wbdw9a82.js} +5 -4
  60. package/dist/cli/{runner-sn7a6zd0.js → runner-p9wg6z34.js} +6 -6
  61. package/dist/cli/{scan-cursor-2v7995nb.js → scan-cursor-4fjwtt1k.js} +7 -7
  62. package/dist/cli/{schema-dy8fqycb.js → schema-d0nbzj5k.js} +2 -2
  63. package/dist/cli/{scope-persistence-baty62vx.js → scope-persistence-bckcbc8h.js} +10 -9
  64. package/dist/cli/{skill-generator-nwrvtqbz.js → skill-generator-kebhevet.js} +15 -14
  65. package/dist/cli/{telemetry-3rh94wv3.js → telemetry-gpr9s3sm.js} +3 -1
  66. package/dist/cli/{worktree-collision-ownership-cy24p5mr.js → worktree-collision-ownership-h8qswnrp.js} +6 -5
  67. package/dist/cli/{worktree-isolation-8jbx0s8d.js → worktree-isolation-q0kbmadz.js} +32 -31
  68. package/dist/config/context-window.d.ts +11 -4
  69. package/dist/config/evidence-schema.d.ts +6 -6
  70. package/dist/context-map/telemetry.d.ts +1 -1
  71. package/dist/health/learning-health.d.ts +356 -0
  72. package/dist/hooks/context-budget.d.ts +10 -1
  73. package/dist/hooks/curator.d.ts +2 -0
  74. package/dist/hooks/final-context-accounting.d.ts +2 -0
  75. package/dist/hooks/model-limits.d.ts +56 -25
  76. package/dist/hooks/skill-usage-pending.d.ts +1 -1
  77. package/dist/index.js +588 -587
  78. package/dist/observability/catalog.d.ts +2 -2
  79. package/dist/observability/ids.d.ts +17 -0
  80. package/dist/prm/trajectory-store.d.ts +1 -1
  81. package/dist/services/diagnose-service.d.ts +7 -0
  82. package/dist/services/status-service.d.ts +18 -0
  83. package/dist/telemetry.d.ts +52 -1
  84. package/dist/tools/context-status.d.ts +15 -1
  85. package/dist/tools/repo-graph/ontology.d.ts +6 -0
  86. package/dist/tools/repo-graph/pack-query.d.ts +36 -0
  87. package/dist/tools/repo-graph/types.d.ts +198 -1
  88. package/dist/tools/repo-graph.d.ts +5 -3
  89. package/package.json +1 -1
  90. package/dist/cli/curator-llm-factory-pyp5kmra.js +0 -66
  91. package/dist/cli/guardrail-explain-a13kbmrt.js +0 -67
@@ -39,7 +39,7 @@ var CONSUMER_COST_JOIN = Object.freeze([
39
39
  "src/services/cost-accounting.ts:413"
40
40
  ]);
41
41
  var CONSUMER_GATE_STATS = Object.freeze(["src/evaluation/gate-stats.ts:99"]);
42
- var CONSUMER_HEARTBEAT_LISTENER = Object.freeze(["src/telemetry.ts:214"]);
42
+ var CONSUMER_HEARTBEAT_LISTENER = Object.freeze(["src/telemetry.ts:221"]);
43
43
  function defineEntry(kind, input) {
44
44
  const entry = {
45
45
  kind,
@@ -72,7 +72,7 @@ var CATALOG_SOURCE = [
72
72
  category: "lifecycle",
73
73
  severity: "info",
74
74
  privacyClass: "pseudonymous",
75
- producer: "src/telemetry.ts:519",
75
+ producer: "src/telemetry.ts:540",
76
76
  consumers: NO_CONSUMERS,
77
77
  futureOwnerIssue: ISSUE_SINK,
78
78
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -86,7 +86,7 @@ var CATALOG_SOURCE = [
86
86
  category: "lifecycle",
87
87
  severity: "info",
88
88
  privacyClass: "pseudonymous",
89
- producer: "src/telemetry.ts:523",
89
+ producer: "src/telemetry.ts:544",
90
90
  consumers: NO_CONSUMERS,
91
91
  futureOwnerIssue: ISSUE_SINK,
92
92
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -100,7 +100,7 @@ var CATALOG_SOURCE = [
100
100
  category: "lifecycle",
101
101
  severity: "info",
102
102
  privacyClass: "pseudonymous",
103
- producer: "src/telemetry.ts:527",
103
+ producer: "src/telemetry.ts:548",
104
104
  consumers: NO_CONSUMERS,
105
105
  futureOwnerIssue: ISSUE_SINK,
106
106
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -114,7 +114,7 @@ var CATALOG_SOURCE = [
114
114
  category: "lifecycle",
115
115
  severity: "info",
116
116
  privacyClass: "pseudonymous",
117
- producer: "src/telemetry.ts:565",
117
+ producer: "src/telemetry.ts:586",
118
118
  consumers: NO_CONSUMERS,
119
119
  futureOwnerIssue: ISSUE_SINK,
120
120
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -128,7 +128,7 @@ var CATALOG_SOURCE = [
128
128
  category: "lifecycle",
129
129
  severity: "info",
130
130
  privacyClass: "pseudonymous",
131
- producer: "src/telemetry.ts:613",
131
+ producer: "src/telemetry.ts:634",
132
132
  consumers: NO_CONSUMERS,
133
133
  futureOwnerIssue: ISSUE_SINK,
134
134
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -142,7 +142,7 @@ var CATALOG_SOURCE = [
142
142
  category: "lifecycle",
143
143
  severity: "debug",
144
144
  privacyClass: "pseudonymous",
145
- producer: "src/telemetry.ts:795",
145
+ producer: "src/telemetry.ts:816",
146
146
  consumers: CONSUMER_HEARTBEAT_LISTENER,
147
147
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
148
148
  requiredWorkflowIds: REQUIRE_SESSION,
@@ -155,7 +155,7 @@ var CATALOG_SOURCE = [
155
155
  category: "lifecycle",
156
156
  severity: "info",
157
157
  privacyClass: "pseudonymous",
158
- producer: "src/telemetry.ts:803",
158
+ producer: "src/telemetry.ts:824",
159
159
  consumers: NO_CONSUMERS,
160
160
  futureOwnerIssue: ISSUE_SINK,
161
161
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -168,7 +168,7 @@ var CATALOG_SOURCE = [
168
168
  category: "lifecycle",
169
169
  severity: "info",
170
170
  privacyClass: "pseudonymous",
171
- producer: "src/telemetry.ts:828",
171
+ producer: "src/telemetry.ts:849",
172
172
  consumers: NO_CONSUMERS,
173
173
  futureOwnerIssue: ISSUE_SINK,
174
174
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -182,7 +182,7 @@ var CATALOG_SOURCE = [
182
182
  category: "delegation",
183
183
  severity: "info",
184
184
  privacyClass: "pseudonymous",
185
- producer: "src/telemetry.ts:531",
185
+ producer: "src/telemetry.ts:552",
186
186
  consumers: NO_CONSUMERS,
187
187
  futureOwnerIssue: ISSUE_SINK,
188
188
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -196,7 +196,7 @@ var CATALOG_SOURCE = [
196
196
  category: "delegation",
197
197
  severity: "info",
198
198
  privacyClass: "pseudonymous",
199
- producer: "src/telemetry.ts:541",
199
+ producer: "src/telemetry.ts:562",
200
200
  consumers: CONSUMER_COST_ACCOUNTING,
201
201
  retentionOwnerIssue: ISSUE_COST_RETENTION,
202
202
  requiredWorkflowIds: REQUIRE_SESSION_AND_TASK,
@@ -249,7 +249,7 @@ var CATALOG_SOURCE = [
249
249
  category: "delegation",
250
250
  severity: "notice",
251
251
  privacyClass: "pseudonymous",
252
- producer: "src/telemetry.ts:646",
252
+ producer: "src/telemetry.ts:667",
253
253
  consumers: NO_CONSUMERS,
254
254
  futureOwnerIssue: ISSUE_SINK,
255
255
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -263,7 +263,7 @@ var CATALOG_SOURCE = [
263
263
  category: "delegation",
264
264
  severity: "warning",
265
265
  privacyClass: "pseudonymous",
266
- producer: "src/telemetry.ts:660",
266
+ producer: "src/telemetry.ts:681",
267
267
  consumers: NO_CONSUMERS,
268
268
  futureOwnerIssue: ISSUE_SINK,
269
269
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -277,7 +277,7 @@ var CATALOG_SOURCE = [
277
277
  category: "gate",
278
278
  severity: "info",
279
279
  privacyClass: "pseudonymous",
280
- producer: "src/telemetry.ts:574",
280
+ producer: "src/telemetry.ts:595",
281
281
  consumers: NO_CONSUMERS,
282
282
  futureOwnerIssue: ISSUE_SINK,
283
283
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -290,7 +290,7 @@ var CATALOG_SOURCE = [
290
290
  category: "gate",
291
291
  severity: "warning",
292
292
  privacyClass: "pseudonymous",
293
- producer: "src/telemetry.ts:591",
293
+ producer: "src/telemetry.ts:612",
294
294
  consumers: NO_CONSUMERS,
295
295
  futureOwnerIssue: ISSUE_SINK,
296
296
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -303,7 +303,7 @@ var CATALOG_SOURCE = [
303
303
  category: "gate",
304
304
  severity: "warning",
305
305
  privacyClass: "sensitive",
306
- producer: "src/telemetry.ts:578",
306
+ producer: "src/telemetry.ts:599",
307
307
  consumers: NO_CONSUMERS,
308
308
  futureOwnerIssue: ISSUE_SINK,
309
309
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -317,7 +317,7 @@ var CATALOG_SOURCE = [
317
317
  category: "gate",
318
318
  severity: "info",
319
319
  privacyClass: "pseudonymous",
320
- producer: "src/telemetry.ts:601",
320
+ producer: "src/telemetry.ts:622",
321
321
  consumers: CONSUMER_GATE_STATS,
322
322
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
323
323
  requiredWorkflowIds: REQUIRE_SESSION_AND_TASK
@@ -329,7 +329,7 @@ var CATALOG_SOURCE = [
329
329
  category: "cost",
330
330
  severity: "info",
331
331
  privacyClass: "pseudonymous",
332
- producer: "src/telemetry.ts:617",
332
+ producer: "src/telemetry.ts:638",
333
333
  consumers: NO_CONSUMERS,
334
334
  futureOwnerIssue: ISSUE_SINK,
335
335
  retentionOwnerIssue: ISSUE_COST_RETENTION,
@@ -342,7 +342,7 @@ var CATALOG_SOURCE = [
342
342
  category: "guardrail",
343
343
  severity: "notice",
344
344
  privacyClass: "pseudonymous",
345
- producer: "src/telemetry.ts:636",
345
+ producer: "src/telemetry.ts:657",
346
346
  consumers: NO_CONSUMERS,
347
347
  futureOwnerIssue: ISSUE_SINK,
348
348
  retentionOwnerIssue: ISSUE_SINK,
@@ -355,7 +355,7 @@ var CATALOG_SOURCE = [
355
355
  category: "guardrail",
356
356
  severity: "error",
357
357
  privacyClass: "pseudonymous",
358
- producer: "src/telemetry.ts:674",
358
+ producer: "src/telemetry.ts:695",
359
359
  consumers: NO_CONSUMERS,
360
360
  futureOwnerIssue: ISSUE_SINK,
361
361
  retentionOwnerIssue: ISSUE_SINK,
@@ -368,7 +368,7 @@ var CATALOG_SOURCE = [
368
368
  category: "guardrail",
369
369
  severity: "warning",
370
370
  privacyClass: "pseudonymous",
371
- producer: "src/telemetry.ts:683",
371
+ producer: "src/telemetry.ts:704",
372
372
  consumers: NO_CONSUMERS,
373
373
  futureOwnerIssue: ISSUE_SINK,
374
374
  retentionOwnerIssue: ISSUE_SINK,
@@ -381,7 +381,7 @@ var CATALOG_SOURCE = [
381
381
  category: "guardrail",
382
382
  severity: "warning",
383
383
  privacyClass: "sensitive",
384
- producer: "src/telemetry.ts:687",
384
+ producer: "src/telemetry.ts:708",
385
385
  consumers: NO_CONSUMERS,
386
386
  futureOwnerIssue: ISSUE_SINK,
387
387
  retentionOwnerIssue: ISSUE_SINK,
@@ -394,7 +394,7 @@ var CATALOG_SOURCE = [
394
394
  category: "guardrail",
395
395
  severity: "error",
396
396
  privacyClass: "sensitive",
397
- producer: "src/telemetry.ts:783",
397
+ producer: "src/telemetry.ts:804",
398
398
  consumers: NO_CONSUMERS,
399
399
  futureOwnerIssue: ISSUE_SINK,
400
400
  retentionOwnerIssue: ISSUE_SINK,
@@ -407,7 +407,7 @@ var CATALOG_SOURCE = [
407
407
  category: "guardrail",
408
408
  severity: "warning",
409
409
  privacyClass: "pseudonymous",
410
- producer: "src/telemetry.ts:791",
410
+ producer: "src/telemetry.ts:812",
411
411
  consumers: NO_CONSUMERS,
412
412
  futureOwnerIssue: ISSUE_SINK,
413
413
  retentionOwnerIssue: ISSUE_SINK,
@@ -420,7 +420,7 @@ var CATALOG_SOURCE = [
420
420
  category: "guardrail",
421
421
  severity: "warning",
422
422
  privacyClass: "pseudonymous",
423
- producer: "src/telemetry.ts:813",
423
+ producer: "src/telemetry.ts:834",
424
424
  consumers: NO_CONSUMERS,
425
425
  futureOwnerIssue: ISSUE_SINK,
426
426
  retentionOwnerIssue: ISSUE_SINK,
@@ -433,7 +433,7 @@ var CATALOG_SOURCE = [
433
433
  category: "guardrail",
434
434
  severity: "warning",
435
435
  privacyClass: "pseudonymous",
436
- producer: "src/telemetry.ts:701",
436
+ producer: "src/telemetry.ts:722",
437
437
  consumers: NO_CONSUMERS,
438
438
  futureOwnerIssue: ISSUE_SINK,
439
439
  retentionOwnerIssue: ISSUE_SINK,
@@ -446,7 +446,7 @@ var CATALOG_SOURCE = [
446
446
  category: "guardrail",
447
447
  severity: "warning",
448
448
  privacyClass: "pseudonymous",
449
- producer: "src/telemetry.ts:722",
449
+ producer: "src/telemetry.ts:743",
450
450
  consumers: NO_CONSUMERS,
451
451
  futureOwnerIssue: ISSUE_SINK,
452
452
  retentionOwnerIssue: ISSUE_SINK,
@@ -459,7 +459,7 @@ var CATALOG_SOURCE = [
459
459
  category: "guardrail",
460
460
  severity: "warning",
461
461
  privacyClass: "pseudonymous",
462
- producer: "src/telemetry.ts:736",
462
+ producer: "src/telemetry.ts:757",
463
463
  consumers: NO_CONSUMERS,
464
464
  futureOwnerIssue: ISSUE_SINK,
465
465
  retentionOwnerIssue: ISSUE_SINK,
@@ -472,7 +472,7 @@ var CATALOG_SOURCE = [
472
472
  category: "guardrail",
473
473
  severity: "error",
474
474
  privacyClass: "pseudonymous",
475
- producer: "src/telemetry.ts:753",
475
+ producer: "src/telemetry.ts:774",
476
476
  consumers: NO_CONSUMERS,
477
477
  futureOwnerIssue: ISSUE_SINK,
478
478
  retentionOwnerIssue: ISSUE_SINK,
@@ -485,7 +485,7 @@ var CATALOG_SOURCE = [
485
485
  category: "guardrail",
486
486
  severity: "error",
487
487
  privacyClass: "sensitive",
488
- producer: "src/telemetry.ts:770",
488
+ producer: "src/telemetry.ts:791",
489
489
  consumers: NO_CONSUMERS,
490
490
  futureOwnerIssue: ISSUE_SINK,
491
491
  retentionOwnerIssue: ISSUE_SINK,
@@ -498,7 +498,7 @@ var CATALOG_SOURCE = [
498
498
  category: "prm",
499
499
  severity: "error",
500
500
  privacyClass: "pseudonymous",
501
- producer: "src/telemetry.ts:1122",
501
+ producer: "src/telemetry.ts:1187",
502
502
  consumers: NO_CONSUMERS,
503
503
  futureOwnerIssue: ISSUE_SINK,
504
504
  retentionOwnerIssue: ISSUE_SINK,
@@ -511,7 +511,7 @@ var CATALOG_SOURCE = [
511
511
  category: "prm",
512
512
  severity: "notice",
513
513
  privacyClass: "pseudonymous",
514
- producer: "src/telemetry.ts:843",
514
+ producer: "src/telemetry.ts:864",
515
515
  consumers: NO_CONSUMERS,
516
516
  futureOwnerIssue: ISSUE_SINK,
517
517
  retentionOwnerIssue: ISSUE_SINK,
@@ -524,7 +524,7 @@ var CATALOG_SOURCE = [
524
524
  category: "prm",
525
525
  severity: "notice",
526
526
  privacyClass: "pseudonymous",
527
- producer: "src/telemetry.ts:857",
527
+ producer: "src/telemetry.ts:878",
528
528
  consumers: NO_CONSUMERS,
529
529
  futureOwnerIssue: ISSUE_SINK,
530
530
  retentionOwnerIssue: ISSUE_SINK,
@@ -537,7 +537,7 @@ var CATALOG_SOURCE = [
537
537
  category: "prm",
538
538
  severity: "warning",
539
539
  privacyClass: "pseudonymous",
540
- producer: "src/telemetry.ts:870",
540
+ producer: "src/telemetry.ts:891",
541
541
  consumers: NO_CONSUMERS,
542
542
  futureOwnerIssue: ISSUE_SINK,
543
543
  retentionOwnerIssue: ISSUE_SINK,
@@ -550,7 +550,7 @@ var CATALOG_SOURCE = [
550
550
  category: "prm",
551
551
  severity: "critical",
552
552
  privacyClass: "pseudonymous",
553
- producer: "src/telemetry.ts:884",
553
+ producer: "src/telemetry.ts:905",
554
554
  consumers: NO_CONSUMERS,
555
555
  futureOwnerIssue: ISSUE_SINK,
556
556
  retentionOwnerIssue: ISSUE_SINK,
@@ -660,7 +660,7 @@ var CATALOG_SOURCE = [
660
660
  category: "lifecycle",
661
661
  severity: "notice",
662
662
  privacyClass: "operational",
663
- producer: "src/telemetry.ts:921",
663
+ producer: "src/telemetry.ts:942",
664
664
  consumers: NO_CONSUMERS,
665
665
  futureOwnerIssue: ISSUE_SINK,
666
666
  retentionOwnerIssue: ISSUE_SINK
@@ -700,7 +700,7 @@ var CATALOG_SOURCE = [
700
700
  category: "lifecycle",
701
701
  severity: "notice",
702
702
  privacyClass: "operational",
703
- producer: "src/telemetry.ts:943",
703
+ producer: "src/telemetry.ts:964",
704
704
  consumers: NO_CONSUMERS,
705
705
  futureOwnerIssue: ISSUE_SINK,
706
706
  retentionOwnerIssue: ISSUE_SINK,
@@ -714,7 +714,7 @@ var CATALOG_SOURCE = [
714
714
  category: "lifecycle",
715
715
  severity: "notice",
716
716
  privacyClass: "operational",
717
- producer: "src/telemetry.ts:967",
717
+ producer: "src/telemetry.ts:988",
718
718
  consumers: NO_CONSUMERS,
719
719
  futureOwnerIssue: ISSUE_SINK,
720
720
  retentionOwnerIssue: ISSUE_SINK,
@@ -728,7 +728,7 @@ var CATALOG_SOURCE = [
728
728
  category: "lifecycle",
729
729
  severity: "notice",
730
730
  privacyClass: "operational",
731
- producer: "src/telemetry.ts:1004",
731
+ producer: "src/telemetry.ts:1025",
732
732
  consumers: NO_CONSUMERS,
733
733
  futureOwnerIssue: ISSUE_SINK,
734
734
  retentionOwnerIssue: ISSUE_SINK,
@@ -742,7 +742,7 @@ var CATALOG_SOURCE = [
742
742
  category: "lifecycle",
743
743
  severity: "notice",
744
744
  privacyClass: "operational",
745
- producer: "src/telemetry.ts:1030",
745
+ producer: "src/telemetry.ts:1051",
746
746
  consumers: NO_CONSUMERS,
747
747
  futureOwnerIssue: ISSUE_SINK,
748
748
  retentionOwnerIssue: ISSUE_SINK,
@@ -756,7 +756,7 @@ var CATALOG_SOURCE = [
756
756
  category: "lifecycle",
757
757
  severity: "notice",
758
758
  privacyClass: "operational",
759
- producer: "src/telemetry.ts:1054",
759
+ producer: "src/telemetry.ts:1075",
760
760
  consumers: NO_CONSUMERS,
761
761
  futureOwnerIssue: ISSUE_SINK,
762
762
  retentionOwnerIssue: ISSUE_SINK,
@@ -770,7 +770,7 @@ var CATALOG_SOURCE = [
770
770
  category: "lifecycle",
771
771
  severity: "notice",
772
772
  privacyClass: "operational",
773
- producer: "src/telemetry.ts:1077",
773
+ producer: "src/telemetry.ts:1098",
774
774
  consumers: NO_CONSUMERS,
775
775
  futureOwnerIssue: ISSUE_SINK,
776
776
  retentionOwnerIssue: ISSUE_SINK,
@@ -784,13 +784,27 @@ var CATALOG_SOURCE = [
784
784
  category: "lifecycle",
785
785
  severity: "notice",
786
786
  privacyClass: "operational",
787
- producer: "src/telemetry.ts:1106",
787
+ producer: "src/telemetry.ts:1127",
788
788
  consumers: NO_CONSUMERS,
789
789
  futureOwnerIssue: ISSUE_SINK,
790
790
  retentionOwnerIssue: ISSUE_SINK,
791
791
  requiredWorkflowIds: NO_WORKFLOW_IDS,
792
792
  allowsLinks: false
793
793
  }
794
+ ],
795
+ [
796
+ "learning_health_alarm",
797
+ {
798
+ category: "lifecycle",
799
+ severity: "warning",
800
+ privacyClass: "operational",
801
+ producer: "src/telemetry.ts:1171",
802
+ consumers: NO_CONSUMERS,
803
+ futureOwnerIssue: ISSUE_SINK,
804
+ retentionOwnerIssue: 2044,
805
+ requiredWorkflowIds: NO_WORKFLOW_IDS,
806
+ allowsLinks: false
807
+ }
794
808
  ]
795
809
  ];
796
810
  var catalog = {};
@@ -933,6 +947,10 @@ var ALL_ZERO_SPAN_ID = "0".repeat(SPAN_ID_HEX_LENGTH);
933
947
  var SENTINEL_TRACE_ID = `${"0".repeat(TRACE_ID_HEX_LENGTH - 1)}1`;
934
948
  var SENTINEL_SPAN_ID = `${"0".repeat(SPAN_ID_HEX_LENGTH - 1)}1`;
935
949
  var MAX_REGENERATION_ATTEMPTS = 4;
950
+ var LINEAGE_SALT_ENV = "SWARM_OBSERVABILITY_LINEAGE_SALT";
951
+ var DEFAULT_LINEAGE_SALT = "opencode-swarm/observability/lineage/v1";
952
+ var LINEAGE_SEPARATOR = "\x00";
953
+ var PSEUDONYMOUS_REF_LENGTH = 16;
936
954
  function newTraceId() {
937
955
  for (let attempt = 0;attempt < MAX_REGENERATION_ATTEMPTS; attempt++) {
938
956
  const hex = randomBytes(TRACE_ID_BYTES).toString("hex");
@@ -975,6 +993,15 @@ function newTraceAndSpanId() {
975
993
  }
976
994
  return { traceId, spanId };
977
995
  }
996
+ function resolveLineageSalt() {
997
+ const configured = process.env[LINEAGE_SALT_ENV];
998
+ if (typeof configured === "string" && configured.length > 0)
999
+ return configured;
1000
+ return DEFAULT_LINEAGE_SALT;
1001
+ }
1002
+ function pseudonymousRef(absolutePath, salt) {
1003
+ return createHash("sha256").update(salt + LINEAGE_SEPARATOR + absolutePath, "utf8").digest("hex").slice(0, PSEUDONYMOUS_REF_LENGTH);
1004
+ }
978
1005
  // src/observability/legacy.ts
979
1006
  var LEGACY_TELEMETRY_SOURCE_STORE = ".swarm/telemetry.jsonl";
980
1007
  var NON_OBJECT_PAYLOAD_MARKER = "<non-object-payload>";
@@ -1281,6 +1308,35 @@ var KNOWN_TELEMETRY_KEYS = Object.freeze({
1281
1308
  "newest_timestamp",
1282
1309
  "coverage"
1283
1310
  ]),
1311
+ learning_health_alarm: Object.freeze([
1312
+ "alarm",
1313
+ "transition",
1314
+ "severity",
1315
+ "scope_class",
1316
+ "session_ref",
1317
+ "model",
1318
+ "provider",
1319
+ "window_ms",
1320
+ "coverage_facts",
1321
+ "raise_facts",
1322
+ "age_ms",
1323
+ "limit_source",
1324
+ "denominator_fallback",
1325
+ "pressure_pct",
1326
+ "band",
1327
+ "share_pct",
1328
+ "field_count",
1329
+ "non_field_count",
1330
+ "store",
1331
+ "dropped",
1332
+ "corrupt",
1333
+ "retained",
1334
+ "accepted",
1335
+ "gap_type",
1336
+ "role",
1337
+ "phase",
1338
+ "reason"
1339
+ ]),
1284
1340
  core_events_health: Object.freeze([
1285
1341
  "trigger",
1286
1342
  "accepted_count",
@@ -1800,6 +1856,11 @@ function emit(event, data) {
1800
1856
  function addTelemetryListener(callback) {
1801
1857
  _listeners.push(callback);
1802
1858
  }
1859
+ function removeTelemetryListener(callback) {
1860
+ const idx = _listeners.indexOf(callback);
1861
+ if (idx >= 0)
1862
+ _listeners.splice(idx, 1);
1863
+ }
1803
1864
  function rotateTelemetryIfNeeded(maxBytes = 10 * 1024 * 1024) {
1804
1865
  try {
1805
1866
  if (_projectDirectory === null) {
@@ -2074,6 +2135,9 @@ var telemetry = {
2074
2135
  prSubscriptionHealth(data) {
2075
2136
  _internals.emit("pr_subscription_health", data);
2076
2137
  },
2138
+ learningHealthAlarm(data) {
2139
+ _internals.emit("learning_health_alarm", data);
2140
+ },
2077
2141
  prmHardStopDelivered(sessionId, pattern, level, occurrenceCount) {
2078
2142
  _internals.emit("prm_hard_stop_delivered", {
2079
2143
  sessionId,
@@ -2093,4 +2157,4 @@ var _internals = {
2093
2157
  toLegacyTelemetryLine
2094
2158
  };
2095
2159
 
2096
- export { startHeartbeatTracking, getLastHeartbeat, stopHeartbeatTracking, resetHeartbeatTrackingForTesting, ROTATION_CHECK_INTERVAL, resetTelemetryForTesting, initTelemetry, emit, addTelemetryListener, rotateTelemetryIfNeeded, flushAndDrainTelemetry, telemetry, _internals };
2160
+ export { resolveLineageSalt, pseudonymousRef, startHeartbeatTracking, getLastHeartbeat, stopHeartbeatTracking, resetHeartbeatTrackingForTesting, ROTATION_CHECK_INTERVAL, resetTelemetryForTesting, initTelemetry, emit, addTelemetryListener, removeTelemetryListener, rotateTelemetryIfNeeded, flushAndDrainTelemetry, telemetry, _internals };