@levelcode/sdk 0.0.4 → 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 (266) hide show
  1. package/dist/common/src/actions.d.ts +176 -0
  2. package/dist/common/src/analytics-core.d.ts +52 -0
  3. package/dist/common/src/analytics.d.ts +9 -0
  4. package/dist/common/src/browser-actions.d.ts +1200 -0
  5. package/dist/common/src/constants/agents.d.ts +47 -0
  6. package/dist/common/src/constants/analytics-events.d.ts +107 -0
  7. package/dist/common/src/constants/byok.d.ts +2 -0
  8. package/dist/common/src/constants/claude-oauth.d.ts +36 -0
  9. package/dist/common/src/constants/index.d.ts +4 -0
  10. package/dist/common/src/constants/knowledge.d.ts +21 -0
  11. package/dist/common/src/constants/limits.d.ts +14 -0
  12. package/dist/common/src/constants/model-config.d.ts +117 -0
  13. package/dist/common/src/constants/paths.d.ts +23 -0
  14. package/dist/common/src/constants/skills.d.ts +42 -0
  15. package/dist/common/src/constants/ui.d.ts +14 -0
  16. package/dist/common/src/env-ci.d.ts +22 -0
  17. package/dist/common/src/env-process.d.ts +28 -0
  18. package/dist/common/src/env-schema.d.ts +24 -0
  19. package/dist/common/src/env.d.ts +16 -0
  20. package/dist/common/src/mcp/client.d.ts +6 -0
  21. package/dist/common/src/old-constants.d.ts +10 -0
  22. package/dist/common/src/project-file-tree.d.ts +27 -0
  23. package/dist/common/src/templates/agent-validation.d.ts +48 -0
  24. package/dist/common/src/templates/initial-agents-dir/types/agent-definition.d.ts +296 -0
  25. package/dist/common/src/templates/initial-agents-dir/types/tools.d.ts +308 -0
  26. package/dist/common/src/templates/initial-agents-dir/types/util-types.d.ts +128 -0
  27. package/dist/common/src/testing/errors.d.ts +14 -0
  28. package/dist/common/src/testing/mock-modules.d.ts +11 -0
  29. package/dist/common/src/testing/mock-types.d.ts +97 -0
  30. package/dist/common/src/testing/mocks/analytics.d.ts +182 -0
  31. package/dist/common/src/testing/mocks/child-process.d.ts +29 -0
  32. package/dist/common/src/testing/mocks/crypto.d.ts +159 -0
  33. package/dist/common/src/testing/mocks/database.d.ts +197 -0
  34. package/dist/common/src/testing/mocks/fetch.d.ts +35 -0
  35. package/dist/common/src/testing/mocks/filesystem.d.ts +31 -0
  36. package/dist/common/src/testing/mocks/index.d.ts +25 -0
  37. package/dist/common/src/testing/mocks/logger.d.ts +35 -0
  38. package/dist/common/src/testing/mocks/stream.d.ts +203 -0
  39. package/dist/common/src/testing/mocks/timers.d.ts +27 -0
  40. package/dist/common/src/testing/mocks/tree-sitter.d.ts +58 -0
  41. package/dist/common/src/testing-env-process.d.ts +7 -0
  42. package/dist/common/src/tools/constants.d.ts +17 -0
  43. package/dist/common/src/tools/list.d.ts +1140 -0
  44. package/dist/common/src/tools/params/tool/add-message.d.ts +19 -0
  45. package/dist/common/src/tools/params/tool/add-subgoal.d.ts +26 -0
  46. package/dist/common/src/tools/params/tool/ask-user.d.ts +59 -0
  47. package/dist/common/src/tools/params/tool/browser-logs.d.ts +127 -0
  48. package/dist/common/src/tools/params/tool/code-search.d.ts +30 -0
  49. package/dist/common/src/tools/params/tool/create-plan.d.ts +30 -0
  50. package/dist/common/src/tools/params/tool/end-turn.d.ts +13 -0
  51. package/dist/common/src/tools/params/tool/find-files.d.ts +31 -0
  52. package/dist/common/src/tools/params/tool/glob.d.ts +26 -0
  53. package/dist/common/src/tools/params/tool/list-directory.d.ts +25 -0
  54. package/dist/common/src/tools/params/tool/lookup-agent-info.d.ts +13 -0
  55. package/dist/common/src/tools/params/tool/propose-str-replace.d.ts +40 -0
  56. package/dist/common/src/tools/params/tool/propose-write-file.d.ts +29 -0
  57. package/dist/common/src/tools/params/tool/read-docs.d.ts +19 -0
  58. package/dist/common/src/tools/params/tool/read-files.d.ts +35 -0
  59. package/dist/common/src/tools/params/tool/read-subtree.d.ts +40 -0
  60. package/dist/common/src/tools/params/tool/run-file-change-hooks.d.ts +63 -0
  61. package/dist/common/src/tools/params/tool/run-terminal-command.d.ts +88 -0
  62. package/dist/common/src/tools/params/tool/send-message.d.ts +26 -0
  63. package/dist/common/src/tools/params/tool/set-messages.d.ts +15 -0
  64. package/dist/common/src/tools/params/tool/set-output.d.ts +15 -0
  65. package/dist/common/src/tools/params/tool/skill.d.ts +28 -0
  66. package/dist/common/src/tools/params/tool/spawn-agent-inline.d.ts +17 -0
  67. package/dist/common/src/tools/params/tool/spawn-agents.d.ts +26 -0
  68. package/dist/common/src/tools/params/tool/str-replace.d.ts +43 -0
  69. package/dist/common/src/tools/params/tool/suggest-followups.d.ts +26 -0
  70. package/dist/common/src/tools/params/tool/task-completed.d.ts +13 -0
  71. package/dist/common/src/tools/params/tool/task-create.d.ts +18 -0
  72. package/dist/common/src/tools/params/tool/task-get.d.ts +15 -0
  73. package/dist/common/src/tools/params/tool/task-list.d.ts +13 -0
  74. package/dist/common/src/tools/params/tool/task-update.d.ts +23 -0
  75. package/dist/common/src/tools/params/tool/team-create.d.ts +17 -0
  76. package/dist/common/src/tools/params/tool/team-delete.d.ts +13 -0
  77. package/dist/common/src/tools/params/tool/think-deeply.d.ts +15 -0
  78. package/dist/common/src/tools/params/tool/update-subgoal.d.ts +25 -0
  79. package/dist/common/src/tools/params/tool/web-search.d.ts +25 -0
  80. package/dist/common/src/tools/params/tool/write-file.d.ts +31 -0
  81. package/dist/common/src/tools/params/tool/write-todos.d.ts +18 -0
  82. package/dist/common/src/tools/params/utils.d.ts +35 -0
  83. package/dist/common/src/tools/utils.d.ts +4 -0
  84. package/dist/common/src/types/agent-template.d.ts +156 -0
  85. package/dist/common/src/types/contracts/agent-runtime.d.ts +36 -0
  86. package/dist/common/src/types/contracts/analytics.d.ts +8 -0
  87. package/dist/common/src/types/contracts/billing.d.ts +40 -0
  88. package/dist/common/src/types/contracts/client.d.ts +45 -0
  89. package/dist/common/src/types/contracts/database.d.ts +80 -0
  90. package/dist/common/src/types/contracts/env.d.ts +150 -0
  91. package/dist/common/src/types/contracts/llm.d.ts +102 -0
  92. package/dist/common/src/types/contracts/logger.d.ts +8 -0
  93. package/dist/common/src/types/dynamic-agent-template.d.ts +227 -0
  94. package/dist/common/src/types/filesystem.d.ts +6 -0
  95. package/dist/common/src/types/function-params.d.ts +15 -0
  96. package/dist/common/src/types/grant.d.ts +2 -0
  97. package/dist/common/src/types/json.d.ts +9 -0
  98. package/dist/common/src/types/mcp.d.ts +31 -0
  99. package/dist/common/src/types/messages/content-part.d.ts +46 -0
  100. package/dist/common/src/types/messages/data-content.d.ts +3 -0
  101. package/dist/common/src/types/messages/levelcode-message.d.ts +37 -0
  102. package/dist/common/src/types/messages/provider-metadata.d.ts +3 -0
  103. package/dist/common/src/types/print-mode.d.ts +155 -0
  104. package/dist/common/src/types/session-state.d.ts +94 -0
  105. package/dist/common/src/types/skill.d.ts +31 -0
  106. package/dist/common/src/types/source.d.ts +8 -0
  107. package/dist/common/src/types/spawn.d.ts +8 -0
  108. package/dist/common/src/types/team-config.d.ts +39 -0
  109. package/dist/common/src/types/team-protocol.d.ts +64 -0
  110. package/dist/common/src/util/agent-id-parsing.d.ts +22 -0
  111. package/dist/common/src/util/agent-name-normalization.d.ts +12 -0
  112. package/dist/common/src/util/array.d.ts +6 -0
  113. package/dist/common/src/util/credentials.d.ts +11 -0
  114. package/dist/common/src/util/error.d.ts +128 -0
  115. package/dist/common/src/util/file.d.ts +133 -0
  116. package/dist/common/src/util/format-code-search.d.ts +16 -0
  117. package/dist/common/src/util/lru-cache.d.ts +30 -0
  118. package/dist/common/src/util/messages.d.ts +46 -0
  119. package/dist/common/src/util/model-utils.d.ts +8 -0
  120. package/dist/common/src/util/object.d.ts +22 -0
  121. package/dist/common/src/util/promise.d.ts +16 -0
  122. package/dist/common/src/util/random.d.ts +1 -0
  123. package/dist/common/src/util/skills.d.ts +5 -0
  124. package/dist/common/src/util/stop-sequence.d.ts +14 -0
  125. package/dist/common/src/util/string.d.ts +82 -0
  126. package/dist/common/src/util/xml.d.ts +12 -0
  127. package/dist/common/src/util/zod-schema.d.ts +5 -0
  128. package/dist/common/src/utils/team-fs.d.ts +17 -0
  129. package/dist/index.cjs +1958 -917
  130. package/dist/index.cjs.map +25 -10
  131. package/dist/index.mjs +2392 -1351
  132. package/dist/index.mjs.map +25 -10
  133. package/dist/packages/agent-runtime/src/constants.d.ts +1 -0
  134. package/dist/packages/agent-runtime/src/fast-rewrite.d.ts +45 -0
  135. package/dist/packages/agent-runtime/src/find-files/request-files-prompt.d.ts +71 -0
  136. package/dist/packages/agent-runtime/src/generate-diffs-prompt.d.ts +53 -0
  137. package/dist/packages/agent-runtime/src/get-file-reading-updates.d.ts +8 -0
  138. package/dist/packages/agent-runtime/src/llm-api/claude.d.ts +5 -0
  139. package/dist/packages/agent-runtime/src/llm-api/context7-api.d.ts +55 -0
  140. package/dist/packages/agent-runtime/src/llm-api/gemini-with-fallbacks.d.ts +40 -0
  141. package/dist/packages/agent-runtime/src/llm-api/levelcode-web-api.d.ts +49 -0
  142. package/dist/packages/agent-runtime/src/llm-api/relace-api.d.ts +16 -0
  143. package/dist/packages/agent-runtime/src/main-prompt.d.ts +29 -0
  144. package/dist/packages/agent-runtime/src/mcp-constants.d.ts +12 -0
  145. package/dist/packages/agent-runtime/src/mcp.d.ts +10 -0
  146. package/dist/packages/agent-runtime/src/process-file-block.d.ts +56 -0
  147. package/dist/packages/agent-runtime/src/process-str-replace.d.ts +21 -0
  148. package/dist/packages/agent-runtime/src/prompt-agent-stream.d.ts +28 -0
  149. package/dist/packages/agent-runtime/src/run-agent-step.d.ts +73 -0
  150. package/dist/packages/agent-runtime/src/run-programmatic-step.d.ts +40 -0
  151. package/dist/packages/agent-runtime/src/system-prompt/prompts.d.ts +19 -0
  152. package/dist/packages/agent-runtime/src/system-prompt/search-system-prompt.d.ts +14 -0
  153. package/dist/packages/agent-runtime/src/system-prompt/truncate-file-tree.d.ts +13 -0
  154. package/dist/packages/agent-runtime/src/templates/agent-registry.d.ts +35 -0
  155. package/dist/packages/agent-runtime/src/templates/prompts.d.ts +35 -0
  156. package/dist/packages/agent-runtime/src/templates/strings.d.ts +32 -0
  157. package/dist/packages/agent-runtime/src/templates/types.d.ts +13 -0
  158. package/dist/packages/agent-runtime/src/tool-stream-parser.d.ts +31 -0
  159. package/dist/packages/agent-runtime/src/tools/handlers/handler-function-type.d.ts +51 -0
  160. package/dist/packages/agent-runtime/src/tools/handlers/list.d.ts +347 -0
  161. package/dist/packages/agent-runtime/src/tools/handlers/tool/add-message.d.ts +9 -0
  162. package/dist/packages/agent-runtime/src/tools/handlers/tool/add-subgoal.d.ts +9 -0
  163. package/dist/packages/agent-runtime/src/tools/handlers/tool/ask-user.d.ts +10 -0
  164. package/dist/packages/agent-runtime/src/tools/handlers/tool/browser-logs.d.ts +8 -0
  165. package/dist/packages/agent-runtime/src/tools/handlers/tool/code-search.d.ts +8 -0
  166. package/dist/packages/agent-runtime/src/tools/handlers/tool/create-plan.d.ts +13 -0
  167. package/dist/packages/agent-runtime/src/tools/handlers/tool/end-turn.d.ts +7 -0
  168. package/dist/packages/agent-runtime/src/tools/handlers/tool/find-files.d.ts +27 -0
  169. package/dist/packages/agent-runtime/src/tools/handlers/tool/glob.d.ts +10 -0
  170. package/dist/packages/agent-runtime/src/tools/handlers/tool/list-directory.d.ts +10 -0
  171. package/dist/packages/agent-runtime/src/tools/handlers/tool/lookup-agent-info.d.ts +14 -0
  172. package/dist/packages/agent-runtime/src/tools/handlers/tool/propose-str-replace.d.ts +15 -0
  173. package/dist/packages/agent-runtime/src/tools/handlers/tool/propose-write-file.d.ts +7 -0
  174. package/dist/packages/agent-runtime/src/tools/handlers/tool/proposed-content-store.d.ts +27 -0
  175. package/dist/packages/agent-runtime/src/tools/handlers/tool/read-docs.d.ts +21 -0
  176. package/dist/packages/agent-runtime/src/tools/handlers/tool/read-files.d.ts +13 -0
  177. package/dist/packages/agent-runtime/src/tools/handlers/tool/read-subtree.d.ts +13 -0
  178. package/dist/packages/agent-runtime/src/tools/handlers/tool/run-file-change-hooks.d.ts +10 -0
  179. package/dist/packages/agent-runtime/src/tools/handlers/tool/run-terminal-command.d.ts +10 -0
  180. package/dist/packages/agent-runtime/src/tools/handlers/tool/send-message.d.ts +10 -0
  181. package/dist/packages/agent-runtime/src/tools/handlers/tool/set-messages.d.ts +9 -0
  182. package/dist/packages/agent-runtime/src/tools/handlers/tool/set-output.d.ts +18 -0
  183. package/dist/packages/agent-runtime/src/tools/handlers/tool/skill.d.ts +11 -0
  184. package/dist/packages/agent-runtime/src/tools/handlers/tool/spawn-agent-inline.d.ts +29 -0
  185. package/dist/packages/agent-runtime/src/tools/handlers/tool/spawn-agent-utils.d.ts +100 -0
  186. package/dist/packages/agent-runtime/src/tools/handlers/tool/spawn-agents.d.ts +35 -0
  187. package/dist/packages/agent-runtime/src/tools/handlers/tool/str-replace.d.ts +16 -0
  188. package/dist/packages/agent-runtime/src/tools/handlers/tool/suggest-followups.d.ts +9 -0
  189. package/dist/packages/agent-runtime/src/tools/handlers/tool/task-completed.d.ts +7 -0
  190. package/dist/packages/agent-runtime/src/tools/handlers/tool/task-create.d.ts +9 -0
  191. package/dist/packages/agent-runtime/src/tools/handlers/tool/task-get.d.ts +9 -0
  192. package/dist/packages/agent-runtime/src/tools/handlers/tool/task-list.d.ts +9 -0
  193. package/dist/packages/agent-runtime/src/tools/handlers/tool/task-update.d.ts +9 -0
  194. package/dist/packages/agent-runtime/src/tools/handlers/tool/team-create.d.ts +10 -0
  195. package/dist/packages/agent-runtime/src/tools/handlers/tool/team-delete.d.ts +10 -0
  196. package/dist/packages/agent-runtime/src/tools/handlers/tool/think-deeply.d.ts +9 -0
  197. package/dist/packages/agent-runtime/src/tools/handlers/tool/update-subgoal.d.ts +11 -0
  198. package/dist/packages/agent-runtime/src/tools/handlers/tool/web-search.d.ts +22 -0
  199. package/dist/packages/agent-runtime/src/tools/handlers/tool/write-file.d.ts +49 -0
  200. package/dist/packages/agent-runtime/src/tools/handlers/tool/write-todos.d.ts +9 -0
  201. package/dist/packages/agent-runtime/src/tools/prompts.d.ts +31 -0
  202. package/dist/packages/agent-runtime/src/tools/stream-parser.d.ts +33 -0
  203. package/dist/packages/agent-runtime/src/tools/tool-executor.d.ts +87 -0
  204. package/dist/packages/agent-runtime/src/util/agent-output.d.ts +3 -0
  205. package/dist/packages/agent-runtime/src/util/messages.d.ts +68 -0
  206. package/dist/packages/agent-runtime/src/util/parse-tool-calls-from-text.d.ts +38 -0
  207. package/dist/packages/agent-runtime/src/util/render-read-files-result.d.ts +15 -0
  208. package/dist/packages/agent-runtime/src/util/simplify-tool-results.d.ts +7 -0
  209. package/dist/packages/agent-runtime/src/util/stream-xml-parser.d.ts +34 -0
  210. package/dist/packages/agent-runtime/src/util/token-counter.d.ts +3 -0
  211. package/dist/packages/code-map/src/index.d.ts +3 -0
  212. package/dist/packages/code-map/src/init-node.d.ts +4 -0
  213. package/dist/packages/code-map/src/languages.d.ts +36 -0
  214. package/dist/packages/code-map/src/parse.d.ts +21 -0
  215. package/dist/packages/code-map/src/types.d.ts +8 -0
  216. package/dist/packages/code-map/src/utils.d.ts +1 -0
  217. package/dist/sdk/src/__tests__/client.test.d.ts +1 -0
  218. package/dist/sdk/src/__tests__/code-search.test.d.ts +1 -0
  219. package/dist/sdk/src/__tests__/credentials.test.d.ts +1 -0
  220. package/dist/sdk/src/__tests__/database.test.d.ts +1 -0
  221. package/dist/sdk/src/__tests__/env.test.d.ts +1 -0
  222. package/dist/sdk/src/__tests__/error-utils.test.d.ts +1 -0
  223. package/dist/sdk/src/__tests__/initial-session-state.test.d.ts +1 -0
  224. package/dist/sdk/src/__tests__/knowledge-file-selection.test.d.ts +1 -0
  225. package/dist/sdk/src/__tests__/load-agents.test.d.ts +1 -0
  226. package/dist/sdk/src/__tests__/load-mcp-config.test.d.ts +1 -0
  227. package/dist/sdk/src/__tests__/model-provider.test.d.ts +1 -0
  228. package/dist/sdk/src/__tests__/read-files.test.d.ts +1 -0
  229. package/dist/sdk/src/__tests__/run-cancellation.test.d.ts +1 -0
  230. package/dist/sdk/src/__tests__/run-file-filter.test.d.ts +1 -0
  231. package/dist/sdk/src/__tests__/run-handle-event.test.d.ts +1 -0
  232. package/dist/sdk/src/__tests__/run.integration.test.d.ts +1 -0
  233. package/dist/sdk/src/__tests__/user-knowledge-files.test.d.ts +1 -0
  234. package/dist/sdk/src/__tests__/validate-agents.test.d.ts +1 -0
  235. package/dist/sdk/src/agents/load-agents.d.ts +106 -0
  236. package/dist/sdk/src/agents/load-mcp-config.d.ts +69 -0
  237. package/dist/sdk/src/client.d.ts +33 -0
  238. package/dist/sdk/src/constants.d.ts +4 -0
  239. package/dist/sdk/src/credentials.d.ts +58 -0
  240. package/dist/sdk/src/custom-tool.d.ts +32 -0
  241. package/dist/sdk/src/env.d.ts +31 -0
  242. package/dist/sdk/src/error-utils.d.ts +55 -0
  243. package/dist/sdk/src/impl/__tests__/prompt-result.test.d.ts +1 -0
  244. package/dist/sdk/src/impl/agent-runtime.d.ts +8 -0
  245. package/dist/sdk/src/impl/database.d.ts +7 -0
  246. package/dist/sdk/src/impl/llm.d.ts +8 -0
  247. package/dist/sdk/src/impl/model-provider.d.ts +61 -0
  248. package/dist/sdk/src/index.d.ts +41 -0
  249. package/dist/sdk/src/native/ripgrep.d.ts +7 -0
  250. package/dist/sdk/src/retry-config.d.ts +46 -0
  251. package/dist/sdk/src/run-state.d.ts +81 -0
  252. package/dist/sdk/src/run.d.ts +79 -0
  253. package/dist/sdk/src/skills/load-skills.d.ts +42 -0
  254. package/dist/sdk/src/testing/env.d.ts +5 -0
  255. package/dist/sdk/src/tools/change-file.d.ts +7 -0
  256. package/dist/sdk/src/tools/code-search.d.ts +13 -0
  257. package/dist/sdk/src/tools/glob.d.ts +8 -0
  258. package/dist/sdk/src/tools/index.d.ts +16 -0
  259. package/dist/sdk/src/tools/list-directory.d.ts +7 -0
  260. package/dist/sdk/src/tools/read-files.d.ts +16 -0
  261. package/dist/sdk/src/tools/run-file-change-hooks.d.ts +4 -0
  262. package/dist/sdk/src/tools/run-terminal-command.d.ts +8 -0
  263. package/dist/sdk/src/types/env.d.ts +30 -0
  264. package/dist/sdk/src/validate-agents.d.ts +45 -0
  265. package/package.json +1 -1
  266. package/dist/index.d.ts +0 -3443
@@ -0,0 +1,14 @@
1
+ import type { Logger } from '@levelcode/common/types/contracts/logger';
2
+ import type { ProjectFileContext } from '@levelcode/common/util/file';
3
+ export declare function getSearchSystemPrompt(params: {
4
+ fileContext: ProjectFileContext;
5
+ messagesTokens: number;
6
+ logger: Logger;
7
+ options: {
8
+ agentStepId: string;
9
+ clientSessionId: string;
10
+ fingerprintId: string;
11
+ userInputId: string;
12
+ userId: string | undefined;
13
+ };
14
+ }): string;
@@ -0,0 +1,13 @@
1
+ import type { Logger } from '@levelcode/common/types/contracts/logger';
2
+ import type { ProjectFileContext } from '@levelcode/common/util/file';
3
+ type TruncationLevel = 'none' | 'unimportant-files' | 'tokens' | 'depth-based';
4
+ export declare const truncateFileTreeBasedOnTokenBudget: (params: {
5
+ fileContext: ProjectFileContext;
6
+ tokenBudget: number;
7
+ logger: Logger;
8
+ }) => {
9
+ printedTree: string;
10
+ tokenCount: number;
11
+ truncationLevel: TruncationLevel;
12
+ };
13
+ export {};
@@ -0,0 +1,35 @@
1
+ import type { DynamicAgentValidationError } from '@levelcode/common/templates/agent-validation';
2
+ import type { AgentTemplate } from '@levelcode/common/types/agent-template';
3
+ import type { FetchAgentFromDatabaseFn } from '@levelcode/common/types/contracts/database';
4
+ import type { Logger } from '@levelcode/common/types/contracts/logger';
5
+ import type { ParamsExcluding } from '@levelcode/common/types/function-params';
6
+ import type { ProjectFileContext } from '@levelcode/common/util/file';
7
+ /**
8
+ * Single function to look up an agent template with clear priority order:
9
+ * 1. localAgentTemplates (dynamic agents + static templates)
10
+ * 2. Database cache
11
+ * 3. Database query
12
+ */
13
+ export declare function getAgentTemplate(params: {
14
+ agentId: string;
15
+ localAgentTemplates: Record<string, AgentTemplate>;
16
+ fetchAgentFromDatabase: FetchAgentFromDatabaseFn;
17
+ databaseAgentCache: Map<string, AgentTemplate | null>;
18
+ logger: Logger;
19
+ } & ParamsExcluding<FetchAgentFromDatabaseFn, 'parsedAgentId'>): Promise<AgentTemplate | null>;
20
+ /**
21
+ * Assemble local agent templates from fileContext + static templates
22
+ */
23
+ export declare function assembleLocalAgentTemplates(params: {
24
+ fileContext: ProjectFileContext;
25
+ logger: Logger;
26
+ }): {
27
+ agentTemplates: Record<string, AgentTemplate>;
28
+ validationErrors: DynamicAgentValidationError[];
29
+ };
30
+ /**
31
+ * Clear the database agent cache (useful for testing)
32
+ */
33
+ export declare function clearDatabaseCache(params: {
34
+ databaseAgentCache: Map<string, AgentTemplate | null>;
35
+ }): void;
@@ -0,0 +1,35 @@
1
+ import { z } from 'zod/v4';
2
+ import { getAgentTemplate } from './agent-registry';
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 { AgentTemplateType } from '@levelcode/common/types/session-state';
7
+ import type { ToolSet } from 'ai';
8
+ /**
9
+ * Gets the short agent name from a fully qualified agent ID.
10
+ * E.g., 'levelcode/file-picker@1.0.0' -> 'file-picker'
11
+ */
12
+ export declare function getAgentShortName(agentType: AgentTemplateType): string;
13
+ /**
14
+ * Builds an input schema for an agent tool with prompt and params as top-level fields.
15
+ * This matches the spawn_agents schema structure: { prompt?: string, params?: object }
16
+ */
17
+ export declare function buildAgentToolInputSchema(agentTemplate: AgentTemplate): z.ZodType;
18
+ /**
19
+ * Builds AI SDK tool definitions for spawnable agents.
20
+ * These tools allow the model to call agents directly as tool calls.
21
+ */
22
+ export declare function buildAgentToolSet(params: {
23
+ spawnableAgents: AgentTemplateType[];
24
+ agentTemplates: Record<string, AgentTemplate>;
25
+ logger: Logger;
26
+ } & ParamsExcluding<typeof getAgentTemplate, 'agentId' | 'localAgentTemplates'>): Promise<ToolSet>;
27
+ /**
28
+ * Builds the full spawnable agents specification for subagent instructions.
29
+ * This is used when inheritSystemPrompt is true to tell subagents which agents they can spawn.
30
+ */
31
+ export declare function buildFullSpawnableAgentsSpec(params: {
32
+ spawnableAgents: AgentTemplateType[];
33
+ agentTemplates: Record<string, AgentTemplate>;
34
+ logger: Logger;
35
+ } & ParamsExcluding<typeof getAgentTemplate, 'agentId' | 'localAgentTemplates'>): Promise<string>;
@@ -0,0 +1,32 @@
1
+ import { getAgentTemplate } from './agent-registry';
2
+ import { buildFullSpawnableAgentsSpec } from './prompts';
3
+ import type { AgentTemplate } from './types';
4
+ import type { Logger } from '@levelcode/common/types/contracts/logger';
5
+ import type { ParamsExcluding } from '@levelcode/common/types/function-params';
6
+ import type { AgentState, AgentTemplateType } from '@levelcode/common/types/session-state';
7
+ import type { CustomToolDefinitions, ProjectFileContext } from '@levelcode/common/util/file';
8
+ export declare function formatPrompt(params: {
9
+ prompt: string;
10
+ fileContext: ProjectFileContext;
11
+ agentState: AgentState;
12
+ tools: readonly string[];
13
+ spawnableAgents: AgentTemplateType[];
14
+ agentTemplates: Record<string, AgentTemplate>;
15
+ intitialAgentPrompt?: string;
16
+ additionalToolDefinitions: () => Promise<ProjectFileContext['customToolDefinitions']>;
17
+ logger: Logger;
18
+ } & ParamsExcluding<typeof getAgentTemplate, 'agentId' | 'localAgentTemplates'>): Promise<string>;
19
+ type StringField = 'systemPrompt' | 'instructionsPrompt' | 'stepPrompt';
20
+ export declare function getAgentPrompt<T extends StringField>(params: {
21
+ agentTemplate: AgentTemplate;
22
+ promptType: {
23
+ type: T;
24
+ };
25
+ fileContext: ProjectFileContext;
26
+ agentState: AgentState;
27
+ agentTemplates: Record<string, AgentTemplate>;
28
+ additionalToolDefinitions: () => Promise<CustomToolDefinitions>;
29
+ logger: Logger;
30
+ useParentTools?: boolean;
31
+ } & ParamsExcluding<typeof formatPrompt, 'prompt' | 'tools' | 'spawnableAgents'> & ParamsExcluding<typeof buildFullSpawnableAgentsSpec, 'spawnableAgents' | 'agentTemplates'>): Promise<string | undefined>;
32
+ export {};
@@ -0,0 +1,13 @@
1
+ import type { ToolName } from '@levelcode/common/tools/constants';
2
+ import type { AgentTemplate, StepGenerator, StepHandler } from '@levelcode/common/types/agent-template';
3
+ import type { AgentTemplateType } from '@levelcode/common/types/session-state';
4
+ export type { AgentTemplate, StepGenerator, StepHandler };
5
+ declare const placeholderNames: readonly ["AGENT_NAME", "FILE_TREE_PROMPT_SMALL", "FILE_TREE_PROMPT", "FILE_TREE_PROMPT_LARGE", "GIT_CHANGES_PROMPT", "INITIAL_AGENT_PROMPT", "KNOWLEDGE_FILES_CONTENTS", "PROJECT_ROOT", "REMAINING_STEPS", "SYSTEM_INFO_PROMPT", "USER_CWD", "USER_INPUT_PROMPT"];
6
+ type PlaceholderType<T extends typeof placeholderNames> = {
7
+ [K in T[number]]: `{LEVELCODE_${K}}`;
8
+ };
9
+ export declare const PLACEHOLDER: PlaceholderType<typeof placeholderNames>;
10
+ export type PlaceholderValue = (typeof PLACEHOLDER)[keyof typeof PLACEHOLDER];
11
+ export declare const placeholderValues: ("{LEVELCODE_AGENT_NAME}" | "{LEVELCODE_FILE_TREE_PROMPT_SMALL}" | "{LEVELCODE_FILE_TREE_PROMPT}" | "{LEVELCODE_FILE_TREE_PROMPT_LARGE}" | "{LEVELCODE_GIT_CHANGES_PROMPT}" | "{LEVELCODE_INITIAL_AGENT_PROMPT}" | "{LEVELCODE_KNOWLEDGE_FILES_CONTENTS}" | "{LEVELCODE_PROJECT_ROOT}" | "{LEVELCODE_REMAINING_STEPS}" | "{LEVELCODE_SYSTEM_INFO_PROMPT}" | "{LEVELCODE_USER_CWD}" | "{LEVELCODE_USER_INPUT_PROMPT}")[];
12
+ export declare const baseAgentToolNames: ToolName[];
13
+ export declare const baseAgentSubagents: AgentTemplateType[];
@@ -0,0 +1,31 @@
1
+ import type { Model } from '@levelcode/common/old-constants';
2
+ import type { TrackEventFn } from '@levelcode/common/types/contracts/analytics';
3
+ import type { StreamChunk } from '@levelcode/common/types/contracts/llm';
4
+ import type { Logger } from '@levelcode/common/types/contracts/logger';
5
+ import type { PrintModeError, PrintModeText } from '@levelcode/common/types/print-mode';
6
+ import type { PromptResult } from '@levelcode/common/util/error';
7
+ export declare function processStreamWithTools(params: {
8
+ stream: AsyncGenerator<StreamChunk, PromptResult<string | null>>;
9
+ processors: Record<string, {
10
+ onTagStart: (tagName: string, attributes: Record<string, string>) => void;
11
+ onTagEnd: (tagName: string, params: Record<string, any>) => void;
12
+ }>;
13
+ defaultProcessor: (toolName: string) => {
14
+ onTagStart: (tagName: string, attributes: Record<string, string>) => void;
15
+ onTagEnd: (tagName: string, params: Record<string, any>) => void;
16
+ };
17
+ onError: (tagName: string, errorMessage: string) => void;
18
+ onResponseChunk: (chunk: PrintModeText | PrintModeError) => void;
19
+ logger: Logger;
20
+ loggerOptions?: {
21
+ userId?: string;
22
+ model?: Model;
23
+ agentName?: string;
24
+ };
25
+ trackEvent: TrackEventFn;
26
+ executeXmlToolCall: (params: {
27
+ toolCallId: string;
28
+ toolName: string;
29
+ input: Record<string, unknown>;
30
+ }) => Promise<void>;
31
+ }): AsyncGenerator<StreamChunk, PromptResult<string | null>>;
@@ -0,0 +1,51 @@
1
+ import type { FileProcessingState } from './tool/write-file';
2
+ import type { ToolName } from '@levelcode/common/tools/constants';
3
+ import type { ClientToolCall, ClientToolName, LevelCodeToolCall, LevelCodeToolMessage, LevelCodeToolOutput } from '@levelcode/common/tools/list';
4
+ import type { AgentTemplate } from '@levelcode/common/types/agent-template';
5
+ import type { AgentRuntimeDeps, AgentRuntimeScopedDeps } from '@levelcode/common/types/contracts/agent-runtime';
6
+ import type { TrackEventFn } from '@levelcode/common/types/contracts/analytics';
7
+ import type { SendSubagentChunkFn } from '@levelcode/common/types/contracts/client';
8
+ import type { Logger } from '@levelcode/common/types/contracts/logger';
9
+ import type { PrintModeEvent } from '@levelcode/common/types/print-mode';
10
+ import type { AgentState, Subgoal } from '@levelcode/common/types/session-state';
11
+ import type { ProjectFileContext } from '@levelcode/common/util/file';
12
+ import type { ToolSet } from 'ai';
13
+ type PresentOrAbsent<K extends PropertyKey, V> = {
14
+ [P in K]: V;
15
+ } | {
16
+ [P in K]: never;
17
+ };
18
+ export type LevelCodeToolHandlerFunction<T extends ToolName = ToolName> = (params: {
19
+ previousToolCallFinished: Promise<void>;
20
+ toolCall: LevelCodeToolCall<T>;
21
+ agentContext: Record<string, Subgoal>;
22
+ agentState: AgentState;
23
+ agentStepId: string;
24
+ agentTemplate: AgentTemplate;
25
+ ancestorRunIds: string[];
26
+ apiKey: string;
27
+ clientSessionId: string;
28
+ fetch: typeof globalThis.fetch;
29
+ fileContext: ProjectFileContext;
30
+ fileProcessingState: FileProcessingState;
31
+ fingerprintId: string;
32
+ fullResponse: string;
33
+ localAgentTemplates: Record<string, AgentTemplate>;
34
+ logger: Logger;
35
+ prompt: string | undefined;
36
+ repoId: string | undefined;
37
+ repoUrl: string | undefined;
38
+ runId: string;
39
+ sendSubagentChunk: SendSubagentChunkFn;
40
+ signal: AbortSignal;
41
+ system: string;
42
+ tools: ToolSet;
43
+ trackEvent: TrackEventFn;
44
+ userId: string | undefined;
45
+ userInputId: string;
46
+ writeToClient: (chunk: string | PrintModeEvent) => void;
47
+ } & PresentOrAbsent<'requestClientToolCall', (toolCall: ClientToolCall<T extends ClientToolName ? T : never>) => Promise<LevelCodeToolOutput<T extends ClientToolName ? T : never>>> & AgentRuntimeDeps & AgentRuntimeScopedDeps) => Promise<{
48
+ output: LevelCodeToolMessage<T>['content'];
49
+ creditsUsed?: number;
50
+ }>;
51
+ export {};
@@ -0,0 +1,347 @@
1
+ import type { LevelCodeToolHandlerFunction } from './handler-function-type';
2
+ /**
3
+ * Each value in this record that:
4
+ * - Will be called immediately once it is parsed out of the stream.
5
+ * - Takes as argument
6
+ * - The previous tool call (to await)
7
+ * - The LevelCodeToolCall for the current tool
8
+ * - Any additional arguments for the tool
9
+ * - Returns a promise that will be awaited
10
+ */
11
+ export declare const levelcodeToolHandlers: {
12
+ add_message: (params: {
13
+ previousToolCallFinished: Promise<void>;
14
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"add_message">;
15
+ agentState: import("@levelcode/common/types/session-state").AgentState;
16
+ }) => Promise<{
17
+ output: import("src").LevelCodeToolOutput<"add_message">;
18
+ }>;
19
+ add_subgoal: (params: {
20
+ previousToolCallFinished: Promise<void>;
21
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"add_subgoal">;
22
+ agentContext: Record<string, import("@levelcode/common/types/session-state").Subgoal>;
23
+ }) => Promise<{
24
+ output: import("src").LevelCodeToolOutput<"add_subgoal">;
25
+ }>;
26
+ ask_user: (params: {
27
+ previousToolCallFinished: Promise<void>;
28
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"ask_user">;
29
+ requestClientToolCall: (toolCall: any) => Promise<any>;
30
+ }) => Promise<{
31
+ output: import("src").LevelCodeToolOutput<"ask_user">;
32
+ }>;
33
+ browser_logs: (params: {
34
+ previousToolCallFinished: Promise<void>;
35
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"browser_logs">;
36
+ requestClientToolCall: (toolCall: import("src").ClientToolCall<"browser_logs">) => Promise<import("src").LevelCodeToolOutput<"browser_logs">>;
37
+ }) => Promise<{
38
+ output: import("src").LevelCodeToolOutput<"browser_logs">;
39
+ }>;
40
+ code_search: (params: {
41
+ previousToolCallFinished: Promise<void>;
42
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"code_search">;
43
+ requestClientToolCall: (toolCall: import("src").ClientToolCall<"code_search">) => Promise<import("src").LevelCodeToolOutput<"code_search">>;
44
+ }) => Promise<{
45
+ output: import("src").LevelCodeToolOutput<"code_search">;
46
+ }>;
47
+ create_plan: (params: {
48
+ previousToolCallFinished: Promise<void>;
49
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"create_plan">;
50
+ fileProcessingState: import("./tool/write-file").FileProcessingState;
51
+ logger: import("@levelcode/common/types/contracts/logger").Logger;
52
+ requestClientToolCall: (toolCall: import("src").ClientToolCall<"create_plan">) => Promise<import("src").LevelCodeToolOutput<"create_plan">>;
53
+ writeToClient: (chunk: string) => void;
54
+ }) => Promise<{
55
+ output: import("src").LevelCodeToolOutput<"create_plan">;
56
+ }>;
57
+ end_turn: (params: {
58
+ previousToolCallFinished: Promise<any>;
59
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"end_turn">;
60
+ }) => Promise<{
61
+ output: import("src").LevelCodeToolOutput<"end_turn">;
62
+ }>;
63
+ find_files: (params: {
64
+ previousToolCallFinished: Promise<any>;
65
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"find_files">;
66
+ logger: import("@levelcode/common/types/contracts/logger").Logger;
67
+ agentState: import("@levelcode/common/types/session-state").AgentState;
68
+ agentStepId: string;
69
+ clientSessionId: string;
70
+ fileContext: import("@levelcode/common/util/file").ProjectFileContext;
71
+ fingerprintId: string;
72
+ repoId: string | undefined;
73
+ userId: string | undefined;
74
+ userInputId: string;
75
+ } & import("@levelcode/common/types/function-params").ParamsExcluding<typeof import("../../find-files/request-files-prompt").requestRelevantFiles, "messages" | "system" | "assistantPrompt"> & import("@levelcode/common/types/function-params").ParamsExcluding<(params: {
76
+ requestFiles: import("@levelcode/common/types/contracts/client").RequestFilesFn;
77
+ } & import("@levelcode/common/types/function-params").ParamsOf<typeof import("../../find-files/request-files-prompt").requestRelevantFilesForTraining>) => Promise<void>, "messages" | "system" | "assistantPrompt"> & import("@levelcode/common/types/function-params").ParamsExcluding<typeof import("../../get-file-reading-updates").getFileReadingUpdates, "requestedFiles">) => Promise<{
78
+ output: import("src").LevelCodeToolOutput<"find_files">;
79
+ }>;
80
+ glob: (params: {
81
+ previousToolCallFinished: Promise<void>;
82
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"glob">;
83
+ requestClientToolCall: (toolCall: import("src").ClientToolCall<"glob">) => Promise<import("src").LevelCodeToolOutput<"glob">>;
84
+ }) => Promise<{
85
+ output: import("src").LevelCodeToolOutput<"glob">;
86
+ }>;
87
+ list_directory: (params: {
88
+ previousToolCallFinished: Promise<void>;
89
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"list_directory">;
90
+ requestClientToolCall: (toolCall: import("src").ClientToolCall<"list_directory">) => Promise<import("src").LevelCodeToolOutput<"list_directory">>;
91
+ }) => Promise<{
92
+ output: import("src").LevelCodeToolOutput<"list_directory">;
93
+ }>;
94
+ lookup_agent_info: (params: {
95
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"lookup_agent_info">;
96
+ previousToolCallFinished: Promise<void>;
97
+ apiKey: string;
98
+ databaseAgentCache: Map<string, import("@levelcode/common/types/agent-template").AgentTemplate | null>;
99
+ localAgentTemplates: Record<string, import("@levelcode/common/types/agent-template").AgentTemplate>;
100
+ logger: import("@levelcode/common/types/agent-template").Logger;
101
+ fetchAgentFromDatabase: import("@levelcode/common/types/contracts/database").FetchAgentFromDatabaseFn;
102
+ }) => Promise<{
103
+ output: import("src").LevelCodeToolOutput<"lookup_agent_info">;
104
+ }>;
105
+ propose_str_replace: (params: {
106
+ previousToolCallFinished: Promise<void>;
107
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"propose_str_replace">;
108
+ logger: import("@levelcode/common/types/contracts/logger").Logger;
109
+ agentState: import("@levelcode/common/types/session-state").AgentState;
110
+ runId: string;
111
+ requestOptionalFile: import("@levelcode/common/types/contracts/client").RequestOptionalFileFn;
112
+ } & import("@levelcode/common/types/function-params").ParamsExcluding<import("@levelcode/common/types/contracts/client").RequestOptionalFileFn, "filePath">) => Promise<{
113
+ output: import("src").LevelCodeToolOutput<"propose_str_replace">;
114
+ }>;
115
+ propose_write_file: LevelCodeToolHandlerFunction<"propose_write_file">;
116
+ read_docs: (params: {
117
+ previousToolCallFinished: Promise<void>;
118
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"read_docs">;
119
+ agentStepId: string;
120
+ clientSessionId: string;
121
+ fingerprintId: string;
122
+ logger: import("@levelcode/common/types/contracts/logger").Logger;
123
+ repoId: string | undefined;
124
+ userId: string | undefined;
125
+ userInputId: string;
126
+ clientEnv: import("@levelcode/common/env-schema").ClientEnv;
127
+ ciEnv: import("@levelcode/common/types/contracts/env").CiEnv;
128
+ } & import("@levelcode/common/types/function-params").ParamsExcluding<typeof import("../../llm-api/context7-api").fetchContext7LibraryDocumentation, "query" | "topic" | "tokens">) => Promise<{
129
+ output: import("src").LevelCodeToolOutput<"read_docs">;
130
+ creditsUsed: number;
131
+ }>;
132
+ read_files: (params: {
133
+ previousToolCallFinished: Promise<void>;
134
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"read_files">;
135
+ fileContext: import("@levelcode/common/util/file").ProjectFileContext;
136
+ } & import("@levelcode/common/types/function-params").ParamsExcluding<typeof import("../../get-file-reading-updates").getFileReadingUpdates, "requestedFiles">) => Promise<{
137
+ output: import("src").LevelCodeToolOutput<"read_files">;
138
+ }>;
139
+ read_subtree: (params: {
140
+ previousToolCallFinished: Promise<void>;
141
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"read_subtree">;
142
+ fileContext: import("@levelcode/common/util/file").ProjectFileContext;
143
+ logger: import("@levelcode/common/types/contracts/logger").Logger;
144
+ }) => Promise<{
145
+ output: import("src").LevelCodeToolOutput<"read_subtree">;
146
+ }>;
147
+ run_file_change_hooks: (params: {
148
+ previousToolCallFinished: Promise<void>;
149
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"run_file_change_hooks">;
150
+ requestClientToolCall: (toolCall: import("src").ClientToolCall<"run_file_change_hooks">) => Promise<import("src").LevelCodeToolOutput<"run_file_change_hooks">>;
151
+ }) => Promise<{
152
+ output: import("src").LevelCodeToolOutput<"run_file_change_hooks">;
153
+ }>;
154
+ run_terminal_command: ({ previousToolCallFinished, toolCall, requestClientToolCall, }: {
155
+ previousToolCallFinished: Promise<void>;
156
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"run_terminal_command">;
157
+ requestClientToolCall: (toolCall: import("src").ClientToolCall<"run_terminal_command">) => Promise<import("src").LevelCodeToolOutput<"run_terminal_command">>;
158
+ }) => Promise<{
159
+ output: import("src").LevelCodeToolOutput<"run_terminal_command">;
160
+ }>;
161
+ set_messages: (params: {
162
+ previousToolCallFinished: Promise<void>;
163
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"set_messages">;
164
+ agentState: import("@levelcode/common/types/session-state").AgentState;
165
+ }) => Promise<{
166
+ output: import("src").LevelCodeToolOutput<"set_messages">;
167
+ }>;
168
+ set_output: (params: {
169
+ previousToolCallFinished: Promise<void>;
170
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"set_output">;
171
+ agentState: import("@levelcode/common/types/session-state").AgentState;
172
+ apiKey: string;
173
+ databaseAgentCache: Map<string, import("@levelcode/common/types/agent-template").AgentTemplate | null>;
174
+ localAgentTemplates: Record<string, import("@levelcode/common/types/agent-template").AgentTemplate>;
175
+ logger: import("@levelcode/common/types/agent-template").Logger;
176
+ fetchAgentFromDatabase: import("@levelcode/common/types/contracts/database").FetchAgentFromDatabaseFn;
177
+ }) => Promise<{
178
+ output: import("src").LevelCodeToolOutput<"set_output">;
179
+ }>;
180
+ skill: (params: {
181
+ previousToolCallFinished: Promise<void>;
182
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"skill">;
183
+ fileContext: import("@levelcode/common/util/file").ProjectFileContext;
184
+ }) => Promise<{
185
+ output: import("src").LevelCodeToolOutput<"skill">;
186
+ }>;
187
+ spawn_agents: (params: {
188
+ previousToolCallFinished: Promise<void>;
189
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"spawn_agents">;
190
+ agentState: import("@levelcode/common/types/session-state").AgentState;
191
+ agentTemplate: import("@levelcode/common/types/agent-template").AgentTemplate;
192
+ fingerprintId: string;
193
+ localAgentTemplates: Record<string, import("@levelcode/common/types/agent-template").AgentTemplate>;
194
+ logger: import("@levelcode/common/types/contracts/logger").Logger;
195
+ system: string;
196
+ tools?: import("ai").ToolSet;
197
+ userId: string | undefined;
198
+ userInputId: string;
199
+ sendSubagentChunk: import("./tool/spawn-agents").SendSubagentChunk;
200
+ writeToClient: (chunk: string | import("src").PrintModeEvent) => void;
201
+ } & import("@levelcode/common/types/function-params").ParamsExcluding<typeof import("./tool/spawn-agent-utils").validateAndGetAgentTemplate, "agentTypeStr" | "parentAgentTemplate"> & import("@levelcode/common/types/function-params").ParamsExcluding<typeof import("./tool/spawn-agent-utils").executeSubagent, "userInputId" | "prompt" | "spawnParams" | "agentTemplate" | "parentAgentState" | "agentState" | "fingerprintId" | "isOnlyChild" | "parentSystemPrompt" | "parentTools" | "onResponseChunk">) => Promise<{
202
+ output: import("src").LevelCodeToolOutput<"spawn_agents">;
203
+ }>;
204
+ spawn_agent_inline: (params: {
205
+ previousToolCallFinished: Promise<void>;
206
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"spawn_agent_inline">;
207
+ agentState: import("@levelcode/common/types/session-state").AgentState;
208
+ agentTemplate: import("@levelcode/common/types/agent-template").AgentTemplate;
209
+ clientSessionId: string;
210
+ fileContext: import("@levelcode/common/util/file").ProjectFileContext;
211
+ fingerprintId: string;
212
+ localAgentTemplates: Record<string, import("@levelcode/common/types/agent-template").AgentTemplate>;
213
+ logger: import("@levelcode/common/types/contracts/logger").Logger;
214
+ system: string;
215
+ tools: import("ai").ToolSet;
216
+ userId: string | undefined;
217
+ userInputId: string;
218
+ writeToClient: (chunk: string | import("src").PrintModeEvent) => void;
219
+ } & import("@levelcode/common/types/function-params").ParamsExcluding<typeof import("./tool/spawn-agent-utils").executeSubagent, "userInputId" | "prompt" | "spawnParams" | "agentTemplate" | "parentAgentState" | "agentState" | "parentSystemPrompt" | "parentTools" | "onResponseChunk" | "clearUserPromptMessagesAfterResponse" | "fingerprintId">) => Promise<{
220
+ output: import("src").LevelCodeToolOutput<"spawn_agent_inline">;
221
+ }>;
222
+ str_replace: (params: {
223
+ previousToolCallFinished: Promise<void>;
224
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"str_replace">;
225
+ fileProcessingState: import("./tool/write-file").FileProcessingState;
226
+ logger: import("@levelcode/common/types/contracts/logger").Logger;
227
+ requestClientToolCall: (toolCall: import("src").ClientToolCall<"str_replace">) => Promise<import("src").LevelCodeToolOutput<"str_replace">>;
228
+ writeToClient: (chunk: string) => void;
229
+ requestOptionalFile: import("@levelcode/common/types/contracts/client").RequestOptionalFileFn;
230
+ } & import("@levelcode/common/types/function-params").ParamsExcluding<import("@levelcode/common/types/contracts/client").RequestOptionalFileFn, "filePath">) => Promise<{
231
+ output: import("src").LevelCodeToolOutput<"str_replace">;
232
+ }>;
233
+ suggest_followups: (params: {
234
+ previousToolCallFinished: Promise<unknown>;
235
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"suggest_followups">;
236
+ logger: import("@levelcode/common/types/contracts/logger").Logger;
237
+ }) => Promise<{
238
+ output: import("src").LevelCodeToolOutput<"suggest_followups">;
239
+ }>;
240
+ task_completed: ({ previousToolCallFinished, }: {
241
+ previousToolCallFinished: Promise<any>;
242
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"task_completed">;
243
+ }) => Promise<{
244
+ output: import("src").LevelCodeToolOutput<"task_completed">;
245
+ }>;
246
+ task_create: (params: {
247
+ previousToolCallFinished: Promise<void>;
248
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"task_create">;
249
+ }) => Promise<{
250
+ output: import("src").LevelCodeToolOutput<"task_create">;
251
+ }>;
252
+ task_get: (params: {
253
+ previousToolCallFinished: Promise<void>;
254
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"task_get">;
255
+ }) => Promise<{
256
+ output: import("src").LevelCodeToolOutput<"task_get">;
257
+ }>;
258
+ task_list: (params: {
259
+ previousToolCallFinished: Promise<void>;
260
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"task_list">;
261
+ }) => Promise<{
262
+ output: import("src").LevelCodeToolOutput<"task_list">;
263
+ }>;
264
+ task_update: (params: {
265
+ previousToolCallFinished: Promise<void>;
266
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"task_update">;
267
+ }) => Promise<{
268
+ output: import("src").LevelCodeToolOutput<"task_update">;
269
+ }>;
270
+ send_message: (params: {
271
+ previousToolCallFinished: Promise<void>;
272
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"send_message">;
273
+ agentStepId: string;
274
+ }) => Promise<{
275
+ output: import("src").LevelCodeToolOutput<"send_message">;
276
+ }>;
277
+ team_create: (params: {
278
+ previousToolCallFinished: Promise<void>;
279
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"team_create">;
280
+ agentStepId: string;
281
+ }) => Promise<{
282
+ output: import("src").LevelCodeToolOutput<"team_create">;
283
+ }>;
284
+ team_delete: (params: {
285
+ previousToolCallFinished: Promise<void>;
286
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"team_delete">;
287
+ agentStepId: string;
288
+ }) => Promise<{
289
+ output: import("src").LevelCodeToolOutput<"team_delete">;
290
+ }>;
291
+ think_deeply: (params: {
292
+ previousToolCallFinished: Promise<any>;
293
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"think_deeply">;
294
+ logger: import("@levelcode/common/types/contracts/logger").Logger;
295
+ }) => Promise<{
296
+ output: import("src").LevelCodeToolOutput<"think_deeply">;
297
+ }>;
298
+ update_subgoal: (params: {
299
+ previousToolCallFinished: Promise<void>;
300
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"update_subgoal">;
301
+ agentContext: Record<string, import("@levelcode/common/types/session-state").Subgoal>;
302
+ }) => Promise<{
303
+ output: import("src").LevelCodeToolOutput<"update_subgoal">;
304
+ }>;
305
+ web_search: (params: {
306
+ previousToolCallFinished: Promise<void>;
307
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"web_search">;
308
+ logger: import("@levelcode/common/types/contracts/logger").Logger;
309
+ apiKey: string;
310
+ agentStepId: string;
311
+ clientSessionId: string;
312
+ fingerprintId: string;
313
+ repoId: string | undefined;
314
+ repoUrl: string | undefined;
315
+ userInputId: string;
316
+ userId: string | undefined;
317
+ fetch: typeof globalThis.fetch;
318
+ clientEnv: import("@levelcode/common/env-schema").ClientEnv;
319
+ ciEnv: import("@levelcode/common/types/contracts/env").CiEnv;
320
+ }) => Promise<{
321
+ output: import("src").LevelCodeToolOutput<"web_search">;
322
+ creditsUsed: number;
323
+ }>;
324
+ write_file: (params: {
325
+ previousToolCallFinished: Promise<void>;
326
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"write_file">;
327
+ agentState: import("@levelcode/common/types/session-state").AgentState;
328
+ clientSessionId: string;
329
+ fileProcessingState: import("./tool/write-file").FileProcessingState;
330
+ fingerprintId: string;
331
+ logger: import("@levelcode/common/types/contracts/logger").Logger;
332
+ prompt: string | undefined;
333
+ userId: string | undefined;
334
+ userInputId: string;
335
+ requestClientToolCall: (toolCall: import("src").ClientToolCall<"write_file">) => Promise<import("src").LevelCodeToolOutput<"write_file">>;
336
+ requestOptionalFile: import("@levelcode/common/types/contracts/client").RequestOptionalFileFn;
337
+ writeToClient: (chunk: string) => void;
338
+ } & import("@levelcode/common/types/function-params").ParamsExcluding<typeof import("../../process-file-block").processFileBlock, "path" | "instructions" | "fingerprintId" | "initialContentPromise" | "newContent" | "messages" | "lastUserPrompt"> & import("@levelcode/common/types/function-params").ParamsExcluding<import("@levelcode/common/types/contracts/client").RequestOptionalFileFn, "filePath">) => Promise<{
339
+ output: import("src").LevelCodeToolOutput<"write_file">;
340
+ }>;
341
+ write_todos: (params: {
342
+ previousToolCallFinished: Promise<void>;
343
+ toolCall: import("@levelcode/common/tools/list").LevelCodeToolCall<"write_todos">;
344
+ }) => Promise<{
345
+ output: import("src").LevelCodeToolOutput<"write_todos">;
346
+ }>;
347
+ };
@@ -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 handleAddMessage: (params: {
4
+ previousToolCallFinished: Promise<void>;
5
+ toolCall: LevelCodeToolCall<"add_message">;
6
+ agentState: AgentState;
7
+ }) => Promise<{
8
+ output: LevelCodeToolOutput<"add_message">;
9
+ }>;
@@ -0,0 +1,9 @@
1
+ import type { LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
2
+ import type { Subgoal } from '@levelcode/common/types/session-state';
3
+ export declare const handleAddSubgoal: (params: {
4
+ previousToolCallFinished: Promise<void>;
5
+ toolCall: LevelCodeToolCall<"add_subgoal">;
6
+ agentContext: Record<string, Subgoal>;
7
+ }) => Promise<{
8
+ output: LevelCodeToolOutput<"add_subgoal">;
9
+ }>;
@@ -0,0 +1,10 @@
1
+ import type { LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
2
+ type ToolName = 'ask_user';
3
+ export declare const handleAskUser: (params: {
4
+ previousToolCallFinished: Promise<void>;
5
+ toolCall: LevelCodeToolCall<ToolName>;
6
+ requestClientToolCall: (toolCall: any) => Promise<any>;
7
+ }) => Promise<{
8
+ output: LevelCodeToolOutput<ToolName>;
9
+ }>;
10
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { ClientToolCall, LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
2
+ export declare const handleBrowserLogs: (params: {
3
+ previousToolCallFinished: Promise<void>;
4
+ toolCall: LevelCodeToolCall<"browser_logs">;
5
+ requestClientToolCall: (toolCall: ClientToolCall<"browser_logs">) => Promise<LevelCodeToolOutput<"browser_logs">>;
6
+ }) => Promise<{
7
+ output: LevelCodeToolOutput<"browser_logs">;
8
+ }>;
@@ -0,0 +1,8 @@
1
+ import type { ClientToolCall, LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
2
+ export declare const handleCodeSearch: (params: {
3
+ previousToolCallFinished: Promise<void>;
4
+ toolCall: LevelCodeToolCall<"code_search">;
5
+ requestClientToolCall: (toolCall: ClientToolCall<"code_search">) => Promise<LevelCodeToolOutput<"code_search">>;
6
+ }) => Promise<{
7
+ output: LevelCodeToolOutput<"code_search">;
8
+ }>;