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,591 @@
1
+ /**
2
+ * Workspace Manager — RFC-0026
3
+ *
4
+ * Manages workspace directories, worktrees, and cleanup for the harness runtime.
5
+ *
6
+ * Features:
7
+ * - Workspace lifecycle management
8
+ * - Worktree creation and cleanup
9
+ * - Disk usage tracking
10
+ * - Automatic cleanup policies
11
+ * - Workspace snapshots
12
+ */
13
+
14
+ import {
15
+ existsSync,
16
+ mkdirSync,
17
+ rmSync,
18
+ readdirSync,
19
+ statSync,
20
+ writeFileSync,
21
+ readFileSync,
22
+ cpSync,
23
+ } from "node:fs";
24
+ import { join } from "node:path";
25
+ import { homedir } from "node:os";
26
+ import { EventEmitter } from "node:events";
27
+
28
+ export interface Workspace {
29
+ id: string;
30
+ path: string;
31
+ createdAt: string;
32
+ lastAccessedAt: string;
33
+ owner: string; // jobId
34
+ purpose: string;
35
+ sizeBytes: number;
36
+ worktree?: string; // Git worktree path
37
+ isActive: boolean;
38
+ metadata: Record<string, unknown>;
39
+ }
40
+
41
+ export interface WorkspaceConfig {
42
+ /** Root directory for workspaces (default: ~/.pi/workspaces) */
43
+ rootDir?: string;
44
+ /** Maximum workspace age in days (default: 7) */
45
+ maxAgeDays?: number;
46
+ /** Maximum disk usage in bytes (default: 10GB) */
47
+ maxDiskUsage?: number;
48
+ /** Enable automatic cleanup (default: true) */
49
+ autoCleanup?: boolean;
50
+ /** Cleanup interval in ms (default: 1 hour) */
51
+ cleanupIntervalMs?: number;
52
+ /** Workspace prefix (default: ws-) */
53
+ prefix?: string;
54
+ }
55
+
56
+ export interface WorkspaceEvent {
57
+ workspaceId: string;
58
+ timestamp: string;
59
+ type: "created" | "accessed" | "cleaned" | "deleted" | "error";
60
+ details?: string;
61
+ }
62
+
63
+ const DEFAULT_CONFIG: Required<Omit<WorkspaceConfig, "rootDir">> = {
64
+ maxAgeDays: 7,
65
+ maxDiskUsage: 10 * 1024 * 1024 * 1024, // 10GB
66
+ autoCleanup: true,
67
+ cleanupIntervalMs: 3600000, // 1 hour
68
+ prefix: "ws-",
69
+ };
70
+
71
+ export class WorkspaceManager extends EventEmitter {
72
+ private readonly config: WorkspaceConfig;
73
+ private readonly rootDir: string;
74
+ private workspaces: Map<string, Workspace> = new Map();
75
+ private cleanupTimer: NodeJS.Timeout | null = null;
76
+ private manifestPath: string;
77
+
78
+ constructor(config: WorkspaceConfig = {}) {
79
+ super();
80
+ this.config = { ...DEFAULT_CONFIG, ...config };
81
+ this.rootDir = this.config.rootDir ?? join(homedir(), ".pi", "workspaces");
82
+ this.manifestPath = join(this.rootDir, "workspaces.json");
83
+
84
+ this.ensureRootDir();
85
+ this.loadManifest();
86
+ }
87
+
88
+ /**
89
+ * Create a new workspace
90
+ */
91
+ create(options: {
92
+ owner: string;
93
+ purpose: string;
94
+ fromTemplate?: string;
95
+ metadata?: Record<string, unknown>;
96
+ }): Workspace {
97
+ const id = this.generateId();
98
+ const path = join(this.rootDir, id);
99
+
100
+ // Create directory
101
+ mkdirSync(path, { recursive: true });
102
+
103
+ // Copy template if specified
104
+ if (options.fromTemplate && existsSync(options.fromTemplate)) {
105
+ this.copyDirectory(options.fromTemplate, path);
106
+ }
107
+
108
+ const workspace: Workspace = {
109
+ id,
110
+ path,
111
+ createdAt: new Date().toISOString(),
112
+ lastAccessedAt: new Date().toISOString(),
113
+ owner: options.owner,
114
+ purpose: options.purpose,
115
+ sizeBytes: this.calculateDirSize(path),
116
+ isActive: true,
117
+ metadata: options.metadata ?? {},
118
+ };
119
+
120
+ this.workspaces.set(id, workspace);
121
+ this.saveManifest();
122
+
123
+ this.emit("workspace", {
124
+ workspaceId: id,
125
+ timestamp: new Date().toISOString(),
126
+ type: "created",
127
+ details: `Created workspace for ${options.owner}: ${options.purpose}`,
128
+ });
129
+
130
+ return workspace;
131
+ }
132
+
133
+ /**
134
+ * Get a workspace by ID
135
+ */
136
+ get(id: string): Workspace | null {
137
+ const workspace = this.workspaces.get(id);
138
+ if (workspace) {
139
+ // Update last accessed
140
+ workspace.lastAccessedAt = new Date().toISOString();
141
+ this.saveManifest();
142
+ }
143
+ return workspace ?? null;
144
+ }
145
+
146
+ /**
147
+ * Get workspace by path
148
+ */
149
+ getByPath(path: string): Workspace | null {
150
+ for (const workspace of Array.from(this.workspaces.values())) {
151
+ if (workspace.path === path || workspace.path.startsWith(path + "/")) {
152
+ return workspace;
153
+ }
154
+ }
155
+ return null;
156
+ }
157
+
158
+ /**
159
+ * List all workspaces
160
+ */
161
+ list(filter?: {
162
+ owner?: string;
163
+ isActive?: boolean;
164
+ olderThan?: Date;
165
+ }): Workspace[] {
166
+ let result = Array.from(this.workspaces.values());
167
+
168
+ if (filter?.owner) {
169
+ result = result.filter((ws) => ws.owner === filter.owner);
170
+ }
171
+
172
+ if (filter?.isActive !== undefined) {
173
+ result = result.filter((ws) => ws.isActive === filter.isActive);
174
+ }
175
+
176
+ if (filter?.olderThan) {
177
+ result = result.filter(
178
+ (ws) => new Date(ws.lastAccessedAt) < filter.olderThan!,
179
+ );
180
+ }
181
+
182
+ return result;
183
+ }
184
+
185
+ /**
186
+ * Update workspace metadata
187
+ */
188
+ update(id: string, updates: Partial<Workspace>): boolean {
189
+ const workspace = this.workspaces.get(id);
190
+ if (!workspace) {
191
+ return false;
192
+ }
193
+
194
+ Object.assign(workspace, updates, {
195
+ lastAccessedAt: new Date().toISOString(),
196
+ });
197
+
198
+ this.saveManifest();
199
+ return true;
200
+ }
201
+
202
+ /**
203
+ * Mark workspace as complete (no longer active)
204
+ */
205
+ complete(id: string): boolean {
206
+ return this.update(id, { isActive: false });
207
+ }
208
+
209
+ /**
210
+ * Delete a workspace
211
+ */
212
+ delete(id: string, force: boolean = false): boolean {
213
+ const workspace = this.workspaces.get(id);
214
+ if (!workspace) {
215
+ return false;
216
+ }
217
+
218
+ // Check if active and not forced
219
+ if (workspace.isActive && !force) {
220
+ return false;
221
+ }
222
+
223
+ // Delete directory
224
+ try {
225
+ rmSync(workspace.path, { recursive: true, force: true });
226
+ } catch (error) {
227
+ this.emit("workspace", {
228
+ workspaceId: id,
229
+ timestamp: new Date().toISOString(),
230
+ type: "error",
231
+ details: `Failed to delete: ${error}`,
232
+ });
233
+ return false;
234
+ }
235
+
236
+ this.workspaces.delete(id);
237
+ this.saveManifest();
238
+
239
+ this.emit("workspace", {
240
+ workspaceId: id,
241
+ timestamp: new Date().toISOString(),
242
+ type: "deleted",
243
+ details: `Deleted workspace ${id}`,
244
+ });
245
+
246
+ return true;
247
+ }
248
+
249
+ /**
250
+ * Delete all workspaces for an owner
251
+ */
252
+ deleteByOwner(owner: string, force: boolean = false): number {
253
+ const toDelete = this.list({ owner, isActive: false });
254
+ let deleted = 0;
255
+
256
+ for (const workspace of toDelete) {
257
+ if (this.delete(workspace.id, force)) {
258
+ deleted++;
259
+ }
260
+ }
261
+
262
+ return deleted;
263
+ }
264
+
265
+ /**
266
+ * Get workspace disk usage
267
+ */
268
+ getDiskUsage(): { total: number; byOwner: Record<string, number> } {
269
+ const byOwner: Record<string, number> = {};
270
+ let total = 0;
271
+
272
+ for (const workspace of Array.from(this.workspaces.values())) {
273
+ const size = workspace.sizeBytes;
274
+ total += size;
275
+ byOwner[workspace.owner] = (byOwner[workspace.owner] ?? 0) + size;
276
+ }
277
+
278
+ return { total, byOwner };
279
+ }
280
+
281
+ /**
282
+ * Check if cleanup is needed
283
+ */
284
+ isCleanupNeeded(): boolean {
285
+ const usage = this.getDiskUsage();
286
+
287
+ // Check disk usage
288
+ const maxDisk = this.config.maxDiskUsage ?? DEFAULT_CONFIG.maxDiskUsage;
289
+ if (usage.total > maxDisk) {
290
+ return true;
291
+ }
292
+
293
+ // Check for old workspaces
294
+ const cutoff = new Date();
295
+ const maxAge = this.config.maxAgeDays ?? DEFAULT_CONFIG.maxAgeDays;
296
+ if (maxAge) {
297
+ cutoff.setDate(cutoff.getDate() - maxAge);
298
+ }
299
+
300
+ for (const workspace of Array.from(this.workspaces.values())) {
301
+ if (new Date(workspace.lastAccessedAt) < cutoff) {
302
+ return true;
303
+ }
304
+ }
305
+
306
+ return false;
307
+ }
308
+
309
+ /**
310
+ * Run cleanup
311
+ */
312
+ cleanup(options?: {
313
+ olderThanDays?: number;
314
+ owner?: string;
315
+ dryRun?: boolean;
316
+ }): { deleted: number; freedBytes: number; workspaces: string[] } {
317
+ const olderThan = new Date();
318
+ const daysToSubtract = options?.olderThanDays ?? this.config.maxAgeDays;
319
+ if (daysToSubtract) {
320
+ olderThan.setDate(olderThan.getDate() - daysToSubtract);
321
+ }
322
+
323
+ const toDelete = this.list({
324
+ owner: options?.owner,
325
+ isActive: false,
326
+ olderThan,
327
+ });
328
+
329
+ let deleted = 0;
330
+ let freedBytes = 0;
331
+ const deletedIds: string[] = [];
332
+
333
+ for (const workspace of Array.from(toDelete)) {
334
+ if (options?.dryRun) {
335
+ deletedIds.push(workspace.id);
336
+ freedBytes += workspace.sizeBytes;
337
+ deleted++;
338
+ } else {
339
+ if (this.delete(workspace.id, true)) {
340
+ deletedIds.push(workspace.id);
341
+ freedBytes += workspace.sizeBytes;
342
+ deleted++;
343
+
344
+ this.emit("workspace", {
345
+ workspaceId: workspace.id,
346
+ timestamp: new Date().toISOString(),
347
+ type: "cleaned",
348
+ details: `Cleaned up workspace (${freedBytes} bytes freed)`,
349
+ });
350
+ }
351
+ }
352
+ }
353
+
354
+ return { deleted, freedBytes, workspaces: deletedIds };
355
+ }
356
+
357
+ /**
358
+ * Create a worktree from a workspace
359
+ */
360
+ createWorktree(workspaceId: string, branchName: string): string | null {
361
+ const workspace = this.workspaces.get(workspaceId);
362
+ if (!workspace) {
363
+ return null;
364
+ }
365
+
366
+ const worktreePath = join(this.rootDir, `${workspaceId}-${branchName}`);
367
+
368
+ // This would typically use git worktree add
369
+ // For now, create a symlink-style directory
370
+ try {
371
+ cpSync(workspace.path, worktreePath, { recursive: true });
372
+ workspace.worktree = worktreePath;
373
+ this.saveManifest();
374
+
375
+ return worktreePath;
376
+ } catch {
377
+ return null;
378
+ }
379
+ }
380
+
381
+ /**
382
+ * Start automatic cleanup timer
383
+ */
384
+ startAutoCleanup(): void {
385
+ if (this.cleanupTimer) {
386
+ return;
387
+ }
388
+
389
+ this.cleanupTimer = setInterval(() => {
390
+ if (this.isCleanupNeeded()) {
391
+ this.cleanup();
392
+ }
393
+ }, this.config.cleanupIntervalMs);
394
+ }
395
+
396
+ /**
397
+ * Stop automatic cleanup timer
398
+ */
399
+ stopAutoCleanup(): void {
400
+ if (this.cleanupTimer) {
401
+ clearInterval(this.cleanupTimer);
402
+ this.cleanupTimer = null;
403
+ }
404
+ }
405
+
406
+ /**
407
+ * Snapshot a workspace
408
+ */
409
+ snapshot(workspaceId: string, name: string): string | null {
410
+ const workspace = this.workspaces.get(workspaceId);
411
+ if (!workspace) {
412
+ return null;
413
+ }
414
+
415
+ const snapshotDir = join(this.rootDir, ".snapshots", workspaceId);
416
+ const snapshotPath = join(snapshotDir, `${name}-${Date.now()}.tar.gz`);
417
+
418
+ try {
419
+ mkdirSync(snapshotDir, { recursive: true });
420
+ // In a real implementation, we'd use tar or a proper archive library
421
+ // For now, just copy the directory
422
+ cpSync(workspace.path, snapshotPath, { recursive: true });
423
+ return snapshotPath;
424
+ } catch {
425
+ return null;
426
+ }
427
+ }
428
+
429
+ /**
430
+ * Get workspace statistics
431
+ */
432
+ getStats(): {
433
+ total: number;
434
+ active: number;
435
+ totalSize: number;
436
+ oldest: string | null;
437
+ newest: string | null;
438
+ } {
439
+ let total = 0;
440
+ let active = 0;
441
+ let totalSize = 0;
442
+ let oldest: string | null = null;
443
+ let newest: string | null = null;
444
+ let oldestDate = new Date(0);
445
+ let newestDate = new Date(0);
446
+
447
+ for (const workspace of Array.from(this.workspaces.values())) {
448
+ total++;
449
+ totalSize += workspace.sizeBytes;
450
+
451
+ if (workspace.isActive) active++;
452
+
453
+ const created = new Date(workspace.createdAt);
454
+ if (created > newestDate) {
455
+ newestDate = created;
456
+ newest = workspace.id;
457
+ }
458
+ if (created < oldestDate) {
459
+ oldestDate = created;
460
+ oldest = workspace.id;
461
+ }
462
+ }
463
+
464
+ return { total, active, totalSize, oldest, newest };
465
+ }
466
+
467
+ /**
468
+ * Verify workspace integrity
469
+ */
470
+ verify(id: string): { exists: boolean; size: number; isAccessible: boolean } {
471
+ const workspace = this.workspaces.get(id);
472
+ if (!workspace) {
473
+ return { exists: false, size: 0, isAccessible: false };
474
+ }
475
+
476
+ const exists = existsSync(workspace.path);
477
+ let size = 0;
478
+ let isAccessible = false;
479
+
480
+ if (exists) {
481
+ try {
482
+ size = this.calculateDirSize(workspace.path);
483
+ isAccessible = true;
484
+
485
+ // Update stored size
486
+ this.update(id, { sizeBytes: size });
487
+ } catch {
488
+ isAccessible = false;
489
+ }
490
+ }
491
+
492
+ return { exists, size, isAccessible };
493
+ }
494
+
495
+ // ─── Private Methods ────────────────────────────────────────────────
496
+
497
+ private ensureRootDir(): void {
498
+ if (!existsSync(this.rootDir)) {
499
+ mkdirSync(this.rootDir, { recursive: true });
500
+ }
501
+ }
502
+
503
+ private generateId(): string {
504
+ const timestamp = Date.now().toString(36);
505
+ const random = Math.random().toString(36).substring(2, 8);
506
+ return `${this.config.prefix}${timestamp}-${random}`;
507
+ }
508
+
509
+ private calculateDirSize(dirPath: string): number {
510
+ if (!existsSync(dirPath)) {
511
+ return 0;
512
+ }
513
+
514
+ let size = 0;
515
+
516
+ try {
517
+ const entries = readdirSync(dirPath, { withFileTypes: true });
518
+
519
+ for (const entry of entries) {
520
+ const fullPath = join(dirPath, entry.name);
521
+
522
+ if (entry.isDirectory()) {
523
+ size += this.calculateDirSize(fullPath);
524
+ } else if (entry.isFile()) {
525
+ try {
526
+ size += statSync(fullPath).size;
527
+ } catch {
528
+ // Skip inaccessible files
529
+ }
530
+ }
531
+ }
532
+ } catch {
533
+ // Skip inaccessible directories
534
+ }
535
+
536
+ return size;
537
+ }
538
+
539
+ private copyDirectory(src: string, dest: string): void {
540
+ if (!existsSync(src)) {
541
+ return;
542
+ }
543
+
544
+ mkdirSync(dest, { recursive: true });
545
+ cpSync(src, dest, { recursive: true });
546
+ }
547
+
548
+ private loadManifest(): void {
549
+ if (!existsSync(this.manifestPath)) {
550
+ return;
551
+ }
552
+
553
+ try {
554
+ const data = readFileSync(this.manifestPath, "utf-8");
555
+ const workspaces = JSON.parse(data) as Workspace[];
556
+
557
+ for (const workspace of workspaces) {
558
+ this.workspaces.set(workspace.id, workspace);
559
+ }
560
+ } catch {
561
+ // Ignore corrupt manifest
562
+ }
563
+ }
564
+
565
+ private saveManifest(): void {
566
+ const workspaces = Array.from(this.workspaces.values());
567
+
568
+ try {
569
+ writeFileSync(
570
+ this.manifestPath,
571
+ JSON.stringify(workspaces, null, 2),
572
+ "utf-8",
573
+ );
574
+ } catch {
575
+ // Ignore save errors
576
+ }
577
+ }
578
+ }
579
+
580
+ /**
581
+ * Create a WorkspaceManager with default config for harness runtime
582
+ */
583
+ export function createHarnessWorkspaceManager(): WorkspaceManager {
584
+ return new WorkspaceManager({
585
+ rootDir: join(homedir(), ".pi", "harness", "workspaces"),
586
+ maxAgeDays: 7,
587
+ maxDiskUsage: 10 * 1024 * 1024 * 1024, // 10GB
588
+ autoCleanup: true,
589
+ cleanupIntervalMs: 3600000, // 1 hour
590
+ });
591
+ }
@@ -0,0 +1,3 @@
1
+ # packages/scheduler
2
+
3
+ Local scheduler and resume timers will live here.
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "@pi-harness/scheduler",
3
+ "version": "0.10.30",
4
+ "description": "pi-harness-runtime — scheduler",
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
+ "files": [
15
+ "dist"
16
+ ],
17
+ "scripts": {
18
+ "build": "tsc",
19
+ "test": "bun test"
20
+ },
21
+ "dependencies": {}
22
+ }