@cleocode/core 2026.3.74 → 2026.3.76

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 (1087) hide show
  1. package/README.md +1 -1
  2. package/dist/cant/approval.d.ts +110 -0
  3. package/dist/cant/approval.d.ts.map +1 -0
  4. package/dist/cant/context-builder.d.ts +79 -0
  5. package/dist/cant/context-builder.d.ts.map +1 -0
  6. package/dist/cant/discretion.d.ts +95 -0
  7. package/dist/cant/discretion.d.ts.map +1 -0
  8. package/dist/cant/index.d.ts +25 -0
  9. package/dist/cant/index.d.ts.map +1 -0
  10. package/dist/cant/parallel-runner.d.ts +38 -0
  11. package/dist/cant/parallel-runner.d.ts.map +1 -0
  12. package/dist/cant/types.d.ts +127 -0
  13. package/dist/cant/types.d.ts.map +1 -0
  14. package/dist/cant/workflow-executor.d.ts +105 -0
  15. package/dist/cant/workflow-executor.d.ts.map +1 -0
  16. package/dist/conduit/conduit-client.d.ts +26 -0
  17. package/dist/conduit/conduit-client.d.ts.map +1 -0
  18. package/dist/conduit/factory.d.ts +13 -0
  19. package/dist/conduit/factory.d.ts.map +1 -0
  20. package/dist/conduit/http-transport.d.ts +32 -0
  21. package/dist/conduit/http-transport.d.ts.map +1 -0
  22. package/dist/conduit/index.d.ts +12 -0
  23. package/dist/conduit/index.d.ts.map +1 -0
  24. package/dist/crypto/credentials.d.ts +40 -0
  25. package/dist/crypto/credentials.d.ts.map +1 -0
  26. package/dist/engine-result.d.ts +1 -1
  27. package/dist/engine-result.d.ts.map +1 -1
  28. package/dist/error-catalog.d.ts +1 -1
  29. package/dist/error-catalog.d.ts.map +1 -1
  30. package/dist/error-registry.d.ts +1 -1
  31. package/dist/error-registry.d.ts.map +1 -1
  32. package/dist/errors.d.ts +1 -1
  33. package/dist/errors.d.ts.map +1 -1
  34. package/dist/hooks/handlers/agent-hooks.d.ts.map +1 -1
  35. package/dist/hooks/handlers/context-hooks.d.ts.map +1 -1
  36. package/dist/hooks/handlers/error-hooks.d.ts +14 -5
  37. package/dist/hooks/handlers/error-hooks.d.ts.map +1 -1
  38. package/dist/hooks/handlers/file-hooks.d.ts.map +1 -1
  39. package/dist/hooks/handlers/handler-helpers.d.ts +41 -0
  40. package/dist/hooks/handlers/handler-helpers.d.ts.map +1 -0
  41. package/dist/hooks/handlers/mcp-hooks.d.ts.map +1 -1
  42. package/dist/hooks/handlers/session-hooks.d.ts.map +1 -1
  43. package/dist/hooks/handlers/task-hooks.d.ts.map +1 -1
  44. package/dist/hooks/handlers/work-capture-hooks.d.ts.map +1 -1
  45. package/dist/index.d.ts +3 -1
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +2285 -767
  48. package/dist/index.js.map +4 -4
  49. package/dist/init.d.ts.map +1 -1
  50. package/dist/internal.d.ts +7 -0
  51. package/dist/internal.d.ts.map +1 -1
  52. package/dist/memory/brain-retrieval.d.ts +3 -0
  53. package/dist/memory/brain-retrieval.d.ts.map +1 -1
  54. package/dist/mvi-helpers.d.ts +52 -0
  55. package/dist/mvi-helpers.d.ts.map +1 -0
  56. package/dist/nexus/workspace.d.ts.map +1 -1
  57. package/dist/output.d.ts +2 -2
  58. package/dist/output.d.ts.map +1 -1
  59. package/dist/pagination.d.ts +1 -1
  60. package/dist/pagination.d.ts.map +1 -1
  61. package/dist/sessions/find.d.ts +3 -0
  62. package/dist/sessions/find.d.ts.map +1 -1
  63. package/dist/sessions/index.d.ts.map +1 -1
  64. package/dist/store/agent-registry-accessor.d.ts +454 -0
  65. package/dist/store/agent-registry-accessor.d.ts.map +1 -0
  66. package/dist/store/converters.d.ts.map +1 -1
  67. package/dist/store/db-helpers.d.ts.map +1 -1
  68. package/dist/store/safety-data-accessor.d.ts +7 -0
  69. package/dist/store/safety-data-accessor.d.ts.map +1 -1
  70. package/dist/store/signaldock-sqlite.d.ts +48 -0
  71. package/dist/store/signaldock-sqlite.d.ts.map +1 -0
  72. package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
  73. package/dist/store/sqlite.d.ts.map +1 -1
  74. package/dist/store/task-store.d.ts.map +1 -1
  75. package/dist/store/tasks-schema.d.ts +240 -0
  76. package/dist/store/tasks-schema.d.ts.map +1 -1
  77. package/dist/store/validation-schemas.d.ts +32 -0
  78. package/dist/store/validation-schemas.d.ts.map +1 -1
  79. package/dist/system/health.d.ts.map +1 -1
  80. package/dist/task-work/index.d.ts.map +1 -1
  81. package/dist/tasks/find.d.ts +3 -0
  82. package/dist/tasks/find.d.ts.map +1 -1
  83. package/dist/tasks/list.d.ts +5 -2
  84. package/dist/tasks/list.d.ts.map +1 -1
  85. package/dist/tasks/show.d.ts +3 -0
  86. package/dist/tasks/show.d.ts.map +1 -1
  87. package/dist/upgrade.d.ts.map +1 -1
  88. package/migrations/drizzle-tasks/20260324000000_assignee-column/migration.sql +6 -0
  89. package/migrations/drizzle-tasks/20260324000000_assignee-column/snapshot.json +9 -0
  90. package/migrations/drizzle-tasks/20260327000000_agent-credentials/migration.sql +23 -0
  91. package/package.json +7 -7
  92. package/src/__tests__/cli-parity.test.js +11 -1
  93. package/src/__tests__/cli-parity.test.js.map +1 -1
  94. package/src/__tests__/cli-parity.test.ts +17 -1
  95. package/src/__tests__/human-output.test.js +11 -1
  96. package/src/__tests__/human-output.test.js.map +1 -1
  97. package/src/__tests__/human-output.test.ts +18 -1
  98. package/src/__tests__/injection-chain.test.js +3 -2
  99. package/src/__tests__/injection-chain.test.js.map +1 -1
  100. package/src/__tests__/injection-mvi-tiers.test.d.ts +2 -2
  101. package/src/__tests__/injection-mvi-tiers.test.js +15 -15
  102. package/src/__tests__/injection-mvi-tiers.test.js.map +1 -1
  103. package/src/__tests__/lafs-conformance.test.d.ts +1 -1
  104. package/src/__tests__/lafs-conformance.test.js +2 -2
  105. package/src/__tests__/sharing.test.js +19 -0
  106. package/src/__tests__/sharing.test.js.map +1 -1
  107. package/src/agents/__tests__/agent-registry.test.d.ts +12 -0
  108. package/src/agents/__tests__/agent-registry.test.d.ts.map +1 -0
  109. package/src/agents/__tests__/agent-registry.test.js +262 -0
  110. package/src/agents/__tests__/agent-registry.test.js.map +1 -0
  111. package/src/agents/__tests__/execution-learning.test.d.ts +14 -0
  112. package/src/agents/__tests__/execution-learning.test.d.ts.map +1 -0
  113. package/src/agents/__tests__/execution-learning.test.js +533 -0
  114. package/src/agents/__tests__/execution-learning.test.js.map +1 -0
  115. package/src/agents/__tests__/health-monitor.test.d.ts +10 -0
  116. package/src/agents/__tests__/health-monitor.test.d.ts.map +1 -0
  117. package/src/agents/__tests__/health-monitor.test.js +259 -0
  118. package/src/agents/__tests__/health-monitor.test.js.map +1 -0
  119. package/src/agents/__tests__/registry.test.js +27 -2
  120. package/src/agents/__tests__/registry.test.js.map +1 -1
  121. package/src/cant/__tests__/cant-agent-parse.test.ts +94 -0
  122. package/src/cant/approval.ts +218 -0
  123. package/src/cant/context-builder.ts +135 -0
  124. package/src/cant/discretion.ts +149 -0
  125. package/src/cant/index.ts +58 -0
  126. package/src/cant/parallel-runner.ts +205 -0
  127. package/src/cant/types.ts +158 -0
  128. package/src/cant/workflow-executor.ts +618 -0
  129. package/src/conduit/conduit-client.ts +114 -0
  130. package/src/conduit/factory.ts +45 -0
  131. package/src/conduit/http-transport.ts +140 -0
  132. package/src/conduit/index.ts +12 -0
  133. package/src/crypto/credentials.ts +166 -0
  134. package/src/engine-result.ts +1 -1
  135. package/src/error-catalog.ts +1 -1
  136. package/src/error-registry.ts +1 -1
  137. package/src/errors.ts +1 -1
  138. package/src/hooks/handlers/__tests__/hook-automation-e2e.test.d.ts +13 -0
  139. package/src/hooks/handlers/__tests__/hook-automation-e2e.test.d.ts.map +1 -0
  140. package/src/hooks/handlers/__tests__/hook-automation-e2e.test.js +501 -0
  141. package/src/hooks/handlers/__tests__/hook-automation-e2e.test.js.map +1 -0
  142. package/src/hooks/handlers/agent-hooks.ts +1 -30
  143. package/src/hooks/handlers/context-hooks.ts +1 -30
  144. package/src/hooks/handlers/error-hooks.ts +14 -5
  145. package/src/hooks/handlers/file-hooks.ts +1 -6
  146. package/src/hooks/handlers/handler-helpers.ts +62 -0
  147. package/src/hooks/handlers/mcp-hooks.ts +2 -14
  148. package/src/hooks/handlers/session-hooks.ts +1 -6
  149. package/src/hooks/handlers/task-hooks.ts +1 -6
  150. package/src/hooks/handlers/work-capture-hooks.ts +1 -10
  151. package/src/index.ts +11 -1
  152. package/src/init.ts +12 -0
  153. package/src/intelligence/__tests__/adaptive-validation.test.d.ts +11 -0
  154. package/src/intelligence/__tests__/adaptive-validation.test.d.ts.map +1 -0
  155. package/src/intelligence/__tests__/adaptive-validation.test.js +517 -0
  156. package/src/intelligence/__tests__/adaptive-validation.test.js.map +1 -0
  157. package/src/intelligence/__tests__/impact.test.d.ts +1 -0
  158. package/src/intelligence/__tests__/impact.test.d.ts.map +1 -1
  159. package/src/intelligence/__tests__/impact.test.js +132 -1
  160. package/src/intelligence/__tests__/impact.test.js.map +1 -1
  161. package/src/internal.ts +17 -0
  162. package/src/lib/__tests__/retry.test.d.ts +7 -0
  163. package/src/lib/__tests__/retry.test.d.ts.map +1 -0
  164. package/src/lib/__tests__/retry.test.js +225 -0
  165. package/src/lib/__tests__/retry.test.js.map +1 -0
  166. package/src/lifecycle/__tests__/chain-store.test.js +6 -0
  167. package/src/lifecycle/__tests__/chain-store.test.js.map +1 -1
  168. package/src/lifecycle/__tests__/tessera-engine.test.js +52 -0
  169. package/src/lifecycle/__tests__/tessera-engine.test.js.map +1 -1
  170. package/src/memory/__tests__/brain-automation.test.d.ts +11 -0
  171. package/src/memory/__tests__/brain-automation.test.d.ts.map +1 -0
  172. package/src/memory/__tests__/brain-automation.test.js +730 -0
  173. package/src/memory/__tests__/brain-automation.test.js.map +1 -0
  174. package/src/memory/brain-retrieval.ts +9 -0
  175. package/src/mvi-helpers.ts +81 -0
  176. package/src/nexus/workspace.ts +19 -7
  177. package/src/output.ts +43 -10
  178. package/src/pagination.ts +1 -1
  179. package/src/sessions/__tests__/session-edge-cases.test.js +20 -1
  180. package/src/sessions/__tests__/session-edge-cases.test.js.map +1 -1
  181. package/src/sessions/__tests__/session-find.test.js +1 -1
  182. package/src/sessions/__tests__/session-find.test.js.map +1 -1
  183. package/src/sessions/__tests__/session-find.test.ts +1 -1
  184. package/src/sessions/find.ts +6 -1
  185. package/src/sessions/index.ts +9 -0
  186. package/src/store/__tests__/migration-safety.test.js +3 -0
  187. package/src/store/__tests__/migration-safety.test.js.map +1 -1
  188. package/src/store/__tests__/session-store.test.js +128 -1
  189. package/src/store/__tests__/session-store.test.js.map +1 -1
  190. package/src/store/__tests__/task-store.test.js +18 -1
  191. package/src/store/__tests__/task-store.test.js.map +1 -1
  192. package/src/store/__tests__/test-db-helper.d.ts.map +1 -1
  193. package/src/store/__tests__/test-db-helper.js +12 -0
  194. package/src/store/__tests__/test-db-helper.js.map +1 -1
  195. package/src/store/agent-registry-accessor.ts +199 -0
  196. package/src/store/converters.ts +2 -0
  197. package/src/store/db-helpers.ts +1 -0
  198. package/src/store/safety-data-accessor.ts +23 -0
  199. package/src/store/signaldock-sqlite.ts +227 -0
  200. package/src/store/sqlite-data-accessor.ts +69 -0
  201. package/src/store/sqlite.ts +4 -1
  202. package/src/store/task-store.ts +1 -0
  203. package/src/store/tasks-schema.ts +42 -0
  204. package/src/system/health.ts +33 -0
  205. package/src/task-work/index.ts +5 -0
  206. package/src/tasks/__tests__/add.test.js +19 -1
  207. package/src/tasks/__tests__/add.test.js.map +1 -1
  208. package/src/tasks/__tests__/assignee.test.d.ts +14 -0
  209. package/src/tasks/__tests__/assignee.test.d.ts.map +1 -0
  210. package/src/tasks/__tests__/assignee.test.js +125 -0
  211. package/src/tasks/__tests__/assignee.test.js.map +1 -0
  212. package/src/tasks/__tests__/assignee.test.ts +162 -0
  213. package/src/tasks/__tests__/complete-unblocks.test.js +13 -1
  214. package/src/tasks/__tests__/complete-unblocks.test.js.map +1 -1
  215. package/src/tasks/__tests__/complete.test.js +28 -7
  216. package/src/tasks/__tests__/complete.test.js.map +1 -1
  217. package/src/tasks/__tests__/epic-enforcement.test.d.ts +15 -0
  218. package/src/tasks/__tests__/epic-enforcement.test.d.ts.map +1 -0
  219. package/src/tasks/__tests__/epic-enforcement.test.js +669 -0
  220. package/src/tasks/__tests__/epic-enforcement.test.js.map +1 -0
  221. package/src/tasks/__tests__/hierarchy-policy.test.js +5 -0
  222. package/src/tasks/__tests__/hierarchy-policy.test.js.map +1 -1
  223. package/src/tasks/__tests__/minimal-test.test.d.ts +2 -0
  224. package/src/tasks/__tests__/minimal-test.test.d.ts.map +1 -0
  225. package/src/tasks/__tests__/minimal-test.test.js +25 -0
  226. package/src/tasks/__tests__/minimal-test.test.js.map +1 -0
  227. package/src/tasks/__tests__/pipeline-stage.test.d.ts +14 -0
  228. package/src/tasks/__tests__/pipeline-stage.test.d.ts.map +1 -0
  229. package/src/tasks/__tests__/pipeline-stage.test.js +277 -0
  230. package/src/tasks/__tests__/pipeline-stage.test.js.map +1 -0
  231. package/src/tasks/__tests__/update.test.js +43 -6
  232. package/src/tasks/__tests__/update.test.js.map +1 -1
  233. package/src/tasks/find.ts +11 -1
  234. package/src/tasks/list.ts +14 -3
  235. package/src/tasks/show.ts +6 -0
  236. package/src/upgrade.ts +16 -0
  237. package/dist/adapters/adapter-registry.js +0 -64
  238. package/dist/adapters/adapter-registry.js.map +0 -1
  239. package/dist/adapters/discovery.js +0 -83
  240. package/dist/adapters/discovery.js.map +0 -1
  241. package/dist/adapters/index.js +0 -9
  242. package/dist/adapters/index.js.map +0 -1
  243. package/dist/adapters/manager.js +0 -260
  244. package/dist/adapters/manager.js.map +0 -1
  245. package/dist/admin/export-tasks.js +0 -171
  246. package/dist/admin/export-tasks.js.map +0 -1
  247. package/dist/admin/export.js +0 -103
  248. package/dist/admin/export.js.map +0 -1
  249. package/dist/admin/help.js +0 -106
  250. package/dist/admin/help.js.map +0 -1
  251. package/dist/admin/import-tasks.js +0 -182
  252. package/dist/admin/import-tasks.js.map +0 -1
  253. package/dist/admin/import.js +0 -129
  254. package/dist/admin/import.js.map +0 -1
  255. package/dist/admin/index.js +0 -13
  256. package/dist/admin/index.js.map +0 -1
  257. package/dist/adrs/find.js +0 -134
  258. package/dist/adrs/find.js.map +0 -1
  259. package/dist/adrs/index.js +0 -15
  260. package/dist/adrs/index.js.map +0 -1
  261. package/dist/adrs/link-pipeline.js +0 -160
  262. package/dist/adrs/link-pipeline.js.map +0 -1
  263. package/dist/adrs/list.js +0 -43
  264. package/dist/adrs/list.js.map +0 -1
  265. package/dist/adrs/parse.js +0 -51
  266. package/dist/adrs/parse.js.map +0 -1
  267. package/dist/adrs/show.js +0 -22
  268. package/dist/adrs/show.js.map +0 -1
  269. package/dist/adrs/sync.js +0 -188
  270. package/dist/adrs/sync.js.map +0 -1
  271. package/dist/adrs/types.js +0 -9
  272. package/dist/adrs/types.js.map +0 -1
  273. package/dist/adrs/validate.js +0 -57
  274. package/dist/adrs/validate.js.map +0 -1
  275. package/dist/agents/agent-registry.js +0 -288
  276. package/dist/agents/agent-registry.js.map +0 -1
  277. package/dist/agents/agent-schema.js +0 -85
  278. package/dist/agents/agent-schema.js.map +0 -1
  279. package/dist/agents/capacity.js +0 -116
  280. package/dist/agents/capacity.js.map +0 -1
  281. package/dist/agents/execution-learning.js +0 -474
  282. package/dist/agents/execution-learning.js.map +0 -1
  283. package/dist/agents/health-monitor.js +0 -217
  284. package/dist/agents/health-monitor.js.map +0 -1
  285. package/dist/agents/index.js +0 -29
  286. package/dist/agents/index.js.map +0 -1
  287. package/dist/agents/registry.js +0 -314
  288. package/dist/agents/registry.js.map +0 -1
  289. package/dist/agents/retry.js +0 -210
  290. package/dist/agents/retry.js.map +0 -1
  291. package/dist/audit-prune.js +0 -94
  292. package/dist/audit-prune.js.map +0 -1
  293. package/dist/audit.js +0 -68
  294. package/dist/audit.js.map +0 -1
  295. package/dist/backfill/index.js +0 -229
  296. package/dist/backfill/index.js.map +0 -1
  297. package/dist/bootstrap.js +0 -367
  298. package/dist/bootstrap.js.map +0 -1
  299. package/dist/caamp/adapter.js +0 -434
  300. package/dist/caamp/adapter.js.map +0 -1
  301. package/dist/caamp/capability-check.js +0 -38
  302. package/dist/caamp/capability-check.js.map +0 -1
  303. package/dist/caamp/index.js +0 -23
  304. package/dist/caamp/index.js.map +0 -1
  305. package/dist/caamp-init.js +0 -16
  306. package/dist/caamp-init.js.map +0 -1
  307. package/dist/cleo.js +0 -302
  308. package/dist/cleo.js.map +0 -1
  309. package/dist/codebase-map/analyzers/architecture.js +0 -130
  310. package/dist/codebase-map/analyzers/architecture.js.map +0 -1
  311. package/dist/codebase-map/analyzers/concerns.js +0 -122
  312. package/dist/codebase-map/analyzers/concerns.js.map +0 -1
  313. package/dist/codebase-map/analyzers/conventions.js +0 -149
  314. package/dist/codebase-map/analyzers/conventions.js.map +0 -1
  315. package/dist/codebase-map/analyzers/integrations.js +0 -108
  316. package/dist/codebase-map/analyzers/integrations.js.map +0 -1
  317. package/dist/codebase-map/analyzers/stack.js +0 -117
  318. package/dist/codebase-map/analyzers/stack.js.map +0 -1
  319. package/dist/codebase-map/analyzers/structure.js +0 -137
  320. package/dist/codebase-map/analyzers/structure.js.map +0 -1
  321. package/dist/codebase-map/analyzers/testing.js +0 -118
  322. package/dist/codebase-map/analyzers/testing.js.map +0 -1
  323. package/dist/codebase-map/index.js +0 -57
  324. package/dist/codebase-map/index.js.map +0 -1
  325. package/dist/codebase-map/store.js +0 -122
  326. package/dist/codebase-map/store.js.map +0 -1
  327. package/dist/codebase-map/summary.js +0 -152
  328. package/dist/codebase-map/summary.js.map +0 -1
  329. package/dist/compliance/index.js +0 -288
  330. package/dist/compliance/index.js.map +0 -1
  331. package/dist/compliance/protocol-enforcement.js +0 -332
  332. package/dist/compliance/protocol-enforcement.js.map +0 -1
  333. package/dist/compliance/protocol-rules.js +0 -786
  334. package/dist/compliance/protocol-rules.js.map +0 -1
  335. package/dist/compliance/protocol-types.js +0 -80
  336. package/dist/compliance/protocol-types.js.map +0 -1
  337. package/dist/compliance/store.js +0 -53
  338. package/dist/compliance/store.js.map +0 -1
  339. package/dist/config/build-config.js +0 -29
  340. package/dist/config/build-config.js.map +0 -1
  341. package/dist/config.js +0 -400
  342. package/dist/config.js.map +0 -1
  343. package/dist/constants.js +0 -18
  344. package/dist/constants.js.map +0 -1
  345. package/dist/context/index.js +0 -137
  346. package/dist/context/index.js.map +0 -1
  347. package/dist/engine-result.js +0 -12
  348. package/dist/engine-result.js.map +0 -1
  349. package/dist/error-catalog.js +0 -404
  350. package/dist/error-catalog.js.map +0 -1
  351. package/dist/error-registry.js +0 -393
  352. package/dist/error-registry.js.map +0 -1
  353. package/dist/errors.js +0 -167
  354. package/dist/errors.js.map +0 -1
  355. package/dist/hooks/handlers/error-hooks.js +0 -43
  356. package/dist/hooks/handlers/error-hooks.js.map +0 -1
  357. package/dist/hooks/handlers/file-hooks.js +0 -80
  358. package/dist/hooks/handlers/file-hooks.js.map +0 -1
  359. package/dist/hooks/handlers/index.js +0 -19
  360. package/dist/hooks/handlers/index.js.map +0 -1
  361. package/dist/hooks/handlers/mcp-hooks.js +0 -80
  362. package/dist/hooks/handlers/mcp-hooks.js.map +0 -1
  363. package/dist/hooks/handlers/memory-bridge-refresh.js +0 -42
  364. package/dist/hooks/handlers/memory-bridge-refresh.js.map +0 -1
  365. package/dist/hooks/handlers/session-hooks.js +0 -109
  366. package/dist/hooks/handlers/session-hooks.js.map +0 -1
  367. package/dist/hooks/handlers/task-hooks.js +0 -70
  368. package/dist/hooks/handlers/task-hooks.js.map +0 -1
  369. package/dist/hooks/index.js +0 -13
  370. package/dist/hooks/index.js.map +0 -1
  371. package/dist/hooks/payload-schemas.js +0 -163
  372. package/dist/hooks/payload-schemas.js.map +0 -1
  373. package/dist/hooks/provider-hooks.js +0 -34
  374. package/dist/hooks/provider-hooks.js.map +0 -1
  375. package/dist/hooks/registry.js +0 -176
  376. package/dist/hooks/registry.js.map +0 -1
  377. package/dist/hooks/types.js +0 -62
  378. package/dist/hooks/types.js.map +0 -1
  379. package/dist/hooks.js +0 -136
  380. package/dist/hooks.js.map +0 -1
  381. package/dist/init.js +0 -711
  382. package/dist/init.js.map +0 -1
  383. package/dist/inject/index.js +0 -82
  384. package/dist/inject/index.js.map +0 -1
  385. package/dist/injection.js +0 -343
  386. package/dist/injection.js.map +0 -1
  387. package/dist/intelligence/adaptive-validation.js +0 -497
  388. package/dist/intelligence/adaptive-validation.js.map +0 -1
  389. package/dist/intelligence/impact.js +0 -675
  390. package/dist/intelligence/impact.js.map +0 -1
  391. package/dist/intelligence/index.js +0 -22
  392. package/dist/intelligence/index.js.map +0 -1
  393. package/dist/intelligence/patterns.js +0 -492
  394. package/dist/intelligence/patterns.js.map +0 -1
  395. package/dist/intelligence/prediction.js +0 -499
  396. package/dist/intelligence/prediction.js.map +0 -1
  397. package/dist/intelligence/types.js +0 -13
  398. package/dist/intelligence/types.js.map +0 -1
  399. package/dist/internal.js +0 -276
  400. package/dist/internal.js.map +0 -1
  401. package/dist/issue/create.js +0 -121
  402. package/dist/issue/create.js.map +0 -1
  403. package/dist/issue/diagnostics.js +0 -59
  404. package/dist/issue/diagnostics.js.map +0 -1
  405. package/dist/issue/index.js +0 -10
  406. package/dist/issue/index.js.map +0 -1
  407. package/dist/issue/template-parser.js +0 -267
  408. package/dist/issue/template-parser.js.map +0 -1
  409. package/dist/json-schema-validator.js +0 -76
  410. package/dist/json-schema-validator.js.map +0 -1
  411. package/dist/lib/index.js +0 -10
  412. package/dist/lib/index.js.map +0 -1
  413. package/dist/lib/retry.js +0 -152
  414. package/dist/lib/retry.js.map +0 -1
  415. package/dist/lifecycle/chain-composition.js +0 -152
  416. package/dist/lifecycle/chain-composition.js.map +0 -1
  417. package/dist/lifecycle/chain-store.js +0 -246
  418. package/dist/lifecycle/chain-store.js.map +0 -1
  419. package/dist/lifecycle/consolidate-rcasd.js +0 -352
  420. package/dist/lifecycle/consolidate-rcasd.js.map +0 -1
  421. package/dist/lifecycle/default-chain.js +0 -167
  422. package/dist/lifecycle/default-chain.js.map +0 -1
  423. package/dist/lifecycle/evidence.js +0 -180
  424. package/dist/lifecycle/evidence.js.map +0 -1
  425. package/dist/lifecycle/frontmatter.js +0 -363
  426. package/dist/lifecycle/frontmatter.js.map +0 -1
  427. package/dist/lifecycle/index.js +0 -753
  428. package/dist/lifecycle/index.js.map +0 -1
  429. package/dist/lifecycle/pipeline.js +0 -656
  430. package/dist/lifecycle/pipeline.js.map +0 -1
  431. package/dist/lifecycle/rcasd-index.js +0 -326
  432. package/dist/lifecycle/rcasd-index.js.map +0 -1
  433. package/dist/lifecycle/rcasd-paths.js +0 -220
  434. package/dist/lifecycle/rcasd-paths.js.map +0 -1
  435. package/dist/lifecycle/resume.js +0 -864
  436. package/dist/lifecycle/resume.js.map +0 -1
  437. package/dist/lifecycle/stage-artifacts.js +0 -94
  438. package/dist/lifecycle/stage-artifacts.js.map +0 -1
  439. package/dist/lifecycle/stages.js +0 -534
  440. package/dist/lifecycle/stages.js.map +0 -1
  441. package/dist/lifecycle/state-machine.js +0 -516
  442. package/dist/lifecycle/state-machine.js.map +0 -1
  443. package/dist/lifecycle/tessera-engine.js +0 -249
  444. package/dist/lifecycle/tessera-engine.js.map +0 -1
  445. package/dist/logger.js +0 -140
  446. package/dist/logger.js.map +0 -1
  447. package/dist/mcp/index.js +0 -146
  448. package/dist/mcp/index.js.map +0 -1
  449. package/dist/memory/auto-extract.js +0 -177
  450. package/dist/memory/auto-extract.js.map +0 -1
  451. package/dist/memory/brain-embedding.js +0 -66
  452. package/dist/memory/brain-embedding.js.map +0 -1
  453. package/dist/memory/brain-lifecycle.js +0 -298
  454. package/dist/memory/brain-lifecycle.js.map +0 -1
  455. package/dist/memory/brain-links.js +0 -148
  456. package/dist/memory/brain-links.js.map +0 -1
  457. package/dist/memory/brain-maintenance.js +0 -98
  458. package/dist/memory/brain-maintenance.js.map +0 -1
  459. package/dist/memory/brain-migration.js +0 -149
  460. package/dist/memory/brain-migration.js.map +0 -1
  461. package/dist/memory/brain-reasoning.js +0 -215
  462. package/dist/memory/brain-reasoning.js.map +0 -1
  463. package/dist/memory/brain-retrieval.js +0 -521
  464. package/dist/memory/brain-retrieval.js.map +0 -1
  465. package/dist/memory/brain-row-types.js +0 -10
  466. package/dist/memory/brain-row-types.js.map +0 -1
  467. package/dist/memory/brain-search.js +0 -519
  468. package/dist/memory/brain-search.js.map +0 -1
  469. package/dist/memory/brain-similarity.js +0 -145
  470. package/dist/memory/brain-similarity.js.map +0 -1
  471. package/dist/memory/claude-mem-migration.js +0 -277
  472. package/dist/memory/claude-mem-migration.js.map +0 -1
  473. package/dist/memory/decisions.js +0 -148
  474. package/dist/memory/decisions.js.map +0 -1
  475. package/dist/memory/embedding-local.js +0 -97
  476. package/dist/memory/embedding-local.js.map +0 -1
  477. package/dist/memory/embedding-queue.js +0 -271
  478. package/dist/memory/embedding-queue.js.map +0 -1
  479. package/dist/memory/embedding-worker.js +0 -58
  480. package/dist/memory/embedding-worker.js.map +0 -1
  481. package/dist/memory/engine-compat.js +0 -1030
  482. package/dist/memory/engine-compat.js.map +0 -1
  483. package/dist/memory/index.js +0 -773
  484. package/dist/memory/index.js.map +0 -1
  485. package/dist/memory/learnings.js +0 -121
  486. package/dist/memory/learnings.js.map +0 -1
  487. package/dist/memory/memory-bridge.js +0 -370
  488. package/dist/memory/memory-bridge.js.map +0 -1
  489. package/dist/memory/patterns.js +0 -122
  490. package/dist/memory/patterns.js.map +0 -1
  491. package/dist/memory/pipeline-manifest-sqlite.js +0 -975
  492. package/dist/memory/pipeline-manifest-sqlite.js.map +0 -1
  493. package/dist/memory/session-memory.js +0 -331
  494. package/dist/memory/session-memory.js.map +0 -1
  495. package/dist/metrics/ab-test.js +0 -260
  496. package/dist/metrics/ab-test.js.map +0 -1
  497. package/dist/metrics/aggregation.js +0 -363
  498. package/dist/metrics/aggregation.js.map +0 -1
  499. package/dist/metrics/common.js +0 -64
  500. package/dist/metrics/common.js.map +0 -1
  501. package/dist/metrics/enums.js +0 -78
  502. package/dist/metrics/enums.js.map +0 -1
  503. package/dist/metrics/index.js +0 -19
  504. package/dist/metrics/index.js.map +0 -1
  505. package/dist/metrics/model-provider-registry.js +0 -88
  506. package/dist/metrics/model-provider-registry.js.map +0 -1
  507. package/dist/metrics/otel-integration.js +0 -263
  508. package/dist/metrics/otel-integration.js.map +0 -1
  509. package/dist/metrics/provider-detection.js +0 -103
  510. package/dist/metrics/provider-detection.js.map +0 -1
  511. package/dist/metrics/token-estimation.js +0 -253
  512. package/dist/metrics/token-estimation.js.map +0 -1
  513. package/dist/metrics/token-service.js +0 -450
  514. package/dist/metrics/token-service.js.map +0 -1
  515. package/dist/migration/agent-outputs.js +0 -316
  516. package/dist/migration/agent-outputs.js.map +0 -1
  517. package/dist/migration/checksum.js +0 -92
  518. package/dist/migration/checksum.js.map +0 -1
  519. package/dist/migration/index.js +0 -282
  520. package/dist/migration/index.js.map +0 -1
  521. package/dist/migration/logger.js +0 -360
  522. package/dist/migration/logger.js.map +0 -1
  523. package/dist/migration/preflight.js +0 -9
  524. package/dist/migration/preflight.js.map +0 -1
  525. package/dist/migration/state.js +0 -421
  526. package/dist/migration/state.js.map +0 -1
  527. package/dist/migration/validate.js +0 -241
  528. package/dist/migration/validate.js.map +0 -1
  529. package/dist/nexus/deps.js +0 -375
  530. package/dist/nexus/deps.js.map +0 -1
  531. package/dist/nexus/discover.js +0 -288
  532. package/dist/nexus/discover.js.map +0 -1
  533. package/dist/nexus/hash.js +0 -10
  534. package/dist/nexus/hash.js.map +0 -1
  535. package/dist/nexus/index.js +0 -38
  536. package/dist/nexus/index.js.map +0 -1
  537. package/dist/nexus/migrate-json-to-sqlite.js +0 -115
  538. package/dist/nexus/migrate-json-to-sqlite.js.map +0 -1
  539. package/dist/nexus/permissions.js +0 -105
  540. package/dist/nexus/permissions.js.map +0 -1
  541. package/dist/nexus/query.js +0 -175
  542. package/dist/nexus/query.js.map +0 -1
  543. package/dist/nexus/registry.js +0 -584
  544. package/dist/nexus/registry.js.map +0 -1
  545. package/dist/nexus/sharing/index.js +0 -288
  546. package/dist/nexus/sharing/index.js.map +0 -1
  547. package/dist/nexus/transfer-types.js +0 -8
  548. package/dist/nexus/transfer-types.js.map +0 -1
  549. package/dist/nexus/transfer.js +0 -263
  550. package/dist/nexus/transfer.js.map +0 -1
  551. package/dist/observability/index.js +0 -103
  552. package/dist/observability/index.js.map +0 -1
  553. package/dist/observability/log-filter.js +0 -63
  554. package/dist/observability/log-filter.js.map +0 -1
  555. package/dist/observability/log-parser.js +0 -99
  556. package/dist/observability/log-parser.js.map +0 -1
  557. package/dist/observability/log-reader.js +0 -139
  558. package/dist/observability/log-reader.js.map +0 -1
  559. package/dist/observability/types.js +0 -19
  560. package/dist/observability/types.js.map +0 -1
  561. package/dist/orchestration/analyze.js +0 -107
  562. package/dist/orchestration/analyze.js.map +0 -1
  563. package/dist/orchestration/bootstrap.js +0 -132
  564. package/dist/orchestration/bootstrap.js.map +0 -1
  565. package/dist/orchestration/context.js +0 -56
  566. package/dist/orchestration/context.js.map +0 -1
  567. package/dist/orchestration/critical-path.js +0 -100
  568. package/dist/orchestration/critical-path.js.map +0 -1
  569. package/dist/orchestration/index.js +0 -286
  570. package/dist/orchestration/index.js.map +0 -1
  571. package/dist/orchestration/parallel.js +0 -89
  572. package/dist/orchestration/parallel.js.map +0 -1
  573. package/dist/orchestration/protocol-validators.js +0 -524
  574. package/dist/orchestration/protocol-validators.js.map +0 -1
  575. package/dist/orchestration/skill-ops.js +0 -98
  576. package/dist/orchestration/skill-ops.js.map +0 -1
  577. package/dist/orchestration/status.js +0 -107
  578. package/dist/orchestration/status.js.map +0 -1
  579. package/dist/orchestration/unblock.js +0 -103
  580. package/dist/orchestration/unblock.js.map +0 -1
  581. package/dist/orchestration/validate-spawn.js +0 -67
  582. package/dist/orchestration/validate-spawn.js.map +0 -1
  583. package/dist/orchestration/waves.js +0 -86
  584. package/dist/orchestration/waves.js.map +0 -1
  585. package/dist/otel/index.js +0 -163
  586. package/dist/otel/index.js.map +0 -1
  587. package/dist/output.js +0 -132
  588. package/dist/output.js.map +0 -1
  589. package/dist/pagination.js +0 -64
  590. package/dist/pagination.js.map +0 -1
  591. package/dist/paths.js +0 -337
  592. package/dist/paths.js.map +0 -1
  593. package/dist/phases/deps.js +0 -372
  594. package/dist/phases/deps.js.map +0 -1
  595. package/dist/phases/index.js +0 -349
  596. package/dist/phases/index.js.map +0 -1
  597. package/dist/pipeline/index.js +0 -10
  598. package/dist/pipeline/index.js.map +0 -1
  599. package/dist/pipeline/phase.js +0 -45
  600. package/dist/pipeline/phase.js.map +0 -1
  601. package/dist/platform.js +0 -211
  602. package/dist/platform.js.map +0 -1
  603. package/dist/project-info.js +0 -84
  604. package/dist/project-info.js.map +0 -1
  605. package/dist/reconciliation/index.js +0 -10
  606. package/dist/reconciliation/index.js.map +0 -1
  607. package/dist/reconciliation/link-store.js +0 -129
  608. package/dist/reconciliation/link-store.js.map +0 -1
  609. package/dist/reconciliation/reconciliation-engine.js +0 -298
  610. package/dist/reconciliation/reconciliation-engine.js.map +0 -1
  611. package/dist/release/artifacts.js +0 -427
  612. package/dist/release/artifacts.js.map +0 -1
  613. package/dist/release/changelog-writer.js +0 -151
  614. package/dist/release/changelog-writer.js.map +0 -1
  615. package/dist/release/channel.js +0 -144
  616. package/dist/release/channel.js.map +0 -1
  617. package/dist/release/ci.js +0 -166
  618. package/dist/release/ci.js.map +0 -1
  619. package/dist/release/github-pr.js +0 -225
  620. package/dist/release/github-pr.js.map +0 -1
  621. package/dist/release/guards.js +0 -116
  622. package/dist/release/guards.js.map +0 -1
  623. package/dist/release/index.js +0 -22
  624. package/dist/release/index.js.map +0 -1
  625. package/dist/release/release-config.js +0 -158
  626. package/dist/release/release-config.js.map +0 -1
  627. package/dist/release/release-manifest.js +0 -1019
  628. package/dist/release/release-manifest.js.map +0 -1
  629. package/dist/release/version-bump.js +0 -255
  630. package/dist/release/version-bump.js.map +0 -1
  631. package/dist/remote/index.js +0 -257
  632. package/dist/remote/index.js.map +0 -1
  633. package/dist/repair.js +0 -130
  634. package/dist/repair.js.map +0 -1
  635. package/dist/research/index.js +0 -2
  636. package/dist/research/index.js.map +0 -1
  637. package/dist/roadmap/index.js +0 -59
  638. package/dist/roadmap/index.js.map +0 -1
  639. package/dist/routing/capability-matrix.js +0 -1557
  640. package/dist/routing/capability-matrix.js.map +0 -1
  641. package/dist/routing/index.js +0 -9
  642. package/dist/routing/index.js.map +0 -1
  643. package/dist/scaffold.js +0 -1178
  644. package/dist/scaffold.js.map +0 -1
  645. package/dist/schema-management.js +0 -295
  646. package/dist/schema-management.js.map +0 -1
  647. package/dist/security/index.js +0 -9
  648. package/dist/security/index.js.map +0 -1
  649. package/dist/security/input-sanitization.js +0 -321
  650. package/dist/security/input-sanitization.js.map +0 -1
  651. package/dist/sequence/index.js +0 -295
  652. package/dist/sequence/index.js.map +0 -1
  653. package/dist/sessions/assumptions.js +0 -54
  654. package/dist/sessions/assumptions.js.map +0 -1
  655. package/dist/sessions/briefing.js +0 -377
  656. package/dist/sessions/briefing.js.map +0 -1
  657. package/dist/sessions/context-alert.js +0 -222
  658. package/dist/sessions/context-alert.js.map +0 -1
  659. package/dist/sessions/context-inject.js +0 -61
  660. package/dist/sessions/context-inject.js.map +0 -1
  661. package/dist/sessions/context-monitor.js +0 -98
  662. package/dist/sessions/context-monitor.js.map +0 -1
  663. package/dist/sessions/decisions.js +0 -65
  664. package/dist/sessions/decisions.js.map +0 -1
  665. package/dist/sessions/find.js +0 -63
  666. package/dist/sessions/find.js.map +0 -1
  667. package/dist/sessions/handoff.js +0 -328
  668. package/dist/sessions/handoff.js.map +0 -1
  669. package/dist/sessions/hitl-warnings.js +0 -254
  670. package/dist/sessions/hitl-warnings.js.map +0 -1
  671. package/dist/sessions/index.js +0 -314
  672. package/dist/sessions/index.js.map +0 -1
  673. package/dist/sessions/session-archive.js +0 -40
  674. package/dist/sessions/session-archive.js.map +0 -1
  675. package/dist/sessions/session-cleanup.js +0 -59
  676. package/dist/sessions/session-cleanup.js.map +0 -1
  677. package/dist/sessions/session-drift.js +0 -134
  678. package/dist/sessions/session-drift.js.map +0 -1
  679. package/dist/sessions/session-enforcement.js +0 -144
  680. package/dist/sessions/session-enforcement.js.map +0 -1
  681. package/dist/sessions/session-grade.js +0 -253
  682. package/dist/sessions/session-grade.js.map +0 -1
  683. package/dist/sessions/session-history.js +0 -42
  684. package/dist/sessions/session-history.js.map +0 -1
  685. package/dist/sessions/session-id.js +0 -81
  686. package/dist/sessions/session-id.js.map +0 -1
  687. package/dist/sessions/session-memory-bridge.js +0 -52
  688. package/dist/sessions/session-memory-bridge.js.map +0 -1
  689. package/dist/sessions/session-show.js +0 -24
  690. package/dist/sessions/session-show.js.map +0 -1
  691. package/dist/sessions/session-stats.js +0 -69
  692. package/dist/sessions/session-stats.js.map +0 -1
  693. package/dist/sessions/session-suspend.js +0 -39
  694. package/dist/sessions/session-suspend.js.map +0 -1
  695. package/dist/sessions/session-switch.js +0 -51
  696. package/dist/sessions/session-switch.js.map +0 -1
  697. package/dist/sessions/session-view.js +0 -76
  698. package/dist/sessions/session-view.js.map +0 -1
  699. package/dist/sessions/statusline-setup.js +0 -85
  700. package/dist/sessions/statusline-setup.js.map +0 -1
  701. package/dist/sessions/types.js +0 -8
  702. package/dist/sessions/types.js.map +0 -1
  703. package/dist/signaldock/claude-code-transport.d.ts +0 -34
  704. package/dist/signaldock/claude-code-transport.d.ts.map +0 -1
  705. package/dist/signaldock/claude-code-transport.js +0 -107
  706. package/dist/signaldock/claude-code-transport.js.map +0 -1
  707. package/dist/signaldock/factory.d.ts +0 -22
  708. package/dist/signaldock/factory.d.ts.map +0 -1
  709. package/dist/signaldock/factory.js +0 -25
  710. package/dist/signaldock/factory.js.map +0 -1
  711. package/dist/signaldock/index.d.ts +0 -13
  712. package/dist/signaldock/index.d.ts.map +0 -1
  713. package/dist/signaldock/index.js +0 -9
  714. package/dist/signaldock/index.js.map +0 -1
  715. package/dist/signaldock/signaldock-transport.d.ts +0 -45
  716. package/dist/signaldock/signaldock-transport.d.ts.map +0 -1
  717. package/dist/signaldock/signaldock-transport.js +0 -122
  718. package/dist/signaldock/signaldock-transport.js.map +0 -1
  719. package/dist/signaldock/transport.d.ts +0 -49
  720. package/dist/signaldock/transport.d.ts.map +0 -1
  721. package/dist/signaldock/transport.js +0 -11
  722. package/dist/signaldock/transport.js.map +0 -1
  723. package/dist/signaldock/types.d.ts +0 -88
  724. package/dist/signaldock/types.d.ts.map +0 -1
  725. package/dist/signaldock/types.js +0 -11
  726. package/dist/signaldock/types.js.map +0 -1
  727. package/dist/skills/agents/config.js +0 -94
  728. package/dist/skills/agents/config.js.map +0 -1
  729. package/dist/skills/agents/install.js +0 -116
  730. package/dist/skills/agents/install.js.map +0 -1
  731. package/dist/skills/agents/registry.js +0 -161
  732. package/dist/skills/agents/registry.js.map +0 -1
  733. package/dist/skills/discovery.js +0 -333
  734. package/dist/skills/discovery.js.map +0 -1
  735. package/dist/skills/dispatch.js +0 -347
  736. package/dist/skills/dispatch.js.map +0 -1
  737. package/dist/skills/dynamic-skill-generator.js +0 -100
  738. package/dist/skills/dynamic-skill-generator.js.map +0 -1
  739. package/dist/skills/index.js +0 -44
  740. package/dist/skills/index.js.map +0 -1
  741. package/dist/skills/injection/subagent.js +0 -195
  742. package/dist/skills/injection/subagent.js.map +0 -1
  743. package/dist/skills/injection/token.js +0 -260
  744. package/dist/skills/injection/token.js.map +0 -1
  745. package/dist/skills/install.js +0 -40
  746. package/dist/skills/install.js.map +0 -1
  747. package/dist/skills/manifests/contribution.js +0 -175
  748. package/dist/skills/manifests/contribution.js.map +0 -1
  749. package/dist/skills/manifests/research.js +0 -281
  750. package/dist/skills/manifests/research.js.map +0 -1
  751. package/dist/skills/manifests/resolver.js +0 -146
  752. package/dist/skills/manifests/resolver.js.map +0 -1
  753. package/dist/skills/marketplace.js +0 -90
  754. package/dist/skills/marketplace.js.map +0 -1
  755. package/dist/skills/orchestrator/spawn.js +0 -178
  756. package/dist/skills/orchestrator/spawn.js.map +0 -1
  757. package/dist/skills/orchestrator/startup.js +0 -451
  758. package/dist/skills/orchestrator/startup.js.map +0 -1
  759. package/dist/skills/orchestrator/validator.js +0 -301
  760. package/dist/skills/orchestrator/validator.js.map +0 -1
  761. package/dist/skills/precedence-integration.js +0 -73
  762. package/dist/skills/precedence-integration.js.map +0 -1
  763. package/dist/skills/precedence-types.js +0 -16
  764. package/dist/skills/precedence-types.js.map +0 -1
  765. package/dist/skills/routing-table.js +0 -63
  766. package/dist/skills/routing-table.js.map +0 -1
  767. package/dist/skills/skill-paths.js +0 -220
  768. package/dist/skills/skill-paths.js.map +0 -1
  769. package/dist/skills/test-utility.js +0 -55
  770. package/dist/skills/test-utility.js.map +0 -1
  771. package/dist/skills/types.js +0 -118
  772. package/dist/skills/types.js.map +0 -1
  773. package/dist/skills/validation.js +0 -183
  774. package/dist/skills/validation.js.map +0 -1
  775. package/dist/skills/version.js +0 -57
  776. package/dist/skills/version.js.map +0 -1
  777. package/dist/snapshot/index.js +0 -188
  778. package/dist/snapshot/index.js.map +0 -1
  779. package/dist/spawn/adapter-registry.js +0 -246
  780. package/dist/spawn/adapter-registry.js.map +0 -1
  781. package/dist/spawn/index.js +0 -10
  782. package/dist/spawn/index.js.map +0 -1
  783. package/dist/stats/index.js +0 -343
  784. package/dist/stats/index.js.map +0 -1
  785. package/dist/stats/workflow-telemetry.js +0 -400
  786. package/dist/stats/workflow-telemetry.js.map +0 -1
  787. package/dist/sticky/archive.js +0 -47
  788. package/dist/sticky/archive.js.map +0 -1
  789. package/dist/sticky/convert.js +0 -235
  790. package/dist/sticky/convert.js.map +0 -1
  791. package/dist/sticky/create.js +0 -48
  792. package/dist/sticky/create.js.map +0 -1
  793. package/dist/sticky/id.js +0 -35
  794. package/dist/sticky/id.js.map +0 -1
  795. package/dist/sticky/index.js +0 -16
  796. package/dist/sticky/index.js.map +0 -1
  797. package/dist/sticky/list.js +0 -44
  798. package/dist/sticky/list.js.map +0 -1
  799. package/dist/sticky/purge.js +0 -45
  800. package/dist/sticky/purge.js.map +0 -1
  801. package/dist/sticky/show.js +0 -42
  802. package/dist/sticky/show.js.map +0 -1
  803. package/dist/sticky/types.js +0 -10
  804. package/dist/sticky/types.js.map +0 -1
  805. package/dist/store/atomic.js +0 -167
  806. package/dist/store/atomic.js.map +0 -1
  807. package/dist/store/backup.js +0 -94
  808. package/dist/store/backup.js.map +0 -1
  809. package/dist/store/brain-accessor.js +0 -397
  810. package/dist/store/brain-accessor.js.map +0 -1
  811. package/dist/store/brain-schema.js +0 -215
  812. package/dist/store/brain-schema.js.map +0 -1
  813. package/dist/store/brain-sqlite.js +0 -222
  814. package/dist/store/brain-sqlite.js.map +0 -1
  815. package/dist/store/cache.js +0 -168
  816. package/dist/store/cache.js.map +0 -1
  817. package/dist/store/chain-schema.js +0 -51
  818. package/dist/store/chain-schema.js.map +0 -1
  819. package/dist/store/converters.js +0 -122
  820. package/dist/store/converters.js.map +0 -1
  821. package/dist/store/cross-db-cleanup.js +0 -169
  822. package/dist/store/cross-db-cleanup.js.map +0 -1
  823. package/dist/store/data-accessor.js +0 -26
  824. package/dist/store/data-accessor.js.map +0 -1
  825. package/dist/store/data-safety-central.js +0 -269
  826. package/dist/store/data-safety-central.js.map +0 -1
  827. package/dist/store/data-safety.js +0 -274
  828. package/dist/store/data-safety.js.map +0 -1
  829. package/dist/store/db-helpers.js +0 -223
  830. package/dist/store/db-helpers.js.map +0 -1
  831. package/dist/store/export.js +0 -155
  832. package/dist/store/export.js.map +0 -1
  833. package/dist/store/file-utils.js +0 -270
  834. package/dist/store/file-utils.js.map +0 -1
  835. package/dist/store/git-checkpoint.js +0 -365
  836. package/dist/store/git-checkpoint.js.map +0 -1
  837. package/dist/store/import-logging.js +0 -139
  838. package/dist/store/import-logging.js.map +0 -1
  839. package/dist/store/import-remap.js +0 -145
  840. package/dist/store/import-remap.js.map +0 -1
  841. package/dist/store/import-sort.js +0 -121
  842. package/dist/store/import-sort.js.map +0 -1
  843. package/dist/store/index.js +0 -28
  844. package/dist/store/index.js.map +0 -1
  845. package/dist/store/json.js +0 -208
  846. package/dist/store/json.js.map +0 -1
  847. package/dist/store/lifecycle-store.js +0 -249
  848. package/dist/store/lifecycle-store.js.map +0 -1
  849. package/dist/store/lock.js +0 -70
  850. package/dist/store/lock.js.map +0 -1
  851. package/dist/store/migration-manager.js +0 -151
  852. package/dist/store/migration-manager.js.map +0 -1
  853. package/dist/store/migration-sqlite.js +0 -676
  854. package/dist/store/migration-sqlite.js.map +0 -1
  855. package/dist/store/nexus-schema.js +0 -62
  856. package/dist/store/nexus-schema.js.map +0 -1
  857. package/dist/store/nexus-sqlite.js +0 -217
  858. package/dist/store/nexus-sqlite.js.map +0 -1
  859. package/dist/store/nexus-validation-schemas.js +0 -40
  860. package/dist/store/nexus-validation-schemas.js.map +0 -1
  861. package/dist/store/parsers.js +0 -37
  862. package/dist/store/parsers.js.map +0 -1
  863. package/dist/store/project-detect.js +0 -457
  864. package/dist/store/project-detect.js.map +0 -1
  865. package/dist/store/provider.js +0 -101
  866. package/dist/store/provider.js.map +0 -1
  867. package/dist/store/safety-data-accessor.js +0 -243
  868. package/dist/store/safety-data-accessor.js.map +0 -1
  869. package/dist/store/schema.js +0 -7
  870. package/dist/store/schema.js.map +0 -1
  871. package/dist/store/session-store.js +0 -219
  872. package/dist/store/session-store.js.map +0 -1
  873. package/dist/store/sqlite-backup.js +0 -105
  874. package/dist/store/sqlite-backup.js.map +0 -1
  875. package/dist/store/sqlite-data-accessor.js +0 -734
  876. package/dist/store/sqlite-data-accessor.js.map +0 -1
  877. package/dist/store/sqlite.js +0 -436
  878. package/dist/store/sqlite.js.map +0 -1
  879. package/dist/store/status-registry.js +0 -8
  880. package/dist/store/status-registry.js.map +0 -1
  881. package/dist/store/task-store.js +0 -348
  882. package/dist/store/task-store.js.map +0 -1
  883. package/dist/store/tasks-schema.js +0 -604
  884. package/dist/store/tasks-schema.js.map +0 -1
  885. package/dist/store/typed-query.js +0 -15
  886. package/dist/store/typed-query.js.map +0 -1
  887. package/dist/store/validation-schemas.js +0 -278
  888. package/dist/store/validation-schemas.js.map +0 -1
  889. package/dist/system/archive-analytics.js +0 -277
  890. package/dist/system/archive-analytics.js.map +0 -1
  891. package/dist/system/archive-stats.js +0 -64
  892. package/dist/system/archive-stats.js.map +0 -1
  893. package/dist/system/audit.js +0 -145
  894. package/dist/system/audit.js.map +0 -1
  895. package/dist/system/backup.js +0 -141
  896. package/dist/system/backup.js.map +0 -1
  897. package/dist/system/cleanup.js +0 -134
  898. package/dist/system/cleanup.js.map +0 -1
  899. package/dist/system/health.js +0 -1054
  900. package/dist/system/health.js.map +0 -1
  901. package/dist/system/index.js +0 -18
  902. package/dist/system/index.js.map +0 -1
  903. package/dist/system/inject-generate.js +0 -122
  904. package/dist/system/inject-generate.js.map +0 -1
  905. package/dist/system/labels.js +0 -38
  906. package/dist/system/labels.js.map +0 -1
  907. package/dist/system/metrics.js +0 -61
  908. package/dist/system/metrics.js.map +0 -1
  909. package/dist/system/migrate.js +0 -43
  910. package/dist/system/migrate.js.map +0 -1
  911. package/dist/system/platform-paths.js +0 -80
  912. package/dist/system/platform-paths.js.map +0 -1
  913. package/dist/system/runtime.js +0 -161
  914. package/dist/system/runtime.js.map +0 -1
  915. package/dist/system/safestop.js +0 -99
  916. package/dist/system/safestop.js.map +0 -1
  917. package/dist/system/storage-preflight.js +0 -123
  918. package/dist/system/storage-preflight.js.map +0 -1
  919. package/dist/task-work/index.js +0 -155
  920. package/dist/task-work/index.js.map +0 -1
  921. package/dist/tasks/add.js +0 -661
  922. package/dist/tasks/add.js.map +0 -1
  923. package/dist/tasks/analyze.js +0 -85
  924. package/dist/tasks/analyze.js.map +0 -1
  925. package/dist/tasks/archive.js +0 -90
  926. package/dist/tasks/archive.js.map +0 -1
  927. package/dist/tasks/atomicity.js +0 -83
  928. package/dist/tasks/atomicity.js.map +0 -1
  929. package/dist/tasks/cancel-ops.js +0 -83
  930. package/dist/tasks/cancel-ops.js.map +0 -1
  931. package/dist/tasks/complete.js +0 -208
  932. package/dist/tasks/complete.js.map +0 -1
  933. package/dist/tasks/crossref-extract.js +0 -73
  934. package/dist/tasks/crossref-extract.js.map +0 -1
  935. package/dist/tasks/delete-preview.js +0 -192
  936. package/dist/tasks/delete-preview.js.map +0 -1
  937. package/dist/tasks/delete.js +0 -120
  938. package/dist/tasks/delete.js.map +0 -1
  939. package/dist/tasks/deletion-strategy.js +0 -200
  940. package/dist/tasks/deletion-strategy.js.map +0 -1
  941. package/dist/tasks/dependency-check.js +0 -278
  942. package/dist/tasks/dependency-check.js.map +0 -1
  943. package/dist/tasks/deps-ready.js +0 -32
  944. package/dist/tasks/deps-ready.js.map +0 -1
  945. package/dist/tasks/enforcement.js +0 -86
  946. package/dist/tasks/enforcement.js.map +0 -1
  947. package/dist/tasks/epic-enforcement.js +0 -294
  948. package/dist/tasks/epic-enforcement.js.map +0 -1
  949. package/dist/tasks/find.js +0 -148
  950. package/dist/tasks/find.js.map +0 -1
  951. package/dist/tasks/graph-cache.js +0 -127
  952. package/dist/tasks/graph-cache.js.map +0 -1
  953. package/dist/tasks/graph-ops.js +0 -171
  954. package/dist/tasks/graph-ops.js.map +0 -1
  955. package/dist/tasks/graph-rag.js +0 -328
  956. package/dist/tasks/graph-rag.js.map +0 -1
  957. package/dist/tasks/hierarchy-policy.js +0 -149
  958. package/dist/tasks/hierarchy-policy.js.map +0 -1
  959. package/dist/tasks/hierarchy.js +0 -185
  960. package/dist/tasks/hierarchy.js.map +0 -1
  961. package/dist/tasks/id-generator.js +0 -65
  962. package/dist/tasks/id-generator.js.map +0 -1
  963. package/dist/tasks/index.js +0 -14
  964. package/dist/tasks/index.js.map +0 -1
  965. package/dist/tasks/labels.js +0 -52
  966. package/dist/tasks/labels.js.map +0 -1
  967. package/dist/tasks/list.js +0 -68
  968. package/dist/tasks/list.js.map +0 -1
  969. package/dist/tasks/phase-tracking.js +0 -133
  970. package/dist/tasks/phase-tracking.js.map +0 -1
  971. package/dist/tasks/pipeline-stage.js +0 -248
  972. package/dist/tasks/pipeline-stage.js.map +0 -1
  973. package/dist/tasks/plan.js +0 -268
  974. package/dist/tasks/plan.js.map +0 -1
  975. package/dist/tasks/relates.js +0 -89
  976. package/dist/tasks/relates.js.map +0 -1
  977. package/dist/tasks/reparent.d.ts +0 -38
  978. package/dist/tasks/reparent.d.ts.map +0 -1
  979. package/dist/tasks/show.js +0 -78
  980. package/dist/tasks/show.js.map +0 -1
  981. package/dist/tasks/size-weighting.js +0 -86
  982. package/dist/tasks/size-weighting.js.map +0 -1
  983. package/dist/tasks/staleness.js +0 -86
  984. package/dist/tasks/staleness.js.map +0 -1
  985. package/dist/tasks/task-ops.js +0 -1340
  986. package/dist/tasks/task-ops.js.map +0 -1
  987. package/dist/tasks/update.js +0 -271
  988. package/dist/tasks/update.js.map +0 -1
  989. package/dist/templates/index.js +0 -10
  990. package/dist/templates/index.js.map +0 -1
  991. package/dist/templates/parser.js +0 -254
  992. package/dist/templates/parser.js.map +0 -1
  993. package/dist/ui/aliases.js +0 -153
  994. package/dist/ui/aliases.js.map +0 -1
  995. package/dist/ui/changelog.js +0 -184
  996. package/dist/ui/changelog.js.map +0 -1
  997. package/dist/ui/command-registry.js +0 -168
  998. package/dist/ui/command-registry.js.map +0 -1
  999. package/dist/ui/flags.js +0 -94
  1000. package/dist/ui/flags.js.map +0 -1
  1001. package/dist/ui/index.js +0 -24
  1002. package/dist/ui/index.js.map +0 -1
  1003. package/dist/ui/injection-legacy.d.ts +0 -26
  1004. package/dist/ui/injection-legacy.d.ts.map +0 -1
  1005. package/dist/ui/injection-legacy.js +0 -42
  1006. package/dist/ui/injection-legacy.js.map +0 -1
  1007. package/dist/upgrade.js +0 -1144
  1008. package/dist/upgrade.js.map +0 -1
  1009. package/dist/validation/chain-validation.js +0 -146
  1010. package/dist/validation/chain-validation.js.map +0 -1
  1011. package/dist/validation/compliance.js +0 -155
  1012. package/dist/validation/compliance.js.map +0 -1
  1013. package/dist/validation/docs-sync.js +0 -212
  1014. package/dist/validation/docs-sync.js.map +0 -1
  1015. package/dist/validation/doctor/checks.js +0 -1069
  1016. package/dist/validation/doctor/checks.js.map +0 -1
  1017. package/dist/validation/doctor/index.js +0 -9
  1018. package/dist/validation/doctor/index.js.map +0 -1
  1019. package/dist/validation/doctor/project-cache.js +0 -160
  1020. package/dist/validation/doctor/project-cache.js.map +0 -1
  1021. package/dist/validation/doctor/utils.js +0 -155
  1022. package/dist/validation/doctor/utils.js.map +0 -1
  1023. package/dist/validation/engine.js +0 -902
  1024. package/dist/validation/engine.js.map +0 -1
  1025. package/dist/validation/gap-check.js +0 -175
  1026. package/dist/validation/gap-check.js.map +0 -1
  1027. package/dist/validation/index.js +0 -40
  1028. package/dist/validation/index.js.map +0 -1
  1029. package/dist/validation/manifest.js +0 -237
  1030. package/dist/validation/manifest.js.map +0 -1
  1031. package/dist/validation/operation-gate-validators.js +0 -724
  1032. package/dist/validation/operation-gate-validators.js.map +0 -1
  1033. package/dist/validation/operation-verification-gates.js +0 -532
  1034. package/dist/validation/operation-verification-gates.js.map +0 -1
  1035. package/dist/validation/param-utils.js +0 -139
  1036. package/dist/validation/param-utils.js.map +0 -1
  1037. package/dist/validation/protocol-common.js +0 -300
  1038. package/dist/validation/protocol-common.js.map +0 -1
  1039. package/dist/validation/protocols/consensus.js +0 -71
  1040. package/dist/validation/protocols/consensus.js.map +0 -1
  1041. package/dist/validation/protocols/contribution.js +0 -59
  1042. package/dist/validation/protocols/contribution.js.map +0 -1
  1043. package/dist/validation/protocols/decomposition.js +0 -59
  1044. package/dist/validation/protocols/decomposition.js.map +0 -1
  1045. package/dist/validation/protocols/implementation.js +0 -59
  1046. package/dist/validation/protocols/implementation.js.map +0 -1
  1047. package/dist/validation/protocols/release-protocol.js +0 -60
  1048. package/dist/validation/protocols/release-protocol.js.map +0 -1
  1049. package/dist/validation/protocols/research.js +0 -77
  1050. package/dist/validation/protocols/research.js.map +0 -1
  1051. package/dist/validation/protocols/specification.js +0 -84
  1052. package/dist/validation/protocols/specification.js.map +0 -1
  1053. package/dist/validation/protocols/testing-protocol.js +0 -70
  1054. package/dist/validation/protocols/testing-protocol.js.map +0 -1
  1055. package/dist/validation/protocols/validation-protocol.js +0 -70
  1056. package/dist/validation/protocols/validation-protocol.js.map +0 -1
  1057. package/dist/validation/schema-integrity.js +0 -170
  1058. package/dist/validation/schema-integrity.js.map +0 -1
  1059. package/dist/validation/schema-validator.js +0 -176
  1060. package/dist/validation/schema-validator.js.map +0 -1
  1061. package/dist/validation/validate-ops.js +0 -937
  1062. package/dist/validation/validate-ops.js.map +0 -1
  1063. package/dist/validation/validation-rules.js +0 -226
  1064. package/dist/validation/validation-rules.js.map +0 -1
  1065. package/dist/validation/verification.js +0 -321
  1066. package/dist/validation/verification.js.map +0 -1
  1067. package/src/signaldock/__tests__/claude-code-transport.test.d.ts +0 -7
  1068. package/src/signaldock/__tests__/claude-code-transport.test.d.ts.map +0 -1
  1069. package/src/signaldock/__tests__/claude-code-transport.test.js +0 -147
  1070. package/src/signaldock/__tests__/claude-code-transport.test.js.map +0 -1
  1071. package/src/signaldock/__tests__/claude-code-transport.test.ts +0 -180
  1072. package/src/signaldock/__tests__/factory.test.d.ts +0 -7
  1073. package/src/signaldock/__tests__/factory.test.d.ts.map +0 -1
  1074. package/src/signaldock/__tests__/factory.test.js +0 -55
  1075. package/src/signaldock/__tests__/factory.test.js.map +0 -1
  1076. package/src/signaldock/__tests__/factory.test.ts +0 -61
  1077. package/src/signaldock/__tests__/signaldock-transport.test.d.ts +0 -9
  1078. package/src/signaldock/__tests__/signaldock-transport.test.d.ts.map +0 -1
  1079. package/src/signaldock/__tests__/signaldock-transport.test.js +0 -321
  1080. package/src/signaldock/__tests__/signaldock-transport.test.js.map +0 -1
  1081. package/src/signaldock/__tests__/signaldock-transport.test.ts +0 -421
  1082. package/src/signaldock/claude-code-transport.ts +0 -137
  1083. package/src/signaldock/factory.ts +0 -39
  1084. package/src/signaldock/index.ts +0 -28
  1085. package/src/signaldock/signaldock-transport.ts +0 -194
  1086. package/src/signaldock/transport.ts +0 -78
  1087. package/src/signaldock/types.ts +0 -100
@@ -1,210 +0,0 @@
1
- /**
2
- * Self-healing and retry logic for the Agent dimension.
3
- *
4
- * Provides configurable retry policies with exponential backoff + jitter,
5
- * and recovery mechanisms for crashed agents. Error classification
6
- * determines whether a retry is appropriate.
7
- *
8
- * @module agents/retry
9
- */
10
- import { checkAgentHealth, classifyError, listAgentInstances, updateAgentStatus, } from './registry.js';
11
- /** Default retry policy matching the BRAIN specification. */
12
- export const DEFAULT_RETRY_POLICY = Object.freeze({
13
- maxRetries: 3,
14
- baseDelayMs: 1_000,
15
- maxDelayMs: 30_000,
16
- backoffMultiplier: 2,
17
- jitter: true,
18
- retryOnUnknown: true,
19
- });
20
- /**
21
- * Create a retry policy by merging overrides with the default policy.
22
- *
23
- * @remarks
24
- * Unspecified fields fall back to {@link DEFAULT_RETRY_POLICY}.
25
- *
26
- * @param overrides - Partial policy to merge with defaults
27
- * @returns A complete RetryPolicy
28
- *
29
- * @example
30
- * ```ts
31
- * const policy = createRetryPolicy({ maxRetries: 5 });
32
- * ```
33
- */
34
- export function createRetryPolicy(overrides) {
35
- return { ...DEFAULT_RETRY_POLICY, ...overrides };
36
- }
37
- /**
38
- * Calculate the delay for a given retry attempt using exponential backoff.
39
- *
40
- * @remarks
41
- * Formula: `min(baseDelay * multiplier^attempt, maxDelay) + jitter`.
42
- * Jitter adds 0-25% randomness to prevent thundering herd.
43
- *
44
- * @param attempt - Zero-based attempt index
45
- * @param policy - Retry policy with delay configuration
46
- * @returns Delay in milliseconds before the next attempt
47
- *
48
- * @example
49
- * ```ts
50
- * const delay = calculateDelay(1, createRetryPolicy());
51
- * // => ~2000ms (with jitter)
52
- * ```
53
- */
54
- export function calculateDelay(attempt, policy) {
55
- const exponentialDelay = policy.baseDelayMs * policy.backoffMultiplier ** attempt;
56
- const clampedDelay = Math.min(exponentialDelay, policy.maxDelayMs);
57
- if (!policy.jitter)
58
- return clampedDelay;
59
- // Add 0-25% jitter
60
- const jitterRange = clampedDelay * 0.25;
61
- const jitterValue = Math.random() * jitterRange;
62
- return Math.floor(clampedDelay + jitterValue);
63
- }
64
- /**
65
- * Determine whether an error should be retried based on its classification
66
- * and the retry policy.
67
- *
68
- * @remarks
69
- * Permanent errors are never retried. Retriable errors are always retried
70
- * (within attempt limits). Unknown errors defer to `policy.retryOnUnknown`.
71
- *
72
- * @param error - The caught error to classify
73
- * @param attempt - Current attempt number (0-based)
74
- * @param policy - Retry policy with limits and classification rules
75
- * @returns True if the error should be retried
76
- *
77
- * @example
78
- * ```ts
79
- * if (shouldRetry(err, attempt, policy)) { /* retry *\/ }
80
- * ```
81
- */
82
- export function shouldRetry(error, attempt, policy) {
83
- if (attempt >= policy.maxRetries)
84
- return false;
85
- const classification = classifyError(error);
86
- if (classification === 'permanent')
87
- return false;
88
- if (classification === 'retriable')
89
- return true;
90
- // 'unknown' classification -- policy determines behavior
91
- return policy.retryOnUnknown;
92
- }
93
- /**
94
- * Wrap an async function with retry logic using configurable exponential backoff.
95
- *
96
- * @remarks
97
- * Agent-specific variant that integrates with error classification from the
98
- * agent registry. For a dependency-free generic retry, use `lib/retry.ts`.
99
- *
100
- * @typeParam T - The resolved type of the async function
101
- * @param fn - The async function to execute with retries
102
- * @param policy - Retry policy (uses DEFAULT_RETRY_POLICY if not provided)
103
- * @returns The result of the operation with retry metadata
104
- *
105
- * @example
106
- * ```ts
107
- * const result = await withRetry(() => fetchAgentTask(agentId));
108
- * if (!result.success) console.error(result.error);
109
- * ```
110
- */
111
- export async function withRetry(fn, policy) {
112
- const effectivePolicy = createRetryPolicy(policy);
113
- const { withRetry: coreRetry } = await import('../lib/retry.js');
114
- let attemptCount = 0;
115
- try {
116
- const value = await coreRetry(async () => {
117
- attemptCount++;
118
- return fn();
119
- }, {
120
- maxAttempts: effectivePolicy.maxRetries + 1,
121
- baseDelayMs: effectivePolicy.baseDelayMs,
122
- maxDelayMs: effectivePolicy.maxDelayMs,
123
- retryableErrors: [(err) => shouldRetry(err, attemptCount - 1, effectivePolicy)],
124
- });
125
- return { success: true, value, attempts: attemptCount, totalDelayMs: 0 };
126
- }
127
- catch (err) {
128
- const error = err instanceof Error ? err : new Error(String(err));
129
- const context = err;
130
- return {
131
- success: false,
132
- error,
133
- attempts: attemptCount,
134
- totalDelayMs: context.totalDelayMs ?? 0,
135
- };
136
- }
137
- }
138
- /**
139
- * Attempt to recover crashed agents.
140
- *
141
- * Finds all agents with status 'crashed' and determines if they can be
142
- * restarted based on their error history. Agents whose last error was
143
- * classified as 'permanent' are abandoned. Agents with retriable errors
144
- * are reset to 'starting' for the orchestration layer to re-assign.
145
- *
146
- * @remarks
147
- * Two-phase process: first detects stale agents via heartbeat threshold,
148
- * then evaluates each crashed agent's error history for recoverability.
149
- *
150
- * @param thresholdMs - Heartbeat threshold for crash detection (default: 30000)
151
- * @param cwd - Working directory
152
- * @returns Recovery results for each crashed agent
153
- *
154
- * @example
155
- * ```ts
156
- * const results = await recoverCrashedAgents(60_000);
157
- * results.filter(r => r.recovered).forEach(r => console.log(r.agentId));
158
- * ```
159
- */
160
- export async function recoverCrashedAgents(thresholdMs = 30_000, cwd) {
161
- const results = [];
162
- // Step 1: detect stale agents and mark them crashed
163
- const staleAgents = await checkAgentHealth(thresholdMs, cwd);
164
- for (const agent of staleAgents) {
165
- await updateAgentStatus(agent.id, { status: 'crashed', error: 'Heartbeat timeout detected during recovery sweep' }, cwd);
166
- }
167
- // Step 2: process all crashed agents
168
- const crashedAgents = await listAgentInstances({ status: 'crashed' }, cwd);
169
- for (const agent of crashedAgents) {
170
- // Check error history to determine recovery action
171
- const { getAgentErrorHistory } = await import('./registry.js');
172
- const errors = await getAgentErrorHistory(agent.id, cwd);
173
- const lastError = errors.length > 0 ? errors[errors.length - 1] : null;
174
- // Too many errors -- abandon
175
- if (agent.errorCount >= 5) {
176
- await updateAgentStatus(agent.id, { status: 'stopped' }, cwd);
177
- results.push({
178
- agentId: agent.id,
179
- recovered: false,
180
- action: 'abandoned',
181
- reason: `Error count (${agent.errorCount}) exceeds threshold (5)`,
182
- });
183
- continue;
184
- }
185
- // Last error was permanent -- abandon
186
- if (lastError?.errorType === 'permanent') {
187
- await updateAgentStatus(agent.id, { status: 'stopped' }, cwd);
188
- results.push({
189
- agentId: agent.id,
190
- recovered: false,
191
- action: 'abandoned',
192
- reason: `Permanent error: ${lastError.message}`,
193
- });
194
- continue;
195
- }
196
- // Retriable or unknown -- attempt restart by resetting to 'starting'
197
- await updateAgentStatus(agent.id, { status: 'starting' }, cwd);
198
- results.push({
199
- agentId: agent.id,
200
- recovered: true,
201
- action: 'restarted',
202
- reason: 'Agent reset to starting for re-assignment',
203
- });
204
- }
205
- return results;
206
- }
207
- // ============================================================================
208
- // Utilities
209
- // ============================================================================
210
- //# sourceMappingURL=retry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/agents/retry.ts"],"names":[],"mappings":"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"}
@@ -1,94 +0,0 @@
1
- /**
2
- * Audit log pruning with optional archive-before-delete.
3
- *
4
- * Prunes audit_log rows older than a configurable retention period.
5
- * When archiveBeforePrune is enabled, exports prunable rows to
6
- * a gzip-compressed JSONL file before deletion.
7
- *
8
- * Never throws — logs warnings on failure. Safe for fire-and-forget
9
- * startup wiring.
10
- *
11
- * @task T5339
12
- */
13
- import { createWriteStream, mkdirSync } from 'node:fs';
14
- import { join } from 'node:path';
15
- import { Readable } from 'node:stream';
16
- import { pipeline } from 'node:stream/promises';
17
- import { createGzip } from 'node:zlib';
18
- import { getLogger } from './logger.js';
19
- const log = getLogger('prune');
20
- /**
21
- * Prune old audit_log rows from tasks.db.
22
- *
23
- * 1. If auditRetentionDays is 0 or undefined, skip age-based pruning.
24
- * 2. Compute cutoff timestamp from auditRetentionDays.
25
- * 3. If archiveBeforePrune, select rows older than cutoff and write to
26
- * .cleo/backups/logs/audit-YYYY-MM-DD.jsonl.gz.
27
- * 4. Delete rows older than cutoff from audit_log.
28
- *
29
- * Idempotent — safe to call multiple times.
30
- * Never throws — returns zero counts on any error.
31
- *
32
- * @param cleoDir - Absolute path to .cleo directory
33
- * @param config - LoggingConfig with auditRetentionDays and archiveBeforePrune
34
- */
35
- export async function pruneAuditLog(cleoDir, config) {
36
- try {
37
- if (!config.auditRetentionDays || config.auditRetentionDays <= 0) {
38
- log.debug('auditRetentionDays is 0 or unset; skipping audit prune');
39
- return { rowsArchived: 0, rowsDeleted: 0 };
40
- }
41
- const cutoff = new Date(Date.now() - config.auditRetentionDays * 86_400_000).toISOString();
42
- // Derive projectRoot from cleoDir (cleoDir = /path/to/project/.cleo)
43
- const projectRoot = join(cleoDir, '..');
44
- const { getDb } = await import('./store/sqlite.js');
45
- const { auditLog } = await import('./store/tasks-schema.js');
46
- const { lt } = await import('drizzle-orm');
47
- const db = await getDb(projectRoot);
48
- // Select rows to prune
49
- const oldRows = await db.select().from(auditLog).where(lt(auditLog.timestamp, cutoff));
50
- if (oldRows.length === 0) {
51
- log.debug('No audit_log rows older than cutoff; nothing to prune');
52
- return { rowsArchived: 0, rowsDeleted: 0 };
53
- }
54
- let archivePath;
55
- let rowsArchived = 0;
56
- // Archive before pruning (if enabled)
57
- if (config.archiveBeforePrune) {
58
- try {
59
- const archiveDir = join(cleoDir, 'backups', 'logs');
60
- mkdirSync(archiveDir, { recursive: true });
61
- const dateStamp = new Date().toISOString().slice(0, 10);
62
- archivePath = join(archiveDir, `audit-${dateStamp}.jsonl.gz`);
63
- // Build JSONL content: one JSON object per line
64
- const lines = oldRows.map((row) => JSON.stringify(row));
65
- const jsonlContent = lines.join('\n') + '\n';
66
- // Gzip compress and write via streaming pipeline
67
- const gzip = createGzip();
68
- const outStream = createWriteStream(archivePath);
69
- const inStream = Readable.from([jsonlContent]);
70
- await pipeline(inStream, gzip, outStream);
71
- rowsArchived = oldRows.length;
72
- log.info({ archivePath, rowsArchived }, `Archived ${rowsArchived} audit rows to ${archivePath}`);
73
- }
74
- catch (archiveErr) {
75
- // Archive failure must NOT prevent pruning — log and continue
76
- log.warn({ err: archiveErr }, 'Failed to archive audit rows; continuing with deletion');
77
- archivePath = undefined;
78
- }
79
- }
80
- // Delete prunable rows
81
- await db.delete(auditLog).where(lt(auditLog.timestamp, cutoff)).run();
82
- log.info({ rowsDeleted: oldRows.length, cutoff }, `Pruned ${oldRows.length} audit_log rows older than ${cutoff}`);
83
- return {
84
- rowsArchived,
85
- rowsDeleted: oldRows.length,
86
- archivePath,
87
- };
88
- }
89
- catch (err) {
90
- log.warn({ err }, 'audit log pruning failed');
91
- return { rowsArchived: 0, rowsDeleted: 0 };
92
- }
93
- }
94
- //# sourceMappingURL=audit-prune.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit-prune.js","sourceRoot":"","sources":["../src/audit-prune.ts"],"names":[],"mappings":"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"}
package/dist/audit.js DELETED
@@ -1,68 +0,0 @@
1
- /**
2
- * Core audit types and query functions.
3
- *
4
- * AuditEntry interface and queryAudit function moved here from
5
- * src/dispatch/middleware/audit.ts so core modules (session-grade.ts)
6
- * can use them without importing from the dispatch layer.
7
- *
8
- * @task T5715
9
- * @epic T5701
10
- */
11
- import { getLogger } from './logger.js';
12
- const log = getLogger('audit');
13
- /**
14
- * Query audit entries from SQLite audit_log table.
15
- * Used by session-grade.ts for behavioral analysis.
16
- *
17
- * Returns entries ordered chronologically (ASC) to preserve
18
- * behavioral sequence for grading analysis.
19
- */
20
- export async function queryAudit(options) {
21
- try {
22
- const { getDb } = await import('./store/sqlite.js');
23
- const { auditLog } = await import('./store/tasks-schema.js');
24
- const { and, eq, gte, or } = await import('drizzle-orm');
25
- const db = await getDb(process.cwd());
26
- const conditions = [];
27
- if (options?.sessionId)
28
- conditions.push(eq(auditLog.sessionId, options.sessionId));
29
- if (options?.domain)
30
- conditions.push(eq(auditLog.domain, options.domain));
31
- if (options?.operation)
32
- conditions.push(or(eq(auditLog.operation, options.operation), eq(auditLog.action, options.operation)));
33
- if (options?.taskId)
34
- conditions.push(eq(auditLog.taskId, options.taskId));
35
- if (options?.since)
36
- conditions.push(gte(auditLog.timestamp, options.since));
37
- const limit = options?.limit ?? 1000;
38
- const rows = await db
39
- .select()
40
- .from(auditLog)
41
- .where(conditions.length > 0 ? and(...conditions) : undefined)
42
- .orderBy(auditLog.timestamp)
43
- .limit(limit);
44
- return rows.map((row) => ({
45
- timestamp: row.timestamp,
46
- sessionId: row.sessionId,
47
- domain: row.domain ?? 'unknown',
48
- operation: row.operation ?? row.action,
49
- params: row.detailsJson ? JSON.parse(row.detailsJson) : {},
50
- result: {
51
- success: row.success === 1,
52
- exitCode: row.success === 1 ? 0 : 1,
53
- duration: row.durationMs ?? 0,
54
- },
55
- metadata: {
56
- taskId: row.taskId !== 'system' && row.taskId !== 'unknown' ? row.taskId : undefined,
57
- source: row.source ?? 'mcp',
58
- gateway: row.gateway,
59
- },
60
- error: row.errorMessage ?? undefined,
61
- }));
62
- }
63
- catch (err) {
64
- log.warn({ err }, 'Failed to query audit entries from SQLite');
65
- return [];
66
- }
67
- }
68
- //# sourceMappingURL=audit.js.map
package/dist/audit.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"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"}
@@ -1,229 +0,0 @@
1
- /**
2
- * Backfill module: retroactively add AC and verification metadata to
3
- * existing tasks that were created before T058 (AC enforcement) and
4
- * T061 (verification gate auto-init).
5
- *
6
- * Usage:
7
- * backfillTasks(root, { dryRun: true }) -- preview only
8
- * backfillTasks(root, {}) -- apply changes
9
- * backfillTasks(root, { rollback: true }) -- revert backfill
10
- *
11
- * @packageDocumentation
12
- * @epic T056
13
- * @task T066
14
- */
15
- import { getAccessor } from '../store/data-accessor.js';
16
- import { buildDefaultVerification } from '../tasks/add.js';
17
- // ---------------------------------------------------------------------------
18
- // AC generation (heuristic — no LLM)
19
- // ---------------------------------------------------------------------------
20
- /**
21
- * Generate 3 baseline acceptance criteria from a task description.
22
- * Uses simple text analysis — no LLM required.
23
- *
24
- * @remarks
25
- * Extracts action verbs from the title + description to produce contextually
26
- * relevant criteria. Falls back to generic criteria when no verbs match.
27
- *
28
- * @param title - The task title
29
- * @param description - The task description
30
- * @returns Array of 3 acceptance criteria strings
31
- *
32
- * @example
33
- * ```ts
34
- * generateAcFromDescription('Fix login bug', 'Users cannot log in');
35
- * // => ['The defect is resolved...', 'No breaking changes...', 'Changes verified...']
36
- * ```
37
- */
38
- export function generateAcFromDescription(title, description) {
39
- const text = `${title} ${description}`.toLowerCase();
40
- // Extract action verbs from the task description to build specific criteria
41
- const actionPatterns = [
42
- {
43
- pattern: /\b(implement|create|build|add|write)\b/,
44
- criterion: 'Implementation is complete and matches the described requirements',
45
- },
46
- {
47
- pattern: /\b(test|spec|verify|check|validate)\b/,
48
- criterion: 'All tests pass and edge cases are covered',
49
- },
50
- {
51
- pattern: /\b(fix|repair|resolve|patch|correct)\b/,
52
- criterion: 'The defect is resolved and does not regress',
53
- },
54
- {
55
- pattern: /\b(refactor|clean|reorganize|restructure)\b/,
56
- criterion: 'Refactoring does not change observable behaviour',
57
- },
58
- {
59
- pattern: /\b(document|doc|spec|describe)\b/,
60
- criterion: 'Documentation is accurate and complete',
61
- },
62
- {
63
- pattern: /\b(migrate|move|transfer|convert)\b/,
64
- criterion: 'Migration is complete and data integrity is preserved',
65
- },
66
- {
67
- pattern: /\b(update|upgrade|bump|change)\b/,
68
- criterion: 'Update is applied correctly with no breaking changes',
69
- },
70
- {
71
- pattern: /\b(delete|remove|drop|clean)\b/,
72
- criterion: 'Removal is complete and no orphaned references remain',
73
- },
74
- ];
75
- const specific = [];
76
- for (const { pattern, criterion } of actionPatterns) {
77
- if (pattern.test(text) && !specific.includes(criterion)) {
78
- specific.push(criterion);
79
- if (specific.length >= 1)
80
- break; // use the first match for a specific criterion
81
- }
82
- }
83
- // Always include two generic safety criteria
84
- const generic = [
85
- 'Implementation matches the task description with no unintended side effects',
86
- 'No breaking changes introduced to dependent code or workflows',
87
- 'Changes verified manually or via automated tests',
88
- ];
89
- // Merge: one specific (if found) + two generic, total 3
90
- if (specific.length > 0) {
91
- return [specific[0], generic[1], generic[2]];
92
- }
93
- return generic;
94
- }
95
- // ---------------------------------------------------------------------------
96
- // Rollback marker detection
97
- // ---------------------------------------------------------------------------
98
- const BACKFILL_NOTE_MARKER = '[T066-backfill]';
99
- function isBackfilledNote(note) {
100
- return note.includes(BACKFILL_NOTE_MARKER);
101
- }
102
- function isBackfilledTask(task) {
103
- return (task.notes ?? []).some(isBackfilledNote);
104
- }
105
- // ---------------------------------------------------------------------------
106
- // Core backfill logic
107
- // ---------------------------------------------------------------------------
108
- /**
109
- * Retroactively populate AC and verification metadata for tasks that lack them.
110
- *
111
- * @remarks
112
- * In dry-run mode, computes changes without writing to the database.
113
- * Backfilled tasks are tagged with a note so they can be identified and
114
- * optionally rolled back later.
115
- *
116
- * @param projectRoot - Project root directory (cwd for CLEO operations)
117
- * @param options - Backfill options (dryRun, rollback, taskIds)
118
- * @returns Summary of changes applied (or previewed in dry-run mode)
119
- *
120
- * @example
121
- * ```ts
122
- * const result = await backfillTasks('/my/project', { dryRun: true });
123
- * console.log(result.changed); // number of tasks that would be modified
124
- * ```
125
- */
126
- export async function backfillTasks(projectRoot, options = {}) {
127
- const { dryRun = false, rollback = false, taskIds } = options;
128
- const now = new Date().toISOString();
129
- const accessor = await getAccessor(projectRoot);
130
- const { tasks } = await accessor.queryTasks({});
131
- // Filter to requested task IDs (if supplied)
132
- const candidates = taskIds ? tasks.filter((t) => taskIds.includes(t.id)) : tasks;
133
- const changes = [];
134
- let acAdded = 0;
135
- let verificationAdded = 0;
136
- for (const task of candidates) {
137
- if (rollback) {
138
- // --- Rollback mode: undo what backfill added ---
139
- if (!isBackfilledTask(task))
140
- continue;
141
- const rolledBack = [];
142
- const updates = { updatedAt: now };
143
- // Remove backfill notes
144
- const cleanedNotes = (task.notes ?? []).filter((n) => !isBackfilledNote(n));
145
- if (cleanedNotes.length !== (task.notes ?? []).length) {
146
- updates.notesJson = JSON.stringify(cleanedNotes);
147
- rolledBack.push('note');
148
- }
149
- // If task has the backfill-generated AC marker in notes, we can infer the
150
- // AC was auto-generated. We clear it back to empty to revert.
151
- // NOTE: We only clear AC if it was added by backfill (the note marker is present).
152
- if ((task.acceptance ?? []).length > 0) {
153
- updates.acceptanceJson = JSON.stringify([]);
154
- rolledBack.push('ac');
155
- }
156
- // Clear verification if it was set by backfill
157
- if (task.verification) {
158
- updates.verificationJson = null;
159
- rolledBack.push('verification');
160
- }
161
- if (rolledBack.length > 0) {
162
- changes.push({
163
- taskId: task.id,
164
- title: task.title,
165
- addedAc: false,
166
- generatedAc: [],
167
- addedVerification: false,
168
- addedNote: false,
169
- rolledBack,
170
- });
171
- if (!dryRun) {
172
- await accessor.updateTaskFields(task.id, updates);
173
- }
174
- }
175
- continue;
176
- }
177
- // --- Forward mode: fill missing AC and verification ---
178
- const needsAc = !task.acceptance || task.acceptance.length === 0;
179
- const needsVerification = !task.verification;
180
- if (!needsAc && !needsVerification)
181
- continue;
182
- const change = {
183
- taskId: task.id,
184
- title: task.title,
185
- addedAc: false,
186
- generatedAc: [],
187
- addedVerification: false,
188
- addedNote: false,
189
- };
190
- const updates = { updatedAt: now };
191
- if (needsAc) {
192
- const generated = generateAcFromDescription(task.title, task.description ?? '');
193
- updates.acceptanceJson = JSON.stringify(generated);
194
- change.addedAc = true;
195
- change.generatedAc = generated;
196
- acAdded++;
197
- }
198
- if (needsVerification) {
199
- const verification = buildDefaultVerification(now);
200
- updates.verificationJson = JSON.stringify(verification);
201
- change.addedVerification = true;
202
- verificationAdded++;
203
- }
204
- // Add a backfill note so rollback can identify what was changed
205
- const existingNotes = task.notes ?? [];
206
- const backfillNote = `${BACKFILL_NOTE_MARKER} auto-backfilled at ${now}: ${[
207
- needsAc ? 'ac' : null,
208
- needsVerification ? 'verification' : null,
209
- ]
210
- .filter(Boolean)
211
- .join(', ')}`;
212
- updates.notesJson = JSON.stringify([...existingNotes, backfillNote]);
213
- change.addedNote = true;
214
- changes.push(change);
215
- if (!dryRun) {
216
- await accessor.updateTaskFields(task.id, updates);
217
- }
218
- }
219
- return {
220
- dryRun,
221
- rollback,
222
- tasksScanned: candidates.length,
223
- tasksChanged: changes.length,
224
- acAdded: rollback ? 0 : acAdded,
225
- verificationAdded: rollback ? 0 : verificationAdded,
226
- changes,
227
- };
228
- }
229
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backfill/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAuC3D,8EAA8E;AAC9E,qCAAqC;AACrC,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAa,EAAE,WAAmB;IAC1E,MAAM,IAAI,GAAG,GAAG,KAAK,IAAI,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC;IAErD,4EAA4E;IAC5E,MAAM,cAAc,GAAkD;QACpE;YACE,OAAO,EAAE,wCAAwC;YACjD,SAAS,EAAE,mEAAmE;SAC/E;QACD;YACE,OAAO,EAAE,uCAAuC;YAChD,SAAS,EAAE,2CAA2C;SACvD;QACD;YACE,OAAO,EAAE,wCAAwC;YACjD,SAAS,EAAE,6CAA6C;SACzD;QACD;YACE,OAAO,EAAE,6CAA6C;YACtD,SAAS,EAAE,kDAAkD;SAC9D;QACD;YACE,OAAO,EAAE,kCAAkC;YAC3C,SAAS,EAAE,wCAAwC;SACpD;QACD;YACE,OAAO,EAAE,qCAAqC;YAC9C,SAAS,EAAE,uDAAuD;SACnE;QACD;YACE,OAAO,EAAE,kCAAkC;YAC3C,SAAS,EAAE,sDAAsD;SAClE;QACD;YACE,OAAO,EAAE,gCAAgC;YACzC,SAAS,EAAE,uDAAuD;SACnE;KACF,CAAC;IAEF,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,cAAc,EAAE,CAAC;QACpD,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACxD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzB,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC;gBAAE,MAAM,CAAC,+CAA+C;QAClF,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,MAAM,OAAO,GAAG;QACd,6EAA6E;QAC7E,+DAA+D;QAC/D,kDAAkD;KACnD,CAAC;IAEF,wDAAwD;IACxD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,OAAO,CAAC,CAAC,CAAE,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AAE/C,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAU;IAClC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACnD,CAAC;AAED,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAmB,EACnB,UAA2B,EAAE;IAE7B,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC9D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAEhD,6CAA6C;IAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEjF,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAE1B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,QAAQ,EAAE,CAAC;YACb,kDAAkD;YAClD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBAAE,SAAS;YAEtC,MAAM,UAAU,GAAa,EAAE,CAAC;YAChC,MAAM,OAAO,GAIT,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;YAEvB,wBAAwB;YACxB,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;gBACtD,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;gBACjD,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;YAED,0EAA0E;YAC1E,8DAA8D;YAC9D,mFAAmF;YACnF,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC5C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;YAED,+CAA+C;YAC/C,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAChC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,CAAC;YAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC;oBACX,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,OAAO,EAAE,KAAK;oBACd,WAAW,EAAE,EAAE;oBACf,iBAAiB,EAAE,KAAK;oBACxB,SAAS,EAAE,KAAK;oBAChB,UAAU;iBACX,CAAC,CAAC;gBAEH,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YAED,SAAS;QACX,CAAC;QAED,yDAAyD;QACzD,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;QACjE,MAAM,iBAAiB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;QAE7C,IAAI,CAAC,OAAO,IAAI,CAAC,iBAAiB;YAAE,SAAS;QAE7C,MAAM,MAAM,GAAuB;YACjC,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,EAAE;YACf,iBAAiB,EAAE,KAAK;YACxB,SAAS,EAAE,KAAK;SACjB,CAAC;QAEF,MAAM,OAAO,GAIT,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;QAEvB,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,SAAS,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YAChF,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACnD,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YACtB,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC;YAC/B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,YAAY,GAAqB,wBAAwB,CAAC,GAAG,CAAC,CAAC;YACrE,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YACxD,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAChC,iBAAiB,EAAE,CAAC;QACtB,CAAC;QAED,gEAAgE;QAChE,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACvC,MAAM,YAAY,GAAG,GAAG,oBAAoB,uBAAuB,GAAG,KAAK;YACzE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YACrB,iBAAiB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI;SAC1C;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;QACrE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;QAExB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM;QACN,QAAQ;QACR,YAAY,EAAE,UAAU,CAAC,MAAM;QAC/B,YAAY,EAAE,OAAO,CAAC,MAAM;QAC5B,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;QAC/B,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB;QACnD,OAAO;KACR,CAAC;AACJ,CAAC"}