@isaacriehm/cairn 0.1.0 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (533) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/index.d.ts +0 -1
  3. package/dist/index.js +0 -1
  4. package/dist/index.js.map +1 -1
  5. package/package.json +4 -4
  6. package/dist/backprop/id.d.ts +0 -14
  7. package/dist/backprop/id.js +0 -40
  8. package/dist/backprop/id.js.map +0 -1
  9. package/dist/backprop/index.d.ts +0 -23
  10. package/dist/backprop/index.js +0 -21
  11. package/dist/backprop/index.js.map +0 -1
  12. package/dist/backprop/prompt.d.ts +0 -16
  13. package/dist/backprop/prompt.js +0 -101
  14. package/dist/backprop/prompt.js.map +0 -1
  15. package/dist/backprop/runner.d.ts +0 -18
  16. package/dist/backprop/runner.js +0 -95
  17. package/dist/backprop/runner.js.map +0 -1
  18. package/dist/backprop/schema.d.ts +0 -61
  19. package/dist/backprop/schema.js +0 -55
  20. package/dist/backprop/schema.js.map +0 -1
  21. package/dist/backprop/types.d.ts +0 -101
  22. package/dist/backprop/types.js +0 -24
  23. package/dist/backprop/types.js.map +0 -1
  24. package/dist/backprop/writer.d.ts +0 -27
  25. package/dist/backprop/writer.js +0 -301
  26. package/dist/backprop/writer.js.map +0 -1
  27. package/dist/claude/error.d.ts +0 -33
  28. package/dist/claude/error.js +0 -58
  29. package/dist/claude/error.js.map +0 -1
  30. package/dist/claude/index.d.ts +0 -3
  31. package/dist/claude/index.js +0 -3
  32. package/dist/claude/index.js.map +0 -1
  33. package/dist/claude/runner.d.ts +0 -11
  34. package/dist/claude/runner.js +0 -132
  35. package/dist/claude/runner.js.map +0 -1
  36. package/dist/claude/types.d.ts +0 -52
  37. package/dist/claude/types.js +0 -14
  38. package/dist/claude/types.js.map +0 -1
  39. package/dist/cli/daemon.d.ts +0 -54
  40. package/dist/cli/daemon.js +0 -351
  41. package/dist/cli/daemon.js.map +0 -1
  42. package/dist/cli/install.d.ts +0 -52
  43. package/dist/cli/install.js +0 -308
  44. package/dist/cli/install.js.map +0 -1
  45. package/dist/cli/mirror.d.ts +0 -1
  46. package/dist/cli/mirror.js +0 -97
  47. package/dist/cli/mirror.js.map +0 -1
  48. package/dist/cli/run.d.ts +0 -1
  49. package/dist/cli/run.js +0 -174
  50. package/dist/cli/run.js.map +0 -1
  51. package/dist/cli/task.d.ts +0 -18
  52. package/dist/cli/task.js +0 -137
  53. package/dist/cli/task.js.map +0 -1
  54. package/dist/cli/watch.d.ts +0 -1
  55. package/dist/cli/watch.js +0 -73
  56. package/dist/cli/watch.js.map +0 -1
  57. package/dist/decision-capture/capture.d.ts +0 -57
  58. package/dist/decision-capture/capture.js +0 -186
  59. package/dist/decision-capture/capture.js.map +0 -1
  60. package/dist/decision-capture/extractor.d.ts +0 -20
  61. package/dist/decision-capture/extractor.js +0 -103
  62. package/dist/decision-capture/extractor.js.map +0 -1
  63. package/dist/decision-capture/id.d.ts +0 -14
  64. package/dist/decision-capture/id.js +0 -44
  65. package/dist/decision-capture/id.js.map +0 -1
  66. package/dist/decision-capture/index.d.ts +0 -25
  67. package/dist/decision-capture/index.js +0 -21
  68. package/dist/decision-capture/index.js.map +0 -1
  69. package/dist/decision-capture/prompt.d.ts +0 -15
  70. package/dist/decision-capture/prompt.js +0 -68
  71. package/dist/decision-capture/prompt.js.map +0 -1
  72. package/dist/decision-capture/refinement-prompt.d.ts +0 -25
  73. package/dist/decision-capture/refinement-prompt.js +0 -146
  74. package/dist/decision-capture/refinement-prompt.js.map +0 -1
  75. package/dist/decision-capture/refinement-schema.d.ts +0 -52
  76. package/dist/decision-capture/refinement-schema.js +0 -61
  77. package/dist/decision-capture/refinement-schema.js.map +0 -1
  78. package/dist/decision-capture/refinement.d.ts +0 -60
  79. package/dist/decision-capture/refinement.js +0 -439
  80. package/dist/decision-capture/refinement.js.map +0 -1
  81. package/dist/decision-capture/schema.d.ts +0 -70
  82. package/dist/decision-capture/schema.js +0 -71
  83. package/dist/decision-capture/schema.js.map +0 -1
  84. package/dist/decision-capture/types.d.ts +0 -201
  85. package/dist/decision-capture/types.js +0 -20
  86. package/dist/decision-capture/types.js.map +0 -1
  87. package/dist/decision-capture/writer.d.ts +0 -90
  88. package/dist/decision-capture/writer.js +0 -267
  89. package/dist/decision-capture/writer.js.map +0 -1
  90. package/dist/frontend/discord/acl.d.ts +0 -6
  91. package/dist/frontend/discord/acl.js +0 -19
  92. package/dist/frontend/discord/acl.js.map +0 -1
  93. package/dist/frontend/discord/channels.d.ts +0 -29
  94. package/dist/frontend/discord/channels.js +0 -58
  95. package/dist/frontend/discord/channels.js.map +0 -1
  96. package/dist/frontend/discord/classifier.d.ts +0 -16
  97. package/dist/frontend/discord/classifier.js +0 -29
  98. package/dist/frontend/discord/classifier.js.map +0 -1
  99. package/dist/frontend/discord/index.d.ts +0 -118
  100. package/dist/frontend/discord/index.js +0 -1104
  101. package/dist/frontend/discord/index.js.map +0 -1
  102. package/dist/frontend/discord/slash.d.ts +0 -18
  103. package/dist/frontend/discord/slash.js +0 -90
  104. package/dist/frontend/discord/slash.js.map +0 -1
  105. package/dist/frontend/inbox.d.ts +0 -17
  106. package/dist/frontend/inbox.js +0 -30
  107. package/dist/frontend/inbox.js.map +0 -1
  108. package/dist/frontend/index.d.ts +0 -8
  109. package/dist/frontend/index.js +0 -6
  110. package/dist/frontend/index.js.map +0 -1
  111. package/dist/frontend/stub/index.d.ts +0 -58
  112. package/dist/frontend/stub/index.js +0 -144
  113. package/dist/frontend/stub/index.js.map +0 -1
  114. package/dist/frontend/types.d.ts +0 -247
  115. package/dist/frontend/types.js +0 -15
  116. package/dist/frontend/types.js.map +0 -1
  117. package/dist/gc/apply.d.ts +0 -26
  118. package/dist/gc/apply.js +0 -48
  119. package/dist/gc/apply.js.map +0 -1
  120. package/dist/gc/canary.d.ts +0 -42
  121. package/dist/gc/canary.js +0 -134
  122. package/dist/gc/canary.js.map +0 -1
  123. package/dist/gc/classify.d.ts +0 -25
  124. package/dist/gc/classify.js +0 -89
  125. package/dist/gc/classify.js.map +0 -1
  126. package/dist/gc/doc-gardening.d.ts +0 -29
  127. package/dist/gc/doc-gardening.js +0 -146
  128. package/dist/gc/doc-gardening.js.map +0 -1
  129. package/dist/gc/frontmatter.d.ts +0 -35
  130. package/dist/gc/frontmatter.js +0 -111
  131. package/dist/gc/frontmatter.js.map +0 -1
  132. package/dist/gc/generator-drift.d.ts +0 -28
  133. package/dist/gc/generator-drift.js +0 -53
  134. package/dist/gc/generator-drift.js.map +0 -1
  135. package/dist/gc/index.d.ts +0 -35
  136. package/dist/gc/index.js +0 -26
  137. package/dist/gc/index.js.map +0 -1
  138. package/dist/gc/quality-update.d.ts +0 -23
  139. package/dist/gc/quality-update.js +0 -69
  140. package/dist/gc/quality-update.js.map +0 -1
  141. package/dist/gc/stub-hits.d.ts +0 -31
  142. package/dist/gc/stub-hits.js +0 -125
  143. package/dist/gc/stub-hits.js.map +0 -1
  144. package/dist/gc/sweep.d.ts +0 -56
  145. package/dist/gc/sweep.js +0 -178
  146. package/dist/gc/sweep.js.map +0 -1
  147. package/dist/gc/types.d.ts +0 -129
  148. package/dist/gc/types.js +0 -26
  149. package/dist/gc/types.js.map +0 -1
  150. package/dist/ground/drift.d.ts +0 -8
  151. package/dist/ground/drift.js +0 -23
  152. package/dist/ground/drift.js.map +0 -1
  153. package/dist/ground/frontmatter.d.ts +0 -20
  154. package/dist/ground/frontmatter.js +0 -49
  155. package/dist/ground/frontmatter.js.map +0 -1
  156. package/dist/ground/glob.d.ts +0 -10
  157. package/dist/ground/glob.js +0 -46
  158. package/dist/ground/glob.js.map +0 -1
  159. package/dist/ground/index.d.ts +0 -14
  160. package/dist/ground/index.js +0 -10
  161. package/dist/ground/index.js.map +0 -1
  162. package/dist/ground/ledgers.d.ts +0 -18
  163. package/dist/ground/ledgers.js +0 -103
  164. package/dist/ground/ledgers.js.map +0 -1
  165. package/dist/ground/manifest.d.ts +0 -10
  166. package/dist/ground/manifest.js +0 -88
  167. package/dist/ground/manifest.js.map +0 -1
  168. package/dist/ground/paths.d.ts +0 -20
  169. package/dist/ground/paths.js +0 -61
  170. package/dist/ground/paths.js.map +0 -1
  171. package/dist/ground/quality-grades.d.ts +0 -11
  172. package/dist/ground/quality-grades.js +0 -98
  173. package/dist/ground/quality-grades.js.map +0 -1
  174. package/dist/ground/schemas.d.ts +0 -306
  175. package/dist/ground/schemas.js +0 -188
  176. package/dist/ground/schemas.js.map +0 -1
  177. package/dist/ground/walk.d.ts +0 -7
  178. package/dist/ground/walk.js +0 -53
  179. package/dist/ground/walk.js.map +0 -1
  180. package/dist/init/detect.d.ts +0 -25
  181. package/dist/init/detect.js +0 -336
  182. package/dist/init/detect.js.map +0 -1
  183. package/dist/init/index.d.ts +0 -14
  184. package/dist/init/index.js +0 -9
  185. package/dist/init/index.js.map +0 -1
  186. package/dist/init/init.d.ts +0 -68
  187. package/dist/init/init.js +0 -673
  188. package/dist/init/init.js.map +0 -1
  189. package/dist/init/mapper.d.ts +0 -160
  190. package/dist/init/mapper.js +0 -248
  191. package/dist/init/mapper.js.map +0 -1
  192. package/dist/init/prompts.d.ts +0 -70
  193. package/dist/init/prompts.js +0 -80
  194. package/dist/init/prompts.js.map +0 -1
  195. package/dist/init/secrets.d.ts +0 -18
  196. package/dist/init/secrets.js +0 -76
  197. package/dist/init/secrets.js.map +0 -1
  198. package/dist/init/seed.d.ts +0 -21
  199. package/dist/init/seed.js +0 -75
  200. package/dist/init/seed.js.map +0 -1
  201. package/dist/init/setup-runners.d.ts +0 -17
  202. package/dist/init/setup-runners.js +0 -70
  203. package/dist/init/setup-runners.js.map +0 -1
  204. package/dist/init/types.d.ts +0 -59
  205. package/dist/init/types.js +0 -10
  206. package/dist/init/types.js.map +0 -1
  207. package/dist/init/walker.d.ts +0 -53
  208. package/dist/init/walker.js +0 -460
  209. package/dist/init/walker.js.map +0 -1
  210. package/dist/init/workflow-block.d.ts +0 -34
  211. package/dist/init/workflow-block.js +0 -110
  212. package/dist/init/workflow-block.js.map +0 -1
  213. package/dist/logger.d.ts +0 -3
  214. package/dist/logger.js +0 -23
  215. package/dist/logger.js.map +0 -1
  216. package/dist/mcp/context.d.ts +0 -16
  217. package/dist/mcp/context.js +0 -8
  218. package/dist/mcp/context.js.map +0 -1
  219. package/dist/mcp/errors.d.ts +0 -17
  220. package/dist/mcp/errors.js +0 -23
  221. package/dist/mcp/errors.js.map +0 -1
  222. package/dist/mcp/index.d.ts +0 -10
  223. package/dist/mcp/index.js +0 -7
  224. package/dist/mcp/index.js.map +0 -1
  225. package/dist/mcp/path-allowlist.d.ts +0 -25
  226. package/dist/mcp/path-allowlist.js +0 -66
  227. package/dist/mcp/path-allowlist.js.map +0 -1
  228. package/dist/mcp/result.d.ts +0 -8
  229. package/dist/mcp/result.js +0 -18
  230. package/dist/mcp/result.js.map +0 -1
  231. package/dist/mcp/schemas.d.ts +0 -153
  232. package/dist/mcp/schemas.js +0 -135
  233. package/dist/mcp/schemas.js.map +0 -1
  234. package/dist/mcp/server.d.ts +0 -11
  235. package/dist/mcp/server.js +0 -58
  236. package/dist/mcp/server.js.map +0 -1
  237. package/dist/mcp/telemetry.d.ts +0 -15
  238. package/dist/mcp/telemetry.js +0 -13
  239. package/dist/mcp/telemetry.js.map +0 -1
  240. package/dist/mcp/tools/append.d.ts +0 -8
  241. package/dist/mcp/tools/append.js +0 -33
  242. package/dist/mcp/tools/append.js.map +0 -1
  243. package/dist/mcp/tools/archive.d.ts +0 -8
  244. package/dist/mcp/tools/archive.js +0 -49
  245. package/dist/mcp/tools/archive.js.map +0 -1
  246. package/dist/mcp/tools/ask-operator.d.ts +0 -34
  247. package/dist/mcp/tools/ask-operator.js +0 -93
  248. package/dist/mcp/tools/ask-operator.js.map +0 -1
  249. package/dist/mcp/tools/canonical-for-topic.d.ts +0 -6
  250. package/dist/mcp/tools/canonical-for-topic.js +0 -40
  251. package/dist/mcp/tools/canonical-for-topic.js.map +0 -1
  252. package/dist/mcp/tools/decision-get.d.ts +0 -6
  253. package/dist/mcp/tools/decision-get.js +0 -49
  254. package/dist/mcp/tools/decision-get.js.map +0 -1
  255. package/dist/mcp/tools/decisions-for-symbol.d.ts +0 -7
  256. package/dist/mcp/tools/decisions-for-symbol.js +0 -42
  257. package/dist/mcp/tools/decisions-for-symbol.js.map +0 -1
  258. package/dist/mcp/tools/decisions-in-scope.d.ts +0 -7
  259. package/dist/mcp/tools/decisions-in-scope.js +0 -47
  260. package/dist/mcp/tools/decisions-in-scope.js.map +0 -1
  261. package/dist/mcp/tools/drop-task.d.ts +0 -12
  262. package/dist/mcp/tools/drop-task.js +0 -47
  263. package/dist/mcp/tools/drop-task.js.map +0 -1
  264. package/dist/mcp/tools/get-full.d.ts +0 -7
  265. package/dist/mcp/tools/get-full.js +0 -46
  266. package/dist/mcp/tools/get-full.js.map +0 -1
  267. package/dist/mcp/tools/ground-get.d.ts +0 -7
  268. package/dist/mcp/tools/ground-get.js +0 -80
  269. package/dist/mcp/tools/ground-get.js.map +0 -1
  270. package/dist/mcp/tools/index.d.ts +0 -3
  271. package/dist/mcp/tools/index.js +0 -44
  272. package/dist/mcp/tools/index.js.map +0 -1
  273. package/dist/mcp/tools/invariant-get.d.ts +0 -6
  274. package/dist/mcp/tools/invariant-get.js +0 -49
  275. package/dist/mcp/tools/invariant-get.js.map +0 -1
  276. package/dist/mcp/tools/invariants-in-scope.d.ts +0 -7
  277. package/dist/mcp/tools/invariants-in-scope.js +0 -65
  278. package/dist/mcp/tools/invariants-in-scope.js.map +0 -1
  279. package/dist/mcp/tools/query-history.d.ts +0 -9
  280. package/dist/mcp/tools/query-history.js +0 -33
  281. package/dist/mcp/tools/query-history.js.map +0 -1
  282. package/dist/mcp/tools/record-decision.d.ts +0 -14
  283. package/dist/mcp/tools/record-decision.js +0 -101
  284. package/dist/mcp/tools/record-decision.js.map +0 -1
  285. package/dist/mcp/tools/record-run-event.d.ts +0 -10
  286. package/dist/mcp/tools/record-run-event.js +0 -28
  287. package/dist/mcp/tools/record-run-event.js.map +0 -1
  288. package/dist/mcp/tools/search.d.ts +0 -9
  289. package/dist/mcp/tools/search.js +0 -165
  290. package/dist/mcp/tools/search.js.map +0 -1
  291. package/dist/mcp/tools/supersedes-chain.d.ts +0 -6
  292. package/dist/mcp/tools/supersedes-chain.js +0 -66
  293. package/dist/mcp/tools/supersedes-chain.js.map +0 -1
  294. package/dist/mcp/tools/timeline.d.ts +0 -9
  295. package/dist/mcp/tools/timeline.js +0 -65
  296. package/dist/mcp/tools/timeline.js.map +0 -1
  297. package/dist/mcp/tools/types.d.ts +0 -9
  298. package/dist/mcp/tools/types.js +0 -2
  299. package/dist/mcp/tools/types.js.map +0 -1
  300. package/dist/mirror/clone.d.ts +0 -6
  301. package/dist/mirror/clone.js +0 -48
  302. package/dist/mirror/clone.js.map +0 -1
  303. package/dist/mirror/dirty-overlap.d.ts +0 -13
  304. package/dist/mirror/dirty-overlap.js +0 -77
  305. package/dist/mirror/dirty-overlap.js.map +0 -1
  306. package/dist/mirror/index.d.ts +0 -7
  307. package/dist/mirror/index.js +0 -7
  308. package/dist/mirror/index.js.map +0 -1
  309. package/dist/mirror/paths.d.ts +0 -18
  310. package/dist/mirror/paths.js +0 -45
  311. package/dist/mirror/paths.js.map +0 -1
  312. package/dist/mirror/push.d.ts +0 -9
  313. package/dist/mirror/push.js +0 -27
  314. package/dist/mirror/push.js.map +0 -1
  315. package/dist/mirror/state.d.ts +0 -4
  316. package/dist/mirror/state.js +0 -36
  317. package/dist/mirror/state.js.map +0 -1
  318. package/dist/mirror/sync.d.ts +0 -9
  319. package/dist/mirror/sync.js +0 -33
  320. package/dist/mirror/sync.js.map +0 -1
  321. package/dist/mirror/types.d.ts +0 -77
  322. package/dist/mirror/types.js +0 -2
  323. package/dist/mirror/types.js.map +0 -1
  324. package/dist/orchestrator/activity-summarizer.d.ts +0 -33
  325. package/dist/orchestrator/activity-summarizer.js +0 -120
  326. package/dist/orchestrator/activity-summarizer.js.map +0 -1
  327. package/dist/orchestrator/inbox.d.ts +0 -78
  328. package/dist/orchestrator/inbox.js +0 -115
  329. package/dist/orchestrator/inbox.js.map +0 -1
  330. package/dist/orchestrator/index.d.ts +0 -9
  331. package/dist/orchestrator/index.js +0 -7
  332. package/dist/orchestrator/index.js.map +0 -1
  333. package/dist/orchestrator/orchestrator.d.ts +0 -154
  334. package/dist/orchestrator/orchestrator.js +0 -2437
  335. package/dist/orchestrator/orchestrator.js.map +0 -1
  336. package/dist/orchestrator/prompt.d.ts +0 -19
  337. package/dist/orchestrator/prompt.js +0 -50
  338. package/dist/orchestrator/prompt.js.map +0 -1
  339. package/dist/orchestrator/queue.d.ts +0 -21
  340. package/dist/orchestrator/queue.js +0 -80
  341. package/dist/orchestrator/queue.js.map +0 -1
  342. package/dist/orchestrator/run-log.d.ts +0 -53
  343. package/dist/orchestrator/run-log.js +0 -92
  344. package/dist/orchestrator/run-log.js.map +0 -1
  345. package/dist/orchestrator/runner.d.ts +0 -56
  346. package/dist/orchestrator/runner.js +0 -172
  347. package/dist/orchestrator/runner.js.map +0 -1
  348. package/dist/orchestrator/tool-digest.d.ts +0 -35
  349. package/dist/orchestrator/tool-digest.js +0 -116
  350. package/dist/orchestrator/tool-digest.js.map +0 -1
  351. package/dist/orchestrator/types.d.ts +0 -263
  352. package/dist/orchestrator/types.js +0 -2
  353. package/dist/orchestrator/types.js.map +0 -1
  354. package/dist/orchestrator/workspace.d.ts +0 -21
  355. package/dist/orchestrator/workspace.js +0 -31
  356. package/dist/orchestrator/workspace.js.map +0 -1
  357. package/dist/profiles/index.d.ts +0 -3
  358. package/dist/profiles/index.js +0 -3
  359. package/dist/profiles/index.js.map +0 -1
  360. package/dist/profiles/registry.d.ts +0 -5
  361. package/dist/profiles/registry.js +0 -31
  362. package/dist/profiles/registry.js.map +0 -1
  363. package/dist/profiles/types.d.ts +0 -48
  364. package/dist/profiles/types.js +0 -11
  365. package/dist/profiles/types.js.map +0 -1
  366. package/dist/profiles/unknown.d.ts +0 -9
  367. package/dist/profiles/unknown.js +0 -17
  368. package/dist/profiles/unknown.js.map +0 -1
  369. package/dist/reviewer/index.d.ts +0 -6
  370. package/dist/reviewer/index.js +0 -5
  371. package/dist/reviewer/index.js.map +0 -1
  372. package/dist/reviewer/prompt.d.ts +0 -11
  373. package/dist/reviewer/prompt.js +0 -132
  374. package/dist/reviewer/prompt.js.map +0 -1
  375. package/dist/reviewer/remediation.d.ts +0 -15
  376. package/dist/reviewer/remediation.js +0 -61
  377. package/dist/reviewer/remediation.js.map +0 -1
  378. package/dist/reviewer/reviewer.d.ts +0 -9
  379. package/dist/reviewer/reviewer.js +0 -89
  380. package/dist/reviewer/reviewer.js.map +0 -1
  381. package/dist/reviewer/schema.d.ts +0 -45
  382. package/dist/reviewer/schema.js +0 -43
  383. package/dist/reviewer/schema.js.map +0 -1
  384. package/dist/reviewer/types.d.ts +0 -74
  385. package/dist/reviewer/types.js +0 -14
  386. package/dist/reviewer/types.js.map +0 -1
  387. package/dist/sensors/attestation.d.ts +0 -44
  388. package/dist/sensors/attestation.js +0 -262
  389. package/dist/sensors/attestation.js.map +0 -1
  390. package/dist/sensors/catalog.d.ts +0 -41
  391. package/dist/sensors/catalog.js +0 -123
  392. package/dist/sensors/catalog.js.map +0 -1
  393. package/dist/sensors/decisions.d.ts +0 -30
  394. package/dist/sensors/decisions.js +0 -393
  395. package/dist/sensors/decisions.js.map +0 -1
  396. package/dist/sensors/diff.d.ts +0 -27
  397. package/dist/sensors/diff.js +0 -148
  398. package/dist/sensors/diff.js.map +0 -1
  399. package/dist/sensors/index.d.ts +0 -13
  400. package/dist/sensors/index.js +0 -9
  401. package/dist/sensors/index.js.map +0 -1
  402. package/dist/sensors/remediation.d.ts +0 -20
  403. package/dist/sensors/remediation.js +0 -65
  404. package/dist/sensors/remediation.js.map +0 -1
  405. package/dist/sensors/runner.d.ts +0 -44
  406. package/dist/sensors/runner.js +0 -95
  407. package/dist/sensors/runner.js.map +0 -1
  408. package/dist/sensors/structural.d.ts +0 -30
  409. package/dist/sensors/structural.js +0 -204
  410. package/dist/sensors/structural.js.map +0 -1
  411. package/dist/sensors/stub-catalog.d.ts +0 -39
  412. package/dist/sensors/stub-catalog.js +0 -115
  413. package/dist/sensors/stub-catalog.js.map +0 -1
  414. package/dist/sensors/types.d.ts +0 -135
  415. package/dist/sensors/types.js +0 -14
  416. package/dist/sensors/types.js.map +0 -1
  417. package/dist/tier0/classify.d.ts +0 -5
  418. package/dist/tier0/classify.js +0 -91
  419. package/dist/tier0/classify.js.map +0 -1
  420. package/dist/tier0/index.d.ts +0 -3
  421. package/dist/tier0/index.js +0 -3
  422. package/dist/tier0/index.js.map +0 -1
  423. package/dist/tier0/ollama.d.ts +0 -22
  424. package/dist/tier0/ollama.js +0 -63
  425. package/dist/tier0/ollama.js.map +0 -1
  426. package/dist/tier0/types.d.ts +0 -24
  427. package/dist/tier0/types.js +0 -7
  428. package/dist/tier0/types.js.map +0 -1
  429. package/dist/tightener/index.d.ts +0 -4
  430. package/dist/tightener/index.js +0 -4
  431. package/dist/tightener/index.js.map +0 -1
  432. package/dist/tightener/prompt.d.ts +0 -3
  433. package/dist/tightener/prompt.js +0 -67
  434. package/dist/tightener/prompt.js.map +0 -1
  435. package/dist/tightener/schema.d.ts +0 -68
  436. package/dist/tightener/schema.js +0 -44
  437. package/dist/tightener/schema.js.map +0 -1
  438. package/dist/tightener/tighten.d.ts +0 -2
  439. package/dist/tightener/tighten.js +0 -66
  440. package/dist/tightener/tighten.js.map +0 -1
  441. package/dist/tightener/types.d.ts +0 -74
  442. package/dist/tightener/types.js +0 -6
  443. package/dist/tightener/types.js.map +0 -1
  444. package/dist/uat/bundle.d.ts +0 -68
  445. package/dist/uat/bundle.js +0 -168
  446. package/dist/uat/bundle.js.map +0 -1
  447. package/dist/uat/index.d.ts +0 -15
  448. package/dist/uat/index.js +0 -10
  449. package/dist/uat/index.js.map +0 -1
  450. package/dist/uat/persistent.d.ts +0 -64
  451. package/dist/uat/persistent.js +0 -206
  452. package/dist/uat/persistent.js.map +0 -1
  453. package/dist/uat/probes/cli.d.ts +0 -11
  454. package/dist/uat/probes/cli.js +0 -107
  455. package/dist/uat/probes/cli.js.map +0 -1
  456. package/dist/uat/probes/http.d.ts +0 -12
  457. package/dist/uat/probes/http.js +0 -139
  458. package/dist/uat/probes/http.js.map +0 -1
  459. package/dist/uat/probes/index.d.ts +0 -21
  460. package/dist/uat/probes/index.js +0 -30
  461. package/dist/uat/probes/index.js.map +0 -1
  462. package/dist/uat/probes/integration.d.ts +0 -18
  463. package/dist/uat/probes/integration.js +0 -188
  464. package/dist/uat/probes/integration.js.map +0 -1
  465. package/dist/uat/probes/sql/config.d.ts +0 -14
  466. package/dist/uat/probes/sql/config.js +0 -57
  467. package/dist/uat/probes/sql/config.js.map +0 -1
  468. package/dist/uat/probes/sql/index.d.ts +0 -29
  469. package/dist/uat/probes/sql/index.js +0 -43
  470. package/dist/uat/probes/sql/index.js.map +0 -1
  471. package/dist/uat/probes/sql/mysql.d.ts +0 -12
  472. package/dist/uat/probes/sql/mysql.js +0 -96
  473. package/dist/uat/probes/sql/mysql.js.map +0 -1
  474. package/dist/uat/probes/sql/pg.d.ts +0 -20
  475. package/dist/uat/probes/sql/pg.js +0 -102
  476. package/dist/uat/probes/sql/pg.js.map +0 -1
  477. package/dist/uat/probes/sql/sqlite.d.ts +0 -9
  478. package/dist/uat/probes/sql/sqlite.js +0 -58
  479. package/dist/uat/probes/sql/sqlite.js.map +0 -1
  480. package/dist/uat/probes/sql/types.d.ts +0 -46
  481. package/dist/uat/probes/sql/types.js +0 -10
  482. package/dist/uat/probes/sql/types.js.map +0 -1
  483. package/dist/uat/probes/sql.d.ts +0 -9
  484. package/dist/uat/probes/sql.js +0 -119
  485. package/dist/uat/probes/sql.js.map +0 -1
  486. package/dist/uat/probes/ui.d.ts +0 -19
  487. package/dist/uat/probes/ui.js +0 -244
  488. package/dist/uat/probes/ui.js.map +0 -1
  489. package/dist/uat/prompt.d.ts +0 -10
  490. package/dist/uat/prompt.js +0 -85
  491. package/dist/uat/prompt.js.map +0 -1
  492. package/dist/uat/question.d.ts +0 -50
  493. package/dist/uat/question.js +0 -139
  494. package/dist/uat/question.js.map +0 -1
  495. package/dist/uat/rejection.d.ts +0 -58
  496. package/dist/uat/rejection.js +0 -163
  497. package/dist/uat/rejection.js.map +0 -1
  498. package/dist/uat/runner.d.ts +0 -6
  499. package/dist/uat/runner.js +0 -96
  500. package/dist/uat/runner.js.map +0 -1
  501. package/dist/uat/schema.d.ts +0 -322
  502. package/dist/uat/schema.js +0 -189
  503. package/dist/uat/schema.js.map +0 -1
  504. package/dist/uat/types.d.ts +0 -268
  505. package/dist/uat/types.js +0 -18
  506. package/dist/uat/types.js.map +0 -1
  507. package/dist/uat/uat.d.ts +0 -89
  508. package/dist/uat/uat.js +0 -256
  509. package/dist/uat/uat.js.map +0 -1
  510. package/dist/voice/index.d.ts +0 -4
  511. package/dist/voice/index.js +0 -4
  512. package/dist/voice/index.js.map +0 -1
  513. package/dist/voice/model.d.ts +0 -23
  514. package/dist/voice/model.js +0 -46
  515. package/dist/voice/model.js.map +0 -1
  516. package/dist/voice/pipe.d.ts +0 -9
  517. package/dist/voice/pipe.js +0 -47
  518. package/dist/voice/pipe.js.map +0 -1
  519. package/dist/voice/transcribe.d.ts +0 -3
  520. package/dist/voice/transcribe.js +0 -43
  521. package/dist/voice/transcribe.js.map +0 -1
  522. package/dist/voice/types.d.ts +0 -26
  523. package/dist/voice/types.js +0 -9
  524. package/dist/voice/types.js.map +0 -1
  525. package/dist/watch/daemon.d.ts +0 -21
  526. package/dist/watch/daemon.js +0 -143
  527. package/dist/watch/daemon.js.map +0 -1
  528. package/dist/watch/index.d.ts +0 -4
  529. package/dist/watch/index.js +0 -3
  530. package/dist/watch/index.js.map +0 -1
  531. package/dist/watch/regenerate.d.ts +0 -25
  532. package/dist/watch/regenerate.js +0 -51
  533. package/dist/watch/regenerate.js.map +0 -1
@@ -1,24 +0,0 @@
1
- /**
2
- * Backprop subagent (Phase 13).
3
- *
4
- * Per PRIMER §13 + INTEGRATION_PLAN §5 Phase 13: every code-class fix
5
- * produces a permanent §V invariant + a sensor (or named E2E case) that
6
- * enforces it going forward. Backprop runs as a second commit phase AFTER
7
- * sensors/reviewer/UAT all pass.
8
- *
9
- * Design constraints:
10
- * - Tier 2 (Sonnet) by default per templates/.harness/config/workflow.md
11
- * `backprop_author: 2`. Override via BackpropInput.tier.
12
- * - Structured output via `--json-schema` — backprop returns a typed
13
- * payload; the harness writes the invariant file + generates the
14
- * sensor script mechanically. The agent does NOT touch the filesystem.
15
- * - Invariant ids are monotonic, never reused (L13.2). The id allocator
16
- * scans existing `.harness/ground/invariants/V*.md` and returns the
17
- * next free integer.
18
- * - Sensor script template is a regex sniff over the diff. The agent
19
- * supplies the regex + a one-line failure message; the harness emits
20
- * the boilerplate around it. Future: a Tier-2-authored bespoke sensor
21
- * when the regex form is insufficient.
22
- */
23
- export {};
24
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/backprop/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG"}
@@ -1,27 +0,0 @@
1
- /**
2
- * Writers for the invariant file + the generated sensor / E2E.
3
- *
4
- * The agent supplies content; the harness mints the id, materializes the
5
- * frontmatter, and emits the boilerplate around the regex / E2E so the
6
- * surface is uniform regardless of which agent wrote which invariant.
7
- */
8
- import type { BackpropOutput, EnforcementKind } from "./types.js";
9
- export interface WriteInvariantArgs {
10
- repoRoot: string;
11
- invariantId: string;
12
- output: BackpropOutput;
13
- runId: string;
14
- }
15
- export interface WriteInvariantResult {
16
- invariant_path: string;
17
- sensor_path: string;
18
- }
19
- /**
20
- * Materialize V<N>.md + the matching enforcement artifact. Returns
21
- * repo-relative paths for both. Idempotent at the *path* level — if a file
22
- * already exists at the target path the writer overwrites; the id allocator
23
- * is responsible for picking a fresh id.
24
- */
25
- export declare function writeInvariantArtifacts(args: WriteInvariantArgs): WriteInvariantResult;
26
- /** Type-only re-export so external callers can name the kind union. */
27
- export type { EnforcementKind };
@@ -1,301 +0,0 @@
1
- /**
2
- * Writers for the invariant file + the generated sensor / E2E.
3
- *
4
- * The agent supplies content; the harness mints the id, materializes the
5
- * frontmatter, and emits the boilerplate around the regex / E2E so the
6
- * surface is uniform regardless of which agent wrote which invariant.
7
- */
8
- import { mkdirSync, writeFileSync } from "node:fs";
9
- import { dirname, join, resolve } from "node:path";
10
- import { stringify as stringifyYaml } from "yaml";
11
- import { invariantsDir } from "../ground/paths.js";
12
- /**
13
- * Materialize V<N>.md + the matching enforcement artifact. Returns
14
- * repo-relative paths for both. Idempotent at the *path* level — if a file
15
- * already exists at the target path the writer overwrites; the id allocator
16
- * is responsible for picking a fresh id.
17
- */
18
- export function writeInvariantArtifacts(args) {
19
- const invariantPath = writeInvariantFile(args);
20
- const sensorPath = writeEnforcement(args);
21
- return { invariant_path: invariantPath, sensor_path: sensorPath };
22
- }
23
- function writeInvariantFile(args) {
24
- const dir = invariantsDir(args.repoRoot);
25
- mkdirSync(dir, { recursive: true });
26
- const filename = `${args.invariantId}.md`;
27
- const abs = join(dir, filename);
28
- const rel = `.harness/ground/invariants/${filename}`;
29
- const sensorRel = predictSensorRelPath(args);
30
- const frontmatter = {
31
- id: args.invariantId,
32
- title: args.output.title,
33
- type: "invariant",
34
- status: "active",
35
- audience: "dual",
36
- generated: new Date().toISOString(),
37
- "verified-at": new Date().toISOString(),
38
- source_run: args.runId,
39
- introduced_for_bug: args.output.introduced_for_bug,
40
- sensor: sensorRel,
41
- naming_convention: `${args.invariantId.toLowerCase()}_${args.output.slug}`,
42
- ...(args.output.source_decision_ids && args.output.source_decision_ids.length > 0
43
- ? { source_decisions: args.output.source_decision_ids }
44
- : {}),
45
- };
46
- const yaml = stringifyYaml(frontmatter);
47
- const body = ensureTrailingNewline(args.output.body_markdown.trim());
48
- const fileContent = `---\n${yaml}---\n\n# ${args.invariantId} — ${args.output.title}\n\n${body}\n\n## Enforcement\n\nThis invariant is enforced by [\`${sensorRel}\`](../../../${sensorRel}).\n`;
49
- writeFileSync(abs, fileContent, "utf8");
50
- return rel;
51
- }
52
- /**
53
- * Compute what the sensor / E2E path WILL be, before writing it. Used by
54
- * writeInvariantFile to embed the relative link inside the invariant
55
- * markdown body.
56
- */
57
- function predictSensorRelPath(args) {
58
- const kind = args.output.enforcement.kind;
59
- if (kind === "regex_sensor") {
60
- const filename = `check-${args.invariantId.toLowerCase()}-${args.output.slug}.ts`;
61
- return `harness/scripts/${filename}`;
62
- }
63
- if (kind === "named_e2e") {
64
- const customPath = args.output.enforcement.e2e_path;
65
- return isValidE2eRel(customPath)
66
- ? customPath
67
- : `e2e/${args.invariantId}_${args.output.slug}.spec.ts`;
68
- }
69
- throw new Error(`unknown enforcement kind: ${kind}`);
70
- }
71
- function writeEnforcement(args) {
72
- const kind = args.output.enforcement.kind;
73
- if (kind === "regex_sensor")
74
- return writeRegexSensor(args);
75
- if (kind === "named_e2e")
76
- return writeE2eStub(args);
77
- // Defensive: schema-checked, but TS exhaustive switch guard.
78
- throw new Error(`unknown enforcement kind: ${kind}`);
79
- }
80
- function writeRegexSensor(args) {
81
- const { invariantId, output } = args;
82
- const slug = output.slug;
83
- const filename = `check-${invariantId.toLowerCase()}-${slug}.ts`;
84
- const rel = `harness/scripts/${filename}`;
85
- const abs = resolve(args.repoRoot, rel);
86
- mkdirSync(dirname(abs), { recursive: true });
87
- const regex = output.enforcement.regex ?? "(?!.*)"; // never matches
88
- const targetGlobs = output.enforcement.target_globs ?? ["**/*.ts"];
89
- const language = output.enforcement.language ?? "typescript";
90
- const failureMessage = output.enforcement.failure_message ??
91
- `${invariantId} violation — see .harness/ground/invariants/${invariantId}.md`;
92
- const escapedRegex = JSON.stringify(regex);
93
- const escapedGlobs = JSON.stringify(targetGlobs);
94
- const escapedMessage = JSON.stringify(failureMessage);
95
- const content = `#!/usr/bin/env tsx
96
- /**
97
- * Sensor for invariant ${invariantId} — ${output.title}.
98
- *
99
- * Generated by the backprop subagent during run ${args.runId}.
100
- * Source: .harness/ground/invariants/${invariantId}.md
101
- *
102
- * Mechanically scans repo files matching the target globs for a regex that
103
- * indicates an invariant violation. Exits 0 when no hits, 1 on any hit.
104
- *
105
- * Per PRIMER §13: "every fix introduces a permanent invariant" — touching
106
- * this file requires either fixing the regression OR superseding the
107
- * invariant via a new V-id.
108
- */
109
-
110
- import { type Dirent, readdirSync, readFileSync, statSync } from "node:fs";
111
- import { relative, resolve } from "node:path";
112
-
113
- const REGEX = new RegExp(${escapedRegex}, "gm");
114
- const TARGET_GLOBS = ${escapedGlobs} as const;
115
- const LANGUAGE = ${JSON.stringify(language)};
116
- const FAILURE_MESSAGE = ${escapedMessage};
117
-
118
- const SKIP_DIRS = new Set([
119
- ".git",
120
- "node_modules",
121
- ".pnpm-store",
122
- "dist",
123
- "build",
124
- ".next",
125
- ".turbo",
126
- ".cache",
127
- ".archive",
128
- "coverage",
129
- ]);
130
-
131
- const LANGUAGE_EXTS: Record<string, readonly string[]> = {
132
- typescript: [".ts", ".tsx", ".cts", ".mts"],
133
- javascript: [".js", ".jsx", ".cjs", ".mjs"],
134
- python: [".py"],
135
- ruby: [".rb"],
136
- go: [".go"],
137
- rust: [".rs"],
138
- sql: [".sql"],
139
- };
140
-
141
- function compileGlob(glob: string): RegExp {
142
- let re = "^";
143
- for (let i = 0; i < glob.length; i++) {
144
- const c = glob[i];
145
- if (c === "*") {
146
- if (glob[i + 1] === "*") {
147
- i += 1;
148
- if (glob[i + 1] === "/") {
149
- i += 1;
150
- re += "(?:.*/)?";
151
- } else {
152
- re += ".*";
153
- }
154
- } else {
155
- re += "[^/]*";
156
- }
157
- } else if (c === "?") {
158
- re += "[^/]";
159
- } else if (c !== undefined && /[.+^\${}()|[\\]\\\\]/.test(c)) {
160
- re += \`\\\\\${c}\`;
161
- } else {
162
- re += c ?? "";
163
- }
164
- }
165
- re += "$";
166
- return new RegExp(re);
167
- }
168
-
169
- const GLOB_RE = TARGET_GLOBS.map(compileGlob);
170
-
171
- function matchesGlobs(rel: string): boolean {
172
- return GLOB_RE.some((g) => g.test(rel));
173
- }
174
-
175
- function lineOf(text: string, charIndex: number): number {
176
- let line = 1;
177
- for (let i = 0; i < charIndex && i < text.length; i++) {
178
- if (text.charCodeAt(i) === 10) line += 1;
179
- }
180
- return line;
181
- }
182
-
183
- function walk(repoRoot: string): string[] {
184
- const out: string[] = [];
185
- const stack: string[] = [repoRoot];
186
- while (stack.length > 0) {
187
- const dir = stack.pop();
188
- if (dir === undefined) break;
189
- let entries: Dirent[];
190
- try {
191
- entries = readdirSync(dir, { withFileTypes: true, encoding: "utf8" });
192
- } catch {
193
- continue;
194
- }
195
- for (const entry of entries) {
196
- const abs = resolve(dir, entry.name);
197
- if (entry.isDirectory()) {
198
- if (SKIP_DIRS.has(entry.name)) continue;
199
- stack.push(abs);
200
- } else if (entry.isFile()) {
201
- out.push(relative(repoRoot, abs).replace(/\\\\/g, "/"));
202
- }
203
- }
204
- }
205
- out.sort();
206
- return out;
207
- }
208
-
209
- function detectLanguage(rel: string): string | undefined {
210
- const lower = rel.toLowerCase();
211
- for (const [lang, exts] of Object.entries(LANGUAGE_EXTS)) {
212
- if (exts.some((e) => lower.endsWith(e))) return lang;
213
- }
214
- return undefined;
215
- }
216
-
217
- function main(): void {
218
- const repoRoot = process.argv[2] ?? process.cwd();
219
- void statSync(repoRoot); // throws if missing
220
- const files = walk(repoRoot).filter((rel) => matchesGlobs(rel) && detectLanguage(rel) === LANGUAGE);
221
- const hits: { path: string; line: number; matched: string }[] = [];
222
- for (const rel of files) {
223
- let content: string;
224
- try {
225
- content = readFileSync(resolve(repoRoot, rel), "utf8");
226
- } catch {
227
- continue;
228
- }
229
- REGEX.lastIndex = 0;
230
- let m: RegExpExecArray | null;
231
- while ((m = REGEX.exec(content)) !== null) {
232
- hits.push({
233
- path: rel,
234
- line: lineOf(content, m.index),
235
- matched: m[0].slice(0, 200),
236
- });
237
- if (REGEX.lastIndex === m.index) REGEX.lastIndex += 1;
238
- }
239
- }
240
- if (hits.length === 0) {
241
- console.log(\`${invariantId}: ok — 0 hits across \${files.length} files\`);
242
- process.exit(0);
243
- }
244
- console.error(\`${invariantId}: FAIL — \${hits.length} hit(s)\`);
245
- console.error(\` \${FAILURE_MESSAGE}\`);
246
- for (const h of hits) {
247
- console.error(\` \${h.path}:\${h.line} → \${h.matched}\`);
248
- }
249
- process.exit(1);
250
- }
251
-
252
- main();
253
- `;
254
- writeFileSync(abs, content, "utf8");
255
- return rel;
256
- }
257
- function writeE2eStub(args) {
258
- const { invariantId, output } = args;
259
- const customPath = output.enforcement.e2e_path;
260
- // Default: e2e/V<N>_<slug>.spec.ts. Honor the agent-supplied path only if it
261
- // is repo-relative and ends in .spec.ts; otherwise fall back to default.
262
- const defaultRel = `e2e/${invariantId}_${output.slug}.spec.ts`;
263
- const rel = isValidE2eRel(customPath) ? customPath : defaultRel;
264
- const abs = resolve(args.repoRoot, rel);
265
- mkdirSync(dirname(abs), { recursive: true });
266
- const content = `/**
267
- * E2E case for invariant ${invariantId} — ${output.title}.
268
- *
269
- * Generated by the backprop subagent during run ${args.runId}.
270
- * Source: .harness/ground/invariants/${invariantId}.md
271
- *
272
- * STUB — flesh out with the project's E2E harness. The presence of this
273
- * file is itself a contract: removing it without superseding ${invariantId}
274
- * is an invariant violation.
275
- */
276
-
277
- // TODO: import the project's E2E harness and write a case that asserts
278
- // ${output.title.replace(/\*/g, "")}.
279
- //
280
- // The failure mode this guards: ${output.introduced_for_bug.replace(/\n/g, " ").slice(0, 200)}
281
- //
282
- // Naming convention: this file's path encodes the invariant id (${invariantId})
283
- // per PRIMER §13.1. Cite the id in any commit that touches it.
284
- export const ${invariantId.toLowerCase()}_invariant = ${JSON.stringify(invariantId)};
285
- `;
286
- writeFileSync(abs, content, "utf8");
287
- return rel;
288
- }
289
- function isValidE2eRel(p) {
290
- if (typeof p !== "string" || p.length === 0)
291
- return false;
292
- if (p.startsWith("/") || p.startsWith(".."))
293
- return false;
294
- if (!p.endsWith(".spec.ts") && !p.endsWith(".spec.tsx"))
295
- return false;
296
- return true;
297
- }
298
- function ensureTrailingNewline(s) {
299
- return s.endsWith("\n") ? s : `${s}\n`;
300
- }
301
- //# sourceMappingURL=writer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/backprop/writer.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- /**
2
- * Claude subprocess error classification.
3
- *
4
- * The CLI surfaces rate-limit / overload / auth failures via stderr +
5
- * non-zero exit. Classifying lets the orchestrator distinguish:
6
- * - `rate_limit` / `overloaded` → pause dispatch after N consecutive,
7
- * don't burn the operator's coding-plan quota on doomed retries
8
- * - `auth` → stop trying immediately + page operator
9
- * - `other` → ordinary failure, dispatch normally
10
- *
11
- * Used by both `claude/runner.ts` (one-shot calls) and
12
- * `orchestrator/runner.ts` (stream-json implementer runs).
13
- */
14
- export type ClaudeErrorKind = "rate_limit" | "overloaded" | "auth" | "other";
15
- export declare class ClaudeError extends Error {
16
- readonly kind: ClaudeErrorKind;
17
- readonly exitCode: number | undefined;
18
- readonly stderr: string | undefined;
19
- constructor(args: {
20
- message: string;
21
- kind: ClaudeErrorKind;
22
- exitCode?: number | null;
23
- stderr?: string;
24
- });
25
- }
26
- export declare function classifyClaudeError(args: {
27
- message: string;
28
- exitCode?: number | null;
29
- stderr?: string;
30
- }): ClaudeErrorKind;
31
- /** True when the kind warrants a dispatch pause (vs a per-task fail). */
32
- export declare function isQuotaKind(kind: ClaudeErrorKind): boolean;
33
- export declare function asClaudeError(err: unknown, fallbackStderr?: string): ClaudeError;
@@ -1,58 +0,0 @@
1
- /**
2
- * Claude subprocess error classification.
3
- *
4
- * The CLI surfaces rate-limit / overload / auth failures via stderr +
5
- * non-zero exit. Classifying lets the orchestrator distinguish:
6
- * - `rate_limit` / `overloaded` → pause dispatch after N consecutive,
7
- * don't burn the operator's coding-plan quota on doomed retries
8
- * - `auth` → stop trying immediately + page operator
9
- * - `other` → ordinary failure, dispatch normally
10
- *
11
- * Used by both `claude/runner.ts` (one-shot calls) and
12
- * `orchestrator/runner.ts` (stream-json implementer runs).
13
- */
14
- export class ClaudeError extends Error {
15
- kind;
16
- exitCode;
17
- stderr;
18
- constructor(args) {
19
- super(args.message);
20
- this.name = "ClaudeError";
21
- this.kind = args.kind;
22
- this.exitCode =
23
- typeof args.exitCode === "number" ? args.exitCode : undefined;
24
- this.stderr = args.stderr;
25
- }
26
- }
27
- const RATE_LIMIT_RE = /rate[\s_-]?limit|\b429\b|too many requests|usage_limit/i;
28
- const OVERLOADED_RE = /overloaded|\b529\b|temporarily unavailable|service.?unavailable|\b503\b/i;
29
- const AUTH_RE = /unauthorized|forbidden|\b401\b|\b403\b|authentication|please[\s_-]+log[\s_-]?in|not[\s_-]+authenticated|invalid[\s_-]+api[\s_-]+key|api[\s_-]+key[\s_-]+expired|credit[\s_-]+balance[\s_-]+is[\s_-]+too[\s_-]+low/i;
30
- export function classifyClaudeError(args) {
31
- const text = `${args.message}\n${args.stderr ?? ""}`;
32
- if (RATE_LIMIT_RE.test(text))
33
- return "rate_limit";
34
- if (OVERLOADED_RE.test(text))
35
- return "overloaded";
36
- if (AUTH_RE.test(text))
37
- return "auth";
38
- return "other";
39
- }
40
- /** True when the kind warrants a dispatch pause (vs a per-task fail). */
41
- export function isQuotaKind(kind) {
42
- return kind === "rate_limit" || kind === "overloaded";
43
- }
44
- export function asClaudeError(err, fallbackStderr) {
45
- if (err instanceof ClaudeError)
46
- return err;
47
- const message = err instanceof Error ? err.message : String(err);
48
- const kind = classifyClaudeError({
49
- message,
50
- ...(fallbackStderr !== undefined ? { stderr: fallbackStderr } : {}),
51
- });
52
- return new ClaudeError({
53
- message,
54
- kind,
55
- ...(fallbackStderr !== undefined ? { stderr: fallbackStderr } : {}),
56
- });
57
- }
58
- //# sourceMappingURL=error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/claude/error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAC3B,IAAI,CAAkB;IACtB,QAAQ,CAAqB;IAC7B,MAAM,CAAqB;IAEpC,YAAY,IAKX;QACC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ;YACX,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,aAAa,GAAG,yDAAyD,CAAC;AAChF,MAAM,aAAa,GAAG,0EAA0E,CAAC;AACjG,MAAM,OAAO,GACX,oNAAoN,CAAC;AAEvN,MAAM,UAAU,mBAAmB,CAAC,IAInC;IACC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;IACrD,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,YAAY,CAAC;IAClD,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,YAAY,CAAC;IAClD,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IACtC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,WAAW,CAAC,IAAqB;IAC/C,OAAO,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,YAAY,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAY,EAAE,cAAuB;IACjE,IAAI,GAAG,YAAY,WAAW;QAAE,OAAO,GAAG,CAAC;IAC3C,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,MAAM,IAAI,GAAG,mBAAmB,CAAC;QAC/B,OAAO;QACP,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC,CAAC;IACH,OAAO,IAAI,WAAW,CAAC;QACrB,OAAO;QACP,IAAI;QACJ,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC,CAAC;AACL,CAAC"}
@@ -1,3 +0,0 @@
1
- export { claudeIsAvailable, runClaude } from "./runner.js";
2
- export type { ClaudeTier, ClaudeUsage, RunClaudeOptions, RunClaudeResult, } from "./types.js";
3
- export { asClaudeError, ClaudeError, classifyClaudeError, isQuotaKind, type ClaudeErrorKind, } from "./error.js";
@@ -1,3 +0,0 @@
1
- export { claudeIsAvailable, runClaude } from "./runner.js";
2
- export { asClaudeError, ClaudeError, classifyClaudeError, isQuotaKind, } from "./error.js";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/claude/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAO3D,OAAO,EACL,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,WAAW,GAEZ,MAAM,YAAY,CAAC"}
@@ -1,11 +0,0 @@
1
- import type { RunClaudeOptions, RunClaudeResult } from "./types.js";
2
- /** Returns true when `claude --version` succeeds. Used at startup + smoke. */
3
- export declare function claudeIsAvailable(): boolean;
4
- /**
5
- * Run a single non-interactive Claude Code call via subprocess.
6
- *
7
- * Auth path: relies on the operator's existing Claude Code login (OAuth /
8
- * keychain). No `--bare`, no `ANTHROPIC_API_KEY`. The whole point is to use
9
- * the operator's coding-plan subscription quota per L42.
10
- */
11
- export declare function runClaude(opts: RunClaudeOptions): Promise<RunClaudeResult>;
@@ -1,132 +0,0 @@
1
- import { spawn, spawnSync } from "node:child_process";
2
- import { logger } from "../logger.js";
3
- import { ClaudeError, classifyClaudeError } from "./error.js";
4
- const log = logger("claude.runner");
5
- /** Tier → model alias passed to `claude --model`. */
6
- const TIER_MODEL = {
7
- haiku: "haiku",
8
- sonnet: "sonnet",
9
- opus: "opus",
10
- };
11
- /** Returns true when `claude --version` succeeds. Used at startup + smoke. */
12
- export function claudeIsAvailable() {
13
- try {
14
- const result = spawnSync("claude", ["--version"], { encoding: "utf8" });
15
- return result.status === 0;
16
- }
17
- catch {
18
- return false;
19
- }
20
- }
21
- /**
22
- * Run a single non-interactive Claude Code call via subprocess.
23
- *
24
- * Auth path: relies on the operator's existing Claude Code login (OAuth /
25
- * keychain). No `--bare`, no `ANTHROPIC_API_KEY`. The whole point is to use
26
- * the operator's coding-plan subscription quota per L42.
27
- */
28
- export async function runClaude(opts) {
29
- const model = TIER_MODEL[opts.tier];
30
- const args = [
31
- "--print",
32
- "--output-format",
33
- "json",
34
- "--no-session-persistence",
35
- "--model",
36
- model,
37
- ];
38
- if (opts.system !== undefined) {
39
- args.push("--system-prompt", opts.system);
40
- }
41
- if (opts.jsonSchema !== undefined) {
42
- args.push("--json-schema", JSON.stringify(opts.jsonSchema));
43
- }
44
- if (opts.extraArgs && opts.extraArgs.length > 0) {
45
- args.push(...opts.extraArgs);
46
- }
47
- const startedAt = Date.now();
48
- const ctrl = new AbortController();
49
- const timeoutMs = opts.timeoutMs ?? 120_000;
50
- const timer = setTimeout(() => ctrl.abort(), timeoutMs);
51
- return new Promise((resolve, reject) => {
52
- const child = spawn("claude", args, {
53
- cwd: opts.cwd ?? process.cwd(),
54
- stdio: ["pipe", "pipe", "pipe"],
55
- signal: ctrl.signal,
56
- });
57
- const stdoutChunks = [];
58
- const stderrChunks = [];
59
- child.stdout.on("data", (chunk) => stdoutChunks.push(chunk));
60
- child.stderr.on("data", (chunk) => stderrChunks.push(chunk));
61
- child.on("error", (err) => {
62
- clearTimeout(timer);
63
- reject(err);
64
- });
65
- child.on("close", (code) => {
66
- clearTimeout(timer);
67
- const stdout = Buffer.concat(stdoutChunks).toString("utf8");
68
- const stderr = Buffer.concat(stderrChunks).toString("utf8");
69
- if (code !== 0) {
70
- const message = `claude exited ${code}${stderr ? `: ${stderr.trim()}` : ""}`;
71
- const kind = classifyClaudeError({ message, exitCode: code, stderr });
72
- reject(new ClaudeError({ message, kind, exitCode: code, stderr }));
73
- return;
74
- }
75
- let envelope;
76
- try {
77
- envelope = JSON.parse(stdout);
78
- }
79
- catch {
80
- reject(new ClaudeError({
81
- message: `claude output not JSON: ${stdout.slice(0, 200)}`,
82
- kind: "other",
83
- exitCode: code,
84
- stderr,
85
- }));
86
- return;
87
- }
88
- const text = typeof envelope["result"] === "string" ? envelope["result"] : "";
89
- let parsed;
90
- if (opts.jsonSchema !== undefined) {
91
- // The CLI puts schema-validated payload in `structured_output`, not
92
- // in `result` (which holds the conversational ack). Prefer that;
93
- // fall back to parsing the result text in case future versions
94
- // change the placement.
95
- if (envelope["structured_output"] !== undefined) {
96
- parsed = envelope["structured_output"];
97
- }
98
- else if (text.length > 0) {
99
- try {
100
- parsed = JSON.parse(text);
101
- }
102
- catch (err) {
103
- log.warn({ err: String(err), preview: text.slice(0, 200) }, "claude json output parse failed despite --json-schema");
104
- }
105
- }
106
- }
107
- const usageRaw = envelope["usage"];
108
- const usage = typeof usageRaw === "object" && usageRaw !== null
109
- ? usageRaw
110
- : undefined;
111
- const durationMs = Date.now() - startedAt;
112
- log.info({
113
- model,
114
- durationMs,
115
- input_tokens: usage?.["input_tokens"],
116
- output_tokens: usage?.["output_tokens"],
117
- }, "claude call complete");
118
- resolve({
119
- text,
120
- ...(parsed !== undefined ? { parsed } : {}),
121
- durationMs,
122
- tier: opts.tier,
123
- model,
124
- envelope,
125
- ...(usage !== undefined ? { usage } : {}),
126
- });
127
- });
128
- child.stdin.write(opts.prompt);
129
- child.stdin.end();
130
- });
131
- }
132
- //# sourceMappingURL=runner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/claude/runner.ts"],"names":[],"mappings":"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"}