@cleocode/core 2026.3.58 → 2026.3.59

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 (857) hide show
  1. package/dist/agents/agent-registry.d.ts +206 -0
  2. package/dist/agents/agent-registry.d.ts.map +1 -0
  3. package/dist/agents/health-monitor.d.ts +161 -0
  4. package/dist/agents/health-monitor.d.ts.map +1 -0
  5. package/dist/agents/index.d.ts +3 -1
  6. package/dist/agents/index.d.ts.map +1 -1
  7. package/dist/agents/retry.d.ts +57 -4
  8. package/dist/agents/retry.d.ts.map +1 -1
  9. package/dist/backfill/index.d.ts +27 -0
  10. package/dist/backfill/index.d.ts.map +1 -1
  11. package/dist/index.d.ts +1 -0
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +880 -506
  14. package/dist/index.js.map +4 -4
  15. package/dist/intelligence/impact.d.ts +34 -1
  16. package/dist/intelligence/impact.d.ts.map +1 -1
  17. package/dist/intelligence/index.d.ts +2 -2
  18. package/dist/intelligence/index.d.ts.map +1 -1
  19. package/dist/intelligence/types.d.ts +60 -0
  20. package/dist/intelligence/types.d.ts.map +1 -1
  21. package/dist/internal.d.ts +5 -4
  22. package/dist/internal.d.ts.map +1 -1
  23. package/dist/lib/index.d.ts +10 -0
  24. package/dist/lib/index.d.ts.map +1 -0
  25. package/dist/lib/retry.d.ts +128 -0
  26. package/dist/lib/retry.d.ts.map +1 -0
  27. package/dist/nexus/sharing/index.d.ts +48 -2
  28. package/dist/nexus/sharing/index.d.ts.map +1 -1
  29. package/dist/stats/workflow-telemetry.d.ts +15 -0
  30. package/dist/stats/workflow-telemetry.d.ts.map +1 -1
  31. package/dist/store/cross-db-cleanup.d.ts +35 -0
  32. package/dist/store/cross-db-cleanup.d.ts.map +1 -1
  33. package/dist/tasks/complete.d.ts.map +1 -1
  34. package/dist/tasks/enforcement.d.ts.map +1 -1
  35. package/dist/tasks/epic-enforcement.d.ts +61 -0
  36. package/dist/tasks/epic-enforcement.d.ts.map +1 -1
  37. package/dist/tasks/pipeline-stage.d.ts +70 -1
  38. package/dist/tasks/pipeline-stage.d.ts.map +1 -1
  39. package/package.json +5 -5
  40. package/schemas/config.schema.json +37 -1547
  41. package/src/__tests__/sharing.test.ts +24 -0
  42. package/src/agents/__tests__/agent-registry.test.ts +351 -0
  43. package/src/agents/__tests__/health-monitor.test.ts +332 -0
  44. package/src/agents/agent-registry.ts +394 -0
  45. package/src/agents/health-monitor.ts +279 -0
  46. package/src/agents/index.ts +24 -1
  47. package/src/agents/retry.ts +57 -4
  48. package/src/backfill/index.ts +27 -0
  49. package/src/config.ts +3 -3
  50. package/src/index.ts +1 -0
  51. package/src/intelligence/__tests__/impact.test.ts +165 -1
  52. package/src/intelligence/impact.ts +203 -0
  53. package/src/intelligence/index.ts +3 -0
  54. package/src/intelligence/types.ts +76 -0
  55. package/src/internal.ts +20 -0
  56. package/src/lib/__tests__/retry.test.ts +321 -0
  57. package/src/lib/index.ts +16 -0
  58. package/src/lib/retry.ts +224 -0
  59. package/src/nexus/sharing/index.ts +142 -2
  60. package/src/stats/workflow-telemetry.ts +15 -0
  61. package/src/store/__tests__/session-store.test.ts +43 -7
  62. package/src/store/__tests__/task-store.test.ts +1 -1
  63. package/src/store/__tests__/test-db-helper.ts +7 -3
  64. package/src/store/cross-db-cleanup.ts +35 -0
  65. package/src/tasks/__tests__/epic-enforcement.test.ts +9 -4
  66. package/src/tasks/__tests__/minimal-test.test.ts +2 -2
  67. package/src/tasks/__tests__/update.test.ts +25 -25
  68. package/src/tasks/complete.ts +11 -6
  69. package/src/tasks/enforcement.ts +6 -3
  70. package/src/tasks/epic-enforcement.ts +61 -0
  71. package/src/tasks/pipeline-stage.ts +70 -1
  72. package/templates/config.template.json +5 -116
  73. package/templates/global-config.template.json +2 -44
  74. package/dist/adapters/adapter-registry.js +0 -64
  75. package/dist/adapters/adapter-registry.js.map +0 -1
  76. package/dist/adapters/discovery.js +0 -83
  77. package/dist/adapters/discovery.js.map +0 -1
  78. package/dist/adapters/index.js +0 -9
  79. package/dist/adapters/index.js.map +0 -1
  80. package/dist/adapters/manager.js +0 -260
  81. package/dist/adapters/manager.js.map +0 -1
  82. package/dist/admin/export-tasks.js +0 -171
  83. package/dist/admin/export-tasks.js.map +0 -1
  84. package/dist/admin/export.js +0 -103
  85. package/dist/admin/export.js.map +0 -1
  86. package/dist/admin/help.js +0 -106
  87. package/dist/admin/help.js.map +0 -1
  88. package/dist/admin/import-tasks.js +0 -182
  89. package/dist/admin/import-tasks.js.map +0 -1
  90. package/dist/admin/import.js +0 -129
  91. package/dist/admin/import.js.map +0 -1
  92. package/dist/admin/index.js +0 -13
  93. package/dist/admin/index.js.map +0 -1
  94. package/dist/adrs/find.js +0 -134
  95. package/dist/adrs/find.js.map +0 -1
  96. package/dist/adrs/index.js +0 -15
  97. package/dist/adrs/index.js.map +0 -1
  98. package/dist/adrs/link-pipeline.js +0 -160
  99. package/dist/adrs/link-pipeline.js.map +0 -1
  100. package/dist/adrs/list.js +0 -43
  101. package/dist/adrs/list.js.map +0 -1
  102. package/dist/adrs/parse.js +0 -51
  103. package/dist/adrs/parse.js.map +0 -1
  104. package/dist/adrs/show.js +0 -22
  105. package/dist/adrs/show.js.map +0 -1
  106. package/dist/adrs/sync.js +0 -188
  107. package/dist/adrs/sync.js.map +0 -1
  108. package/dist/adrs/types.js +0 -9
  109. package/dist/adrs/types.js.map +0 -1
  110. package/dist/adrs/validate.js +0 -57
  111. package/dist/adrs/validate.js.map +0 -1
  112. package/dist/agents/agent-schema.js +0 -80
  113. package/dist/agents/agent-schema.js.map +0 -1
  114. package/dist/agents/capacity.js +0 -116
  115. package/dist/agents/capacity.js.map +0 -1
  116. package/dist/agents/index.js +0 -21
  117. package/dist/agents/index.js.map +0 -1
  118. package/dist/agents/registry.js +0 -314
  119. package/dist/agents/registry.js.map +0 -1
  120. package/dist/agents/retry.js +0 -176
  121. package/dist/agents/retry.js.map +0 -1
  122. package/dist/audit-prune.js +0 -94
  123. package/dist/audit-prune.js.map +0 -1
  124. package/dist/audit.js +0 -68
  125. package/dist/audit.js.map +0 -1
  126. package/dist/bootstrap.js +0 -260
  127. package/dist/bootstrap.js.map +0 -1
  128. package/dist/caamp/adapter.js +0 -434
  129. package/dist/caamp/adapter.js.map +0 -1
  130. package/dist/caamp/capability-check.js +0 -38
  131. package/dist/caamp/capability-check.js.map +0 -1
  132. package/dist/caamp/index.js +0 -23
  133. package/dist/caamp/index.js.map +0 -1
  134. package/dist/caamp-init.js +0 -16
  135. package/dist/caamp-init.js.map +0 -1
  136. package/dist/cleo.js +0 -267
  137. package/dist/cleo.js.map +0 -1
  138. package/dist/codebase-map/analyzers/architecture.js +0 -130
  139. package/dist/codebase-map/analyzers/architecture.js.map +0 -1
  140. package/dist/codebase-map/analyzers/concerns.js +0 -122
  141. package/dist/codebase-map/analyzers/concerns.js.map +0 -1
  142. package/dist/codebase-map/analyzers/conventions.js +0 -149
  143. package/dist/codebase-map/analyzers/conventions.js.map +0 -1
  144. package/dist/codebase-map/analyzers/integrations.js +0 -108
  145. package/dist/codebase-map/analyzers/integrations.js.map +0 -1
  146. package/dist/codebase-map/analyzers/stack.js +0 -117
  147. package/dist/codebase-map/analyzers/stack.js.map +0 -1
  148. package/dist/codebase-map/analyzers/structure.js +0 -137
  149. package/dist/codebase-map/analyzers/structure.js.map +0 -1
  150. package/dist/codebase-map/analyzers/testing.js +0 -118
  151. package/dist/codebase-map/analyzers/testing.js.map +0 -1
  152. package/dist/codebase-map/index.js +0 -57
  153. package/dist/codebase-map/index.js.map +0 -1
  154. package/dist/codebase-map/store.js +0 -122
  155. package/dist/codebase-map/store.js.map +0 -1
  156. package/dist/codebase-map/summary.js +0 -152
  157. package/dist/codebase-map/summary.js.map +0 -1
  158. package/dist/compliance/index.js +0 -288
  159. package/dist/compliance/index.js.map +0 -1
  160. package/dist/compliance/protocol-enforcement.js +0 -332
  161. package/dist/compliance/protocol-enforcement.js.map +0 -1
  162. package/dist/compliance/protocol-rules.js +0 -786
  163. package/dist/compliance/protocol-rules.js.map +0 -1
  164. package/dist/compliance/protocol-types.js +0 -80
  165. package/dist/compliance/protocol-types.js.map +0 -1
  166. package/dist/compliance/store.js +0 -53
  167. package/dist/compliance/store.js.map +0 -1
  168. package/dist/config/build-config.js +0 -29
  169. package/dist/config/build-config.js.map +0 -1
  170. package/dist/config.js +0 -287
  171. package/dist/config.js.map +0 -1
  172. package/dist/constants.js +0 -18
  173. package/dist/constants.js.map +0 -1
  174. package/dist/context/index.js +0 -137
  175. package/dist/context/index.js.map +0 -1
  176. package/dist/engine-result.js +0 -12
  177. package/dist/engine-result.js.map +0 -1
  178. package/dist/error-catalog.js +0 -404
  179. package/dist/error-catalog.js.map +0 -1
  180. package/dist/error-registry.js +0 -393
  181. package/dist/error-registry.js.map +0 -1
  182. package/dist/errors.js +0 -167
  183. package/dist/errors.js.map +0 -1
  184. package/dist/hooks/handlers/error-hooks.js +0 -43
  185. package/dist/hooks/handlers/error-hooks.js.map +0 -1
  186. package/dist/hooks/handlers/file-hooks.js +0 -80
  187. package/dist/hooks/handlers/file-hooks.js.map +0 -1
  188. package/dist/hooks/handlers/index.js +0 -19
  189. package/dist/hooks/handlers/index.js.map +0 -1
  190. package/dist/hooks/handlers/mcp-hooks.js +0 -80
  191. package/dist/hooks/handlers/mcp-hooks.js.map +0 -1
  192. package/dist/hooks/handlers/session-hooks.js +0 -73
  193. package/dist/hooks/handlers/session-hooks.js.map +0 -1
  194. package/dist/hooks/handlers/task-hooks.js +0 -63
  195. package/dist/hooks/handlers/task-hooks.js.map +0 -1
  196. package/dist/hooks/index.js +0 -13
  197. package/dist/hooks/index.js.map +0 -1
  198. package/dist/hooks/payload-schemas.js +0 -163
  199. package/dist/hooks/payload-schemas.js.map +0 -1
  200. package/dist/hooks/provider-hooks.js +0 -34
  201. package/dist/hooks/provider-hooks.js.map +0 -1
  202. package/dist/hooks/registry.js +0 -176
  203. package/dist/hooks/registry.js.map +0 -1
  204. package/dist/hooks/types.js +0 -62
  205. package/dist/hooks/types.js.map +0 -1
  206. package/dist/hooks.js +0 -136
  207. package/dist/hooks.js.map +0 -1
  208. package/dist/init.js +0 -711
  209. package/dist/init.js.map +0 -1
  210. package/dist/inject/index.js +0 -82
  211. package/dist/inject/index.js.map +0 -1
  212. package/dist/injection.js +0 -343
  213. package/dist/injection.js.map +0 -1
  214. package/dist/intelligence/impact.js +0 -499
  215. package/dist/intelligence/impact.js.map +0 -1
  216. package/dist/intelligence/index.js +0 -17
  217. package/dist/intelligence/index.js.map +0 -1
  218. package/dist/intelligence/patterns.js +0 -492
  219. package/dist/intelligence/patterns.js.map +0 -1
  220. package/dist/intelligence/prediction.js +0 -499
  221. package/dist/intelligence/prediction.js.map +0 -1
  222. package/dist/intelligence/types.js +0 -13
  223. package/dist/intelligence/types.js.map +0 -1
  224. package/dist/internal.js +0 -258
  225. package/dist/internal.js.map +0 -1
  226. package/dist/issue/create.js +0 -121
  227. package/dist/issue/create.js.map +0 -1
  228. package/dist/issue/diagnostics.js +0 -59
  229. package/dist/issue/diagnostics.js.map +0 -1
  230. package/dist/issue/index.js +0 -10
  231. package/dist/issue/index.js.map +0 -1
  232. package/dist/issue/template-parser.js +0 -267
  233. package/dist/issue/template-parser.js.map +0 -1
  234. package/dist/json-schema-validator.js +0 -76
  235. package/dist/json-schema-validator.js.map +0 -1
  236. package/dist/lifecycle/chain-composition.js +0 -152
  237. package/dist/lifecycle/chain-composition.js.map +0 -1
  238. package/dist/lifecycle/chain-store.js +0 -246
  239. package/dist/lifecycle/chain-store.js.map +0 -1
  240. package/dist/lifecycle/consolidate-rcasd.js +0 -352
  241. package/dist/lifecycle/consolidate-rcasd.js.map +0 -1
  242. package/dist/lifecycle/default-chain.js +0 -167
  243. package/dist/lifecycle/default-chain.js.map +0 -1
  244. package/dist/lifecycle/evidence.js +0 -180
  245. package/dist/lifecycle/evidence.js.map +0 -1
  246. package/dist/lifecycle/frontmatter.js +0 -363
  247. package/dist/lifecycle/frontmatter.js.map +0 -1
  248. package/dist/lifecycle/index.js +0 -753
  249. package/dist/lifecycle/index.js.map +0 -1
  250. package/dist/lifecycle/pipeline.js +0 -656
  251. package/dist/lifecycle/pipeline.js.map +0 -1
  252. package/dist/lifecycle/rcasd-index.js +0 -326
  253. package/dist/lifecycle/rcasd-index.js.map +0 -1
  254. package/dist/lifecycle/rcasd-paths.js +0 -220
  255. package/dist/lifecycle/rcasd-paths.js.map +0 -1
  256. package/dist/lifecycle/resume.js +0 -864
  257. package/dist/lifecycle/resume.js.map +0 -1
  258. package/dist/lifecycle/stage-artifacts.js +0 -94
  259. package/dist/lifecycle/stage-artifacts.js.map +0 -1
  260. package/dist/lifecycle/stages.js +0 -534
  261. package/dist/lifecycle/stages.js.map +0 -1
  262. package/dist/lifecycle/state-machine.js +0 -516
  263. package/dist/lifecycle/state-machine.js.map +0 -1
  264. package/dist/lifecycle/tessera-engine.js +0 -249
  265. package/dist/lifecycle/tessera-engine.js.map +0 -1
  266. package/dist/logger.js +0 -140
  267. package/dist/logger.js.map +0 -1
  268. package/dist/mcp/index.js +0 -146
  269. package/dist/mcp/index.js.map +0 -1
  270. package/dist/memory/auto-extract.js +0 -143
  271. package/dist/memory/auto-extract.js.map +0 -1
  272. package/dist/memory/brain-embedding.js +0 -49
  273. package/dist/memory/brain-embedding.js.map +0 -1
  274. package/dist/memory/brain-lifecycle.js +0 -298
  275. package/dist/memory/brain-lifecycle.js.map +0 -1
  276. package/dist/memory/brain-links.js +0 -148
  277. package/dist/memory/brain-links.js.map +0 -1
  278. package/dist/memory/brain-migration.js +0 -149
  279. package/dist/memory/brain-migration.js.map +0 -1
  280. package/dist/memory/brain-reasoning.js +0 -215
  281. package/dist/memory/brain-reasoning.js.map +0 -1
  282. package/dist/memory/brain-retrieval.js +0 -474
  283. package/dist/memory/brain-retrieval.js.map +0 -1
  284. package/dist/memory/brain-row-types.js +0 -10
  285. package/dist/memory/brain-row-types.js.map +0 -1
  286. package/dist/memory/brain-search.js +0 -519
  287. package/dist/memory/brain-search.js.map +0 -1
  288. package/dist/memory/brain-similarity.js +0 -145
  289. package/dist/memory/brain-similarity.js.map +0 -1
  290. package/dist/memory/claude-mem-migration.js +0 -277
  291. package/dist/memory/claude-mem-migration.js.map +0 -1
  292. package/dist/memory/decisions.js +0 -148
  293. package/dist/memory/decisions.js.map +0 -1
  294. package/dist/memory/engine-compat.js +0 -1030
  295. package/dist/memory/engine-compat.js.map +0 -1
  296. package/dist/memory/index.js +0 -773
  297. package/dist/memory/index.js.map +0 -1
  298. package/dist/memory/learnings.js +0 -121
  299. package/dist/memory/learnings.js.map +0 -1
  300. package/dist/memory/memory-bridge.js +0 -289
  301. package/dist/memory/memory-bridge.js.map +0 -1
  302. package/dist/memory/patterns.js +0 -122
  303. package/dist/memory/patterns.js.map +0 -1
  304. package/dist/memory/pipeline-manifest-sqlite.js +0 -975
  305. package/dist/memory/pipeline-manifest-sqlite.js.map +0 -1
  306. package/dist/memory/session-memory.js +0 -226
  307. package/dist/memory/session-memory.js.map +0 -1
  308. package/dist/metrics/ab-test.js +0 -260
  309. package/dist/metrics/ab-test.js.map +0 -1
  310. package/dist/metrics/aggregation.js +0 -363
  311. package/dist/metrics/aggregation.js.map +0 -1
  312. package/dist/metrics/common.js +0 -64
  313. package/dist/metrics/common.js.map +0 -1
  314. package/dist/metrics/enums.js +0 -78
  315. package/dist/metrics/enums.js.map +0 -1
  316. package/dist/metrics/index.js +0 -19
  317. package/dist/metrics/index.js.map +0 -1
  318. package/dist/metrics/model-provider-registry.js +0 -88
  319. package/dist/metrics/model-provider-registry.js.map +0 -1
  320. package/dist/metrics/otel-integration.js +0 -263
  321. package/dist/metrics/otel-integration.js.map +0 -1
  322. package/dist/metrics/provider-detection.js +0 -103
  323. package/dist/metrics/provider-detection.js.map +0 -1
  324. package/dist/metrics/token-estimation.js +0 -253
  325. package/dist/metrics/token-estimation.js.map +0 -1
  326. package/dist/metrics/token-service.js +0 -450
  327. package/dist/metrics/token-service.js.map +0 -1
  328. package/dist/migration/agent-outputs.js +0 -316
  329. package/dist/migration/agent-outputs.js.map +0 -1
  330. package/dist/migration/checksum.js +0 -92
  331. package/dist/migration/checksum.js.map +0 -1
  332. package/dist/migration/index.js +0 -282
  333. package/dist/migration/index.js.map +0 -1
  334. package/dist/migration/logger.js +0 -360
  335. package/dist/migration/logger.js.map +0 -1
  336. package/dist/migration/preflight.js +0 -9
  337. package/dist/migration/preflight.js.map +0 -1
  338. package/dist/migration/state.js +0 -421
  339. package/dist/migration/state.js.map +0 -1
  340. package/dist/migration/validate.js +0 -241
  341. package/dist/migration/validate.js.map +0 -1
  342. package/dist/nexus/deps.js +0 -375
  343. package/dist/nexus/deps.js.map +0 -1
  344. package/dist/nexus/discover.js +0 -288
  345. package/dist/nexus/discover.js.map +0 -1
  346. package/dist/nexus/hash.js +0 -10
  347. package/dist/nexus/hash.js.map +0 -1
  348. package/dist/nexus/index.js +0 -38
  349. package/dist/nexus/index.js.map +0 -1
  350. package/dist/nexus/migrate-json-to-sqlite.js +0 -115
  351. package/dist/nexus/migrate-json-to-sqlite.js.map +0 -1
  352. package/dist/nexus/permissions.js +0 -105
  353. package/dist/nexus/permissions.js.map +0 -1
  354. package/dist/nexus/query.js +0 -175
  355. package/dist/nexus/query.js.map +0 -1
  356. package/dist/nexus/registry.js +0 -584
  357. package/dist/nexus/registry.js.map +0 -1
  358. package/dist/nexus/sharing/index.js +0 -179
  359. package/dist/nexus/sharing/index.js.map +0 -1
  360. package/dist/nexus/transfer-types.js +0 -8
  361. package/dist/nexus/transfer-types.js.map +0 -1
  362. package/dist/nexus/transfer.js +0 -263
  363. package/dist/nexus/transfer.js.map +0 -1
  364. package/dist/observability/index.js +0 -103
  365. package/dist/observability/index.js.map +0 -1
  366. package/dist/observability/log-filter.js +0 -63
  367. package/dist/observability/log-filter.js.map +0 -1
  368. package/dist/observability/log-parser.js +0 -99
  369. package/dist/observability/log-parser.js.map +0 -1
  370. package/dist/observability/log-reader.js +0 -139
  371. package/dist/observability/log-reader.js.map +0 -1
  372. package/dist/observability/types.js +0 -19
  373. package/dist/observability/types.js.map +0 -1
  374. package/dist/orchestration/analyze.js +0 -107
  375. package/dist/orchestration/analyze.js.map +0 -1
  376. package/dist/orchestration/bootstrap.js +0 -132
  377. package/dist/orchestration/bootstrap.js.map +0 -1
  378. package/dist/orchestration/context.js +0 -56
  379. package/dist/orchestration/context.js.map +0 -1
  380. package/dist/orchestration/critical-path.js +0 -100
  381. package/dist/orchestration/critical-path.js.map +0 -1
  382. package/dist/orchestration/index.js +0 -286
  383. package/dist/orchestration/index.js.map +0 -1
  384. package/dist/orchestration/parallel.js +0 -89
  385. package/dist/orchestration/parallel.js.map +0 -1
  386. package/dist/orchestration/protocol-validators.js +0 -524
  387. package/dist/orchestration/protocol-validators.js.map +0 -1
  388. package/dist/orchestration/skill-ops.js +0 -98
  389. package/dist/orchestration/skill-ops.js.map +0 -1
  390. package/dist/orchestration/status.js +0 -107
  391. package/dist/orchestration/status.js.map +0 -1
  392. package/dist/orchestration/unblock.js +0 -103
  393. package/dist/orchestration/unblock.js.map +0 -1
  394. package/dist/orchestration/validate-spawn.js +0 -67
  395. package/dist/orchestration/validate-spawn.js.map +0 -1
  396. package/dist/orchestration/waves.js +0 -86
  397. package/dist/orchestration/waves.js.map +0 -1
  398. package/dist/otel/index.js +0 -163
  399. package/dist/otel/index.js.map +0 -1
  400. package/dist/output.js +0 -132
  401. package/dist/output.js.map +0 -1
  402. package/dist/pagination.js +0 -61
  403. package/dist/pagination.js.map +0 -1
  404. package/dist/paths.js +0 -337
  405. package/dist/paths.js.map +0 -1
  406. package/dist/phases/deps.js +0 -369
  407. package/dist/phases/deps.js.map +0 -1
  408. package/dist/phases/index.js +0 -349
  409. package/dist/phases/index.js.map +0 -1
  410. package/dist/pipeline/index.js +0 -10
  411. package/dist/pipeline/index.js.map +0 -1
  412. package/dist/pipeline/phase.js +0 -45
  413. package/dist/pipeline/phase.js.map +0 -1
  414. package/dist/platform.js +0 -211
  415. package/dist/platform.js.map +0 -1
  416. package/dist/project-info.js +0 -84
  417. package/dist/project-info.js.map +0 -1
  418. package/dist/reconciliation/index.js +0 -10
  419. package/dist/reconciliation/index.js.map +0 -1
  420. package/dist/reconciliation/link-store.js +0 -129
  421. package/dist/reconciliation/link-store.js.map +0 -1
  422. package/dist/reconciliation/reconciliation-engine.js +0 -298
  423. package/dist/reconciliation/reconciliation-engine.js.map +0 -1
  424. package/dist/release/artifacts.js +0 -427
  425. package/dist/release/artifacts.js.map +0 -1
  426. package/dist/release/changelog-writer.js +0 -151
  427. package/dist/release/changelog-writer.js.map +0 -1
  428. package/dist/release/channel.js +0 -144
  429. package/dist/release/channel.js.map +0 -1
  430. package/dist/release/ci.js +0 -166
  431. package/dist/release/ci.js.map +0 -1
  432. package/dist/release/github-pr.js +0 -225
  433. package/dist/release/github-pr.js.map +0 -1
  434. package/dist/release/guards.js +0 -116
  435. package/dist/release/guards.js.map +0 -1
  436. package/dist/release/index.js +0 -22
  437. package/dist/release/index.js.map +0 -1
  438. package/dist/release/release-config.js +0 -158
  439. package/dist/release/release-config.js.map +0 -1
  440. package/dist/release/release-manifest.js +0 -1019
  441. package/dist/release/release-manifest.js.map +0 -1
  442. package/dist/release/version-bump.js +0 -255
  443. package/dist/release/version-bump.js.map +0 -1
  444. package/dist/remote/index.js +0 -257
  445. package/dist/remote/index.js.map +0 -1
  446. package/dist/repair.js +0 -89
  447. package/dist/repair.js.map +0 -1
  448. package/dist/research/index.js +0 -2
  449. package/dist/research/index.js.map +0 -1
  450. package/dist/roadmap/index.js +0 -59
  451. package/dist/roadmap/index.js.map +0 -1
  452. package/dist/routing/capability-matrix.js +0 -1550
  453. package/dist/routing/capability-matrix.js.map +0 -1
  454. package/dist/routing/index.js +0 -9
  455. package/dist/routing/index.js.map +0 -1
  456. package/dist/scaffold.js +0 -1158
  457. package/dist/scaffold.js.map +0 -1
  458. package/dist/schema-management.js +0 -295
  459. package/dist/schema-management.js.map +0 -1
  460. package/dist/security/index.js +0 -9
  461. package/dist/security/index.js.map +0 -1
  462. package/dist/security/input-sanitization.js +0 -321
  463. package/dist/security/input-sanitization.js.map +0 -1
  464. package/dist/sequence/index.js +0 -295
  465. package/dist/sequence/index.js.map +0 -1
  466. package/dist/sessions/assumptions.js +0 -54
  467. package/dist/sessions/assumptions.js.map +0 -1
  468. package/dist/sessions/briefing.js +0 -377
  469. package/dist/sessions/briefing.js.map +0 -1
  470. package/dist/sessions/context-alert.js +0 -222
  471. package/dist/sessions/context-alert.js.map +0 -1
  472. package/dist/sessions/context-inject.js +0 -61
  473. package/dist/sessions/context-inject.js.map +0 -1
  474. package/dist/sessions/context-monitor.js +0 -98
  475. package/dist/sessions/context-monitor.js.map +0 -1
  476. package/dist/sessions/decisions.js +0 -65
  477. package/dist/sessions/decisions.js.map +0 -1
  478. package/dist/sessions/find.js +0 -63
  479. package/dist/sessions/find.js.map +0 -1
  480. package/dist/sessions/handoff.js +0 -328
  481. package/dist/sessions/handoff.js.map +0 -1
  482. package/dist/sessions/hitl-warnings.js +0 -254
  483. package/dist/sessions/hitl-warnings.js.map +0 -1
  484. package/dist/sessions/index.js +0 -318
  485. package/dist/sessions/index.js.map +0 -1
  486. package/dist/sessions/session-archive.js +0 -40
  487. package/dist/sessions/session-archive.js.map +0 -1
  488. package/dist/sessions/session-cleanup.js +0 -59
  489. package/dist/sessions/session-cleanup.js.map +0 -1
  490. package/dist/sessions/session-drift.js +0 -134
  491. package/dist/sessions/session-drift.js.map +0 -1
  492. package/dist/sessions/session-enforcement.js +0 -140
  493. package/dist/sessions/session-enforcement.js.map +0 -1
  494. package/dist/sessions/session-grade.js +0 -253
  495. package/dist/sessions/session-grade.js.map +0 -1
  496. package/dist/sessions/session-history.js +0 -42
  497. package/dist/sessions/session-history.js.map +0 -1
  498. package/dist/sessions/session-id.js +0 -81
  499. package/dist/sessions/session-id.js.map +0 -1
  500. package/dist/sessions/session-memory-bridge.js +0 -52
  501. package/dist/sessions/session-memory-bridge.js.map +0 -1
  502. package/dist/sessions/session-show.js +0 -24
  503. package/dist/sessions/session-show.js.map +0 -1
  504. package/dist/sessions/session-stats.js +0 -69
  505. package/dist/sessions/session-stats.js.map +0 -1
  506. package/dist/sessions/session-suspend.js +0 -39
  507. package/dist/sessions/session-suspend.js.map +0 -1
  508. package/dist/sessions/session-switch.js +0 -51
  509. package/dist/sessions/session-switch.js.map +0 -1
  510. package/dist/sessions/session-view.js +0 -76
  511. package/dist/sessions/session-view.js.map +0 -1
  512. package/dist/sessions/statusline-setup.js +0 -85
  513. package/dist/sessions/statusline-setup.js.map +0 -1
  514. package/dist/sessions/types.js +0 -8
  515. package/dist/sessions/types.js.map +0 -1
  516. package/dist/signaldock/claude-code-transport.js +0 -107
  517. package/dist/signaldock/claude-code-transport.js.map +0 -1
  518. package/dist/signaldock/factory.js +0 -25
  519. package/dist/signaldock/factory.js.map +0 -1
  520. package/dist/signaldock/index.js +0 -9
  521. package/dist/signaldock/index.js.map +0 -1
  522. package/dist/signaldock/signaldock-transport.js +0 -122
  523. package/dist/signaldock/signaldock-transport.js.map +0 -1
  524. package/dist/signaldock/transport.js +0 -11
  525. package/dist/signaldock/transport.js.map +0 -1
  526. package/dist/signaldock/types.js +0 -11
  527. package/dist/signaldock/types.js.map +0 -1
  528. package/dist/skills/agents/config.js +0 -94
  529. package/dist/skills/agents/config.js.map +0 -1
  530. package/dist/skills/agents/install.js +0 -116
  531. package/dist/skills/agents/install.js.map +0 -1
  532. package/dist/skills/agents/registry.js +0 -161
  533. package/dist/skills/agents/registry.js.map +0 -1
  534. package/dist/skills/discovery.js +0 -333
  535. package/dist/skills/discovery.js.map +0 -1
  536. package/dist/skills/dispatch.js +0 -347
  537. package/dist/skills/dispatch.js.map +0 -1
  538. package/dist/skills/dynamic-skill-generator.js +0 -100
  539. package/dist/skills/dynamic-skill-generator.js.map +0 -1
  540. package/dist/skills/index.js +0 -44
  541. package/dist/skills/index.js.map +0 -1
  542. package/dist/skills/injection/subagent.js +0 -195
  543. package/dist/skills/injection/subagent.js.map +0 -1
  544. package/dist/skills/injection/token.js +0 -260
  545. package/dist/skills/injection/token.js.map +0 -1
  546. package/dist/skills/install.js +0 -40
  547. package/dist/skills/install.js.map +0 -1
  548. package/dist/skills/manifests/contribution.js +0 -175
  549. package/dist/skills/manifests/contribution.js.map +0 -1
  550. package/dist/skills/manifests/research.js +0 -281
  551. package/dist/skills/manifests/research.js.map +0 -1
  552. package/dist/skills/manifests/resolver.js +0 -146
  553. package/dist/skills/manifests/resolver.js.map +0 -1
  554. package/dist/skills/marketplace.js +0 -90
  555. package/dist/skills/marketplace.js.map +0 -1
  556. package/dist/skills/orchestrator/spawn.js +0 -178
  557. package/dist/skills/orchestrator/spawn.js.map +0 -1
  558. package/dist/skills/orchestrator/startup.js +0 -451
  559. package/dist/skills/orchestrator/startup.js.map +0 -1
  560. package/dist/skills/orchestrator/validator.js +0 -301
  561. package/dist/skills/orchestrator/validator.js.map +0 -1
  562. package/dist/skills/precedence-integration.js +0 -73
  563. package/dist/skills/precedence-integration.js.map +0 -1
  564. package/dist/skills/precedence-types.js +0 -16
  565. package/dist/skills/precedence-types.js.map +0 -1
  566. package/dist/skills/routing-table.js +0 -63
  567. package/dist/skills/routing-table.js.map +0 -1
  568. package/dist/skills/skill-paths.js +0 -220
  569. package/dist/skills/skill-paths.js.map +0 -1
  570. package/dist/skills/test-utility.js +0 -55
  571. package/dist/skills/test-utility.js.map +0 -1
  572. package/dist/skills/types.js +0 -118
  573. package/dist/skills/types.js.map +0 -1
  574. package/dist/skills/validation.js +0 -183
  575. package/dist/skills/validation.js.map +0 -1
  576. package/dist/skills/version.js +0 -57
  577. package/dist/skills/version.js.map +0 -1
  578. package/dist/snapshot/index.js +0 -188
  579. package/dist/snapshot/index.js.map +0 -1
  580. package/dist/spawn/adapter-registry.js +0 -246
  581. package/dist/spawn/adapter-registry.js.map +0 -1
  582. package/dist/spawn/index.js +0 -10
  583. package/dist/spawn/index.js.map +0 -1
  584. package/dist/stats/index.js +0 -339
  585. package/dist/stats/index.js.map +0 -1
  586. package/dist/sticky/archive.js +0 -47
  587. package/dist/sticky/archive.js.map +0 -1
  588. package/dist/sticky/convert.js +0 -235
  589. package/dist/sticky/convert.js.map +0 -1
  590. package/dist/sticky/create.js +0 -48
  591. package/dist/sticky/create.js.map +0 -1
  592. package/dist/sticky/id.js +0 -35
  593. package/dist/sticky/id.js.map +0 -1
  594. package/dist/sticky/index.js +0 -16
  595. package/dist/sticky/index.js.map +0 -1
  596. package/dist/sticky/list.js +0 -44
  597. package/dist/sticky/list.js.map +0 -1
  598. package/dist/sticky/purge.js +0 -45
  599. package/dist/sticky/purge.js.map +0 -1
  600. package/dist/sticky/show.js +0 -42
  601. package/dist/sticky/show.js.map +0 -1
  602. package/dist/sticky/types.js +0 -10
  603. package/dist/sticky/types.js.map +0 -1
  604. package/dist/store/atomic.js +0 -167
  605. package/dist/store/atomic.js.map +0 -1
  606. package/dist/store/backup.js +0 -94
  607. package/dist/store/backup.js.map +0 -1
  608. package/dist/store/brain-accessor.js +0 -397
  609. package/dist/store/brain-accessor.js.map +0 -1
  610. package/dist/store/brain-schema.js +0 -212
  611. package/dist/store/brain-schema.js.map +0 -1
  612. package/dist/store/brain-sqlite.js +0 -271
  613. package/dist/store/brain-sqlite.js.map +0 -1
  614. package/dist/store/cache.js +0 -168
  615. package/dist/store/cache.js.map +0 -1
  616. package/dist/store/chain-schema.js +0 -51
  617. package/dist/store/chain-schema.js.map +0 -1
  618. package/dist/store/converters.js +0 -120
  619. package/dist/store/converters.js.map +0 -1
  620. package/dist/store/data-accessor.js +0 -26
  621. package/dist/store/data-accessor.js.map +0 -1
  622. package/dist/store/data-safety-central.js +0 -269
  623. package/dist/store/data-safety-central.js.map +0 -1
  624. package/dist/store/data-safety.js +0 -274
  625. package/dist/store/data-safety.js.map +0 -1
  626. package/dist/store/db-helpers.js +0 -221
  627. package/dist/store/db-helpers.js.map +0 -1
  628. package/dist/store/export.js +0 -155
  629. package/dist/store/export.js.map +0 -1
  630. package/dist/store/file-utils.js +0 -270
  631. package/dist/store/file-utils.js.map +0 -1
  632. package/dist/store/git-checkpoint.js +0 -365
  633. package/dist/store/git-checkpoint.js.map +0 -1
  634. package/dist/store/import-logging.js +0 -139
  635. package/dist/store/import-logging.js.map +0 -1
  636. package/dist/store/import-remap.js +0 -145
  637. package/dist/store/import-remap.js.map +0 -1
  638. package/dist/store/import-sort.js +0 -121
  639. package/dist/store/import-sort.js.map +0 -1
  640. package/dist/store/index.js +0 -28
  641. package/dist/store/index.js.map +0 -1
  642. package/dist/store/json.js +0 -208
  643. package/dist/store/json.js.map +0 -1
  644. package/dist/store/lifecycle-store.js +0 -249
  645. package/dist/store/lifecycle-store.js.map +0 -1
  646. package/dist/store/lock.js +0 -70
  647. package/dist/store/lock.js.map +0 -1
  648. package/dist/store/migration-sqlite.js +0 -671
  649. package/dist/store/migration-sqlite.js.map +0 -1
  650. package/dist/store/nexus-schema.js +0 -62
  651. package/dist/store/nexus-schema.js.map +0 -1
  652. package/dist/store/nexus-sqlite.js +0 -217
  653. package/dist/store/nexus-sqlite.js.map +0 -1
  654. package/dist/store/nexus-validation-schemas.js +0 -40
  655. package/dist/store/nexus-validation-schemas.js.map +0 -1
  656. package/dist/store/parsers.js +0 -37
  657. package/dist/store/parsers.js.map +0 -1
  658. package/dist/store/project-detect.js +0 -457
  659. package/dist/store/project-detect.js.map +0 -1
  660. package/dist/store/provider.js +0 -101
  661. package/dist/store/provider.js.map +0 -1
  662. package/dist/store/safety-data-accessor.js +0 -243
  663. package/dist/store/safety-data-accessor.js.map +0 -1
  664. package/dist/store/schema.js +0 -7
  665. package/dist/store/schema.js.map +0 -1
  666. package/dist/store/session-store.js +0 -219
  667. package/dist/store/session-store.js.map +0 -1
  668. package/dist/store/sqlite-backup.js +0 -105
  669. package/dist/store/sqlite-backup.js.map +0 -1
  670. package/dist/store/sqlite-data-accessor.js +0 -742
  671. package/dist/store/sqlite-data-accessor.js.map +0 -1
  672. package/dist/store/sqlite.js +0 -489
  673. package/dist/store/sqlite.js.map +0 -1
  674. package/dist/store/status-registry.js +0 -8
  675. package/dist/store/status-registry.js.map +0 -1
  676. package/dist/store/task-store.js +0 -344
  677. package/dist/store/task-store.js.map +0 -1
  678. package/dist/store/tasks-schema.js +0 -574
  679. package/dist/store/tasks-schema.js.map +0 -1
  680. package/dist/store/typed-query.js +0 -15
  681. package/dist/store/typed-query.js.map +0 -1
  682. package/dist/store/validation-schemas.js +0 -278
  683. package/dist/store/validation-schemas.js.map +0 -1
  684. package/dist/system/archive-analytics.js +0 -277
  685. package/dist/system/archive-analytics.js.map +0 -1
  686. package/dist/system/archive-stats.js +0 -64
  687. package/dist/system/archive-stats.js.map +0 -1
  688. package/dist/system/audit.js +0 -145
  689. package/dist/system/audit.js.map +0 -1
  690. package/dist/system/backup.js +0 -99
  691. package/dist/system/backup.js.map +0 -1
  692. package/dist/system/cleanup.js +0 -134
  693. package/dist/system/cleanup.js.map +0 -1
  694. package/dist/system/health.js +0 -1054
  695. package/dist/system/health.js.map +0 -1
  696. package/dist/system/index.js +0 -18
  697. package/dist/system/index.js.map +0 -1
  698. package/dist/system/inject-generate.js +0 -122
  699. package/dist/system/inject-generate.js.map +0 -1
  700. package/dist/system/labels.js +0 -38
  701. package/dist/system/labels.js.map +0 -1
  702. package/dist/system/metrics.js +0 -61
  703. package/dist/system/metrics.js.map +0 -1
  704. package/dist/system/migrate.js +0 -43
  705. package/dist/system/migrate.js.map +0 -1
  706. package/dist/system/platform-paths.js +0 -80
  707. package/dist/system/platform-paths.js.map +0 -1
  708. package/dist/system/runtime.js +0 -161
  709. package/dist/system/runtime.js.map +0 -1
  710. package/dist/system/safestop.js +0 -99
  711. package/dist/system/safestop.js.map +0 -1
  712. package/dist/system/storage-preflight.js +0 -123
  713. package/dist/system/storage-preflight.js.map +0 -1
  714. package/dist/task-work/index.js +0 -155
  715. package/dist/task-work/index.js.map +0 -1
  716. package/dist/tasks/add.js +0 -510
  717. package/dist/tasks/add.js.map +0 -1
  718. package/dist/tasks/analyze.js +0 -85
  719. package/dist/tasks/analyze.js.map +0 -1
  720. package/dist/tasks/archive.js +0 -90
  721. package/dist/tasks/archive.js.map +0 -1
  722. package/dist/tasks/atomicity.js +0 -83
  723. package/dist/tasks/atomicity.js.map +0 -1
  724. package/dist/tasks/cancel-ops.js +0 -83
  725. package/dist/tasks/cancel-ops.js.map +0 -1
  726. package/dist/tasks/complete.js +0 -224
  727. package/dist/tasks/complete.js.map +0 -1
  728. package/dist/tasks/crossref-extract.js +0 -73
  729. package/dist/tasks/crossref-extract.js.map +0 -1
  730. package/dist/tasks/delete-preview.js +0 -192
  731. package/dist/tasks/delete-preview.js.map +0 -1
  732. package/dist/tasks/delete.js +0 -120
  733. package/dist/tasks/delete.js.map +0 -1
  734. package/dist/tasks/deletion-strategy.js +0 -200
  735. package/dist/tasks/deletion-strategy.js.map +0 -1
  736. package/dist/tasks/dependency-check.js +0 -278
  737. package/dist/tasks/dependency-check.js.map +0 -1
  738. package/dist/tasks/deps-ready.js +0 -32
  739. package/dist/tasks/deps-ready.js.map +0 -1
  740. package/dist/tasks/enforcement.js +0 -82
  741. package/dist/tasks/enforcement.js.map +0 -1
  742. package/dist/tasks/find.js +0 -148
  743. package/dist/tasks/find.js.map +0 -1
  744. package/dist/tasks/graph-cache.js +0 -127
  745. package/dist/tasks/graph-cache.js.map +0 -1
  746. package/dist/tasks/graph-ops.js +0 -171
  747. package/dist/tasks/graph-ops.js.map +0 -1
  748. package/dist/tasks/graph-rag.js +0 -328
  749. package/dist/tasks/graph-rag.js.map +0 -1
  750. package/dist/tasks/hierarchy-policy.js +0 -149
  751. package/dist/tasks/hierarchy-policy.js.map +0 -1
  752. package/dist/tasks/hierarchy.js +0 -185
  753. package/dist/tasks/hierarchy.js.map +0 -1
  754. package/dist/tasks/id-generator.js +0 -65
  755. package/dist/tasks/id-generator.js.map +0 -1
  756. package/dist/tasks/index.js +0 -14
  757. package/dist/tasks/index.js.map +0 -1
  758. package/dist/tasks/labels.js +0 -52
  759. package/dist/tasks/labels.js.map +0 -1
  760. package/dist/tasks/list.js +0 -68
  761. package/dist/tasks/list.js.map +0 -1
  762. package/dist/tasks/phase-tracking.js +0 -133
  763. package/dist/tasks/phase-tracking.js.map +0 -1
  764. package/dist/tasks/plan.js +0 -268
  765. package/dist/tasks/plan.js.map +0 -1
  766. package/dist/tasks/relates.js +0 -89
  767. package/dist/tasks/relates.js.map +0 -1
  768. package/dist/tasks/reparent.d.ts +0 -38
  769. package/dist/tasks/reparent.d.ts.map +0 -1
  770. package/dist/tasks/show.js +0 -78
  771. package/dist/tasks/show.js.map +0 -1
  772. package/dist/tasks/size-weighting.js +0 -86
  773. package/dist/tasks/size-weighting.js.map +0 -1
  774. package/dist/tasks/staleness.js +0 -86
  775. package/dist/tasks/staleness.js.map +0 -1
  776. package/dist/tasks/task-ops.js +0 -1340
  777. package/dist/tasks/task-ops.js.map +0 -1
  778. package/dist/tasks/update.js +0 -243
  779. package/dist/tasks/update.js.map +0 -1
  780. package/dist/templates/index.js +0 -10
  781. package/dist/templates/index.js.map +0 -1
  782. package/dist/templates/parser.js +0 -254
  783. package/dist/templates/parser.js.map +0 -1
  784. package/dist/ui/aliases.js +0 -153
  785. package/dist/ui/aliases.js.map +0 -1
  786. package/dist/ui/changelog.js +0 -184
  787. package/dist/ui/changelog.js.map +0 -1
  788. package/dist/ui/command-registry.js +0 -168
  789. package/dist/ui/command-registry.js.map +0 -1
  790. package/dist/ui/flags.js +0 -94
  791. package/dist/ui/flags.js.map +0 -1
  792. package/dist/ui/index.js +0 -24
  793. package/dist/ui/index.js.map +0 -1
  794. package/dist/ui/injection-legacy.d.ts +0 -26
  795. package/dist/ui/injection-legacy.d.ts.map +0 -1
  796. package/dist/ui/injection-legacy.js +0 -42
  797. package/dist/ui/injection-legacy.js.map +0 -1
  798. package/dist/upgrade.js +0 -901
  799. package/dist/upgrade.js.map +0 -1
  800. package/dist/validation/chain-validation.js +0 -146
  801. package/dist/validation/chain-validation.js.map +0 -1
  802. package/dist/validation/compliance.js +0 -155
  803. package/dist/validation/compliance.js.map +0 -1
  804. package/dist/validation/docs-sync.js +0 -212
  805. package/dist/validation/docs-sync.js.map +0 -1
  806. package/dist/validation/doctor/checks.js +0 -1069
  807. package/dist/validation/doctor/checks.js.map +0 -1
  808. package/dist/validation/doctor/index.js +0 -9
  809. package/dist/validation/doctor/index.js.map +0 -1
  810. package/dist/validation/doctor/project-cache.js +0 -160
  811. package/dist/validation/doctor/project-cache.js.map +0 -1
  812. package/dist/validation/doctor/utils.js +0 -155
  813. package/dist/validation/doctor/utils.js.map +0 -1
  814. package/dist/validation/engine.js +0 -902
  815. package/dist/validation/engine.js.map +0 -1
  816. package/dist/validation/gap-check.js +0 -175
  817. package/dist/validation/gap-check.js.map +0 -1
  818. package/dist/validation/index.js +0 -40
  819. package/dist/validation/index.js.map +0 -1
  820. package/dist/validation/manifest.js +0 -237
  821. package/dist/validation/manifest.js.map +0 -1
  822. package/dist/validation/operation-gate-validators.js +0 -724
  823. package/dist/validation/operation-gate-validators.js.map +0 -1
  824. package/dist/validation/operation-verification-gates.js +0 -532
  825. package/dist/validation/operation-verification-gates.js.map +0 -1
  826. package/dist/validation/param-utils.js +0 -139
  827. package/dist/validation/param-utils.js.map +0 -1
  828. package/dist/validation/protocol-common.js +0 -300
  829. package/dist/validation/protocol-common.js.map +0 -1
  830. package/dist/validation/protocols/consensus.js +0 -71
  831. package/dist/validation/protocols/consensus.js.map +0 -1
  832. package/dist/validation/protocols/contribution.js +0 -59
  833. package/dist/validation/protocols/contribution.js.map +0 -1
  834. package/dist/validation/protocols/decomposition.js +0 -59
  835. package/dist/validation/protocols/decomposition.js.map +0 -1
  836. package/dist/validation/protocols/implementation.js +0 -59
  837. package/dist/validation/protocols/implementation.js.map +0 -1
  838. package/dist/validation/protocols/release-protocol.js +0 -60
  839. package/dist/validation/protocols/release-protocol.js.map +0 -1
  840. package/dist/validation/protocols/research.js +0 -77
  841. package/dist/validation/protocols/research.js.map +0 -1
  842. package/dist/validation/protocols/specification.js +0 -84
  843. package/dist/validation/protocols/specification.js.map +0 -1
  844. package/dist/validation/protocols/testing-protocol.js +0 -70
  845. package/dist/validation/protocols/testing-protocol.js.map +0 -1
  846. package/dist/validation/protocols/validation-protocol.js +0 -70
  847. package/dist/validation/protocols/validation-protocol.js.map +0 -1
  848. package/dist/validation/schema-integrity.js +0 -170
  849. package/dist/validation/schema-integrity.js.map +0 -1
  850. package/dist/validation/schema-validator.js +0 -176
  851. package/dist/validation/schema-validator.js.map +0 -1
  852. package/dist/validation/validate-ops.js +0 -937
  853. package/dist/validation/validate-ops.js.map +0 -1
  854. package/dist/validation/validation-rules.js +0 -226
  855. package/dist/validation/validation-rules.js.map +0 -1
  856. package/dist/validation/verification.js +0 -321
  857. package/dist/validation/verification.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-alert.js","sourceRoot":"","sources":["../../src/sessions/context-alert.ts"],"names":[],"mappings":"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"}
@@ -1,61 +0,0 @@
1
- /**
2
- * Session Context Injection
3
- *
4
- * Reads protocol injection content for a given protocol type. Extracted from
5
- * engine-compat.ts during the memory domain cutover (T5241) to separate
6
- * session concerns from brain.db cognitive memory.
7
- *
8
- * @task T5241
9
- * @epic T5149
10
- */
11
- import { existsSync, readFileSync } from 'node:fs';
12
- import { resolve } from 'node:path';
13
- import { ExitCode } from '@cleocode/contracts';
14
- import { CleoError } from '../errors.js';
15
- import { getProjectRoot } from '../paths.js';
16
- /**
17
- * Resolve the project root, defaulting to getProjectRoot() if not specified.
18
- */
19
- function resolveRoot(projectRoot) {
20
- return projectRoot || getProjectRoot();
21
- }
22
- /**
23
- * Read protocol injection content for a given protocol type.
24
- * Core logic for session.context.inject.
25
- */
26
- export function injectContext(protocolType, params, projectRoot) {
27
- if (!protocolType) {
28
- throw new CleoError(ExitCode.INVALID_INPUT, 'protocolType is required');
29
- }
30
- const root = resolveRoot(projectRoot);
31
- const protocolLocations = [
32
- resolve(root, 'protocols', `${protocolType}.md`),
33
- resolve(root, 'skills', '_shared', `${protocolType}.md`),
34
- resolve(root, 'agents', 'cleo-subagent', 'protocols', `${protocolType}.md`),
35
- ];
36
- let protocolContent = null;
37
- let protocolPath = null;
38
- for (const loc of protocolLocations) {
39
- if (existsSync(loc)) {
40
- try {
41
- protocolContent = readFileSync(loc, 'utf-8');
42
- protocolPath = loc.replace(root + '/', '');
43
- break;
44
- }
45
- catch { }
46
- }
47
- }
48
- if (!protocolContent) {
49
- throw new CleoError(ExitCode.NOT_FOUND, `Protocol '${protocolType}' not found in src/protocols/, skills/_shared/, or agents/cleo-subagent/protocols/`);
50
- }
51
- return {
52
- protocolType,
53
- content: protocolContent,
54
- path: protocolPath,
55
- contentLength: protocolContent.length,
56
- estimatedTokens: Math.ceil(protocolContent.length / 4),
57
- taskId: params?.taskId || null,
58
- variant: params?.variant || null,
59
- };
60
- }
61
- //# sourceMappingURL=context-inject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-inject.js","sourceRoot":"","sources":["../../src/sessions/context-inject.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,SAAS,WAAW,CAAC,WAAoB;IACvC,OAAO,WAAW,IAAI,cAAc,EAAE,CAAC;AACzC,CAAC;AAeD;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,YAAoB,EACpB,MAA8C,EAC9C,WAAoB;IAEpB,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,0BAA0B,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IAEtC,MAAM,iBAAiB,GAAG;QACxB,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,YAAY,KAAK,CAAC;QAChD,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,YAAY,KAAK,CAAC;QACxD,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,YAAY,KAAK,CAAC;KAC5E,CAAC;IAEF,IAAI,eAAe,GAAkB,IAAI,CAAC;IAC1C,IAAI,YAAY,GAAkB,IAAI,CAAC;IAEvC,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACpC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,eAAe,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC7C,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC3C,MAAM;YACR,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,SAAS,CACjB,QAAQ,CAAC,SAAS,EAClB,aAAa,YAAY,oFAAoF,CAC9G,CAAC;IACJ,CAAC;IAED,OAAO;QACL,YAAY;QACZ,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,YAAY;QAClB,aAAa,EAAE,eAAe,CAAC,MAAM;QACrC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;QACtD,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI;QAC9B,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,IAAI;KACjC,CAAC;AACJ,CAAC"}
@@ -1,98 +0,0 @@
1
- /**
2
- * Context monitor - reads Claude Code context window JSON and writes state.
3
- *
4
- * Used by the status line integration to track context window usage.
5
- * Receives JSON via stdin from Claude Code and writes state files.
6
- *
7
- * @task T4454
8
- * @epic T4454
9
- */
10
- import { existsSync, writeFileSync } from 'node:fs';
11
- import { mkdir } from 'node:fs/promises';
12
- import { dirname } from 'node:path';
13
- import { getCleoDir } from '../paths.js';
14
- import { getContextStatePath, getCurrentSessionId, THRESHOLDS } from './context-alert.js';
15
- /** Determine status from percentage. */
16
- export function getContextStatusFromPercentage(percentage) {
17
- if (percentage >= THRESHOLDS.EMERGENCY)
18
- return 'emergency';
19
- if (percentage >= THRESHOLDS.CRITICAL)
20
- return 'critical';
21
- if (percentage >= THRESHOLDS.CAUTION)
22
- return 'caution';
23
- if (percentage >= THRESHOLDS.WARNING)
24
- return 'warning';
25
- return 'ok';
26
- }
27
- /**
28
- * Process context window input and write state file.
29
- * Returns the status line string for display.
30
- *
31
- * Tries adapter-based context monitoring first; falls back to local implementation.
32
- */
33
- export async function processContextInput(input, cwd) {
34
- // Try adapter-based context monitoring first
35
- try {
36
- const { AdapterManager } = await import('../adapters/index.js');
37
- const mgr = AdapterManager.getInstance(cwd ?? process.cwd());
38
- const adapter = mgr.getActive();
39
- if (adapter?.contextMonitor) {
40
- return adapter.contextMonitor.processContextInput(input, cwd);
41
- }
42
- }
43
- catch {
44
- // Adapter not available, fall through to local implementation
45
- }
46
- // Fallback: local implementation for backward compatibility
47
- const contextSize = input.context_window?.context_window_size ?? 200000;
48
- const usage = input.context_window?.current_usage;
49
- if (!usage)
50
- return '-- no data';
51
- const inputTokens = usage.input_tokens ?? 0;
52
- const outputTokens = usage.output_tokens ?? 0;
53
- const cacheCreate = usage.cache_creation_input_tokens ?? 0;
54
- const cacheRead = usage.cache_read_input_tokens ?? 0;
55
- const totalTokens = inputTokens + outputTokens + cacheCreate;
56
- const percentage = Math.floor((totalTokens * 100) / contextSize);
57
- const status = getContextStatusFromPercentage(percentage);
58
- // Write state file
59
- const cleoDir = getCleoDir(cwd);
60
- if (existsSync(cleoDir)) {
61
- const sessionId = getCurrentSessionId(cwd);
62
- const statePath = getContextStatePath(sessionId ?? undefined, cwd);
63
- const state = {
64
- $schema: 'https://cleo-dev.com/schemas/v1/context-state.schema.json',
65
- version: '1.0.0',
66
- timestamp: new Date().toISOString().replace(/\.\d{3}Z$/, 'Z'),
67
- staleAfterMs: 5000,
68
- contextWindow: {
69
- maxTokens: contextSize,
70
- currentTokens: totalTokens,
71
- percentage,
72
- breakdown: {
73
- inputTokens,
74
- outputTokens,
75
- cacheCreationTokens: cacheCreate,
76
- cacheReadTokens: cacheRead,
77
- },
78
- },
79
- thresholds: {
80
- warning: THRESHOLDS.WARNING,
81
- caution: THRESHOLDS.CAUTION,
82
- critical: THRESHOLDS.CRITICAL,
83
- emergency: THRESHOLDS.EMERGENCY,
84
- },
85
- status,
86
- cleoSessionId: sessionId ?? '',
87
- };
88
- try {
89
- await mkdir(dirname(statePath), { recursive: true });
90
- writeFileSync(statePath, JSON.stringify(state, null, 2));
91
- }
92
- catch {
93
- // Non-fatal
94
- }
95
- }
96
- return `${percentage}% | ${totalTokens}/${contextSize}`;
97
- }
98
- //# sourceMappingURL=context-monitor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-monitor.js","sourceRoot":"","sources":["../../src/sessions/context-monitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAkB1F,wCAAwC;AACxC,MAAM,UAAU,8BAA8B,CAAC,UAAkB;IAC/D,IAAI,UAAU,IAAI,UAAU,CAAC,SAAS;QAAE,OAAO,WAAW,CAAC;IAC3D,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ;QAAE,OAAO,UAAU,CAAC;IACzD,IAAI,UAAU,IAAI,UAAU,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IACvD,IAAI,UAAU,IAAI,UAAU,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IACvD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAyB,EACzB,GAAY;IAEZ,6CAA6C;IAC7C,IAAI,CAAC;QACH,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;YAC5B,OAAO,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,8DAA8D;IAChE,CAAC;IAED,4DAA4D;IAC5D,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,EAAE,mBAAmB,IAAI,MAAM,CAAC;IACxE,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,EAAE,aAAa,CAAC;IAElD,IAAI,CAAC,KAAK;QAAE,OAAO,YAAY,CAAC;IAEhC,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,KAAK,CAAC,2BAA2B,IAAI,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,KAAK,CAAC,uBAAuB,IAAI,CAAC,CAAC;IAErD,MAAM,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,CAAC;IAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,8BAA8B,CAAC,UAAU,CAAC,CAAC;IAE1D,mBAAmB;IACnB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,mBAAmB,CAAC,SAAS,IAAI,SAAS,EAAE,GAAG,CAAC,CAAC;QAEnE,MAAM,KAAK,GAAG;YACZ,OAAO,EAAE,2DAA2D;YACpE,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC;YAC7D,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE;gBACb,SAAS,EAAE,WAAW;gBACtB,aAAa,EAAE,WAAW;gBAC1B,UAAU;gBACV,SAAS,EAAE;oBACT,WAAW;oBACX,YAAY;oBACZ,mBAAmB,EAAE,WAAW;oBAChC,eAAe,EAAE,SAAS;iBAC3B;aACF;YACD,UAAU,EAAE;gBACV,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,SAAS,EAAE,UAAU,CAAC,SAAS;aAChC;YACD,MAAM;YACN,aAAa,EAAE,SAAS,IAAI,EAAE;SAC/B,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;IAED,OAAO,GAAG,UAAU,OAAO,WAAW,IAAI,WAAW,EAAE,CAAC;AAC1D,CAAC"}
@@ -1,65 +0,0 @@
1
- /**
2
- * Decision recording and retrieval for session audit trail.
3
- *
4
- * @task T4782
5
- * @epic T4654
6
- */
7
- import { randomBytes } from 'node:crypto';
8
- import { appendFileSync, existsSync, mkdirSync, readFileSync } from 'node:fs';
9
- import { join } from 'node:path';
10
- import { ExitCode } from '@cleocode/contracts';
11
- import { CleoError } from '../errors.js';
12
- /**
13
- * Record a decision to the audit trail.
14
- * Appends a JSON line to `.cleo/audit/decisions.jsonl`.
15
- * Throws if required params are missing.
16
- */
17
- export async function recordDecision(projectRoot, params) {
18
- if (!params.sessionId || !params.taskId || !params.decision || !params.rationale) {
19
- throw new CleoError(ExitCode.INVALID_INPUT, 'sessionId, taskId, decision, and rationale are required');
20
- }
21
- const auditDir = join(projectRoot, '.cleo', 'audit');
22
- if (!existsSync(auditDir)) {
23
- mkdirSync(auditDir, { recursive: true });
24
- }
25
- const decisionPath = join(auditDir, 'decisions.jsonl');
26
- const record = {
27
- id: `dec-${randomBytes(8).toString('hex')}`,
28
- sessionId: params.sessionId,
29
- taskId: params.taskId,
30
- decision: params.decision,
31
- rationale: params.rationale,
32
- alternatives: params.alternatives || [],
33
- timestamp: new Date().toISOString(),
34
- };
35
- appendFileSync(decisionPath, JSON.stringify(record) + '\n', 'utf-8');
36
- return record;
37
- }
38
- /**
39
- * Read the decision log, optionally filtered by sessionId and/or taskId.
40
- */
41
- export async function getDecisionLog(projectRoot, params) {
42
- const decisionPath = join(projectRoot, '.cleo', 'audit', 'decisions.jsonl');
43
- if (!existsSync(decisionPath)) {
44
- return [];
45
- }
46
- const content = readFileSync(decisionPath, 'utf-8');
47
- const lines = content.split('\n').filter((line) => line.trim().length > 0);
48
- let entries = [];
49
- for (const line of lines) {
50
- try {
51
- entries.push(JSON.parse(line));
52
- }
53
- catch {
54
- // Skip malformed lines
55
- }
56
- }
57
- if (params?.sessionId) {
58
- entries = entries.filter((e) => e.sessionId === params.sessionId);
59
- }
60
- if (params?.taskId) {
61
- entries = entries.filter((e) => e.taskId === params.taskId);
62
- }
63
- return entries;
64
- }
65
- //# sourceMappingURL=decisions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"decisions.js","sourceRoot":"","sources":["../../src/sessions/decisions.ts"],"names":[],"mappings":"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"}
@@ -1,63 +0,0 @@
1
- /**
2
- * Lightweight session discovery — returns minimal session records.
3
- *
4
- * Unlike listSessions() which returns full Session objects, findSessions()
5
- * returns only the fields agents need for discovery: id, name, status,
6
- * startedAt, and scope.
7
- *
8
- * @task T5119
9
- */
10
- /**
11
- * Find sessions with minimal field projection.
12
- *
13
- * Loads all sessions, applies filters, then projects to minimal fields.
14
- * This is cheaper for agents that only need discovery-level data.
15
- *
16
- * @param accessor - DataAccessor for loading sessions
17
- * @param params - Optional filters (status, scope, query, limit)
18
- * @returns Array of minimal session records
19
- */
20
- export async function findSessions(accessor, params) {
21
- let sessions = await accessor.loadSessions();
22
- // Filter by status
23
- if (params?.status) {
24
- sessions = sessions.filter((s) => s.status === params.status);
25
- }
26
- // Filter by scope string (e.g. "epic:T001" or "global")
27
- if (params?.scope) {
28
- const scopeParts = params.scope.split(':');
29
- const scopeType = scopeParts[0];
30
- const scopeId = scopeParts[1];
31
- sessions = sessions.filter((s) => {
32
- if (s.scope.type !== scopeType)
33
- return false;
34
- if (scopeId && s.scope.rootTaskId !== scopeId && s.scope.epicId !== scopeId)
35
- return false;
36
- return true;
37
- });
38
- }
39
- // Filter by query (fuzzy match on name or id)
40
- if (params?.query) {
41
- const q = params.query.toLowerCase();
42
- sessions = sessions.filter((s) => s.id.toLowerCase().includes(q) || s.name.toLowerCase().includes(q));
43
- }
44
- // Sort by start time, most recent first
45
- sessions.sort((a, b) => new Date(b.startedAt).getTime() - new Date(a.startedAt).getTime());
46
- // Apply limit
47
- if (params?.limit && params.limit > 0) {
48
- sessions = sessions.slice(0, params.limit);
49
- }
50
- // Project to minimal fields
51
- return sessions.map(toMinimal);
52
- }
53
- /** Project a full Session to a MinimalSessionRecord. */
54
- function toMinimal(s) {
55
- return {
56
- id: s.id,
57
- name: s.name,
58
- status: s.status,
59
- startedAt: s.startedAt,
60
- scope: s.scope,
61
- };
62
- }
63
- //# sourceMappingURL=find.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/sessions/find.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAsBH;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAsB,EACtB,MAA2B;IAE3B,IAAI,QAAQ,GAAc,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC;IAExD,mBAAmB;IACnB,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IAED,wDAAwD;IACxD,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAE9B,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/B,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YAC7C,IAAI,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO;gBAAE,OAAO,KAAK,CAAC;YAC1F,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8CAA8C;IAC9C,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;QAClB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACrC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CACxB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC1E,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAE3F,cAAc;IACd,IAAI,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACtC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,4BAA4B;IAC5B,OAAO,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED,wDAAwD;AACxD,SAAS,SAAS,CAAC,CAAU;IAC3B,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,KAAK,EAAE,CAAC,CAAC,KAAK;KACf,CAAC;AACJ,CAAC"}
@@ -1,328 +0,0 @@
1
- /**
2
- * Session handoff computation and persistence.
3
- *
4
- * Creates structured handoff data when a session ends, containing:
5
- * - Last focused task
6
- * - Tasks completed and created
7
- * - Decisions recorded
8
- * - Next suggested tasks
9
- * - Open blockers and bugs
10
- * - Human override notes
11
- *
12
- * @task T4915
13
- * @epic T4914
14
- */
15
- import { execFile } from 'node:child_process';
16
- import { promisify } from 'node:util';
17
- import { ExitCode } from '@cleocode/contracts';
18
- import { CleoError } from '../errors.js';
19
- import { getAccessor } from '../store/data-accessor.js';
20
- import { getDecisionLog } from './decisions.js';
21
- const execFileAsync = promisify(execFile);
22
- /**
23
- * Compute handoff data for a session.
24
- * Gathers all session statistics and auto-computes structured state.
25
- */
26
- export async function computeHandoff(projectRoot, options) {
27
- const accessor = await getAccessor(projectRoot);
28
- // Load session data
29
- const sessions = await accessor.loadSessions();
30
- const session = sessions.find((s) => s.id === options.sessionId);
31
- if (!session) {
32
- throw new CleoError(ExitCode.SESSION_NOT_FOUND, `Session '${options.sessionId}' not found`);
33
- }
34
- // Load tasks directly from SQLite via DataAccessor
35
- const { tasks } = await accessor.queryTasks({});
36
- // Get decisions recorded during this session
37
- const decisions = await getDecisionLog(projectRoot, { sessionId: options.sessionId });
38
- // Compute handoff data
39
- const lastTaskId = session.taskWork?.taskId ?? null;
40
- const handoff = {
41
- lastTask: lastTaskId,
42
- tasksCompleted: session.tasksCompleted ?? [],
43
- tasksCreated: session.tasksCreated ?? [],
44
- decisionsRecorded: decisions.length,
45
- nextSuggested: computeNextSuggested(session, tasks),
46
- openBlockers: findOpenBlockers(tasks, session),
47
- openBugs: findOpenBugs(tasks, session),
48
- };
49
- // Apply human overrides
50
- if (options.note) {
51
- handoff.note = options.note;
52
- }
53
- if (options.nextAction) {
54
- handoff.nextAction = options.nextAction;
55
- }
56
- return handoff;
57
- }
58
- /**
59
- * Compute top-3 next suggested tasks.
60
- * Prioritizes uncompleted tasks within the session scope.
61
- */
62
- function computeNextSuggested(session, tasks) {
63
- // Filter to tasks in scope
64
- const scopeTaskIds = getScopeTaskIds(session, tasks);
65
- // Get uncompleted tasks in scope
66
- const pendingTasks = tasks.filter((t) => scopeTaskIds.has(t.id) &&
67
- t.status !== 'done' &&
68
- t.status !== 'archived' &&
69
- t.status !== 'cancelled');
70
- // Sort by priority and created date
71
- const priorityOrder = {
72
- critical: 0,
73
- high: 1,
74
- medium: 2,
75
- low: 3,
76
- };
77
- pendingTasks.sort((a, b) => {
78
- const priorityDiff = (priorityOrder[a.priority ?? 'medium'] ?? 99) - (priorityOrder[b.priority ?? 'medium'] ?? 99);
79
- if (priorityDiff !== 0)
80
- return priorityDiff;
81
- return (a.createdAt ?? '').localeCompare(b.createdAt ?? '');
82
- });
83
- // Take top 3
84
- return pendingTasks.slice(0, 3).map((t) => t.id);
85
- }
86
- /**
87
- * Find tasks with blockers in the session scope.
88
- */
89
- function findOpenBlockers(tasks, session) {
90
- const scopeTaskIds = getScopeTaskIds(session, tasks);
91
- return tasks.filter((t) => scopeTaskIds.has(t.id) && t.status === 'blocked').map((t) => t.id);
92
- }
93
- /**
94
- * Find open bugs in the session scope.
95
- */
96
- function findOpenBugs(tasks, session) {
97
- const scopeTaskIds = getScopeTaskIds(session, tasks);
98
- return tasks
99
- .filter((t) => scopeTaskIds.has(t.id) &&
100
- (t.labels ?? []).includes('bug') &&
101
- t.status !== 'done' &&
102
- t.status !== 'archived' &&
103
- t.status !== 'cancelled')
104
- .map((t) => t.id);
105
- }
106
- /**
107
- * Get set of task IDs within the session scope.
108
- */
109
- function getScopeTaskIds(session, tasks) {
110
- const taskIds = new Set();
111
- if (session.scope.type === 'global') {
112
- for (const t of tasks) {
113
- taskIds.add(t.id);
114
- }
115
- return taskIds;
116
- }
117
- // Epic/task scope: root task and descendants
118
- const rootId = session.scope.rootTaskId ?? session.scope.epicId;
119
- if (!rootId) {
120
- // No root ID, fall back to global
121
- for (const t of tasks) {
122
- taskIds.add(t.id);
123
- }
124
- return taskIds;
125
- }
126
- const addDescendants = (taskId) => {
127
- taskIds.add(taskId);
128
- for (const t of tasks) {
129
- if (t.parentId === taskId) {
130
- addDescendants(t.id);
131
- }
132
- }
133
- };
134
- addDescendants(rootId);
135
- // Include explicitTaskIds if present in scope
136
- if (session.scope.explicitTaskIds) {
137
- for (const id of session.scope.explicitTaskIds) {
138
- taskIds.add(id);
139
- }
140
- }
141
- return taskIds;
142
- }
143
- /**
144
- * Persist handoff data to a session.
145
- */
146
- export async function persistHandoff(projectRoot, sessionId, handoff) {
147
- const accessor = await getAccessor(projectRoot);
148
- const sessions = await accessor.loadSessions();
149
- // Find session in active sessions
150
- const session = sessions.find((s) => s.id === sessionId);
151
- if (!session) {
152
- throw new CleoError(ExitCode.SESSION_NOT_FOUND, `Session '${sessionId}' not found`);
153
- }
154
- // Store handoff data as JSON string on the typed Session field
155
- session.handoffJson = JSON.stringify(handoff);
156
- await accessor.upsertSingleSession(session);
157
- }
158
- /**
159
- * Get handoff data for a session.
160
- */
161
- export async function getHandoff(projectRoot, sessionId) {
162
- const accessor = await getAccessor(projectRoot);
163
- const sessions = await accessor.loadSessions();
164
- // Find session
165
- const session = sessions.find((s) => s.id === sessionId);
166
- if (!session)
167
- return null;
168
- // Try to get handoff from handoffJson property
169
- if (typeof session.handoffJson === 'string') {
170
- try {
171
- return JSON.parse(session.handoffJson);
172
- }
173
- catch {
174
- // Fall through to null
175
- }
176
- }
177
- return null;
178
- }
179
- /**
180
- * Get handoff data for the most recent ended session.
181
- * Filters by scope if provided.
182
- */
183
- export async function getLastHandoff(projectRoot, scope) {
184
- const accessor = await getAccessor(projectRoot);
185
- const sessions = await accessor.loadSessions();
186
- // Filter to ended sessions
187
- let endedSessions = sessions.filter((s) => s.status === 'ended' && s.endedAt);
188
- // Filter by scope if provided
189
- if (scope) {
190
- endedSessions = endedSessions.filter((s) => {
191
- if (scope.type === 'global') {
192
- return s.scope.type === 'global';
193
- }
194
- // Match against both epicId and rootTaskId for cross-layer compatibility
195
- const scopeRootId = scope.epicId ?? scope.rootTaskId;
196
- const sessionRootId = s.scope.rootTaskId ?? s.scope.epicId;
197
- return s.scope.type === scope.type && sessionRootId === scopeRootId;
198
- });
199
- }
200
- // Sort by endedAt descending (most recent first)
201
- endedSessions.sort((a, b) => new Date(b.endedAt).getTime() - new Date(a.endedAt).getTime());
202
- // Find first with handoff data (check handoffJson, then debriefJson fallback)
203
- for (const session of endedSessions) {
204
- if (typeof session.handoffJson === 'string') {
205
- try {
206
- const handoff = JSON.parse(session.handoffJson);
207
- return { sessionId: session.id, handoff };
208
- }
209
- catch {
210
- // Skip invalid handoff data
211
- }
212
- }
213
- // T4959: debriefJson is a superset containing handoff as a nested field
214
- if (typeof session.debriefJson === 'string') {
215
- try {
216
- const debrief = JSON.parse(session.debriefJson);
217
- if (debrief?.handoff) {
218
- return { sessionId: session.id, handoff: debrief.handoff };
219
- }
220
- }
221
- catch {
222
- // Skip invalid debrief data
223
- }
224
- }
225
- }
226
- return null;
227
- }
228
- /**
229
- * Compute rich debrief data for a session.
230
- * Builds on computeHandoff() and adds decisions, git state, chain position.
231
- *
232
- * @epic T4959
233
- */
234
- export async function computeDebrief(projectRoot, options) {
235
- // Start with the standard handoff
236
- const handoff = await computeHandoff(projectRoot, options);
237
- // Load decisions
238
- const decisions = await getDecisionLog(projectRoot, { sessionId: options.sessionId });
239
- const debriefDecisions = decisions.map((d) => ({
240
- id: d.id,
241
- decision: d.decision,
242
- rationale: d.rationale,
243
- taskId: d.taskId,
244
- }));
245
- // Capture git state (best-effort)
246
- const gitState = await captureGitState(projectRoot);
247
- // Compute chain position
248
- const { position, length } = await computeChainPosition(projectRoot, options.sessionId);
249
- const now = new Date().toISOString();
250
- const startedAt = options.startedAt ?? now;
251
- const endedAt = options.endedAt ?? now;
252
- const durationMinutes = Math.round((new Date(endedAt).getTime() - new Date(startedAt).getTime()) / 60000);
253
- return {
254
- handoff,
255
- sessionId: options.sessionId,
256
- agentIdentifier: options.agentIdentifier ?? null,
257
- startedAt,
258
- endedAt,
259
- durationMinutes,
260
- decisions: debriefDecisions,
261
- gitState,
262
- chainPosition: position,
263
- chainLength: length,
264
- };
265
- }
266
- /**
267
- * Capture git state via safe shell execution.
268
- * Returns null on any failure (no git, not a repo, etc.).
269
- */
270
- async function captureGitState(projectRoot) {
271
- try {
272
- const execOpts = { cwd: projectRoot, timeout: 5000 };
273
- // Get current branch
274
- const { stdout: branch } = await execFileAsync('git', ['rev-parse', '--abbrev-ref', 'HEAD'], execOpts);
275
- // Get commit count on current branch
276
- const { stdout: countStr } = await execFileAsync('git', ['rev-list', '--count', 'HEAD'], execOpts);
277
- // Get last commit hash
278
- const { stdout: hash } = await execFileAsync('git', ['rev-parse', '--short', 'HEAD'], execOpts);
279
- // Check for uncommitted changes
280
- const { stdout: statusOut } = await execFileAsync('git', ['status', '--porcelain'], execOpts);
281
- return {
282
- branch: branch.trim(),
283
- commitCount: parseInt(countStr.trim(), 10) || 0,
284
- lastCommitHash: hash.trim() || null,
285
- uncommittedChanges: statusOut.trim().length > 0,
286
- };
287
- }
288
- catch {
289
- return null;
290
- }
291
- }
292
- /**
293
- * Compute chain position by walking the previousSessionId links.
294
- */
295
- async function computeChainPosition(projectRoot, sessionId) {
296
- try {
297
- const accessor = await getAccessor(projectRoot);
298
- const sessions = await accessor.loadSessions();
299
- const sessionMap = new Map(sessions.map((s) => [s.id, s]));
300
- // Walk backward to find chain start
301
- let current = sessionId;
302
- let position = 1;
303
- const visited = new Set();
304
- while (true) {
305
- visited.add(current);
306
- const session = sessionMap.get(current);
307
- if (!session?.previousSessionId || visited.has(session.previousSessionId))
308
- break;
309
- current = session.previousSessionId;
310
- position++;
311
- }
312
- // Walk forward from chain start to count total length
313
- let length = position;
314
- const startSession = sessionMap.get(sessionId);
315
- let fwd = startSession?.nextSessionId;
316
- while (fwd && !visited.has(fwd)) {
317
- visited.add(fwd);
318
- length++;
319
- const s = sessionMap.get(fwd);
320
- fwd = s?.nextSessionId ?? undefined;
321
- }
322
- return { position, length };
323
- }
324
- catch {
325
- return { position: 1, length: 1 };
326
- }
327
- }
328
- //# sourceMappingURL=handoff.js.map