@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
@@ -8,6 +8,19 @@ import type { ChronicleEvent, ChronicleEventInput } from './types.js';
8
8
  */
9
9
  export interface ChronicleEventSink {
10
10
  append(input: ChronicleEventInput): Promise<ChronicleEvent>;
11
+ /**
12
+ * Append many events as ONE unit of work. Optional: adapters that emit a
13
+ * single event per call have nothing to gain, and leaving it optional keeps
14
+ * every existing sink (and test double) valid without a shim.
15
+ *
16
+ * The SQLite journal wraps each append in `BEGIN IMMEDIATE` and, at
17
+ * `synchronous = FULL`, fsyncs on commit. Callers that produce a burst —
18
+ * the file observer reconciling a branch switch, say — turn N transactions
19
+ * and N fsyncs into one by routing through here. SQLite's binding is
20
+ * synchronous, so `Promise.all` over N `append()` calls does NOT overlap
21
+ * them; batching is the only thing that actually helps.
22
+ */
23
+ appendBatch?(inputs: readonly ChronicleEventInput[]): Promise<ChronicleEvent[]>;
11
24
  flush(): Promise<void>;
12
25
  stats(): ChronicleJournalStats;
13
26
  }
@@ -1,9 +1,9 @@
1
1
  import type { ChronicleJournalStats, ChroniclePurgeResult } from './journal.js';
2
2
  import { ChronicleStorageQuotaError } from './sqlite-journal-quota.js';
3
- import { CHRONICLE_SQLITE_FILE, LEGACY_JSONL_BOUNDARY_KEY, LEGACY_JSONL_MIGRATION_KEY, LEGACY_JSONL_QUARANTINE_KEY } from './sqlite-journal-schema.js';
3
+ import { CHRONICLE_SQLITE_FILE, LEGACY_JSONL_BOUNDARY_KEY, LEGACY_JSONL_MIGRATION_KEY } from './sqlite-journal-schema.js';
4
4
  import { ChronicleSqliteQueryEngine, type ChronicleSqliteQueryEngineOptions } from './sqlite-query.js';
5
5
  import { type ChronicleEvent, type ChronicleEventInput, type ChronicleVerifyResult } from './types.js';
6
- export { CHRONICLE_SQLITE_FILE, ChronicleStorageQuotaError, LEGACY_JSONL_BOUNDARY_KEY, LEGACY_JSONL_MIGRATION_KEY, LEGACY_JSONL_QUARANTINE_KEY, };
6
+ export { CHRONICLE_SQLITE_FILE, ChronicleStorageQuotaError, LEGACY_JSONL_BOUNDARY_KEY, LEGACY_JSONL_MIGRATION_KEY };
7
7
  export interface ChronicleSqliteJournalOptions {
8
8
  /** Directory holding the journal, i.e. `<projectDir>/chronicle`. */
9
9
  directory: string;
@@ -17,6 +17,24 @@ export interface ChronicleSqliteJournalOptions {
17
17
  /** Aggregate SQLite allocation ceiling across the database, WAL, and SHM files. */
18
18
  maxBytes?: number | undefined;
19
19
  retentionCheckIntervalMs?: number | undefined;
20
+ /**
21
+ * WAL durability level. Defaults to `'normal'`.
22
+ *
23
+ * In WAL mode `NORMAL` still survives a **process** crash — an aborted
24
+ * agent, an OOM kill, a `taskkill` — because the WAL is already written;
25
+ * only an OS crash or power loss can cost the last commits. `FULL` adds an
26
+ * fsync to every commit to close that last gap.
27
+ *
28
+ * This journal is the highest-volume writer in the runtime (measured at
29
+ * ~7.2GB over 7 days), so that per-commit fsync was the single largest
30
+ * source of disk I/O in the system — paid continuously, for telemetry that
31
+ * is reconstructible from the session logs. Every other SQLite store here
32
+ * (mailbox, kanban, techstack, vector-memory) runs `NORMAL`.
33
+ *
34
+ * Set `'full'` when the deployment genuinely needs power-loss durability
35
+ * for the audit trail.
36
+ */
37
+ durability?: 'normal' | 'full' | undefined;
20
38
  }
21
39
  export interface ChronicleSqlitePurgeOptions {
22
40
  retentionDays: number;
@@ -0,0 +1,334 @@
1
+ import {
2
+ toErrorMessage
3
+ } from "./chunk-TBRL2RCC.js";
4
+
5
+ // src/types/errors.ts
6
+ var ERROR_CODES = {
7
+ // Provider
8
+ PROVIDER_RATE_LIMITED: "PROVIDER_RATE_LIMITED",
9
+ PROVIDER_AUTH_FAILED: "PROVIDER_AUTH_FAILED",
10
+ PROVIDER_OVERLOADED: "PROVIDER_OVERLOADED",
11
+ PROVIDER_INVALID_REQUEST: "PROVIDER_INVALID_REQUEST",
12
+ PROVIDER_SERVER_ERROR: "PROVIDER_SERVER_ERROR",
13
+ PROVIDER_NETWORK_ERROR: "PROVIDER_NETWORK_ERROR",
14
+ PROVIDER_CONTEXT_OVERFLOW: "PROVIDER_CONTEXT_OVERFLOW",
15
+ // Tool
16
+ TOOL_NOT_FOUND: "TOOL_NOT_FOUND",
17
+ TOOL_PERMISSION_DENIED: "TOOL_PERMISSION_DENIED",
18
+ TOOL_EXECUTION_FAILED: "TOOL_EXECUTION_FAILED",
19
+ TOOL_TIMEOUT: "TOOL_TIMEOUT",
20
+ TOOL_INPUT_INVALID: "TOOL_INPUT_INVALID",
21
+ // Config
22
+ CONFIG_INVALID: "CONFIG_INVALID",
23
+ CONFIG_NOT_FOUND: "CONFIG_NOT_FOUND",
24
+ CONFIG_PARSE_FAILED: "CONFIG_PARSE_FAILED",
25
+ CONFIG_MIGRATION_NEEDED: "CONFIG_MIGRATION_NEEDED",
26
+ // Plugin
27
+ PLUGIN_LOAD_FAILED: "PLUGIN_LOAD_FAILED",
28
+ PLUGIN_API_MISMATCH: "PLUGIN_API_MISMATCH",
29
+ PLUGIN_MISSING_DEPENDENCY: "PLUGIN_MISSING_DEPENDENCY",
30
+ // Agent
31
+ AGENT_ITERATION_LIMIT: "AGENT_ITERATION_LIMIT",
32
+ AGENT_CONTEXT_OVERFLOW: "AGENT_CONTEXT_OVERFLOW",
33
+ AGENT_ABORTED: "AGENT_ABORTED",
34
+ AGENT_RUN_FAILED: "AGENT_RUN_FAILED",
35
+ // Session
36
+ SESSION_NOT_FOUND: "SESSION_NOT_FOUND",
37
+ SESSION_CORRUPTED: "SESSION_CORRUPTED",
38
+ SESSION_WRITE_FAILED: "SESSION_WRITE_FAILED",
39
+ SESSION_ID_REQUIRED: "SESSION_ID_REQUIRED",
40
+ // Container / Registry
41
+ CONTAINER_TOKEN_ALREADY_BOUND: "CONTAINER_TOKEN_ALREADY_BOUND",
42
+ CONTAINER_TOKEN_NOT_BOUND: "CONTAINER_TOKEN_NOT_BOUND",
43
+ CONTAINER_CIRCULAR_DEPENDENCY: "CONTAINER_CIRCULAR_DEPENDENCY",
44
+ REGISTRY_DUPLICATE: "REGISTRY_DUPLICATE",
45
+ REGISTRY_NOT_FOUND: "REGISTRY_NOT_FOUND",
46
+ REGISTRY_INVALID: "REGISTRY_INVALID",
47
+ // File system
48
+ FS_READ_FAILED: "FS_READ_FAILED",
49
+ FS_WRITE_FAILED: "FS_WRITE_FAILED",
50
+ FS_MKDIR_FAILED: "FS_MKDIR_FAILED",
51
+ FS_DELETE_FAILED: "FS_DELETE_FAILED",
52
+ FS_ATOMIC_WRITE_FAILED: "FS_ATOMIC_WRITE_FAILED",
53
+ // SDD (Spec-Driven Development)
54
+ SDD_VALIDATION_FAILED: "SDD_VALIDATION_FAILED",
55
+ SDD_PARSE_FAILED: "SDD_PARSE_FAILED",
56
+ SDD_INVALID_STATE: "SDD_INVALID_STATE",
57
+ SDD_NOT_READY: "SDD_NOT_READY",
58
+ // General
59
+ VALIDATION_ERROR: "VALIDATION_ERROR",
60
+ PARSE_FAILED: "PARSE_FAILED",
61
+ UNKNOWN: "UNKNOWN"
62
+ };
63
+ var WrongStackError = class _WrongStackError extends Error {
64
+ code;
65
+ subsystem;
66
+ severity;
67
+ recoverable;
68
+ context;
69
+ constructor(opts) {
70
+ super(opts.message, { cause: opts.cause });
71
+ this.name = "WrongStackError";
72
+ this.code = opts.code;
73
+ this.subsystem = opts.subsystem;
74
+ this.severity = opts.severity ?? "error";
75
+ this.recoverable = opts.recoverable ?? false;
76
+ this.context = opts.context;
77
+ }
78
+ /**
79
+ * Duck-type guard mirroring {@link ProviderError.isProviderError}.
80
+ *
81
+ * `instanceof WrongStackError` is NOT reliable inside this monorepo: the
82
+ * package builder emits every `@wrongstack/core` subpath (`core`, `types`,
83
+ * `coordination`, `execution`, `extension`, …) as an independent esbuild
84
+ * bundle with `splitting: false`, so each entry inlines its OWN copy of this
85
+ * class. An error constructed by `@wrongstack/providers` (which imports from
86
+ * `@wrongstack/core/types`) therefore fails `instanceof` against the copy
87
+ * baked into `@wrongstack/core/core` — which is where the agent loop and the
88
+ * provider runner live.
89
+ *
90
+ * That mismatch silently downgraded every provider failure to a generic
91
+ * `AgentError` in {@link toWrongStackError}, stripping `kind` / `status` /
92
+ * `body` and blinding the fallback engine and the provider waiting room.
93
+ * Use this guard anywhere the error may have crossed a subpath boundary.
94
+ */
95
+ static isWrongStackError(err) {
96
+ if (err instanceof _WrongStackError) return true;
97
+ if (!err || typeof err !== "object") return false;
98
+ const e = err;
99
+ return typeof e["name"] === "string" && e["name"].endsWith("Error") && typeof e["code"] === "string" && typeof e["subsystem"] === "string" && typeof e["severity"] === "string" && typeof e["describe"] === "function";
100
+ }
101
+ /**
102
+ * Render a one-line user-facing description.
103
+ * Subclasses should override for domain-specific formatting.
104
+ */
105
+ describe() {
106
+ const ctx = this.context ? ` ${formatContext(this.context)}` : "";
107
+ return `${this.code}: ${this.message}${ctx}`;
108
+ }
109
+ };
110
+ function formatContext(ctx) {
111
+ const parts = Object.entries(ctx).filter(([, v]) => v !== void 0).slice(0, 3).map(([k, v]) => `${k}=${String(v)}`);
112
+ return parts.length > 0 ? `[${parts.join(" ")}]` : "";
113
+ }
114
+ var ToolError = class extends WrongStackError {
115
+ toolName;
116
+ constructor(opts) {
117
+ super({
118
+ message: opts.message,
119
+ code: opts.code,
120
+ subsystem: "tool",
121
+ recoverable: opts.recoverable,
122
+ context: { tool: opts.toolName, ...opts.context },
123
+ cause: opts.cause
124
+ });
125
+ this.name = "ToolError";
126
+ this.toolName = opts.toolName;
127
+ }
128
+ };
129
+ var ConfigError = class extends WrongStackError {
130
+ constructor(opts) {
131
+ super({
132
+ message: opts.message,
133
+ code: opts.code,
134
+ subsystem: "config",
135
+ severity: "fatal",
136
+ recoverable: false,
137
+ context: opts.context,
138
+ cause: opts.cause
139
+ });
140
+ this.name = "ConfigError";
141
+ }
142
+ };
143
+ var PluginError = class extends WrongStackError {
144
+ pluginName;
145
+ constructor(opts) {
146
+ super({
147
+ message: opts.message,
148
+ code: opts.code,
149
+ subsystem: "plugin",
150
+ severity: "error",
151
+ recoverable: opts.code === ERROR_CODES.PLUGIN_MISSING_DEPENDENCY,
152
+ context: { plugin: opts.pluginName, ...opts.context },
153
+ cause: opts.cause
154
+ });
155
+ this.name = "PluginError";
156
+ this.pluginName = opts.pluginName;
157
+ }
158
+ };
159
+ var AgentError = class extends WrongStackError {
160
+ constructor(opts) {
161
+ super({
162
+ message: opts.message,
163
+ code: opts.code,
164
+ subsystem: "agent",
165
+ severity: opts.code === ERROR_CODES.AGENT_ABORTED ? "warning" : "error",
166
+ recoverable: opts.recoverable ?? opts.code === ERROR_CODES.AGENT_ITERATION_LIMIT,
167
+ context: opts.context,
168
+ cause: opts.cause
169
+ });
170
+ this.name = "AgentError";
171
+ }
172
+ };
173
+ function toWrongStackError(err, code = ERROR_CODES.AGENT_RUN_FAILED) {
174
+ if (WrongStackError.isWrongStackError(err)) return err;
175
+ const message = toErrorMessage(err);
176
+ return new AgentError({
177
+ message,
178
+ code: code === "UNKNOWN" ? ERROR_CODES.AGENT_RUN_FAILED : code,
179
+ cause: err
180
+ });
181
+ }
182
+ var SessionError = class extends WrongStackError {
183
+ sessionId;
184
+ constructor(opts) {
185
+ super({
186
+ message: opts.message,
187
+ code: opts.code,
188
+ subsystem: "session",
189
+ severity: opts.code === ERROR_CODES.SESSION_WRITE_FAILED ? "error" : "warning",
190
+ recoverable: opts.code !== ERROR_CODES.SESSION_CORRUPTED,
191
+ context: { sessionId: opts.sessionId, ...opts.context },
192
+ cause: opts.cause
193
+ });
194
+ this.name = "SessionError";
195
+ this.sessionId = opts.sessionId;
196
+ }
197
+ };
198
+ var SddError = class extends WrongStackError {
199
+ constructor(opts) {
200
+ super({
201
+ message: opts.message,
202
+ code: opts.code,
203
+ subsystem: "sdd",
204
+ severity: opts.code === ERROR_CODES.SDD_PARSE_FAILED ? "warning" : "error",
205
+ recoverable: opts.code === ERROR_CODES.SDD_NOT_READY,
206
+ context: opts.context,
207
+ cause: opts.cause
208
+ });
209
+ this.name = "SddError";
210
+ }
211
+ };
212
+ var FsError = class extends WrongStackError {
213
+ path;
214
+ constructor(opts) {
215
+ super({
216
+ message: opts.message,
217
+ code: opts.code,
218
+ subsystem: "fs",
219
+ severity: "error",
220
+ recoverable: opts.code !== ERROR_CODES.FS_READ_FAILED,
221
+ context: { path: opts.path, ...opts.context },
222
+ cause: opts.cause
223
+ });
224
+ this.name = "FsError";
225
+ this.path = opts.path;
226
+ }
227
+ };
228
+ var FetchError = class extends WrongStackError {
229
+ status;
230
+ constructor(opts) {
231
+ super({
232
+ message: opts.message,
233
+ code: ERROR_CODES.VALIDATION_ERROR,
234
+ subsystem: "general",
235
+ severity: "error",
236
+ recoverable: opts.status === 429 || opts.status >= 500,
237
+ context: { status: opts.status, ...opts.context },
238
+ cause: opts.cause
239
+ });
240
+ this.name = "FetchError";
241
+ this.status = opts.status;
242
+ }
243
+ };
244
+ var ToolValidationError = class extends WrongStackError {
245
+ constructor(opts) {
246
+ super({
247
+ message: opts.message,
248
+ code: ERROR_CODES.VALIDATION_ERROR,
249
+ subsystem: "general",
250
+ severity: "error",
251
+ recoverable: false,
252
+ context: { field: opts.field, ...opts.context },
253
+ cause: opts.cause
254
+ });
255
+ this.name = "ToolValidationError";
256
+ }
257
+ };
258
+ var ParseError = class extends WrongStackError {
259
+ source;
260
+ constructor(opts) {
261
+ super({
262
+ message: opts.message,
263
+ code: ERROR_CODES.PARSE_FAILED,
264
+ subsystem: "general",
265
+ severity: "error",
266
+ recoverable: false,
267
+ context: { source: opts.source, ...opts.context },
268
+ cause: opts.cause
269
+ });
270
+ this.name = "ParseError";
271
+ this.source = opts.source;
272
+ }
273
+ };
274
+ function isWrongStackError(err) {
275
+ return err instanceof WrongStackError;
276
+ }
277
+ function isToolError(err) {
278
+ return err instanceof ToolError;
279
+ }
280
+ function isConfigError(err) {
281
+ return err instanceof ConfigError;
282
+ }
283
+ function isPluginError(err) {
284
+ return err instanceof PluginError;
285
+ }
286
+ function isSessionError(err) {
287
+ return err instanceof SessionError;
288
+ }
289
+ function isAgentError(err) {
290
+ return err instanceof AgentError;
291
+ }
292
+ function isFsError(err) {
293
+ return err instanceof FsError;
294
+ }
295
+ function isToolValidationError(err) {
296
+ return err instanceof ToolValidationError;
297
+ }
298
+ function isFetchError(err) {
299
+ return err instanceof FetchError;
300
+ }
301
+ function isParseError(err) {
302
+ return err instanceof ParseError;
303
+ }
304
+ function isSddError(err) {
305
+ return err instanceof SddError;
306
+ }
307
+
308
+ export {
309
+ ERROR_CODES,
310
+ WrongStackError,
311
+ ToolError,
312
+ ConfigError,
313
+ PluginError,
314
+ AgentError,
315
+ toWrongStackError,
316
+ SessionError,
317
+ SddError,
318
+ FsError,
319
+ FetchError,
320
+ ToolValidationError,
321
+ ParseError,
322
+ isWrongStackError,
323
+ isToolError,
324
+ isConfigError,
325
+ isPluginError,
326
+ isSessionError,
327
+ isAgentError,
328
+ isFsError,
329
+ isToolValidationError,
330
+ isFetchError,
331
+ isParseError,
332
+ isSddError
333
+ };
334
+ //# sourceMappingURL=chunk-25LSLC3G.js.map