@auvira.ai/sdk 0.2.9

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 (303) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +414 -0
  3. package/dist/agent/Agent.d.ts +27 -0
  4. package/dist/agent/Agent.d.ts.map +1 -0
  5. package/dist/agent/Agent.js +144 -0
  6. package/dist/agent/Agent.js.map +1 -0
  7. package/dist/agent/AgentRegistry.d.ts +13 -0
  8. package/dist/agent/AgentRegistry.d.ts.map +1 -0
  9. package/dist/agent/AgentRegistry.js +28 -0
  10. package/dist/agent/AgentRegistry.js.map +1 -0
  11. package/dist/agent/AgentRun.d.ts +38 -0
  12. package/dist/agent/AgentRun.d.ts.map +1 -0
  13. package/dist/agent/AgentRun.js +101 -0
  14. package/dist/agent/AgentRun.js.map +1 -0
  15. package/dist/agent/ConversationStore.d.ts +18 -0
  16. package/dist/agent/ConversationStore.d.ts.map +1 -0
  17. package/dist/agent/ConversationStore.js +38 -0
  18. package/dist/agent/ConversationStore.js.map +1 -0
  19. package/dist/agent/RunEventBus.d.ts +43 -0
  20. package/dist/agent/RunEventBus.d.ts.map +1 -0
  21. package/dist/agent/RunEventBus.js +289 -0
  22. package/dist/agent/RunEventBus.js.map +1 -0
  23. package/dist/agent/assistantEvent.d.ts +11 -0
  24. package/dist/agent/assistantEvent.d.ts.map +1 -0
  25. package/dist/agent/assistantEvent.js +20 -0
  26. package/dist/agent/assistantEvent.js.map +1 -0
  27. package/dist/agent/buildAgentPrompt.d.ts +10 -0
  28. package/dist/agent/buildAgentPrompt.d.ts.map +1 -0
  29. package/dist/agent/buildAgentPrompt.js +39 -0
  30. package/dist/agent/buildAgentPrompt.js.map +1 -0
  31. package/dist/agent/cancellation.d.ts +9 -0
  32. package/dist/agent/cancellation.d.ts.map +1 -0
  33. package/dist/agent/cancellation.js +18 -0
  34. package/dist/agent/cancellation.js.map +1 -0
  35. package/dist/agent/editCompletion.d.ts +35 -0
  36. package/dist/agent/editCompletion.d.ts.map +1 -0
  37. package/dist/agent/editCompletion.js +179 -0
  38. package/dist/agent/editCompletion.js.map +1 -0
  39. package/dist/agent/editEvents.d.ts +11 -0
  40. package/dist/agent/editEvents.d.ts.map +1 -0
  41. package/dist/agent/editEvents.js +36 -0
  42. package/dist/agent/editEvents.js.map +1 -0
  43. package/dist/agent/evaluateTaskCompletion.d.ts +49 -0
  44. package/dist/agent/evaluateTaskCompletion.d.ts.map +1 -0
  45. package/dist/agent/evaluateTaskCompletion.js +257 -0
  46. package/dist/agent/evaluateTaskCompletion.js.map +1 -0
  47. package/dist/agent/events.d.ts +182 -0
  48. package/dist/agent/events.d.ts.map +1 -0
  49. package/dist/agent/events.js +25 -0
  50. package/dist/agent/events.js.map +1 -0
  51. package/dist/agent/parseSendPayload.d.ts +24 -0
  52. package/dist/agent/parseSendPayload.d.ts.map +1 -0
  53. package/dist/agent/parseSendPayload.js +71 -0
  54. package/dist/agent/parseSendPayload.js.map +1 -0
  55. package/dist/agent/patchUtils.d.ts +17 -0
  56. package/dist/agent/patchUtils.d.ts.map +1 -0
  57. package/dist/agent/patchUtils.js +90 -0
  58. package/dist/agent/patchUtils.js.map +1 -0
  59. package/dist/agent/resolveModelConfig.d.ts +4 -0
  60. package/dist/agent/resolveModelConfig.d.ts.map +1 -0
  61. package/dist/agent/resolveModelConfig.js +27 -0
  62. package/dist/agent/resolveModelConfig.js.map +1 -0
  63. package/dist/agent/runAgentTask.d.ts +14 -0
  64. package/dist/agent/runAgentTask.d.ts.map +1 -0
  65. package/dist/agent/runAgentTask.js +376 -0
  66. package/dist/agent/runAgentTask.js.map +1 -0
  67. package/dist/agent/runResult.d.ts +10 -0
  68. package/dist/agent/runResult.d.ts.map +1 -0
  69. package/dist/agent/runResult.js +34 -0
  70. package/dist/agent/runResult.js.map +1 -0
  71. package/dist/agent/runValidationWithRepair.d.ts +32 -0
  72. package/dist/agent/runValidationWithRepair.d.ts.map +1 -0
  73. package/dist/agent/runValidationWithRepair.js +114 -0
  74. package/dist/agent/runValidationWithRepair.js.map +1 -0
  75. package/dist/agent/tools/edit.d.ts +4 -0
  76. package/dist/agent/tools/edit.d.ts.map +1 -0
  77. package/dist/agent/tools/edit.js +98 -0
  78. package/dist/agent/tools/edit.js.map +1 -0
  79. package/dist/agent/tools/executeTool.d.ts +8 -0
  80. package/dist/agent/tools/executeTool.d.ts.map +1 -0
  81. package/dist/agent/tools/executeTool.js +104 -0
  82. package/dist/agent/tools/executeTool.js.map +1 -0
  83. package/dist/agent/tools/glob.d.ts +6 -0
  84. package/dist/agent/tools/glob.d.ts.map +1 -0
  85. package/dist/agent/tools/glob.js +77 -0
  86. package/dist/agent/tools/glob.js.map +1 -0
  87. package/dist/agent/tools/grep.d.ts +4 -0
  88. package/dist/agent/tools/grep.d.ts.map +1 -0
  89. package/dist/agent/tools/grep.js +61 -0
  90. package/dist/agent/tools/grep.js.map +1 -0
  91. package/dist/agent/tools/pathGuard.d.ts +11 -0
  92. package/dist/agent/tools/pathGuard.d.ts.map +1 -0
  93. package/dist/agent/tools/pathGuard.js +55 -0
  94. package/dist/agent/tools/pathGuard.js.map +1 -0
  95. package/dist/agent/tools/read.d.ts +4 -0
  96. package/dist/agent/tools/read.d.ts.map +1 -0
  97. package/dist/agent/tools/read.js +41 -0
  98. package/dist/agent/tools/read.js.map +1 -0
  99. package/dist/agent/tools/types.d.ts +46 -0
  100. package/dist/agent/tools/types.d.ts.map +1 -0
  101. package/dist/agent/tools/types.js +2 -0
  102. package/dist/agent/tools/types.js.map +1 -0
  103. package/dist/agent/tools/write.d.ts +4 -0
  104. package/dist/agent/tools/write.d.ts.map +1 -0
  105. package/dist/agent/tools/write.js +63 -0
  106. package/dist/agent/tools/write.js.map +1 -0
  107. package/dist/agent/types.d.ts +193 -0
  108. package/dist/agent/types.d.ts.map +1 -0
  109. package/dist/agent/types.js +18 -0
  110. package/dist/agent/types.js.map +1 -0
  111. package/dist/agent/validateOptions.d.ts +12 -0
  112. package/dist/agent/validateOptions.d.ts.map +1 -0
  113. package/dist/agent/validateOptions.js +91 -0
  114. package/dist/agent/validateOptions.js.map +1 -0
  115. package/dist/git/cloneGitLabProject.d.ts +10 -0
  116. package/dist/git/cloneGitLabProject.d.ts.map +1 -0
  117. package/dist/git/cloneGitLabProject.js +24 -0
  118. package/dist/git/cloneGitLabProject.js.map +1 -0
  119. package/dist/git/createAgentBranch.d.ts +3 -0
  120. package/dist/git/createAgentBranch.d.ts.map +1 -0
  121. package/dist/git/createAgentBranch.js +14 -0
  122. package/dist/git/createAgentBranch.js.map +1 -0
  123. package/dist/git/gitDiff.d.ts +9 -0
  124. package/dist/git/gitDiff.d.ts.map +1 -0
  125. package/dist/git/gitDiff.js +34 -0
  126. package/dist/git/gitDiff.js.map +1 -0
  127. package/dist/git/maskSecrets.d.ts +3 -0
  128. package/dist/git/maskSecrets.d.ts.map +1 -0
  129. package/dist/git/maskSecrets.js +15 -0
  130. package/dist/git/maskSecrets.js.map +1 -0
  131. package/dist/git/resolveGitLabProject.d.ts +26 -0
  132. package/dist/git/resolveGitLabProject.d.ts.map +1 -0
  133. package/dist/git/resolveGitLabProject.js +68 -0
  134. package/dist/git/resolveGitLabProject.js.map +1 -0
  135. package/dist/git/sanitizeGitLabUrl.d.ts +8 -0
  136. package/dist/git/sanitizeGitLabUrl.d.ts.map +1 -0
  137. package/dist/git/sanitizeGitLabUrl.js +38 -0
  138. package/dist/git/sanitizeGitLabUrl.js.map +1 -0
  139. package/dist/index.d.ts +13 -0
  140. package/dist/index.d.ts.map +1 -0
  141. package/dist/index.js +7 -0
  142. package/dist/index.js.map +1 -0
  143. package/dist/providers/agentic/AgenticCustomProvider.d.ts +9 -0
  144. package/dist/providers/agentic/AgenticCustomProvider.d.ts.map +1 -0
  145. package/dist/providers/agentic/AgenticCustomProvider.js +366 -0
  146. package/dist/providers/agentic/AgenticCustomProvider.js.map +1 -0
  147. package/dist/providers/agentic/agentLoop.d.ts +79 -0
  148. package/dist/providers/agentic/agentLoop.d.ts.map +1 -0
  149. package/dist/providers/agentic/agentLoop.js +646 -0
  150. package/dist/providers/agentic/agentLoop.js.map +1 -0
  151. package/dist/providers/agentic/priomptContext.d.ts +29 -0
  152. package/dist/providers/agentic/priomptContext.d.ts.map +1 -0
  153. package/dist/providers/agentic/priomptContext.js +90 -0
  154. package/dist/providers/agentic/priomptContext.js.map +1 -0
  155. package/dist/providers/agentic/seedRetrieval.d.ts +12 -0
  156. package/dist/providers/agentic/seedRetrieval.d.ts.map +1 -0
  157. package/dist/providers/agentic/seedRetrieval.js +58 -0
  158. package/dist/providers/agentic/seedRetrieval.js.map +1 -0
  159. package/dist/providers/agentic/toolPolicy.d.ts +15 -0
  160. package/dist/providers/agentic/toolPolicy.d.ts.map +1 -0
  161. package/dist/providers/agentic/toolPolicy.js +53 -0
  162. package/dist/providers/agentic/toolPolicy.js.map +1 -0
  163. package/dist/providers/agentic/toolSchemas.d.ts +177 -0
  164. package/dist/providers/agentic/toolSchemas.d.ts.map +1 -0
  165. package/dist/providers/agentic/toolSchemas.js +104 -0
  166. package/dist/providers/agentic/toolSchemas.js.map +1 -0
  167. package/dist/providers/agentic/trimAgentHistory.d.ts +18 -0
  168. package/dist/providers/agentic/trimAgentHistory.d.ts.map +1 -0
  169. package/dist/providers/agentic/trimAgentHistory.js +68 -0
  170. package/dist/providers/agentic/trimAgentHistory.js.map +1 -0
  171. package/dist/providers/custom/CustomModelProvider.d.ts +4 -0
  172. package/dist/providers/custom/CustomModelProvider.d.ts.map +1 -0
  173. package/dist/providers/custom/CustomModelProvider.js +538 -0
  174. package/dist/providers/custom/CustomModelProvider.js.map +1 -0
  175. package/dist/providers/custom/discoverTargetFiles.d.ts +16 -0
  176. package/dist/providers/custom/discoverTargetFiles.d.ts.map +1 -0
  177. package/dist/providers/custom/discoverTargetFiles.js +231 -0
  178. package/dist/providers/custom/discoverTargetFiles.js.map +1 -0
  179. package/dist/providers/custom/harnessPinTypes.d.ts +15 -0
  180. package/dist/providers/custom/harnessPinTypes.d.ts.map +1 -0
  181. package/dist/providers/custom/harnessPinTypes.js +46 -0
  182. package/dist/providers/custom/harnessPinTypes.js.map +1 -0
  183. package/dist/providers/custom/harnessPrompt.d.ts +29 -0
  184. package/dist/providers/custom/harnessPrompt.d.ts.map +1 -0
  185. package/dist/providers/custom/harnessPrompt.js +356 -0
  186. package/dist/providers/custom/harnessPrompt.js.map +1 -0
  187. package/dist/providers/custom/harnessSectionContext.d.ts +7 -0
  188. package/dist/providers/custom/harnessSectionContext.d.ts.map +1 -0
  189. package/dist/providers/custom/harnessSectionContext.js +82 -0
  190. package/dist/providers/custom/harnessSectionContext.js.map +1 -0
  191. package/dist/providers/custom/modelRequestDefaults.d.ts +16 -0
  192. package/dist/providers/custom/modelRequestDefaults.d.ts.map +1 -0
  193. package/dist/providers/custom/modelRequestDefaults.js +71 -0
  194. package/dist/providers/custom/modelRequestDefaults.js.map +1 -0
  195. package/dist/providers/custom/parseModelEditPlan.d.ts +21 -0
  196. package/dist/providers/custom/parseModelEditPlan.d.ts.map +1 -0
  197. package/dist/providers/custom/parseModelEditPlan.js +164 -0
  198. package/dist/providers/custom/parseModelEditPlan.js.map +1 -0
  199. package/dist/providers/custom/selectPromptFiles.d.ts +18 -0
  200. package/dist/providers/custom/selectPromptFiles.d.ts.map +1 -0
  201. package/dist/providers/custom/selectPromptFiles.js +180 -0
  202. package/dist/providers/custom/selectPromptFiles.js.map +1 -0
  203. package/dist/providers/custom/visionImages.d.ts +4 -0
  204. package/dist/providers/custom/visionImages.d.ts.map +1 -0
  205. package/dist/providers/custom/visionImages.js +10 -0
  206. package/dist/providers/custom/visionImages.js.map +1 -0
  207. package/dist/providers/openhands/OpenHandsMockProvider.d.ts +6 -0
  208. package/dist/providers/openhands/OpenHandsMockProvider.d.ts.map +1 -0
  209. package/dist/providers/openhands/OpenHandsMockProvider.js +73 -0
  210. package/dist/providers/openhands/OpenHandsMockProvider.js.map +1 -0
  211. package/dist/providers/openhands/OpenHandsProvider.d.ts +4 -0
  212. package/dist/providers/openhands/OpenHandsProvider.d.ts.map +1 -0
  213. package/dist/providers/openhands/OpenHandsProvider.js +163 -0
  214. package/dist/providers/openhands/OpenHandsProvider.js.map +1 -0
  215. package/dist/providers/openhands/openHandsEvents.d.ts +6 -0
  216. package/dist/providers/openhands/openHandsEvents.d.ts.map +1 -0
  217. package/dist/providers/openhands/openHandsEvents.js +54 -0
  218. package/dist/providers/openhands/openHandsEvents.js.map +1 -0
  219. package/dist/providers/openhands/types.d.ts +16 -0
  220. package/dist/providers/openhands/types.d.ts.map +1 -0
  221. package/dist/providers/openhands/types.js +2 -0
  222. package/dist/providers/openhands/types.js.map +1 -0
  223. package/dist/providers/runProvider.d.ts +4 -0
  224. package/dist/providers/runProvider.d.ts.map +1 -0
  225. package/dist/providers/runProvider.js +16 -0
  226. package/dist/providers/runProvider.js.map +1 -0
  227. package/dist/providers/types.d.ts +35 -0
  228. package/dist/providers/types.d.ts.map +1 -0
  229. package/dist/providers/types.js +5 -0
  230. package/dist/providers/types.js.map +1 -0
  231. package/dist/server/routes.d.ts +9 -0
  232. package/dist/server/routes.d.ts.map +1 -0
  233. package/dist/server/routes.js +58 -0
  234. package/dist/server/routes.js.map +1 -0
  235. package/dist/server/server.d.ts +10 -0
  236. package/dist/server/server.d.ts.map +1 -0
  237. package/dist/server/server.js +39 -0
  238. package/dist/server/server.js.map +1 -0
  239. package/dist/tools/fileExists.d.ts +3 -0
  240. package/dist/tools/fileExists.d.ts.map +1 -0
  241. package/dist/tools/fileExists.js +12 -0
  242. package/dist/tools/fileExists.js.map +1 -0
  243. package/dist/tools/resolveBuildValidation.d.ts +8 -0
  244. package/dist/tools/resolveBuildValidation.d.ts.map +1 -0
  245. package/dist/tools/resolveBuildValidation.js +35 -0
  246. package/dist/tools/resolveBuildValidation.js.map +1 -0
  247. package/dist/tools/runCommand.d.ts +17 -0
  248. package/dist/tools/runCommand.d.ts.map +1 -0
  249. package/dist/tools/runCommand.js +92 -0
  250. package/dist/tools/runCommand.js.map +1 -0
  251. package/dist/tools/safeValidateCommand.d.ts +9 -0
  252. package/dist/tools/safeValidateCommand.d.ts.map +1 -0
  253. package/dist/tools/safeValidateCommand.js +59 -0
  254. package/dist/tools/safeValidateCommand.js.map +1 -0
  255. package/dist/util/apiThrottle.d.ts +14 -0
  256. package/dist/util/apiThrottle.d.ts.map +1 -0
  257. package/dist/util/apiThrottle.js +50 -0
  258. package/dist/util/apiThrottle.js.map +1 -0
  259. package/dist/util/globMatch.d.ts +7 -0
  260. package/dist/util/globMatch.d.ts.map +1 -0
  261. package/dist/util/globMatch.js +25 -0
  262. package/dist/util/globMatch.js.map +1 -0
  263. package/dist/util/modelApiClient.d.ts +47 -0
  264. package/dist/util/modelApiClient.d.ts.map +1 -0
  265. package/dist/util/modelApiClient.js +245 -0
  266. package/dist/util/modelApiClient.js.map +1 -0
  267. package/dist/util/screenshotBase64.d.ts +3 -0
  268. package/dist/util/screenshotBase64.d.ts.map +1 -0
  269. package/dist/util/screenshotBase64.js +7 -0
  270. package/dist/util/screenshotBase64.js.map +1 -0
  271. package/dist/workspace/cleanupWorkspace.d.ts +3 -0
  272. package/dist/workspace/cleanupWorkspace.d.ts.map +1 -0
  273. package/dist/workspace/cleanupWorkspace.js +6 -0
  274. package/dist/workspace/cleanupWorkspace.js.map +1 -0
  275. package/dist/workspace/copyLocalRepo.d.ts +5 -0
  276. package/dist/workspace/copyLocalRepo.d.ts.map +1 -0
  277. package/dist/workspace/copyLocalRepo.js +34 -0
  278. package/dist/workspace/copyLocalRepo.js.map +1 -0
  279. package/dist/workspace/createWorkspace.d.ts +7 -0
  280. package/dist/workspace/createWorkspace.d.ts.map +1 -0
  281. package/dist/workspace/createWorkspace.js +10 -0
  282. package/dist/workspace/createWorkspace.js.map +1 -0
  283. package/dist/workspace/prepareWorkspace.d.ts +4 -0
  284. package/dist/workspace/prepareWorkspace.d.ts.map +1 -0
  285. package/dist/workspace/prepareWorkspace.js +46 -0
  286. package/dist/workspace/prepareWorkspace.js.map +1 -0
  287. package/dist/workspace/resolveWorkspaceMode.d.ts +7 -0
  288. package/dist/workspace/resolveWorkspaceMode.d.ts.map +1 -0
  289. package/dist/workspace/resolveWorkspaceMode.js +15 -0
  290. package/dist/workspace/resolveWorkspaceMode.js.map +1 -0
  291. package/dist/workspace/syncRepoToOwner.d.ts +3 -0
  292. package/dist/workspace/syncRepoToOwner.d.ts.map +1 -0
  293. package/dist/workspace/syncRepoToOwner.js +14 -0
  294. package/dist/workspace/syncRepoToOwner.js.map +1 -0
  295. package/dist/workspace/workspaceCheckpoint.d.ts +20 -0
  296. package/dist/workspace/workspaceCheckpoint.d.ts.map +1 -0
  297. package/dist/workspace/workspaceCheckpoint.js +243 -0
  298. package/dist/workspace/workspaceCheckpoint.js.map +1 -0
  299. package/dist/workspace/writeScreenshot.d.ts +15 -0
  300. package/dist/workspace/writeScreenshot.d.ts.map +1 -0
  301. package/dist/workspace/writeScreenshot.js +56 -0
  302. package/dist/workspace/writeScreenshot.js.map +1 -0
  303. package/package.json +53 -0
@@ -0,0 +1,29 @@
1
+ /** Priority-ranked context blocks with token-budget dropping (Priompt-style). */
2
+ export interface ContextBlock {
3
+ id: string;
4
+ priority: number;
5
+ label: string;
6
+ content: string;
7
+ }
8
+ export interface CompiledContext {
9
+ system: string;
10
+ user: string;
11
+ droppedBlockIds: string[];
12
+ }
13
+ /** Estimates token count from character length. */
14
+ export declare function estimateTokens(text: string): number;
15
+ /** Reads context token budget from env (`AUVIRA_CONTEXT_TOKEN_BUDGET`). */
16
+ export declare function getContextTokenBudget(): number;
17
+ /** Drops lowest-priority blocks until estimated tokens fit the budget. */
18
+ export declare function fitBlocksToBudget(blocks: ContextBlock[], budgetTokens: number): {
19
+ kept: ContextBlock[];
20
+ dropped: ContextBlock[];
21
+ };
22
+ /** Compiles priority blocks into system and user prompt strings. */
23
+ export declare function compilePriomptContext(input: {
24
+ blocks: ContextBlock[];
25
+ budgetTokens?: number;
26
+ }): CompiledContext;
27
+ /** Builds a P3 seed excerpt block from file content. */
28
+ export declare function buildSeedExcerptBlock(id: string, path: string, content: string, maxChars?: number): ContextBlock;
29
+ //# sourceMappingURL=priomptContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"priomptContext.d.ts","sourceRoot":"","sources":["../../../src/providers/agentic/priomptContext.ts"],"names":[],"mappings":"AAAA,iFAAiF;AAEjF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAID,mDAAmD;AACnD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,2EAA2E;AAC3E,wBAAgB,qBAAqB,IAAI,MAAM,CAU9C;AAMD,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,YAAY,EAAE,EACtB,YAAY,EAAE,MAAM,GACnB;IAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAAC,OAAO,EAAE,YAAY,EAAE,CAAA;CAAE,CA8CnD;AAED,oEAAoE;AACpE,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,eAAe,CAelB;AAED,wDAAwD;AACxD,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,SAAQ,GACf,YAAY,CAYd"}
@@ -0,0 +1,90 @@
1
+ /** Priority-ranked context blocks with token-budget dropping (Priompt-style). */
2
+ const CHARS_PER_TOKEN = 4;
3
+ /** Estimates token count from character length. */
4
+ export function estimateTokens(text) {
5
+ return Math.ceil(text.length / CHARS_PER_TOKEN);
6
+ }
7
+ /** Reads context token budget from env (`AUVIRA_CONTEXT_TOKEN_BUDGET`). */
8
+ export function getContextTokenBudget() {
9
+ const raw = process.env.AUVIRA_CONTEXT_TOKEN_BUDGET?.trim();
10
+ if (!raw) {
11
+ return 32_000;
12
+ }
13
+ const parsed = Number.parseInt(raw, 10);
14
+ if (!Number.isFinite(parsed) || parsed < 4_000) {
15
+ return 32_000;
16
+ }
17
+ return parsed;
18
+ }
19
+ function sortBlocks(blocks) {
20
+ return [...blocks].sort((a, b) => a.priority - b.priority);
21
+ }
22
+ /** Drops lowest-priority blocks until estimated tokens fit the budget. */
23
+ export function fitBlocksToBudget(blocks, budgetTokens) {
24
+ const sorted = sortBlocks(blocks);
25
+ const kept = [];
26
+ const dropped = [];
27
+ let used = 0;
28
+ for (const block of sorted) {
29
+ const tokens = estimateTokens(block.content);
30
+ if (used + tokens <= budgetTokens || block.priority <= 2) {
31
+ kept.push(block);
32
+ used += tokens;
33
+ }
34
+ else {
35
+ dropped.push(block);
36
+ }
37
+ }
38
+ if (dropped.length > 0) {
39
+ const mustKeep = sorted.filter((block) => block.priority <= 2);
40
+ const droppable = sorted.filter((block) => block.priority > 2);
41
+ let low = 0;
42
+ let high = droppable.length;
43
+ let bestKept = [...mustKeep, ...droppable];
44
+ while (low <= high) {
45
+ const mid = Math.floor((low + high) / 2);
46
+ const candidate = [...mustKeep, ...droppable.slice(mid)];
47
+ const total = candidate.reduce((sum, block) => sum + estimateTokens(block.content), 0);
48
+ if (total <= budgetTokens) {
49
+ bestKept = candidate;
50
+ high = mid - 1;
51
+ }
52
+ else {
53
+ low = mid + 1;
54
+ }
55
+ }
56
+ const keptIds = new Set(bestKept.map((block) => block.id));
57
+ return {
58
+ kept: bestKept,
59
+ dropped: sorted.filter((block) => !keptIds.has(block.id)),
60
+ };
61
+ }
62
+ return { kept, dropped };
63
+ }
64
+ /** Compiles priority blocks into system and user prompt strings. */
65
+ export function compilePriomptContext(input) {
66
+ const budget = input.budgetTokens ?? getContextTokenBudget();
67
+ const { kept, dropped } = fitBlocksToBudget(input.blocks, budget);
68
+ const systemBlocks = kept.filter((block) => block.priority <= 1);
69
+ const userBlocks = kept.filter((block) => block.priority >= 2);
70
+ const system = systemBlocks.map((block) => block.content).join("\n\n");
71
+ const user = userBlocks.map((block) => block.content).join("\n\n");
72
+ return {
73
+ system,
74
+ user,
75
+ droppedBlockIds: dropped.map((block) => block.id),
76
+ };
77
+ }
78
+ /** Builds a P3 seed excerpt block from file content. */
79
+ export function buildSeedExcerptBlock(id, path, content, maxChars = 4_000) {
80
+ const excerpt = content.length > maxChars
81
+ ? `${content.slice(0, maxChars)}\n... (truncated)`
82
+ : content;
83
+ return {
84
+ id,
85
+ priority: 3,
86
+ label: `seed:${path}`,
87
+ content: `Seed file hint — ${path}:\n---\n${excerpt}\n---\nUse grep/read for exact strings before editing.`,
88
+ };
89
+ }
90
+ //# sourceMappingURL=priomptContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"priomptContext.js","sourceRoot":"","sources":["../../../src/providers/agentic/priomptContext.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { SelectedDomContext } from "../../agent/types.js";
2
+ import type { HarnessPinnedTarget } from "../custom/harnessPinTypes.js";
3
+ import { type ContextBlock } from "./priomptContext.js";
4
+ /** Builds P3 seed context from discovery + optional selectedDom grep. */
5
+ export declare function buildSeedContextBlocks(input: {
6
+ repoPath: string;
7
+ prompt: string;
8
+ selectedDom?: SelectedDomContext;
9
+ harnessPrompt: boolean;
10
+ pinnedTarget?: HarnessPinnedTarget;
11
+ }): Promise<ContextBlock[]>;
12
+ //# sourceMappingURL=seedRetrieval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seedRetrieval.d.ts","sourceRoot":"","sources":["../../../src/providers/agentic/seedRetrieval.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAK/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAKxE,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AA0B7B,yEAAyE;AACzE,wBAAsB,sBAAsB,CAAC,KAAK,EAAE;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA+C1B"}
@@ -0,0 +1,58 @@
1
+ import { promises as fs } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { fileExists } from "../../tools/fileExists.js";
4
+ import { executeGrepTool } from "../../agent/tools/grep.js";
5
+ import { discoverTargetFiles } from "../custom/discoverTargetFiles.js";
6
+ import { discoverMergedHarnessPaths } from "../custom/harnessPrompt.js";
7
+ import { selectPromptFiles, } from "../custom/selectPromptFiles.js";
8
+ import { buildSeedExcerptBlock, } from "./priomptContext.js";
9
+ const MAX_SEED_FILES = 5;
10
+ const SEED_EXCERPT_CHARS = 3_000;
11
+ const SEED_SELECT_MAX_BYTES = 24_000;
12
+ async function loadSnapshots(repoPath, paths) {
13
+ const snapshots = [];
14
+ for (const path of paths) {
15
+ const absolute = join(repoPath, path);
16
+ if (!(await fileExists(absolute))) {
17
+ continue;
18
+ }
19
+ snapshots.push({
20
+ path,
21
+ content: await fs.readFile(absolute, "utf8"),
22
+ });
23
+ }
24
+ return snapshots;
25
+ }
26
+ /** Builds P3 seed context from discovery + optional selectedDom grep. */
27
+ export async function buildSeedContextBlocks(input) {
28
+ const discovered = input.harnessPrompt
29
+ ? await discoverMergedHarnessPaths(input.repoPath, input.prompt, input.selectedDom, input.pinnedTarget)
30
+ : await discoverTargetFiles(input.repoPath, input.selectedDom);
31
+ const snapshots = await loadSnapshots(input.repoPath, [...new Set(discovered)]);
32
+ const stylePrompt = /vibe|style|background|mood|color|visual/i.test(input.prompt) ||
33
+ Boolean(input.selectedDom?.sectionIndex != null);
34
+ const selected = selectPromptFiles({
35
+ prompt: input.prompt,
36
+ files: snapshots,
37
+ hasScreenshot: stylePrompt,
38
+ selectedDom: input.selectedDom,
39
+ pinnedTarget: input.pinnedTarget,
40
+ harnessMode: input.harnessPrompt,
41
+ maxBytes: SEED_SELECT_MAX_BYTES,
42
+ }).slice(0, MAX_SEED_FILES);
43
+ const blocks = selected.map((file) => buildSeedExcerptBlock(`seed-${file.path}`, file.path, file.content, SEED_EXCERPT_CHARS));
44
+ const searchText = input.selectedDom?.text?.trim();
45
+ if (searchText && searchText.length >= 4) {
46
+ const grepResult = await executeGrepTool({ repoPath: input.repoPath }, { pattern: searchText.slice(0, 80), glob: "*.{tsx,ts,jsx,js,css}" });
47
+ if (grepResult.ok && grepResult.output && grepResult.output !== "No matches") {
48
+ blocks.push({
49
+ id: "seed-grep-selectedDom",
50
+ priority: 3,
51
+ label: "grep:selectedDom.text",
52
+ content: `Pre-search for pinned DOM text "${searchText.slice(0, 80)}":\n${grepResult.output.slice(0, 2_000)}`,
53
+ });
54
+ }
55
+ }
56
+ return blocks;
57
+ }
58
+ //# sourceMappingURL=seedRetrieval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seedRetrieval.js","sourceRoot":"","sources":["../../../src/providers/agentic/seedRetrieval.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export type ToolPolicyAbortReason = "shell_blocked" | "tool_budget_exceeded";
2
+ export interface ToolPolicyState {
3
+ toolCallCount: number;
4
+ abortReason?: ToolPolicyAbortReason;
5
+ }
6
+ export declare const DEFAULT_PRIMARY_MAX_TOOL_CALLS = 25;
7
+ export declare const DEFAULT_REPAIR_MAX_TOOL_CALLS = 12;
8
+ /** Max tool calls during a primary agent turn (`AUVIRA_AGENT_MAX_TOOL_CALLS`). */
9
+ export declare function getPrimaryMaxToolCalls(): number;
10
+ /** Max tool calls during repair turns (`AUVIRA_AGENT_REPAIR_MAX_TOOL_CALLS`). */
11
+ export declare function getRepairMaxToolCalls(): number;
12
+ export declare function isShellTool(toolName: string): boolean;
13
+ /** Evaluates whether a tool call should run or abort the agent loop. */
14
+ export declare function evaluateToolPolicy(toolName: string, state: ToolPolicyState, maxToolCalls: number): ToolPolicyState;
15
+ //# sourceMappingURL=toolPolicy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolPolicy.d.ts","sourceRoot":"","sources":["../../../src/providers/agentic/toolPolicy.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,qBAAqB,GAC7B,eAAe,GACf,sBAAsB,CAAC;AAE3B,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACrC;AAED,eAAO,MAAM,8BAA8B,KAAK,CAAC;AACjD,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAEhD,kFAAkF;AAClF,wBAAgB,sBAAsB,IAAI,MAAM,CAU/C;AAED,iFAAiF;AACjF,wBAAgB,qBAAqB,IAAI,MAAM,CAU9C;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wEAAwE;AACxE,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,eAAe,EACtB,YAAY,EAAE,MAAM,GACnB,eAAe,CAkBjB"}
@@ -0,0 +1,53 @@
1
+ const SHELL_TOOL_NAMES = new Set([
2
+ "shell",
3
+ "run_terminal_cmd",
4
+ "bash",
5
+ "terminal",
6
+ ]);
7
+ export const DEFAULT_PRIMARY_MAX_TOOL_CALLS = 25;
8
+ export const DEFAULT_REPAIR_MAX_TOOL_CALLS = 12;
9
+ /** Max tool calls during a primary agent turn (`AUVIRA_AGENT_MAX_TOOL_CALLS`). */
10
+ export function getPrimaryMaxToolCalls() {
11
+ const raw = process.env.AUVIRA_AGENT_MAX_TOOL_CALLS?.trim();
12
+ if (!raw) {
13
+ return DEFAULT_PRIMARY_MAX_TOOL_CALLS;
14
+ }
15
+ const parsed = Number.parseInt(raw, 10);
16
+ if (!Number.isFinite(parsed) || parsed < 1) {
17
+ return DEFAULT_PRIMARY_MAX_TOOL_CALLS;
18
+ }
19
+ return parsed;
20
+ }
21
+ /** Max tool calls during repair turns (`AUVIRA_AGENT_REPAIR_MAX_TOOL_CALLS`). */
22
+ export function getRepairMaxToolCalls() {
23
+ const raw = process.env.AUVIRA_AGENT_REPAIR_MAX_TOOL_CALLS?.trim();
24
+ if (!raw) {
25
+ return DEFAULT_REPAIR_MAX_TOOL_CALLS;
26
+ }
27
+ const parsed = Number.parseInt(raw, 10);
28
+ if (!Number.isFinite(parsed) || parsed < 1) {
29
+ return DEFAULT_REPAIR_MAX_TOOL_CALLS;
30
+ }
31
+ return parsed;
32
+ }
33
+ export function isShellTool(toolName) {
34
+ return SHELL_TOOL_NAMES.has(toolName.toLowerCase());
35
+ }
36
+ /** Evaluates whether a tool call should run or abort the agent loop. */
37
+ export function evaluateToolPolicy(toolName, state, maxToolCalls) {
38
+ if (state.abortReason) {
39
+ return state;
40
+ }
41
+ if (isShellTool(toolName)) {
42
+ return { ...state, abortReason: "shell_blocked" };
43
+ }
44
+ const nextCount = state.toolCallCount + 1;
45
+ if (nextCount > maxToolCalls) {
46
+ return {
47
+ toolCallCount: nextCount,
48
+ abortReason: "tool_budget_exceeded",
49
+ };
50
+ }
51
+ return { ...state, toolCallCount: nextCount };
52
+ }
53
+ //# sourceMappingURL=toolPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolPolicy.js","sourceRoot":"","sources":["../../../src/providers/agentic/toolPolicy.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,OAAO;IACP,kBAAkB;IAClB,MAAM;IACN,UAAU;CACX,CAAC,CAAC;AAWH,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AACjD,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEhD,kFAAkF;AAClF,MAAM,UAAU,sBAAsB;IACpC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,EAAE,CAAC;IAC5D,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,8BAA8B,CAAC;IACxC,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,OAAO,8BAA8B,CAAC;IACxC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,qBAAqB;IACnC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,IAAI,EAAE,CAAC;IACnE,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,6BAA6B,CAAC;IACvC,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,OAAO,6BAA6B,CAAC;IACvC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,OAAO,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,kBAAkB,CAChC,QAAgB,EAChB,KAAsB,EACtB,YAAoB;IAEpB,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IACpD,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;IAC1C,IAAI,SAAS,GAAG,YAAY,EAAE,CAAC;QAC7B,OAAO;YACL,aAAa,EAAE,SAAS;YACxB,WAAW,EAAE,sBAAsB;SACpC,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;AAChD,CAAC"}
@@ -0,0 +1,177 @@
1
+ /** OpenAI-compatible tool definitions for the agentic custom provider. */
2
+ export declare const AGENT_TOOL_DEFINITIONS: ({
3
+ type: "function";
4
+ function: {
5
+ name: string;
6
+ description: string;
7
+ parameters: {
8
+ type: string;
9
+ properties: {
10
+ pattern: {
11
+ type: string;
12
+ description: string;
13
+ };
14
+ path: {
15
+ type: string;
16
+ description: string;
17
+ };
18
+ glob: {
19
+ type: string;
20
+ description: string;
21
+ };
22
+ offset?: undefined;
23
+ limit?: undefined;
24
+ globPattern?: undefined;
25
+ targetDirectory?: undefined;
26
+ old_string?: undefined;
27
+ new_string?: undefined;
28
+ contents?: undefined;
29
+ };
30
+ required: string[];
31
+ };
32
+ };
33
+ } | {
34
+ type: "function";
35
+ function: {
36
+ name: string;
37
+ description: string;
38
+ parameters: {
39
+ type: string;
40
+ properties: {
41
+ path: {
42
+ type: string;
43
+ description: string;
44
+ };
45
+ offset: {
46
+ type: string;
47
+ description: string;
48
+ };
49
+ limit: {
50
+ type: string;
51
+ description: string;
52
+ };
53
+ pattern?: undefined;
54
+ glob?: undefined;
55
+ globPattern?: undefined;
56
+ targetDirectory?: undefined;
57
+ old_string?: undefined;
58
+ new_string?: undefined;
59
+ contents?: undefined;
60
+ };
61
+ required: string[];
62
+ };
63
+ };
64
+ } | {
65
+ type: "function";
66
+ function: {
67
+ name: string;
68
+ description: string;
69
+ parameters: {
70
+ type: string;
71
+ properties: {
72
+ globPattern: {
73
+ type: string;
74
+ description: string;
75
+ };
76
+ targetDirectory: {
77
+ type: string;
78
+ description: string;
79
+ };
80
+ pattern?: undefined;
81
+ path?: undefined;
82
+ glob?: undefined;
83
+ offset?: undefined;
84
+ limit?: undefined;
85
+ old_string?: undefined;
86
+ new_string?: undefined;
87
+ contents?: undefined;
88
+ };
89
+ required: string[];
90
+ };
91
+ };
92
+ } | {
93
+ type: "function";
94
+ function: {
95
+ name: string;
96
+ description: string;
97
+ parameters: {
98
+ type: string;
99
+ properties: {
100
+ path: {
101
+ type: string;
102
+ description: string;
103
+ };
104
+ pattern?: undefined;
105
+ glob?: undefined;
106
+ offset?: undefined;
107
+ limit?: undefined;
108
+ globPattern?: undefined;
109
+ targetDirectory?: undefined;
110
+ old_string?: undefined;
111
+ new_string?: undefined;
112
+ contents?: undefined;
113
+ };
114
+ required?: undefined;
115
+ };
116
+ };
117
+ } | {
118
+ type: "function";
119
+ function: {
120
+ name: string;
121
+ description: string;
122
+ parameters: {
123
+ type: string;
124
+ properties: {
125
+ path: {
126
+ type: string;
127
+ description: string;
128
+ };
129
+ old_string: {
130
+ type: string;
131
+ description: string;
132
+ };
133
+ new_string: {
134
+ type: string;
135
+ description: string;
136
+ };
137
+ pattern?: undefined;
138
+ glob?: undefined;
139
+ offset?: undefined;
140
+ limit?: undefined;
141
+ globPattern?: undefined;
142
+ targetDirectory?: undefined;
143
+ contents?: undefined;
144
+ };
145
+ required: string[];
146
+ };
147
+ };
148
+ } | {
149
+ type: "function";
150
+ function: {
151
+ name: string;
152
+ description: string;
153
+ parameters: {
154
+ type: string;
155
+ properties: {
156
+ path: {
157
+ type: string;
158
+ description: string;
159
+ };
160
+ contents: {
161
+ type: string;
162
+ description: string;
163
+ };
164
+ pattern?: undefined;
165
+ glob?: undefined;
166
+ offset?: undefined;
167
+ limit?: undefined;
168
+ globPattern?: undefined;
169
+ targetDirectory?: undefined;
170
+ old_string?: undefined;
171
+ new_string?: undefined;
172
+ };
173
+ required: string[];
174
+ };
175
+ };
176
+ })[];
177
+ //# sourceMappingURL=toolSchemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolSchemas.d.ts","sourceRoot":"","sources":["../../../src/providers/agentic/toolSchemas.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwGlC,CAAC"}
@@ -0,0 +1,104 @@
1
+ /** OpenAI-compatible tool definitions for the agentic custom provider. */
2
+ export const AGENT_TOOL_DEFINITIONS = [
3
+ {
4
+ type: "function",
5
+ function: {
6
+ name: "grep",
7
+ description: "Search for a regex or literal pattern in the repository. Use to locate files and exact strings before editing.",
8
+ parameters: {
9
+ type: "object",
10
+ properties: {
11
+ pattern: { type: "string", description: "Search pattern" },
12
+ path: {
13
+ type: "string",
14
+ description: "File or directory path relative to repo root",
15
+ },
16
+ glob: {
17
+ type: "string",
18
+ description: "Optional glob filter (e.g. *.tsx)",
19
+ },
20
+ },
21
+ required: ["pattern"],
22
+ },
23
+ },
24
+ },
25
+ {
26
+ type: "function",
27
+ function: {
28
+ name: "read",
29
+ description: "Read a file from the repository with optional line range.",
30
+ parameters: {
31
+ type: "object",
32
+ properties: {
33
+ path: { type: "string", description: "File path relative to repo root" },
34
+ offset: { type: "number", description: "1-based start line" },
35
+ limit: { type: "number", description: "Max lines to read" },
36
+ },
37
+ required: ["path"],
38
+ },
39
+ },
40
+ },
41
+ {
42
+ type: "function",
43
+ function: {
44
+ name: "glob",
45
+ description: "Find files matching a glob pattern under the repository.",
46
+ parameters: {
47
+ type: "object",
48
+ properties: {
49
+ globPattern: { type: "string", description: "Glob pattern e.g. **/*.tsx" },
50
+ targetDirectory: {
51
+ type: "string",
52
+ description: "Directory to search from (default: repo root)",
53
+ },
54
+ },
55
+ required: ["globPattern"],
56
+ },
57
+ },
58
+ },
59
+ {
60
+ type: "function",
61
+ function: {
62
+ name: "list_dir",
63
+ description: "List entries in a directory relative to the repo root.",
64
+ parameters: {
65
+ type: "object",
66
+ properties: {
67
+ path: { type: "string", description: "Directory path (default: root)" },
68
+ },
69
+ },
70
+ },
71
+ },
72
+ {
73
+ type: "function",
74
+ function: {
75
+ name: "search_replace",
76
+ description: "Apply a literal search/replace edit. Copy old_string exactly from a prior read result.",
77
+ parameters: {
78
+ type: "object",
79
+ properties: {
80
+ path: { type: "string", description: "File path relative to repo root" },
81
+ old_string: { type: "string", description: "Exact text to find" },
82
+ new_string: { type: "string", description: "Replacement text" },
83
+ },
84
+ required: ["path", "old_string", "new_string"],
85
+ },
86
+ },
87
+ },
88
+ {
89
+ type: "function",
90
+ function: {
91
+ name: "write",
92
+ description: "Write full file contents. Use when search_replace fails or for new files under ALLOWED_WRITE_PATHS.",
93
+ parameters: {
94
+ type: "object",
95
+ properties: {
96
+ path: { type: "string", description: "File path relative to repo root" },
97
+ contents: { type: "string", description: "Full file contents" },
98
+ },
99
+ required: ["path", "contents"],
100
+ },
101
+ },
102
+ },
103
+ ];
104
+ //# sourceMappingURL=toolSchemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolSchemas.js","sourceRoot":"","sources":["../../../src/providers/agentic/toolSchemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /** OpenAI-compatible chat message with optional MiniMax reasoning fields. */
2
+ export type AgentHistoryMessage = {
3
+ role: string;
4
+ content?: unknown;
5
+ tool_calls?: unknown;
6
+ tool_call_id?: string;
7
+ reasoning_details?: unknown;
8
+ reasoning_content?: unknown;
9
+ [key: string]: unknown;
10
+ };
11
+ /** Max assistant+tool round pairs to retain (`AUVIRA_AGENT_HISTORY_TOOL_ROUNDS`). */
12
+ export declare function getHistoryToolRounds(): number;
13
+ /**
14
+ * Trims agent message history before each model call.
15
+ * Keeps system, first user bootstrap, and the last N tool rounds intact.
16
+ */
17
+ export declare function trimAgentHistory(messages: AgentHistoryMessage[], maxToolRounds?: number): AgentHistoryMessage[];
18
+ //# sourceMappingURL=trimAgentHistory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trimAgentHistory.d.ts","sourceRoot":"","sources":["../../../src/providers/agentic/trimAgentHistory.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAIF,qFAAqF;AACrF,wBAAgB,oBAAoB,IAAI,MAAM,CAU7C;AAwBD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,mBAAmB,EAAE,EAC/B,aAAa,SAAyB,GACrC,mBAAmB,EAAE,CAyCvB"}