pi-harness-runtime 1.1.6 → 1.1.7

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 (432) hide show
  1. package/package.json +3 -2
  2. package/packages/a2a-adapter/dist/discovery.d.ts +52 -0
  3. package/packages/a2a-adapter/dist/discovery.d.ts.map +1 -0
  4. package/packages/a2a-adapter/dist/discovery.js +76 -0
  5. package/packages/a2a-adapter/dist/discovery.js.map +1 -0
  6. package/packages/architecture-generator/dist/adr.d.ts +15 -0
  7. package/packages/architecture-generator/dist/adr.d.ts.map +1 -0
  8. package/packages/architecture-generator/dist/adr.js +42 -0
  9. package/packages/architecture-generator/dist/adr.js.map +1 -0
  10. package/packages/architecture-generator/dist/index.d.ts +9 -0
  11. package/packages/architecture-generator/dist/index.d.ts.map +1 -0
  12. package/packages/architecture-generator/dist/index.js +9 -0
  13. package/packages/architecture-generator/dist/index.js.map +1 -0
  14. package/packages/architecture-generator/dist/mermaid.d.ts +30 -0
  15. package/packages/architecture-generator/dist/mermaid.d.ts.map +1 -0
  16. package/packages/architecture-generator/dist/mermaid.js +58 -0
  17. package/packages/architecture-generator/dist/mermaid.js.map +1 -0
  18. package/packages/architecture-generator/dist/types.d.ts +30 -0
  19. package/packages/architecture-generator/dist/types.d.ts.map +1 -0
  20. package/packages/architecture-generator/dist/types.js +7 -0
  21. package/packages/architecture-generator/dist/types.js.map +1 -0
  22. package/packages/auth/dist/minimax-browser-auth.d.ts +89 -0
  23. package/packages/auth/dist/minimax-browser-auth.d.ts.map +1 -0
  24. package/packages/auth/dist/minimax-browser-auth.js +890 -0
  25. package/packages/auth/dist/minimax-browser-auth.js.map +1 -0
  26. package/packages/auth/dist/run-minimax-auth.d.ts +19 -0
  27. package/packages/auth/dist/run-minimax-auth.d.ts.map +1 -0
  28. package/packages/auth/dist/run-minimax-auth.js +112 -0
  29. package/packages/auth/dist/run-minimax-auth.js.map +1 -0
  30. package/packages/clipboard/dist/src/clipboard.d.ts +11 -0
  31. package/packages/clipboard/dist/src/clipboard.d.ts.map +1 -0
  32. package/packages/clipboard/dist/src/clipboard.js +51 -0
  33. package/packages/clipboard/dist/src/clipboard.js.map +1 -0
  34. package/packages/clipboard/dist/src/copy-sync.d.ts +27 -0
  35. package/packages/clipboard/dist/src/copy-sync.d.ts.map +1 -0
  36. package/packages/clipboard/dist/src/copy-sync.js +212 -0
  37. package/packages/clipboard/dist/src/copy-sync.js.map +1 -0
  38. package/packages/clipboard/dist/src/gist-relay.d.ts +48 -0
  39. package/packages/clipboard/dist/src/gist-relay.d.ts.map +1 -0
  40. package/packages/clipboard/dist/src/gist-relay.js +186 -0
  41. package/packages/clipboard/dist/src/gist-relay.js.map +1 -0
  42. package/packages/clipboard/dist/src/github-login.d.ts +16 -0
  43. package/packages/clipboard/dist/src/github-login.d.ts.map +1 -0
  44. package/packages/clipboard/dist/src/github-login.js +69 -0
  45. package/packages/clipboard/dist/src/github-login.js.map +1 -0
  46. package/packages/clipboard/dist/src/index.d.ts +5 -0
  47. package/packages/clipboard/dist/src/index.d.ts.map +1 -0
  48. package/packages/clipboard/dist/src/index.js +4 -0
  49. package/packages/clipboard/dist/src/index.js.map +1 -0
  50. package/packages/clipboard/dist/src/paste-bridge.d.ts +19 -0
  51. package/packages/clipboard/dist/src/paste-bridge.d.ts.map +1 -0
  52. package/packages/clipboard/dist/src/paste-bridge.js +78 -0
  53. package/packages/clipboard/dist/src/paste-bridge.js.map +1 -0
  54. package/packages/clipboard/dist/src/types.d.ts +13 -0
  55. package/packages/clipboard/dist/src/types.d.ts.map +1 -0
  56. package/packages/clipboard/dist/src/types.js +5 -0
  57. package/packages/clipboard/dist/src/types.js.map +1 -0
  58. package/packages/clipboard-plugin/dist/index.d.ts +28 -0
  59. package/packages/clipboard-plugin/dist/index.d.ts.map +1 -0
  60. package/packages/clipboard-plugin/dist/index.js +64 -0
  61. package/packages/clipboard-plugin/dist/index.js.map +1 -0
  62. package/packages/clipboard-plugin/dist/types.d.ts +30 -0
  63. package/packages/clipboard-plugin/dist/types.d.ts.map +1 -0
  64. package/packages/clipboard-plugin/dist/types.js +5 -0
  65. package/packages/clipboard-plugin/dist/types.js.map +1 -0
  66. package/packages/context-discovery/dist/src/discover.d.ts +3 -0
  67. package/packages/context-discovery/dist/src/discover.d.ts.map +1 -0
  68. package/packages/context-discovery/dist/src/discover.js +42 -0
  69. package/packages/context-discovery/dist/src/discover.js.map +1 -0
  70. package/packages/context-discovery/dist/src/discovery.d.ts +28 -0
  71. package/packages/context-discovery/dist/src/discovery.d.ts.map +1 -0
  72. package/packages/context-discovery/dist/src/discovery.js +21 -0
  73. package/packages/context-discovery/dist/src/discovery.js.map +1 -0
  74. package/packages/context-discovery/dist/src/index.d.ts +3 -0
  75. package/packages/context-discovery/dist/src/index.d.ts.map +1 -0
  76. package/packages/context-discovery/dist/src/index.js +2 -0
  77. package/packages/context-discovery/dist/src/index.js.map +1 -0
  78. package/packages/context-discovery/dist/src/types.d.ts +16 -0
  79. package/packages/context-discovery/dist/src/types.d.ts.map +1 -0
  80. package/packages/context-discovery/dist/src/types.js +2 -0
  81. package/packages/context-discovery/dist/src/types.js.map +1 -0
  82. package/packages/dependency-analyzer/dist/src/analyzer.d.ts +17 -0
  83. package/packages/dependency-analyzer/dist/src/analyzer.d.ts.map +1 -0
  84. package/packages/dependency-analyzer/dist/src/analyzer.js +119 -0
  85. package/packages/dependency-analyzer/dist/src/analyzer.js.map +1 -0
  86. package/packages/dependency-analyzer/dist/src/imports.d.ts +12 -0
  87. package/packages/dependency-analyzer/dist/src/imports.d.ts.map +1 -0
  88. package/packages/dependency-analyzer/dist/src/imports.js +73 -0
  89. package/packages/dependency-analyzer/dist/src/imports.js.map +1 -0
  90. package/packages/dependency-analyzer/dist/src/index.d.ts +4 -0
  91. package/packages/dependency-analyzer/dist/src/index.d.ts.map +1 -0
  92. package/packages/dependency-analyzer/dist/src/index.js +3 -0
  93. package/packages/dependency-analyzer/dist/src/index.js.map +1 -0
  94. package/packages/dependency-analyzer/dist/src/types.d.ts +28 -0
  95. package/packages/dependency-analyzer/dist/src/types.d.ts.map +1 -0
  96. package/packages/dependency-analyzer/dist/src/types.js +5 -0
  97. package/packages/dependency-analyzer/dist/src/types.js.map +1 -0
  98. package/packages/event-bus/dist/src/bus.d.ts +15 -0
  99. package/packages/event-bus/dist/src/bus.d.ts.map +1 -0
  100. package/packages/event-bus/dist/src/bus.js +98 -0
  101. package/packages/event-bus/dist/src/bus.js.map +1 -0
  102. package/packages/event-bus/dist/src/herdr-bus.d.ts +121 -0
  103. package/packages/event-bus/dist/src/herdr-bus.d.ts.map +1 -0
  104. package/packages/event-bus/dist/src/herdr-bus.js +324 -0
  105. package/packages/event-bus/dist/src/herdr-bus.js.map +1 -0
  106. package/packages/event-bus/dist/src/index.d.ts +6 -0
  107. package/packages/event-bus/dist/src/index.d.ts.map +1 -0
  108. package/packages/event-bus/dist/src/index.js +4 -0
  109. package/packages/event-bus/dist/src/index.js.map +1 -0
  110. package/packages/event-bus/dist/src/types.d.ts +27 -0
  111. package/packages/event-bus/dist/src/types.d.ts.map +1 -0
  112. package/packages/event-bus/dist/src/types.js +10 -0
  113. package/packages/event-bus/dist/src/types.js.map +1 -0
  114. package/packages/event-store/dist/src/index.d.ts +3 -0
  115. package/packages/event-store/dist/src/index.d.ts.map +1 -0
  116. package/packages/event-store/dist/src/index.js +2 -0
  117. package/packages/event-store/dist/src/index.js.map +1 -0
  118. package/packages/event-store/dist/src/store.d.ts +15 -0
  119. package/packages/event-store/dist/src/store.d.ts.map +1 -0
  120. package/packages/event-store/dist/src/store.js +139 -0
  121. package/packages/event-store/dist/src/store.js.map +1 -0
  122. package/packages/event-store/dist/src/types.d.ts +48 -0
  123. package/packages/event-store/dist/src/types.d.ts.map +1 -0
  124. package/packages/event-store/dist/src/types.js +5 -0
  125. package/packages/event-store/dist/src/types.js.map +1 -0
  126. package/packages/intent-analyzer/dist/src/analyzer.d.ts +13 -0
  127. package/packages/intent-analyzer/dist/src/analyzer.d.ts.map +1 -0
  128. package/packages/intent-analyzer/dist/src/analyzer.js +239 -0
  129. package/packages/intent-analyzer/dist/src/analyzer.js.map +1 -0
  130. package/packages/intent-analyzer/dist/src/index.d.ts +3 -0
  131. package/packages/intent-analyzer/dist/src/index.d.ts.map +1 -0
  132. package/packages/intent-analyzer/dist/src/index.js +2 -0
  133. package/packages/intent-analyzer/dist/src/index.js.map +1 -0
  134. package/packages/intent-analyzer/dist/src/types.d.ts +26 -0
  135. package/packages/intent-analyzer/dist/src/types.d.ts.map +1 -0
  136. package/packages/intent-analyzer/dist/src/types.js +7 -0
  137. package/packages/intent-analyzer/dist/src/types.js.map +1 -0
  138. package/packages/knowledge-graph/dist/graph-extractor.d.ts +27 -0
  139. package/packages/knowledge-graph/dist/graph-extractor.d.ts.map +1 -0
  140. package/packages/knowledge-graph/dist/graph-extractor.js +276 -0
  141. package/packages/knowledge-graph/dist/graph-extractor.js.map +1 -0
  142. package/packages/knowledge-graph/dist/index.d.ts +27 -0
  143. package/packages/knowledge-graph/dist/index.d.ts.map +1 -0
  144. package/packages/knowledge-graph/dist/index.js +27 -0
  145. package/packages/knowledge-graph/dist/index.js.map +1 -0
  146. package/packages/knowledge-graph/dist/mcp-client.d.ts +38 -0
  147. package/packages/knowledge-graph/dist/mcp-client.d.ts.map +1 -0
  148. package/packages/knowledge-graph/dist/mcp-client.js +157 -0
  149. package/packages/knowledge-graph/dist/mcp-client.js.map +1 -0
  150. package/packages/knowledge-graph/dist/provenance-linker.d.ts +19 -0
  151. package/packages/knowledge-graph/dist/provenance-linker.d.ts.map +1 -0
  152. package/packages/knowledge-graph/dist/provenance-linker.js +91 -0
  153. package/packages/knowledge-graph/dist/provenance-linker.js.map +1 -0
  154. package/packages/knowledge-graph/dist/types.d.ts +53 -0
  155. package/packages/knowledge-graph/dist/types.d.ts.map +1 -0
  156. package/packages/knowledge-graph/dist/types.js +7 -0
  157. package/packages/knowledge-graph/dist/types.js.map +1 -0
  158. package/packages/knowledge-retrieval/dist/index.d.ts +8 -0
  159. package/packages/knowledge-retrieval/dist/index.d.ts.map +1 -0
  160. package/packages/knowledge-retrieval/dist/index.js +7 -0
  161. package/packages/knowledge-retrieval/dist/index.js.map +1 -0
  162. package/packages/knowledge-retrieval/dist/mcp-client.d.ts +61 -0
  163. package/packages/knowledge-retrieval/dist/mcp-client.d.ts.map +1 -0
  164. package/packages/knowledge-retrieval/dist/mcp-client.js +132 -0
  165. package/packages/knowledge-retrieval/dist/mcp-client.js.map +1 -0
  166. package/packages/knowledge-retrieval/dist/types.d.ts +105 -0
  167. package/packages/knowledge-retrieval/dist/types.d.ts.map +1 -0
  168. package/packages/knowledge-retrieval/dist/types.js +7 -0
  169. package/packages/knowledge-retrieval/dist/types.js.map +1 -0
  170. package/packages/milestone-manager/dist/engine.d.ts +27 -0
  171. package/packages/milestone-manager/dist/engine.d.ts.map +1 -0
  172. package/packages/milestone-manager/dist/engine.js +78 -0
  173. package/packages/milestone-manager/dist/engine.js.map +1 -0
  174. package/packages/milestone-manager/dist/index.d.ts +6 -0
  175. package/packages/milestone-manager/dist/index.d.ts.map +1 -0
  176. package/packages/milestone-manager/dist/index.js +6 -0
  177. package/packages/milestone-manager/dist/index.js.map +1 -0
  178. package/packages/milestone-manager/dist/types.d.ts +25 -0
  179. package/packages/milestone-manager/dist/types.d.ts.map +1 -0
  180. package/packages/milestone-manager/dist/types.js +7 -0
  181. package/packages/milestone-manager/dist/types.js.map +1 -0
  182. package/packages/notification/dist/adapters/email-adapter.d.ts +17 -0
  183. package/packages/notification/dist/adapters/email-adapter.d.ts.map +1 -0
  184. package/packages/notification/dist/adapters/email-adapter.js +89 -0
  185. package/packages/notification/dist/adapters/email-adapter.js.map +1 -0
  186. package/packages/notification/dist/adapters/line-adapter.d.ts +17 -0
  187. package/packages/notification/dist/adapters/line-adapter.d.ts.map +1 -0
  188. package/packages/notification/dist/adapters/line-adapter.js +99 -0
  189. package/packages/notification/dist/adapters/line-adapter.js.map +1 -0
  190. package/packages/notification/dist/adapters/ntfy-adapter.d.ts +17 -0
  191. package/packages/notification/dist/adapters/ntfy-adapter.d.ts.map +1 -0
  192. package/packages/notification/dist/adapters/ntfy-adapter.js +84 -0
  193. package/packages/notification/dist/adapters/ntfy-adapter.js.map +1 -0
  194. package/packages/notification/dist/adapters/telegram-adapter.d.ts +17 -0
  195. package/packages/notification/dist/adapters/telegram-adapter.d.ts.map +1 -0
  196. package/packages/notification/dist/adapters/telegram-adapter.js +88 -0
  197. package/packages/notification/dist/adapters/telegram-adapter.js.map +1 -0
  198. package/packages/notification/dist/adapters/webhook-adapter.d.ts +15 -0
  199. package/packages/notification/dist/adapters/webhook-adapter.d.ts.map +1 -0
  200. package/packages/notification/dist/adapters/webhook-adapter.js +64 -0
  201. package/packages/notification/dist/adapters/webhook-adapter.js.map +1 -0
  202. package/packages/notification/dist/base-adapter.d.ts +36 -0
  203. package/packages/notification/dist/base-adapter.d.ts.map +1 -0
  204. package/packages/notification/dist/base-adapter.js +39 -0
  205. package/packages/notification/dist/base-adapter.js.map +1 -0
  206. package/packages/notification/dist/index.d.ts +10 -0
  207. package/packages/notification/dist/index.d.ts.map +1 -0
  208. package/packages/notification/dist/index.js +10 -0
  209. package/packages/notification/dist/index.js.map +1 -0
  210. package/packages/notification/dist/notification-center.d.ts +46 -0
  211. package/packages/notification/dist/notification-center.d.ts.map +1 -0
  212. package/packages/notification/dist/notification-center.js +232 -0
  213. package/packages/notification/dist/notification-center.js.map +1 -0
  214. package/packages/notification/dist/types.d.ts +69 -0
  215. package/packages/notification/dist/types.d.ts.map +1 -0
  216. package/packages/notification/dist/types.js +7 -0
  217. package/packages/notification/dist/types.js.map +1 -0
  218. package/packages/okf-indexer/dist/cli.d.ts +8 -0
  219. package/packages/okf-indexer/dist/cli.d.ts.map +1 -0
  220. package/packages/okf-indexer/dist/cli.js +23 -0
  221. package/packages/okf-indexer/dist/cli.js.map +1 -0
  222. package/packages/okf-indexer/dist/indexer.d.ts +55 -0
  223. package/packages/okf-indexer/dist/indexer.d.ts.map +1 -0
  224. package/packages/okf-indexer/dist/indexer.js +147 -0
  225. package/packages/okf-indexer/dist/indexer.js.map +1 -0
  226. package/packages/project-bootstrap/dist/bootstrap.d.ts +23 -0
  227. package/packages/project-bootstrap/dist/bootstrap.d.ts.map +1 -0
  228. package/packages/project-bootstrap/dist/bootstrap.js +128 -0
  229. package/packages/project-bootstrap/dist/bootstrap.js.map +1 -0
  230. package/packages/project-bootstrap/dist/frappe.d.ts +8 -0
  231. package/packages/project-bootstrap/dist/frappe.d.ts.map +1 -0
  232. package/packages/project-bootstrap/dist/frappe.js +82 -0
  233. package/packages/project-bootstrap/dist/frappe.js.map +1 -0
  234. package/packages/project-bootstrap/dist/index.d.ts +27 -0
  235. package/packages/project-bootstrap/dist/index.d.ts.map +1 -0
  236. package/packages/project-bootstrap/dist/index.js +27 -0
  237. package/packages/project-bootstrap/dist/index.js.map +1 -0
  238. package/packages/project-bootstrap/dist/minimal.d.ts +8 -0
  239. package/packages/project-bootstrap/dist/minimal.d.ts.map +1 -0
  240. package/packages/project-bootstrap/dist/minimal.js +35 -0
  241. package/packages/project-bootstrap/dist/minimal.js.map +1 -0
  242. package/packages/project-bootstrap/dist/types.d.ts +61 -0
  243. package/packages/project-bootstrap/dist/types.d.ts.map +1 -0
  244. package/packages/project-bootstrap/dist/types.js +7 -0
  245. package/packages/project-bootstrap/dist/types.js.map +1 -0
  246. package/packages/project-bootstrap/dist/typescript.d.ts +8 -0
  247. package/packages/project-bootstrap/dist/typescript.d.ts.map +1 -0
  248. package/packages/project-bootstrap/dist/typescript.js +103 -0
  249. package/packages/project-bootstrap/dist/typescript.js.map +1 -0
  250. package/packages/projection-engine/dist/src/engine.d.ts +61 -0
  251. package/packages/projection-engine/dist/src/engine.d.ts.map +1 -0
  252. package/packages/projection-engine/dist/src/engine.js +87 -0
  253. package/packages/projection-engine/dist/src/engine.js.map +1 -0
  254. package/packages/projection-engine/dist/src/index.d.ts +2 -0
  255. package/packages/projection-engine/dist/src/index.d.ts.map +1 -0
  256. package/packages/projection-engine/dist/src/index.js +2 -0
  257. package/packages/projection-engine/dist/src/index.js.map +1 -0
  258. package/packages/projection-engine/dist/src/project.d.ts +3 -0
  259. package/packages/projection-engine/dist/src/project.d.ts.map +1 -0
  260. package/packages/projection-engine/dist/src/project.js +24 -0
  261. package/packages/projection-engine/dist/src/project.js.map +1 -0
  262. package/packages/projection-engine/dist/src/types.d.ts +55 -0
  263. package/packages/projection-engine/dist/src/types.d.ts.map +1 -0
  264. package/packages/projection-engine/dist/src/types.js +5 -0
  265. package/packages/projection-engine/dist/src/types.js.map +1 -0
  266. package/packages/providers/dist/adapters.d.ts +133 -0
  267. package/packages/providers/dist/adapters.d.ts.map +1 -0
  268. package/packages/providers/dist/adapters.js +236 -0
  269. package/packages/providers/dist/adapters.js.map +1 -0
  270. package/packages/providers/dist/deepagents-adapter.d.ts +78 -0
  271. package/packages/providers/dist/deepagents-adapter.d.ts.map +1 -0
  272. package/packages/providers/dist/deepagents-adapter.js +323 -0
  273. package/packages/providers/dist/deepagents-adapter.js.map +1 -0
  274. package/packages/providers/dist/glm-usage.d.ts +102 -0
  275. package/packages/providers/dist/glm-usage.d.ts.map +1 -0
  276. package/packages/providers/dist/glm-usage.js +197 -0
  277. package/packages/providers/dist/glm-usage.js.map +1 -0
  278. package/packages/providers/dist/index.d.ts +11 -0
  279. package/packages/providers/dist/index.d.ts.map +1 -0
  280. package/packages/providers/dist/index.js +11 -0
  281. package/packages/providers/dist/index.js.map +1 -0
  282. package/packages/providers/dist/openai-usage.d.ts +103 -0
  283. package/packages/providers/dist/openai-usage.d.ts.map +1 -0
  284. package/packages/providers/dist/openai-usage.js +208 -0
  285. package/packages/providers/dist/openai-usage.js.map +1 -0
  286. package/packages/providers/dist/provider-id.d.ts +46 -0
  287. package/packages/providers/dist/provider-id.d.ts.map +1 -0
  288. package/packages/providers/dist/provider-id.js +113 -0
  289. package/packages/providers/dist/provider-id.js.map +1 -0
  290. package/packages/quota-manager/dist/examples/tui-usage-integration.d.ts +35 -0
  291. package/packages/quota-manager/dist/examples/tui-usage-integration.d.ts.map +1 -0
  292. package/packages/quota-manager/dist/examples/tui-usage-integration.js +73 -0
  293. package/packages/quota-manager/dist/examples/tui-usage-integration.js.map +1 -0
  294. package/packages/quota-manager/dist/index.d.ts +8 -0
  295. package/packages/quota-manager/dist/index.d.ts.map +1 -0
  296. package/packages/quota-manager/dist/index.js +8 -0
  297. package/packages/quota-manager/dist/index.js.map +1 -0
  298. package/packages/quota-manager/dist/quota-manager.d.ts +70 -0
  299. package/packages/quota-manager/dist/quota-manager.d.ts.map +1 -0
  300. package/packages/quota-manager/dist/quota-manager.js +260 -0
  301. package/packages/quota-manager/dist/quota-manager.js.map +1 -0
  302. package/packages/quota-manager/dist/tui-usage-monitor.d.ts +96 -0
  303. package/packages/quota-manager/dist/tui-usage-monitor.d.ts.map +1 -0
  304. package/packages/quota-manager/dist/tui-usage-monitor.js +268 -0
  305. package/packages/quota-manager/dist/tui-usage-monitor.js.map +1 -0
  306. package/packages/runtime/dist/command-executor.d.ts +129 -0
  307. package/packages/runtime/dist/command-executor.d.ts.map +1 -0
  308. package/packages/runtime/dist/command-executor.js +383 -0
  309. package/packages/runtime/dist/command-executor.js.map +1 -0
  310. package/packages/runtime/dist/index.d.ts +11 -0
  311. package/packages/runtime/dist/index.d.ts.map +1 -0
  312. package/packages/runtime/dist/index.js +11 -0
  313. package/packages/runtime/dist/index.js.map +1 -0
  314. package/packages/runtime/dist/local-runtime-agent.d.ts +111 -0
  315. package/packages/runtime/dist/local-runtime-agent.d.ts.map +1 -0
  316. package/packages/runtime/dist/local-runtime-agent.js +356 -0
  317. package/packages/runtime/dist/local-runtime-agent.js.map +1 -0
  318. package/packages/runtime/dist/policy-engine.d.ts +203 -0
  319. package/packages/runtime/dist/policy-engine.d.ts.map +1 -0
  320. package/packages/runtime/dist/policy-engine.js +592 -0
  321. package/packages/runtime/dist/policy-engine.js.map +1 -0
  322. package/packages/runtime/dist/runtime-api.d.ts +137 -0
  323. package/packages/runtime/dist/runtime-api.d.ts.map +1 -0
  324. package/packages/runtime/dist/runtime-api.js +454 -0
  325. package/packages/runtime/dist/runtime-api.js.map +1 -0
  326. package/packages/runtime/dist/workspace-manager.d.ts +162 -0
  327. package/packages/runtime/dist/workspace-manager.d.ts.map +1 -0
  328. package/packages/runtime/dist/workspace-manager.js +451 -0
  329. package/packages/runtime/dist/workspace-manager.js.map +1 -0
  330. package/packages/session-api/dist/src/api.d.ts +83 -0
  331. package/packages/session-api/dist/src/api.d.ts.map +1 -0
  332. package/packages/session-api/dist/src/api.js +49 -0
  333. package/packages/session-api/dist/src/api.js.map +1 -0
  334. package/packages/session-api/dist/src/index.d.ts +2 -0
  335. package/packages/session-api/dist/src/index.d.ts.map +1 -0
  336. package/packages/session-api/dist/src/index.js +2 -0
  337. package/packages/session-api/dist/src/index.js.map +1 -0
  338. package/packages/session-api/dist/src/types.d.ts +22 -0
  339. package/packages/session-api/dist/src/types.d.ts.map +1 -0
  340. package/packages/session-api/dist/src/types.js +5 -0
  341. package/packages/session-api/dist/src/types.js.map +1 -0
  342. package/packages/session-export/dist/src/exporter.d.ts +28 -0
  343. package/packages/session-export/dist/src/exporter.d.ts.map +1 -0
  344. package/packages/session-export/dist/src/exporter.js +42 -0
  345. package/packages/session-export/dist/src/exporter.js.map +1 -0
  346. package/packages/session-export/dist/src/index.d.ts +2 -0
  347. package/packages/session-export/dist/src/index.d.ts.map +1 -0
  348. package/packages/session-export/dist/src/index.js +2 -0
  349. package/packages/session-export/dist/src/index.js.map +1 -0
  350. package/packages/session-export/dist/src/types.d.ts +20 -0
  351. package/packages/session-export/dist/src/types.d.ts.map +1 -0
  352. package/packages/session-export/dist/src/types.js +5 -0
  353. package/packages/session-export/dist/src/types.js.map +1 -0
  354. package/packages/subscription-engine/dist/src/engine.d.ts +13 -0
  355. package/packages/subscription-engine/dist/src/engine.d.ts.map +1 -0
  356. package/packages/subscription-engine/dist/src/engine.js +40 -0
  357. package/packages/subscription-engine/dist/src/engine.js.map +1 -0
  358. package/packages/subscription-engine/dist/src/index.d.ts +2 -0
  359. package/packages/subscription-engine/dist/src/index.d.ts.map +1 -0
  360. package/packages/subscription-engine/dist/src/index.js +2 -0
  361. package/packages/subscription-engine/dist/src/index.js.map +1 -0
  362. package/packages/subscription-engine/dist/src/subscriptions.d.ts +19 -0
  363. package/packages/subscription-engine/dist/src/subscriptions.d.ts.map +1 -0
  364. package/packages/subscription-engine/dist/src/subscriptions.js +39 -0
  365. package/packages/subscription-engine/dist/src/subscriptions.js.map +1 -0
  366. package/packages/subscription-engine/dist/src/types.d.ts +24 -0
  367. package/packages/subscription-engine/dist/src/types.d.ts.map +1 -0
  368. package/packages/subscription-engine/dist/src/types.js +5 -0
  369. package/packages/subscription-engine/dist/src/types.js.map +1 -0
  370. package/packages/tencentdb-sync/dist/cli.d.ts +7 -0
  371. package/packages/tencentdb-sync/dist/cli.d.ts.map +1 -0
  372. package/packages/tencentdb-sync/dist/cli.js +311 -0
  373. package/packages/tencentdb-sync/dist/cli.js.map +1 -0
  374. package/packages/tencentdb-sync/dist/client.d.ts +141 -0
  375. package/packages/tencentdb-sync/dist/client.d.ts.map +1 -0
  376. package/packages/tencentdb-sync/dist/client.js +166 -0
  377. package/packages/tencentdb-sync/dist/client.js.map +1 -0
  378. package/packages/tencentdb-sync/dist/config.d.ts +32 -0
  379. package/packages/tencentdb-sync/dist/config.d.ts.map +1 -0
  380. package/packages/tencentdb-sync/dist/config.js +102 -0
  381. package/packages/tencentdb-sync/dist/config.js.map +1 -0
  382. package/packages/tencentdb-sync/dist/index.d.ts +9 -0
  383. package/packages/tencentdb-sync/dist/index.d.ts.map +1 -0
  384. package/packages/tencentdb-sync/dist/index.js +8 -0
  385. package/packages/tencentdb-sync/dist/index.js.map +1 -0
  386. package/packages/types/src/agent-worker-types.js +41 -0
  387. package/packages/types/src/ai-providers.js +66 -0
  388. package/packages/types/src/runtime-types.js +3 -0
  389. package/packages/workflow-events/dist/src/events.d.ts +38 -0
  390. package/packages/workflow-events/dist/src/events.d.ts.map +1 -0
  391. package/packages/workflow-events/dist/src/events.js +55 -0
  392. package/packages/workflow-events/dist/src/events.js.map +1 -0
  393. package/packages/workflow-events/dist/src/index.d.ts +2 -0
  394. package/packages/workflow-events/dist/src/index.d.ts.map +1 -0
  395. package/packages/workflow-events/dist/src/index.js +2 -0
  396. package/packages/workflow-events/dist/src/index.js.map +1 -0
  397. package/packages/workflow-events/dist/src/pipeline.d.ts +21 -0
  398. package/packages/workflow-events/dist/src/pipeline.d.ts.map +1 -0
  399. package/packages/workflow-events/dist/src/pipeline.js +36 -0
  400. package/packages/workflow-events/dist/src/pipeline.js.map +1 -0
  401. package/packages/workflow-events/dist/src/types.d.ts +110 -0
  402. package/packages/workflow-events/dist/src/types.d.ts.map +1 -0
  403. package/packages/workflow-events/dist/src/types.js +5 -0
  404. package/packages/workflow-events/dist/src/types.js.map +1 -0
  405. package/packages/workspace-scanner/dist/src/detect.d.ts +3 -0
  406. package/packages/workspace-scanner/dist/src/detect.d.ts.map +1 -0
  407. package/packages/workspace-scanner/dist/src/detect.js +60 -0
  408. package/packages/workspace-scanner/dist/src/detect.js.map +1 -0
  409. package/packages/workspace-scanner/dist/src/git.d.ts +7 -0
  410. package/packages/workspace-scanner/dist/src/git.d.ts.map +1 -0
  411. package/packages/workspace-scanner/dist/src/git.js +75 -0
  412. package/packages/workspace-scanner/dist/src/git.js.map +1 -0
  413. package/packages/workspace-scanner/dist/src/index.d.ts +5 -0
  414. package/packages/workspace-scanner/dist/src/index.d.ts.map +1 -0
  415. package/packages/workspace-scanner/dist/src/index.js +4 -0
  416. package/packages/workspace-scanner/dist/src/index.js.map +1 -0
  417. package/packages/workspace-scanner/dist/src/scanner.d.ts +11 -0
  418. package/packages/workspace-scanner/dist/src/scanner.d.ts.map +1 -0
  419. package/packages/workspace-scanner/dist/src/scanner.js +59 -0
  420. package/packages/workspace-scanner/dist/src/scanner.js.map +1 -0
  421. package/packages/workspace-scanner/dist/src/types.d.ts +35 -0
  422. package/packages/workspace-scanner/dist/src/types.d.ts.map +1 -0
  423. package/packages/workspace-scanner/dist/src/types.js +5 -0
  424. package/packages/workspace-scanner/dist/src/types.js.map +1 -0
  425. package/packages/worktree/dist/index.d.ts +7 -0
  426. package/packages/worktree/dist/index.d.ts.map +1 -0
  427. package/packages/worktree/dist/index.js +7 -0
  428. package/packages/worktree/dist/index.js.map +1 -0
  429. package/packages/worktree/dist/worktree.d.ts +88 -0
  430. package/packages/worktree/dist/worktree.d.ts.map +1 -0
  431. package/packages/worktree/dist/worktree.js +239 -0
  432. package/packages/worktree/dist/worktree.js.map +1 -0
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Provider ID — single source of truth for "which provider does this model id belong to".
3
+ *
4
+ * Used by:
5
+ * - `index.ts` to gate fetcher calls (replaces the old `isMiniMaxModel` check)
6
+ * - `mirror.ts` to key per-provider records
7
+ * - the footer renderer to label lines correctly
8
+ * - the cookie sanitizer and quota manager
9
+ *
10
+ * Provider boundaries (model-id prefix → provider id):
11
+ *
12
+ * | Model id prefix | Provider | Notes |
13
+ * |-----------------|----------------|--------------------------------------|
14
+ * | `minimax/` | minimax | Playwright scrape path |
15
+ * | `openai/` | openai | TUI signal path |
16
+ * | `openai-codex/` | openai-codex | OAuth (different auth shape) |
17
+ * | `zai/` | glm | Z.ai / Zhipu |
18
+ * | `zhipu/` | glm | alt alias |
19
+ * | `anthropic/` | anthropic | TUI signal path |
20
+ * | `openrouter/` | openrouter | TUI signal path |
21
+ * | other | null | unknown — caller decides default |
22
+ *
23
+ * Match is case-insensitive on the prefix portion.
24
+ *
25
+ * The set is intentionally small and explicit. To add a provider: add
26
+ * a row to MODEL_PREFIXES and to the sanitization doc in
27
+ * wiki/bugs/multi-provider-usage-status.md.
28
+ */
29
+ export type KnownProvider = "minimax" | "openai" | "openai-codex" | "glm" | "anthropic" | "openrouter";
30
+ /** True if the given string is a known, canonical provider id. */
31
+ export declare function isKnownAiProvider(value: string): value is KnownProvider;
32
+ export type ProviderId = KnownProvider | (string & {});
33
+ /** Return the provider id for a model id, or null if unknown. */
34
+ export declare function providerFromModelId(modelId: string | null | undefined): ProviderId | null;
35
+ /** Display name for the provider (used in the footer label). */
36
+ export declare function providerDisplayName(provider: ProviderId): string;
37
+ /** True if this provider has a continuous scrape path today (only MiniMax). */
38
+ /**
39
+ * Providers with continuous quota scraping via browser/API.
40
+ * - minimax: has both 5h and weekly windows
41
+ * - openai: has weekly-only window (no 5h limit since 2026)
42
+ */
43
+ export declare function providerHasContinuousScrape(provider: ProviderId): boolean;
44
+ /** True if this provider has a TUI-driven signal path today. */
45
+ export declare function providerHasTUISignal(provider: ProviderId): boolean;
46
+ //# sourceMappingURL=provider-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-id.d.ts","sourceRoot":"","sources":["../src/provider-id.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,MAAM,MAAM,aAAa,GACtB,SAAS,GACT,QAAQ,GACR,cAAc,GACd,KAAK,GACL,WAAW,GACX,YAAY,CAAC;AAEhB,kEAAkE;AAClE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,aAAa,CASvE;AAED,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAYvD,iEAAiE;AACjE,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAChC,UAAU,GAAG,IAAI,CAuBnB;AAED,gEAAgE;AAChE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAiBhE;AAED,+EAA+E;AAC/E;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAEzE;AAED,gEAAgE;AAChE,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAQlE"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Provider ID — single source of truth for "which provider does this model id belong to".
3
+ *
4
+ * Used by:
5
+ * - `index.ts` to gate fetcher calls (replaces the old `isMiniMaxModel` check)
6
+ * - `mirror.ts` to key per-provider records
7
+ * - the footer renderer to label lines correctly
8
+ * - the cookie sanitizer and quota manager
9
+ *
10
+ * Provider boundaries (model-id prefix → provider id):
11
+ *
12
+ * | Model id prefix | Provider | Notes |
13
+ * |-----------------|----------------|--------------------------------------|
14
+ * | `minimax/` | minimax | Playwright scrape path |
15
+ * | `openai/` | openai | TUI signal path |
16
+ * | `openai-codex/` | openai-codex | OAuth (different auth shape) |
17
+ * | `zai/` | glm | Z.ai / Zhipu |
18
+ * | `zhipu/` | glm | alt alias |
19
+ * | `anthropic/` | anthropic | TUI signal path |
20
+ * | `openrouter/` | openrouter | TUI signal path |
21
+ * | other | null | unknown — caller decides default |
22
+ *
23
+ * Match is case-insensitive on the prefix portion.
24
+ *
25
+ * The set is intentionally small and explicit. To add a provider: add
26
+ * a row to MODEL_PREFIXES and to the sanitization doc in
27
+ * wiki/bugs/multi-provider-usage-status.md.
28
+ */
29
+ /** True if the given string is a known, canonical provider id. */
30
+ export function isKnownAiProvider(value) {
31
+ return (value === "minimax" ||
32
+ value === "openai" ||
33
+ value === "openai-codex" ||
34
+ value === "glm" ||
35
+ value === "anthropic" ||
36
+ value === "openrouter");
37
+ }
38
+ const MODEL_PREFIXES = [
39
+ { prefix: "minimax/", provider: "minimax" },
40
+ { prefix: "openai-codex/", provider: "openai-codex" },
41
+ { prefix: "openai/", provider: "openai" },
42
+ { prefix: "anthropic/", provider: "anthropic" },
43
+ { prefix: "openrouter/", provider: "openrouter" },
44
+ { prefix: "zai/", provider: "glm" },
45
+ { prefix: "zhipu/", provider: "glm" },
46
+ ];
47
+ /** Return the provider id for a model id, or null if unknown. */
48
+ export function providerFromModelId(modelId) {
49
+ if (!modelId || typeof modelId !== "string")
50
+ return null;
51
+ const lower = modelId.toLowerCase();
52
+ for (const { prefix, provider } of MODEL_PREFIXES) {
53
+ if (lower.startsWith(prefix))
54
+ return provider;
55
+ }
56
+ // Some model ids may be just the provider name (no `/` separator) —
57
+ // common when the user picks via a friendly picker.
58
+ if (lower.startsWith("minimax"))
59
+ return "minimax";
60
+ if (lower.startsWith("openai-codex"))
61
+ return "openai-codex";
62
+ if (lower.startsWith("openai"))
63
+ return "openai";
64
+ if (lower.startsWith("anthropic") || lower.startsWith("claude"))
65
+ return "anthropic";
66
+ if (lower.startsWith("openrouter"))
67
+ return "openrouter";
68
+ if (lower.startsWith("zai") ||
69
+ lower.startsWith("zhipu") ||
70
+ lower.startsWith("glm"))
71
+ return "glm";
72
+ // Fallback for bare model names (no provider prefix)
73
+ if (lower.startsWith("gpt"))
74
+ return "openai"; // e.g., "gpt-5.4" → openai
75
+ return null;
76
+ }
77
+ /** Display name for the provider (used in the footer label). */
78
+ export function providerDisplayName(provider) {
79
+ switch (provider) {
80
+ case "minimax":
81
+ return "MiniMax";
82
+ case "openai":
83
+ return "OpenAI";
84
+ case "openai-codex":
85
+ return "OpenAI Codex";
86
+ case "glm":
87
+ return "GLM";
88
+ case "anthropic":
89
+ return "Anthropic";
90
+ case "openrouter":
91
+ return "OpenRouter";
92
+ default:
93
+ return provider;
94
+ }
95
+ }
96
+ /** True if this provider has a continuous scrape path today (only MiniMax). */
97
+ /**
98
+ * Providers with continuous quota scraping via browser/API.
99
+ * - minimax: has both 5h and weekly windows
100
+ * - openai: has weekly-only window (no 5h limit since 2026)
101
+ */
102
+ export function providerHasContinuousScrape(provider) {
103
+ return provider === "minimax" || provider === "openai";
104
+ }
105
+ /** True if this provider has a TUI-driven signal path today. */
106
+ export function providerHasTUISignal(provider) {
107
+ return (provider === "openai" ||
108
+ provider === "openai-codex" ||
109
+ provider === "glm" ||
110
+ provider === "anthropic" ||
111
+ provider === "openrouter");
112
+ }
113
+ //# sourceMappingURL=provider-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-id.js","sourceRoot":"","sources":["../src/provider-id.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * TUI Usage Integration Example
3
+ *
4
+ * Shows how to integrate TUIUsageMonitor with the pi extension.
5
+ *
6
+ * Usage:
7
+ * ```typescript
8
+ * import { QuotaManager, TUIUsageMonitor } from "@pi-harness/quota-manager";
9
+ *
10
+ * // In your extension setup:
11
+ * const quotaManager = new QuotaManager();
12
+ *
13
+ * const monitor = new TUIUsageMonitor({
14
+ * quotaManager,
15
+ * debug: true,
16
+ * });
17
+ *
18
+ * // Hook into pi events
19
+ * pi.on("error", (event) => {
20
+ * monitor.processMessage(event.message);
21
+ * });
22
+ *
23
+ * pi.on("message", (event) => {
24
+ * monitor.processMessage(event.message);
25
+ * });
26
+ *
27
+ * // Now QuotaManager automatically receives signals from all providers
28
+ * // Check provider availability:
29
+ * if (!quotaManager.isAvailable("openai")) {
30
+ * console.log("OpenAI exhausted, waiting for:", quotaManager.getWaitTime("openai"));
31
+ * }
32
+ * ```
33
+ */
34
+ export {};
35
+ //# sourceMappingURL=tui-usage-integration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui-usage-integration.d.ts","sourceRoot":"","sources":["../../src/examples/tui-usage-integration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * TUI Usage Integration Example
3
+ *
4
+ * Shows how to integrate TUIUsageMonitor with the pi extension.
5
+ *
6
+ * Usage:
7
+ * ```typescript
8
+ * import { QuotaManager, TUIUsageMonitor } from "@pi-harness/quota-manager";
9
+ *
10
+ * // In your extension setup:
11
+ * const quotaManager = new QuotaManager();
12
+ *
13
+ * const monitor = new TUIUsageMonitor({
14
+ * quotaManager,
15
+ * debug: true,
16
+ * });
17
+ *
18
+ * // Hook into pi events
19
+ * pi.on("error", (event) => {
20
+ * monitor.processMessage(event.message);
21
+ * });
22
+ *
23
+ * pi.on("message", (event) => {
24
+ * monitor.processMessage(event.message);
25
+ * });
26
+ *
27
+ * // Now QuotaManager automatically receives signals from all providers
28
+ * // Check provider availability:
29
+ * if (!quotaManager.isAvailable("openai")) {
30
+ * console.log("OpenAI exhausted, waiting for:", quotaManager.getWaitTime("openai"));
31
+ * }
32
+ * ```
33
+ */
34
+ export {};
35
+ // Example standalone usage
36
+ /*
37
+ import { QuotaManager, TUIUsageMonitor } from "./index.js";
38
+
39
+ // Create quota manager
40
+ const quotaManager = new QuotaManager();
41
+
42
+ // Create TUI monitor
43
+ const monitor = new TUIUsageMonitor({
44
+ quotaManager,
45
+ debug: true,
46
+ });
47
+
48
+ // Process some example messages
49
+ const messages = [
50
+ "OpenAI: Quota exhausted. Reset at 14:30",
51
+ "GLM context window full. Retry in 30 minutes",
52
+ "Anthropic Claude rate limit hit. 429 error",
53
+ "OpenRouter tokens running out",
54
+ ];
55
+
56
+ for (const msg of messages) {
57
+ const signal = monitor.processMessage(msg);
58
+ if (signal) {
59
+ console.log(`Detected: ${signal.provider} - ${signal.limitType}`);
60
+ console.log(` Exhausted: ${signal.exhausted}`);
61
+ console.log(` Resets at: ${signal.resetsAt}`);
62
+ console.log("");
63
+ }
64
+ }
65
+
66
+ // Check quota state
67
+ console.log("=== Quota State ===");
68
+ for (const provider of ["openai", "glm", "anthropic", "openrouter"]) {
69
+ const state = quotaManager.getProviderState(provider);
70
+ console.log(`${provider}: ${state.exhausted ? "EXHAUSTED" : state.limited ? "LIMITED" : "AVAILABLE"}`);
71
+ }
72
+ */
73
+ //# sourceMappingURL=tui-usage-integration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui-usage-integration.js","sourceRoot":"","sources":["../../src/examples/tui-usage-integration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;;AAEH,2BAA2B;AAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCE"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Quota Manager (RFC-0003)
3
+ *
4
+ * Multi-provider quota tracking and reset estimation.
5
+ */
6
+ export * from "./quota-manager.js";
7
+ export * from "./tui-usage-monitor.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Quota Manager (RFC-0003)
3
+ *
4
+ * Multi-provider quota tracking and reset estimation.
5
+ */
6
+ export * from "./quota-manager.js";
7
+ export * from "./tui-usage-monitor.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Quota Manager — RFC-0003
3
+ *
4
+ * Collects quota signals from API responses, provider status,
5
+ * Playwright, and local estimates. Produces provider availability state.
6
+ */
7
+ import type { QuotaSignal, QuotaState } from "../../types/src/runtime-types.js";
8
+ export interface QuotaSignalInput {
9
+ provider: string;
10
+ source: "api_response" | "provider_status" | "playwright" | "local_estimate" | "tui_message";
11
+ windowType: "5h" | "daily" | "weekly" | "monthly";
12
+ usedPct?: number;
13
+ exhausted?: boolean;
14
+ resetsAt?: string;
15
+ retryAfterMs?: number;
16
+ }
17
+ export declare class QuotaManager {
18
+ private signals;
19
+ private readonly staleThresholdMs;
20
+ constructor(staleThresholdMs?: number);
21
+ /**
22
+ * Record a quota signal
23
+ */
24
+ recordSignal(input: QuotaSignalInput): void;
25
+ /**
26
+ * Get the latest signal for a provider
27
+ */
28
+ getLatestSignal(provider: string, windowType?: "5h" | "daily" | "weekly" | "monthly"): QuotaSignal | null;
29
+ /**
30
+ * Get quota state for a provider
31
+ */
32
+ getProviderState(provider: string): QuotaState;
33
+ /**
34
+ * Get signals for a provider
35
+ */
36
+ getSignals(provider: string): QuotaSignal[];
37
+ /**
38
+ * Check if provider is available
39
+ */
40
+ isAvailable(provider: string): boolean;
41
+ /**
42
+ * Check if provider is exhausted
43
+ */
44
+ isExhausted(provider: string): boolean;
45
+ /**
46
+ * Get time until provider is available again
47
+ */
48
+ getWaitTime(provider: string): number | null;
49
+ /**
50
+ * Get best available provider from a list
51
+ */
52
+ selectBestProvider(providers: string[]): string | null;
53
+ /**
54
+ * Clear stale signals
55
+ */
56
+ clearStale(): void;
57
+ /**
58
+ * Generate quota report
59
+ */
60
+ generateReport(providers: string[]): string;
61
+ }
62
+ /**
63
+ * Parse quota signal from MiniMax error
64
+ */
65
+ export declare function parseMiniMaxError(error: unknown): QuotaSignal | null;
66
+ /**
67
+ * Parse quota signal from OpenAI error
68
+ */
69
+ export declare function parseOpenAIError(error: unknown): QuotaSignal | null;
70
+ //# sourceMappingURL=quota-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quota-manager.d.ts","sourceRoot":"","sources":["../src/quota-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAEhF,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EACH,cAAc,GACd,iBAAiB,GACjB,YAAY,GACZ,gBAAgB,GAChB,aAAa,CAAC;IACjB,UAAU,EAAE,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,YAAY;IACxB,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C,YAAY,gBAAgB,GAAE,MAAuB,EAEpD;IAED;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAe1C;IAED;;OAEG;IACH,eAAe,CACd,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAChD,WAAW,GAAG,IAAI,CAkCpB;IAED;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CA8B7C;IAED;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CAgB1C;IAED;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAErC;IAED;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAErC;IAED;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM3C;IAED;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAerD;IAED;;OAEG;IACH,UAAU,IAAI,IAAI,CAcjB;IAED;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CA8B1C;CACD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAmCpE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CA0CnE"}
@@ -0,0 +1,260 @@
1
+ /**
2
+ * Quota Manager — RFC-0003
3
+ *
4
+ * Collects quota signals from API responses, provider status,
5
+ * Playwright, and local estimates. Produces provider availability state.
6
+ */
7
+ export class QuotaManager {
8
+ signals = new Map();
9
+ staleThresholdMs;
10
+ constructor(staleThresholdMs = 30 * 60 * 1000) {
11
+ this.staleThresholdMs = staleThresholdMs;
12
+ }
13
+ /**
14
+ * Record a quota signal
15
+ */
16
+ recordSignal(input) {
17
+ const signal = {
18
+ provider: input.provider,
19
+ windowType: input.windowType,
20
+ usedPct: input.usedPct ?? 0,
21
+ remainingPct: 100 - (input.usedPct ?? 0),
22
+ exhausted: input.exhausted ?? false,
23
+ source: input.source,
24
+ capturedAt: new Date().toISOString(),
25
+ resetsAt: input.resetsAt,
26
+ };
27
+ const key = `${input.provider}:${input.windowType}`;
28
+ const existing = this.signals.get(key) ?? [];
29
+ this.signals.set(key, [...existing, signal]);
30
+ }
31
+ /**
32
+ * Get the latest signal for a provider
33
+ */
34
+ getLatestSignal(provider, windowType) {
35
+ const key = windowType ? `${provider}:${windowType}` : provider;
36
+ if (windowType) {
37
+ const signals = this.signals.get(key) ?? [];
38
+ return (signals.sort((a, b) => Date.parse(b.capturedAt) - Date.parse(a.capturedAt))[0] ?? null);
39
+ }
40
+ // Return most recent across all window types
41
+ let latest = null;
42
+ let latestTs = 0;
43
+ for (const entry of Array.from(this.signals.entries())) {
44
+ const [k, sigs] = entry;
45
+ if (k.startsWith(`${provider}:`)) {
46
+ const mostRecent = sigs.sort((a, b) => Date.parse(b.capturedAt) - Date.parse(a.capturedAt))[0];
47
+ if (mostRecent) {
48
+ const ts = Date.parse(mostRecent.capturedAt);
49
+ if (ts > latestTs) {
50
+ latestTs = ts;
51
+ latest = mostRecent;
52
+ }
53
+ }
54
+ }
55
+ }
56
+ return latest;
57
+ }
58
+ /**
59
+ * Get quota state for a provider
60
+ */
61
+ getProviderState(provider) {
62
+ const signals = this.getSignals(provider);
63
+ const exhausted = signals.some((s) => s.exhausted || (s.usedPct !== undefined && s.usedPct >= 100));
64
+ const limited = signals.some((s) => s.usedPct !== undefined && s.usedPct >= 90);
65
+ // Find next reset time
66
+ let nextAvailableAt;
67
+ for (const signal of signals) {
68
+ if (signal.resetsAt) {
69
+ if (!nextAvailableAt ||
70
+ Date.parse(signal.resetsAt) < Date.parse(nextAvailableAt)) {
71
+ nextAvailableAt = signal.resetsAt;
72
+ }
73
+ }
74
+ }
75
+ return {
76
+ provider,
77
+ available: !exhausted && !limited,
78
+ limited,
79
+ exhausted,
80
+ signals,
81
+ nextAvailableAt,
82
+ };
83
+ }
84
+ /**
85
+ * Get signals for a provider
86
+ */
87
+ getSignals(provider) {
88
+ const result = [];
89
+ const cutoff = Date.now() - this.staleThresholdMs;
90
+ for (const entry of Array.from(this.signals.entries())) {
91
+ const [key, sigs] = entry;
92
+ if (key.startsWith(`${provider}:`)) {
93
+ for (const signal of sigs) {
94
+ if (Date.parse(signal.capturedAt) >= cutoff) {
95
+ result.push(signal);
96
+ }
97
+ }
98
+ }
99
+ }
100
+ return result;
101
+ }
102
+ /**
103
+ * Check if provider is available
104
+ */
105
+ isAvailable(provider) {
106
+ return this.getProviderState(provider).available;
107
+ }
108
+ /**
109
+ * Check if provider is exhausted
110
+ */
111
+ isExhausted(provider) {
112
+ return this.getProviderState(provider).exhausted;
113
+ }
114
+ /**
115
+ * Get time until provider is available again
116
+ */
117
+ getWaitTime(provider) {
118
+ const state = this.getProviderState(provider);
119
+ if (!state.nextAvailableAt)
120
+ return null;
121
+ const waitMs = Date.parse(state.nextAvailableAt) - Date.now();
122
+ return waitMs > 0 ? waitMs : null;
123
+ }
124
+ /**
125
+ * Get best available provider from a list
126
+ */
127
+ selectBestProvider(providers) {
128
+ const available = providers.filter((p) => this.isAvailable(p));
129
+ if (available.length === 0)
130
+ return null;
131
+ // Sort by remaining quota (prefer those with more remaining)
132
+ available.sort((a, b) => {
133
+ const signalA = this.getLatestSignal(a);
134
+ const signalB = this.getLatestSignal(b);
135
+ const remA = signalA?.remainingPct ?? 100;
136
+ const remB = signalB?.remainingPct ?? 100;
137
+ return remB - remA;
138
+ });
139
+ return available[0];
140
+ }
141
+ /**
142
+ * Clear stale signals
143
+ */
144
+ clearStale() {
145
+ const cutoff = Date.now() - this.staleThresholdMs;
146
+ for (const entry of Array.from(this.signals.entries())) {
147
+ const [key, sigs] = entry;
148
+ const fresh = sigs.filter((s) => Date.parse(s.capturedAt) >= cutoff);
149
+ if (fresh.length === 0) {
150
+ this.signals.delete(key);
151
+ }
152
+ else {
153
+ this.signals.set(key, fresh);
154
+ }
155
+ }
156
+ }
157
+ /**
158
+ * Generate quota report
159
+ */
160
+ generateReport(providers) {
161
+ const lines = ["Quota Status Report", "=".repeat(40), ""];
162
+ for (const provider of providers) {
163
+ const state = this.getProviderState(provider);
164
+ const latest = this.getLatestSignal(provider);
165
+ const status = state.exhausted
166
+ ? "EXHAUSTED"
167
+ : state.limited
168
+ ? "LIMITED"
169
+ : "AVAILABLE";
170
+ lines.push(`${provider}: ${status}`);
171
+ if (latest) {
172
+ lines.push(` Latest: ${latest.usedPct ?? 0}% used`);
173
+ if (latest.resetsAt) {
174
+ const wait = Date.parse(latest.resetsAt) - Date.now();
175
+ if (wait > 0) {
176
+ lines.push(` Resets: in ${Math.ceil(wait / 60000)} minutes`);
177
+ }
178
+ }
179
+ lines.push(` Source: ${latest.source}`);
180
+ }
181
+ lines.push("");
182
+ }
183
+ return lines.join("\n");
184
+ }
185
+ }
186
+ /**
187
+ * Parse quota signal from MiniMax error
188
+ */
189
+ export function parseMiniMaxError(error) {
190
+ const e = error;
191
+ const msg = String(e.message ?? e.error ?? "");
192
+ // MiniMax quota error: "Error code: 2056 - Rate limit exceeded. Retry after..."
193
+ if (msg.includes("2056") ||
194
+ msg.includes("quota") ||
195
+ msg.includes("rate limit")) {
196
+ // Try to extract retry time
197
+ const retryMatch = msg.match(/retry after (\d+) (seconds?|minutes?)/i);
198
+ let retryAfterMs;
199
+ if (retryMatch) {
200
+ const value = parseInt(retryMatch[1], 10);
201
+ const unit = retryMatch[2].toLowerCase();
202
+ retryAfterMs = unit.startsWith("minute")
203
+ ? value * 60 * 1000
204
+ : value * 1000;
205
+ }
206
+ return {
207
+ provider: "minimax",
208
+ windowType: "5h",
209
+ usedPct: 100,
210
+ remainingPct: 0,
211
+ exhausted: true,
212
+ source: "api_response",
213
+ capturedAt: new Date().toISOString(),
214
+ retryAfterMs,
215
+ };
216
+ }
217
+ return null;
218
+ }
219
+ /**
220
+ * Parse quota signal from OpenAI error
221
+ */
222
+ export function parseOpenAIError(error) {
223
+ const e = error;
224
+ const code = String(e.code ?? "");
225
+ const msg = String(e.message ?? e.error ?? "");
226
+ if (code === "insufficient_quota" || code === "context_length_exceeded") {
227
+ return {
228
+ provider: "openai",
229
+ windowType: "daily",
230
+ usedPct: 100,
231
+ remainingPct: 0,
232
+ exhausted: true,
233
+ source: "api_response",
234
+ capturedAt: new Date().toISOString(),
235
+ };
236
+ }
237
+ if (msg.includes("429")) {
238
+ const retryMatch = msg.match(/retry after (\d+) (seconds?|minutes?)/i);
239
+ let retryAfterMs;
240
+ if (retryMatch) {
241
+ const value = parseInt(retryMatch[1], 10);
242
+ const unit = retryMatch[2].toLowerCase();
243
+ retryAfterMs = unit.startsWith("minute")
244
+ ? value * 60 * 1000
245
+ : value * 1000;
246
+ }
247
+ return {
248
+ provider: "openai",
249
+ windowType: "5h",
250
+ usedPct: 100,
251
+ remainingPct: 0,
252
+ exhausted: true,
253
+ source: "api_response",
254
+ capturedAt: new Date().toISOString(),
255
+ retryAfterMs,
256
+ };
257
+ }
258
+ return null;
259
+ }
260
+ //# sourceMappingURL=quota-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quota-manager.js","sourceRoot":"","sources":["../src/quota-manager.ts"],"names":[],"mappings":"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"}