@levelcode/sdk 0.2.2 → 0.2.3

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 (324) hide show
  1. package/dist/agents/constants.d.ts +1 -0
  2. package/dist/agents/team/apprentice.d.ts +3 -0
  3. package/dist/agents/team/coordinator.d.ts +3 -0
  4. package/dist/agents/team/cto.d.ts +3 -0
  5. package/dist/agents/team/designer.d.ts +3 -0
  6. package/dist/agents/team/director.d.ts +3 -0
  7. package/dist/agents/team/distinguished-engineer.d.ts +3 -0
  8. package/dist/agents/team/fellow.d.ts +3 -0
  9. package/dist/agents/team/index.d.ts +27 -0
  10. package/dist/agents/team/intern.d.ts +3 -0
  11. package/dist/agents/team/junior-engineer.d.ts +3 -0
  12. package/dist/agents/team/manager.d.ts +3 -0
  13. package/dist/agents/team/mid-level-engineer.d.ts +3 -0
  14. package/dist/agents/team/principal-engineer.d.ts +3 -0
  15. package/dist/agents/team/product-lead.d.ts +3 -0
  16. package/dist/agents/team/researcher.d.ts +3 -0
  17. package/dist/agents/team/role-hierarchy.d.ts +24 -0
  18. package/dist/agents/team/scientist.d.ts +3 -0
  19. package/dist/agents/team/senior-engineer.d.ts +3 -0
  20. package/dist/agents/team/senior-staff-engineer.d.ts +3 -0
  21. package/dist/agents/team/staff-engineer.d.ts +3 -0
  22. package/dist/agents/team/sub-manager.d.ts +3 -0
  23. package/dist/agents/team/tester.d.ts +3 -0
  24. package/dist/agents/team/vp-engineering.d.ts +3 -0
  25. package/dist/agents/types/agent-definition.d.ts +296 -0
  26. package/dist/agents/types/secret-agent-definition.d.ts +19 -0
  27. package/dist/agents/types/tools.d.ts +308 -0
  28. package/dist/agents/types/util-types.d.ts +134 -0
  29. package/dist/common/src/actions.d.ts +176 -0
  30. package/dist/common/src/analytics-core.d.ts +52 -0
  31. package/dist/common/src/analytics.d.ts +9 -0
  32. package/dist/common/src/browser-actions.d.ts +1200 -0
  33. package/dist/common/src/constants/agents.d.ts +47 -0
  34. package/dist/common/src/constants/analytics-events.d.ts +111 -0
  35. package/dist/common/src/constants/byok.d.ts +2 -0
  36. package/dist/common/src/constants/claude-oauth.d.ts +36 -0
  37. package/dist/common/src/constants/index.d.ts +4 -0
  38. package/dist/common/src/constants/knowledge.d.ts +21 -0
  39. package/dist/common/src/constants/limits.d.ts +14 -0
  40. package/dist/common/src/constants/model-config.d.ts +117 -0
  41. package/dist/common/src/constants/paths.d.ts +23 -0
  42. package/dist/common/src/constants/skills.d.ts +42 -0
  43. package/dist/common/src/constants/ui.d.ts +14 -0
  44. package/dist/common/src/env-ci.d.ts +22 -0
  45. package/dist/common/src/env-process.d.ts +28 -0
  46. package/dist/common/src/env-schema.d.ts +24 -0
  47. package/dist/common/src/env.d.ts +16 -0
  48. package/dist/common/src/mcp/client.d.ts +6 -0
  49. package/dist/common/src/old-constants.d.ts +10 -0
  50. package/dist/common/src/project-file-tree.d.ts +27 -0
  51. package/dist/common/src/templates/agent-validation.d.ts +48 -0
  52. package/dist/common/src/templates/initial-agents-dir/types/agent-definition.d.ts +296 -0
  53. package/dist/common/src/templates/initial-agents-dir/types/tools.d.ts +308 -0
  54. package/dist/common/src/templates/initial-agents-dir/types/util-types.d.ts +128 -0
  55. package/dist/common/src/testing/errors.d.ts +14 -0
  56. package/dist/common/src/testing/mock-modules.d.ts +11 -0
  57. package/dist/common/src/testing/mock-types.d.ts +97 -0
  58. package/dist/common/src/testing/mocks/analytics.d.ts +182 -0
  59. package/dist/common/src/testing/mocks/child-process.d.ts +29 -0
  60. package/dist/common/src/testing/mocks/crypto.d.ts +159 -0
  61. package/dist/common/src/testing/mocks/database.d.ts +197 -0
  62. package/dist/common/src/testing/mocks/fetch.d.ts +35 -0
  63. package/dist/common/src/testing/mocks/filesystem.d.ts +31 -0
  64. package/dist/common/src/testing/mocks/index.d.ts +25 -0
  65. package/dist/common/src/testing/mocks/logger.d.ts +35 -0
  66. package/dist/common/src/testing/mocks/stream.d.ts +203 -0
  67. package/dist/common/src/testing/mocks/timers.d.ts +27 -0
  68. package/dist/common/src/testing/mocks/tree-sitter.d.ts +58 -0
  69. package/dist/common/src/testing-env-process.d.ts +7 -0
  70. package/dist/common/src/tools/constants.d.ts +17 -0
  71. package/dist/common/src/tools/list.d.ts +1152 -0
  72. package/dist/common/src/tools/params/tool/add-message.d.ts +19 -0
  73. package/dist/common/src/tools/params/tool/add-subgoal.d.ts +26 -0
  74. package/dist/common/src/tools/params/tool/ask-user.d.ts +59 -0
  75. package/dist/common/src/tools/params/tool/browser-logs.d.ts +127 -0
  76. package/dist/common/src/tools/params/tool/code-search.d.ts +30 -0
  77. package/dist/common/src/tools/params/tool/create-plan.d.ts +30 -0
  78. package/dist/common/src/tools/params/tool/end-turn.d.ts +13 -0
  79. package/dist/common/src/tools/params/tool/find-files.d.ts +31 -0
  80. package/dist/common/src/tools/params/tool/glob.d.ts +26 -0
  81. package/dist/common/src/tools/params/tool/list-directory.d.ts +25 -0
  82. package/dist/common/src/tools/params/tool/lookup-agent-info.d.ts +13 -0
  83. package/dist/common/src/tools/params/tool/propose-str-replace.d.ts +40 -0
  84. package/dist/common/src/tools/params/tool/propose-write-file.d.ts +29 -0
  85. package/dist/common/src/tools/params/tool/read-docs.d.ts +19 -0
  86. package/dist/common/src/tools/params/tool/read-files.d.ts +35 -0
  87. package/dist/common/src/tools/params/tool/read-subtree.d.ts +40 -0
  88. package/dist/common/src/tools/params/tool/run-file-change-hooks.d.ts +63 -0
  89. package/dist/common/src/tools/params/tool/run-terminal-command.d.ts +88 -0
  90. package/dist/common/src/tools/params/tool/send-message.d.ts +26 -0
  91. package/dist/common/src/tools/params/tool/set-messages.d.ts +15 -0
  92. package/dist/common/src/tools/params/tool/set-output.d.ts +15 -0
  93. package/dist/common/src/tools/params/tool/skill.d.ts +28 -0
  94. package/dist/common/src/tools/params/tool/spawn-agent-inline.d.ts +17 -0
  95. package/dist/common/src/tools/params/tool/spawn-agents.d.ts +26 -0
  96. package/dist/common/src/tools/params/tool/str-replace.d.ts +43 -0
  97. package/dist/common/src/tools/params/tool/suggest-followups.d.ts +26 -0
  98. package/dist/common/src/tools/params/tool/task-completed.d.ts +13 -0
  99. package/dist/common/src/tools/params/tool/task-create.d.ts +24 -0
  100. package/dist/common/src/tools/params/tool/task-get.d.ts +15 -0
  101. package/dist/common/src/tools/params/tool/task-list.d.ts +13 -0
  102. package/dist/common/src/tools/params/tool/task-update.d.ts +29 -0
  103. package/dist/common/src/tools/params/tool/team-create.d.ts +17 -0
  104. package/dist/common/src/tools/params/tool/team-delete.d.ts +13 -0
  105. package/dist/common/src/tools/params/tool/think-deeply.d.ts +15 -0
  106. package/dist/common/src/tools/params/tool/update-subgoal.d.ts +25 -0
  107. package/dist/common/src/tools/params/tool/web-search.d.ts +25 -0
  108. package/dist/common/src/tools/params/tool/write-file.d.ts +31 -0
  109. package/dist/common/src/tools/params/tool/write-todos.d.ts +18 -0
  110. package/dist/common/src/tools/params/utils.d.ts +35 -0
  111. package/dist/common/src/tools/utils.d.ts +4 -0
  112. package/dist/common/src/types/agent-template.d.ts +156 -0
  113. package/dist/common/src/types/contracts/agent-runtime.d.ts +36 -0
  114. package/dist/common/src/types/contracts/analytics.d.ts +8 -0
  115. package/dist/common/src/types/contracts/billing.d.ts +40 -0
  116. package/dist/common/src/types/contracts/client.d.ts +45 -0
  117. package/dist/common/src/types/contracts/database.d.ts +80 -0
  118. package/dist/common/src/types/contracts/env.d.ts +150 -0
  119. package/dist/common/src/types/contracts/llm.d.ts +102 -0
  120. package/dist/common/src/types/contracts/logger.d.ts +8 -0
  121. package/dist/common/src/types/dynamic-agent-template.d.ts +227 -0
  122. package/dist/common/src/types/filesystem.d.ts +6 -0
  123. package/dist/common/src/types/function-params.d.ts +15 -0
  124. package/dist/common/src/types/grant.d.ts +2 -0
  125. package/dist/common/src/types/json.d.ts +9 -0
  126. package/dist/common/src/types/mcp.d.ts +31 -0
  127. package/dist/common/src/types/messages/content-part.d.ts +46 -0
  128. package/dist/common/src/types/messages/data-content.d.ts +3 -0
  129. package/dist/common/src/types/messages/levelcode-message.d.ts +37 -0
  130. package/dist/common/src/types/messages/provider-metadata.d.ts +3 -0
  131. package/dist/common/src/types/print-mode.d.ts +155 -0
  132. package/dist/common/src/types/session-state.d.ts +94 -0
  133. package/dist/common/src/types/skill.d.ts +31 -0
  134. package/dist/common/src/types/source.d.ts +8 -0
  135. package/dist/common/src/types/spawn.d.ts +8 -0
  136. package/dist/common/src/types/team-config-schemas.d.ts +217 -0
  137. package/dist/common/src/types/team-config.d.ts +42 -0
  138. package/dist/common/src/types/team-hook-events.d.ts +36 -0
  139. package/dist/common/src/types/team-protocol.d.ts +64 -0
  140. package/dist/common/src/util/agent-id-parsing.d.ts +22 -0
  141. package/dist/common/src/util/agent-name-normalization.d.ts +12 -0
  142. package/dist/common/src/util/array.d.ts +6 -0
  143. package/dist/common/src/util/credentials.d.ts +11 -0
  144. package/dist/common/src/util/error.d.ts +128 -0
  145. package/dist/common/src/util/file.d.ts +133 -0
  146. package/dist/common/src/util/format-code-search.d.ts +16 -0
  147. package/dist/common/src/util/lru-cache.d.ts +30 -0
  148. package/dist/common/src/util/messages.d.ts +46 -0
  149. package/dist/common/src/util/model-utils.d.ts +8 -0
  150. package/dist/common/src/util/object.d.ts +22 -0
  151. package/dist/common/src/util/promise.d.ts +16 -0
  152. package/dist/common/src/util/random.d.ts +1 -0
  153. package/dist/common/src/util/skills.d.ts +5 -0
  154. package/dist/common/src/util/stop-sequence.d.ts +14 -0
  155. package/dist/common/src/util/string.d.ts +82 -0
  156. package/dist/common/src/util/xml.d.ts +12 -0
  157. package/dist/common/src/util/zod-schema.d.ts +5 -0
  158. package/dist/common/src/utils/dev-phases.d.ts +23 -0
  159. package/dist/common/src/utils/file-lock.d.ts +13 -0
  160. package/dist/common/src/utils/team-analytics.d.ts +16 -0
  161. package/dist/common/src/utils/team-discovery.d.ts +47 -0
  162. package/dist/common/src/utils/team-fs.d.ts +20 -0
  163. package/dist/common/src/utils/team-hook-emitter.d.ts +40 -0
  164. package/dist/common/src/utils/team-presets.d.ts +35 -0
  165. package/dist/index.cjs +2 -1
  166. package/dist/index.cjs.map +3 -3
  167. package/dist/index.mjs +2 -1
  168. package/dist/index.mjs.map +3 -3
  169. package/dist/packages/agent-runtime/src/constants.d.ts +1 -0
  170. package/dist/packages/agent-runtime/src/fast-rewrite.d.ts +45 -0
  171. package/dist/packages/agent-runtime/src/find-files/request-files-prompt.d.ts +71 -0
  172. package/dist/packages/agent-runtime/src/generate-diffs-prompt.d.ts +53 -0
  173. package/dist/packages/agent-runtime/src/get-file-reading-updates.d.ts +8 -0
  174. package/dist/packages/agent-runtime/src/inbox-poller.d.ts +81 -0
  175. package/dist/packages/agent-runtime/src/llm-api/claude.d.ts +5 -0
  176. package/dist/packages/agent-runtime/src/llm-api/context7-api.d.ts +55 -0
  177. package/dist/packages/agent-runtime/src/llm-api/gemini-with-fallbacks.d.ts +40 -0
  178. package/dist/packages/agent-runtime/src/llm-api/levelcode-web-api.d.ts +49 -0
  179. package/dist/packages/agent-runtime/src/llm-api/relace-api.d.ts +16 -0
  180. package/dist/packages/agent-runtime/src/main-prompt.d.ts +29 -0
  181. package/dist/packages/agent-runtime/src/mcp-constants.d.ts +12 -0
  182. package/dist/packages/agent-runtime/src/mcp.d.ts +10 -0
  183. package/dist/packages/agent-runtime/src/message-formatter.d.ts +12 -0
  184. package/dist/packages/agent-runtime/src/process-file-block.d.ts +56 -0
  185. package/dist/packages/agent-runtime/src/process-str-replace.d.ts +21 -0
  186. package/dist/packages/agent-runtime/src/prompt-agent-stream.d.ts +28 -0
  187. package/dist/packages/agent-runtime/src/run-agent-step.d.ts +73 -0
  188. package/dist/packages/agent-runtime/src/run-programmatic-step.d.ts +40 -0
  189. package/dist/packages/agent-runtime/src/system-prompt/prompts.d.ts +19 -0
  190. package/dist/packages/agent-runtime/src/system-prompt/search-system-prompt.d.ts +14 -0
  191. package/dist/packages/agent-runtime/src/system-prompt/team-context-prompt.d.ts +9 -0
  192. package/dist/packages/agent-runtime/src/system-prompt/team-prompt.d.ts +9 -0
  193. package/dist/packages/agent-runtime/src/system-prompt/truncate-file-tree.d.ts +13 -0
  194. package/dist/packages/agent-runtime/src/team-context.d.ts +14 -0
  195. package/dist/packages/agent-runtime/src/templates/agent-registry.d.ts +35 -0
  196. package/dist/packages/agent-runtime/src/templates/prompts.d.ts +35 -0
  197. package/dist/packages/agent-runtime/src/templates/strings.d.ts +32 -0
  198. package/dist/packages/agent-runtime/src/templates/types.d.ts +13 -0
  199. package/dist/packages/agent-runtime/src/tool-stream-parser.d.ts +31 -0
  200. package/dist/packages/agent-runtime/src/tools/handlers/handler-function-type.d.ts +51 -0
  201. package/dist/packages/agent-runtime/src/tools/handlers/list.d.ts +370 -0
  202. package/dist/packages/agent-runtime/src/tools/handlers/tool/add-message.d.ts +9 -0
  203. package/dist/packages/agent-runtime/src/tools/handlers/tool/add-subgoal.d.ts +9 -0
  204. package/dist/packages/agent-runtime/src/tools/handlers/tool/ask-user.d.ts +10 -0
  205. package/dist/packages/agent-runtime/src/tools/handlers/tool/browser-logs.d.ts +8 -0
  206. package/dist/packages/agent-runtime/src/tools/handlers/tool/code-search.d.ts +8 -0
  207. package/dist/packages/agent-runtime/src/tools/handlers/tool/create-plan.d.ts +13 -0
  208. package/dist/packages/agent-runtime/src/tools/handlers/tool/end-turn.d.ts +7 -0
  209. package/dist/packages/agent-runtime/src/tools/handlers/tool/find-files.d.ts +27 -0
  210. package/dist/packages/agent-runtime/src/tools/handlers/tool/glob.d.ts +10 -0
  211. package/dist/packages/agent-runtime/src/tools/handlers/tool/list-directory.d.ts +10 -0
  212. package/dist/packages/agent-runtime/src/tools/handlers/tool/lookup-agent-info.d.ts +14 -0
  213. package/dist/packages/agent-runtime/src/tools/handlers/tool/propose-str-replace.d.ts +15 -0
  214. package/dist/packages/agent-runtime/src/tools/handlers/tool/propose-write-file.d.ts +7 -0
  215. package/dist/packages/agent-runtime/src/tools/handlers/tool/proposed-content-store.d.ts +27 -0
  216. package/dist/packages/agent-runtime/src/tools/handlers/tool/read-docs.d.ts +21 -0
  217. package/dist/packages/agent-runtime/src/tools/handlers/tool/read-files.d.ts +13 -0
  218. package/dist/packages/agent-runtime/src/tools/handlers/tool/read-subtree.d.ts +13 -0
  219. package/dist/packages/agent-runtime/src/tools/handlers/tool/run-file-change-hooks.d.ts +10 -0
  220. package/dist/packages/agent-runtime/src/tools/handlers/tool/run-terminal-command.d.ts +10 -0
  221. package/dist/packages/agent-runtime/src/tools/handlers/tool/send-message.d.ts +15 -0
  222. package/dist/packages/agent-runtime/src/tools/handlers/tool/set-messages.d.ts +9 -0
  223. package/dist/packages/agent-runtime/src/tools/handlers/tool/set-output.d.ts +18 -0
  224. package/dist/packages/agent-runtime/src/tools/handlers/tool/skill.d.ts +11 -0
  225. package/dist/packages/agent-runtime/src/tools/handlers/tool/spawn-agent-inline.d.ts +29 -0
  226. package/dist/packages/agent-runtime/src/tools/handlers/tool/spawn-agent-utils.d.ts +130 -0
  227. package/dist/packages/agent-runtime/src/tools/handlers/tool/spawn-agents.d.ts +37 -0
  228. package/dist/packages/agent-runtime/src/tools/handlers/tool/str-replace.d.ts +16 -0
  229. package/dist/packages/agent-runtime/src/tools/handlers/tool/suggest-followups.d.ts +9 -0
  230. package/dist/packages/agent-runtime/src/tools/handlers/tool/task-completed.d.ts +15 -0
  231. package/dist/packages/agent-runtime/src/tools/handlers/tool/task-create.d.ts +10 -0
  232. package/dist/packages/agent-runtime/src/tools/handlers/tool/task-get.d.ts +10 -0
  233. package/dist/packages/agent-runtime/src/tools/handlers/tool/task-list.d.ts +10 -0
  234. package/dist/packages/agent-runtime/src/tools/handlers/tool/task-update.d.ts +15 -0
  235. package/dist/packages/agent-runtime/src/tools/handlers/tool/team-create.d.ts +15 -0
  236. package/dist/packages/agent-runtime/src/tools/handlers/tool/team-delete.d.ts +15 -0
  237. package/dist/packages/agent-runtime/src/tools/handlers/tool/think-deeply.d.ts +9 -0
  238. package/dist/packages/agent-runtime/src/tools/handlers/tool/update-subgoal.d.ts +11 -0
  239. package/dist/packages/agent-runtime/src/tools/handlers/tool/web-search.d.ts +22 -0
  240. package/dist/packages/agent-runtime/src/tools/handlers/tool/write-file.d.ts +49 -0
  241. package/dist/packages/agent-runtime/src/tools/handlers/tool/write-todos.d.ts +9 -0
  242. package/dist/packages/agent-runtime/src/tools/prompts.d.ts +31 -0
  243. package/dist/packages/agent-runtime/src/tools/stream-parser.d.ts +33 -0
  244. package/dist/packages/agent-runtime/src/tools/tool-executor.d.ts +87 -0
  245. package/dist/packages/agent-runtime/src/util/agent-output.d.ts +3 -0
  246. package/dist/packages/agent-runtime/src/util/messages.d.ts +68 -0
  247. package/dist/packages/agent-runtime/src/util/parse-tool-calls-from-text.d.ts +38 -0
  248. package/dist/packages/agent-runtime/src/util/render-read-files-result.d.ts +15 -0
  249. package/dist/packages/agent-runtime/src/util/simplify-tool-results.d.ts +7 -0
  250. package/dist/packages/agent-runtime/src/util/stream-xml-parser.d.ts +34 -0
  251. package/dist/packages/agent-runtime/src/util/token-counter.d.ts +3 -0
  252. package/dist/packages/code-map/src/index.d.ts +3 -0
  253. package/dist/packages/code-map/src/init-node.d.ts +4 -0
  254. package/dist/packages/code-map/src/languages.d.ts +36 -0
  255. package/dist/packages/code-map/src/parse.d.ts +21 -0
  256. package/dist/packages/code-map/src/types.d.ts +8 -0
  257. package/dist/packages/code-map/src/utils.d.ts +1 -0
  258. package/dist/sdk/src/__tests__/client.test.d.ts +1 -0
  259. package/dist/sdk/src/__tests__/code-search.test.d.ts +1 -0
  260. package/dist/sdk/src/__tests__/credentials.test.d.ts +1 -0
  261. package/dist/sdk/src/__tests__/database.test.d.ts +1 -0
  262. package/dist/sdk/src/__tests__/env.test.d.ts +1 -0
  263. package/dist/sdk/src/__tests__/error-utils.test.d.ts +1 -0
  264. package/dist/sdk/src/__tests__/initial-session-state.test.d.ts +1 -0
  265. package/dist/sdk/src/__tests__/knowledge-file-selection.test.d.ts +1 -0
  266. package/dist/sdk/src/__tests__/load-agents.test.d.ts +1 -0
  267. package/dist/sdk/src/__tests__/load-mcp-config.test.d.ts +1 -0
  268. package/dist/sdk/src/__tests__/model-provider.test.d.ts +1 -0
  269. package/dist/sdk/src/__tests__/read-files.test.d.ts +1 -0
  270. package/dist/sdk/src/__tests__/run-cancellation.test.d.ts +1 -0
  271. package/dist/sdk/src/__tests__/run-file-filter.test.d.ts +1 -0
  272. package/dist/sdk/src/__tests__/run-handle-event.test.d.ts +1 -0
  273. package/dist/sdk/src/__tests__/run.integration.test.d.ts +1 -0
  274. package/dist/sdk/src/__tests__/team-api.test.d.ts +1 -0
  275. package/dist/sdk/src/__tests__/user-knowledge-files.test.d.ts +1 -0
  276. package/dist/sdk/src/__tests__/validate-agents.test.d.ts +1 -0
  277. package/dist/sdk/src/agents/load-agents.d.ts +106 -0
  278. package/dist/sdk/src/agents/load-mcp-config.d.ts +69 -0
  279. package/dist/sdk/src/client.d.ts +71 -0
  280. package/dist/sdk/src/constants.d.ts +4 -0
  281. package/dist/sdk/src/credentials.d.ts +58 -0
  282. package/dist/sdk/src/custom-tool.d.ts +32 -0
  283. package/dist/sdk/src/env.d.ts +31 -0
  284. package/dist/sdk/src/error-utils.d.ts +55 -0
  285. package/dist/sdk/src/impl/__tests__/prompt-result.test.d.ts +1 -0
  286. package/dist/sdk/src/impl/agent-runtime.d.ts +8 -0
  287. package/dist/sdk/src/impl/database.d.ts +7 -0
  288. package/dist/sdk/src/impl/llm.d.ts +8 -0
  289. package/dist/sdk/src/impl/model-provider.d.ts +61 -0
  290. package/dist/sdk/src/index.d.ts +42 -0
  291. package/dist/sdk/src/native/ripgrep.d.ts +7 -0
  292. package/dist/sdk/src/retry-config.d.ts +46 -0
  293. package/dist/sdk/src/run-state.d.ts +81 -0
  294. package/dist/sdk/src/run.d.ts +79 -0
  295. package/dist/sdk/src/skills/load-skills.d.ts +42 -0
  296. package/dist/sdk/src/team.d.ts +49 -0
  297. package/dist/sdk/src/testing/env.d.ts +5 -0
  298. package/dist/sdk/src/tools/change-file.d.ts +7 -0
  299. package/dist/sdk/src/tools/code-search.d.ts +13 -0
  300. package/dist/sdk/src/tools/glob.d.ts +8 -0
  301. package/dist/sdk/src/tools/index.d.ts +16 -0
  302. package/dist/sdk/src/tools/list-directory.d.ts +7 -0
  303. package/dist/sdk/src/tools/read-files.d.ts +16 -0
  304. package/dist/sdk/src/tools/run-file-change-hooks.d.ts +4 -0
  305. package/dist/sdk/src/tools/run-terminal-command.d.ts +8 -0
  306. package/dist/sdk/src/types/env.d.ts +30 -0
  307. package/dist/sdk/src/validate-agents.d.ts +45 -0
  308. package/dist/vendor/ripgrep/arm64-darwin/rg +0 -0
  309. package/dist/vendor/ripgrep/arm64-linux/rg +0 -0
  310. package/dist/vendor/ripgrep/x64-darwin/rg +0 -0
  311. package/dist/vendor/ripgrep/x64-linux/rg +0 -0
  312. package/dist/vendor/ripgrep/x64-win32/rg.exe +0 -0
  313. package/dist/wasm/tree-sitter-c-sharp.wasm +0 -0
  314. package/dist/wasm/tree-sitter-cpp.wasm +0 -0
  315. package/dist/wasm/tree-sitter-go.wasm +0 -0
  316. package/dist/wasm/tree-sitter-java.wasm +0 -0
  317. package/dist/wasm/tree-sitter-javascript.wasm +0 -0
  318. package/dist/wasm/tree-sitter-python.wasm +0 -0
  319. package/dist/wasm/tree-sitter-ruby.wasm +0 -0
  320. package/dist/wasm/tree-sitter-rust.wasm +0 -0
  321. package/dist/wasm/tree-sitter-tsx.wasm +0 -0
  322. package/dist/wasm/tree-sitter-typescript.wasm +0 -0
  323. package/dist/wasm/tree-sitter.wasm +0 -0
  324. package/package.json +1 -1
@@ -0,0 +1,10 @@
1
+ import type { ClientToolCall, LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
2
+ type ToolName = 'run_terminal_command';
3
+ export declare const handleRunTerminalCommand: ({ previousToolCallFinished, toolCall, requestClientToolCall, }: {
4
+ previousToolCallFinished: Promise<void>;
5
+ toolCall: LevelCodeToolCall<ToolName>;
6
+ requestClientToolCall: (toolCall: ClientToolCall<ToolName>) => Promise<LevelCodeToolOutput<ToolName>>;
7
+ }) => Promise<{
8
+ output: LevelCodeToolOutput<ToolName>;
9
+ }>;
10
+ export {};
@@ -0,0 +1,15 @@
1
+ import type { LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
2
+ import type { TrackEventFn } from '@levelcode/common/types/contracts/analytics';
3
+ import type { Logger } from '@levelcode/common/types/contracts/logger';
4
+ type ToolName = 'send_message';
5
+ export declare const handleSendMessage: (params: {
6
+ previousToolCallFinished: Promise<void>;
7
+ toolCall: LevelCodeToolCall<ToolName>;
8
+ agentStepId: string;
9
+ trackEvent: TrackEventFn;
10
+ userId: string | undefined;
11
+ logger: Logger;
12
+ }) => Promise<{
13
+ output: LevelCodeToolOutput<ToolName>;
14
+ }>;
15
+ export {};
@@ -0,0 +1,9 @@
1
+ import type { LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
2
+ import type { AgentState } from '@levelcode/common/types/session-state';
3
+ export declare const handleSetMessages: (params: {
4
+ previousToolCallFinished: Promise<void>;
5
+ toolCall: LevelCodeToolCall<"set_messages">;
6
+ agentState: AgentState;
7
+ }) => Promise<{
8
+ output: LevelCodeToolOutput<"set_messages">;
9
+ }>;
@@ -0,0 +1,18 @@
1
+ import type { LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
2
+ import type { AgentTemplate, Logger } from '@levelcode/common/types/agent-template';
3
+ import type { FetchAgentFromDatabaseFn } from '@levelcode/common/types/contracts/database';
4
+ import type { AgentState } from '@levelcode/common/types/session-state';
5
+ type ToolName = 'set_output';
6
+ export declare const handleSetOutput: (params: {
7
+ previousToolCallFinished: Promise<void>;
8
+ toolCall: LevelCodeToolCall<ToolName>;
9
+ agentState: AgentState;
10
+ apiKey: string;
11
+ databaseAgentCache: Map<string, AgentTemplate | null>;
12
+ localAgentTemplates: Record<string, AgentTemplate>;
13
+ logger: Logger;
14
+ fetchAgentFromDatabase: FetchAgentFromDatabaseFn;
15
+ }) => Promise<{
16
+ output: LevelCodeToolOutput<ToolName>;
17
+ }>;
18
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
2
+ import type { ProjectFileContext } from '@levelcode/common/util/file';
3
+ type ToolName = 'skill';
4
+ export declare const handleSkill: (params: {
5
+ previousToolCallFinished: Promise<void>;
6
+ toolCall: LevelCodeToolCall<ToolName>;
7
+ fileContext: ProjectFileContext;
8
+ }) => Promise<{
9
+ output: LevelCodeToolOutput<ToolName>;
10
+ }>;
11
+ export {};
@@ -0,0 +1,29 @@
1
+ import { executeSubagent } from './spawn-agent-utils';
2
+ import type { LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
3
+ import type { AgentTemplate } from '@levelcode/common/types/agent-template';
4
+ import type { Logger } from '@levelcode/common/types/contracts/logger';
5
+ import type { ParamsExcluding } from '@levelcode/common/types/function-params';
6
+ import type { PrintModeEvent } from '@levelcode/common/types/print-mode';
7
+ import type { AgentState } from '@levelcode/common/types/session-state';
8
+ import type { ProjectFileContext } from '@levelcode/common/util/file';
9
+ import type { ToolSet } from 'ai';
10
+ type ToolName = 'spawn_agent_inline';
11
+ export declare const handleSpawnAgentInline: (params: {
12
+ previousToolCallFinished: Promise<void>;
13
+ toolCall: LevelCodeToolCall<ToolName>;
14
+ agentState: AgentState;
15
+ agentTemplate: AgentTemplate;
16
+ clientSessionId: string;
17
+ fileContext: ProjectFileContext;
18
+ fingerprintId: string;
19
+ localAgentTemplates: Record<string, AgentTemplate>;
20
+ logger: Logger;
21
+ system: string;
22
+ tools: ToolSet;
23
+ userId: string | undefined;
24
+ userInputId: string;
25
+ writeToClient: (chunk: string | PrintModeEvent) => void;
26
+ } & ParamsExcluding<typeof executeSubagent, "userInputId" | "prompt" | "spawnParams" | "agentTemplate" | "parentAgentState" | "agentState" | "parentSystemPrompt" | "parentTools" | "onResponseChunk" | "clearUserPromptMessagesAfterResponse" | "fingerprintId">) => Promise<{
27
+ output: LevelCodeToolOutput<ToolName>;
28
+ }>;
29
+ export {};
@@ -0,0 +1,130 @@
1
+ import { loopAgentSteps } from '../../../run-agent-step';
2
+ import { getAgentTemplate } from '../../../templates/agent-registry';
3
+ import type { AgentTemplate } from '@levelcode/common/types/agent-template';
4
+ import type { AgentRuntimeDeps, AgentRuntimeScopedDeps } from '@levelcode/common/types/contracts/agent-runtime';
5
+ import type { Logger } from '@levelcode/common/types/contracts/logger';
6
+ import type { ParamsExcluding, OptionalFields } from '@levelcode/common/types/function-params';
7
+ import type { PrintModeEvent } from '@levelcode/common/types/print-mode';
8
+ import type { AgentState, AgentTemplateType, Subgoal } from '@levelcode/common/types/session-state';
9
+ import type { TeamConfig, TeamRole } from '@levelcode/common/types/team-config';
10
+ import type { ProjectFileContext } from '@levelcode/common/util/file';
11
+ import type { ToolSet } from 'ai';
12
+ /**
13
+ * Common context params needed for spawning subagents.
14
+ * These are the params that don't change between different spawn calls
15
+ * and are passed through from the parent agent runtime.
16
+ */
17
+ export type SubagentContextParams = AgentRuntimeDeps & AgentRuntimeScopedDeps & {
18
+ clientSessionId: string;
19
+ fileContext: ProjectFileContext;
20
+ localAgentTemplates: Record<string, AgentTemplate>;
21
+ repoId: string | undefined;
22
+ repoUrl: string | undefined;
23
+ signal: AbortSignal;
24
+ userId: string | undefined;
25
+ };
26
+ /**
27
+ * Extracts the common context params needed for spawning subagents.
28
+ * This avoids bugs from spreading all params with `...params` which can
29
+ * accidentally pass through params that should be overridden.
30
+ */
31
+ export declare function extractSubagentContextParams(params: SubagentContextParams): SubagentContextParams;
32
+ /**
33
+ * Checks if a parent agent is allowed to spawn a child agent
34
+ */
35
+ export declare function getMatchingSpawn(spawnableAgents: AgentTemplateType[], childFullAgentId: string): AgentTemplateType | null;
36
+ /**
37
+ * Synchronously transforms spawn_agents input to use 'commander-lite' instead of 'commander'
38
+ * when the parent agent doesn't have access to 'commander' but does have access to 'commander-lite'.
39
+ * This should be called BEFORE the tool call is streamed to the UI.
40
+ */
41
+ export declare function transformSpawnAgentsInput(input: Record<string, unknown>, spawnableAgents: AgentTemplateType[]): Record<string, unknown>;
42
+ /**
43
+ * Validates agent template and permissions
44
+ */
45
+ export declare function validateAndGetAgentTemplate(params: {
46
+ agentTypeStr: string;
47
+ parentAgentTemplate: AgentTemplate;
48
+ localAgentTemplates: Record<string, AgentTemplate>;
49
+ logger: Logger;
50
+ } & ParamsExcluding<typeof getAgentTemplate, 'agentId'>): Promise<{
51
+ agentTemplate: AgentTemplate;
52
+ agentType: string;
53
+ }>;
54
+ /**
55
+ * Validates prompt and params against agent schema
56
+ */
57
+ export declare function validateAgentInput(agentTemplate: AgentTemplate, agentType: string, prompt?: string, params?: any): void;
58
+ /**
59
+ * Creates a new agent state for spawned agents
60
+ */
61
+ export declare function createAgentState(agentType: string, agentTemplate: AgentTemplate, parentAgentState: AgentState, agentContext: Record<string, Subgoal>): AgentState;
62
+ /**
63
+ * Logs agent spawn information
64
+ */
65
+ export declare function logAgentSpawn(params: {
66
+ agentTemplate: AgentTemplate;
67
+ agentType: string;
68
+ agentId: string;
69
+ parentId: string | undefined;
70
+ prompt?: string;
71
+ spawnParams?: any;
72
+ inline?: boolean;
73
+ logger: Logger;
74
+ }): void;
75
+ /**
76
+ * Executes a subagent using loopAgentSteps
77
+ */
78
+ export declare function executeSubagent(options: OptionalFields<{
79
+ agentTemplate: AgentTemplate;
80
+ parentAgentState: AgentState;
81
+ parentTools?: ToolSet;
82
+ onResponseChunk: (chunk: string | PrintModeEvent) => void;
83
+ isOnlyChild?: boolean;
84
+ ancestorRunIds: string[];
85
+ } & ParamsExcluding<typeof loopAgentSteps, 'agentType' | 'ancestorRunIds'>, 'isOnlyChild' | 'clearUserPromptMessagesAfterResponse'>): Promise<{
86
+ agentState: AgentState;
87
+ output: import("@levelcode/common/types/session-state").AgentOutput;
88
+ }>;
89
+ /**
90
+ * Options for registering a spawned agent as a team member.
91
+ */
92
+ export interface TeamSpawnOptions {
93
+ teamName: string;
94
+ teamRole?: string;
95
+ }
96
+ /**
97
+ * Resolves a team_role to the corresponding agent template ID from agents/team/.
98
+ * For example, 'coordinator' maps to the coordinator agent template,
99
+ * 'manager' maps to the manager agent template, etc.
100
+ *
101
+ * Returns the agent template ID (which is the same as the role string for
102
+ * roles that have a dedicated template), or null if no template exists for
103
+ * the given role.
104
+ */
105
+ export declare function resolveTeamRoleAgentType(teamRole: string): string | null;
106
+ /**
107
+ * Validates that the spawning agent has authority to spawn an agent
108
+ * with the requested team role.
109
+ *
110
+ * Uses canManage from role-hierarchy to check that the spawner's role
111
+ * has a strictly higher authority level than the target role.
112
+ * Also checks getSpawnableRoles to ensure the specific role combination
113
+ * is allowed.
114
+ *
115
+ * @param spawnerRole - The team role of the agent performing the spawn
116
+ * @param targetRole - The team role being requested for the new agent
117
+ * @throws Error if the spawner lacks authority
118
+ */
119
+ export declare function validateSpawnAuthority(spawnerRole: TeamRole, targetRole: TeamRole): void;
120
+ /**
121
+ * Sends a notification to the team lead when a new agent joins the team.
122
+ * This is a fire-and-forget operation; errors are logged but not thrown.
123
+ */
124
+ export declare function notifyTeamLead(teamName: string, teamConfig: TeamConfig, memberName: string, role: TeamRole, logger: Logger): Promise<void>;
125
+ /**
126
+ * Registers a spawned agent as a member of an existing team.
127
+ * Returns the team context string to prepend to the agent's prompt,
128
+ * or null if the team does not exist.
129
+ */
130
+ export declare function registerAgentAsTeamMember(agentId: string, agentType: string, options: TeamSpawnOptions, logger: Logger): Promise<string | null>;
@@ -0,0 +1,37 @@
1
+ import { validateAndGetAgentTemplate, executeSubagent } from './spawn-agent-utils';
2
+ import type { TrackEventFn } from '@levelcode/common/types/contracts/analytics';
3
+ import type { LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
4
+ import type { AgentTemplate } from '@levelcode/common/types/agent-template';
5
+ import type { Logger } from '@levelcode/common/types/contracts/logger';
6
+ import type { ParamsExcluding } from '@levelcode/common/types/function-params';
7
+ import type { PrintModeEvent } from '@levelcode/common/types/print-mode';
8
+ import type { AgentState } from '@levelcode/common/types/session-state';
9
+ import type { ToolSet } from 'ai';
10
+ export type SendSubagentChunk = (data: {
11
+ userInputId: string;
12
+ agentId: string;
13
+ agentType: string;
14
+ chunk: string;
15
+ prompt?: string;
16
+ forwardToPrompt?: boolean;
17
+ }) => void;
18
+ type ToolName = 'spawn_agents';
19
+ export declare const handleSpawnAgents: (params: {
20
+ previousToolCallFinished: Promise<void>;
21
+ toolCall: LevelCodeToolCall<ToolName>;
22
+ agentState: AgentState;
23
+ agentTemplate: AgentTemplate;
24
+ fingerprintId: string;
25
+ localAgentTemplates: Record<string, AgentTemplate>;
26
+ logger: Logger;
27
+ system: string;
28
+ tools?: ToolSet;
29
+ trackEvent: TrackEventFn;
30
+ userId: string | undefined;
31
+ userInputId: string;
32
+ sendSubagentChunk: SendSubagentChunk;
33
+ writeToClient: (chunk: string | PrintModeEvent) => void;
34
+ } & ParamsExcluding<typeof validateAndGetAgentTemplate, "agentTypeStr" | "parentAgentTemplate"> & ParamsExcluding<typeof executeSubagent, "userInputId" | "prompt" | "spawnParams" | "agentTemplate" | "parentAgentState" | "agentState" | "fingerprintId" | "isOnlyChild" | "parentSystemPrompt" | "parentTools" | "onResponseChunk">) => Promise<{
35
+ output: LevelCodeToolOutput<ToolName>;
36
+ }>;
37
+ export {};
@@ -0,0 +1,16 @@
1
+ import type { FileProcessingState } from './write-file';
2
+ import type { ClientToolCall, LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
3
+ import type { RequestOptionalFileFn } from '@levelcode/common/types/contracts/client';
4
+ import type { Logger } from '@levelcode/common/types/contracts/logger';
5
+ import type { ParamsExcluding } from '@levelcode/common/types/function-params';
6
+ export declare const handleStrReplace: (params: {
7
+ previousToolCallFinished: Promise<void>;
8
+ toolCall: LevelCodeToolCall<"str_replace">;
9
+ fileProcessingState: FileProcessingState;
10
+ logger: Logger;
11
+ requestClientToolCall: (toolCall: ClientToolCall<"str_replace">) => Promise<LevelCodeToolOutput<"str_replace">>;
12
+ writeToClient: (chunk: string) => void;
13
+ requestOptionalFile: RequestOptionalFileFn;
14
+ } & ParamsExcluding<RequestOptionalFileFn, "filePath">) => Promise<{
15
+ output: LevelCodeToolOutput<"str_replace">;
16
+ }>;
@@ -0,0 +1,9 @@
1
+ import type { LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
2
+ import type { Logger } from '@levelcode/common/types/contracts/logger';
3
+ export declare const handleSuggestFollowups: (params: {
4
+ previousToolCallFinished: Promise<unknown>;
5
+ toolCall: LevelCodeToolCall<"suggest_followups">;
6
+ logger: Logger;
7
+ }) => Promise<{
8
+ output: LevelCodeToolOutput<"suggest_followups">;
9
+ }>;
@@ -0,0 +1,15 @@
1
+ import type { LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
2
+ import type { TrackEventFn } from '@levelcode/common/types/contracts/analytics';
3
+ import type { Logger } from '@levelcode/common/types/contracts/logger';
4
+ export declare const handleTaskCompleted: ({ previousToolCallFinished, trackEvent, userId, logger, agentTemplate, }: {
5
+ previousToolCallFinished: Promise<any>;
6
+ toolCall: LevelCodeToolCall<"task_completed">;
7
+ trackEvent: TrackEventFn;
8
+ userId: string | undefined;
9
+ logger: Logger;
10
+ agentTemplate: {
11
+ name: string;
12
+ };
13
+ }) => Promise<{
14
+ output: LevelCodeToolOutput<"task_completed">;
15
+ }>;
@@ -0,0 +1,10 @@
1
+ import type { LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
2
+ type ToolName = 'task_create';
3
+ export declare const handleTaskCreate: (params: {
4
+ previousToolCallFinished: Promise<void>;
5
+ toolCall: LevelCodeToolCall<ToolName>;
6
+ agentStepId: string;
7
+ }) => Promise<{
8
+ output: LevelCodeToolOutput<ToolName>;
9
+ }>;
10
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
2
+ type ToolName = 'task_get';
3
+ export declare const handleTaskGet: (params: {
4
+ previousToolCallFinished: Promise<void>;
5
+ toolCall: LevelCodeToolCall<ToolName>;
6
+ agentStepId: string;
7
+ }) => Promise<{
8
+ output: LevelCodeToolOutput<ToolName>;
9
+ }>;
10
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
2
+ type ToolName = 'task_list';
3
+ export declare const handleTaskList: (params: {
4
+ previousToolCallFinished: Promise<void>;
5
+ toolCall: LevelCodeToolCall<ToolName>;
6
+ agentStepId: string;
7
+ }) => Promise<{
8
+ output: LevelCodeToolOutput<ToolName>;
9
+ }>;
10
+ export {};
@@ -0,0 +1,15 @@
1
+ import type { LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
2
+ import type { TrackEventFn } from '@levelcode/common/types/contracts/analytics';
3
+ import type { Logger } from '@levelcode/common/types/contracts/logger';
4
+ type ToolName = 'task_update';
5
+ export declare const handleTaskUpdate: (params: {
6
+ previousToolCallFinished: Promise<void>;
7
+ toolCall: LevelCodeToolCall<ToolName>;
8
+ agentStepId: string;
9
+ trackEvent: TrackEventFn;
10
+ userId: string | undefined;
11
+ logger: Logger;
12
+ }) => Promise<{
13
+ output: LevelCodeToolOutput<ToolName>;
14
+ }>;
15
+ export {};
@@ -0,0 +1,15 @@
1
+ import type { LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
2
+ import type { TrackEventFn } from '@levelcode/common/types/contracts/analytics';
3
+ import type { Logger } from '@levelcode/common/types/contracts/logger';
4
+ type ToolName = 'team_create';
5
+ export declare const handleTeamCreate: (params: {
6
+ previousToolCallFinished: Promise<void>;
7
+ toolCall: LevelCodeToolCall<ToolName>;
8
+ agentStepId: string;
9
+ trackEvent: TrackEventFn;
10
+ userId: string | undefined;
11
+ logger: Logger;
12
+ }) => Promise<{
13
+ output: LevelCodeToolOutput<ToolName>;
14
+ }>;
15
+ export {};
@@ -0,0 +1,15 @@
1
+ import type { LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
2
+ import type { TrackEventFn } from '@levelcode/common/types/contracts/analytics';
3
+ import type { Logger } from '@levelcode/common/types/contracts/logger';
4
+ type ToolName = 'team_delete';
5
+ export declare const handleTeamDelete: (params: {
6
+ previousToolCallFinished: Promise<void>;
7
+ toolCall: LevelCodeToolCall<ToolName>;
8
+ agentStepId: string;
9
+ trackEvent: TrackEventFn;
10
+ userId: string | undefined;
11
+ logger: Logger;
12
+ }) => Promise<{
13
+ output: LevelCodeToolOutput<ToolName>;
14
+ }>;
15
+ export {};
@@ -0,0 +1,9 @@
1
+ import type { LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
2
+ import type { Logger } from '@levelcode/common/types/contracts/logger';
3
+ export declare const handleThinkDeeply: (params: {
4
+ previousToolCallFinished: Promise<any>;
5
+ toolCall: LevelCodeToolCall<"think_deeply">;
6
+ logger: Logger;
7
+ }) => Promise<{
8
+ output: LevelCodeToolOutput<"think_deeply">;
9
+ }>;
@@ -0,0 +1,11 @@
1
+ import type { LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
2
+ import type { Subgoal } from '@levelcode/common/types/session-state';
3
+ type ToolName = 'update_subgoal';
4
+ export declare const handleUpdateSubgoal: (params: {
5
+ previousToolCallFinished: Promise<void>;
6
+ toolCall: LevelCodeToolCall<ToolName>;
7
+ agentContext: Record<string, Subgoal>;
8
+ }) => Promise<{
9
+ output: LevelCodeToolOutput<ToolName>;
10
+ }>;
11
+ export {};
@@ -0,0 +1,22 @@
1
+ import type { LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
2
+ import type { ClientEnv, CiEnv } from '@levelcode/common/types/contracts/env';
3
+ import type { Logger } from '@levelcode/common/types/contracts/logger';
4
+ export declare const handleWebSearch: (params: {
5
+ previousToolCallFinished: Promise<void>;
6
+ toolCall: LevelCodeToolCall<"web_search">;
7
+ logger: Logger;
8
+ apiKey: string;
9
+ agentStepId: string;
10
+ clientSessionId: string;
11
+ fingerprintId: string;
12
+ repoId: string | undefined;
13
+ repoUrl: string | undefined;
14
+ userInputId: string;
15
+ userId: string | undefined;
16
+ fetch: typeof globalThis.fetch;
17
+ clientEnv: ClientEnv;
18
+ ciEnv: CiEnv;
19
+ }) => Promise<{
20
+ output: LevelCodeToolOutput<"web_search">;
21
+ creditsUsed: number;
22
+ }>;
@@ -0,0 +1,49 @@
1
+ import { processFileBlock } from '../../../process-file-block';
2
+ import type { ClientToolCall, LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
3
+ import type { RequestOptionalFileFn } from '@levelcode/common/types/contracts/client';
4
+ import type { Logger } from '@levelcode/common/types/contracts/logger';
5
+ import type { ParamsExcluding } from '@levelcode/common/types/function-params';
6
+ import type { AgentState } from '@levelcode/common/types/session-state';
7
+ type FileProcessingTools = 'write_file' | 'str_replace' | 'create_plan';
8
+ export type FileProcessing<T extends FileProcessingTools = FileProcessingTools> = {
9
+ tool: T;
10
+ path: string;
11
+ toolCallId: string;
12
+ } & ({
13
+ content: string;
14
+ patch?: string;
15
+ messages: string[];
16
+ } | {
17
+ error: string;
18
+ });
19
+ export type FileProcessingState = {
20
+ promisesByPath: Record<string, Promise<FileProcessing>[]>;
21
+ allPromises: Promise<FileProcessing>[];
22
+ fileChangeErrors: Extract<FileProcessing, {
23
+ error: string;
24
+ }>[];
25
+ fileChanges: Exclude<FileProcessing, {
26
+ error: string;
27
+ }>[];
28
+ firstFileProcessed: boolean;
29
+ };
30
+ export declare function getFileProcessingValues(state: FileProcessingState): FileProcessingState;
31
+ export declare const handleWriteFile: (params: {
32
+ previousToolCallFinished: Promise<void>;
33
+ toolCall: LevelCodeToolCall<"write_file">;
34
+ agentState: AgentState;
35
+ clientSessionId: string;
36
+ fileProcessingState: FileProcessingState;
37
+ fingerprintId: string;
38
+ logger: Logger;
39
+ prompt: string | undefined;
40
+ userId: string | undefined;
41
+ userInputId: string;
42
+ requestClientToolCall: (toolCall: ClientToolCall<"write_file">) => Promise<LevelCodeToolOutput<"write_file">>;
43
+ requestOptionalFile: RequestOptionalFileFn;
44
+ writeToClient: (chunk: string) => void;
45
+ } & ParamsExcluding<typeof processFileBlock, "path" | "instructions" | "fingerprintId" | "initialContentPromise" | "newContent" | "messages" | "lastUserPrompt"> & ParamsExcluding<RequestOptionalFileFn, "filePath">) => Promise<{
46
+ output: LevelCodeToolOutput<"write_file">;
47
+ }>;
48
+ export declare function postStreamProcessing<T extends FileProcessingTools>(toolCall: FileProcessing<T>, fileProcessingState: FileProcessingState, writeToClient: (chunk: string) => void, requestClientToolCall: (toolCall: ClientToolCall<T>) => Promise<LevelCodeToolOutput<T>>): Promise<LevelCodeToolOutput<T>>;
49
+ export {};
@@ -0,0 +1,9 @@
1
+ import type { LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
2
+ type ToolName = 'write_todos';
3
+ export declare const handleWriteTodos: (params: {
4
+ previousToolCallFinished: Promise<void>;
5
+ toolCall: LevelCodeToolCall<ToolName>;
6
+ }) => Promise<{
7
+ output: LevelCodeToolOutput<ToolName>;
8
+ }>;
9
+ export {};
@@ -0,0 +1,31 @@
1
+ import { toolParams } from '@levelcode/common/tools/list';
2
+ import z from 'zod/v4';
3
+ import type { SkillsMap } from '@levelcode/common/types/skill';
4
+ import type { CustomToolDefinitions, customToolDefinitionsSchema } from '@levelcode/common/util/file';
5
+ import type { ToolSet } from 'ai';
6
+ /**
7
+ * Ensures the inputSchema is a Zod schema. If it's a JSON Schema object
8
+ * (from SDK custom tools that were serialized), converts it to Zod.
9
+ */
10
+ export declare function ensureZodSchema(schema: z.ZodType | Record<string, unknown>): z.ZodType;
11
+ export declare function buildToolDescription(params: {
12
+ toolName: string;
13
+ schema: z.ZodType;
14
+ description?: string;
15
+ endsAgentStep: boolean;
16
+ exampleInputs?: any[];
17
+ }): string;
18
+ export declare const toolDescriptions: Record<keyof typeof toolParams, string>;
19
+ export declare const getToolsInstructions: (tools: readonly string[], additionalToolDefinitions: NonNullable<z.input<typeof customToolDefinitionsSchema>>, options?: {
20
+ availableSkillsXml?: string;
21
+ }) => string;
22
+ export declare const fullToolList: (toolNames: readonly string[], additionalToolDefinitions: CustomToolDefinitions, options?: {
23
+ availableSkillsXml?: string;
24
+ }) => string;
25
+ export declare const getShortToolInstructions: (toolNames: readonly string[], additionalToolDefinitions: CustomToolDefinitions) => string;
26
+ export declare function getToolSet(params: {
27
+ toolNames: string[];
28
+ additionalToolDefinitions: () => Promise<CustomToolDefinitions>;
29
+ agentTools: ToolSet;
30
+ skills: SkillsMap;
31
+ }): Promise<ToolSet>;
@@ -0,0 +1,33 @@
1
+ import { processStreamWithTools } from '../tool-stream-parser';
2
+ import type { CustomToolCall, ExecuteToolCallParams } from './tool-executor';
3
+ import type { AgentTemplate } from '../templates/types';
4
+ import type { LevelCodeToolCall } from '@levelcode/common/tools/list';
5
+ import type { Logger } from '@levelcode/common/types/contracts/logger';
6
+ import type { ParamsExcluding } from '@levelcode/common/types/function-params';
7
+ import type { Message, ToolMessage } from '@levelcode/common/types/messages/levelcode-message';
8
+ import type { PrintModeEvent } from '@levelcode/common/types/print-mode';
9
+ import type { Subgoal } from '@levelcode/common/types/session-state';
10
+ import type { ProjectFileContext } from '@levelcode/common/util/file';
11
+ export declare function processStream(params: {
12
+ agentContext: Record<string, Subgoal>;
13
+ agentTemplate: AgentTemplate;
14
+ ancestorRunIds: string[];
15
+ fileContext: ProjectFileContext;
16
+ fingerprintId: string;
17
+ fullResponse: string;
18
+ logger: Logger;
19
+ messages: Message[];
20
+ repoId: string | undefined;
21
+ runId: string;
22
+ signal: AbortSignal;
23
+ userId: string | undefined;
24
+ onCostCalculated: (credits: number) => Promise<void>;
25
+ onResponseChunk: (chunk: string | PrintModeEvent) => void;
26
+ } & Omit<ExecuteToolCallParams<any>, 'fileProcessingState' | 'fromHandleSteps' | 'fullResponse' | 'input' | 'previousToolCallFinished' | 'state' | 'toolCallId' | 'toolCalls' | 'toolName' | 'toolResults' | 'toolResultsToAddAfterStream'> & ParamsExcluding<typeof processStreamWithTools, 'processors' | 'defaultProcessor' | 'onError' | 'loggerOptions' | 'executeXmlToolCall'>): Promise<{
27
+ fullResponse: string;
28
+ fullResponseChunks: string[];
29
+ hadToolCallError: boolean;
30
+ messageId: string | null;
31
+ toolCalls: (CustomToolCall | LevelCodeToolCall)[];
32
+ toolResults: ToolMessage[];
33
+ }>;