praxis-agent 0.1.0

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 (395) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +534 -0
  3. package/dist/application/background-agent-manager.d.ts +66 -0
  4. package/dist/application/background-agent-manager.d.ts.map +1 -0
  5. package/dist/application/background-agent-manager.js +362 -0
  6. package/dist/application/background-agent-manager.js.map +1 -0
  7. package/dist/application/background-bash-manager.d.ts +54 -0
  8. package/dist/application/background-bash-manager.d.ts.map +1 -0
  9. package/dist/application/background-bash-manager.js +354 -0
  10. package/dist/application/background-bash-manager.js.map +1 -0
  11. package/dist/application/background-task-id.d.ts +5 -0
  12. package/dist/application/background-task-id.d.ts.map +1 -0
  13. package/dist/application/background-task-id.js +25 -0
  14. package/dist/application/background-task-id.js.map +1 -0
  15. package/dist/application/claude-project-purge.d.ts +50 -0
  16. package/dist/application/claude-project-purge.d.ts.map +1 -0
  17. package/dist/application/claude-project-purge.js +459 -0
  18. package/dist/application/claude-project-purge.js.map +1 -0
  19. package/dist/application/managed-worktree.d.ts +15 -0
  20. package/dist/application/managed-worktree.d.ts.map +1 -0
  21. package/dist/application/managed-worktree.js +127 -0
  22. package/dist/application/managed-worktree.js.map +1 -0
  23. package/dist/application/model-compactor.d.ts +8 -0
  24. package/dist/application/model-compactor.d.ts.map +1 -0
  25. package/dist/application/model-compactor.js +70 -0
  26. package/dist/application/model-compactor.js.map +1 -0
  27. package/dist/application/scheduled-prompt-manager.d.ts +69 -0
  28. package/dist/application/scheduled-prompt-manager.d.ts.map +1 -0
  29. package/dist/application/scheduled-prompt-manager.js +387 -0
  30. package/dist/application/scheduled-prompt-manager.js.map +1 -0
  31. package/dist/application/session-service.d.ts +142 -0
  32. package/dist/application/session-service.d.ts.map +1 -0
  33. package/dist/application/session-service.js +1690 -0
  34. package/dist/application/session-service.js.map +1 -0
  35. package/dist/application/session-worktree.d.ts +55 -0
  36. package/dist/application/session-worktree.d.ts.map +1 -0
  37. package/dist/application/session-worktree.js +311 -0
  38. package/dist/application/session-worktree.js.map +1 -0
  39. package/dist/application/subagent-service.d.ts +98 -0
  40. package/dist/application/subagent-service.d.ts.map +1 -0
  41. package/dist/application/subagent-service.js +1305 -0
  42. package/dist/application/subagent-service.js.map +1 -0
  43. package/dist/application/tool-use-summary.d.ts +8 -0
  44. package/dist/application/tool-use-summary.d.ts.map +1 -0
  45. package/dist/application/tool-use-summary.js +53 -0
  46. package/dist/application/tool-use-summary.js.map +1 -0
  47. package/dist/application/top-level-agent-manager.d.ts +58 -0
  48. package/dist/application/top-level-agent-manager.d.ts.map +1 -0
  49. package/dist/application/top-level-agent-manager.js +907 -0
  50. package/dist/application/top-level-agent-manager.js.map +1 -0
  51. package/dist/application/workflow-manager.d.ts +61 -0
  52. package/dist/application/workflow-manager.d.ts.map +1 -0
  53. package/dist/application/workflow-manager.js +582 -0
  54. package/dist/application/workflow-manager.js.map +1 -0
  55. package/dist/application/workflow-meta.d.ts +18 -0
  56. package/dist/application/workflow-meta.d.ts.map +1 -0
  57. package/dist/application/workflow-meta.js +146 -0
  58. package/dist/application/workflow-meta.js.map +1 -0
  59. package/dist/application/workflow-runtime.d.ts +29 -0
  60. package/dist/application/workflow-runtime.d.ts.map +1 -0
  61. package/dist/application/workflow-runtime.js +176 -0
  62. package/dist/application/workflow-runtime.js.map +1 -0
  63. package/dist/application/workflow-worktree.d.ts +9 -0
  64. package/dist/application/workflow-worktree.d.ts.map +1 -0
  65. package/dist/application/workflow-worktree.js +11 -0
  66. package/dist/application/workflow-worktree.js.map +1 -0
  67. package/dist/cli/agents-dashboard.d.ts +37 -0
  68. package/dist/cli/agents-dashboard.d.ts.map +1 -0
  69. package/dist/cli/agents-dashboard.js +408 -0
  70. package/dist/cli/agents-dashboard.js.map +1 -0
  71. package/dist/cli/controls.d.ts +15 -0
  72. package/dist/cli/controls.d.ts.map +1 -0
  73. package/dist/cli/controls.js +219 -0
  74. package/dist/cli/controls.js.map +1 -0
  75. package/dist/cli/debug.d.ts +13 -0
  76. package/dist/cli/debug.d.ts.map +1 -0
  77. package/dist/cli/debug.js +37 -0
  78. package/dist/cli/debug.js.map +1 -0
  79. package/dist/cli/interactive.d.ts +63 -0
  80. package/dist/cli/interactive.d.ts.map +1 -0
  81. package/dist/cli/interactive.js +600 -0
  82. package/dist/cli/interactive.js.map +1 -0
  83. package/dist/cli/protocol.d.ts +251 -0
  84. package/dist/cli/protocol.d.ts.map +1 -0
  85. package/dist/cli/protocol.js +2146 -0
  86. package/dist/cli/protocol.js.map +1 -0
  87. package/dist/cli.d.ts +116 -0
  88. package/dist/cli.d.ts.map +1 -0
  89. package/dist/cli.js +3901 -0
  90. package/dist/cli.js.map +1 -0
  91. package/dist/compatibility/claude/compaction.d.ts +19 -0
  92. package/dist/compatibility/claude/compaction.d.ts.map +1 -0
  93. package/dist/compatibility/claude/compaction.js +82 -0
  94. package/dist/compatibility/claude/compaction.js.map +1 -0
  95. package/dist/compatibility/claude/context.d.ts +24 -0
  96. package/dist/compatibility/claude/context.d.ts.map +1 -0
  97. package/dist/compatibility/claude/context.js +92 -0
  98. package/dist/compatibility/claude/context.js.map +1 -0
  99. package/dist/compatibility/claude/dynamic-context.d.ts +20 -0
  100. package/dist/compatibility/claude/dynamic-context.d.ts.map +1 -0
  101. package/dist/compatibility/claude/dynamic-context.js +168 -0
  102. package/dist/compatibility/claude/dynamic-context.js.map +1 -0
  103. package/dist/compatibility/claude/file-history.d.ts +14 -0
  104. package/dist/compatibility/claude/file-history.d.ts.map +1 -0
  105. package/dist/compatibility/claude/file-history.js +340 -0
  106. package/dist/compatibility/claude/file-history.js.map +1 -0
  107. package/dist/compatibility/claude/file-resources.d.ts +28 -0
  108. package/dist/compatibility/claude/file-resources.d.ts.map +1 -0
  109. package/dist/compatibility/claude/file-resources.js +168 -0
  110. package/dist/compatibility/claude/file-resources.js.map +1 -0
  111. package/dist/compatibility/claude/fork.d.ts +9 -0
  112. package/dist/compatibility/claude/fork.d.ts.map +1 -0
  113. package/dist/compatibility/claude/fork.js +225 -0
  114. package/dist/compatibility/claude/fork.js.map +1 -0
  115. package/dist/compatibility/claude/history.d.ts +4 -0
  116. package/dist/compatibility/claude/history.d.ts.map +1 -0
  117. package/dist/compatibility/claude/history.js +86 -0
  118. package/dist/compatibility/claude/history.js.map +1 -0
  119. package/dist/compatibility/claude/ownership.d.ts +87 -0
  120. package/dist/compatibility/claude/ownership.d.ts.map +1 -0
  121. package/dist/compatibility/claude/ownership.js +100 -0
  122. package/dist/compatibility/claude/ownership.js.map +1 -0
  123. package/dist/compatibility/claude/paths.d.ts +17 -0
  124. package/dist/compatibility/claude/paths.d.ts.map +1 -0
  125. package/dist/compatibility/claude/paths.js +54 -0
  126. package/dist/compatibility/claude/paths.js.map +1 -0
  127. package/dist/compatibility/claude/pr-links.d.ts +25 -0
  128. package/dist/compatibility/claude/pr-links.d.ts.map +1 -0
  129. package/dist/compatibility/claude/pr-links.js +80 -0
  130. package/dist/compatibility/claude/pr-links.js.map +1 -0
  131. package/dist/compatibility/claude/projection.d.ts +11 -0
  132. package/dist/compatibility/claude/projection.d.ts.map +1 -0
  133. package/dist/compatibility/claude/projection.js +325 -0
  134. package/dist/compatibility/claude/projection.js.map +1 -0
  135. package/dist/compatibility/claude/schema.d.ts +18 -0
  136. package/dist/compatibility/claude/schema.d.ts.map +1 -0
  137. package/dist/compatibility/claude/schema.js +983 -0
  138. package/dist/compatibility/claude/schema.js.map +1 -0
  139. package/dist/compatibility/claude/shared-resources.d.ts +51 -0
  140. package/dist/compatibility/claude/shared-resources.d.ts.map +1 -0
  141. package/dist/compatibility/claude/shared-resources.js +382 -0
  142. package/dist/compatibility/claude/shared-resources.js.map +1 -0
  143. package/dist/compatibility/claude/sidechain.d.ts +50 -0
  144. package/dist/compatibility/claude/sidechain.d.ts.map +1 -0
  145. package/dist/compatibility/claude/sidechain.js +90 -0
  146. package/dist/compatibility/claude/sidechain.js.map +1 -0
  147. package/dist/compatibility/claude/tool-links.d.ts +13 -0
  148. package/dist/compatibility/claude/tool-links.d.ts.map +1 -0
  149. package/dist/compatibility/claude/tool-links.js +61 -0
  150. package/dist/compatibility/claude/tool-links.js.map +1 -0
  151. package/dist/compatibility/claude/translation.d.ts +71 -0
  152. package/dist/compatibility/claude/translation.d.ts.map +1 -0
  153. package/dist/compatibility/claude/translation.js +443 -0
  154. package/dist/compatibility/claude/translation.js.map +1 -0
  155. package/dist/compatibility/claude/workflow-replay.d.ts +10 -0
  156. package/dist/compatibility/claude/workflow-replay.d.ts.map +1 -0
  157. package/dist/compatibility/claude/workflow-replay.js +66 -0
  158. package/dist/compatibility/claude/workflow-replay.js.map +1 -0
  159. package/dist/compatibility/claude/workflow.d.ts +33 -0
  160. package/dist/compatibility/claude/workflow.d.ts.map +1 -0
  161. package/dist/compatibility/claude/workflow.js +76 -0
  162. package/dist/compatibility/claude/workflow.js.map +1 -0
  163. package/dist/core/compaction.d.ts +16 -0
  164. package/dist/core/compaction.d.ts.map +1 -0
  165. package/dist/core/compaction.js +2 -0
  166. package/dist/core/compaction.js.map +1 -0
  167. package/dist/core/context-budget.d.ts +28 -0
  168. package/dist/core/context-budget.d.ts.map +1 -0
  169. package/dist/core/context-budget.js +108 -0
  170. package/dist/core/context-budget.js.map +1 -0
  171. package/dist/core/context.d.ts +16 -0
  172. package/dist/core/context.d.ts.map +1 -0
  173. package/dist/core/context.js +13 -0
  174. package/dist/core/context.js.map +1 -0
  175. package/dist/core/runtime.d.ts +394 -0
  176. package/dist/core/runtime.d.ts.map +1 -0
  177. package/dist/core/runtime.js +507 -0
  178. package/dist/core/runtime.js.map +1 -0
  179. package/dist/core/usage.d.ts +26 -0
  180. package/dist/core/usage.d.ts.map +1 -0
  181. package/dist/core/usage.js +133 -0
  182. package/dist/core/usage.js.map +1 -0
  183. package/dist/extensions/claude-extension-tools.d.ts +16 -0
  184. package/dist/extensions/claude-extension-tools.d.ts.map +1 -0
  185. package/dist/extensions/claude-extension-tools.js +78 -0
  186. package/dist/extensions/claude-extension-tools.js.map +1 -0
  187. package/dist/extensions/claude-extensions.d.ts +41 -0
  188. package/dist/extensions/claude-extensions.d.ts.map +1 -0
  189. package/dist/extensions/claude-extensions.js +270 -0
  190. package/dist/extensions/claude-extensions.js.map +1 -0
  191. package/dist/hooks/claude-hook-tools.d.ts +26 -0
  192. package/dist/hooks/claude-hook-tools.d.ts.map +1 -0
  193. package/dist/hooks/claude-hook-tools.js +129 -0
  194. package/dist/hooks/claude-hook-tools.js.map +1 -0
  195. package/dist/hooks/claude-hooks.d.ts +87 -0
  196. package/dist/hooks/claude-hooks.d.ts.map +1 -0
  197. package/dist/hooks/claude-hooks.js +411 -0
  198. package/dist/hooks/claude-hooks.js.map +1 -0
  199. package/dist/maintenance/doctor.d.ts +33 -0
  200. package/dist/maintenance/doctor.d.ts.map +1 -0
  201. package/dist/maintenance/doctor.js +391 -0
  202. package/dist/maintenance/doctor.js.map +1 -0
  203. package/dist/maintenance/self-update.d.ts +31 -0
  204. package/dist/maintenance/self-update.d.ts.map +1 -0
  205. package/dist/maintenance/self-update.js +81 -0
  206. package/dist/maintenance/self-update.js.map +1 -0
  207. package/dist/mcp/claude-mcp-management.d.ts +28 -0
  208. package/dist/mcp/claude-mcp-management.d.ts.map +1 -0
  209. package/dist/mcp/claude-mcp-management.js +169 -0
  210. package/dist/mcp/claude-mcp-management.js.map +1 -0
  211. package/dist/mcp/claude-mcp-oauth.d.ts +113 -0
  212. package/dist/mcp/claude-mcp-oauth.d.ts.map +1 -0
  213. package/dist/mcp/claude-mcp-oauth.js +1053 -0
  214. package/dist/mcp/claude-mcp-oauth.js.map +1 -0
  215. package/dist/mcp/claude-mcp-tools.d.ts +98 -0
  216. package/dist/mcp/claude-mcp-tools.d.ts.map +1 -0
  217. package/dist/mcp/claude-mcp-tools.js +1246 -0
  218. package/dist/mcp/claude-mcp-tools.js.map +1 -0
  219. package/dist/mcp/praxis-mcp-server.d.ts +35 -0
  220. package/dist/mcp/praxis-mcp-server.d.ts.map +1 -0
  221. package/dist/mcp/praxis-mcp-server.js +520 -0
  222. package/dist/mcp/praxis-mcp-server.js.map +1 -0
  223. package/dist/permissions/claude-auto-classifier.d.ts +20 -0
  224. package/dist/permissions/claude-auto-classifier.d.ts.map +1 -0
  225. package/dist/permissions/claude-auto-classifier.js +140 -0
  226. package/dist/permissions/claude-auto-classifier.js.map +1 -0
  227. package/dist/permissions/claude-permission-resolver.d.ts +30 -0
  228. package/dist/permissions/claude-permission-resolver.d.ts.map +1 -0
  229. package/dist/permissions/claude-permission-resolver.js +334 -0
  230. package/dist/permissions/claude-permission-resolver.js.map +1 -0
  231. package/dist/persistence/claude-job-store.d.ts +68 -0
  232. package/dist/persistence/claude-job-store.d.ts.map +1 -0
  233. package/dist/persistence/claude-job-store.js +311 -0
  234. package/dist/persistence/claude-job-store.js.map +1 -0
  235. package/dist/persistence/claude-scheduled-task-store.d.ts +29 -0
  236. package/dist/persistence/claude-scheduled-task-store.d.ts.map +1 -0
  237. package/dist/persistence/claude-scheduled-task-store.js +163 -0
  238. package/dist/persistence/claude-scheduled-task-store.js.map +1 -0
  239. package/dist/persistence/claude-sidechain-store.d.ts +18 -0
  240. package/dist/persistence/claude-sidechain-store.d.ts.map +1 -0
  241. package/dist/persistence/claude-sidechain-store.js +107 -0
  242. package/dist/persistence/claude-sidechain-store.js.map +1 -0
  243. package/dist/persistence/claude-task-store.d.ts +72 -0
  244. package/dist/persistence/claude-task-store.d.ts.map +1 -0
  245. package/dist/persistence/claude-task-store.js +440 -0
  246. package/dist/persistence/claude-task-store.js.map +1 -0
  247. package/dist/persistence/claude-transcript-store.d.ts +85 -0
  248. package/dist/persistence/claude-transcript-store.d.ts.map +1 -0
  249. package/dist/persistence/claude-transcript-store.js +385 -0
  250. package/dist/persistence/claude-transcript-store.js.map +1 -0
  251. package/dist/persistence/claude-workflow-store.d.ts +41 -0
  252. package/dist/persistence/claude-workflow-store.d.ts.map +1 -0
  253. package/dist/persistence/claude-workflow-store.js +263 -0
  254. package/dist/persistence/claude-workflow-store.js.map +1 -0
  255. package/dist/persistence/in-memory-sidechain-store.d.ts +12 -0
  256. package/dist/persistence/in-memory-sidechain-store.d.ts.map +1 -0
  257. package/dist/persistence/in-memory-sidechain-store.js +30 -0
  258. package/dist/persistence/in-memory-sidechain-store.js.map +1 -0
  259. package/dist/persistence/in-memory-transcript-store.d.ts +15 -0
  260. package/dist/persistence/in-memory-transcript-store.d.ts.map +1 -0
  261. package/dist/persistence/in-memory-transcript-store.js +95 -0
  262. package/dist/persistence/in-memory-transcript-store.js.map +1 -0
  263. package/dist/platform/atomic-write.d.ts +5 -0
  264. package/dist/platform/atomic-write.d.ts.map +1 -0
  265. package/dist/platform/atomic-write.js +25 -0
  266. package/dist/platform/atomic-write.js.map +1 -0
  267. package/dist/platform/bounded-process-runner.d.ts +28 -0
  268. package/dist/platform/bounded-process-runner.d.ts.map +1 -0
  269. package/dist/platform/bounded-process-runner.js +209 -0
  270. package/dist/platform/bounded-process-runner.js.map +1 -0
  271. package/dist/platform/claude-version.d.ts +5 -0
  272. package/dist/platform/claude-version.d.ts.map +1 -0
  273. package/dist/platform/claude-version.js +17 -0
  274. package/dist/platform/claude-version.js.map +1 -0
  275. package/dist/platform/command-shell.d.ts +3 -0
  276. package/dist/platform/command-shell.d.ts.map +1 -0
  277. package/dist/platform/command-shell.js +15 -0
  278. package/dist/platform/command-shell.js.map +1 -0
  279. package/dist/platform/exclusive-file-lease.d.ts +15 -0
  280. package/dist/platform/exclusive-file-lease.d.ts.map +1 -0
  281. package/dist/platform/exclusive-file-lease.js +265 -0
  282. package/dist/platform/exclusive-file-lease.js.map +1 -0
  283. package/dist/platform/sensitive-data.d.ts +8 -0
  284. package/dist/platform/sensitive-data.d.ts.map +1 -0
  285. package/dist/platform/sensitive-data.js +138 -0
  286. package/dist/platform/sensitive-data.js.map +1 -0
  287. package/dist/platform/tmux-worktree.d.ts +30 -0
  288. package/dist/platform/tmux-worktree.d.ts.map +1 -0
  289. package/dist/platform/tmux-worktree.js +138 -0
  290. package/dist/platform/tmux-worktree.js.map +1 -0
  291. package/dist/plugins/claude-plugin-eval-discovery.d.ts +20 -0
  292. package/dist/plugins/claude-plugin-eval-discovery.d.ts.map +1 -0
  293. package/dist/plugins/claude-plugin-eval-discovery.js +128 -0
  294. package/dist/plugins/claude-plugin-eval-discovery.js.map +1 -0
  295. package/dist/plugins/claude-plugin-eval-graders.d.ts +49 -0
  296. package/dist/plugins/claude-plugin-eval-graders.d.ts.map +1 -0
  297. package/dist/plugins/claude-plugin-eval-graders.js +137 -0
  298. package/dist/plugins/claude-plugin-eval-graders.js.map +1 -0
  299. package/dist/plugins/claude-plugin-eval-runner.d.ts +50 -0
  300. package/dist/plugins/claude-plugin-eval-runner.d.ts.map +1 -0
  301. package/dist/plugins/claude-plugin-eval-runner.js +189 -0
  302. package/dist/plugins/claude-plugin-eval-runner.js.map +1 -0
  303. package/dist/plugins/claude-plugin-eval-schema.d.ts +80 -0
  304. package/dist/plugins/claude-plugin-eval-schema.d.ts.map +1 -0
  305. package/dist/plugins/claude-plugin-eval-schema.js +436 -0
  306. package/dist/plugins/claude-plugin-eval-schema.js.map +1 -0
  307. package/dist/plugins/claude-plugin-eval.d.ts +66 -0
  308. package/dist/plugins/claude-plugin-eval.d.ts.map +1 -0
  309. package/dist/plugins/claude-plugin-eval.js +438 -0
  310. package/dist/plugins/claude-plugin-eval.js.map +1 -0
  311. package/dist/plugins/claude-plugin-maintenance.d.ts +39 -0
  312. package/dist/plugins/claude-plugin-maintenance.d.ts.map +1 -0
  313. package/dist/plugins/claude-plugin-maintenance.js +336 -0
  314. package/dist/plugins/claude-plugin-maintenance.js.map +1 -0
  315. package/dist/plugins/claude-plugin-marketplace.d.ts +97 -0
  316. package/dist/plugins/claude-plugin-marketplace.d.ts.map +1 -0
  317. package/dist/plugins/claude-plugin-marketplace.js +1433 -0
  318. package/dist/plugins/claude-plugin-marketplace.js.map +1 -0
  319. package/dist/plugins/claude-plugin-mcpb.d.ts +71 -0
  320. package/dist/plugins/claude-plugin-mcpb.d.ts.map +1 -0
  321. package/dist/plugins/claude-plugin-mcpb.js +885 -0
  322. package/dist/plugins/claude-plugin-mcpb.js.map +1 -0
  323. package/dist/plugins/claude-plugin-runtime.d.ts +120 -0
  324. package/dist/plugins/claude-plugin-runtime.d.ts.map +1 -0
  325. package/dist/plugins/claude-plugin-runtime.js +1263 -0
  326. package/dist/plugins/claude-plugin-runtime.js.map +1 -0
  327. package/dist/providers/anthropic-compatible.d.ts +35 -0
  328. package/dist/providers/anthropic-compatible.d.ts.map +1 -0
  329. package/dist/providers/anthropic-compatible.js +733 -0
  330. package/dist/providers/anthropic-compatible.js.map +1 -0
  331. package/dist/providers/environment.d.ts +14 -0
  332. package/dist/providers/environment.d.ts.map +1 -0
  333. package/dist/providers/environment.js +67 -0
  334. package/dist/providers/environment.js.map +1 -0
  335. package/dist/providers/fallback-provider.d.ts +17 -0
  336. package/dist/providers/fallback-provider.d.ts.map +1 -0
  337. package/dist/providers/fallback-provider.js +70 -0
  338. package/dist/providers/fallback-provider.js.map +1 -0
  339. package/dist/providers/openai-compatible.d.ts +30 -0
  340. package/dist/providers/openai-compatible.d.ts.map +1 -0
  341. package/dist/providers/openai-compatible.js +409 -0
  342. package/dist/providers/openai-compatible.js.map +1 -0
  343. package/dist/tools/claude-interactive-tools.d.ts +58 -0
  344. package/dist/tools/claude-interactive-tools.d.ts.map +1 -0
  345. package/dist/tools/claude-interactive-tools.js +390 -0
  346. package/dist/tools/claude-interactive-tools.js.map +1 -0
  347. package/dist/tools/claude-lsp-formatters.d.ts +2 -0
  348. package/dist/tools/claude-lsp-formatters.d.ts.map +1 -0
  349. package/dist/tools/claude-lsp-formatters.js +291 -0
  350. package/dist/tools/claude-lsp-formatters.js.map +1 -0
  351. package/dist/tools/claude-lsp-tool.d.ts +22 -0
  352. package/dist/tools/claude-lsp-tool.d.ts.map +1 -0
  353. package/dist/tools/claude-lsp-tool.js +744 -0
  354. package/dist/tools/claude-lsp-tool.js.map +1 -0
  355. package/dist/tools/claude-scheduled-tools.d.ts +20 -0
  356. package/dist/tools/claude-scheduled-tools.d.ts.map +1 -0
  357. package/dist/tools/claude-scheduled-tools.js +344 -0
  358. package/dist/tools/claude-scheduled-tools.js.map +1 -0
  359. package/dist/tools/claude-task-tools.d.ts +30 -0
  360. package/dist/tools/claude-task-tools.d.ts.map +1 -0
  361. package/dist/tools/claude-task-tools.js +503 -0
  362. package/dist/tools/claude-task-tools.js.map +1 -0
  363. package/dist/tools/claude-user-message.d.ts +16 -0
  364. package/dist/tools/claude-user-message.d.ts.map +1 -0
  365. package/dist/tools/claude-user-message.js +98 -0
  366. package/dist/tools/claude-user-message.js.map +1 -0
  367. package/dist/tools/claude-workflow-tools.d.ts +27 -0
  368. package/dist/tools/claude-workflow-tools.d.ts.map +1 -0
  369. package/dist/tools/claude-workflow-tools.js +257 -0
  370. package/dist/tools/claude-workflow-tools.js.map +1 -0
  371. package/dist/tools/claude-worktree-tools.d.ts +17 -0
  372. package/dist/tools/claude-worktree-tools.d.ts.map +1 -0
  373. package/dist/tools/claude-worktree-tools.js +135 -0
  374. package/dist/tools/claude-worktree-tools.js.map +1 -0
  375. package/dist/tools/filtered-tool-registry.d.ts +16 -0
  376. package/dist/tools/filtered-tool-registry.d.ts.map +1 -0
  377. package/dist/tools/filtered-tool-registry.js +51 -0
  378. package/dist/tools/filtered-tool-registry.js.map +1 -0
  379. package/dist/tools/glob.d.ts +9 -0
  380. package/dist/tools/glob.d.ts.map +1 -0
  381. package/dist/tools/glob.js +88 -0
  382. package/dist/tools/glob.js.map +1 -0
  383. package/dist/tools/local-tools.d.ts +47 -0
  384. package/dist/tools/local-tools.d.ts.map +1 -0
  385. package/dist/tools/local-tools.js +1082 -0
  386. package/dist/tools/local-tools.js.map +1 -0
  387. package/dist/tools/notebook.d.ts +22 -0
  388. package/dist/tools/notebook.d.ts.map +1 -0
  389. package/dist/tools/notebook.js +154 -0
  390. package/dist/tools/notebook.js.map +1 -0
  391. package/dist/tools/web.d.ts +48 -0
  392. package/dist/tools/web.d.ts.map +1 -0
  393. package/dist/tools/web.js +726 -0
  394. package/dist/tools/web.js.map +1 -0
  395. package/package.json +145 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/compatibility/claude/workflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { ModelMessage, ModelUsage } from './runtime.js';
2
+ export interface CompactionRequest {
3
+ messages: readonly ModelMessage[];
4
+ targetTokens: number;
5
+ contextWindowTokens: number;
6
+ signal?: AbortSignal;
7
+ }
8
+ export interface CompactionResult {
9
+ summary: string;
10
+ usage: ModelUsage;
11
+ durationMs: number;
12
+ }
13
+ export interface Compactor {
14
+ compact(request: CompactionRequest): Promise<CompactionResult>;
15
+ }
16
+ //# sourceMappingURL=compaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../../src/core/compaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE5D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAA;IACjC,YAAY,EAAE,MAAM,CAAA;IACpB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,UAAU,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAC/D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=compaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../src/core/compaction.ts"],"names":[],"mappings":""}
@@ -0,0 +1,28 @@
1
+ import type { ModelMessage, ModelToolDefinition } from './runtime.js';
2
+ export interface ContextBudgetOptions {
3
+ contextWindowTokens: number;
4
+ reserveTokens?: number;
5
+ }
6
+ export interface ContextBudgetReport {
7
+ estimatedTokens: number;
8
+ contextWindowTokens: number;
9
+ reserveTokens: number;
10
+ availableTokens: number;
11
+ overflowTokens: number;
12
+ shouldCompact: boolean;
13
+ }
14
+ export declare class ContextOverflowError extends Error {
15
+ readonly report: ContextBudgetReport;
16
+ readonly name = "ContextOverflowError";
17
+ constructor(report: ContextBudgetReport);
18
+ }
19
+ export declare function estimateTextTokens(value: string): number;
20
+ export declare function estimateModelRequestTokens(messages: readonly ModelMessage[], tools?: readonly ModelToolDefinition[]): number;
21
+ export declare class ContextBudget {
22
+ readonly contextWindowTokens: number;
23
+ readonly reserveTokens: number;
24
+ constructor(options: ContextBudgetOptions);
25
+ evaluate(messages: readonly ModelMessage[], tools?: readonly ModelToolDefinition[]): ContextBudgetReport;
26
+ assertFits(report: ContextBudgetReport): void;
27
+ }
28
+ //# sourceMappingURL=context-budget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-budget.d.ts","sourceRoot":"","sources":["../../src/core/context-budget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAErE,MAAM,WAAW,oBAAoB;IACnC,mBAAmB,EAAE,MAAM,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAA;IACvB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,OAAO,CAAA;CACvB;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAGjC,QAAQ,CAAC,MAAM,EAAE,mBAAmB;IAFhD,SAAkB,IAAI,0BAAyB;gBAE1B,MAAM,EAAE,mBAAmB;CAKjD;AAQD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CASxD;AA2CD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,KAAK,GAAE,SAAS,mBAAmB,EAAO,GACzC,MAAM,CAeR;AAED,qBAAa,aAAa;IACxB,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;gBAElB,OAAO,EAAE,oBAAoB;IAezC,QAAQ,CACN,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,KAAK,GAAE,SAAS,mBAAmB,EAAO,GACzC,mBAAmB;IActB,UAAU,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;CAG9C"}
@@ -0,0 +1,108 @@
1
+ export class ContextOverflowError extends Error {
2
+ report;
3
+ name = 'ContextOverflowError';
4
+ constructor(report) {
5
+ super(`Context exceeds provider budget: estimated=${report.estimatedTokens}, window=${report.contextWindowTokens}, reserve=${report.reserveTokens}, available=${report.availableTokens}, overflow=${report.overflowTokens}. Increase PRAXIS_CONTEXT_WINDOW_TOKENS, reduce PRAXIS_CONTEXT_RESERVE_TOKENS, or start a new session.`);
6
+ this.report = report;
7
+ }
8
+ }
9
+ function requirePositiveInteger(value, label) {
10
+ if (!Number.isInteger(value) || value <= 0) {
11
+ throw new Error(`${label} must be a positive integer`);
12
+ }
13
+ }
14
+ export function estimateTextTokens(value) {
15
+ let ascii = 0;
16
+ let nonAscii = 0;
17
+ for (const character of value) {
18
+ const codePoint = character.codePointAt(0);
19
+ if (codePoint !== undefined && codePoint <= 0x7f)
20
+ ascii += 1;
21
+ else
22
+ nonAscii += 1;
23
+ }
24
+ return Math.ceil(ascii / 4) + nonAscii;
25
+ }
26
+ function estimateMessageTokens(message) {
27
+ let tokens = 4 + estimateTextTokens(message.role);
28
+ if (message.role === 'tool') {
29
+ tokens +=
30
+ estimateTextTokens(message.toolCallId) +
31
+ estimateTextTokens(message.content);
32
+ for (const image of message.images ?? []) {
33
+ tokens +=
34
+ 8 + estimateTextTokens(image.mediaType) + estimateTextTokens(image.data);
35
+ }
36
+ return tokens + (message.isError ? 1 : 0);
37
+ }
38
+ tokens += estimateTextTokens(message.content);
39
+ if (message.role === 'user') {
40
+ for (const image of message.images ?? []) {
41
+ tokens +=
42
+ 8 + estimateTextTokens(image.mediaType) + estimateTextTokens(image.data);
43
+ }
44
+ for (const document of message.documents ?? []) {
45
+ tokens += 8 + estimateTextTokens(document.mediaType) + 2000;
46
+ }
47
+ }
48
+ if (message.role !== 'assistant')
49
+ return tokens;
50
+ for (const block of message.thinkingBlocks ?? []) {
51
+ tokens +=
52
+ 4 +
53
+ (block.type === 'thinking'
54
+ ? estimateTextTokens(block.thinking) +
55
+ estimateTextTokens(block.signature)
56
+ : estimateTextTokens(block.data));
57
+ }
58
+ for (const call of message.toolCalls ?? []) {
59
+ tokens +=
60
+ 6 +
61
+ estimateTextTokens(call.id) +
62
+ estimateTextTokens(call.name) +
63
+ estimateTextTokens(JSON.stringify(call.input));
64
+ }
65
+ return tokens;
66
+ }
67
+ export function estimateModelRequestTokens(messages, tools = []) {
68
+ const messageTokens = messages.reduce((total, message) => total + estimateMessageTokens(message), 3);
69
+ const toolTokens = tools.reduce((total, tool) => total +
70
+ 8 +
71
+ estimateTextTokens(tool.name) +
72
+ estimateTextTokens(tool.description) +
73
+ estimateTextTokens(JSON.stringify(tool.inputSchema)), 0);
74
+ return messageTokens + toolTokens;
75
+ }
76
+ export class ContextBudget {
77
+ contextWindowTokens;
78
+ reserveTokens;
79
+ constructor(options) {
80
+ requirePositiveInteger(options.contextWindowTokens, 'Context window tokens');
81
+ const defaultReserve = Math.min(8192, Math.max(1, Math.floor(options.contextWindowTokens / 10)));
82
+ const reserveTokens = options.reserveTokens ?? defaultReserve;
83
+ requirePositiveInteger(reserveTokens, 'Context reserve tokens');
84
+ if (reserveTokens >= options.contextWindowTokens) {
85
+ throw new Error('Context reserve tokens must be smaller than the window');
86
+ }
87
+ this.contextWindowTokens = options.contextWindowTokens;
88
+ this.reserveTokens = reserveTokens;
89
+ }
90
+ evaluate(messages, tools = []) {
91
+ const estimatedTokens = estimateModelRequestTokens(messages, tools);
92
+ const availableTokens = this.contextWindowTokens - this.reserveTokens;
93
+ const overflowTokens = Math.max(0, estimatedTokens - availableTokens);
94
+ return {
95
+ estimatedTokens,
96
+ contextWindowTokens: this.contextWindowTokens,
97
+ reserveTokens: this.reserveTokens,
98
+ availableTokens,
99
+ overflowTokens,
100
+ shouldCompact: overflowTokens > 0,
101
+ };
102
+ }
103
+ assertFits(report) {
104
+ if (report.shouldCompact)
105
+ throw new ContextOverflowError(report);
106
+ }
107
+ }
108
+ //# sourceMappingURL=context-budget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-budget.js","sourceRoot":"","sources":["../../src/core/context-budget.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { ModelMessage } from './runtime.js';
2
+ export type SystemContextMessage = Extract<ModelMessage, {
3
+ role: 'system';
4
+ }>;
5
+ export interface AssembledContext {
6
+ systemMessages: readonly SystemContextMessage[];
7
+ firstUserMessageContext?: string;
8
+ }
9
+ export interface ContextAssemblyOptions {
10
+ cwd?: string;
11
+ }
12
+ export interface ContextAssembler {
13
+ assemble(options?: ContextAssemblyOptions): Promise<AssembledContext>;
14
+ }
15
+ export declare function injectFirstUserMessageContext(messages: readonly ModelMessage[], context: string | undefined): ModelMessage[];
16
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAA;AAE5E,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,SAAS,oBAAoB,EAAE,CAAA;IAC/C,uBAAuB,CAAC,EAAE,MAAM,CAAA;CACjC;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;CACtE;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,YAAY,EAAE,CAShB"}
@@ -0,0 +1,13 @@
1
+ export function injectFirstUserMessageContext(messages, context) {
2
+ if (context === undefined)
3
+ return [...messages];
4
+ let injected = false;
5
+ const result = messages.map((message) => {
6
+ if (injected || message.role !== 'user')
7
+ return message;
8
+ injected = true;
9
+ return { ...message, content: `${context}\n\n${message.content}` };
10
+ });
11
+ return injected ? result : [...result, { role: 'user', content: context }];
12
+ }
13
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"AAiBA,MAAM,UAAU,6BAA6B,CAC3C,QAAiC,EACjC,OAA2B;IAE3B,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAA;IAC/C,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACtC,IAAI,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,OAAO,CAAA;QACvD,QAAQ,GAAG,IAAI,CAAA;QACf,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,OAAO,OAAO,CAAC,OAAO,EAAE,EAAE,CAAA;IACpE,CAAC,CAAC,CAAA;IACF,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;AAC5E,CAAC"}
@@ -0,0 +1,394 @@
1
+ export type RuntimeState = 'idle' | 'assembling-context' | 'compacting' | 'awaiting-model' | 'streaming' | 'awaiting-permission' | 'executing-tools' | 'persisting-results' | 'completed' | 'cancelled' | 'failed';
2
+ export type ModelMessage = {
3
+ role: 'system';
4
+ content: string;
5
+ } | {
6
+ role: 'user';
7
+ content: string;
8
+ contentBlocks?: readonly ModelContentBlock[];
9
+ images?: readonly ModelImage[];
10
+ documents?: readonly ModelDocument[];
11
+ } | {
12
+ role: 'assistant';
13
+ content: string;
14
+ thinkingBlocks?: readonly ModelThinkingBlock[];
15
+ toolCalls?: readonly ModelToolCall[];
16
+ } | {
17
+ role: 'tool';
18
+ toolCallId: string;
19
+ content: string;
20
+ contentBlocks?: readonly ModelContentBlock[];
21
+ images?: readonly ModelImage[];
22
+ documents?: readonly ModelDocument[];
23
+ isError: boolean;
24
+ };
25
+ export type ModelImageMediaType = 'image/png' | 'image/jpeg' | 'image/gif' | 'image/webp';
26
+ export interface ModelImage {
27
+ type: 'image';
28
+ mediaType: ModelImageMediaType;
29
+ data: string;
30
+ }
31
+ export type ModelDocumentMediaType = 'application/pdf' | 'text/plain' | 'text/markdown' | 'application/json';
32
+ export interface ModelDocument {
33
+ type: 'document';
34
+ mediaType: ModelDocumentMediaType;
35
+ data: string;
36
+ }
37
+ export type ModelContentBlock = {
38
+ type: 'text';
39
+ text: string;
40
+ } | ModelImage | ModelDocument;
41
+ export interface ModelToolCall {
42
+ id: string;
43
+ name: string;
44
+ input: Record<string, unknown>;
45
+ }
46
+ export type ModelThinkingMode = 'enabled' | 'adaptive' | 'disabled';
47
+ export type ModelThinkingBlock = {
48
+ type: 'thinking';
49
+ thinking: string;
50
+ signature: string;
51
+ } | {
52
+ type: 'redacted_thinking';
53
+ data: string;
54
+ };
55
+ export interface ModelThinkingConfig {
56
+ mode: ModelThinkingMode;
57
+ maxTokens?: number;
58
+ }
59
+ export interface ModelToolDefinition {
60
+ name: string;
61
+ description: string;
62
+ inputSchema: Record<string, unknown>;
63
+ }
64
+ export interface ModelUsage {
65
+ inputTokens: number;
66
+ outputTokens: number;
67
+ cacheReadInputTokens?: number;
68
+ cacheCreationInputTokens?: number;
69
+ }
70
+ export interface ModelWebSearch {
71
+ allowedDomains?: readonly string[];
72
+ blockedDomains?: readonly string[];
73
+ maxUses: number;
74
+ }
75
+ export type ModelStreamEvent = {
76
+ type: 'text-delta';
77
+ delta: string;
78
+ } | {
79
+ type: 'thinking-start';
80
+ block: {
81
+ type: 'thinking';
82
+ thinking: string;
83
+ } | ModelThinkingBlock;
84
+ } | {
85
+ type: 'thinking-delta';
86
+ delta: string;
87
+ } | {
88
+ type: 'thinking-signature-delta';
89
+ delta: string;
90
+ } | {
91
+ type: 'thinking-stop';
92
+ block: ModelThinkingBlock;
93
+ } | {
94
+ type: 'tool-call';
95
+ call: ModelToolCall;
96
+ } | {
97
+ type: 'usage';
98
+ usage: ModelUsage;
99
+ } | {
100
+ type: 'api-retry';
101
+ attempt: number;
102
+ maxRetries: number;
103
+ retryDelayMs: number;
104
+ errorStatus: number | null;
105
+ error: ProviderErrorKind;
106
+ };
107
+ export interface ModelRequest {
108
+ messages: readonly ModelMessage[];
109
+ tools?: readonly ModelToolDefinition[];
110
+ webSearch?: ModelWebSearch;
111
+ signal?: AbortSignal;
112
+ effort?: string;
113
+ thinking?: ModelThinkingConfig;
114
+ betas?: readonly string[];
115
+ }
116
+ export interface ModelProviderCapabilities {
117
+ streaming: boolean;
118
+ usage: boolean;
119
+ tools: boolean;
120
+ images?: boolean;
121
+ documents?: boolean;
122
+ webSearch?: boolean;
123
+ thinking?: {
124
+ modes: readonly ModelThinkingMode[];
125
+ maxTokens: boolean;
126
+ };
127
+ contextWindowTokens?: number;
128
+ }
129
+ export interface ModelProvider {
130
+ readonly capabilities: ModelProviderCapabilities;
131
+ readonly model?: string;
132
+ complete(request: ModelRequest): AsyncIterable<ModelStreamEvent>;
133
+ }
134
+ export type RuntimeEvent = {
135
+ type: 'state';
136
+ state: Exclude<RuntimeState, 'idle' | 'failed'>;
137
+ } | {
138
+ type: 'text-delta';
139
+ delta: string;
140
+ } | {
141
+ type: 'thinking-start';
142
+ block: {
143
+ type: 'thinking';
144
+ thinking: string;
145
+ } | ModelThinkingBlock;
146
+ } | {
147
+ type: 'thinking-delta';
148
+ delta: string;
149
+ } | {
150
+ type: 'thinking-signature-delta';
151
+ delta: string;
152
+ } | {
153
+ type: 'thinking-stop';
154
+ block: ModelThinkingBlock;
155
+ } | {
156
+ type: 'user-message';
157
+ message: string;
158
+ attachments?: readonly string[];
159
+ status: 'normal' | 'proactive';
160
+ } | {
161
+ type: 'usage';
162
+ usage: ModelUsage;
163
+ } | {
164
+ type: 'tool-call';
165
+ call: ModelToolCall;
166
+ } | {
167
+ type: 'permission-decision';
168
+ callId: string;
169
+ behavior: PermissionBehavior;
170
+ } | {
171
+ type: 'tool-result';
172
+ callId: string;
173
+ content: string;
174
+ isError: boolean;
175
+ } | {
176
+ type: 'warning';
177
+ message: string;
178
+ } | {
179
+ type: 'compact-boundary';
180
+ trigger: 'manual' | 'auto';
181
+ preTokens: number;
182
+ uuid: string;
183
+ } | {
184
+ type: 'tool-progress';
185
+ toolUseId: string;
186
+ toolName: string;
187
+ elapsedTimeSeconds: number;
188
+ taskId?: string;
189
+ } | {
190
+ type: 'task-started';
191
+ taskId: string;
192
+ toolUseId?: string;
193
+ description: string;
194
+ taskType?: string;
195
+ workflowName?: string;
196
+ prompt?: string;
197
+ } | {
198
+ type: 'task-progress';
199
+ taskId: string;
200
+ toolUseId?: string;
201
+ description: string;
202
+ usage: {
203
+ totalTokens: number;
204
+ toolUses: number;
205
+ durationMs: number;
206
+ };
207
+ lastToolName?: string;
208
+ summary?: string;
209
+ } | {
210
+ type: 'task-notification';
211
+ taskId: string;
212
+ toolUseId?: string;
213
+ status: 'completed' | 'failed' | 'stopped';
214
+ outputFile: string;
215
+ summary: string;
216
+ usage?: {
217
+ totalTokens: number;
218
+ toolUses: number;
219
+ durationMs: number;
220
+ };
221
+ } | {
222
+ type: 'session-state-changed';
223
+ state: 'idle' | 'running' | 'requires_action';
224
+ } | {
225
+ type: 'api-retry';
226
+ attempt: number;
227
+ maxRetries: number;
228
+ retryDelayMs: number;
229
+ errorStatus: number | null;
230
+ error: string;
231
+ } | {
232
+ type: 'elicitation-complete';
233
+ mcpServerName: string;
234
+ elicitationId: string;
235
+ } | {
236
+ type: 'tool-use-summary';
237
+ summary: string;
238
+ precedingToolUseIds: readonly string[];
239
+ } | {
240
+ type: 'hook';
241
+ event: {
242
+ type: 'started' | 'progress' | 'response';
243
+ hookId: string;
244
+ hookName: string;
245
+ hookEvent: string;
246
+ stdout?: string;
247
+ stderr?: string;
248
+ output?: string;
249
+ exitCode?: number;
250
+ outcome?: 'success' | 'error' | 'cancelled';
251
+ };
252
+ } | {
253
+ type: 'failed';
254
+ message: string;
255
+ retryable: boolean;
256
+ };
257
+ export interface ToolExecutionResult {
258
+ content: string;
259
+ contentBlocks?: readonly ModelContentBlock[];
260
+ images?: readonly ModelImage[];
261
+ documents?: readonly ModelDocument[];
262
+ isError: boolean;
263
+ usage?: ModelUsage;
264
+ accessedPaths?: readonly string[];
265
+ followUpUserMessages?: readonly string[];
266
+ nativeToolUseResult?: Record<string, unknown>;
267
+ nativeMcpMeta?: Record<string, unknown>;
268
+ durationApiMs?: number;
269
+ }
270
+ export interface ToolExecutionContext {
271
+ cwd: string;
272
+ messages?: readonly ModelMessage[];
273
+ signal?: AbortSignal;
274
+ toolResultDirectory?: string;
275
+ }
276
+ export interface ToolRegistry {
277
+ definitions(): readonly ModelToolDefinition[];
278
+ prepare(call: ModelToolCall, context: ToolExecutionContext): Promise<ModelToolCall>;
279
+ execute(call: ModelToolCall, context: ToolExecutionContext): Promise<ToolExecutionResult>;
280
+ }
281
+ export type PermissionBehavior = 'allow' | 'ask' | 'deny';
282
+ export type PermissionApproval = boolean | {
283
+ behavior: 'allow';
284
+ updatedInput?: Record<string, unknown>;
285
+ } | {
286
+ behavior: 'deny';
287
+ message: string;
288
+ interrupt?: boolean;
289
+ };
290
+ export interface PermissionResolutionContext {
291
+ cwd: string;
292
+ messages?: readonly ModelMessage[];
293
+ signal?: AbortSignal;
294
+ }
295
+ export type PermissionDecision = {
296
+ behavior: 'allow';
297
+ } | {
298
+ behavior: 'ask';
299
+ reason?: string;
300
+ } | {
301
+ behavior: 'deny';
302
+ reason: string;
303
+ };
304
+ export interface PermissionResolver {
305
+ resolve(call: ModelToolCall, context?: PermissionResolutionContext): PermissionDecision | Promise<PermissionDecision>;
306
+ }
307
+ export interface AgentRunObserver {
308
+ assistantCompleted(message: {
309
+ content: string;
310
+ thinkingBlocks?: readonly ModelThinkingBlock[];
311
+ toolCalls?: readonly ModelToolCall[];
312
+ }): Promise<void>;
313
+ toolCompleted(call: ModelToolCall, result: ToolExecutionResult): Promise<void>;
314
+ followUpUserMessagesCompleted?(messages: readonly string[]): Promise<void>;
315
+ }
316
+ export interface AgentRuntimeOptions {
317
+ tools?: ToolRegistry;
318
+ permissions?: PermissionResolver;
319
+ maxModelTurns?: number;
320
+ maxModelOutputBytes?: number;
321
+ maxToolCallsPerTurn?: number;
322
+ maxToolInputBytes?: number;
323
+ emitInitialContextState?: boolean;
324
+ costUsd?: (usage: ModelUsage) => number | undefined;
325
+ maxBudgetUsd?: number;
326
+ generateToolUseSummary?: (request: {
327
+ tools: readonly {
328
+ name: string;
329
+ input: Record<string, unknown>;
330
+ output: string;
331
+ }[];
332
+ lastAssistantText?: string;
333
+ signal: AbortSignal;
334
+ }) => Promise<string | null>;
335
+ }
336
+ export interface AgentRunRequest {
337
+ messages: readonly ModelMessage[];
338
+ cwd?: string;
339
+ toolResultDirectory?: string;
340
+ observer?: AgentRunObserver;
341
+ reloadMessages?: () => Promise<readonly ModelMessage[]>;
342
+ approveTool?: (call: ModelToolCall, originalCall?: ModelToolCall) => PermissionApproval | Promise<PermissionApproval>;
343
+ onStop?: (text: string) => Promise<readonly string[] | {
344
+ messages: readonly string[];
345
+ usage?: ModelUsage;
346
+ }>;
347
+ signal?: AbortSignal;
348
+ effort?: string;
349
+ thinking?: ModelThinkingConfig;
350
+ collectMetrics?: boolean;
351
+ maxModelTurns?: number;
352
+ betas?: readonly string[];
353
+ }
354
+ export interface AgentToolRecoveryRequest extends Pick<AgentRunRequest, 'approveTool' | 'cwd' | 'observer' | 'signal' | 'toolResultDirectory'> {
355
+ approveRecovery?: (call: ModelToolCall) => boolean | Promise<boolean>;
356
+ messages?: readonly ModelMessage[];
357
+ }
358
+ export interface AgentRunResult {
359
+ text: string;
360
+ usage: ModelUsage;
361
+ durationApiMs?: number;
362
+ }
363
+ export declare class ModelProviderError extends Error {
364
+ readonly name = "ModelProviderError";
365
+ readonly retryable: boolean;
366
+ readonly status?: number;
367
+ readonly retryDelayMs?: number;
368
+ constructor(message: string, options: {
369
+ retryable: boolean;
370
+ status?: number;
371
+ retryDelayMs?: number;
372
+ cause?: unknown;
373
+ });
374
+ }
375
+ export declare class AgentRunCancelledError extends Error {
376
+ readonly name = "AgentRunCancelledError";
377
+ constructor();
378
+ }
379
+ export type RuntimeEventSink = (event: RuntimeEvent) => void;
380
+ export type ProviderErrorKind = 'authentication_failed' | 'billing_error' | 'rate_limit' | 'invalid_request' | 'server_error' | 'unknown' | 'max_output_tokens';
381
+ export declare function modelProviderErrorKind(error: ModelProviderError): ProviderErrorKind;
382
+ export declare class AgentRuntime {
383
+ private readonly provider;
384
+ private readonly emit;
385
+ private readonly options;
386
+ constructor(provider: ModelProvider, emit?: RuntimeEventSink, options?: AgentRuntimeOptions);
387
+ run(request: AgentRunRequest): Promise<AgentRunResult>;
388
+ recoverToolCalls(calls: readonly ModelToolCall[], request: AgentToolRecoveryRequest): Promise<ToolExecutionResult[]>;
389
+ private completeToolCall;
390
+ private executeTool;
391
+ private requireRecoveryApproval;
392
+ private cancel;
393
+ }
394
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/core/runtime.ts"],"names":[],"mappings":"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"}