@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,207 @@
1
+ // src/types/mode-prompts.ts
2
+ import { readFileSync, statSync } from "node:fs";
3
+ import * as path from "node:path";
4
+ import { fileURLToPath } from "node:url";
5
+ function modePrompt(id) {
6
+ for (const dir of modePromptDirCandidates()) {
7
+ try {
8
+ return readFileSync(path.join(dir, `${id}.md`), "utf8").trimEnd();
9
+ } catch {
10
+ }
11
+ }
12
+ return "";
13
+ }
14
+ function modePromptDirCandidates() {
15
+ const here = path.dirname(fileURLToPath(import.meta.url));
16
+ const candidates = [
17
+ path.resolve(here, "../../instructions/modes"),
18
+ path.resolve(here, "../instructions/modes"),
19
+ path.resolve(here, "instructions/modes")
20
+ ];
21
+ return candidates.sort((a, b) => Number(!isDirectory(a)) - Number(!isDirectory(b)));
22
+ }
23
+ function isDirectory(candidate) {
24
+ try {
25
+ return statSync(candidate).isDirectory();
26
+ } catch {
27
+ return false;
28
+ }
29
+ }
30
+
31
+ // src/types/mode.ts
32
+ var DEFAULT_MODES = [
33
+ {
34
+ id: "default",
35
+ name: "Default",
36
+ description: "Balanced general-purpose mode; use when no special token/coverage trade-off is needed",
37
+ prompt: "",
38
+ tags: ["general", "balanced"]
39
+ },
40
+ {
41
+ id: "brief",
42
+ name: "Brief",
43
+ description: "Ultra-compact responses for low-context, high-speed work",
44
+ prompt: modePrompt("brief"),
45
+ tags: ["lite", "fast", "concise", "token-saving"],
46
+ toolPreferences: ["read", "edit", "bash"],
47
+ suggestedSkills: []
48
+ },
49
+ {
50
+ id: "review-lite",
51
+ name: "Review Lite",
52
+ description: "Token-saving code review: changed files only, top correctness/security risks",
53
+ prompt: modePrompt("review-lite"),
54
+ tags: ["lite", "review", "quality", "token-saving"],
55
+ toolPreferences: ["git", "diff", "read", "grep"],
56
+ suggestedSkills: ["bug-hunter", "typescript-strict"]
57
+ },
58
+ {
59
+ id: "audit-lite",
60
+ name: "Audit Lite",
61
+ description: "Token-saving security triage for a small diff or named file",
62
+ prompt: modePrompt("audit-lite"),
63
+ tags: ["lite", "security", "audit", "token-saving"],
64
+ toolPreferences: ["grep", "read", "git"],
65
+ suggestedSkills: ["security-scanner"]
66
+ },
67
+ {
68
+ id: "plan-lite",
69
+ name: "Plan Lite",
70
+ description: "Token-saving planning: 3-6 actionable steps, minimal design debate",
71
+ prompt: modePrompt("plan-lite"),
72
+ tags: ["lite", "planning", "architecture", "token-saving"],
73
+ toolPreferences: ["tree", "glob", "read", "grep"],
74
+ suggestedSkills: ["refactor-planner"]
75
+ },
76
+ {
77
+ id: "debug-lite",
78
+ name: "Debug Lite",
79
+ description: "Token-saving bug triage: one hypothesis, nearest evidence, narrow check",
80
+ prompt: modePrompt("debug-lite"),
81
+ tags: ["lite", "debug", "triage", "token-saving"],
82
+ toolPreferences: ["read", "grep", "test", "logs"],
83
+ suggestedSkills: ["bug-hunter"]
84
+ },
85
+ {
86
+ id: "test-lite",
87
+ name: "Test Lite",
88
+ description: "Token-saving tests: one focused regression or narrow verification target",
89
+ prompt: modePrompt("test-lite"),
90
+ tags: ["lite", "testing", "qa", "token-saving"],
91
+ toolPreferences: ["test", "read", "grep"],
92
+ suggestedSkills: ["testing"]
93
+ },
94
+ {
95
+ id: "refactor-lite",
96
+ name: "Refactor Lite",
97
+ description: "Token-saving cleanup: small scoped behavior-preserving changes",
98
+ prompt: modePrompt("refactor-lite"),
99
+ tags: ["lite", "refactor", "token-saving"],
100
+ toolPreferences: ["read", "edit", "test"],
101
+ suggestedSkills: ["typescript-strict"]
102
+ },
103
+ {
104
+ id: "research-lite",
105
+ name: "Research Lite",
106
+ description: "Token-saving web research: one search, one authoritative fetch, short answer",
107
+ prompt: modePrompt("research-lite"),
108
+ tags: ["lite", "research", "web", "token-saving"],
109
+ toolPreferences: ["search", "fetch"],
110
+ suggestedSkills: ["research-web"]
111
+ },
112
+ {
113
+ id: "code-reviewer",
114
+ name: "Review Deep",
115
+ description: "Comprehensive code review across contracts, edge cases, lifecycle, errors, concurrency",
116
+ prompt: modePrompt("code-reviewer"),
117
+ tags: ["deep", "review", "quality", "security"],
118
+ toolPreferences: ["read", "grep", "git", "diff", "test"],
119
+ suggestedSkills: ["bug-hunter", "security-scanner", "typescript-strict", "testing"]
120
+ },
121
+ {
122
+ id: "code-auditor",
123
+ name: "Audit Deep",
124
+ description: "Comprehensive security audit with category coverage and exploitability notes",
125
+ prompt: modePrompt("code-auditor"),
126
+ tags: ["deep", "security", "audit", "compliance"],
127
+ toolPreferences: ["grep", "read", "audit", "bash"],
128
+ suggestedSkills: ["security-scanner", "bug-hunter", "audit-log"]
129
+ },
130
+ {
131
+ id: "architect",
132
+ name: "Architecture Deep",
133
+ description: "Comprehensive architecture and cross-module contract analysis",
134
+ prompt: modePrompt("architect"),
135
+ tags: ["deep", "architecture", "design", "scalability"],
136
+ toolPreferences: ["read", "glob", "tree", "diff"],
137
+ suggestedSkills: ["api-design", "refactor-planner", "node-modern", "docker-deploy"]
138
+ },
139
+ {
140
+ id: "debugger",
141
+ name: "Debug Deep",
142
+ description: "Comprehensive root-cause analysis with traces, logs, assumptions, and verification",
143
+ prompt: modePrompt("debugger"),
144
+ tags: ["deep", "debug", "investigation", "error-resolution"],
145
+ toolPreferences: ["read", "grep", "bash", "logs", "test"],
146
+ suggestedSkills: ["bug-hunter", "audit-log", "observability"]
147
+ },
148
+ {
149
+ id: "tester",
150
+ name: "Test Deep",
151
+ description: "Comprehensive QA mode for coverage, boundaries, isolation, and integration gaps",
152
+ prompt: modePrompt("tester"),
153
+ tags: ["deep", "testing", "qa", "quality"],
154
+ toolPreferences: ["read", "grep", "test", "bash"],
155
+ suggestedSkills: ["testing", "bug-hunter", "typescript-strict"]
156
+ },
157
+ {
158
+ id: "devops",
159
+ name: "DevOps Deep",
160
+ description: "Comprehensive infrastructure, deployment, observability, and operations review",
161
+ prompt: modePrompt("devops"),
162
+ tags: ["deep", "devops", "infrastructure", "operations"],
163
+ toolPreferences: ["read", "bash", "grep", "logs", "git"],
164
+ suggestedSkills: ["docker-deploy", "observability", "security-scanner"]
165
+ },
166
+ {
167
+ id: "refactorer",
168
+ name: "Refactor Deep",
169
+ description: "Comprehensive modernization/refactor mode with contracts and verification discipline",
170
+ prompt: modePrompt("refactorer"),
171
+ tags: ["deep", "refactor", "modernization", "improvement"],
172
+ toolPreferences: ["read", "edit", "test", "git", "grep"],
173
+ suggestedSkills: ["refactor-planner", "typescript-strict", "node-modern", "testing"]
174
+ },
175
+ {
176
+ id: "ui-design",
177
+ name: "UI Design Deep",
178
+ description: "Comprehensive design-first frontend/mobile UI work with kit, tokens, and accessibility",
179
+ prompt: modePrompt("ui-design"),
180
+ tags: ["deep", "ui", "frontend", "mobile", "design"],
181
+ toolPreferences: ["design", "write", "edit", "read", "scaffold"],
182
+ suggestedSkills: ["react-modern"]
183
+ },
184
+ {
185
+ id: "teach",
186
+ name: "Teach Deep",
187
+ description: "Mentor mode with explanations, mental models, trade-offs, and takeaways",
188
+ prompt: modePrompt("teach"),
189
+ tags: ["deep", "teaching", "mentor", "learning"],
190
+ toolPreferences: ["read", "edit", "explain"],
191
+ suggestedSkills: ["prompt-engineering", "skill-creator", "node-modern", "typescript-strict"]
192
+ },
193
+ {
194
+ id: "research-web",
195
+ name: "Research Deep",
196
+ description: "Comprehensive current-data research with cross-checking and reusable findings",
197
+ prompt: modePrompt("research-web"),
198
+ tags: ["deep", "research", "web", "current-data", "up-to-date"],
199
+ toolPreferences: ["search", "fetch", "context_manager"],
200
+ suggestedSkills: ["research-web", "tech-stack", "node-modern", "security-scanner", "react-modern"]
201
+ }
202
+ ];
203
+
204
+ export {
205
+ DEFAULT_MODES
206
+ };
207
+ //# sourceMappingURL=chunk-2FK4WTFF.js.map
@@ -0,0 +1,134 @@
1
+ // src/chronicle/prompt-manifest.ts
2
+ import { createHash } from "node:crypto";
3
+ function createChroniclePromptManifest(request) {
4
+ const roleCounts = {}, blockCounts = {};
5
+ const messages = request.messages.map((message, index) => messageSummary(message, index, roleCounts, blockCounts));
6
+ const systemText = (request.system ?? []).map((block) => block.text).join("\n");
7
+ const toolRecords = (request.tools ?? []).map((tool) => ({
8
+ name: tool.name,
9
+ schemaHash: hash(stable(tool.inputSchema)),
10
+ permission: tool.permission,
11
+ mutating: tool.mutating,
12
+ riskTier: tool.riskTier,
13
+ capabilities: tool.capabilities,
14
+ estimatedTokens: tool._estDefTokens ?? 0
15
+ }));
16
+ const core = {
17
+ systemHash: hash(systemText),
18
+ messages: messages.map(({ hash: contentHash, ...rest }) => ({ ...rest, contentHash })),
19
+ tools: toolRecords,
20
+ model: request.model,
21
+ maxTokens: request.maxTokens,
22
+ temperature: request.temperature,
23
+ topP: request.topP,
24
+ topK: request.topK,
25
+ seed: request.seed,
26
+ toolChoice: request.toolChoice,
27
+ reasoning: request.reasoning,
28
+ cache: request.cache,
29
+ responseFormat: request.responseFormat?.type
30
+ };
31
+ return {
32
+ manifestId: `prompt_${hash(stable(core))}`,
33
+ messageCount: messages.length,
34
+ estimatedMessageTokens: messages.reduce((sum, message) => sum + (message.estimatedTokens ?? 0), 0),
35
+ contentBytes: messages.reduce((sum, message) => sum + message.bytes, 0) + Buffer.byteLength(systemText),
36
+ roleCounts,
37
+ blockCounts,
38
+ system: { blockCount: request.system?.length ?? 0, bytes: Buffer.byteLength(systemText), hash: hash(systemText) },
39
+ messages,
40
+ tools: {
41
+ count: toolRecords.length,
42
+ estimatedDefinitionTokens: toolRecords.reduce((sum, tool) => sum + tool.estimatedTokens, 0),
43
+ manifestHash: hash(stable(toolRecords)),
44
+ names: toolRecords.map((tool) => tool.name),
45
+ mutating: toolRecords.filter((tool) => tool.mutating).length,
46
+ destructive: toolRecords.filter((tool) => tool.riskTier === "destructive").length
47
+ },
48
+ request: {
49
+ maxTokens: request.maxTokens,
50
+ temperature: request.temperature,
51
+ topP: request.topP,
52
+ topK: request.topK,
53
+ frequencyPenalty: request.frequencyPenalty,
54
+ presencePenalty: request.presencePenalty,
55
+ seed: request.seed,
56
+ candidateCount: request.candidateCount,
57
+ logprobs: request.logprobs,
58
+ topLogprobs: request.topLogprobs,
59
+ stopSequenceCount: request.stopSequences?.length ?? 0,
60
+ toolChoice: request.toolChoice,
61
+ reasoning: request.reasoning,
62
+ cache: request.cache,
63
+ responseFormat: request.responseFormat?.type,
64
+ safetySettingCount: request.safetySettings?.length ?? 0,
65
+ userHash: request.user ? hash(request.user) : void 0
66
+ }
67
+ };
68
+ }
69
+ function messageSummary(message, index, roles, totals) {
70
+ roles[message.role] = (roles[message.role] ?? 0) + 1;
71
+ const blocks = typeof message.content === "string" ? { text: 1 } : countBlocks(message.content);
72
+ for (const [type, count] of Object.entries(blocks)) totals[type] = (totals[type] ?? 0) + count;
73
+ const content = contentIdentity(message.content);
74
+ return {
75
+ index,
76
+ role: message.role,
77
+ bytes: content.bytes,
78
+ ...message._estTokens !== void 0 ? { estimatedTokens: message._estTokens } : {},
79
+ hash: content.hash,
80
+ blocks
81
+ };
82
+ }
83
+ function countBlocks(blocks) {
84
+ const counts = {};
85
+ for (const block of blocks) counts[block.type] = (counts[block.type] ?? 0) + 1;
86
+ return counts;
87
+ }
88
+ function hash(value) {
89
+ return createHash("sha256").update(value).digest("hex");
90
+ }
91
+ function contentIdentity(content) {
92
+ if (typeof content === "string") return { hash: hash(content), bytes: Buffer.byteLength(content) };
93
+ const digest = createHash("sha256");
94
+ let bytes = 0;
95
+ const add = (value) => {
96
+ if (!value) return;
97
+ digest.update(value);
98
+ bytes += Buffer.byteLength(value);
99
+ };
100
+ for (const block of content) {
101
+ add(block.type);
102
+ if (block.type === "text") add(block.text);
103
+ else if (block.type === "thinking") {
104
+ add(block.thinking);
105
+ add(block.signature);
106
+ } else if (block.type === "tool_use") {
107
+ add(block.id);
108
+ add(block.name);
109
+ add(stable(block.input));
110
+ } else if (block.type === "tool_result") {
111
+ add(block.tool_use_id);
112
+ add(block.name);
113
+ add(block.content);
114
+ add(String(block.is_error ?? false));
115
+ } else if (block.type === "image") {
116
+ add(block.source.type);
117
+ add(block.source.media_type);
118
+ add(block.source.url);
119
+ add(block.source.data);
120
+ }
121
+ }
122
+ return { hash: digest.digest("hex"), bytes };
123
+ }
124
+ function stable(value) {
125
+ if (value === void 0) return "undefined";
126
+ if (value === null || typeof value !== "object") return JSON.stringify(value);
127
+ if (Array.isArray(value)) return `[${value.map(stable).join(",")}]`;
128
+ return `{${Object.entries(value).sort(([a], [b]) => a.localeCompare(b)).map(([key, child]) => `${JSON.stringify(key)}:${stable(child)}`).join(",")}}`;
129
+ }
130
+
131
+ export {
132
+ createChroniclePromptManifest
133
+ };
134
+ //# sourceMappingURL=chunk-2YU4WVBW.js.map