@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,26 +0,0 @@
1
- /**
2
- * DataAccessor re-export + factory functions.
3
- *
4
- * The DataAccessor interface is defined in @cleocode/contracts.
5
- * This module re-exports it and provides the concrete SQLite factory.
6
- *
7
- * @epic T4454
8
- */
9
- /**
10
- * Create a DataAccessor for the given working directory.
11
- * Always creates a SQLite accessor (ADR-006 canonical storage).
12
- *
13
- * ALL accessors returned are safety-enabled by default via SafetyDataAccessor wrapper.
14
- * Use CLEO_DISABLE_SAFETY=true to bypass (emergency only).
15
- */
16
- export async function createDataAccessor(_engine, cwd) {
17
- const { createSqliteDataAccessor } = await import('./sqlite-data-accessor.js');
18
- const inner = await createSqliteDataAccessor(cwd);
19
- const { wrapWithSafety } = await import('./safety-data-accessor.js');
20
- return wrapWithSafety(inner, cwd);
21
- }
22
- /** Convenience: get a DataAccessor with auto-detected engine. */
23
- export async function getAccessor(cwd) {
24
- return createDataAccessor(undefined, cwd);
25
- }
26
- //# sourceMappingURL=data-accessor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-accessor.js","sourceRoot":"","sources":["../../src/store/data-accessor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAkB,EAClB,GAAY;IAEZ,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAC/E,MAAM,KAAK,GAAG,MAAM,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAElD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACrE,OAAO,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,iEAAiE;AACjE,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,GAAY;IAEZ,OAAO,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC"}
@@ -1,269 +0,0 @@
1
- /**
2
- * Centralized Data Safety Manager
3
- *
4
- * SINGLE POINT OF SAFETY for ALL CLEO data operations.
5
- *
6
- * Design Principles:
7
- * - All data operations MUST flow through this layer
8
- * - Zero-config safety: works automatically for all callers
9
- * - Atomic operations: verify + checkpoint + log in single transaction
10
- * - Recoverable: every operation leaves system in valid state
11
- *
12
- * This eliminates the need for wrapper functions and ensures safety
13
- * at the architectural level, not as an afterthought.
14
- *
15
- * @task T4739
16
- * @epic T4732
17
- */
18
- import { getLogger } from '../logger.js';
19
- import { checkSequence, repairSequence } from '../sequence/index.js';
20
- import { gitCheckpoint } from './git-checkpoint.js';
21
- import { vacuumIntoBackup } from './sqlite-backup.js';
22
- const log = getLogger('data-safety');
23
- /** Safety violation error */
24
- export class DataSafetyError extends Error {
25
- code;
26
- context;
27
- constructor(message, code, context) {
28
- super(message);
29
- this.code = code;
30
- this.context = context;
31
- this.name = 'DataSafetyError';
32
- }
33
- }
34
- const DEFAULT_SAFETY = {
35
- verify: true,
36
- checkpoint: true,
37
- validateSequence: true,
38
- strict: true,
39
- };
40
- const stats = {
41
- writes: 0,
42
- verifications: 0,
43
- checkpoints: 0,
44
- errors: 0,
45
- lastCheckpoint: null,
46
- };
47
- /** Get current safety statistics */
48
- export function getSafetyStats() {
49
- return { ...stats };
50
- }
51
- /** Reset safety statistics (for testing) */
52
- export function resetSafetyStats() {
53
- stats.writes = 0;
54
- stats.verifications = 0;
55
- stats.checkpoints = 0;
56
- stats.errors = 0;
57
- stats.lastCheckpoint = null;
58
- }
59
- /**
60
- * Verify sequence integrity before write.
61
- * Auto-repairs if sequence is behind database.
62
- */
63
- async function ensureSequenceValid(cwd, options) {
64
- if (!options?.validateSequence)
65
- return;
66
- const check = await checkSequence(cwd);
67
- if (!check.valid) {
68
- log.warn({ counter: check.counter, maxId: check.maxIdInData }, 'Sequence behind, repairing');
69
- const repair = await repairSequence(cwd);
70
- if (!repair.repaired && options.strict) {
71
- throw new DataSafetyError(`Sequence repair failed: ${repair.message}`, 'SEQUENCE_INVALID', {
72
- check,
73
- repair,
74
- });
75
- }
76
- }
77
- }
78
- /**
79
- * Create a checkpoint after successful write.
80
- * Non-blocking - failures are logged but don't fail the operation.
81
- */
82
- async function checkpoint(context, cwd, options) {
83
- if (!options?.checkpoint)
84
- return;
85
- try {
86
- await gitCheckpoint('auto', context, cwd);
87
- stats.checkpoints++;
88
- stats.lastCheckpoint = new Date();
89
- }
90
- catch (err) {
91
- // Checkpoint failures are non-fatal but logged
92
- log.warn({ err }, 'Checkpoint failed (non-fatal)');
93
- }
94
- vacuumIntoBackup({ cwd }).catch(() => { }); // non-fatal SQLite snapshot
95
- }
96
- /**
97
- * Verify sessions were written correctly.
98
- */
99
- async function verifySessions(data, accessor, options) {
100
- if (!options?.verify)
101
- return;
102
- stats.verifications++;
103
- const readBack = await accessor.loadSessions();
104
- if (readBack.length !== data.length) {
105
- throw new DataSafetyError(`Sessions verification failed: count mismatch. Expected ${data.length}, got ${readBack.length}`, 'VERIFICATION_FAILED', { expected: data.length, actual: readBack.length });
106
- }
107
- }
108
- /**
109
- * Verify ArchiveFile was written correctly.
110
- */
111
- async function verifyArchiveFile(data, accessor, options) {
112
- if (!options?.verify)
113
- return;
114
- stats.verifications++;
115
- const readBack = await accessor.loadArchive();
116
- if (!readBack) {
117
- throw new DataSafetyError('ArchiveFile verification failed: file not found after write', 'VERIFICATION_FAILED');
118
- }
119
- if (readBack.archivedTasks.length !== data.archivedTasks.length) {
120
- throw new DataSafetyError(`ArchiveFile verification failed: count mismatch. Expected ${data.archivedTasks.length}, got ${readBack.archivedTasks.length}`, 'VERIFICATION_FAILED', { expected: data.archivedTasks.length, actual: readBack.archivedTasks.length });
121
- }
122
- }
123
- /**
124
- * Safe wrapper for DataAccessor.saveSessions()
125
- */
126
- export async function safeSaveSessions(accessor, data, cwd, options) {
127
- const opts = { ...DEFAULT_SAFETY, ...options };
128
- await accessor.saveSessions(data);
129
- stats.writes++;
130
- await verifySessions(data, accessor, opts);
131
- await checkpoint(`saved Sessions (${data.length} sessions)`, cwd, opts);
132
- }
133
- /**
134
- * Safe wrapper for DataAccessor.saveArchive()
135
- */
136
- export async function safeSaveArchive(accessor, data, cwd, options) {
137
- const opts = { ...DEFAULT_SAFETY, ...options };
138
- await accessor.saveArchive(data);
139
- stats.writes++;
140
- await verifyArchiveFile(data, accessor, opts);
141
- await checkpoint(`saved Archive (${data.archivedTasks.length} tasks)`, cwd, opts);
142
- }
143
- /**
144
- * Safe wrapper for single-task write operations (T5034).
145
- *
146
- * Performs:
147
- * 1. Sequence validation
148
- * 2. Write operation (caller-provided function)
149
- * 3. Git checkpoint
150
- *
151
- * Verification is lightweight — no full-file read-back. The write
152
- * itself is a targeted SQL operation that either succeeds or throws.
153
- */
154
- export async function safeSingleTaskWrite(_accessor, taskId, writeFn, cwd, options) {
155
- const opts = { ...DEFAULT_SAFETY, ...options };
156
- // 1. Validate sequence
157
- await ensureSequenceValid(cwd, opts);
158
- // 2. Perform targeted write
159
- await writeFn();
160
- stats.writes++;
161
- // 3. Checkpoint (lightweight — no full-file verify)
162
- await checkpoint(`single-task ${taskId}`, cwd, opts);
163
- }
164
- /**
165
- * Safe wrapper for DataAccessor.appendLog()
166
- *
167
- * Note: Log appends are fire-and-forget (no verification)
168
- * but we still checkpoint to ensure data is committed.
169
- */
170
- export async function safeAppendLog(accessor, entry, cwd, options) {
171
- const opts = { ...DEFAULT_SAFETY, ...options, verify: false }; // Logs don't need verification
172
- await accessor.appendLog(entry);
173
- stats.writes++;
174
- await checkpoint('log entry', cwd, opts);
175
- }
176
- /**
177
- * Run comprehensive data integrity check.
178
- * Validates all data files and sequence consistency.
179
- */
180
- export async function runDataIntegrityCheck(accessor, cwd) {
181
- const errors = [];
182
- const warnings = [];
183
- // 1. Check sequence
184
- try {
185
- const seqCheck = await checkSequence(cwd);
186
- if (!seqCheck.valid) {
187
- errors.push(`Sequence invalid: counter=${seqCheck.counter}, maxId=T${seqCheck.maxIdInData}`);
188
- // Try to repair
189
- const repair = await repairSequence(cwd);
190
- if (repair.repaired) {
191
- warnings.push(`Auto-repaired sequence: ${repair.oldCounter} -> ${repair.newCounter}`);
192
- }
193
- else {
194
- errors.push('Sequence auto-repair failed');
195
- }
196
- }
197
- }
198
- catch (err) {
199
- errors.push(`Sequence check failed: ${String(err)}`);
200
- }
201
- // 2. Verify task data can be queried
202
- try {
203
- const count = await accessor.countTasks();
204
- if (count < 0) {
205
- errors.push('Task count returned negative value');
206
- }
207
- }
208
- catch (err) {
209
- errors.push(`Task data query failed: ${String(err)}`);
210
- }
211
- try {
212
- const sessions = await accessor.loadSessions();
213
- if (!Array.isArray(sessions)) {
214
- errors.push('Sessions data is not an array');
215
- }
216
- }
217
- catch (err) {
218
- errors.push(`Sessions load failed: ${String(err)}`);
219
- }
220
- // 3. Check for checkpoint recency
221
- if (stats.lastCheckpoint) {
222
- const minutesSinceCheckpoint = (Date.now() - stats.lastCheckpoint.getTime()) / 60000;
223
- if (minutesSinceCheckpoint > 60) {
224
- warnings.push(`Last checkpoint was ${Math.round(minutesSinceCheckpoint)} minutes ago`);
225
- }
226
- }
227
- return {
228
- passed: errors.length === 0,
229
- errors,
230
- warnings,
231
- stats: getSafetyStats(),
232
- };
233
- }
234
- /**
235
- * Force immediate checkpoint.
236
- * Use before destructive operations.
237
- */
238
- export async function forceSafetyCheckpoint(context, cwd) {
239
- log.info({ context }, 'Forcing checkpoint');
240
- await gitCheckpoint('manual', context, cwd);
241
- vacuumIntoBackup({ cwd, force: true }).catch(() => { }); // non-fatal SQLite snapshot
242
- }
243
- /**
244
- * Disable all safety for current process.
245
- * DANGEROUS - only use for recovery operations.
246
- */
247
- export function disableSafety() {
248
- log.warn('All safety checks disabled - emergency recovery mode');
249
- // Set all safety options to false
250
- Object.assign(DEFAULT_SAFETY, {
251
- verify: false,
252
- checkpoint: false,
253
- validateSequence: false,
254
- strict: false,
255
- });
256
- }
257
- /**
258
- * Re-enable safety after being disabled.
259
- */
260
- export function enableSafety() {
261
- log.info('Safety checks re-enabled');
262
- Object.assign(DEFAULT_SAFETY, {
263
- verify: true,
264
- checkpoint: true,
265
- validateSequence: true,
266
- strict: true,
267
- });
268
- }
269
- //# sourceMappingURL=data-safety-central.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-safety-central.js","sourceRoot":"","sources":["../../src/store/data-safety-central.ts"],"names":[],"mappings":"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"}
@@ -1,274 +0,0 @@
1
- /**
2
- * Data Safety Module - Critical protection layer for CLEO data operations.
3
- *
4
- * Implements:
5
- * - Write verification (verify data was actually persisted)
6
- * - Collision detection (prevent duplicate task IDs)
7
- * - Sequence validation (ensure sequence counter matches database)
8
- * - Auto-checkpoint integration (git commit after writes)
9
- *
10
- * @task T4739
11
- * @epic T4732
12
- */
13
- import { eq } from 'drizzle-orm';
14
- import { getLogger } from '../logger.js';
15
- import { checkSequence, repairSequence } from '../sequence/index.js';
16
- import { gitCheckpoint } from './git-checkpoint.js';
17
- import { getDb } from './sqlite.js';
18
- import { vacuumIntoBackup } from './sqlite-backup.js';
19
- import * as schema from './tasks-schema.js';
20
- const log = getLogger('data-safety');
21
- const DEFAULT_CONFIG = {
22
- verifyWrites: true,
23
- detectCollisions: true,
24
- validateSequence: true,
25
- autoCheckpoint: true,
26
- strictMode: true,
27
- };
28
- /** Safety violation error. */
29
- export class SafetyError extends Error {
30
- code;
31
- details;
32
- constructor(message, code, details) {
33
- super(message);
34
- this.code = code;
35
- this.details = details;
36
- this.name = 'SafetyError';
37
- }
38
- }
39
- /**
40
- * Check if a task ID already exists (collision detection).
41
- * @throws SafetyError if task exists and strict mode is enabled
42
- */
43
- export async function checkTaskExists(taskId, cwd, config = {}) {
44
- const cfg = { ...DEFAULT_CONFIG, ...config };
45
- if (!cfg.detectCollisions)
46
- return false;
47
- const db = await getDb(cwd);
48
- const existing = await db.select().from(schema.tasks).where(eq(schema.tasks.id, taskId)).all();
49
- const exists = existing.length > 0;
50
- if (exists && cfg.strictMode) {
51
- throw new SafetyError(`Task ID collision detected: ${taskId} already exists`, 'COLLISION_DETECTED', { taskId, existingTask: existing[0] });
52
- }
53
- return exists;
54
- }
55
- /**
56
- * Verify a task was actually written to the database.
57
- * @throws SafetyError if verification fails
58
- */
59
- export async function verifyTaskWrite(taskId, expectedData, cwd, config = {}) {
60
- const cfg = { ...DEFAULT_CONFIG, ...config };
61
- if (!cfg.verifyWrites)
62
- return true;
63
- const db = await getDb(cwd);
64
- const rows = await db.select().from(schema.tasks).where(eq(schema.tasks.id, taskId)).all();
65
- if (rows.length === 0) {
66
- if (cfg.strictMode) {
67
- throw new SafetyError(`Write verification failed: Task ${taskId} not found after write`, 'WRITE_VERIFICATION_FAILED', { taskId });
68
- }
69
- return false;
70
- }
71
- // Verify expected data if provided
72
- if (expectedData) {
73
- const row = rows[0];
74
- for (const [key, value] of Object.entries(expectedData)) {
75
- if (value !== undefined && row[key] !== value) {
76
- if (cfg.strictMode) {
77
- throw new SafetyError(`Write verification failed: Task ${taskId} field ${key} mismatch`, 'WRITE_VERIFICATION_MISMATCH', { taskId, field: key, expected: value, actual: row[key] });
78
- }
79
- return false;
80
- }
81
- }
82
- }
83
- return true;
84
- }
85
- /**
86
- * Validate and repair sequence if necessary.
87
- * @returns true if sequence was valid or successfully repaired
88
- */
89
- export async function validateAndRepairSequence(cwd, config = {}) {
90
- const cfg = { ...DEFAULT_CONFIG, ...config };
91
- if (!cfg.validateSequence)
92
- return { valid: true, repaired: false };
93
- try {
94
- const check = await checkSequence(cwd);
95
- if (check.valid) {
96
- return { valid: true, repaired: false };
97
- }
98
- // Sequence is behind, repair it
99
- const repair = await repairSequence(cwd);
100
- if (repair.repaired) {
101
- log.warn({ oldCounter: repair.oldCounter, newCounter: repair.newCounter }, 'Sequence repaired');
102
- return {
103
- valid: true,
104
- repaired: true,
105
- oldCounter: repair.oldCounter,
106
- newCounter: repair.newCounter,
107
- };
108
- }
109
- // repairSequence returning repaired:false means "already valid, nothing to do"
110
- return { valid: true, repaired: false };
111
- }
112
- catch (err) {
113
- if (cfg.strictMode) {
114
- throw new SafetyError(`Sequence validation failed: ${String(err)}`, 'SEQUENCE_VALIDATION_FAILED', { error: String(err) });
115
- }
116
- return { valid: false, repaired: false };
117
- }
118
- }
119
- /**
120
- * Trigger auto-checkpoint after successful write.
121
- */
122
- export async function triggerCheckpoint(context, cwd, config = {}) {
123
- const cfg = { ...DEFAULT_CONFIG, ...config };
124
- if (!cfg.autoCheckpoint)
125
- return;
126
- try {
127
- await gitCheckpoint('auto', context, cwd);
128
- }
129
- catch (err) {
130
- // Checkpoint failures are non-fatal but should be logged
131
- log.warn({ err }, 'Checkpoint failed (non-fatal)');
132
- }
133
- vacuumIntoBackup({ cwd }).catch(() => { }); // non-fatal SQLite snapshot
134
- }
135
- /**
136
- * Safely create a task with all safety mechanisms.
137
- * Wraps the actual createTask operation.
138
- */
139
- export async function safeCreateTask(createFn, task, cwd, config = {}) {
140
- const cfg = { ...DEFAULT_CONFIG, ...config };
141
- // 1. Validate sequence before creation
142
- if (cfg.validateSequence) {
143
- await validateAndRepairSequence(cwd, config);
144
- }
145
- // 2. Check for collisions
146
- if (cfg.detectCollisions) {
147
- await checkTaskExists(task.id, cwd, config);
148
- }
149
- // 3. Perform the actual creation
150
- const result = await createFn();
151
- // 4. Trigger checkpoint
152
- if (cfg.autoCheckpoint) {
153
- await triggerCheckpoint(`created ${task.id}`, cwd, config);
154
- }
155
- return result;
156
- }
157
- /**
158
- * Safely update a task with all safety mechanisms.
159
- */
160
- export async function safeUpdateTask(updateFn, taskId, _updates, cwd, config = {}) {
161
- const cfg = { ...DEFAULT_CONFIG, ...config };
162
- // 1. Perform the actual update
163
- const result = await updateFn();
164
- if (!result)
165
- return null;
166
- // 2. Trigger checkpoint
167
- if (cfg.autoCheckpoint) {
168
- await triggerCheckpoint(`updated ${taskId}`, cwd, config);
169
- }
170
- return result;
171
- }
172
- /**
173
- * Safely delete a task with all safety mechanisms.
174
- */
175
- export async function safeDeleteTask(deleteFn, taskId, cwd, config = {}) {
176
- const cfg = { ...DEFAULT_CONFIG, ...config };
177
- // 1. Perform the actual deletion
178
- const result = await deleteFn();
179
- if (!result)
180
- return false;
181
- // 2. Trigger checkpoint
182
- if (cfg.autoCheckpoint) {
183
- await triggerCheckpoint(`deleted ${taskId}`, cwd, config);
184
- }
185
- return result;
186
- }
187
- /**
188
- * Verify session write.
189
- */
190
- export async function verifySessionWrite(sessionId, cwd, config = {}) {
191
- const cfg = { ...DEFAULT_CONFIG, ...config };
192
- if (!cfg.verifyWrites)
193
- return true;
194
- const db = await getDb(cwd);
195
- const rows = await db
196
- .select()
197
- .from(schema.sessions)
198
- .where(eq(schema.sessions.id, sessionId))
199
- .all();
200
- if (rows.length === 0) {
201
- if (cfg.strictMode) {
202
- throw new SafetyError(`Write verification failed: Session ${sessionId} not found after write`, 'SESSION_WRITE_VERIFICATION_FAILED', { sessionId });
203
- }
204
- return false;
205
- }
206
- return true;
207
- }
208
- /**
209
- * Safely create a session with all safety mechanisms.
210
- */
211
- export async function safeCreateSession(createFn, session, cwd, config = {}) {
212
- const cfg = { ...DEFAULT_CONFIG, ...config };
213
- // 1. Perform the actual creation
214
- const result = await createFn();
215
- // 2. Verify the write
216
- if (cfg.verifyWrites) {
217
- await verifySessionWrite(session.id, cwd, config);
218
- }
219
- // 3. Trigger checkpoint
220
- if (cfg.autoCheckpoint) {
221
- await triggerCheckpoint(`session ${session.id} started`, cwd, config);
222
- }
223
- return result;
224
- }
225
- /**
226
- * Force a checkpoint before destructive operations.
227
- * Use this before migrations, bulk updates, etc.
228
- */
229
- export async function forceCheckpointBeforeOperation(operation, cwd) {
230
- log.info({ operation }, 'Forcing checkpoint before operation');
231
- try {
232
- await gitCheckpoint('manual', `pre-${operation}`, cwd);
233
- }
234
- catch (err) {
235
- log.error({ err }, 'Failed to create pre-operation checkpoint');
236
- // Don't throw - checkpoint failures shouldn't block operations
237
- }
238
- vacuumIntoBackup({ cwd, force: true }).catch(() => { }); // non-fatal SQLite snapshot
239
- }
240
- /**
241
- * Run comprehensive data integrity check.
242
- * Reports all issues found.
243
- */
244
- export async function runDataIntegrityCheck(cwd) {
245
- const issues = [];
246
- const repairs = [];
247
- // 1. Check sequence
248
- try {
249
- const seqCheck = await checkSequence(cwd);
250
- if (!seqCheck.valid) {
251
- issues.push(`Sequence invalid: counter ${seqCheck.counter} < max ID T${seqCheck.maxIdInData}`);
252
- // Auto-repair
253
- const repair = await repairSequence(cwd);
254
- if (repair.repaired) {
255
- repairs.push(`Sequence repaired: ${repair.oldCounter} -> ${repair.newCounter}`);
256
- }
257
- else {
258
- issues.push('Sequence repair failed');
259
- }
260
- }
261
- }
262
- catch (err) {
263
- issues.push(`Sequence check failed: ${String(err)}`);
264
- }
265
- // 2. Check for ghost entries (would need to compare structured audit log with database)
266
- // This is a complex check that would require loading the entire log
267
- // For now, we skip this but document it as needed
268
- return {
269
- passed: issues.length === repairs.length,
270
- issues,
271
- repairs,
272
- };
273
- }
274
- //# sourceMappingURL=data-safety.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-safety.js","sourceRoot":"","sources":["../../src/store/data-safety.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C,MAAM,GAAG,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;AAgBrC,MAAM,cAAc,GAAiB;IACnC,YAAY,EAAE,IAAI;IAClB,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,IAAI;IACtB,cAAc,EAAE,IAAI;IACpB,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF,8BAA8B;AAC9B,MAAM,OAAO,WAAY,SAAQ,KAAK;IAG3B;IACA;IAHT,YACE,OAAe,EACR,IAAY,EACZ,OAAiC;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAA0B;QAGxC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAc,EACd,GAAY,EACZ,SAAgC,EAAE;IAElC,MAAM,GAAG,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IAE7C,IAAI,CAAC,GAAG,CAAC,gBAAgB;QAAE,OAAO,KAAK,CAAC;IAExC,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IAE/F,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAEnC,IAAI,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,IAAI,WAAW,CACnB,+BAA+B,MAAM,iBAAiB,EACtD,oBAAoB,EACpB,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CACtC,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAc,EACd,YAA4B,EAC5B,GAAY,EACZ,SAAgC,EAAE;IAElC,MAAM,GAAG,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IAE7C,IAAI,CAAC,GAAG,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAEnC,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IAE3F,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACnB,MAAM,IAAI,WAAW,CACnB,mCAAmC,MAAM,wBAAwB,EACjE,2BAA2B,EAC3B,EAAE,MAAM,EAAE,CACX,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mCAAmC;IACnC,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACrB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACxD,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,GAAuB,CAAC,KAAK,KAAK,EAAE,CAAC;gBAClE,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;oBACnB,MAAM,IAAI,WAAW,CACnB,mCAAmC,MAAM,UAAU,GAAG,WAAW,EACjE,6BAA6B,EAC7B,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,GAAuB,CAAC,EAAE,CAC9E,CAAC;gBACJ,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,GAAY,EACZ,SAAgC,EAAE;IAElC,MAAM,GAAG,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IAE7C,IAAI,CAAC,GAAG,CAAC,gBAAgB;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAEnE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;QAEvC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC1C,CAAC;QAED,gCAAgC;QAChC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;QAEzC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,GAAG,CAAC,IAAI,CACN,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,EAChE,mBAAmB,CACpB,CAAC;YACF,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC;QACJ,CAAC;QAED,+EAA+E;QAC/E,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACnB,MAAM,IAAI,WAAW,CACnB,+BAA+B,MAAM,CAAC,GAAG,CAAC,EAAE,EAC5C,4BAA4B,EAC5B,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CACvB,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC3C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAe,EACf,GAAY,EACZ,SAAgC,EAAE;IAElC,MAAM,GAAG,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IAE7C,IAAI,CAAC,GAAG,CAAC,cAAc;QAAE,OAAO;IAEhC,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,yDAAyD;QACzD,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,+BAA+B,CAAC,CAAC;IACrD,CAAC;IAED,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,4BAA4B;AACzE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAA6B,EAC7B,IAAU,EACV,GAAY,EACZ,SAAgC,EAAE;IAElC,MAAM,GAAG,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IAE7C,uCAAuC;IACvC,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzB,MAAM,yBAAyB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,0BAA0B;IAC1B,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzB,MAAM,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,iCAAiC;IACjC,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;IAEhC,wBAAwB;IACxB,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,iBAAiB,CAAC,WAAW,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAoC,EACpC,MAAc,EACd,QAAuB,EACvB,GAAY,EACZ,SAAgC,EAAE;IAElC,MAAM,GAAG,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IAE7C,+BAA+B;IAC/B,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;IAEhC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,wBAAwB;IACxB,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,iBAAiB,CAAC,WAAW,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAgC,EAChC,MAAc,EACd,GAAY,EACZ,SAAgC,EAAE;IAElC,MAAM,GAAG,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IAE7C,iCAAiC;IACjC,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;IAEhC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAE1B,wBAAwB;IACxB,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,iBAAiB,CAAC,WAAW,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAiB,EACjB,GAAY,EACZ,SAAgC,EAAE;IAElC,MAAM,GAAG,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IAE7C,IAAI,CAAC,GAAG,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAEnC,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,EAAE;SAClB,MAAM,EAAE;SACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;SACrB,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;SACxC,GAAG,EAAE,CAAC;IAET,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACnB,MAAM,IAAI,WAAW,CACnB,sCAAsC,SAAS,wBAAwB,EACvE,mCAAmC,EACnC,EAAE,SAAS,EAAE,CACd,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAgC,EAChC,OAAgB,EAChB,GAAY,EACZ,SAAgC,EAAE;IAElC,MAAM,GAAG,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IAE7C,iCAAiC;IACjC,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;IAEhC,sBAAsB;IACtB,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QACrB,MAAM,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,wBAAwB;IACxB,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,iBAAiB,CAAC,WAAW,OAAO,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,SAAiB,EACjB,GAAY;IAEZ,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,qCAAqC,CAAC,CAAC;IAE/D,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,QAAQ,EAAE,OAAO,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,2CAA2C,CAAC,CAAC;QAChE,+DAA+D;IACjE,CAAC;IAED,gBAAgB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,4BAA4B;AACtF,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAY;IAKtD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,oBAAoB;IACpB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CACT,6BAA6B,QAAQ,CAAC,OAAO,cAAc,QAAQ,CAAC,WAAW,EAAE,CAClF,CAAC;YAEF,cAAc;YACd,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,UAAU,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAClF,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,wFAAwF;IACxF,oEAAoE;IACpE,kDAAkD;IAElD,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;QACxC,MAAM;QACN,OAAO;KACR,CAAC;AACJ,CAAC"}