pi-harness-runtime 0.10.43 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (777) hide show
  1. package/harness/e2e/chatgpt-quota-scraper.ts +478 -0
  2. package/harness/e2e/glm-quota-scraper.ts +449 -0
  3. package/index.ts +2 -0
  4. package/package.json +1 -1
  5. package/packages/a2a-adapter/README.md +35 -0
  6. package/packages/a2a-adapter/package.json +21 -0
  7. package/packages/a2a-adapter/test/a2a.test.ts +151 -0
  8. package/packages/architecture-generator/package.json +21 -0
  9. package/packages/auth/README.md +60 -0
  10. package/packages/auth/package.json +22 -0
  11. package/packages/auth/test/auth.test.ts +238 -0
  12. package/packages/autonomous-refactor/package.json +21 -0
  13. package/packages/autonomous-refactor/test/refactor.test.ts +202 -0
  14. package/packages/autonomous-runtime/README.md +48 -0
  15. package/packages/autonomous-runtime/package.json +34 -0
  16. package/packages/autonomous-runtime/test/autonomous-runtime.test.ts +194 -0
  17. package/packages/autonomous-runtime/test/inbox.test.ts +80 -0
  18. package/packages/autonomous-runtime/test/types.test.ts +68 -0
  19. package/packages/cache-strategy/package.json +21 -0
  20. package/packages/cache-strategy/test/cache.test.ts +137 -0
  21. package/packages/capability-registry/package.json +41 -0
  22. package/packages/capability-registry/test/registry.test.ts +204 -0
  23. package/packages/checkpoint/README.md +206 -0
  24. package/packages/checkpoint/package.json +33 -0
  25. package/packages/checkpoint/test/engine.test.ts +265 -0
  26. package/packages/cli-plugin-sdk/README.md +48 -0
  27. package/packages/cli-plugin-sdk/package.json +24 -0
  28. package/packages/cli-plugin-sdk/test/cli.test.ts +45 -0
  29. package/packages/clipboard/package.json +12 -0
  30. package/packages/clipboard-plugin/package.json +17 -0
  31. package/packages/code-generation/README.md +302 -0
  32. package/packages/code-generation/package.json +38 -0
  33. package/packages/code-generation/test/generator.test.ts +238 -0
  34. package/packages/code-review/README.md +312 -0
  35. package/packages/code-review/package.json +38 -0
  36. package/packages/code-review/test/engine.test.ts +302 -0
  37. package/packages/codex-adapter/package.json +24 -0
  38. package/packages/codex-adapter/test/provider.test.ts +142 -0
  39. package/packages/config-capture/package.json +23 -0
  40. package/packages/context-compiler/package.json +28 -0
  41. package/packages/context-compiler/test/context-compiler.test.ts +746 -0
  42. package/packages/context-discovery/package.json +12 -0
  43. package/packages/context-manager/package.json +21 -0
  44. package/packages/context-manager/test/context.test.ts +198 -0
  45. package/packages/cookie-sanitizer/README.md +141 -0
  46. package/packages/cookie-sanitizer/package.json +27 -0
  47. package/packages/cookie-sanitizer/test/infer.test.ts +110 -0
  48. package/packages/cookie-sanitizer/test/normalize.test.ts +113 -0
  49. package/packages/cookie-sanitizer/test/parse.test.ts +204 -0
  50. package/packages/cookie-sanitizer/test/sync.test.ts +231 -0
  51. package/packages/cookie-sanitizer/test/watcher.test.ts +27 -0
  52. package/packages/cost-optimizer/package.json +41 -0
  53. package/packages/cost-optimizer/test/cost-optimizer.test.ts +438 -0
  54. package/packages/dependency-analyzer/package.json +12 -0
  55. package/packages/dependency-analyzer/test/analyzer.test.ts +48 -0
  56. package/packages/django-plugin/README.md +1 -0
  57. package/packages/django-plugin/package.json +20 -0
  58. package/packages/django-plugin/test/analyzer.test.ts +195 -0
  59. package/packages/doc-generator/package.json +21 -0
  60. package/packages/doc-generator/test/docs.test.ts +168 -0
  61. package/packages/evaluation-engine/package.json +23 -0
  62. package/packages/evaluation-engine/test/engine.test.ts +277 -0
  63. package/packages/evaluation-runner/package.json +21 -0
  64. package/packages/evaluation-runner/test/runner.test.ts +168 -0
  65. package/packages/event-bus/package.json +12 -0
  66. package/packages/event-bus/test/bus.test.ts +88 -0
  67. package/packages/event-store/package.json +12 -0
  68. package/packages/event-store/test/store.test.ts +115 -0
  69. package/packages/experience-replay/package.json +23 -0
  70. package/packages/experience-replay/test/replay.test.ts +267 -0
  71. package/packages/feedback-collector/package.json +21 -0
  72. package/packages/feedback-collector/test/collector.test.ts +142 -0
  73. package/packages/file-copy-helper/package.json +17 -0
  74. package/packages/framework-detector/README.md +283 -0
  75. package/packages/framework-detector/package.json +38 -0
  76. package/packages/framework-detector/test/detector.test.ts +75 -0
  77. package/packages/framework-plugin-sdk/README.md +399 -0
  78. package/packages/framework-plugin-sdk/package.json +39 -0
  79. package/packages/framework-plugin-sdk/test/manager.test.ts +320 -0
  80. package/packages/frappe-plugin/package.json +20 -0
  81. package/packages/frappe-plugin/test/analyzer.test.ts +250 -0
  82. package/packages/generic-web-plugin/package.json +20 -0
  83. package/packages/generic-web-plugin/test/analyzer.test.ts +134 -0
  84. package/packages/health-monitor/package.json +21 -0
  85. package/packages/health-monitor/test/health.test.ts +231 -0
  86. package/packages/intent-analyzer/package.json +12 -0
  87. package/packages/intent-analyzer/test/analyzer.test.ts +72 -0
  88. package/packages/knowledge-graph/package.json +24 -0
  89. package/packages/knowledge-retrieval/package.json +25 -0
  90. package/packages/laravel-plugin/README.md +1 -0
  91. package/packages/laravel-plugin/package.json +20 -0
  92. package/packages/laravel-plugin/test/analyzer.test.ts +220 -0
  93. package/packages/learning-engine/package.json +23 -0
  94. package/packages/learning-engine/test/engine.test.ts +331 -0
  95. package/packages/mcp-adapter/README.md +47 -0
  96. package/packages/mcp-adapter/package.json +21 -0
  97. package/packages/mcp-adapter/test/server.test.ts +91 -0
  98. package/packages/memory-engine/package.json +23 -0
  99. package/packages/memory-engine/test/engine.test.ts +456 -0
  100. package/packages/milestone-manager/package.json +21 -0
  101. package/packages/model-registry/package.json +41 -0
  102. package/packages/model-registry/test/registry.test.ts +342 -0
  103. package/packages/nextjs-plugin/README.md +1 -0
  104. package/packages/nextjs-plugin/package.json +30 -0
  105. package/packages/nextjs-plugin/test/analyzer.test.ts +149 -0
  106. package/packages/notification/adapters/email-adapter.ts +126 -0
  107. package/packages/notification/adapters/ntfy-adapter.ts +100 -0
  108. package/packages/notification/adapters/telegram-adapter.ts +107 -0
  109. package/packages/notification/adapters/webhook-adapter.ts +75 -0
  110. package/packages/notification/base-adapter.ts +75 -0
  111. package/packages/notification/index.ts +51 -0
  112. package/packages/notification/notification-center.ts +286 -0
  113. package/packages/notification/package.json +22 -0
  114. package/packages/notification/test/notification.test.ts +372 -0
  115. package/packages/notification/types.ts +89 -0
  116. package/packages/observability/README.md +241 -0
  117. package/packages/observability/package.json +34 -0
  118. package/packages/observability/test/observability.test.ts +1350 -0
  119. package/packages/okf-indexer/package.json +12 -0
  120. package/packages/performance-optimizer/package.json +23 -0
  121. package/packages/performance-optimizer/test/optimizer.test.ts +267 -0
  122. package/packages/privilege-broker/README.md +45 -0
  123. package/packages/privilege-broker/package.json +35 -0
  124. package/packages/project-analyzer/package.json +43 -0
  125. package/packages/project-analyzer/test/index.test.ts +1719 -0
  126. package/packages/project-bootstrap/package.json +24 -0
  127. package/packages/projection-engine/package.json +12 -0
  128. package/packages/prompt-compiler/package.json +28 -0
  129. package/packages/prompt-compiler/test/prompt-compiler.test.ts +813 -0
  130. package/packages/prompt-versioning/package.json +21 -0
  131. package/packages/prompt-versioning/test/versioning.test.ts +112 -0
  132. package/packages/provider-adapter-sdk/README.md +221 -0
  133. package/packages/provider-adapter-sdk/examples/custom-adapter.ts +353 -0
  134. package/packages/provider-adapter-sdk/package.json +36 -0
  135. package/packages/provider-adapter-sdk/test/sdk.test.ts +220 -0
  136. package/packages/provider-router/package.json +41 -0
  137. package/packages/provider-router/test/provider-router.test.ts +405 -0
  138. package/packages/provider-selector/package.json +21 -0
  139. package/packages/provider-selector/test/selector.test.ts +192 -0
  140. package/packages/providers/README.md +3 -0
  141. package/packages/providers/adapters.ts +362 -0
  142. package/packages/providers/deepagents-adapter.ts +458 -0
  143. package/packages/providers/glm-usage.ts +248 -0
  144. package/packages/providers/index.ts +85 -0
  145. package/packages/providers/openai-usage.ts +263 -0
  146. package/packages/providers/package.json +22 -0
  147. package/packages/providers/test/providers.test.ts +225 -0
  148. package/packages/quota-manager/README.md +3 -0
  149. package/packages/quota-manager/{dist/examples/tui-usage-integration.js → examples/tui-usage-integration.ts} +16 -17
  150. package/packages/quota-manager/index.ts +28 -0
  151. package/packages/quota-manager/package.json +22 -0
  152. package/packages/quota-manager/quota-manager.ts +339 -0
  153. package/packages/quota-manager/test/quota.test.ts +432 -0
  154. package/packages/quota-manager/tui-usage-monitor.ts +355 -0
  155. package/packages/rate-limiter/package.json +21 -0
  156. package/packages/rate-limiter/test/limiter.test.ts +128 -0
  157. package/packages/react-vite-plugin/README.md +1 -0
  158. package/packages/react-vite-plugin/package.json +20 -0
  159. package/packages/react-vite-plugin/test/analyzer.test.ts +139 -0
  160. package/packages/release-manager/package.json +21 -0
  161. package/packages/release-manager/test/release.test.ts +215 -0
  162. package/packages/requirement-compiler/package.json +25 -0
  163. package/packages/requirement-compiler/test/requirement-compiler.test.ts +743 -0
  164. package/packages/runtime/README.md +3 -0
  165. package/packages/runtime/command-executor.ts +523 -0
  166. package/packages/runtime/index.ts +50 -0
  167. package/packages/runtime/local-runtime-agent.ts +480 -0
  168. package/packages/runtime/package.json +22 -0
  169. package/packages/runtime/policy-engine.ts +813 -0
  170. package/packages/runtime/runtime-api.ts +665 -0
  171. package/packages/runtime/test/runtime.test.ts +297 -0
  172. package/packages/runtime/workspace-manager.ts +591 -0
  173. package/packages/scheduler/README.md +3 -0
  174. package/packages/scheduler/package.json +22 -0
  175. package/packages/scheduler/test/scheduler.test.ts +125 -0
  176. package/packages/scheduler-adapter/README.md +36 -0
  177. package/packages/scheduler-adapter/package.json +32 -0
  178. package/packages/session/README.md +273 -0
  179. package/packages/session/package.json +38 -0
  180. package/packages/session/test/manager.test.ts +233 -0
  181. package/packages/session-api/package.json +12 -0
  182. package/packages/session-export/package.json +12 -0
  183. package/packages/shared-context/README.md +3 -0
  184. package/packages/shared-context/package.json +22 -0
  185. package/packages/shared-context/test/shared-context.test.ts +114 -0
  186. package/packages/skill-registry/package.json +41 -0
  187. package/packages/skill-registry/test/registry.test.ts +508 -0
  188. package/packages/sprint-planner/package.json +21 -0
  189. package/packages/sprint-planner/test/planner.test.ts +187 -0
  190. package/packages/subscription-engine/package.json +12 -0
  191. package/packages/task-compiler/package.json +43 -0
  192. package/packages/task-compiler/test/task-compiler.test.ts +628 -0
  193. package/packages/tencentdb-memory/package.json +23 -0
  194. package/packages/tencentdb-sync/package.json +26 -0
  195. package/packages/test-data-generator/README.md +365 -0
  196. package/packages/test-data-generator/package.json +39 -0
  197. package/packages/test-data-generator/test/generator.test.ts +265 -0
  198. package/packages/test-generator/package.json +21 -0
  199. package/packages/test-generator/test/generator.test.ts +156 -0
  200. package/packages/todo-bd-sync/package.json +22 -0
  201. package/packages/token-estimation/package.json +22 -0
  202. package/packages/token-estimation/test/token-estimation.test.ts +207 -0
  203. package/packages/token-optimizer/package.json +21 -0
  204. package/packages/token-optimizer/test/optimizer.test.ts +141 -0
  205. package/packages/tui/README.md +3 -0
  206. package/packages/tui/package.json +22 -0
  207. package/packages/types/package.json +25 -0
  208. package/packages/workflow-events/package.json +12 -0
  209. package/packages/workspace-scanner/package.json +12 -0
  210. package/packages/workspace-scanner/test/scanner.test.ts +42 -0
  211. package/packages/worktree/README.md +3 -0
  212. package/packages/worktree/package.json +22 -0
  213. package/packages/worktree/test/worktree.test.ts +163 -0
  214. package/packages/worktree/worktree.ts +293 -0
  215. package/packages/write-review/package.json +22 -0
  216. package/packages/a2a-adapter/dist/discovery.d.ts +0 -52
  217. package/packages/a2a-adapter/dist/discovery.d.ts.map +0 -1
  218. package/packages/a2a-adapter/dist/discovery.js +0 -76
  219. package/packages/a2a-adapter/dist/discovery.js.map +0 -1
  220. package/packages/architecture-generator/dist/adr.d.ts +0 -15
  221. package/packages/architecture-generator/dist/adr.d.ts.map +0 -1
  222. package/packages/architecture-generator/dist/adr.js +0 -42
  223. package/packages/architecture-generator/dist/adr.js.map +0 -1
  224. package/packages/architecture-generator/dist/index.d.ts +0 -9
  225. package/packages/architecture-generator/dist/index.d.ts.map +0 -1
  226. package/packages/architecture-generator/dist/index.js +0 -9
  227. package/packages/architecture-generator/dist/index.js.map +0 -1
  228. package/packages/architecture-generator/dist/mermaid.d.ts +0 -30
  229. package/packages/architecture-generator/dist/mermaid.d.ts.map +0 -1
  230. package/packages/architecture-generator/dist/mermaid.js +0 -58
  231. package/packages/architecture-generator/dist/mermaid.js.map +0 -1
  232. package/packages/architecture-generator/dist/types.d.ts +0 -30
  233. package/packages/architecture-generator/dist/types.d.ts.map +0 -1
  234. package/packages/architecture-generator/dist/types.js +0 -7
  235. package/packages/architecture-generator/dist/types.js.map +0 -1
  236. package/packages/auth/dist/minimax-browser-auth.d.ts +0 -89
  237. package/packages/auth/dist/minimax-browser-auth.d.ts.map +0 -1
  238. package/packages/auth/dist/minimax-browser-auth.js +0 -890
  239. package/packages/auth/dist/minimax-browser-auth.js.map +0 -1
  240. package/packages/auth/dist/run-minimax-auth.d.ts +0 -19
  241. package/packages/auth/dist/run-minimax-auth.d.ts.map +0 -1
  242. package/packages/auth/dist/run-minimax-auth.js +0 -112
  243. package/packages/auth/dist/run-minimax-auth.js.map +0 -1
  244. package/packages/capability-registry/src/types.js +0 -10
  245. package/packages/clipboard/dist/src/clipboard.d.ts +0 -11
  246. package/packages/clipboard/dist/src/clipboard.d.ts.map +0 -1
  247. package/packages/clipboard/dist/src/clipboard.js +0 -51
  248. package/packages/clipboard/dist/src/clipboard.js.map +0 -1
  249. package/packages/clipboard/dist/src/copy-sync.d.ts +0 -27
  250. package/packages/clipboard/dist/src/copy-sync.d.ts.map +0 -1
  251. package/packages/clipboard/dist/src/copy-sync.js +0 -212
  252. package/packages/clipboard/dist/src/copy-sync.js.map +0 -1
  253. package/packages/clipboard/dist/src/gist-relay.d.ts +0 -48
  254. package/packages/clipboard/dist/src/gist-relay.d.ts.map +0 -1
  255. package/packages/clipboard/dist/src/gist-relay.js +0 -186
  256. package/packages/clipboard/dist/src/gist-relay.js.map +0 -1
  257. package/packages/clipboard/dist/src/github-login.d.ts +0 -16
  258. package/packages/clipboard/dist/src/github-login.d.ts.map +0 -1
  259. package/packages/clipboard/dist/src/github-login.js +0 -69
  260. package/packages/clipboard/dist/src/github-login.js.map +0 -1
  261. package/packages/clipboard/dist/src/index.d.ts +0 -5
  262. package/packages/clipboard/dist/src/index.d.ts.map +0 -1
  263. package/packages/clipboard/dist/src/index.js +0 -4
  264. package/packages/clipboard/dist/src/index.js.map +0 -1
  265. package/packages/clipboard/dist/src/paste-bridge.d.ts +0 -19
  266. package/packages/clipboard/dist/src/paste-bridge.d.ts.map +0 -1
  267. package/packages/clipboard/dist/src/paste-bridge.js +0 -78
  268. package/packages/clipboard/dist/src/paste-bridge.js.map +0 -1
  269. package/packages/clipboard/dist/src/types.d.ts +0 -13
  270. package/packages/clipboard/dist/src/types.d.ts.map +0 -1
  271. package/packages/clipboard/dist/src/types.js +0 -5
  272. package/packages/clipboard/dist/src/types.js.map +0 -1
  273. package/packages/clipboard-plugin/dist/index.d.ts +0 -28
  274. package/packages/clipboard-plugin/dist/index.d.ts.map +0 -1
  275. package/packages/clipboard-plugin/dist/index.js +0 -64
  276. package/packages/clipboard-plugin/dist/index.js.map +0 -1
  277. package/packages/clipboard-plugin/dist/types.d.ts +0 -30
  278. package/packages/clipboard-plugin/dist/types.d.ts.map +0 -1
  279. package/packages/clipboard-plugin/dist/types.js +0 -5
  280. package/packages/clipboard-plugin/dist/types.js.map +0 -1
  281. package/packages/context-discovery/dist/src/discover.d.ts +0 -3
  282. package/packages/context-discovery/dist/src/discover.d.ts.map +0 -1
  283. package/packages/context-discovery/dist/src/discover.js +0 -42
  284. package/packages/context-discovery/dist/src/discover.js.map +0 -1
  285. package/packages/context-discovery/dist/src/discovery.d.ts +0 -28
  286. package/packages/context-discovery/dist/src/discovery.d.ts.map +0 -1
  287. package/packages/context-discovery/dist/src/discovery.js +0 -21
  288. package/packages/context-discovery/dist/src/discovery.js.map +0 -1
  289. package/packages/context-discovery/dist/src/index.d.ts +0 -3
  290. package/packages/context-discovery/dist/src/index.d.ts.map +0 -1
  291. package/packages/context-discovery/dist/src/index.js +0 -2
  292. package/packages/context-discovery/dist/src/index.js.map +0 -1
  293. package/packages/context-discovery/dist/src/types.d.ts +0 -16
  294. package/packages/context-discovery/dist/src/types.d.ts.map +0 -1
  295. package/packages/context-discovery/dist/src/types.js +0 -2
  296. package/packages/context-discovery/dist/src/types.js.map +0 -1
  297. package/packages/dependency-analyzer/dist/analyzer.d.ts +0 -17
  298. package/packages/dependency-analyzer/dist/analyzer.d.ts.map +0 -1
  299. package/packages/dependency-analyzer/dist/analyzer.js +0 -106
  300. package/packages/dependency-analyzer/dist/analyzer.js.map +0 -1
  301. package/packages/dependency-analyzer/dist/imports.d.ts +0 -12
  302. package/packages/dependency-analyzer/dist/imports.d.ts.map +0 -1
  303. package/packages/dependency-analyzer/dist/imports.js +0 -73
  304. package/packages/dependency-analyzer/dist/imports.js.map +0 -1
  305. package/packages/dependency-analyzer/dist/index.d.ts +0 -4
  306. package/packages/dependency-analyzer/dist/index.d.ts.map +0 -1
  307. package/packages/dependency-analyzer/dist/index.js +0 -3
  308. package/packages/dependency-analyzer/dist/index.js.map +0 -1
  309. package/packages/dependency-analyzer/dist/src/analyzer.d.ts +0 -17
  310. package/packages/dependency-analyzer/dist/src/analyzer.d.ts.map +0 -1
  311. package/packages/dependency-analyzer/dist/src/analyzer.js +0 -119
  312. package/packages/dependency-analyzer/dist/src/analyzer.js.map +0 -1
  313. package/packages/dependency-analyzer/dist/src/imports.d.ts +0 -12
  314. package/packages/dependency-analyzer/dist/src/imports.d.ts.map +0 -1
  315. package/packages/dependency-analyzer/dist/src/imports.js +0 -73
  316. package/packages/dependency-analyzer/dist/src/imports.js.map +0 -1
  317. package/packages/dependency-analyzer/dist/src/index.d.ts +0 -4
  318. package/packages/dependency-analyzer/dist/src/index.d.ts.map +0 -1
  319. package/packages/dependency-analyzer/dist/src/index.js +0 -3
  320. package/packages/dependency-analyzer/dist/src/index.js.map +0 -1
  321. package/packages/dependency-analyzer/dist/src/types.d.ts +0 -28
  322. package/packages/dependency-analyzer/dist/src/types.d.ts.map +0 -1
  323. package/packages/dependency-analyzer/dist/src/types.js +0 -5
  324. package/packages/dependency-analyzer/dist/src/types.js.map +0 -1
  325. package/packages/dependency-analyzer/dist/test/analyzer.test.js +0 -37
  326. package/packages/dependency-analyzer/dist/types.d.ts +0 -28
  327. package/packages/dependency-analyzer/dist/types.d.ts.map +0 -1
  328. package/packages/dependency-analyzer/dist/types.js +0 -5
  329. package/packages/dependency-analyzer/dist/types.js.map +0 -1
  330. package/packages/event-bus/dist/src/bus.d.ts +0 -15
  331. package/packages/event-bus/dist/src/bus.d.ts.map +0 -1
  332. package/packages/event-bus/dist/src/bus.js +0 -98
  333. package/packages/event-bus/dist/src/bus.js.map +0 -1
  334. package/packages/event-bus/dist/src/herdr-bus.d.ts +0 -121
  335. package/packages/event-bus/dist/src/herdr-bus.d.ts.map +0 -1
  336. package/packages/event-bus/dist/src/herdr-bus.js +0 -324
  337. package/packages/event-bus/dist/src/herdr-bus.js.map +0 -1
  338. package/packages/event-bus/dist/src/index.d.ts +0 -6
  339. package/packages/event-bus/dist/src/index.d.ts.map +0 -1
  340. package/packages/event-bus/dist/src/index.js +0 -4
  341. package/packages/event-bus/dist/src/index.js.map +0 -1
  342. package/packages/event-bus/dist/src/types.d.ts +0 -27
  343. package/packages/event-bus/dist/src/types.d.ts.map +0 -1
  344. package/packages/event-bus/dist/src/types.js +0 -10
  345. package/packages/event-bus/dist/src/types.js.map +0 -1
  346. package/packages/event-store/dist/src/index.d.ts +0 -3
  347. package/packages/event-store/dist/src/index.d.ts.map +0 -1
  348. package/packages/event-store/dist/src/index.js +0 -2
  349. package/packages/event-store/dist/src/index.js.map +0 -1
  350. package/packages/event-store/dist/src/store.d.ts +0 -15
  351. package/packages/event-store/dist/src/store.d.ts.map +0 -1
  352. package/packages/event-store/dist/src/store.js +0 -139
  353. package/packages/event-store/dist/src/store.js.map +0 -1
  354. package/packages/event-store/dist/src/types.d.ts +0 -48
  355. package/packages/event-store/dist/src/types.d.ts.map +0 -1
  356. package/packages/event-store/dist/src/types.js +0 -5
  357. package/packages/event-store/dist/src/types.js.map +0 -1
  358. package/packages/file-copy-helper/dist/src/extension.js +0 -121
  359. package/packages/file-copy-helper/src/extension.js +0 -149
  360. package/packages/intent-analyzer/dist/analyzer.d.ts +0 -13
  361. package/packages/intent-analyzer/dist/analyzer.d.ts.map +0 -1
  362. package/packages/intent-analyzer/dist/analyzer.js +0 -72
  363. package/packages/intent-analyzer/dist/analyzer.js.map +0 -1
  364. package/packages/intent-analyzer/dist/index.d.ts +0 -3
  365. package/packages/intent-analyzer/dist/index.d.ts.map +0 -1
  366. package/packages/intent-analyzer/dist/index.js +0 -2
  367. package/packages/intent-analyzer/dist/index.js.map +0 -1
  368. package/packages/intent-analyzer/dist/src/analyzer.d.ts +0 -13
  369. package/packages/intent-analyzer/dist/src/analyzer.d.ts.map +0 -1
  370. package/packages/intent-analyzer/dist/src/analyzer.js +0 -239
  371. package/packages/intent-analyzer/dist/src/analyzer.js.map +0 -1
  372. package/packages/intent-analyzer/dist/src/index.d.ts +0 -3
  373. package/packages/intent-analyzer/dist/src/index.d.ts.map +0 -1
  374. package/packages/intent-analyzer/dist/src/index.js +0 -2
  375. package/packages/intent-analyzer/dist/src/index.js.map +0 -1
  376. package/packages/intent-analyzer/dist/src/types.d.ts +0 -26
  377. package/packages/intent-analyzer/dist/src/types.d.ts.map +0 -1
  378. package/packages/intent-analyzer/dist/src/types.js +0 -7
  379. package/packages/intent-analyzer/dist/src/types.js.map +0 -1
  380. package/packages/intent-analyzer/dist/test/analyzer.test.js +0 -56
  381. package/packages/intent-analyzer/dist/types.d.ts +0 -26
  382. package/packages/intent-analyzer/dist/types.d.ts.map +0 -1
  383. package/packages/intent-analyzer/dist/types.js +0 -7
  384. package/packages/intent-analyzer/dist/types.js.map +0 -1
  385. package/packages/knowledge-graph/dist/graph-extractor.d.ts +0 -27
  386. package/packages/knowledge-graph/dist/graph-extractor.d.ts.map +0 -1
  387. package/packages/knowledge-graph/dist/graph-extractor.js +0 -276
  388. package/packages/knowledge-graph/dist/graph-extractor.js.map +0 -1
  389. package/packages/knowledge-graph/dist/index.d.ts +0 -27
  390. package/packages/knowledge-graph/dist/index.d.ts.map +0 -1
  391. package/packages/knowledge-graph/dist/index.js +0 -27
  392. package/packages/knowledge-graph/dist/index.js.map +0 -1
  393. package/packages/knowledge-graph/dist/mcp-client.d.ts +0 -38
  394. package/packages/knowledge-graph/dist/mcp-client.d.ts.map +0 -1
  395. package/packages/knowledge-graph/dist/mcp-client.js +0 -157
  396. package/packages/knowledge-graph/dist/mcp-client.js.map +0 -1
  397. package/packages/knowledge-graph/dist/provenance-linker.d.ts +0 -19
  398. package/packages/knowledge-graph/dist/provenance-linker.d.ts.map +0 -1
  399. package/packages/knowledge-graph/dist/provenance-linker.js +0 -91
  400. package/packages/knowledge-graph/dist/provenance-linker.js.map +0 -1
  401. package/packages/knowledge-graph/dist/types.d.ts +0 -53
  402. package/packages/knowledge-graph/dist/types.d.ts.map +0 -1
  403. package/packages/knowledge-graph/dist/types.js +0 -7
  404. package/packages/knowledge-graph/dist/types.js.map +0 -1
  405. package/packages/knowledge-retrieval/dist/index.d.ts +0 -8
  406. package/packages/knowledge-retrieval/dist/index.d.ts.map +0 -1
  407. package/packages/knowledge-retrieval/dist/index.js +0 -7
  408. package/packages/knowledge-retrieval/dist/index.js.map +0 -1
  409. package/packages/knowledge-retrieval/dist/mcp-client.d.ts +0 -61
  410. package/packages/knowledge-retrieval/dist/mcp-client.d.ts.map +0 -1
  411. package/packages/knowledge-retrieval/dist/mcp-client.js +0 -132
  412. package/packages/knowledge-retrieval/dist/mcp-client.js.map +0 -1
  413. package/packages/knowledge-retrieval/dist/types.d.ts +0 -105
  414. package/packages/knowledge-retrieval/dist/types.d.ts.map +0 -1
  415. package/packages/knowledge-retrieval/dist/types.js +0 -7
  416. package/packages/knowledge-retrieval/dist/types.js.map +0 -1
  417. package/packages/milestone-manager/dist/engine.d.ts +0 -27
  418. package/packages/milestone-manager/dist/engine.d.ts.map +0 -1
  419. package/packages/milestone-manager/dist/engine.js +0 -78
  420. package/packages/milestone-manager/dist/engine.js.map +0 -1
  421. package/packages/milestone-manager/dist/index.d.ts +0 -6
  422. package/packages/milestone-manager/dist/index.d.ts.map +0 -1
  423. package/packages/milestone-manager/dist/index.js +0 -6
  424. package/packages/milestone-manager/dist/index.js.map +0 -1
  425. package/packages/milestone-manager/dist/types.d.ts +0 -25
  426. package/packages/milestone-manager/dist/types.d.ts.map +0 -1
  427. package/packages/milestone-manager/dist/types.js +0 -7
  428. package/packages/milestone-manager/dist/types.js.map +0 -1
  429. package/packages/notification/dist/adapters/email-adapter.d.ts +0 -17
  430. package/packages/notification/dist/adapters/email-adapter.d.ts.map +0 -1
  431. package/packages/notification/dist/adapters/email-adapter.js +0 -89
  432. package/packages/notification/dist/adapters/email-adapter.js.map +0 -1
  433. package/packages/notification/dist/adapters/line-adapter.d.ts +0 -17
  434. package/packages/notification/dist/adapters/line-adapter.d.ts.map +0 -1
  435. package/packages/notification/dist/adapters/line-adapter.js +0 -99
  436. package/packages/notification/dist/adapters/line-adapter.js.map +0 -1
  437. package/packages/notification/dist/adapters/ntfy-adapter.d.ts +0 -17
  438. package/packages/notification/dist/adapters/ntfy-adapter.d.ts.map +0 -1
  439. package/packages/notification/dist/adapters/ntfy-adapter.js +0 -84
  440. package/packages/notification/dist/adapters/ntfy-adapter.js.map +0 -1
  441. package/packages/notification/dist/adapters/telegram-adapter.d.ts +0 -17
  442. package/packages/notification/dist/adapters/telegram-adapter.d.ts.map +0 -1
  443. package/packages/notification/dist/adapters/telegram-adapter.js +0 -88
  444. package/packages/notification/dist/adapters/telegram-adapter.js.map +0 -1
  445. package/packages/notification/dist/adapters/webhook-adapter.d.ts +0 -15
  446. package/packages/notification/dist/adapters/webhook-adapter.d.ts.map +0 -1
  447. package/packages/notification/dist/adapters/webhook-adapter.js +0 -64
  448. package/packages/notification/dist/adapters/webhook-adapter.js.map +0 -1
  449. package/packages/notification/dist/base-adapter.d.ts +0 -36
  450. package/packages/notification/dist/base-adapter.d.ts.map +0 -1
  451. package/packages/notification/dist/base-adapter.js +0 -39
  452. package/packages/notification/dist/base-adapter.js.map +0 -1
  453. package/packages/notification/dist/index.d.ts +0 -10
  454. package/packages/notification/dist/index.d.ts.map +0 -1
  455. package/packages/notification/dist/index.js +0 -10
  456. package/packages/notification/dist/index.js.map +0 -1
  457. package/packages/notification/dist/notification-center.d.ts +0 -46
  458. package/packages/notification/dist/notification-center.d.ts.map +0 -1
  459. package/packages/notification/dist/notification-center.js +0 -232
  460. package/packages/notification/dist/notification-center.js.map +0 -1
  461. package/packages/notification/dist/types.d.ts +0 -69
  462. package/packages/notification/dist/types.d.ts.map +0 -1
  463. package/packages/notification/dist/types.js +0 -7
  464. package/packages/notification/dist/types.js.map +0 -1
  465. package/packages/okf-indexer/dist/cli.d.ts +0 -8
  466. package/packages/okf-indexer/dist/cli.d.ts.map +0 -1
  467. package/packages/okf-indexer/dist/cli.js +0 -23
  468. package/packages/okf-indexer/dist/cli.js.map +0 -1
  469. package/packages/okf-indexer/dist/indexer.d.ts +0 -55
  470. package/packages/okf-indexer/dist/indexer.d.ts.map +0 -1
  471. package/packages/okf-indexer/dist/indexer.js +0 -147
  472. package/packages/okf-indexer/dist/indexer.js.map +0 -1
  473. package/packages/project-bootstrap/dist/bootstrap.d.ts +0 -23
  474. package/packages/project-bootstrap/dist/bootstrap.d.ts.map +0 -1
  475. package/packages/project-bootstrap/dist/bootstrap.js +0 -128
  476. package/packages/project-bootstrap/dist/bootstrap.js.map +0 -1
  477. package/packages/project-bootstrap/dist/frappe.d.ts +0 -8
  478. package/packages/project-bootstrap/dist/frappe.d.ts.map +0 -1
  479. package/packages/project-bootstrap/dist/frappe.js +0 -82
  480. package/packages/project-bootstrap/dist/frappe.js.map +0 -1
  481. package/packages/project-bootstrap/dist/index.d.ts +0 -27
  482. package/packages/project-bootstrap/dist/index.d.ts.map +0 -1
  483. package/packages/project-bootstrap/dist/index.js +0 -27
  484. package/packages/project-bootstrap/dist/index.js.map +0 -1
  485. package/packages/project-bootstrap/dist/minimal.d.ts +0 -8
  486. package/packages/project-bootstrap/dist/minimal.d.ts.map +0 -1
  487. package/packages/project-bootstrap/dist/minimal.js +0 -35
  488. package/packages/project-bootstrap/dist/minimal.js.map +0 -1
  489. package/packages/project-bootstrap/dist/types.d.ts +0 -61
  490. package/packages/project-bootstrap/dist/types.d.ts.map +0 -1
  491. package/packages/project-bootstrap/dist/types.js +0 -7
  492. package/packages/project-bootstrap/dist/types.js.map +0 -1
  493. package/packages/project-bootstrap/dist/typescript.d.ts +0 -8
  494. package/packages/project-bootstrap/dist/typescript.d.ts.map +0 -1
  495. package/packages/project-bootstrap/dist/typescript.js +0 -103
  496. package/packages/project-bootstrap/dist/typescript.js.map +0 -1
  497. package/packages/projection-engine/dist/src/engine.d.ts +0 -61
  498. package/packages/projection-engine/dist/src/engine.d.ts.map +0 -1
  499. package/packages/projection-engine/dist/src/engine.js +0 -87
  500. package/packages/projection-engine/dist/src/engine.js.map +0 -1
  501. package/packages/projection-engine/dist/src/index.d.ts +0 -2
  502. package/packages/projection-engine/dist/src/index.d.ts.map +0 -1
  503. package/packages/projection-engine/dist/src/index.js +0 -2
  504. package/packages/projection-engine/dist/src/index.js.map +0 -1
  505. package/packages/projection-engine/dist/src/project.d.ts +0 -3
  506. package/packages/projection-engine/dist/src/project.d.ts.map +0 -1
  507. package/packages/projection-engine/dist/src/project.js +0 -24
  508. package/packages/projection-engine/dist/src/project.js.map +0 -1
  509. package/packages/projection-engine/dist/src/types.d.ts +0 -55
  510. package/packages/projection-engine/dist/src/types.d.ts.map +0 -1
  511. package/packages/projection-engine/dist/src/types.js +0 -5
  512. package/packages/projection-engine/dist/src/types.js.map +0 -1
  513. package/packages/providers/dist/adapters.d.ts +0 -133
  514. package/packages/providers/dist/adapters.d.ts.map +0 -1
  515. package/packages/providers/dist/adapters.js +0 -236
  516. package/packages/providers/dist/adapters.js.map +0 -1
  517. package/packages/providers/dist/deepagents-adapter.d.ts +0 -78
  518. package/packages/providers/dist/deepagents-adapter.d.ts.map +0 -1
  519. package/packages/providers/dist/deepagents-adapter.js +0 -323
  520. package/packages/providers/dist/deepagents-adapter.js.map +0 -1
  521. package/packages/providers/dist/glm-usage.d.ts +0 -102
  522. package/packages/providers/dist/glm-usage.d.ts.map +0 -1
  523. package/packages/providers/dist/glm-usage.js +0 -197
  524. package/packages/providers/dist/glm-usage.js.map +0 -1
  525. package/packages/providers/dist/index.d.ts +0 -11
  526. package/packages/providers/dist/index.d.ts.map +0 -1
  527. package/packages/providers/dist/index.js +0 -11
  528. package/packages/providers/dist/index.js.map +0 -1
  529. package/packages/providers/dist/openai-usage.d.ts +0 -103
  530. package/packages/providers/dist/openai-usage.d.ts.map +0 -1
  531. package/packages/providers/dist/openai-usage.js +0 -208
  532. package/packages/providers/dist/openai-usage.js.map +0 -1
  533. package/packages/providers/dist/provider-id.d.ts +0 -46
  534. package/packages/providers/dist/provider-id.d.ts.map +0 -1
  535. package/packages/providers/dist/provider-id.js +0 -113
  536. package/packages/providers/dist/provider-id.js.map +0 -1
  537. package/packages/providers/dist/src/adapters.d.ts +0 -133
  538. package/packages/providers/dist/src/adapters.d.ts.map +0 -1
  539. package/packages/providers/dist/src/adapters.js +0 -236
  540. package/packages/providers/dist/src/adapters.js.map +0 -1
  541. package/packages/providers/dist/src/deepagents-adapter.d.ts +0 -78
  542. package/packages/providers/dist/src/deepagents-adapter.d.ts.map +0 -1
  543. package/packages/providers/dist/src/deepagents-adapter.js +0 -323
  544. package/packages/providers/dist/src/deepagents-adapter.js.map +0 -1
  545. package/packages/providers/dist/src/glm-usage.d.ts +0 -102
  546. package/packages/providers/dist/src/glm-usage.d.ts.map +0 -1
  547. package/packages/providers/dist/src/glm-usage.js +0 -197
  548. package/packages/providers/dist/src/glm-usage.js.map +0 -1
  549. package/packages/providers/dist/src/index.d.ts +0 -11
  550. package/packages/providers/dist/src/index.d.ts.map +0 -1
  551. package/packages/providers/dist/src/index.js +0 -11
  552. package/packages/providers/dist/src/index.js.map +0 -1
  553. package/packages/providers/dist/src/openai-usage.d.ts +0 -103
  554. package/packages/providers/dist/src/openai-usage.d.ts.map +0 -1
  555. package/packages/providers/dist/src/openai-usage.js +0 -208
  556. package/packages/providers/dist/src/openai-usage.js.map +0 -1
  557. package/packages/providers/dist/src/provider-id.d.ts +0 -46
  558. package/packages/providers/dist/src/provider-id.d.ts.map +0 -1
  559. package/packages/providers/dist/src/provider-id.js +0 -113
  560. package/packages/providers/dist/src/provider-id.js.map +0 -1
  561. package/packages/quota-manager/dist/examples/tui-usage-integration.d.ts +0 -35
  562. package/packages/quota-manager/dist/examples/tui-usage-integration.d.ts.map +0 -1
  563. package/packages/quota-manager/dist/examples/tui-usage-integration.js.map +0 -1
  564. package/packages/quota-manager/dist/index.d.ts +0 -8
  565. package/packages/quota-manager/dist/index.d.ts.map +0 -1
  566. package/packages/quota-manager/dist/index.js +0 -8
  567. package/packages/quota-manager/dist/index.js.map +0 -1
  568. package/packages/quota-manager/dist/quota-manager.d.ts +0 -70
  569. package/packages/quota-manager/dist/quota-manager.d.ts.map +0 -1
  570. package/packages/quota-manager/dist/quota-manager.js +0 -260
  571. package/packages/quota-manager/dist/quota-manager.js.map +0 -1
  572. package/packages/quota-manager/dist/src/examples/tui-usage-integration.d.ts +0 -35
  573. package/packages/quota-manager/dist/src/examples/tui-usage-integration.d.ts.map +0 -1
  574. package/packages/quota-manager/dist/src/examples/tui-usage-integration.js +0 -73
  575. package/packages/quota-manager/dist/src/examples/tui-usage-integration.js.map +0 -1
  576. package/packages/quota-manager/dist/src/index.d.ts +0 -8
  577. package/packages/quota-manager/dist/src/index.d.ts.map +0 -1
  578. package/packages/quota-manager/dist/src/index.js +0 -8
  579. package/packages/quota-manager/dist/src/index.js.map +0 -1
  580. package/packages/quota-manager/dist/src/quota-manager.d.ts +0 -70
  581. package/packages/quota-manager/dist/src/quota-manager.d.ts.map +0 -1
  582. package/packages/quota-manager/dist/src/quota-manager.js +0 -260
  583. package/packages/quota-manager/dist/src/quota-manager.js.map +0 -1
  584. package/packages/quota-manager/dist/src/tui-usage-monitor.d.ts +0 -96
  585. package/packages/quota-manager/dist/src/tui-usage-monitor.d.ts.map +0 -1
  586. package/packages/quota-manager/dist/src/tui-usage-monitor.js +0 -268
  587. package/packages/quota-manager/dist/src/tui-usage-monitor.js.map +0 -1
  588. package/packages/quota-manager/dist/tui-usage-monitor.d.ts +0 -96
  589. package/packages/quota-manager/dist/tui-usage-monitor.d.ts.map +0 -1
  590. package/packages/quota-manager/dist/tui-usage-monitor.js +0 -268
  591. package/packages/quota-manager/dist/tui-usage-monitor.js.map +0 -1
  592. package/packages/runtime/dist/command-executor.d.ts +0 -129
  593. package/packages/runtime/dist/command-executor.d.ts.map +0 -1
  594. package/packages/runtime/dist/command-executor.js +0 -383
  595. package/packages/runtime/dist/command-executor.js.map +0 -1
  596. package/packages/runtime/dist/index.d.ts +0 -11
  597. package/packages/runtime/dist/index.d.ts.map +0 -1
  598. package/packages/runtime/dist/index.js +0 -11
  599. package/packages/runtime/dist/index.js.map +0 -1
  600. package/packages/runtime/dist/local-runtime-agent.d.ts +0 -111
  601. package/packages/runtime/dist/local-runtime-agent.d.ts.map +0 -1
  602. package/packages/runtime/dist/local-runtime-agent.js +0 -356
  603. package/packages/runtime/dist/local-runtime-agent.js.map +0 -1
  604. package/packages/runtime/dist/policy-engine.d.ts +0 -203
  605. package/packages/runtime/dist/policy-engine.d.ts.map +0 -1
  606. package/packages/runtime/dist/policy-engine.js +0 -592
  607. package/packages/runtime/dist/policy-engine.js.map +0 -1
  608. package/packages/runtime/dist/runtime-api.d.ts +0 -137
  609. package/packages/runtime/dist/runtime-api.d.ts.map +0 -1
  610. package/packages/runtime/dist/runtime-api.js +0 -454
  611. package/packages/runtime/dist/runtime-api.js.map +0 -1
  612. package/packages/runtime/dist/src/command-executor.d.ts +0 -129
  613. package/packages/runtime/dist/src/command-executor.d.ts.map +0 -1
  614. package/packages/runtime/dist/src/command-executor.js +0 -383
  615. package/packages/runtime/dist/src/command-executor.js.map +0 -1
  616. package/packages/runtime/dist/src/index.d.ts +0 -11
  617. package/packages/runtime/dist/src/index.d.ts.map +0 -1
  618. package/packages/runtime/dist/src/index.js +0 -11
  619. package/packages/runtime/dist/src/index.js.map +0 -1
  620. package/packages/runtime/dist/src/local-runtime-agent.d.ts +0 -111
  621. package/packages/runtime/dist/src/local-runtime-agent.d.ts.map +0 -1
  622. package/packages/runtime/dist/src/local-runtime-agent.js +0 -356
  623. package/packages/runtime/dist/src/local-runtime-agent.js.map +0 -1
  624. package/packages/runtime/dist/src/policy-engine.d.ts +0 -203
  625. package/packages/runtime/dist/src/policy-engine.d.ts.map +0 -1
  626. package/packages/runtime/dist/src/policy-engine.js +0 -592
  627. package/packages/runtime/dist/src/policy-engine.js.map +0 -1
  628. package/packages/runtime/dist/src/runtime-api.d.ts +0 -137
  629. package/packages/runtime/dist/src/runtime-api.d.ts.map +0 -1
  630. package/packages/runtime/dist/src/runtime-api.js +0 -454
  631. package/packages/runtime/dist/src/runtime-api.js.map +0 -1
  632. package/packages/runtime/dist/src/workspace-manager.d.ts +0 -162
  633. package/packages/runtime/dist/src/workspace-manager.d.ts.map +0 -1
  634. package/packages/runtime/dist/src/workspace-manager.js +0 -451
  635. package/packages/runtime/dist/src/workspace-manager.js.map +0 -1
  636. package/packages/runtime/dist/workspace-manager.d.ts +0 -162
  637. package/packages/runtime/dist/workspace-manager.d.ts.map +0 -1
  638. package/packages/runtime/dist/workspace-manager.js +0 -451
  639. package/packages/runtime/dist/workspace-manager.js.map +0 -1
  640. package/packages/session-api/dist/src/api.d.ts +0 -83
  641. package/packages/session-api/dist/src/api.d.ts.map +0 -1
  642. package/packages/session-api/dist/src/api.js +0 -49
  643. package/packages/session-api/dist/src/api.js.map +0 -1
  644. package/packages/session-api/dist/src/index.d.ts +0 -2
  645. package/packages/session-api/dist/src/index.d.ts.map +0 -1
  646. package/packages/session-api/dist/src/index.js +0 -2
  647. package/packages/session-api/dist/src/index.js.map +0 -1
  648. package/packages/session-api/dist/src/types.d.ts +0 -22
  649. package/packages/session-api/dist/src/types.d.ts.map +0 -1
  650. package/packages/session-api/dist/src/types.js +0 -5
  651. package/packages/session-api/dist/src/types.js.map +0 -1
  652. package/packages/session-export/dist/src/exporter.d.ts +0 -28
  653. package/packages/session-export/dist/src/exporter.d.ts.map +0 -1
  654. package/packages/session-export/dist/src/exporter.js +0 -42
  655. package/packages/session-export/dist/src/exporter.js.map +0 -1
  656. package/packages/session-export/dist/src/index.d.ts +0 -2
  657. package/packages/session-export/dist/src/index.d.ts.map +0 -1
  658. package/packages/session-export/dist/src/index.js +0 -2
  659. package/packages/session-export/dist/src/index.js.map +0 -1
  660. package/packages/session-export/dist/src/types.d.ts +0 -20
  661. package/packages/session-export/dist/src/types.d.ts.map +0 -1
  662. package/packages/session-export/dist/src/types.js +0 -5
  663. package/packages/session-export/dist/src/types.js.map +0 -1
  664. package/packages/subscription-engine/dist/src/engine.d.ts +0 -13
  665. package/packages/subscription-engine/dist/src/engine.d.ts.map +0 -1
  666. package/packages/subscription-engine/dist/src/engine.js +0 -40
  667. package/packages/subscription-engine/dist/src/engine.js.map +0 -1
  668. package/packages/subscription-engine/dist/src/index.d.ts +0 -2
  669. package/packages/subscription-engine/dist/src/index.d.ts.map +0 -1
  670. package/packages/subscription-engine/dist/src/index.js +0 -2
  671. package/packages/subscription-engine/dist/src/index.js.map +0 -1
  672. package/packages/subscription-engine/dist/src/subscriptions.d.ts +0 -19
  673. package/packages/subscription-engine/dist/src/subscriptions.d.ts.map +0 -1
  674. package/packages/subscription-engine/dist/src/subscriptions.js +0 -39
  675. package/packages/subscription-engine/dist/src/subscriptions.js.map +0 -1
  676. package/packages/subscription-engine/dist/src/types.d.ts +0 -24
  677. package/packages/subscription-engine/dist/src/types.d.ts.map +0 -1
  678. package/packages/subscription-engine/dist/src/types.js +0 -5
  679. package/packages/subscription-engine/dist/src/types.js.map +0 -1
  680. package/packages/tencentdb-sync/dist/cli.d.ts +0 -7
  681. package/packages/tencentdb-sync/dist/cli.d.ts.map +0 -1
  682. package/packages/tencentdb-sync/dist/cli.js +0 -311
  683. package/packages/tencentdb-sync/dist/cli.js.map +0 -1
  684. package/packages/tencentdb-sync/dist/client.d.ts +0 -141
  685. package/packages/tencentdb-sync/dist/client.d.ts.map +0 -1
  686. package/packages/tencentdb-sync/dist/client.js +0 -166
  687. package/packages/tencentdb-sync/dist/client.js.map +0 -1
  688. package/packages/tencentdb-sync/dist/config.d.ts +0 -32
  689. package/packages/tencentdb-sync/dist/config.d.ts.map +0 -1
  690. package/packages/tencentdb-sync/dist/config.js +0 -102
  691. package/packages/tencentdb-sync/dist/config.js.map +0 -1
  692. package/packages/tencentdb-sync/dist/index.d.ts +0 -9
  693. package/packages/tencentdb-sync/dist/index.d.ts.map +0 -1
  694. package/packages/tencentdb-sync/dist/index.js +0 -8
  695. package/packages/tencentdb-sync/dist/index.js.map +0 -1
  696. package/packages/todo-bd-sync/dist/src/detector.js +0 -108
  697. package/packages/todo-bd-sync/dist/src/extension.js +0 -9
  698. package/packages/types/dist/ai-providers.d.ts +0 -36
  699. package/packages/types/dist/ai-providers.d.ts.map +0 -1
  700. package/packages/types/dist/ai-providers.js +0 -66
  701. package/packages/types/dist/ai-providers.js.map +0 -1
  702. package/packages/types/src/agent-worker-types.js +0 -41
  703. package/packages/types/src/ai-providers.js +0 -66
  704. package/packages/types/src/runtime-types.js +0 -3
  705. package/packages/workflow-events/dist/src/events.d.ts +0 -38
  706. package/packages/workflow-events/dist/src/events.d.ts.map +0 -1
  707. package/packages/workflow-events/dist/src/events.js +0 -55
  708. package/packages/workflow-events/dist/src/events.js.map +0 -1
  709. package/packages/workflow-events/dist/src/index.d.ts +0 -2
  710. package/packages/workflow-events/dist/src/index.d.ts.map +0 -1
  711. package/packages/workflow-events/dist/src/index.js +0 -2
  712. package/packages/workflow-events/dist/src/index.js.map +0 -1
  713. package/packages/workflow-events/dist/src/pipeline.d.ts +0 -21
  714. package/packages/workflow-events/dist/src/pipeline.d.ts.map +0 -1
  715. package/packages/workflow-events/dist/src/pipeline.js +0 -36
  716. package/packages/workflow-events/dist/src/pipeline.js.map +0 -1
  717. package/packages/workflow-events/dist/src/types.d.ts +0 -110
  718. package/packages/workflow-events/dist/src/types.d.ts.map +0 -1
  719. package/packages/workflow-events/dist/src/types.js +0 -5
  720. package/packages/workflow-events/dist/src/types.js.map +0 -1
  721. package/packages/workspace-scanner/dist/detect.d.ts +0 -3
  722. package/packages/workspace-scanner/dist/detect.d.ts.map +0 -1
  723. package/packages/workspace-scanner/dist/detect.js +0 -58
  724. package/packages/workspace-scanner/dist/detect.js.map +0 -1
  725. package/packages/workspace-scanner/dist/git.d.ts +0 -7
  726. package/packages/workspace-scanner/dist/git.d.ts.map +0 -1
  727. package/packages/workspace-scanner/dist/git.js +0 -75
  728. package/packages/workspace-scanner/dist/git.js.map +0 -1
  729. package/packages/workspace-scanner/dist/index.d.ts +0 -5
  730. package/packages/workspace-scanner/dist/index.d.ts.map +0 -1
  731. package/packages/workspace-scanner/dist/index.js +0 -4
  732. package/packages/workspace-scanner/dist/index.js.map +0 -1
  733. package/packages/workspace-scanner/dist/scanner.d.ts +0 -11
  734. package/packages/workspace-scanner/dist/scanner.d.ts.map +0 -1
  735. package/packages/workspace-scanner/dist/scanner.js +0 -46
  736. package/packages/workspace-scanner/dist/scanner.js.map +0 -1
  737. package/packages/workspace-scanner/dist/src/detect.d.ts +0 -3
  738. package/packages/workspace-scanner/dist/src/detect.d.ts.map +0 -1
  739. package/packages/workspace-scanner/dist/src/detect.js +0 -60
  740. package/packages/workspace-scanner/dist/src/detect.js.map +0 -1
  741. package/packages/workspace-scanner/dist/src/git.d.ts +0 -7
  742. package/packages/workspace-scanner/dist/src/git.d.ts.map +0 -1
  743. package/packages/workspace-scanner/dist/src/git.js +0 -75
  744. package/packages/workspace-scanner/dist/src/git.js.map +0 -1
  745. package/packages/workspace-scanner/dist/src/index.d.ts +0 -5
  746. package/packages/workspace-scanner/dist/src/index.d.ts.map +0 -1
  747. package/packages/workspace-scanner/dist/src/index.js +0 -4
  748. package/packages/workspace-scanner/dist/src/index.js.map +0 -1
  749. package/packages/workspace-scanner/dist/src/scanner.d.ts +0 -11
  750. package/packages/workspace-scanner/dist/src/scanner.d.ts.map +0 -1
  751. package/packages/workspace-scanner/dist/src/scanner.js +0 -59
  752. package/packages/workspace-scanner/dist/src/scanner.js.map +0 -1
  753. package/packages/workspace-scanner/dist/src/types.d.ts +0 -35
  754. package/packages/workspace-scanner/dist/src/types.d.ts.map +0 -1
  755. package/packages/workspace-scanner/dist/src/types.js +0 -5
  756. package/packages/workspace-scanner/dist/src/types.js.map +0 -1
  757. package/packages/workspace-scanner/dist/test/scanner.test.js +0 -34
  758. package/packages/workspace-scanner/dist/types.d.ts +0 -35
  759. package/packages/workspace-scanner/dist/types.d.ts.map +0 -1
  760. package/packages/workspace-scanner/dist/types.js +0 -5
  761. package/packages/workspace-scanner/dist/types.js.map +0 -1
  762. package/packages/worktree/dist/index.d.ts +0 -7
  763. package/packages/worktree/dist/index.d.ts.map +0 -1
  764. package/packages/worktree/dist/index.js +0 -7
  765. package/packages/worktree/dist/index.js.map +0 -1
  766. package/packages/worktree/dist/src/index.d.ts +0 -7
  767. package/packages/worktree/dist/src/index.d.ts.map +0 -1
  768. package/packages/worktree/dist/src/index.js +0 -7
  769. package/packages/worktree/dist/src/index.js.map +0 -1
  770. package/packages/worktree/dist/src/worktree.d.ts +0 -88
  771. package/packages/worktree/dist/src/worktree.d.ts.map +0 -1
  772. package/packages/worktree/dist/src/worktree.js +0 -239
  773. package/packages/worktree/dist/src/worktree.js.map +0 -1
  774. package/packages/worktree/dist/worktree.d.ts +0 -88
  775. package/packages/worktree/dist/worktree.d.ts.map +0 -1
  776. package/packages/worktree/dist/worktree.js +0 -239
  777. package/packages/worktree/dist/worktree.js.map +0 -1
@@ -0,0 +1,204 @@
1
+ /**
2
+ * Capability Registry Tests (RFC-0051)
3
+ */
4
+
5
+ import { describe, it, expect, beforeEach } from "bun:test";
6
+ import {
7
+ createCapabilityRegistry,
8
+ type InMemoryCapabilityRegistry,
9
+ DEFAULT_CAPABILITIES,
10
+ queryCapabilities,
11
+ findBestModel,
12
+ filterByLatency,
13
+ LATENCY_RANK,
14
+ } from "../src/index.js";
15
+ import type { CapabilityProfile, Capability } from "../src/types.js";
16
+
17
+ describe("CapabilityRegistry", () => {
18
+ let registry: InMemoryCapabilityRegistry;
19
+
20
+ beforeEach(() => {
21
+ registry = createCapabilityRegistry(true);
22
+ });
23
+
24
+ describe("initialization", () => {
25
+ it("should load default capabilities", () => {
26
+ const providers = registry.listProviders();
27
+ expect(providers.length).toBeGreaterThan(0);
28
+ });
29
+
30
+ it("should have OpenAI providers", () => {
31
+ const providers = registry.listProviders();
32
+ expect(providers).toContain("openai");
33
+ });
34
+
35
+ it("should have Anthropic providers", () => {
36
+ const providers = registry.listProviders();
37
+ expect(providers).toContain("anthropic");
38
+ });
39
+ });
40
+
41
+ describe("register and unregister", () => {
42
+ it("should register new capabilities", () => {
43
+ const newCaps: CapabilityProfile[] = [
44
+ {
45
+ capability: "code_generation",
46
+ score: 90,
47
+ latency: "fast",
48
+ contextWindow: 100000,
49
+ maxOutputTokens: 4096,
50
+ },
51
+ ];
52
+
53
+ registry.register("test-provider", "test-model", newCaps);
54
+
55
+ const caps = registry.getCapabilities("test-provider", "test-model");
56
+ expect(caps).toHaveLength(1);
57
+ expect(caps[0].capability).toBe("code_generation");
58
+ expect(caps[0].score).toBe(90);
59
+ });
60
+
61
+ it("should unregister capabilities", () => {
62
+ registry.unregister("openai", "gpt-4o");
63
+
64
+ const caps = registry.getCapabilities("openai", "gpt-4o");
65
+ expect(caps).toHaveLength(0);
66
+ });
67
+
68
+ it("should track events", () => {
69
+ const events: any[] = [];
70
+ registry.onEvent((e) => events.push(e));
71
+
72
+ const caps: CapabilityProfile[] = [
73
+ {
74
+ capability: "planning",
75
+ score: 85,
76
+ latency: "fast",
77
+ contextWindow: 50000,
78
+ maxOutputTokens: 2048,
79
+ },
80
+ ];
81
+
82
+ registry.register("event-test", "model-v1", caps);
83
+
84
+ expect(events).toContainEqual({
85
+ type: "capability.registered",
86
+ providerId: "event-test",
87
+ modelId: "model-v1",
88
+ count: 1,
89
+ });
90
+ });
91
+ });
92
+
93
+ describe("query", () => {
94
+ it("should query by capability", () => {
95
+ const results = registry.query("code_generation");
96
+ expect(results.length).toBeGreaterThan(0);
97
+ });
98
+
99
+ it("should filter by minimum score", () => {
100
+ const results = registry.query("code_generation", { minScore: 95 });
101
+ expect(results.every((r) => r.profile.score >= 95)).toBe(true);
102
+ });
103
+
104
+ it("should filter by latency", () => {
105
+ const results = registry.query("code_generation", { maxLatency: "fast" });
106
+ expect(
107
+ results.every(
108
+ (r) => LATENCY_RANK[r.profile.latency] <= LATENCY_RANK["fast"],
109
+ ),
110
+ ).toBe(true);
111
+ });
112
+
113
+ it("should filter by context window", () => {
114
+ const results = registry.query("code_generation", {
115
+ requiresContextWindow: 200000,
116
+ });
117
+ expect(results.every((r) => r.profile.contextWindow >= 200000)).toBe(
118
+ true,
119
+ );
120
+ });
121
+
122
+ it("should sort by score descending", () => {
123
+ const results = registry.query("code_generation");
124
+ for (let i = 1; i < results.length; i++) {
125
+ expect(results[i - 1].profile.score).toBeGreaterThanOrEqual(
126
+ results[i].profile.score,
127
+ );
128
+ }
129
+ });
130
+
131
+ it("should emit query event", () => {
132
+ const events: any[] = [];
133
+ registry.onEvent((e) => events.push(e));
134
+
135
+ registry.query("code_generation");
136
+
137
+ expect(events).toContainEqual(
138
+ expect.objectContaining({
139
+ type: "capability.queried",
140
+ capability: "code_generation",
141
+ }),
142
+ );
143
+ });
144
+ });
145
+
146
+ describe("listProviders and listModels", () => {
147
+ it("should list providers", () => {
148
+ const providers = registry.listProviders();
149
+ expect(Array.isArray(providers)).toBe(true);
150
+ expect(providers.length).toBeGreaterThan(0);
151
+ });
152
+
153
+ it("should list models for a provider", () => {
154
+ const models = registry.listModels("openai");
155
+ expect(models).toContain("gpt-4o");
156
+ });
157
+
158
+ it("should return empty array for unknown provider", () => {
159
+ const models = registry.listModels("unknown-provider");
160
+ expect(models).toHaveLength(0);
161
+ });
162
+ });
163
+
164
+ describe("findBestModel", () => {
165
+ it("should find the highest scoring model", () => {
166
+ const candidates = registry.query("code_generation");
167
+ const best = findBestModel(candidates);
168
+
169
+ expect(best).toBeDefined();
170
+ const maxScore = Math.max(...candidates.map((c) => c.profile.score));
171
+ expect(best!.profile.score).toBe(maxScore);
172
+ });
173
+
174
+ it("should return undefined for empty array", () => {
175
+ const result = findBestModel([]);
176
+ expect(result).toBeUndefined();
177
+ });
178
+ });
179
+
180
+ describe("filterByLatency", () => {
181
+ it("should filter to fast latency", () => {
182
+ const candidates = registry.query("code_generation");
183
+ const fast = filterByLatency(candidates, "fast");
184
+
185
+ expect(fast.every((c) => c.profile.latency === "fast")).toBe(true);
186
+ });
187
+
188
+ it("should sort by quality when preference is quality", () => {
189
+ const candidates = registry.query("code_generation");
190
+ const sorted = filterByLatency(candidates, "quality");
191
+
192
+ expect(sorted[0].profile.score).toBeGreaterThanOrEqual(
193
+ sorted[1].profile.score,
194
+ );
195
+ });
196
+ });
197
+ });
198
+
199
+ describe("LATENCY_RANK", () => {
200
+ it("should have correct ordering", () => {
201
+ expect(LATENCY_RANK["fast"]).toBeLessThan(LATENCY_RANK["medium"]);
202
+ expect(LATENCY_RANK["medium"]).toBeLessThan(LATENCY_RANK["slow"]);
203
+ });
204
+ });
@@ -0,0 +1,206 @@
1
+ # @pi/checkpoint
2
+
3
+ Enhanced checkpoint system with incremental snapshots, diff-based storage, compression, and intelligent recovery strategies.
4
+
5
+ ## Features
6
+
7
+ - **Incremental Checkpoints** - Only store changes, reducing storage by 60%+
8
+ - **Compression** - Optional gzip compression for large checkpoints
9
+ - **Checksum Verification** - Detect corruption with SHA-256 checksums
10
+ - **Multiple Recovery Strategies** - Latest, fullest, specific version, or by timestamp
11
+ - **Auto-Pruning** - Automatically clean up old checkpoints
12
+ - **State Diffing** - Efficient incremental updates
13
+
14
+ ## Installation
15
+
16
+ ```bash
17
+ npm install @pi/checkpoint
18
+ ```
19
+
20
+ ## Quick Start
21
+
22
+ ### Basic Usage
23
+
24
+ ```typescript
25
+ import { createCheckpointEngine } from "@pi/checkpoint";
26
+
27
+ const engine = createCheckpointEngine({
28
+ rootDir: "./checkpoints",
29
+ compression: true,
30
+ incremental: true,
31
+ maxCheckpoints: 10,
32
+ });
33
+
34
+ // Save a checkpoint
35
+ const state = {
36
+ version: 1,
37
+ jobId: "job-123",
38
+ status: "running",
39
+ requirement: "Build a web app",
40
+ tasks: [],
41
+ createdAt: new Date().toISOString(),
42
+ updatedAt: new Date().toISOString(),
43
+ };
44
+
45
+ await engine.save("job-123", state);
46
+
47
+ // Load the latest checkpoint
48
+ const recovered = await engine.load("job-123");
49
+ console.log(recovered?.status); // "running"
50
+ ```
51
+
52
+ ### Recovery Strategies
53
+
54
+ ```typescript
55
+ import { createCheckpointEngine, RecoveryStrategy } from "@pi/checkpoint";
56
+
57
+ // Recover using latest checkpoint
58
+ const result1 = await engine.recover("job-123", "latest");
59
+
60
+ // Recover using checkpoint with most completed tasks
61
+ const result2 = await engine.recover("job-123", "fullest");
62
+
63
+ // Recover specific version
64
+ const result3 = await engine.recover("job-123", "specific:5");
65
+
66
+ // Recover closest to a timestamp
67
+ const result4 = await engine.recover("job-123", "timestamp:2024-01-15T10:00:00Z");
68
+
69
+ if (result.success) {
70
+ console.log(`Recovered state at version ${result.recoveredVersion}`);
71
+ console.log(`Recovery took ${result.recoveryTimeMs}ms`);
72
+ }
73
+ ```
74
+
75
+ ### Incremental Checkpoints
76
+
77
+ ```typescript
78
+ const engine = createCheckpointEngine({
79
+ rootDir: "./checkpoints",
80
+ incremental: true, // Enable incremental snapshots
81
+ compression: true,
82
+ });
83
+
84
+ // Save creates incremental or full checkpoint automatically
85
+ await engine.save("job-123", updatedState);
86
+
87
+ // Check metadata
88
+ const metadata = await engine.getMetadata("job-123");
89
+ console.log(metadata.map((m) => ({
90
+ version: m.version,
91
+ type: m.type, // "full" or "incremental"
92
+ sizeBytes: m.sizeBytes,
93
+ taskProgress: m.taskProgress,
94
+ })));
95
+ ```
96
+
97
+ ### Verification & Pruning
98
+
99
+ ```typescript
100
+ // Verify a checkpoint
101
+ const verified = await engine.verify("job-123", 5);
102
+ console.log(`Valid: ${verified.valid}, Checksum: ${verified.checksumMatch}`);
103
+
104
+ // Prune old checkpoints (keep last 5)
105
+ const pruneResult = await engine.prune("job-123", 5);
106
+ console.log(`Deleted ${pruneResult.deletedCount} checkpoints`);
107
+ console.log(`Freed ${pruneResult.freedBytes} bytes`);
108
+ ```
109
+
110
+ ## API Reference
111
+
112
+ ### CheckpointEngine
113
+
114
+ ```typescript
115
+ const engine = createCheckpointEngine({
116
+ rootDir: string; // Checkpoint storage directory
117
+ compression?: boolean; // Enable gzip compression (default: true)
118
+ incremental?: boolean; // Enable incremental snapshots (default: true)
119
+ maxCheckpoints?: number; // Max checkpoints to keep (default: 10)
120
+ autoPrune?: boolean; // Auto-prune on save (default: true)
121
+ checksumAlgorithm?: "md5" | "sha256"; // Checksum algorithm (default: "sha256")
122
+ parallelWrites?: boolean; // Parallel file I/O (default: true)
123
+ });
124
+ ```
125
+
126
+ ### Methods
127
+
128
+ ```typescript
129
+ // Save checkpoint (auto-selects full or incremental)
130
+ await engine.save(jobId, state): Promise<CheckpointMetadata>;
131
+
132
+ // Load latest checkpoint
133
+ await engine.load(jobId): Promise<RuntimeState | null>;
134
+
135
+ // Load specific version
136
+ await engine.loadState(jobId, version): Promise<RuntimeState | null>;
137
+
138
+ // Recover using strategy
139
+ await engine.recover(jobId, strategy): Promise<RecoveryResult>;
140
+
141
+ // Verify checkpoint integrity
142
+ await engine.verify(jobId, version): Promise<VerificationResult>;
143
+
144
+ // Prune old checkpoints
145
+ await engine.prune(jobId, keepCount): Promise<PruneResult>;
146
+
147
+ // Get metadata for all checkpoints
148
+ await engine.getMetadata(jobId): Promise<CheckpointMetadata[]>;
149
+
150
+ // Delete all checkpoints
151
+ await engine.deleteAll(jobId): Promise<void>;
152
+ ```
153
+
154
+ ### Recovery Strategies
155
+
156
+ ```typescript
157
+ type RecoveryStrategy =
158
+ | "latest" // Most recent checkpoint
159
+ | "fullest" // Checkpoint with most completed tasks
160
+ | "specific:number" // Specific version number
161
+ | "timestamp:ISO" // Checkpoint closest to timestamp
162
+ | "interactive"; // User selection (returns latest for now)
163
+ ```
164
+
165
+ ### Checkpoint Metadata
166
+
167
+ ```typescript
168
+ interface CheckpointMetadata {
169
+ jobId: string;
170
+ version: number;
171
+ type: "full" | "incremental";
172
+ sizeBytes: number;
173
+ compressed: boolean;
174
+ checksum: string;
175
+ taskProgress: {
176
+ total: number;
177
+ completed: number;
178
+ failed: number;
179
+ running: number;
180
+ };
181
+ createdAt: string;
182
+ baseVersion?: number; // For incremental checkpoints
183
+ }
184
+ ```
185
+
186
+ ## Storage Format
187
+
188
+ Checkpoints are stored as JSON files:
189
+
190
+ ```
191
+ checkpoints/
192
+ +-- jobs/
193
+ +-- job-123/
194
+ +-- index.json # Checkpoint index
195
+ +-- checkpoint-1.json # Full checkpoint
196
+ +-- checkpoint-2.delta.json # Incremental checkpoint
197
+ +-- checkpoint-3.json # Full checkpoint
198
+ ```
199
+
200
+ ## Performance
201
+
202
+ | Metric | Full Checkpoint | Incremental |
203
+ | -------- | ---------------- | ------------- |
204
+ | Storage | Baseline | 60-80% reduction |
205
+ | Write Speed | Baseline | 30-50% faster |
206
+ | Read Speed | Baseline |
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "@pi/checkpoint",
3
+ "version": "0.10.30",
4
+ "description": "Enhanced checkpoint system with incremental snapshots, diff-based storage, and recovery strategies",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
12
+ }
13
+ },
14
+ "scripts": {
15
+ "build": "tsc",
16
+ "test": "bun test",
17
+ "test:watch": "bun test --watch",
18
+ "lint": "eslint src --ext .ts",
19
+ "clean": "rm -rf dist"
20
+ },
21
+ "keywords": [
22
+ "checkpoint",
23
+ "snapshot",
24
+ "recovery",
25
+ "state"
26
+ ],
27
+ "author": "",
28
+ "license": "MIT",
29
+ "devDependencies": {
30
+ "@types/node": "^20.11.0",
31
+ "typescript": "^7.0.2"
32
+ }
33
+ }
@@ -0,0 +1,265 @@
1
+ /**
2
+ * Checkpoint Engine - Tests
3
+ */
4
+
5
+ import { describe, it, expect, beforeEach, afterAll } from "bun:test";
6
+ import { createCheckpointEngine, SDK_VERSION } from "../src/index.js";
7
+ import type { RuntimeState } from "../src/types.js";
8
+
9
+ describe("CheckpointEngine", () => {
10
+ describe("SDK_VERSION", () => {
11
+ it("should export SDK_VERSION", () => {
12
+ expect(SDK_VERSION).toBeDefined();
13
+ expect(typeof SDK_VERSION).toBe("string");
14
+ });
15
+ });
16
+
17
+ describe("createCheckpointEngine", () => {
18
+ it("should create a checkpoint engine instance", () => {
19
+ const engine = createCheckpointEngine({
20
+ rootDir: "/tmp/test-checkpoints",
21
+ });
22
+ expect(engine).toBeDefined();
23
+ });
24
+
25
+ it("should create with default config", () => {
26
+ const engine = createCheckpointEngine();
27
+ expect(engine).toBeDefined();
28
+ });
29
+ });
30
+
31
+ describe("save and load", () => {
32
+ const engine = createCheckpointEngine({
33
+ rootDir: "/tmp/checkpoint-test",
34
+ compression: false,
35
+ incremental: false,
36
+ autoPrune: false,
37
+ });
38
+
39
+ const testState: RuntimeState = {
40
+ version: 1,
41
+ jobId: "test-job-1",
42
+ status: "running",
43
+ requirement: "Test requirement",
44
+ tasks: [
45
+ {
46
+ id: "task-1",
47
+ title: "Task 1",
48
+ description: "First task",
49
+ status: "done",
50
+ },
51
+ {
52
+ id: "task-2",
53
+ title: "Task 2",
54
+ description: "Second task",
55
+ status: "pending",
56
+ },
57
+ ],
58
+ createdAt: new Date().toISOString(),
59
+ updatedAt: new Date().toISOString(),
60
+ };
61
+
62
+ it("should save a checkpoint", async () => {
63
+ const metadata = await engine.save("test-job-1", testState);
64
+
65
+ expect(metadata).toBeDefined();
66
+ expect(metadata.jobId).toBe("test-job-1");
67
+ expect(metadata.version).toBe(1);
68
+ expect(metadata.type).toBe("full");
69
+ });
70
+
71
+ it("should increment version on save", async () => {
72
+ const state2 = {
73
+ ...testState,
74
+ version: 2,
75
+ updatedAt: new Date().toISOString(),
76
+ };
77
+ const metadata = await engine.save("test-job-1", state2);
78
+
79
+ expect(metadata.version).toBe(2);
80
+ });
81
+
82
+ it("should load the latest checkpoint", async () => {
83
+ const loaded = await engine.load("test-job-1");
84
+
85
+ expect(loaded).toBeDefined();
86
+ expect(loaded?.jobId).toBe("test-job-1");
87
+ expect(loaded?.status).toBe("running");
88
+ });
89
+
90
+ it("should return null for non-existent job", async () => {
91
+ const loaded = await engine.load("non-existent-job");
92
+
93
+ expect(loaded).toBeNull();
94
+ });
95
+
96
+ it("should get metadata for all checkpoints", async () => {
97
+ const metadata = await engine.getMetadata("test-job-1");
98
+
99
+ expect(metadata.length).toBeGreaterThan(0);
100
+ expect(metadata[0].jobId).toBe("test-job-1");
101
+ });
102
+
103
+ it("should delete all checkpoints", async () => {
104
+ await engine.deleteAll("test-job-1");
105
+
106
+ const loaded = await engine.load("test-job-1");
107
+ expect(loaded).toBeNull();
108
+ });
109
+ });
110
+
111
+ describe("incremental checkpoints", () => {
112
+ const engine = createCheckpointEngine({
113
+ rootDir: "/tmp/checkpoint-incremental",
114
+ compression: false,
115
+ incremental: true,
116
+ autoPrune: false,
117
+ });
118
+
119
+ it("should save incremental checkpoint", async () => {
120
+ const state1: RuntimeState = {
121
+ version: 1,
122
+ jobId: "incremental-test",
123
+ status: "running",
124
+ requirement: "Test",
125
+ tasks: [],
126
+ createdAt: new Date().toISOString(),
127
+ updatedAt: new Date().toISOString(),
128
+ };
129
+
130
+ await engine.save("incremental-test", state1);
131
+
132
+ const state2: RuntimeState = {
133
+ ...state1,
134
+ version: 2,
135
+ status: "completed",
136
+ updatedAt: new Date().toISOString(),
137
+ };
138
+
139
+ const metadata = await engine.save("incremental-test", state2);
140
+
141
+ // Should be incremental after first full checkpoint
142
+ expect(["full", "incremental"]).toContain(metadata.type);
143
+ });
144
+
145
+ afterAll(async () => {
146
+ await engine.deleteAll("incremental-test");
147
+ });
148
+ });
149
+
150
+ describe("recovery", () => {
151
+ const engine = createCheckpointEngine({
152
+ rootDir: "/tmp/checkpoint-recovery",
153
+ compression: false,
154
+ incremental: false,
155
+ autoPrune: false,
156
+ });
157
+
158
+ beforeEach(async () => {
159
+ // Clear any stale checkpoints from previous runs so version starts at 1
160
+ await engine.deleteAll("recovery-test");
161
+
162
+ const state: RuntimeState = {
163
+ version: 1,
164
+ jobId: "recovery-test",
165
+ status: "running",
166
+ requirement: "Recovery test",
167
+ tasks: [],
168
+ createdAt: new Date().toISOString(),
169
+ updatedAt: new Date().toISOString(),
170
+ };
171
+ await engine.save("recovery-test", state);
172
+ });
173
+
174
+ it("should recover with latest strategy", async () => {
175
+ const result = await engine.recover("recovery-test", "latest");
176
+
177
+ expect(result.success).toBe(true);
178
+ expect(result.recoveredVersion).toBe(1);
179
+ expect(result.recoveredState?.jobId).toBe("recovery-test");
180
+ });
181
+
182
+ it("should recover with specific version", async () => {
183
+ const result = await engine.recover("recovery-test", "specific:1");
184
+
185
+ expect(result.success).toBe(true);
186
+ expect(result.recoveredVersion).toBe(1);
187
+ });
188
+
189
+ it("should fail for non-existent job", async () => {
190
+ const result = await engine.recover("non-existent", "latest");
191
+
192
+ expect(result.success).toBe(false);
193
+ });
194
+ });
195
+
196
+ describe("pruning", () => {
197
+ const engine = createCheckpointEngine({
198
+ rootDir: "/tmp/checkpoint-prune",
199
+ compression: false,
200
+ incremental: false,
201
+ autoPrune: false,
202
+ });
203
+
204
+ it("should prune old checkpoints", async () => {
205
+ // Create multiple checkpoints
206
+ for (let i = 1; i <= 5; i++) {
207
+ const state: RuntimeState = {
208
+ version: i,
209
+ jobId: "prune-test",
210
+ status: "running",
211
+ requirement: `Version ${i}`,
212
+ tasks: [],
213
+ createdAt: new Date().toISOString(),
214
+ updatedAt: new Date().toISOString(),
215
+ };
216
+ await engine.save("prune-test", state);
217
+ }
218
+
219
+ // Prune to keep only 2
220
+ const result = await engine.prune("prune-test", 2);
221
+
222
+ expect(result.deletedCount).toBeGreaterThan(0);
223
+ expect(result.remainingCount).toBe(2);
224
+ });
225
+
226
+ afterAll(async () => {
227
+ await engine.deleteAll("prune-test");
228
+ });
229
+ });
230
+
231
+ describe("verification", () => {
232
+ const engine = createCheckpointEngine({
233
+ rootDir: "/tmp/checkpoint-verify",
234
+ compression: false,
235
+ incremental: false,
236
+ autoPrune: false,
237
+ });
238
+
239
+ beforeEach(async () => {
240
+ const state: RuntimeState = {
241
+ version: 1,
242
+ jobId: "verify-test",
243
+ status: "running",
244
+ requirement: "Verify test",
245
+ tasks: [],
246
+ createdAt: new Date().toISOString(),
247
+ updatedAt: new Date().toISOString(),
248
+ };
249
+ await engine.save("verify-test", state);
250
+ });
251
+
252
+ it("should verify checkpoint", async () => {
253
+ const result = await engine.verify("verify-test", 1);
254
+
255
+ expect(result.valid).toBe(true);
256
+ expect(result.checksumMatch).toBe(true);
257
+ });
258
+
259
+ it("should fail verification for non-existent checkpoint", async () => {
260
+ const result = await engine.verify("verify-test", 999);
261
+
262
+ expect(result.valid).toBe(false);
263
+ });
264
+ });
265
+ });