pi-harness-runtime 1.1.0 → 1.1.2

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 (612) hide show
  1. package/.pi/plugins/herdr-clipboard/herdr-plugin.toml +22 -0
  2. package/.pi/plugins/herdr-clipboard/start-bridge.sh +29 -0
  3. package/.pi/plugins/herdr-clipboard/tmux-watch.sh +39 -0
  4. package/CHANGELOG.md +175 -13
  5. package/README.md +87 -1
  6. package/config.toml.example +35 -0
  7. package/harness/autonomous-review.ts +5 -2
  8. package/harness/e2e/chatgpt-quota-scraper.ts +478 -0
  9. package/harness/e2e/glm-quota-scraper.ts +449 -0
  10. package/harness/herdr-agents.ts +6 -2
  11. package/harness/loop-code-agent.ts +4 -1
  12. package/harness/loop-review-agent.ts +5 -6
  13. package/harness/notification-events.ts +2 -2
  14. package/harness/task-graph.d.ts +51 -0
  15. package/index.ts +147 -2
  16. package/package.json +17 -16
  17. package/packages/a2a-adapter/dist/index.d.ts +1 -0
  18. package/packages/a2a-adapter/dist/index.d.ts.map +1 -1
  19. package/packages/a2a-adapter/dist/index.js +1 -0
  20. package/packages/a2a-adapter/dist/index.js.map +1 -1
  21. package/packages/a2a-adapter/package.json +1 -1
  22. package/packages/a2a-adapter/src/discovery.ts +106 -0
  23. package/packages/a2a-adapter/src/index.ts +8 -0
  24. package/packages/architecture-generator/package.json +21 -0
  25. package/packages/architecture-generator/src/adr.ts +51 -0
  26. package/packages/architecture-generator/src/index.ts +9 -0
  27. package/packages/architecture-generator/src/mermaid.ts +76 -0
  28. package/packages/architecture-generator/src/types.ts +30 -0
  29. package/packages/auth/package.json +1 -1
  30. package/packages/autonomous-refactor/package.json +1 -1
  31. package/packages/autonomous-runtime/package.json +1 -1
  32. package/packages/cache-strategy/package.json +1 -1
  33. package/packages/capability-registry/package.json +1 -1
  34. package/packages/checkpoint/package.json +1 -1
  35. package/packages/cli-plugin-sdk/package.json +2 -2
  36. package/packages/clipboard/package.json +1 -1
  37. package/packages/clipboard/src/copy-sync.ts +52 -3
  38. package/packages/clipboard/src/index.ts +1 -0
  39. package/packages/clipboard/src/paste-bridge.ts +86 -0
  40. package/packages/clipboard-plugin/package.json +17 -0
  41. package/packages/clipboard-plugin/src/index.ts +74 -0
  42. package/packages/clipboard-plugin/src/types.ts +30 -0
  43. package/packages/code-generation/package.json +1 -1
  44. package/packages/code-review/package.json +1 -1
  45. package/packages/codex-adapter/package.json +2 -2
  46. package/packages/config-capture/package.json +23 -0
  47. package/packages/config-capture/src/index.ts +357 -0
  48. package/packages/context-compiler/package.json +1 -1
  49. package/packages/context-discovery/package.json +1 -1
  50. package/packages/context-manager/package.json +1 -1
  51. package/packages/cookie-sanitizer/package.json +1 -1
  52. package/packages/cost-optimizer/package.json +1 -1
  53. package/packages/dependency-analyzer/package.json +1 -1
  54. package/packages/django-plugin/package.json +1 -1
  55. package/packages/doc-generator/package.json +1 -1
  56. package/packages/evaluation-engine/package.json +1 -1
  57. package/packages/evaluation-runner/package.json +1 -1
  58. package/packages/event-bus/package.json +1 -1
  59. package/packages/event-bus/src/herdr-bus.ts +4 -1
  60. package/packages/event-store/package.json +1 -1
  61. package/packages/experience-replay/package.json +1 -1
  62. package/packages/feedback-collector/package.json +1 -1
  63. package/packages/file-copy-helper/package.json +17 -0
  64. package/packages/file-copy-helper/src/extension.debug.ts +226 -0
  65. package/packages/file-copy-helper/src/extension.ts +226 -0
  66. package/packages/file-copy-helper/src/index.ts +1 -0
  67. package/packages/framework-detector/package.json +1 -1
  68. package/packages/framework-plugin-sdk/package.json +1 -1
  69. package/packages/frappe-plugin/package.json +1 -1
  70. package/packages/generic-web-plugin/package.json +1 -1
  71. package/packages/health-monitor/package.json +1 -1
  72. package/packages/intent-analyzer/package.json +1 -1
  73. package/packages/knowledge-graph/package.json +24 -0
  74. package/packages/knowledge-graph/src/graph-extractor.ts +338 -0
  75. package/packages/knowledge-graph/src/index.ts +27 -0
  76. package/packages/knowledge-graph/src/mcp-client.ts +237 -0
  77. package/packages/knowledge-graph/src/provenance-linker.ts +101 -0
  78. package/packages/knowledge-graph/src/types.ts +86 -0
  79. package/packages/knowledge-retrieval/package.json +25 -0
  80. package/packages/knowledge-retrieval/src/index.ts +18 -0
  81. package/packages/knowledge-retrieval/src/mcp-client.ts +212 -0
  82. package/packages/knowledge-retrieval/src/types.ts +112 -0
  83. package/packages/laravel-plugin/package.json +1 -1
  84. package/packages/learning-engine/package.json +1 -1
  85. package/packages/mcp-adapter/package.json +1 -1
  86. package/packages/memory-engine/package.json +1 -1
  87. package/packages/milestone-manager/package.json +21 -0
  88. package/packages/milestone-manager/src/engine.ts +105 -0
  89. package/packages/milestone-manager/src/index.ts +6 -0
  90. package/packages/milestone-manager/src/types.ts +28 -0
  91. package/packages/model-registry/package.json +1 -1
  92. package/packages/nextjs-plugin/package.json +1 -1
  93. package/packages/notification/package.json +1 -1
  94. package/packages/notification/src/adapters/line-adapter.ts +119 -0
  95. package/packages/notification/src/index.ts +1 -0
  96. package/packages/notification/src/notification-center.ts +6 -0
  97. package/packages/notification/src/types.ts +7 -2
  98. package/packages/observability/package.json +1 -1
  99. package/packages/okf-indexer/package.json +12 -0
  100. package/packages/okf-indexer/src/cli.ts +25 -0
  101. package/packages/okf-indexer/src/indexer.ts +186 -0
  102. package/packages/performance-optimizer/package.json +1 -1
  103. package/packages/privilege-broker/package.json +1 -1
  104. package/packages/project-analyzer/package.json +1 -1
  105. package/packages/project-bootstrap/package.json +24 -0
  106. package/packages/project-bootstrap/src/bootstrap.ts +166 -0
  107. package/packages/project-bootstrap/src/frappe.ts +97 -0
  108. package/packages/project-bootstrap/src/index.ts +27 -0
  109. package/packages/project-bootstrap/src/minimal.ts +45 -0
  110. package/packages/project-bootstrap/src/types.ts +66 -0
  111. package/packages/project-bootstrap/src/typescript.ts +114 -0
  112. package/packages/projection-engine/package.json +1 -1
  113. package/packages/prompt-compiler/package.json +1 -1
  114. package/packages/prompt-versioning/package.json +1 -1
  115. package/packages/provider-adapter-sdk/package.json +1 -1
  116. package/packages/provider-router/dist/src/types.js +1 -1
  117. package/packages/provider-router/package.json +1 -1
  118. package/packages/provider-selector/package.json +1 -1
  119. package/packages/providers/package.json +1 -1
  120. package/packages/providers/src/adapters.ts +1 -1
  121. package/packages/providers/src/deepagents-adapter.ts +2 -2
  122. package/packages/quota-manager/package.json +1 -1
  123. package/packages/quota-manager/src/quota-manager.ts +1 -4
  124. package/packages/rate-limiter/package.json +1 -1
  125. package/packages/react-vite-plugin/package.json +1 -1
  126. package/packages/release-manager/package.json +1 -1
  127. package/packages/requirement-compiler/package.json +1 -1
  128. package/packages/runtime/package.json +1 -1
  129. package/packages/runtime/src/runtime-api.ts +16 -16
  130. package/packages/scheduler/package.json +1 -1
  131. package/packages/scheduler-adapter/package.json +1 -1
  132. package/packages/session/dist/manager.d.ts.map +1 -1
  133. package/packages/session/dist/manager.js +3 -1
  134. package/packages/session/dist/manager.js.map +1 -1
  135. package/packages/session/package.json +1 -1
  136. package/packages/session/src/manager.ts +4 -1
  137. package/packages/session-api/package.json +1 -1
  138. package/packages/session-export/package.json +1 -1
  139. package/packages/shared-context/package.json +1 -1
  140. package/packages/skill-registry/package.json +1 -1
  141. package/packages/sprint-planner/package.json +1 -1
  142. package/packages/subscription-engine/package.json +1 -1
  143. package/packages/task-compiler/package.json +1 -1
  144. package/packages/tencentdb-memory/package.json +23 -0
  145. package/packages/tencentdb-memory/src/client.ts +130 -0
  146. package/packages/tencentdb-memory/src/index.ts +32 -0
  147. package/packages/tencentdb-memory/src/loader.ts +150 -0
  148. package/packages/tencentdb-memory/src/mcp-tools.ts +213 -0
  149. package/packages/tencentdb-memory/src/types.ts +101 -0
  150. package/packages/tencentdb-sync/package.json +26 -0
  151. package/packages/tencentdb-sync/src/cli.ts +363 -0
  152. package/packages/tencentdb-sync/src/client.ts +268 -0
  153. package/packages/tencentdb-sync/src/config.ts +139 -0
  154. package/packages/tencentdb-sync/src/index.ts +15 -0
  155. package/packages/test-data-generator/package.json +1 -1
  156. package/packages/test-generator/package.json +1 -1
  157. package/packages/todo-bd-sync/package.json +1 -1
  158. package/packages/todo-bd-sync/src/detector.ts +25 -4
  159. package/packages/todo-bd-sync/src/extension.ts +8 -86
  160. package/packages/todo-bd-sync/src/task-analyzer.ts +314 -0
  161. package/packages/token-estimation/package.json +1 -1
  162. package/packages/token-optimizer/package.json +1 -1
  163. package/packages/tui/package.json +1 -1
  164. package/packages/types/package.json +1 -1
  165. package/packages/types/src/agent-worker-types.d.ts +206 -0
  166. package/packages/types/src/ai-providers.d.ts +36 -0
  167. package/packages/types/src/runtime-types.d.ts +6 -0
  168. package/packages/workflow-events/package.json +1 -1
  169. package/packages/workspace-scanner/package.json +1 -1
  170. package/packages/worktree/package.json +1 -1
  171. package/packages/worktree/src/worktree.ts +1 -4
  172. package/packages/write-review/package.json +22 -0
  173. package/packages/write-review/src/blackboard.ts +249 -0
  174. package/packages/write-review/src/gate.ts +169 -0
  175. package/packages/write-review/src/index.ts +65 -0
  176. package/packages/write-review/src/injection.ts +190 -0
  177. package/packages/write-review/src/review.ts +206 -0
  178. package/packages/write-review/src/trigger.ts +133 -0
  179. package/packages/write-review/src/types.ts +90 -0
  180. package/prompts/agents/reviewer.md +57 -0
  181. package/prompts/agents/writer.md +42 -0
  182. package/prompts/slash-commands.md +40 -0
  183. package/prompts/tencentdb-connect.md +35 -0
  184. package/prompts/tencentdb-setup.md +101 -0
  185. package/prompts/tencentdb.md +88 -0
  186. package/prompts/write-review.md +50 -0
  187. package/scripts/check-version-sync.ts +80 -0
  188. package/scripts/convert-skills-to-okf.ts +168 -0
  189. package/scripts/copy-plugins.js +56 -0
  190. package/scripts/gist-auth.ts +64 -0
  191. package/scripts/gist-poll.sh +127 -0
  192. package/scripts/release/actions-monitor.ts +357 -0
  193. package/scripts/release/adapters/base.ts +95 -0
  194. package/scripts/release/adapters/detector.ts +181 -0
  195. package/scripts/release/adapters/node-workspace.ts +230 -0
  196. package/scripts/release/adapters/python.ts +236 -0
  197. package/scripts/release/adapters/rust.ts +129 -0
  198. package/scripts/release/adapters/tauri.ts +298 -0
  199. package/scripts/release/orchestrator.ts +278 -0
  200. package/scripts/release-all.ts +211 -0
  201. package/scripts/scan-secrets.sh +68 -0
  202. package/scripts/skills-sync.ts +487 -0
  203. package/packages/a2a-adapter/tsconfig.json +0 -5
  204. package/packages/auth/dist/minimax-browser-auth.d.ts +0 -89
  205. package/packages/auth/dist/minimax-browser-auth.d.ts.map +0 -1
  206. package/packages/auth/dist/minimax-browser-auth.js +0 -890
  207. package/packages/auth/dist/minimax-browser-auth.js.map +0 -1
  208. package/packages/auth/dist/run-minimax-auth.d.ts +0 -19
  209. package/packages/auth/dist/run-minimax-auth.d.ts.map +0 -1
  210. package/packages/auth/dist/run-minimax-auth.js +0 -112
  211. package/packages/auth/dist/run-minimax-auth.js.map +0 -1
  212. package/packages/auth/tsconfig.json +0 -9
  213. package/packages/autonomous-refactor/tsconfig.json +0 -5
  214. package/packages/autonomous-runtime/test/inbox.test.mjs +0 -266
  215. package/packages/autonomous-runtime/tsconfig.json +0 -22
  216. package/packages/autonomous-runtime/tsconfig.tsbuildinfo +0 -1
  217. package/packages/cache-strategy/tsconfig.json +0 -5
  218. package/packages/capability-registry/src/types.d.ts.map +0 -1
  219. package/packages/capability-registry/src/types.js +0 -10
  220. package/packages/capability-registry/src/types.js.map +0 -1
  221. package/packages/capability-registry/tsconfig.json +0 -22
  222. package/packages/checkpoint/tsconfig.json +0 -33
  223. package/packages/checkpoint/tsconfig.tsbuildinfo +0 -1
  224. package/packages/cli-plugin-sdk/tsconfig.json +0 -11
  225. package/packages/clipboard/dist/src/clipboard.d.ts +0 -11
  226. package/packages/clipboard/dist/src/clipboard.d.ts.map +0 -1
  227. package/packages/clipboard/dist/src/clipboard.js +0 -51
  228. package/packages/clipboard/dist/src/clipboard.js.map +0 -1
  229. package/packages/clipboard/dist/src/copy-sync.d.ts +0 -27
  230. package/packages/clipboard/dist/src/copy-sync.d.ts.map +0 -1
  231. package/packages/clipboard/dist/src/copy-sync.js +0 -170
  232. package/packages/clipboard/dist/src/copy-sync.js.map +0 -1
  233. package/packages/clipboard/dist/src/gist-relay.d.ts +0 -48
  234. package/packages/clipboard/dist/src/gist-relay.d.ts.map +0 -1
  235. package/packages/clipboard/dist/src/gist-relay.js +0 -186
  236. package/packages/clipboard/dist/src/gist-relay.js.map +0 -1
  237. package/packages/clipboard/dist/src/github-login.d.ts +0 -16
  238. package/packages/clipboard/dist/src/github-login.d.ts.map +0 -1
  239. package/packages/clipboard/dist/src/github-login.js +0 -69
  240. package/packages/clipboard/dist/src/github-login.js.map +0 -1
  241. package/packages/clipboard/dist/src/index.d.ts +0 -4
  242. package/packages/clipboard/dist/src/index.d.ts.map +0 -1
  243. package/packages/clipboard/dist/src/index.js +0 -3
  244. package/packages/clipboard/dist/src/index.js.map +0 -1
  245. package/packages/clipboard/dist/src/types.d.ts +0 -13
  246. package/packages/clipboard/dist/src/types.d.ts.map +0 -1
  247. package/packages/clipboard/dist/src/types.js +0 -5
  248. package/packages/clipboard/dist/src/types.js.map +0 -1
  249. package/packages/clipboard/test/mojibake.test.mjs +0 -143
  250. package/packages/clipboard/tsconfig.json +0 -10
  251. package/packages/code-generation/tsconfig.json +0 -33
  252. package/packages/code-generation/tsconfig.tsbuildinfo +0 -1
  253. package/packages/code-review/tsconfig.json +0 -33
  254. package/packages/code-review/tsconfig.tsbuildinfo +0 -1
  255. package/packages/codex-adapter/tsconfig.json +0 -5
  256. package/packages/context-compiler/tsconfig.json +0 -17
  257. package/packages/context-discovery/dist/src/discover.d.ts +0 -3
  258. package/packages/context-discovery/dist/src/discover.d.ts.map +0 -1
  259. package/packages/context-discovery/dist/src/discover.js +0 -42
  260. package/packages/context-discovery/dist/src/discover.js.map +0 -1
  261. package/packages/context-discovery/dist/src/discovery.d.ts +0 -28
  262. package/packages/context-discovery/dist/src/discovery.d.ts.map +0 -1
  263. package/packages/context-discovery/dist/src/discovery.js +0 -21
  264. package/packages/context-discovery/dist/src/discovery.js.map +0 -1
  265. package/packages/context-discovery/dist/src/index.d.ts +0 -3
  266. package/packages/context-discovery/dist/src/index.d.ts.map +0 -1
  267. package/packages/context-discovery/dist/src/index.js +0 -2
  268. package/packages/context-discovery/dist/src/index.js.map +0 -1
  269. package/packages/context-discovery/dist/src/types.d.ts +0 -16
  270. package/packages/context-discovery/dist/src/types.d.ts.map +0 -1
  271. package/packages/context-discovery/dist/src/types.js +0 -2
  272. package/packages/context-discovery/dist/src/types.js.map +0 -1
  273. package/packages/context-discovery/tsconfig.json +0 -10
  274. package/packages/context-manager/tsconfig.json +0 -6
  275. package/packages/cookie-sanitizer/tsconfig.json +0 -8
  276. package/packages/cost-optimizer/tsconfig.json +0 -22
  277. package/packages/dependency-analyzer/dist/src/analyzer.d.ts +0 -17
  278. package/packages/dependency-analyzer/dist/src/analyzer.d.ts.map +0 -1
  279. package/packages/dependency-analyzer/dist/src/analyzer.js +0 -119
  280. package/packages/dependency-analyzer/dist/src/analyzer.js.map +0 -1
  281. package/packages/dependency-analyzer/dist/src/imports.d.ts +0 -12
  282. package/packages/dependency-analyzer/dist/src/imports.d.ts.map +0 -1
  283. package/packages/dependency-analyzer/dist/src/imports.js +0 -73
  284. package/packages/dependency-analyzer/dist/src/imports.js.map +0 -1
  285. package/packages/dependency-analyzer/dist/src/index.d.ts +0 -4
  286. package/packages/dependency-analyzer/dist/src/index.d.ts.map +0 -1
  287. package/packages/dependency-analyzer/dist/src/index.js +0 -3
  288. package/packages/dependency-analyzer/dist/src/index.js.map +0 -1
  289. package/packages/dependency-analyzer/dist/src/types.d.ts +0 -28
  290. package/packages/dependency-analyzer/dist/src/types.d.ts.map +0 -1
  291. package/packages/dependency-analyzer/dist/src/types.js +0 -5
  292. package/packages/dependency-analyzer/dist/src/types.js.map +0 -1
  293. package/packages/dependency-analyzer/test/analyzer.test.js +0 -37
  294. package/packages/dependency-analyzer/tsconfig.json +0 -10
  295. package/packages/django-plugin/tsconfig.json +0 -12
  296. package/packages/doc-generator/tsconfig.json +0 -6
  297. package/packages/evaluation-engine/tsconfig.json +0 -8
  298. package/packages/evaluation-runner/tsconfig.json +0 -5
  299. package/packages/event-bus/dist/src/bus.d.ts +0 -15
  300. package/packages/event-bus/dist/src/bus.d.ts.map +0 -1
  301. package/packages/event-bus/dist/src/bus.js +0 -98
  302. package/packages/event-bus/dist/src/bus.js.map +0 -1
  303. package/packages/event-bus/dist/src/herdr-bus.d.ts +0 -121
  304. package/packages/event-bus/dist/src/herdr-bus.d.ts.map +0 -1
  305. package/packages/event-bus/dist/src/herdr-bus.js +0 -322
  306. package/packages/event-bus/dist/src/herdr-bus.js.map +0 -1
  307. package/packages/event-bus/dist/src/index.d.ts +0 -6
  308. package/packages/event-bus/dist/src/index.d.ts.map +0 -1
  309. package/packages/event-bus/dist/src/index.js +0 -4
  310. package/packages/event-bus/dist/src/index.js.map +0 -1
  311. package/packages/event-bus/dist/src/types.d.ts +0 -27
  312. package/packages/event-bus/dist/src/types.d.ts.map +0 -1
  313. package/packages/event-bus/dist/src/types.js +0 -10
  314. package/packages/event-bus/dist/src/types.js.map +0 -1
  315. package/packages/event-bus/tsconfig.json +0 -10
  316. package/packages/event-store/dist/src/index.d.ts +0 -3
  317. package/packages/event-store/dist/src/index.d.ts.map +0 -1
  318. package/packages/event-store/dist/src/index.js +0 -2
  319. package/packages/event-store/dist/src/index.js.map +0 -1
  320. package/packages/event-store/dist/src/store.d.ts +0 -15
  321. package/packages/event-store/dist/src/store.d.ts.map +0 -1
  322. package/packages/event-store/dist/src/store.js +0 -139
  323. package/packages/event-store/dist/src/store.js.map +0 -1
  324. package/packages/event-store/dist/src/types.d.ts +0 -48
  325. package/packages/event-store/dist/src/types.d.ts.map +0 -1
  326. package/packages/event-store/dist/src/types.js +0 -5
  327. package/packages/event-store/dist/src/types.js.map +0 -1
  328. package/packages/event-store/src/types.d.ts.map +0 -1
  329. package/packages/event-store/src/types.js +0 -5
  330. package/packages/event-store/src/types.js.map +0 -1
  331. package/packages/event-store/tsconfig.json +0 -10
  332. package/packages/experience-replay/tsconfig.json +0 -8
  333. package/packages/feedback-collector/tsconfig.json +0 -5
  334. package/packages/framework-detector/tsconfig.json +0 -33
  335. package/packages/framework-detector/tsconfig.tsbuildinfo +0 -1
  336. package/packages/framework-plugin-sdk/tsconfig.json +0 -33
  337. package/packages/framework-plugin-sdk/tsconfig.tsbuildinfo +0 -1
  338. package/packages/frappe-plugin/tsconfig.json +0 -12
  339. package/packages/generic-web-plugin/tsconfig.json +0 -12
  340. package/packages/health-monitor/tsconfig.json +0 -5
  341. package/packages/intent-analyzer/dist/src/analyzer.d.ts +0 -13
  342. package/packages/intent-analyzer/dist/src/analyzer.d.ts.map +0 -1
  343. package/packages/intent-analyzer/dist/src/analyzer.js +0 -239
  344. package/packages/intent-analyzer/dist/src/analyzer.js.map +0 -1
  345. package/packages/intent-analyzer/dist/src/index.d.ts +0 -3
  346. package/packages/intent-analyzer/dist/src/index.d.ts.map +0 -1
  347. package/packages/intent-analyzer/dist/src/index.js +0 -2
  348. package/packages/intent-analyzer/dist/src/index.js.map +0 -1
  349. package/packages/intent-analyzer/dist/src/types.d.ts +0 -26
  350. package/packages/intent-analyzer/dist/src/types.d.ts.map +0 -1
  351. package/packages/intent-analyzer/dist/src/types.js +0 -7
  352. package/packages/intent-analyzer/dist/src/types.js.map +0 -1
  353. package/packages/intent-analyzer/tsconfig.json +0 -10
  354. package/packages/laravel-plugin/tsconfig.json +0 -12
  355. package/packages/learning-engine/tsconfig.json +0 -8
  356. package/packages/mcp-adapter/tsconfig.json +0 -8
  357. package/packages/memory-engine/tsconfig.json +0 -8
  358. package/packages/model-registry/src/types.d.ts.map +0 -1
  359. package/packages/model-registry/src/types.js +0 -5
  360. package/packages/model-registry/src/types.js.map +0 -1
  361. package/packages/model-registry/tsconfig.json +0 -22
  362. package/packages/nextjs-plugin/tsconfig.json +0 -12
  363. package/packages/notification/dist/adapters/email-adapter.d.ts +0 -17
  364. package/packages/notification/dist/adapters/email-adapter.d.ts.map +0 -1
  365. package/packages/notification/dist/adapters/email-adapter.js +0 -89
  366. package/packages/notification/dist/adapters/email-adapter.js.map +0 -1
  367. package/packages/notification/dist/adapters/ntfy-adapter.d.ts +0 -17
  368. package/packages/notification/dist/adapters/ntfy-adapter.d.ts.map +0 -1
  369. package/packages/notification/dist/adapters/ntfy-adapter.js +0 -84
  370. package/packages/notification/dist/adapters/ntfy-adapter.js.map +0 -1
  371. package/packages/notification/dist/adapters/telegram-adapter.d.ts +0 -17
  372. package/packages/notification/dist/adapters/telegram-adapter.d.ts.map +0 -1
  373. package/packages/notification/dist/adapters/telegram-adapter.js +0 -88
  374. package/packages/notification/dist/adapters/telegram-adapter.js.map +0 -1
  375. package/packages/notification/dist/adapters/webhook-adapter.d.ts +0 -15
  376. package/packages/notification/dist/adapters/webhook-adapter.d.ts.map +0 -1
  377. package/packages/notification/dist/adapters/webhook-adapter.js +0 -64
  378. package/packages/notification/dist/adapters/webhook-adapter.js.map +0 -1
  379. package/packages/notification/dist/base-adapter.d.ts +0 -36
  380. package/packages/notification/dist/base-adapter.d.ts.map +0 -1
  381. package/packages/notification/dist/base-adapter.js +0 -39
  382. package/packages/notification/dist/base-adapter.js.map +0 -1
  383. package/packages/notification/dist/index.d.ts +0 -9
  384. package/packages/notification/dist/index.d.ts.map +0 -1
  385. package/packages/notification/dist/index.js +0 -9
  386. package/packages/notification/dist/index.js.map +0 -1
  387. package/packages/notification/dist/notification-center.d.ts +0 -46
  388. package/packages/notification/dist/notification-center.d.ts.map +0 -1
  389. package/packages/notification/dist/notification-center.js +0 -228
  390. package/packages/notification/dist/notification-center.js.map +0 -1
  391. package/packages/notification/dist/types.d.ts +0 -65
  392. package/packages/notification/dist/types.d.ts.map +0 -1
  393. package/packages/notification/dist/types.js +0 -7
  394. package/packages/notification/dist/types.js.map +0 -1
  395. package/packages/notification/tsconfig.json +0 -8
  396. package/packages/observability/tsconfig.json +0 -33
  397. package/packages/observability/tsconfig.tsbuildinfo +0 -1
  398. package/packages/performance-optimizer/tsconfig.json +0 -8
  399. package/packages/privilege-broker/config/privileges.yaml.example +0 -172
  400. package/packages/privilege-broker/tsconfig.json +0 -22
  401. package/packages/privilege-broker/tsconfig.tsbuildinfo +0 -1
  402. package/packages/project-analyzer/tsconfig.json +0 -33
  403. package/packages/project-analyzer/tsconfig.tsbuildinfo +0 -1
  404. package/packages/projection-engine/dist/src/engine.d.ts +0 -61
  405. package/packages/projection-engine/dist/src/engine.d.ts.map +0 -1
  406. package/packages/projection-engine/dist/src/engine.js +0 -87
  407. package/packages/projection-engine/dist/src/engine.js.map +0 -1
  408. package/packages/projection-engine/dist/src/index.d.ts +0 -2
  409. package/packages/projection-engine/dist/src/index.d.ts.map +0 -1
  410. package/packages/projection-engine/dist/src/index.js +0 -2
  411. package/packages/projection-engine/dist/src/index.js.map +0 -1
  412. package/packages/projection-engine/dist/src/project.d.ts +0 -3
  413. package/packages/projection-engine/dist/src/project.d.ts.map +0 -1
  414. package/packages/projection-engine/dist/src/project.js +0 -24
  415. package/packages/projection-engine/dist/src/project.js.map +0 -1
  416. package/packages/projection-engine/dist/src/types.d.ts +0 -55
  417. package/packages/projection-engine/dist/src/types.d.ts.map +0 -1
  418. package/packages/projection-engine/dist/src/types.js +0 -5
  419. package/packages/projection-engine/dist/src/types.js.map +0 -1
  420. package/packages/projection-engine/src/types.d.ts.map +0 -1
  421. package/packages/projection-engine/src/types.js +0 -5
  422. package/packages/projection-engine/src/types.js.map +0 -1
  423. package/packages/projection-engine/tsconfig.json +0 -10
  424. package/packages/prompt-compiler/tsconfig.json +0 -19
  425. package/packages/prompt-versioning/tsconfig.json +0 -5
  426. package/packages/provider-adapter-sdk/dist/tsconfig.tsbuildinfo +0 -1
  427. package/packages/provider-adapter-sdk/tsconfig.json +0 -34
  428. package/packages/provider-adapter-sdk/tsconfig.tsbuildinfo +0 -1
  429. package/packages/provider-router/tsconfig.json +0 -20
  430. package/packages/provider-selector/tsconfig.json +0 -6
  431. package/packages/providers/dist/adapters.d.ts +0 -133
  432. package/packages/providers/dist/adapters.d.ts.map +0 -1
  433. package/packages/providers/dist/adapters.js +0 -236
  434. package/packages/providers/dist/adapters.js.map +0 -1
  435. package/packages/providers/dist/deepagents-adapter.d.ts +0 -78
  436. package/packages/providers/dist/deepagents-adapter.d.ts.map +0 -1
  437. package/packages/providers/dist/deepagents-adapter.js +0 -323
  438. package/packages/providers/dist/deepagents-adapter.js.map +0 -1
  439. package/packages/providers/dist/glm-usage.d.ts +0 -102
  440. package/packages/providers/dist/glm-usage.d.ts.map +0 -1
  441. package/packages/providers/dist/glm-usage.js +0 -197
  442. package/packages/providers/dist/glm-usage.js.map +0 -1
  443. package/packages/providers/dist/index.d.ts +0 -11
  444. package/packages/providers/dist/index.d.ts.map +0 -1
  445. package/packages/providers/dist/index.js +0 -11
  446. package/packages/providers/dist/index.js.map +0 -1
  447. package/packages/providers/dist/openai-usage.d.ts +0 -103
  448. package/packages/providers/dist/openai-usage.d.ts.map +0 -1
  449. package/packages/providers/dist/openai-usage.js +0 -208
  450. package/packages/providers/dist/openai-usage.js.map +0 -1
  451. package/packages/providers/dist/provider-id.d.ts +0 -46
  452. package/packages/providers/dist/provider-id.d.ts.map +0 -1
  453. package/packages/providers/dist/provider-id.js +0 -113
  454. package/packages/providers/dist/provider-id.js.map +0 -1
  455. package/packages/providers/tsconfig.json +0 -8
  456. package/packages/quota-manager/dist/examples/tui-usage-integration.d.ts +0 -35
  457. package/packages/quota-manager/dist/examples/tui-usage-integration.d.ts.map +0 -1
  458. package/packages/quota-manager/dist/examples/tui-usage-integration.js +0 -73
  459. package/packages/quota-manager/dist/examples/tui-usage-integration.js.map +0 -1
  460. package/packages/quota-manager/dist/index.d.ts +0 -8
  461. package/packages/quota-manager/dist/index.d.ts.map +0 -1
  462. package/packages/quota-manager/dist/index.js +0 -8
  463. package/packages/quota-manager/dist/index.js.map +0 -1
  464. package/packages/quota-manager/dist/quota-manager.d.ts +0 -70
  465. package/packages/quota-manager/dist/quota-manager.d.ts.map +0 -1
  466. package/packages/quota-manager/dist/quota-manager.js +0 -260
  467. package/packages/quota-manager/dist/quota-manager.js.map +0 -1
  468. package/packages/quota-manager/dist/tui-usage-monitor.d.ts +0 -96
  469. package/packages/quota-manager/dist/tui-usage-monitor.d.ts.map +0 -1
  470. package/packages/quota-manager/dist/tui-usage-monitor.js +0 -268
  471. package/packages/quota-manager/dist/tui-usage-monitor.js.map +0 -1
  472. package/packages/quota-manager/tsconfig.json +0 -8
  473. package/packages/rate-limiter/tsconfig.json +0 -5
  474. package/packages/react-vite-plugin/tsconfig.json +0 -12
  475. package/packages/release-manager/tsconfig.json +0 -5
  476. package/packages/requirement-compiler/tsconfig.json +0 -22
  477. package/packages/runtime/dist/command-executor.d.ts +0 -129
  478. package/packages/runtime/dist/command-executor.d.ts.map +0 -1
  479. package/packages/runtime/dist/command-executor.js +0 -383
  480. package/packages/runtime/dist/command-executor.js.map +0 -1
  481. package/packages/runtime/dist/index.d.ts +0 -11
  482. package/packages/runtime/dist/index.d.ts.map +0 -1
  483. package/packages/runtime/dist/index.js +0 -11
  484. package/packages/runtime/dist/index.js.map +0 -1
  485. package/packages/runtime/dist/local-runtime-agent.d.ts +0 -111
  486. package/packages/runtime/dist/local-runtime-agent.d.ts.map +0 -1
  487. package/packages/runtime/dist/local-runtime-agent.js +0 -356
  488. package/packages/runtime/dist/local-runtime-agent.js.map +0 -1
  489. package/packages/runtime/dist/policy-engine.d.ts +0 -203
  490. package/packages/runtime/dist/policy-engine.d.ts.map +0 -1
  491. package/packages/runtime/dist/policy-engine.js +0 -592
  492. package/packages/runtime/dist/policy-engine.js.map +0 -1
  493. package/packages/runtime/dist/runtime-api.d.ts +0 -137
  494. package/packages/runtime/dist/runtime-api.d.ts.map +0 -1
  495. package/packages/runtime/dist/runtime-api.js +0 -454
  496. package/packages/runtime/dist/runtime-api.js.map +0 -1
  497. package/packages/runtime/dist/workspace-manager.d.ts +0 -162
  498. package/packages/runtime/dist/workspace-manager.d.ts.map +0 -1
  499. package/packages/runtime/dist/workspace-manager.js +0 -451
  500. package/packages/runtime/dist/workspace-manager.js.map +0 -1
  501. package/packages/runtime/tsconfig.json +0 -8
  502. package/packages/scheduler-adapter/tsconfig.json +0 -22
  503. package/packages/scheduler-adapter/tsconfig.tsbuildinfo +0 -1
  504. package/packages/session/tsconfig.json +0 -33
  505. package/packages/session/tsconfig.tsbuildinfo +0 -1
  506. package/packages/session-api/dist/src/api.d.ts +0 -83
  507. package/packages/session-api/dist/src/api.d.ts.map +0 -1
  508. package/packages/session-api/dist/src/api.js +0 -49
  509. package/packages/session-api/dist/src/api.js.map +0 -1
  510. package/packages/session-api/dist/src/index.d.ts +0 -2
  511. package/packages/session-api/dist/src/index.d.ts.map +0 -1
  512. package/packages/session-api/dist/src/index.js +0 -2
  513. package/packages/session-api/dist/src/index.js.map +0 -1
  514. package/packages/session-api/dist/src/types.d.ts +0 -22
  515. package/packages/session-api/dist/src/types.d.ts.map +0 -1
  516. package/packages/session-api/dist/src/types.js +0 -5
  517. package/packages/session-api/dist/src/types.js.map +0 -1
  518. package/packages/session-api/tsconfig.json +0 -10
  519. package/packages/session-export/dist/src/exporter.d.ts +0 -28
  520. package/packages/session-export/dist/src/exporter.d.ts.map +0 -1
  521. package/packages/session-export/dist/src/exporter.js +0 -42
  522. package/packages/session-export/dist/src/exporter.js.map +0 -1
  523. package/packages/session-export/dist/src/index.d.ts +0 -2
  524. package/packages/session-export/dist/src/index.d.ts.map +0 -1
  525. package/packages/session-export/dist/src/index.js +0 -2
  526. package/packages/session-export/dist/src/index.js.map +0 -1
  527. package/packages/session-export/dist/src/types.d.ts +0 -20
  528. package/packages/session-export/dist/src/types.d.ts.map +0 -1
  529. package/packages/session-export/dist/src/types.js +0 -5
  530. package/packages/session-export/dist/src/types.js.map +0 -1
  531. package/packages/session-export/tsconfig.json +0 -10
  532. package/packages/skill-registry/tsconfig.json +0 -22
  533. package/packages/sprint-planner/tsconfig.json +0 -5
  534. package/packages/subscription-engine/dist/src/engine.d.ts +0 -13
  535. package/packages/subscription-engine/dist/src/engine.d.ts.map +0 -1
  536. package/packages/subscription-engine/dist/src/engine.js +0 -40
  537. package/packages/subscription-engine/dist/src/engine.js.map +0 -1
  538. package/packages/subscription-engine/dist/src/index.d.ts +0 -2
  539. package/packages/subscription-engine/dist/src/index.d.ts.map +0 -1
  540. package/packages/subscription-engine/dist/src/index.js +0 -2
  541. package/packages/subscription-engine/dist/src/index.js.map +0 -1
  542. package/packages/subscription-engine/dist/src/subscriptions.d.ts +0 -19
  543. package/packages/subscription-engine/dist/src/subscriptions.d.ts.map +0 -1
  544. package/packages/subscription-engine/dist/src/subscriptions.js +0 -39
  545. package/packages/subscription-engine/dist/src/subscriptions.js.map +0 -1
  546. package/packages/subscription-engine/dist/src/types.d.ts +0 -24
  547. package/packages/subscription-engine/dist/src/types.d.ts.map +0 -1
  548. package/packages/subscription-engine/dist/src/types.js +0 -5
  549. package/packages/subscription-engine/dist/src/types.js.map +0 -1
  550. package/packages/subscription-engine/tsconfig.json +0 -10
  551. package/packages/task-compiler/tsconfig.json +0 -24
  552. package/packages/test-data-generator/tsconfig.json +0 -33
  553. package/packages/test-data-generator/tsconfig.tsbuildinfo +0 -1
  554. package/packages/test-generator/tsconfig.json +0 -6
  555. package/packages/token-optimizer/tsconfig.json +0 -6
  556. package/packages/tui/tsconfig.json +0 -8
  557. package/packages/types/src/runtime-types.d.ts.map +0 -1
  558. package/packages/types/src/runtime-types.js +0 -2
  559. package/packages/types/src/runtime-types.js.map +0 -1
  560. package/packages/types/tsconfig.json +0 -21
  561. package/packages/types/tsconfig.tsbuildinfo +0 -1
  562. package/packages/workflow-events/dist/src/events.d.ts +0 -38
  563. package/packages/workflow-events/dist/src/events.d.ts.map +0 -1
  564. package/packages/workflow-events/dist/src/events.js +0 -55
  565. package/packages/workflow-events/dist/src/events.js.map +0 -1
  566. package/packages/workflow-events/dist/src/index.d.ts +0 -2
  567. package/packages/workflow-events/dist/src/index.d.ts.map +0 -1
  568. package/packages/workflow-events/dist/src/index.js +0 -2
  569. package/packages/workflow-events/dist/src/index.js.map +0 -1
  570. package/packages/workflow-events/dist/src/pipeline.d.ts +0 -21
  571. package/packages/workflow-events/dist/src/pipeline.d.ts.map +0 -1
  572. package/packages/workflow-events/dist/src/pipeline.js +0 -36
  573. package/packages/workflow-events/dist/src/pipeline.js.map +0 -1
  574. package/packages/workflow-events/dist/src/types.d.ts +0 -110
  575. package/packages/workflow-events/dist/src/types.d.ts.map +0 -1
  576. package/packages/workflow-events/dist/src/types.js +0 -5
  577. package/packages/workflow-events/dist/src/types.js.map +0 -1
  578. package/packages/workflow-events/src/types.d.ts.map +0 -1
  579. package/packages/workflow-events/src/types.js +0 -5
  580. package/packages/workflow-events/src/types.js.map +0 -1
  581. package/packages/workflow-events/tsconfig.json +0 -10
  582. package/packages/workspace-scanner/dist/src/detect.d.ts +0 -3
  583. package/packages/workspace-scanner/dist/src/detect.d.ts.map +0 -1
  584. package/packages/workspace-scanner/dist/src/detect.js +0 -60
  585. package/packages/workspace-scanner/dist/src/detect.js.map +0 -1
  586. package/packages/workspace-scanner/dist/src/git.d.ts +0 -7
  587. package/packages/workspace-scanner/dist/src/git.d.ts.map +0 -1
  588. package/packages/workspace-scanner/dist/src/git.js +0 -75
  589. package/packages/workspace-scanner/dist/src/git.js.map +0 -1
  590. package/packages/workspace-scanner/dist/src/index.d.ts +0 -5
  591. package/packages/workspace-scanner/dist/src/index.d.ts.map +0 -1
  592. package/packages/workspace-scanner/dist/src/index.js +0 -4
  593. package/packages/workspace-scanner/dist/src/index.js.map +0 -1
  594. package/packages/workspace-scanner/dist/src/scanner.d.ts +0 -11
  595. package/packages/workspace-scanner/dist/src/scanner.d.ts.map +0 -1
  596. package/packages/workspace-scanner/dist/src/scanner.js +0 -59
  597. package/packages/workspace-scanner/dist/src/scanner.js.map +0 -1
  598. package/packages/workspace-scanner/dist/src/types.d.ts +0 -35
  599. package/packages/workspace-scanner/dist/src/types.d.ts.map +0 -1
  600. package/packages/workspace-scanner/dist/src/types.js +0 -5
  601. package/packages/workspace-scanner/dist/src/types.js.map +0 -1
  602. package/packages/workspace-scanner/test/scanner.test.js +0 -31
  603. package/packages/workspace-scanner/tsconfig.json +0 -10
  604. package/packages/worktree/dist/index.d.ts +0 -7
  605. package/packages/worktree/dist/index.d.ts.map +0 -1
  606. package/packages/worktree/dist/index.js +0 -7
  607. package/packages/worktree/dist/index.js.map +0 -1
  608. package/packages/worktree/dist/worktree.d.ts +0 -88
  609. package/packages/worktree/dist/worktree.d.ts.map +0 -1
  610. package/packages/worktree/dist/worktree.js +0 -242
  611. package/packages/worktree/dist/worktree.js.map +0 -1
  612. package/packages/worktree/tsconfig.json +0 -8
@@ -0,0 +1,314 @@
1
+ /**
2
+ * Smart Auto-Todo Task Analyzer
3
+ *
4
+ * Decides when to automatically create bd issues based on:
5
+ * 1. Task complexity signals
6
+ * 2. Session state (pending task count)
7
+ *
8
+ * Philosophy:
9
+ * - Simple tasks (grep, quick edit) -> NO todo (avoid noise)
10
+ * - Complex tasks OR multiple pending tasks -> AUTO-CREATE todo
11
+ */
12
+
13
+ import { getOpenBdIssues } from "./sync.js";
14
+
15
+ // ─── Complexity Signals ─────────────────────────────────────────────────────────
16
+
17
+ interface TaskSignals {
18
+ /** Estimated number of steps required */
19
+ stepCount: number;
20
+ /** Number of files likely involved */
21
+ fileCount: number;
22
+ /** Requires research (web search, docs lookup) */
23
+ needsResearch: boolean;
24
+ /** Creates new files */
25
+ createsFiles: boolean;
26
+ /** User explicitly says task is complex */
27
+ explicitlyComplex: boolean;
28
+ /** Likely to have subtasks discovered during work */
29
+ likelySubtasks: boolean;
30
+ }
31
+
32
+ const COMPLEX_KEYWORDS = [
33
+ "complicated",
34
+ "complex",
35
+ "tricky",
36
+ "difficult",
37
+ "refactor",
38
+ "architecture",
39
+ "design",
40
+ "implement from scratch",
41
+ "rewrite",
42
+ "investigate",
43
+ "debug",
44
+ "fix the bug",
45
+ "performance",
46
+ ];
47
+
48
+ const RESEARCH_KEYWORDS = [
49
+ "search",
50
+ "look up",
51
+ "find",
52
+ "research",
53
+ "check",
54
+ "verify",
55
+ "how to",
56
+ "best practice",
57
+ "compare",
58
+ "evaluate",
59
+ "review",
60
+ ];
61
+
62
+ const SUBTASK_KEYWORDS = [
63
+ "also",
64
+ "plus",
65
+ "and also",
66
+ "while you're at it",
67
+ "on top of that",
68
+ "additionally",
69
+ "another thing",
70
+ "don't forget",
71
+ "should also",
72
+ ];
73
+
74
+ /**
75
+ * Analyze user request text for complexity signals
76
+ */
77
+ export function analyzeTaskSignals(userMessage: string): TaskSignals {
78
+ const lower = userMessage.toLowerCase();
79
+
80
+ // Count implied steps from action verbs
81
+ const actionVerbs = [
82
+ "create",
83
+ "build",
84
+ "implement",
85
+ "design",
86
+ "setup",
87
+ "configure",
88
+ "migrate",
89
+ "convert",
90
+ "refactor",
91
+ "optimize",
92
+ "fix",
93
+ "update",
94
+ "add",
95
+ "remove",
96
+ "delete",
97
+ "modify",
98
+ "change",
99
+ "replace",
100
+ ];
101
+ const stepCount = Math.max(
102
+ 1,
103
+ actionVerbs.filter((v) => lower.includes(v)).length,
104
+ );
105
+
106
+ // Estimate file count from file paths and extensions
107
+ const filePatterns =
108
+ /[\w-]+\.(ts|js|py|json|md|yaml|yml|tsx|jsx|html|css|sql)/g;
109
+ const fileMatches = userMessage.match(filePatterns) || [];
110
+ const explicitFiles = fileMatches.length;
111
+
112
+ // Check for directory patterns
113
+ const dirPatterns =
114
+ /(?:src|lib|packages|apps|components|hooks|utils|api)\/[\w/-]+/g;
115
+ const dirMatches = userMessage.match(dirPatterns) || [];
116
+
117
+ // Count "and", "also", "+" for multi-task indicators
118
+ const multiTaskIndicator = (lower.match(/and also|also|\+/g) || []).length;
119
+ const estimatedFiles = Math.max(
120
+ 1,
121
+ explicitFiles + dirMatches.length + multiTaskIndicator,
122
+ );
123
+
124
+ return {
125
+ stepCount,
126
+ fileCount: estimatedFiles,
127
+ needsResearch: RESEARCH_KEYWORDS.some((k) => lower.includes(k)),
128
+ createsFiles:
129
+ lower.includes("create") ||
130
+ lower.includes("add") ||
131
+ lower.includes("new"),
132
+ explicitlyComplex: COMPLEX_KEYWORDS.some((k) => lower.includes(k)),
133
+ likelySubtasks:
134
+ SUBTASK_KEYWORDS.some((k) => lower.includes(k)) ||
135
+ multiTaskIndicator >= 2,
136
+ };
137
+ }
138
+
139
+ // ─── Decision Logic ───────────────────────────────────────────────────────────
140
+
141
+ export interface AutoTodoDecision {
142
+ shouldCreate: boolean;
143
+ reason: string;
144
+ confidence: "high" | "medium" | "low";
145
+ skipReason?: string;
146
+ }
147
+
148
+ /**
149
+ * Decide whether to auto-create a todo for the given task
150
+ */
151
+ export function decideAutoTodo(
152
+ userMessage: string,
153
+ options: {
154
+ forceMode?: boolean;
155
+ skipMode?: boolean;
156
+ } = {},
157
+ ): AutoTodoDecision {
158
+ const signals = analyzeTaskSignals(userMessage);
159
+ const pendingTasks = getOpenBdIssues().filter((i) => i.status !== "closed");
160
+ const pendingCount = pendingTasks.length;
161
+
162
+ // ── Skip Conditions ────────────────────────────────────────────────────
163
+ // Never create todos for these
164
+
165
+ const simplePatterns = [
166
+ /^simply\s/i,
167
+ /^just\s/i,
168
+ /^quick\s/i,
169
+ /^can you\s+(grep|find|cat|ls|echo)/i,
170
+ /^(grep|find|cat|ls)\s+[\w.-]+/i,
171
+ /^what('s| is) the\s+\w+\s+\?$/i,
172
+ /^how do i\s+\w+\s*\?$/i,
173
+ ];
174
+
175
+ if (simplePatterns.some((p) => p.test(userMessage.trim()))) {
176
+ return {
177
+ shouldCreate: false,
178
+ reason: "Simple request (lookup/one-liner)",
179
+ confidence: "high",
180
+ skipReason: "Task is too simple to warrant tracking",
181
+ };
182
+ }
183
+
184
+ // Check for trivial single actions with no complexity (lower threshold)
185
+ // Allow more tasks to be tracked - being conservative about NOT tracking
186
+ const isTrivial =
187
+ signals.stepCount === 1 &&
188
+ signals.fileCount <= 1 &&
189
+ !signals.needsResearch &&
190
+ !signals.createsFiles &&
191
+ !signals.explicitlyComplex &&
192
+ pendingCount === 0 &&
193
+ !signals.likelySubtasks;
194
+ if (isTrivial) {
195
+ return {
196
+ shouldCreate: false,
197
+ reason: "Trivial request (single action)",
198
+ confidence: "high",
199
+ skipReason: "Task is trivial",
200
+ };
201
+ }
202
+
203
+ // ── Force Modes ──────────────────────────────────────────────────────
204
+ if (options.forceMode) {
205
+ return {
206
+ shouldCreate: true,
207
+ reason: "Force mode enabled",
208
+ confidence: "high",
209
+ };
210
+ }
211
+
212
+ if (options.skipMode) {
213
+ return {
214
+ shouldCreate: false,
215
+ reason: "Skip mode enabled",
216
+ confidence: "high",
217
+ skipReason: "User requested skip",
218
+ };
219
+ }
220
+
221
+ // ── Auto-Create Conditions ──────────────────────────────────────────
222
+ // Be MORE aggressive about tracking tasks - default to tracking
223
+ const reasons: string[] = [];
224
+
225
+ // HIGH CONFIDENCE: Task explicitly complex
226
+ if (signals.explicitlyComplex) {
227
+ reasons.push("explicitly complex");
228
+ }
229
+
230
+ // HIGH CONFIDENCE: Multiple steps (lower from 3 to 2)
231
+ if (signals.stepCount >= 2) {
232
+ reasons.push(`${signals.stepCount} steps implied`);
233
+ }
234
+
235
+ // HIGH CONFIDENCE: Multiple files (lower from 3 to 2)
236
+ if (signals.fileCount >= 2) {
237
+ reasons.push(`${signals.fileCount} files involved`);
238
+ }
239
+
240
+ // MEDIUM CONFIDENCE: Research needed
241
+ if (signals.needsResearch) {
242
+ reasons.push("needs research");
243
+ }
244
+
245
+ // MEDIUM CONFIDENCE: Creates files
246
+ if (signals.createsFiles) {
247
+ reasons.push("creates files");
248
+ }
249
+
250
+ // MEDIUM CONFIDENCE: Likely subtasks
251
+ if (signals.likelySubtasks) {
252
+ reasons.push("likely has subtasks");
253
+ }
254
+
255
+ // MEDIUM CONFIDENCE: Has pending tasks already (session busy)
256
+ if (pendingCount >= 1) {
257
+ reasons.push(`${pendingCount} pending tasks`);
258
+ }
259
+
260
+ // Default to creating todo if any signal present
261
+ // Be conservative only for truly trivial requests (already filtered above)
262
+ if (reasons.length === 0) {
263
+ // No strong signals but not trivial either - track it anyway
264
+ reasons.push("multi-step task detected");
265
+ }
266
+
267
+ // Create todo if ANY reason OR any pending tasks
268
+ const shouldCreate = reasons.length >= 1 || pendingCount >= 1;
269
+
270
+ return {
271
+ shouldCreate,
272
+ reason: reasons.join(", "),
273
+ confidence: reasons.length >= 2 ? "high" : "medium",
274
+ };
275
+ }
276
+
277
+ // ─── Quick Score ─────────────────────────────────────────────────────────────
278
+
279
+ /**
280
+ * Quick numeric score (0-100) for task complexity
281
+ * Higher = more likely to need a todo
282
+ */
283
+ export function getTaskComplexityScore(userMessage: string): number {
284
+ const signals = analyzeTaskSignals(userMessage);
285
+ const pendingTasks = getOpenBdIssues().filter((i) => i.status !== "closed");
286
+
287
+ let score = 0;
288
+
289
+ // Step count (0-25)
290
+ score += Math.min(25, signals.stepCount * 8);
291
+
292
+ // File count (0-20)
293
+ score += Math.min(20, signals.fileCount * 5);
294
+
295
+ // Research needed (0-15)
296
+ if (signals.needsResearch) score += 15;
297
+
298
+ // Creates files (0-10)
299
+ if (signals.createsFiles) score += 10;
300
+
301
+ // Explicitly complex (0-20)
302
+ if (signals.explicitlyComplex) score += 20;
303
+
304
+ // Likely subtasks (0-10)
305
+ if (signals.likelySubtasks) score += 10;
306
+
307
+ // Pending task overload (0-25)
308
+ const pendingCount = pendingTasks.length;
309
+ if (pendingCount >= 3) score += 25;
310
+ else if (pendingCount >= 2) score += 15;
311
+ else if (pendingCount >= 1) score += 5;
312
+
313
+ return Math.min(100, score);
314
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/token-estimation",
3
- "version": "1.1.0",
3
+ "version": "0.10.30",
4
4
  "description": "pi-harness-runtime — token-estimation",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/token-optimizer",
3
- "version": "1.1.0",
3
+ "version": "0.10.30",
4
4
  "description": "Token Budget Optimizer — maximize prompt value within token limits (RFC-0011)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/tui",
3
- "version": "1.1.0",
3
+ "version": "0.10.30",
4
4
  "description": "pi-harness-runtime — tui",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/types",
3
- "version": "1.1.0",
3
+ "version": "0.10.30",
4
4
  "description": "Shared TypeScript types for pi-harness-runtime packages",
5
5
  "type": "module",
6
6
  "main": "./src/index.js",
@@ -0,0 +1,206 @@
1
+ /**
2
+ * Agent Worker Interface — RFC-0030
3
+ *
4
+ * Common interface for all agent workers (Codex, MiniMax, GLM, GPT, DeepAgents).
5
+ * Runtime remains the orchestrator; agents are pluggable workers.
6
+ */
7
+ import type { RuntimeTask } from "./runtime-types.js";
8
+ export type AgentStatus = "idle" | "initializing" | "running" | "paused" | "stopped" | "error";
9
+ export type TaskResultStatus = "success" | "failure" | "partial" | "cancelled";
10
+ export interface AgentWorkerConfig {
11
+ /** Unique identifier for this worker instance */
12
+ readonly id: string;
13
+ /** Provider name (e.g., "codex", "minimax", "glm", "gpt", "deepagents") */
14
+ readonly provider: string;
15
+ /** API endpoint or connection string */
16
+ readonly endpoint?: string;
17
+ /** Authentication token */
18
+ readonly apiKey?: string;
19
+ /** Default model to use */
20
+ readonly defaultModel?: string;
21
+ /** Supported models */
22
+ readonly supportedModels?: string[];
23
+ /** Request timeout in ms */
24
+ readonly timeoutMs?: number;
25
+ /** Maximum concurrent tasks */
26
+ readonly maxConcurrency?: number;
27
+ }
28
+ export interface TaskRequest {
29
+ /** Task to execute */
30
+ task: RuntimeTask;
31
+ /** Working directory for the task */
32
+ workingDir: string;
33
+ /** Context/memory from previous tasks */
34
+ context?: string;
35
+ /** Additional configuration */
36
+ config?: {
37
+ model?: string;
38
+ temperature?: number;
39
+ maxTokens?: number;
40
+ };
41
+ }
42
+ export interface TaskResult {
43
+ /** Task ID */
44
+ taskId: string;
45
+ /** Result status */
46
+ status: TaskResultStatus;
47
+ /** Summary of what was done */
48
+ summary: string;
49
+ /** Files that were changed */
50
+ filesChanged?: string[];
51
+ /** Output from the task */
52
+ output?: string;
53
+ /** Error message if failed */
54
+ error?: string;
55
+ /** Tokens used */
56
+ usage?: {
57
+ input: number;
58
+ output: number;
59
+ cost?: number;
60
+ };
61
+ /** Time taken in ms */
62
+ durationMs: number;
63
+ /** Timestamp */
64
+ completedAt: string;
65
+ }
66
+ export interface HealthStatus {
67
+ /** Whether the agent is healthy */
68
+ healthy: boolean;
69
+ /** Current status */
70
+ status: AgentStatus;
71
+ /** Current load (0-1) */
72
+ load: number;
73
+ /** Active task count */
74
+ activeTasks: number;
75
+ /** Queue depth */
76
+ queueDepth: number;
77
+ /** Last health check */
78
+ checkedAt: string;
79
+ /** Error message if unhealthy */
80
+ error?: string;
81
+ }
82
+ export interface AgentWorkerEvents {
83
+ /** Fired when task progress is made */
84
+ onProgress: (taskId: string, progress: TaskProgress) => void;
85
+ /** Fired when a task completes */
86
+ onTaskComplete: (result: TaskResult) => void;
87
+ /** Fired when an error occurs */
88
+ onError: (taskId: string, error: Error) => void;
89
+ /** Fired when agent status changes */
90
+ onStatusChange: (status: AgentStatus) => void;
91
+ /** Fired on health check changes */
92
+ onHealthChange: (health: HealthStatus) => void;
93
+ }
94
+ export interface TaskProgress {
95
+ taskId: string;
96
+ phase: "planning" | "executing" | "reviewing" | "finalizing";
97
+ message: string;
98
+ percentComplete: number;
99
+ timestamp: string;
100
+ }
101
+ export interface AgentWorker {
102
+ /** Unique identifier */
103
+ readonly id: string;
104
+ /** Provider name */
105
+ readonly provider: string;
106
+ /**
107
+ * Initialize the agent worker
108
+ * @param config Worker configuration
109
+ */
110
+ initialize(config: AgentWorkerConfig): Promise<void>;
111
+ /**
112
+ * Execute a task
113
+ * @param request Task request
114
+ * @param events Event handlers
115
+ * @returns Task result
116
+ */
117
+ execute(request: TaskRequest, events?: Partial<AgentWorkerEvents>): Promise<TaskResult>;
118
+ /**
119
+ * Check agent health
120
+ * @returns Health status
121
+ */
122
+ health(): Promise<HealthStatus>;
123
+ /**
124
+ * Get current status
125
+ * @returns Agent status
126
+ */
127
+ status(): AgentStatus;
128
+ /**
129
+ * Pause the agent (stop accepting new tasks)
130
+ */
131
+ pause(): Promise<void>;
132
+ /**
133
+ * Resume the agent
134
+ */
135
+ resume(): Promise<void>;
136
+ /**
137
+ * Stop the agent and cleanup
138
+ */
139
+ stop(): Promise<void>;
140
+ /**
141
+ * Check if a model is supported
142
+ * @param model Model identifier
143
+ * @returns Whether the model is supported
144
+ */
145
+ supportsModel(model: string): boolean;
146
+ /**
147
+ * Get supported models
148
+ * @returns List of supported model identifiers
149
+ */
150
+ getSupportedModels(): string[];
151
+ }
152
+ export interface DeepAgentsConfig extends AgentWorkerConfig {
153
+ provider: "deepagents";
154
+ /** DeepAgents server URL */
155
+ endpoint: string;
156
+ /** Project path to work in */
157
+ projectPath?: string;
158
+ /** Additional DeepAgents options */
159
+ options?: {
160
+ streaming?: boolean;
161
+ autoRetry?: boolean;
162
+ maxRetries?: number;
163
+ };
164
+ }
165
+ export interface DeepAgentsTaskRequest extends TaskRequest {
166
+ config?: TaskRequest["config"] & {
167
+ /** Task priority */
168
+ priority?: "low" | "normal" | "high";
169
+ /** Whether to use sandbox */
170
+ sandbox?: boolean;
171
+ /** Environment variables */
172
+ env?: Record<string, string>;
173
+ };
174
+ }
175
+ export interface DeepAgentsResult extends TaskResult {
176
+ /** DeepAgents-specific metadata */
177
+ metadata?: {
178
+ agentId?: string;
179
+ workerId?: string;
180
+ sandboxUrl?: string;
181
+ };
182
+ }
183
+ export type AgentWorkerFactory = (config: AgentWorkerConfig) => AgentWorker;
184
+ /**
185
+ * Registry of agent worker factories
186
+ */
187
+ export declare class AgentWorkerRegistry {
188
+ private factories;
189
+ /**
190
+ * Register a worker factory
191
+ */
192
+ register(provider: string, factory: AgentWorkerFactory): void;
193
+ /**
194
+ * Create a worker for a provider
195
+ */
196
+ create(config: AgentWorkerConfig): AgentWorker | undefined;
197
+ /**
198
+ * Check if a provider is supported
199
+ */
200
+ supports(provider: string): boolean;
201
+ /**
202
+ * List all supported providers
203
+ */
204
+ listProviders(): string[];
205
+ }
206
+ //# sourceMappingURL=agent-worker-types.d.ts.map
@@ -0,0 +1,36 @@
1
+ /**
2
+ * AI Provider Registry
3
+ *
4
+ * Centralized, canonical list of known AI/LLM providers used as keys across
5
+ * mirror.json, quota tracking, TUI signal parsing, and footer display.
6
+ *
7
+ * Adding a new provider = add ONE entry here + update the places that
8
+ * need per-provider behaviour (scraper, TUI parser, footer, etc.).
9
+ *
10
+ * Provider ids are lowercase internal keys.
11
+ * Labels are human-readable display strings.
12
+ */
13
+ export declare const KNOWN_AI_PROVIDERS: readonly ["minimax", "openai", "anthropic", "glm", "openrouter", "openai-codex", "deepseek", "gemini", "kimi"];
14
+ export type KnownAiProvider = (typeof KNOWN_AI_PROVIDERS)[number];
15
+ /** Human-readable display labels (used in footer, notifications). */
16
+ export declare const PROVIDER_LABELS: Record<string, string>;
17
+ /**
18
+ * Providers that support continuous quota scraping via cookie/browser automation.
19
+ * Only MiniMax is currently supported here.
20
+ */
21
+ export declare const SCRAPEABLE_PROVIDERS: KnownAiProvider[];
22
+ /**
23
+ * Providers that report quota via TUI signal capture (one-shot on limit hit).
24
+ * These do NOT have a continuous scraping path.
25
+ */
26
+ export declare const TUI_SIGNAL_PROVIDERS: KnownAiProvider[];
27
+ /**
28
+ * Check if a provider id is a known AI provider.
29
+ */
30
+ export declare function isKnownAiProvider(id: string): id is KnownAiProvider;
31
+ /**
32
+ * Get the display label for a provider id.
33
+ * Falls back to the id itself if unknown.
34
+ */
35
+ export declare function getProviderLabel(id: string): string;
36
+ //# sourceMappingURL=ai-providers.d.ts.map
@@ -27,6 +27,10 @@ export interface RuntimeCheckpoint {
27
27
  provider?: string;
28
28
  resumeAt?: string;
29
29
  lastError?: string;
30
+ /** Provider that caused a quota pause (e.g. "minimax"). */
31
+ quotaProvider?: string;
32
+ /** Limit type that triggered the pause ("tokens" | "context_window" | etc.). */
33
+ quotaLimitType?: string;
30
34
  createdAt: string;
31
35
  updatedAt: string;
32
36
  /** Loop iteration at checkpoint (used by LoopRuntime for resume) */
@@ -409,4 +413,6 @@ export interface CompactOrchestratorCallbacks {
409
413
  droppedCount: number;
410
414
  }>;
411
415
  }
416
+ export { KNOWN_AI_PROVIDERS, PROVIDER_LABELS, SCRAPEABLE_PROVIDERS, TUI_SIGNAL_PROVIDERS, isKnownAiProvider, getProviderLabel, } from "./ai-providers.js";
417
+ export type { KnownAiProvider } from "./ai-providers.js";
412
418
  //# sourceMappingURL=runtime-types.d.ts.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/workflow-events",
3
- "version": "1.1.0",
3
+ "version": "0.10.30",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/workspace-scanner",
3
- "version": "1.1.0",
3
+ "version": "0.10.30",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/worktree",
3
- "version": "1.1.0",
3
+ "version": "0.10.30",
4
4
  "description": "pi-harness-runtime — worktree",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -10,12 +10,9 @@
10
10
  * - allow separate models to work on separate tasks
11
11
  */
12
12
 
13
- import type { WorktreeInfo } from "../../packages/types/src/runtime-types.ts";
14
- // @ts-expect-error - Bun has built-in Node.js types
13
+ import type { WorktreeInfo } from "../../types/src/runtime-types.js";
15
14
  import { execSync } from "node:child_process";
16
- // @ts-expect-error - Bun has built-in Node.js types
17
15
  import { existsSync, mkdirSync, writeFileSync, readFileSync } from "node:fs";
18
- // @ts-expect-error - Bun has built-in Node.js types
19
16
  import { join, dirname } from "node:path";
20
17
 
21
18
  export interface WorktreeOptions {
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "@moocoding/write-review",
3
+ "version": "0.10.30",
4
+ "description": "Two-agent write-review loop with blackboard coordination",
5
+ "type": "module",
6
+ "main": "src/index.ts",
7
+ "types": "src/index.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./src/index.ts",
11
+ "types": "./src/index.ts"
12
+ }
13
+ },
14
+ "keywords": [
15
+ "pi-extension",
16
+ "write-review",
17
+ "blackboard",
18
+ "multi-agent"
19
+ ],
20
+ "author": "MooCoding",
21
+ "license": "MIT"
22
+ }