@wrongstack/core 0.313.0 → 0.316.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 (343) hide show
  1. package/dist/chronicle/index.js +84 -6391
  2. package/dist/chronicle/legacy-journal-import.d.ts +0 -6
  3. package/dist/chronicle/metrics-ingest.d.ts +14 -0
  4. package/dist/chronicle/metrics-schema.d.ts +10 -1
  5. package/dist/chronicle/metrics-store.d.ts +20 -2
  6. package/dist/chronicle/project-server.js +98 -4874
  7. package/dist/chronicle/sink.d.ts +13 -0
  8. package/dist/chronicle/sqlite-journal.d.ts +20 -2
  9. package/dist/chunk-25LSLC3G.js +334 -0
  10. package/dist/chunk-27QIURLN.js +1073 -0
  11. package/dist/chunk-2FK4WTFF.js +207 -0
  12. package/dist/chunk-2YU4WVBW.js +134 -0
  13. package/dist/chunk-3AGWVSS7.js +4608 -0
  14. package/dist/chunk-3BDV7RL3.js +211 -0
  15. package/dist/chunk-3ECENVHL.js +325 -0
  16. package/dist/chunk-3XPVB7BA.js +135 -0
  17. package/dist/chunk-45WI72ZB.js +16884 -0
  18. package/dist/chunk-4BMVPOHO.js +3748 -0
  19. package/dist/chunk-4I7HGVVA.js +363 -0
  20. package/dist/chunk-4LCZVJVF.js +317 -0
  21. package/dist/chunk-4SJNS7OB.js +217 -0
  22. package/dist/chunk-4VWO3ZXL.js +342 -0
  23. package/dist/chunk-57GEWK5X.js +26 -0
  24. package/dist/chunk-5BMIE7QG.js +46 -0
  25. package/dist/chunk-5S437PRC.js +50 -0
  26. package/dist/chunk-5XDUGTKN.js +511 -0
  27. package/dist/chunk-5YPSXQXM.js +1443 -0
  28. package/dist/chunk-6FHWXLPT.js +10 -0
  29. package/dist/chunk-6H5GEOET.js +2406 -0
  30. package/dist/chunk-6NWEVFEL.js +151 -0
  31. package/dist/chunk-AYW5YINX.js +58 -0
  32. package/dist/chunk-B4AMLZPB.js +9 -0
  33. package/dist/chunk-B7F4WVP4.js +65 -0
  34. package/dist/chunk-BJHVULHO.js +55 -0
  35. package/dist/chunk-BPBKKBUK.js +2085 -0
  36. package/dist/chunk-BYD345OX.js +589 -0
  37. package/dist/chunk-C27KDLOX.js +279 -0
  38. package/dist/chunk-CU546ESW.js +597 -0
  39. package/dist/chunk-DLHHXUAM.js +172 -0
  40. package/dist/chunk-DOTHQSJ2.js +429 -0
  41. package/dist/chunk-DYLPMV4Q.js +711 -0
  42. package/dist/chunk-EODDVJBM.js +82 -0
  43. package/dist/chunk-F3JWNST7.js +361 -0
  44. package/dist/chunk-FC2ZGRF3.js +140 -0
  45. package/dist/chunk-FCBTO76Z.js +5786 -0
  46. package/dist/chunk-FHZVFYSL.js +396 -0
  47. package/dist/chunk-FNXVT7HF.js +52 -0
  48. package/dist/chunk-FWNLEZYG.js +259 -0
  49. package/dist/chunk-FXQLIX3K.js +211 -0
  50. package/dist/chunk-G5S3S5ZN.js +38 -0
  51. package/dist/chunk-GDQ7CZRQ.js +116 -0
  52. package/dist/chunk-GJJGJB2R.js +1374 -0
  53. package/dist/chunk-GTCU6DZ3.js +1 -0
  54. package/dist/chunk-HA4ZYA6T.js +178 -0
  55. package/dist/chunk-HI3JGZR2.js +188 -0
  56. package/dist/chunk-HMLIGAU7.js +395 -0
  57. package/dist/chunk-HXKZ7OBQ.js +303 -0
  58. package/dist/chunk-I7DALG7J.js +292 -0
  59. package/dist/chunk-IRUTEHCE.js +960 -0
  60. package/dist/chunk-IYFBFX34.js +86 -0
  61. package/dist/chunk-J2WRWR37.js +1104 -0
  62. package/dist/chunk-JFPJ6LLQ.js +129 -0
  63. package/dist/chunk-JMULFFLN.js +9 -0
  64. package/dist/chunk-JO4MGB6Z.js +1264 -0
  65. package/dist/chunk-JVKB2TBL.js +48 -0
  66. package/dist/chunk-JX7VBZDK.js +31 -0
  67. package/dist/chunk-K6BXGITA.js +931 -0
  68. package/dist/chunk-KDQJCT2J.js +45 -0
  69. package/dist/chunk-KJ2ZTQSL.js +47 -0
  70. package/dist/chunk-KZMSZV32.js +187 -0
  71. package/dist/chunk-LA7CLDRW.js +129 -0
  72. package/dist/chunk-LHOA5DWA.js +28 -0
  73. package/dist/chunk-LSMMOS2Z.js +119 -0
  74. package/dist/chunk-LX5QWLBL.js +27 -0
  75. package/dist/chunk-LXWCMQNJ.js +789 -0
  76. package/dist/chunk-M27LIEKV.js +2829 -0
  77. package/dist/chunk-MJPHJRAL.js +663 -0
  78. package/dist/chunk-MTL4O5YR.js +228 -0
  79. package/dist/chunk-NDBIPFNY.js +102 -0
  80. package/dist/chunk-NEMIWEXC.js +1199 -0
  81. package/dist/chunk-NHJ75HXY.js +1 -0
  82. package/dist/chunk-NIOAGFPB.js +1510 -0
  83. package/dist/chunk-NS52ISWS.js +355 -0
  84. package/dist/chunk-NSOFPKGT.js +5352 -0
  85. package/dist/chunk-NVIZG63R.js +757 -0
  86. package/dist/chunk-O37BQ65S.js +21 -0
  87. package/dist/chunk-OOYZPOXM.js +308 -0
  88. package/dist/chunk-OSGLYW5J.js +28 -0
  89. package/dist/chunk-PFCMSSUF.js +1640 -0
  90. package/dist/chunk-PFZO3C6H.js +14 -0
  91. package/dist/chunk-PGRVXIMY.js +158 -0
  92. package/dist/chunk-PHH7LD45.js +113 -0
  93. package/dist/chunk-PISBFBJN.js +109 -0
  94. package/dist/chunk-POOOIWE5.js +9 -0
  95. package/dist/chunk-PQNS3U7Z.js +1240 -0
  96. package/dist/chunk-QSTSJOCK.js +402 -0
  97. package/dist/chunk-RFQMOKWK.js +282 -0
  98. package/dist/chunk-RJIZEJ42.js +30 -0
  99. package/dist/chunk-RTOTNK3P.js +484 -0
  100. package/dist/chunk-RXKSDUAU.js +1172 -0
  101. package/dist/chunk-S45JPKQN.js +3317 -0
  102. package/dist/chunk-SAFHACFA.js +152 -0
  103. package/dist/chunk-SQJVFEBV.js +41 -0
  104. package/dist/chunk-SVT4RNTR.js +49 -0
  105. package/dist/chunk-SWUFN7XM.js +43 -0
  106. package/dist/chunk-SXMVYC5H.js +174 -0
  107. package/dist/chunk-SZ6AYUIZ.js +23 -0
  108. package/dist/chunk-TBRL2RCC.js +9 -0
  109. package/dist/chunk-TCCHINEF.js +655 -0
  110. package/dist/chunk-THEGTRAG.js +316 -0
  111. package/dist/chunk-TR4LQE7L.js +2256 -0
  112. package/dist/chunk-TRT2HRWZ.js +18 -0
  113. package/dist/chunk-TWJMGXCI.js +900 -0
  114. package/dist/chunk-U45AXT5D.js +1023 -0
  115. package/dist/chunk-U4FWBSO3.js +509 -0
  116. package/dist/chunk-UBGDX6FI.js +147 -0
  117. package/dist/chunk-UJILKYES.js +75 -0
  118. package/dist/chunk-ULMAQV3T.js +234 -0
  119. package/dist/chunk-VVBP6KGT.js +9 -0
  120. package/dist/chunk-W5VITDM2.js +168 -0
  121. package/dist/chunk-WAHQVNWT.js +194 -0
  122. package/dist/chunk-WBPVKEEE.js +227 -0
  123. package/dist/chunk-WGGYRBXH.js +5434 -0
  124. package/dist/chunk-WLYKU45P.js +5770 -0
  125. package/dist/chunk-WP7BVANJ.js +53 -0
  126. package/dist/chunk-WQQON3SV.js +473 -0
  127. package/dist/chunk-WQTOVMGV.js +119 -0
  128. package/dist/chunk-XBDP4QPW.js +7 -0
  129. package/dist/chunk-XEBHSJLT.js +103 -0
  130. package/dist/chunk-XF4VUMKW.js +231 -0
  131. package/dist/chunk-XQ2ECNK3.js +1 -0
  132. package/dist/chunk-Y5YXDM7D.js +74 -0
  133. package/dist/chunk-YOPAUVU4.js +2588 -0
  134. package/dist/chunk-YPT4A46F.js +362 -0
  135. package/dist/chunk-YWXT3JNM.js +425 -0
  136. package/dist/chunk-YY6APYUM.js +49 -0
  137. package/dist/chunk-Z2IJUO45.js +691 -0
  138. package/dist/chunk-ZHZ2Y2DH.js +1643 -0
  139. package/dist/chunk-ZT7JNIGX.js +152 -0
  140. package/dist/coordination/agent-monitor.d.ts +9 -1
  141. package/dist/coordination/agent-subagent-runner.d.ts +1 -1
  142. package/dist/coordination/agents/agent-prompts.d.ts +8 -0
  143. package/dist/coordination/agents/index.d.ts +33 -1
  144. package/dist/coordination/agents/index.js +184 -6269
  145. package/dist/coordination/agents/phase3-wave1-platform.d.ts +1 -3
  146. package/dist/coordination/agents/phase3-wave2-meta.d.ts +1 -3
  147. package/dist/coordination/agents/phase8-wave3-products.d.ts +1 -3
  148. package/dist/coordination/agents/phase9-wave4-platform-meta.d.ts +1 -3
  149. package/dist/coordination/agents/project-agent-identity.d.ts +11 -11
  150. package/dist/coordination/agents/types.d.ts +13 -2
  151. package/dist/coordination/brain-monitor.d.ts +30 -7
  152. package/dist/coordination/collab-debug.d.ts +1 -1
  153. package/dist/coordination/collab-pause.d.ts +1 -1
  154. package/dist/coordination/delegate-tool.d.ts +7 -5
  155. package/dist/coordination/director-kanban-queue-helpers.d.ts +1 -0
  156. package/dist/coordination/director-options.d.ts +7 -0
  157. package/dist/coordination/director-spawn-model.d.ts +17 -0
  158. package/dist/coordination/director-tools.d.ts +2 -2
  159. package/dist/coordination/director.d.ts +12 -0
  160. package/dist/coordination/dispatcher.d.ts +8 -0
  161. package/dist/coordination/fleet-bus.d.ts +35 -4
  162. package/dist/coordination/fleet-supervisor.d.ts +10 -2
  163. package/dist/coordination/fleet.d.ts +16 -7
  164. package/dist/coordination/index.d.ts +4 -0
  165. package/dist/coordination/index.js +402 -34324
  166. package/dist/coordination/kanban-dispatch-port.d.ts +2 -2
  167. package/dist/coordination/mailbox-http-router.d.ts +4 -3
  168. package/dist/coordination/mailbox-http-validation.d.ts +1 -1
  169. package/dist/coordination/mailbox-project-server.js +48 -3276
  170. package/dist/coordination/mailbox-types.d.ts +24 -6
  171. package/dist/coordination/model-tier-leader.d.ts +122 -0
  172. package/dist/coordination/model-tier.d.ts +122 -0
  173. package/dist/coordination/multi-agent-coordinator.d.ts +24 -0
  174. package/dist/coordination/origin-session.d.ts +16 -0
  175. package/dist/coordination/provider-status-tracker.d.ts +41 -5
  176. package/dist/coordination/session-note-hub.d.ts +44 -0
  177. package/dist/coordination/session-note-tool.d.ts +10 -0
  178. package/dist/core/agent.d.ts +15 -2
  179. package/dist/core/context.d.ts +22 -3
  180. package/dist/core/index.d.ts +2 -0
  181. package/dist/core/index.js +239 -12360
  182. package/dist/core/model-ref.js +5 -23
  183. package/dist/core/provider-runner.d.ts +36 -1
  184. package/dist/core/request-conversation-binding.d.ts +37 -0
  185. package/dist/core/session-notes.d.ts +25 -0
  186. package/dist/core/system-prompt-builder.d.ts +11 -2
  187. package/dist/core/system-prompt-variants.d.ts +78 -0
  188. package/dist/design/index.js +50 -1087
  189. package/dist/execution/auto-compaction-middleware.d.ts +11 -0
  190. package/dist/execution/autonomy-brain.d.ts +2 -1
  191. package/dist/execution/autonomy-prompt-contributor.d.ts +7 -2
  192. package/dist/execution/compaction-core.d.ts +4 -4
  193. package/dist/execution/eternal-autonomy.d.ts +1 -1
  194. package/dist/execution/index.d.ts +1 -1
  195. package/dist/execution/index.js +1615 -21895
  196. package/dist/execution/model-runtime.d.ts +0 -7
  197. package/dist/execution/parallel-eternal-engine.d.ts +7 -7
  198. package/dist/execution/prompt-enhancer.js +16 -535
  199. package/dist/execution/retry-policy.d.ts +31 -1
  200. package/dist/extension/index.js +7 -311
  201. package/dist/goal/index.js +33 -3435
  202. package/dist/hooks/index.js +14 -1138
  203. package/dist/hq/index.js +114 -5139
  204. package/dist/hq/persistence/event-log.d.ts +0 -1
  205. package/dist/hq/persistence.d.ts +4 -4
  206. package/dist/hq/protocol.js +21 -668
  207. package/dist/hq/publisher.d.ts +2 -0
  208. package/dist/index.d.ts +14 -11
  209. package/dist/index.js +1502 -92655
  210. package/dist/infrastructure/index.d.ts +4 -4
  211. package/dist/infrastructure/index.js +504 -5230
  212. package/dist/infrastructure/token-counter.d.ts +9 -0
  213. package/dist/kernel/events/agent-events.d.ts +77 -3
  214. package/dist/kernel/events/brain-events.d.ts +12 -0
  215. package/dist/kernel/events/provider-events.d.ts +22 -1
  216. package/dist/kernel/events/session-events.d.ts +14 -0
  217. package/dist/kernel/events/tool-events.d.ts +13 -0
  218. package/dist/kernel/index.js +14 -992
  219. package/dist/mailbox-attach.d.ts +1 -1
  220. package/dist/models/index.js +41 -1117
  221. package/dist/notifications/index.js +3 -108
  222. package/dist/observability/event-bridge.d.ts +25 -5
  223. package/dist/observability/index.d.ts +9 -8
  224. package/dist/observability/index.js +477 -631
  225. package/dist/observability/tool-usage-source.d.ts +65 -0
  226. package/dist/plugin/index.d.ts +5 -0
  227. package/dist/plugin/index.js +600 -14835
  228. package/dist/plugins/auto-review-plugin.d.ts +3 -2
  229. package/dist/plugins/review-finding-commands.d.ts +0 -8
  230. package/dist/plugins/review-finding-store.js +22 -0
  231. package/dist/plugins/review-finding-types.js +19 -0
  232. package/dist/plugins/review-report-integration.js +21 -0
  233. package/dist/plugins/review-report-store.js +20 -0
  234. package/dist/plugins/review-report-types.js +13 -0
  235. package/dist/prompts/index.js +14 -948
  236. package/dist/registry/index.js +9 -822
  237. package/dist/registry/tool-registry.d.ts +59 -9
  238. package/dist/registry-7N4O3E7W.js +14 -0
  239. package/dist/replay/index.js +6 -84
  240. package/dist/security/capabilities.d.ts +6 -0
  241. package/dist/security/file-permissions.d.ts +1 -1
  242. package/dist/security/index.js +161 -2235
  243. package/dist/security/permission-policy.d.ts +12 -1
  244. package/dist/security/secret-scrubber.d.ts +15 -0
  245. package/dist/session-catalog/index.d.ts +1 -0
  246. package/dist/session-catalog/index.js +41 -2103
  247. package/dist/session-catalog/project-server.js +59 -1435
  248. package/dist/session-catalog/protocol.d.ts +32 -1
  249. package/dist/session-catalog/registry.d.ts +17 -1
  250. package/dist/session-catalog/session-agents.d.ts +56 -0
  251. package/dist/session-catalog/store-rebuild.d.ts +14 -0
  252. package/dist/session-catalog/store-schema.d.ts +26 -0
  253. package/dist/session-catalog/store.d.ts +27 -1
  254. package/dist/session-note-attach.d.ts +9 -0
  255. package/dist/skills/index.js +35 -1578
  256. package/dist/statusline/index.d.ts +43 -0
  257. package/dist/statusline/index.js +102 -0
  258. package/dist/storage/board-store-port.d.ts +2 -2
  259. package/dist/storage/config-loader/in-project-policy.d.ts +29 -0
  260. package/dist/storage/config-loader.d.ts +3 -2
  261. package/dist/storage/file-session-writer.d.ts +4 -2
  262. package/dist/storage/goal-coordination.d.ts +6 -1
  263. package/dist/storage/goal-kanban.d.ts +4 -1
  264. package/dist/storage/index.d.ts +12 -4
  265. package/dist/storage/index.js +198 -15601
  266. package/dist/storage/input-history-store.d.ts +2 -4
  267. package/dist/storage/memory-curator.d.ts +133 -0
  268. package/dist/storage/session-agent-attribution.d.ts +39 -0
  269. package/dist/storage/session-doctor.d.ts +109 -0
  270. package/dist/storage/session-event-bridge.d.ts +5 -7
  271. package/dist/storage/session-outcome.d.ts +42 -0
  272. package/dist/storage/session-recovery.d.ts +55 -0
  273. package/dist/storage/session-store/load-session-data.d.ts +11 -0
  274. package/dist/storage/session-store/prune-helpers.d.ts +1 -1
  275. package/dist/storage/session-store/resume-session.d.ts +0 -2
  276. package/dist/storage/session-store/types.d.ts +8 -0
  277. package/dist/storage/session-store.d.ts +3 -3
  278. package/dist/storage/session-summary-tracker.d.ts +8 -1
  279. package/dist/storage/session-write-buffer.d.ts +18 -0
  280. package/dist/storage/session-writer-truncate.d.ts +2 -0
  281. package/dist/tasking/index.js +10 -676
  282. package/dist/tools/fallback-manage-tools.d.ts +6 -4
  283. package/dist/tools/index.js +52 -9590
  284. package/dist/tools/model-tier-set-tool.d.ts +66 -0
  285. package/dist/types/agent-bridge.d.ts +2 -1
  286. package/dist/types/config/autonomy.d.ts +5 -0
  287. package/dist/types/config/mcp-features.d.ts +7 -0
  288. package/dist/types/config/model-tiers.d.ts +148 -0
  289. package/dist/types/config/root.d.ts +9 -0
  290. package/dist/types/config/tools.d.ts +73 -0
  291. package/dist/types/config/ui.d.ts +1 -1
  292. package/dist/types/config.d.ts +1 -0
  293. package/dist/types/context.d.ts +2 -0
  294. package/dist/types/default-config.d.ts +6 -0
  295. package/dist/types/errors.d.ts +20 -1
  296. package/dist/types/index.d.ts +11 -9
  297. package/dist/types/index.js +131 -1342
  298. package/dist/types/multi-agent.d.ts +43 -0
  299. package/dist/types/plugin.d.ts +1 -1
  300. package/dist/types/provider-runner.d.ts +8 -0
  301. package/dist/types/provider.d.ts +15 -0
  302. package/dist/types/runtime-capability-manifest.d.ts +1 -1
  303. package/dist/types/secret-scrubber.d.ts +15 -0
  304. package/dist/types/session-markers.d.ts +37 -10
  305. package/dist/types/session-markers.js +8 -144
  306. package/dist/types/session-timeline.d.ts +197 -0
  307. package/dist/types/session-timeline.js +12 -0
  308. package/dist/types/session.d.ts +172 -11
  309. package/dist/types/system-prompt.d.ts +27 -0
  310. package/dist/utils/config-backup.d.ts +9 -1
  311. package/dist/utils/error.js +3 -4
  312. package/dist/utils/expect-defined.js +3 -9
  313. package/dist/utils/heap-watchdog.js +6 -706
  314. package/dist/utils/index.js +271 -5685
  315. package/dist/utils/message-invariants.d.ts +4 -1
  316. package/dist/utils/regex-guard.d.ts +1 -1
  317. package/dist/utils/sage-output-block.js +5 -42
  318. package/dist/utils/socket-path.d.ts +1 -1
  319. package/dist/utils/token-estimate.d.ts +6 -2
  320. package/dist/utils/wstack-paths.d.ts +2 -0
  321. package/dist/wiring/proxy-rewrite.d.ts +46 -0
  322. package/dist/wiring/proxy-rewrite.js +24 -121
  323. package/dist/worktree/index.js +6 -887
  324. package/instructions/agents/explore-companion.md +45 -18
  325. package/instructions/agents/memory-curator.md +34 -22
  326. package/instructions/coordination/director-preamble.md +12 -7
  327. package/instructions/coordination/subagent-baseline.md +26 -5
  328. package/instructions/leader-after-task.md +4 -1
  329. package/instructions/llm/chimera-review.md +30 -9
  330. package/instructions/llm/memory-curator.md +31 -0
  331. package/instructions/sections/tool/delegation-compact.md +2 -0
  332. package/instructions/sections/tool/delegation-full.md +5 -1
  333. package/instructions/sections/tool/mailbox-compact.md +5 -1
  334. package/instructions/sections/tool/mailbox-full.md +3 -0
  335. package/instructions/sections/tool/session-note-compact.md +3 -0
  336. package/instructions/sections/tool/session-note-full.md +15 -0
  337. package/instructions/system-lite.md +9 -4
  338. package/instructions/system-pro.md +66 -143
  339. package/instructions/system.md +73 -175
  340. package/package.json +32 -4
  341. package/dist/coordination/agents.d.ts +0 -8
  342. package/dist/coordination/transport.d.ts +0 -2
  343. package/dist/storage/session-writer/session-writer-summary-tracker.d.ts +0 -28
@@ -0,0 +1,152 @@
1
+ import {
2
+ ensureProjectGitignore
3
+ } from "./chunk-HI3JGZR2.js";
4
+
5
+ // src/utils/config-backup.ts
6
+ import * as fs from "node:fs/promises";
7
+ import * as path from "node:path";
8
+ function configHistoryDir(globalRoot) {
9
+ return path.join(globalRoot, "config-history");
10
+ }
11
+ function configSlug(absolutePath, globalRoot) {
12
+ const rel = path.relative(globalRoot, absolutePath);
13
+ const normalized = rel.replace(/\\/g, "/").replace(/\.json$/i, "");
14
+ return normalized.replace(/[^a-zA-Z0-9_-]+/g, "-").replace(/^-+|-+$/g, "") || "config";
15
+ }
16
+ async function backupConfigFile(filePath, paths) {
17
+ let currentContent;
18
+ try {
19
+ currentContent = await fs.readFile(filePath, "utf8");
20
+ if (!currentContent.trim()) return;
21
+ } catch {
22
+ return;
23
+ }
24
+ const now = /* @__PURE__ */ new Date();
25
+ const ts = now.toISOString().replace(/[:.]/g, "-").replace(/Z$/, "");
26
+ const slug = configSlug(filePath, paths.globalRoot);
27
+ const backupDir = configHistoryDir(paths.globalRoot);
28
+ const backupFile = path.join(backupDir, `${slug}-${ts}.json`);
29
+ try {
30
+ await fs.mkdir(backupDir, { recursive: true });
31
+ await fs.writeFile(backupFile, currentContent, { mode: 384, encoding: "utf8" });
32
+ } catch {
33
+ }
34
+ }
35
+
36
+ // src/utils/project-state-guard.ts
37
+ import * as fs2 from "node:fs";
38
+ import * as fsp from "node:fs/promises";
39
+ import * as path2 from "node:path";
40
+ var PROJECT_STATE_DIRECTORY = ".wrongstack";
41
+ var DEFAULT_POLL_INTERVAL_MS = 1e3;
42
+ var REPAIR_DEBOUNCE_MS = 25;
43
+ var ACTIVE_GUARD_KEY = /* @__PURE__ */ Symbol.for("wrongstack.activeProjectStateGuard");
44
+ var globalScope = globalThis;
45
+ globalScope[ACTIVE_GUARD_KEY] ??= {};
46
+ var activeGuard = globalScope[ACTIVE_GUARD_KEY];
47
+ function normalizedRoot(root) {
48
+ const resolved = path2.resolve(root);
49
+ return process.platform === "win32" ? resolved.toLowerCase() : resolved;
50
+ }
51
+ function concernsProjectState(filename) {
52
+ if (filename === null) return true;
53
+ const firstSegment = String(filename).replaceAll("\\", "/").split("/")[0];
54
+ return firstSegment?.toLowerCase() === PROJECT_STATE_DIRECTORY;
55
+ }
56
+ async function startProjectStateGuard(projectRoot, options = {}) {
57
+ const root = path2.resolve(projectRoot);
58
+ const directory = path2.join(root, PROJECT_STATE_DIRECTORY);
59
+ const pollIntervalMs = Math.max(25, options.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS);
60
+ let closed = false;
61
+ let repairPending = false;
62
+ let repairInFlight;
63
+ let repairTimer;
64
+ const ensureDirectory = async () => {
65
+ await fsp.mkdir(directory, { recursive: true });
66
+ };
67
+ const ensureInvariant = async () => {
68
+ await ensureDirectory();
69
+ try {
70
+ await ensureProjectGitignore(root);
71
+ } catch (error) {
72
+ options.onError?.(error);
73
+ }
74
+ };
75
+ const scheduleRepair = () => {
76
+ if (closed) return;
77
+ repairPending = true;
78
+ if (repairInFlight || repairTimer) return;
79
+ repairTimer = setTimeout(() => {
80
+ repairTimer = void 0;
81
+ repairInFlight = (async () => {
82
+ while (!closed && repairPending) {
83
+ repairPending = false;
84
+ try {
85
+ const rootState = await fsp.stat(root).catch(() => void 0);
86
+ if (!rootState?.isDirectory()) return;
87
+ await ensureInvariant();
88
+ } catch (error) {
89
+ options.onError?.(error);
90
+ }
91
+ }
92
+ })().finally(() => {
93
+ repairInFlight = void 0;
94
+ if (repairPending && !closed) scheduleRepair();
95
+ });
96
+ }, REPAIR_DEBOUNCE_MS);
97
+ repairTimer.unref?.();
98
+ };
99
+ await ensureDirectory();
100
+ await ensureProjectGitignore(root).catch((error) => options.onError?.(error));
101
+ let watcher;
102
+ try {
103
+ watcher = fs2.watch(root, { persistent: false }, (_eventType, filename) => {
104
+ if (concernsProjectState(filename) || String(filename).toLowerCase() === ".gitignore") {
105
+ scheduleRepair();
106
+ }
107
+ });
108
+ watcher.on("error", (error) => {
109
+ options.onError?.(error);
110
+ watcher = void 0;
111
+ scheduleRepair();
112
+ });
113
+ } catch (error) {
114
+ options.onError?.(error);
115
+ }
116
+ const poll = setInterval(scheduleRepair, pollIntervalMs);
117
+ poll.unref?.();
118
+ return {
119
+ directory,
120
+ close() {
121
+ if (closed) return;
122
+ closed = true;
123
+ clearInterval(poll);
124
+ if (repairTimer) clearTimeout(repairTimer);
125
+ repairTimer = void 0;
126
+ try {
127
+ watcher?.close();
128
+ } catch {
129
+ }
130
+ watcher = void 0;
131
+ }
132
+ };
133
+ }
134
+ async function activateProjectStateGuard(projectRoot, options = {}) {
135
+ const root = normalizedRoot(projectRoot);
136
+ if (activeGuard.root === root && activeGuard.guard) return activeGuard.guard;
137
+ const next = await startProjectStateGuard(projectRoot, options);
138
+ const previous = activeGuard.guard;
139
+ activeGuard.root = root;
140
+ activeGuard.guard = next;
141
+ previous?.close();
142
+ return next;
143
+ }
144
+
145
+ export {
146
+ configHistoryDir,
147
+ configSlug,
148
+ backupConfigFile,
149
+ startProjectStateGuard,
150
+ activateProjectStateGuard
151
+ };
152
+ //# sourceMappingURL=chunk-ZT7JNIGX.js.map
@@ -104,8 +104,16 @@ export declare class AgentMonitorService {
104
104
  *
105
105
  * Entries already in the ring win: a live subagent's in-memory segment is
106
106
  * newer than its JSONL, which is only written when a segment closes.
107
+ *
108
+ * `only` restricts BOTH the disk scan and the returned set to a known list of
109
+ * subagent ids. This is how a session gets ITS OWN subagents back: the
110
+ * transcripts directory is shared by every session of the project, so the
111
+ * unfiltered form hands each of four open tabs the union of all four tabs'
112
+ * workers. The caller derives the list from the session's own journal
113
+ * (`deriveSessionAgents`), which is the only record that says which agents
114
+ * belong to which session.
107
115
  */
108
- loadSessionsFromDisk(): Promise<AgentVirtualSession[]>;
116
+ loadSessionsFromDisk(only?: readonly string[]): Promise<AgentVirtualSession[]>;
109
117
  private _readTranscriptFile;
110
118
  /** Get a specific agent's virtual session, or undefined. */
111
119
  getSession(subagentId: string): AgentVirtualSession | undefined;
@@ -36,7 +36,7 @@ export interface AgentFactoryResult {
36
36
  * thrown here are swallowed so a flaky cleanup can't mask the task's
37
37
  * real result.
38
38
  */
39
- dispose?: ((() => Promise<void> | void)) | undefined;
39
+ dispose?: (() => Promise<void> | void) | undefined;
40
40
  }
41
41
  export interface AgentRunnerOptions {
42
42
  factory: AgentFactory;
@@ -1,2 +1,10 @@
1
+ /**
2
+ * Number of live prompt-cache entries.
3
+ *
4
+ * Exposed so the "one entry per role, regardless of how many times the overlay
5
+ * is rewritten" bound above is testable. The old fingerprint-in-key scheme grew
6
+ * this without limit and nothing could observe it.
7
+ */
8
+ export declare function agentPromptCacheSize(): number;
1
9
  export declare function agentPrompt(id: string): string;
2
10
  //# sourceMappingURL=agent-prompts.d.ts.map
@@ -23,13 +23,33 @@ import { WAVE3_AGENTS } from './phase8-wave3-products.js';
23
23
  import { META_AGENTS } from './phase9-meta.js';
24
24
  import { WAVE4_AGENTS } from './phase9-wave4-platform-meta.js';
25
25
  import { ROLE_SKILL_SETS, SHADOW_AGENT_SKILLS } from './role-skills.js';
26
- import type { AgentDefinition } from './types.js';
26
+ import type { AgentCapability, AgentDefinition } from './types.js';
27
27
  export * from './capability-manifest.js';
28
28
  export * from './phase3-wave1-platform.js';
29
29
  export * from './phase3-wave2-meta.js';
30
30
  export * from './phase8-wave3-products.js';
31
31
  export * from './phase9-wave4-platform-meta.js';
32
+ export * from './project-agent-auto-optimize.js';
33
+ export * from './project-agent-capture-window.js';
34
+ export * from './project-agent-capture.js';
35
+ export * from './project-agent-config-io.js';
36
+ export * from './project-agent-config-validation.js';
37
+ export * from './project-agent-consolidation.js';
38
+ export * from './project-agent-directive-outcome.js';
39
+ export * from './project-agent-files.js';
40
+ export * from './project-agent-identity-types.js';
32
41
  export * from './project-agent-identity.js';
42
+ export * from './project-agent-knowledge-manifests.js';
43
+ export * from './project-agent-learning-entries.js';
44
+ export * from './project-agent-learning-normalize.js';
45
+ export * from './project-agent-learning-policy.js';
46
+ export * from './project-agent-learning-structured.js';
47
+ export * from './project-agent-optimizer.js';
48
+ export * from './project-agent-paths.js';
49
+ export * from './project-agent-profile.js';
50
+ export * from './project-agent-quarantine.js';
51
+ export * from './project-agent-roster.js';
52
+ export * from './project-agent-skill-layer.js';
33
53
  export * from './role-skills.js';
34
54
  export * from './types.js';
35
55
  export { BUILD_AGENTS, DELIVERY_AGENTS, DISCOVERY_AGENTS, DOMAIN_AGENTS, KNOWLEDGE_AGENTS, META_AGENTS, PLANNING_AGENTS, REVIEW_AGENTS, VERIFY_AGENTS, WAVE1_AGENTS, WAVE2_AGENTS, WAVE3_AGENTS, WAVE4_AGENTS, };
@@ -53,5 +73,17 @@ export declare const AGENTS_BY_PHASE: {
53
73
  export declare const AGENT_CATALOG: Record<string, AgentDefinition>;
54
74
  /** Role lookup helper. Returns undefined for unknown roles. */
55
75
  export declare function getAgentDefinition(role: string): AgentDefinition | undefined;
76
+ /**
77
+ * Role → dispatcher rationale, for every role that declares one.
78
+ *
79
+ * Derived from the catalog rather than hand-listed. There used to be four
80
+ * hand-maintained `WAVE*_ROLE_METAS` maps beside the agent arrays; nothing
81
+ * read them, and `WAVE2_ROLE_METAS` had drifted to carry six roles that live
82
+ * in `WAVE4_AGENTS` — a duplicate set no consumer would ever have noticed
83
+ * because the map itself was dead. Deriving from `AGENT_CATALOG` makes that
84
+ * class of drift impossible: a role is listed here exactly when its own
85
+ * `capability.rationale` is set.
86
+ */
87
+ export declare const ROLE_DISPATCH_RATIONALE: Record<string, NonNullable<AgentCapability['rationale']>>;
56
88
  export { ROLE_SKILL_SETS, SHADOW_AGENT_SKILLS };
57
89
  //# sourceMappingURL=index.d.ts.map