@within-7/minto 0.1.5 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/dist/commands/agents/AgentsCommand.js +2342 -0
  2. package/dist/commands/agents/AgentsCommand.js.map +7 -0
  3. package/dist/commands/agents/constants.js +58 -0
  4. package/dist/commands/agents/constants.js.map +7 -0
  5. package/dist/commands/agents/index.js +37 -0
  6. package/dist/commands/agents/index.js.map +7 -0
  7. package/dist/commands/agents/types.js +10 -0
  8. package/dist/commands/agents/types.js.map +7 -0
  9. package/dist/commands/agents/utils/fileOperations.js +185 -0
  10. package/dist/commands/agents/utils/fileOperations.js.map +7 -0
  11. package/dist/commands/agents/utils/index.js +21 -0
  12. package/dist/commands/agents/utils/index.js.map +7 -0
  13. package/dist/commands/bug.js +2 -2
  14. package/dist/commands/bug.js.map +2 -2
  15. package/dist/commands/compact.js +5 -5
  16. package/dist/commands/compact.js.map +2 -2
  17. package/dist/commands/ctx_viz.js +55 -22
  18. package/dist/commands/ctx_viz.js.map +2 -2
  19. package/dist/commands/mcp-interactive.js +11 -11
  20. package/dist/commands/mcp-interactive.js.map +2 -2
  21. package/dist/commands/model.js +94 -32
  22. package/dist/commands/model.js.map +3 -3
  23. package/dist/commands/plugin/AddMarketplaceForm.js +49 -21
  24. package/dist/commands/plugin/AddMarketplaceForm.js.map +2 -2
  25. package/dist/commands/plugin/ConfirmDialog.js +38 -26
  26. package/dist/commands/plugin/ConfirmDialog.js.map +2 -2
  27. package/dist/commands/plugin/InstalledPluginsByMarketplace.js +24 -8
  28. package/dist/commands/plugin/InstalledPluginsByMarketplace.js.map +2 -2
  29. package/dist/commands/plugin/InstalledPluginsManager.js +3 -1
  30. package/dist/commands/plugin/InstalledPluginsManager.js.map +2 -2
  31. package/dist/commands/plugin/MainMenu.js +16 -7
  32. package/dist/commands/plugin/MainMenu.js.map +2 -2
  33. package/dist/commands/plugin/MarketplaceManager.js +84 -39
  34. package/dist/commands/plugin/MarketplaceManager.js.map +2 -2
  35. package/dist/commands/plugin/MarketplaceSelector.js +7 -3
  36. package/dist/commands/plugin/MarketplaceSelector.js.map +2 -2
  37. package/dist/commands/plugin/PlaceholderScreen.js +16 -2
  38. package/dist/commands/plugin/PlaceholderScreen.js.map +2 -2
  39. package/dist/commands/plugin/PluginBrowser.js +4 -2
  40. package/dist/commands/plugin/PluginBrowser.js.map +2 -2
  41. package/dist/commands/plugin/PluginDetailsInstall.js +12 -6
  42. package/dist/commands/plugin/PluginDetailsInstall.js.map +2 -2
  43. package/dist/commands/plugin/PluginDetailsManage.js +14 -5
  44. package/dist/commands/plugin/PluginDetailsManage.js.map +2 -2
  45. package/dist/commands/plugin/example-usage.js.map +2 -2
  46. package/dist/commands/plugin/utils.js.map +2 -2
  47. package/dist/commands/plugin.js +226 -46
  48. package/dist/commands/plugin.js.map +2 -2
  49. package/dist/commands/refreshCommands.js +6 -3
  50. package/dist/commands/refreshCommands.js.map +2 -2
  51. package/dist/commands/resume.js +2 -1
  52. package/dist/commands/resume.js.map +2 -2
  53. package/dist/commands/setup.js +19 -5
  54. package/dist/commands/setup.js.map +2 -2
  55. package/dist/commands/terminalSetup.js +2 -2
  56. package/dist/commands/terminalSetup.js.map +1 -1
  57. package/dist/commands.js +14 -30
  58. package/dist/commands.js.map +2 -2
  59. package/dist/components/AskUserQuestionDialog/AskUserQuestionDialog.js.map +2 -2
  60. package/dist/components/AskUserQuestionDialog/QuestionView.js +10 -1
  61. package/dist/components/AskUserQuestionDialog/QuestionView.js.map +2 -2
  62. package/dist/components/BackgroundTasksPanel.js +5 -1
  63. package/dist/components/BackgroundTasksPanel.js.map +2 -2
  64. package/dist/components/Config.js +17 -4
  65. package/dist/components/Config.js.map +2 -2
  66. package/dist/components/ConsoleOAuthFlow.js.map +2 -2
  67. package/dist/components/CustomSelect/select-option.js +4 -1
  68. package/dist/components/CustomSelect/select-option.js.map +2 -2
  69. package/dist/components/Help.js +6 -8
  70. package/dist/components/Help.js.map +2 -2
  71. package/dist/components/Logo.js +1 -1
  72. package/dist/components/Logo.js.map +2 -2
  73. package/dist/components/ModelListManager.js.map +2 -2
  74. package/dist/components/ModelSelector/ModelSelector.js +2030 -0
  75. package/dist/components/ModelSelector/ModelSelector.js.map +7 -0
  76. package/dist/components/ModelSelector/ScreenContainer.js +27 -0
  77. package/dist/components/ModelSelector/ScreenContainer.js.map +7 -0
  78. package/dist/components/ModelSelector/constants.js +37 -0
  79. package/dist/components/ModelSelector/constants.js.map +7 -0
  80. package/dist/components/ModelSelector/hooks/index.js +5 -0
  81. package/dist/components/ModelSelector/hooks/index.js.map +7 -0
  82. package/dist/components/ModelSelector/hooks/useEscapeNavigation.js +21 -0
  83. package/dist/components/ModelSelector/hooks/useEscapeNavigation.js.map +7 -0
  84. package/dist/components/ModelSelector/index.js +17 -0
  85. package/dist/components/ModelSelector/index.js.map +7 -0
  86. package/dist/components/ModelSelector/types.js +1 -0
  87. package/dist/components/ModelSelector/types.js.map +7 -0
  88. package/dist/components/PressEnterToContinue.js +1 -1
  89. package/dist/components/PressEnterToContinue.js.map +2 -2
  90. package/dist/components/ProjectOnboarding.js +1 -1
  91. package/dist/components/ProjectOnboarding.js.map +2 -2
  92. package/dist/components/PromptInput.js +88 -37
  93. package/dist/components/PromptInput.js.map +2 -2
  94. package/dist/components/QuitSummary.js +17 -10
  95. package/dist/components/QuitSummary.js.map +2 -2
  96. package/dist/components/SentryErrorBoundary.js.map +2 -2
  97. package/dist/components/StreamingBashOutput.js.map +2 -2
  98. package/dist/components/StructuredDiff.js.map +2 -2
  99. package/dist/components/SubagentProgress.js.map +2 -2
  100. package/dist/components/TaskCard.js.map +2 -2
  101. package/dist/components/TextInput.js.map +1 -1
  102. package/dist/components/TodoItem.js.map +1 -1
  103. package/dist/components/binary-feedback/BinaryFeedbackOption.js +1 -3
  104. package/dist/components/binary-feedback/BinaryFeedbackOption.js.map +2 -2
  105. package/dist/components/messages/AssistantLocalCommandOutputMessage.js.map +1 -1
  106. package/dist/components/messages/AssistantToolUseMessage.js +3 -1
  107. package/dist/components/messages/AssistantToolUseMessage.js.map +2 -2
  108. package/dist/components/messages/TaskProgressMessage.js.map +2 -2
  109. package/dist/components/messages/TaskToolMessage.js.map +2 -2
  110. package/dist/components/messages/UserToolResultMessage/utils.js.map +2 -2
  111. package/dist/components/permissions/FileEditPermissionRequest/FileEditToolDiff.js.map +2 -2
  112. package/dist/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.js.map +2 -2
  113. package/dist/components/permissions/hooks.js.map +2 -2
  114. package/dist/constants/modelCapabilities.js +1 -1
  115. package/dist/constants/modelCapabilities.js.map +2 -2
  116. package/dist/constants/prompts.js.map +1 -1
  117. package/dist/constants/timing.js +34 -0
  118. package/dist/constants/timing.js.map +7 -0
  119. package/dist/entrypoints/cli.js +128 -33
  120. package/dist/entrypoints/cli.js.map +3 -3
  121. package/dist/entrypoints/mcp.js +13 -18
  122. package/dist/entrypoints/mcp.js.map +2 -2
  123. package/dist/hooks/useCanUseTool.js.map +2 -2
  124. package/dist/hooks/useCancelRequest.js.map +1 -1
  125. package/dist/hooks/useHistorySearch.js.map +2 -2
  126. package/dist/hooks/useLogStartupTime.js.map +2 -2
  127. package/dist/hooks/usePermissionRequestLogging.js.map +2 -2
  128. package/dist/hooks/useTextInput.js.map +1 -1
  129. package/dist/hooks/useUnifiedCompletion.js +493 -394
  130. package/dist/hooks/useUnifiedCompletion.js.map +2 -2
  131. package/dist/index.js.map +2 -2
  132. package/dist/permissions.js +4 -7
  133. package/dist/permissions.js.map +2 -2
  134. package/dist/query.js +6 -1
  135. package/dist/query.js.map +2 -2
  136. package/dist/screens/REPL.js +72 -36
  137. package/dist/screens/REPL.js.map +2 -2
  138. package/dist/screens/ResumeConversation.js +2 -1
  139. package/dist/screens/ResumeConversation.js.map +2 -2
  140. package/dist/services/adapters/base.js.map +2 -2
  141. package/dist/services/adapters/chatCompletions.js.map +2 -2
  142. package/dist/services/adapters/responsesAPI.js +3 -1
  143. package/dist/services/adapters/responsesAPI.js.map +2 -2
  144. package/dist/services/claude.js +327 -328
  145. package/dist/services/claude.js.map +2 -2
  146. package/dist/services/customCommands.js +6 -1
  147. package/dist/services/customCommands.js.map +2 -2
  148. package/dist/services/fileFreshness.js.map +2 -2
  149. package/dist/services/gpt5ConnectionTest.js +20 -7
  150. package/dist/services/gpt5ConnectionTest.js.map +2 -2
  151. package/dist/services/hookExecutor.js +6 -12
  152. package/dist/services/hookExecutor.js.map +2 -2
  153. package/dist/services/mcpClient.js +29 -2
  154. package/dist/services/mcpClient.js.map +2 -2
  155. package/dist/services/mentionProcessor.js +23 -10
  156. package/dist/services/mentionProcessor.js.map +2 -2
  157. package/dist/services/modelAdapterFactory.js.map +2 -2
  158. package/dist/services/oauth.js.map +2 -2
  159. package/dist/services/openai.js +109 -72
  160. package/dist/services/openai.js.map +3 -3
  161. package/dist/services/responseStateManager.js.map +2 -2
  162. package/dist/services/systemReminder.js.map +2 -2
  163. package/dist/tools/ArchitectTool/ArchitectTool.js +10 -9
  164. package/dist/tools/ArchitectTool/ArchitectTool.js.map +2 -2
  165. package/dist/tools/AskExpertModelTool/AskExpertModelTool.js +14 -8
  166. package/dist/tools/AskExpertModelTool/AskExpertModelTool.js.map +2 -2
  167. package/dist/tools/AskUserQuestionTool/AskUserQuestionTool.js +8 -1
  168. package/dist/tools/AskUserQuestionTool/AskUserQuestionTool.js.map +2 -2
  169. package/dist/tools/BashOutputTool/BashOutputTool.js.map +2 -2
  170. package/dist/tools/BashTool/BashTool.js.map +2 -2
  171. package/dist/tools/FileReadTool/FileReadTool.js +23 -4
  172. package/dist/tools/FileReadTool/FileReadTool.js.map +2 -2
  173. package/dist/tools/FileWriteTool/FileWriteTool.js.map +2 -2
  174. package/dist/tools/GlobTool/GlobTool.js +11 -2
  175. package/dist/tools/GlobTool/GlobTool.js.map +2 -2
  176. package/dist/tools/GrepTool/GrepTool.js +7 -5
  177. package/dist/tools/GrepTool/GrepTool.js.map +2 -2
  178. package/dist/tools/MCPTool/MCPTool.js +11 -12
  179. package/dist/tools/MCPTool/MCPTool.js.map +2 -2
  180. package/dist/tools/MultiEditTool/MultiEditTool.js +4 -1
  181. package/dist/tools/MultiEditTool/MultiEditTool.js.map +2 -2
  182. package/dist/tools/NotebookReadTool/NotebookReadTool.js +11 -5
  183. package/dist/tools/NotebookReadTool/NotebookReadTool.js.map +2 -2
  184. package/dist/tools/SkillTool/SkillTool.js +18 -6
  185. package/dist/tools/SkillTool/SkillTool.js.map +2 -2
  186. package/dist/tools/TaskTool/TaskTool.js +37 -51
  187. package/dist/tools/TaskTool/TaskTool.js.map +2 -2
  188. package/dist/tools/TaskTool/prompt.js.map +2 -2
  189. package/dist/tools/ThinkTool/ThinkTool.js +6 -1
  190. package/dist/tools/ThinkTool/ThinkTool.js.map +2 -2
  191. package/dist/tools/TodoWriteTool/TodoWriteTool.js +29 -5
  192. package/dist/tools/TodoWriteTool/TodoWriteTool.js.map +2 -2
  193. package/dist/tools/URLFetcherTool/URLFetcherTool.js +5 -2
  194. package/dist/tools/URLFetcherTool/URLFetcherTool.js.map +2 -2
  195. package/dist/tools/URLFetcherTool/cache.js +6 -3
  196. package/dist/tools/URLFetcherTool/cache.js.map +2 -2
  197. package/dist/tools/URLFetcherTool/htmlToMarkdown.js +3 -1
  198. package/dist/tools/URLFetcherTool/htmlToMarkdown.js.map +2 -2
  199. package/dist/tools/WebSearchTool/WebSearchTool.js +6 -1
  200. package/dist/tools/WebSearchTool/WebSearchTool.js.map +2 -2
  201. package/dist/tools/WebSearchTool/prompt.js.map +2 -2
  202. package/dist/tools/WebSearchTool/searchProviders.js +15 -6
  203. package/dist/tools/WebSearchTool/searchProviders.js.map +2 -2
  204. package/dist/tools.js +4 -1
  205. package/dist/tools.js.map +2 -2
  206. package/dist/types/core.js +1 -0
  207. package/dist/types/core.js.map +7 -0
  208. package/dist/types/hooks.js +1 -4
  209. package/dist/types/hooks.js.map +2 -2
  210. package/dist/types/marketplace.js +8 -2
  211. package/dist/types/marketplace.js.map +2 -2
  212. package/dist/types/plugin.js +9 -6
  213. package/dist/types/plugin.js.map +2 -2
  214. package/dist/utils/BackgroundShellManager.js +76 -10
  215. package/dist/utils/BackgroundShellManager.js.map +2 -2
  216. package/dist/utils/PersistentShell.js +7 -2
  217. package/dist/utils/PersistentShell.js.map +2 -2
  218. package/dist/utils/advancedFuzzyMatcher.js +4 -1
  219. package/dist/utils/advancedFuzzyMatcher.js.map +2 -2
  220. package/dist/utils/agentLoader.js +69 -35
  221. package/dist/utils/agentLoader.js.map +2 -2
  222. package/dist/utils/agentStorage.js.map +2 -2
  223. package/dist/utils/async.js +163 -0
  224. package/dist/utils/async.js.map +7 -0
  225. package/dist/utils/autoUpdater.js +8 -2
  226. package/dist/utils/autoUpdater.js.map +2 -2
  227. package/dist/utils/commands.js +23 -11
  228. package/dist/utils/commands.js.map +2 -2
  229. package/dist/utils/commonUnixCommands.js +3 -1
  230. package/dist/utils/commonUnixCommands.js.map +2 -2
  231. package/dist/utils/compressionMode.js.map +2 -2
  232. package/dist/utils/config.js +30 -14
  233. package/dist/utils/config.js.map +2 -2
  234. package/dist/utils/debugLogger.js.map +2 -2
  235. package/dist/utils/env.js.map +2 -2
  236. package/dist/utils/envConfig.js +82 -0
  237. package/dist/utils/envConfig.js.map +7 -0
  238. package/dist/utils/errorHandling.js +89 -0
  239. package/dist/utils/errorHandling.js.map +7 -0
  240. package/dist/utils/expertChatStorage.js.map +2 -2
  241. package/dist/utils/fuzzyMatcher.js +13 -7
  242. package/dist/utils/fuzzyMatcher.js.map +2 -2
  243. package/dist/utils/hookManager.js +14 -4
  244. package/dist/utils/hookManager.js.map +2 -2
  245. package/dist/utils/log.js.map +2 -2
  246. package/dist/utils/marketplaceManager.js +44 -9
  247. package/dist/utils/marketplaceManager.js.map +2 -2
  248. package/dist/utils/messageContextManager.js.map +1 -1
  249. package/dist/utils/messages.js +6 -3
  250. package/dist/utils/messages.js.map +2 -2
  251. package/dist/utils/model.js +3 -1
  252. package/dist/utils/model.js.map +2 -2
  253. package/dist/utils/pluginInstaller.js +3 -15
  254. package/dist/utils/pluginInstaller.js.map +2 -2
  255. package/dist/utils/pluginLoader.js +41 -13
  256. package/dist/utils/pluginLoader.js.map +2 -2
  257. package/dist/utils/pluginRegistry.js.map +2 -2
  258. package/dist/utils/pluginValidator.js +71 -49
  259. package/dist/utils/pluginValidator.js.map +2 -2
  260. package/dist/utils/ptyCompat.js.map +2 -2
  261. package/dist/utils/roundConverter.js.map +2 -2
  262. package/dist/utils/secureFile.js +43 -14
  263. package/dist/utils/secureFile.js.map +2 -2
  264. package/dist/utils/sessionState.js.map +2 -2
  265. package/dist/utils/skillLoader.js.map +2 -2
  266. package/dist/utils/teamConfig.js +7 -4
  267. package/dist/utils/teamConfig.js.map +2 -2
  268. package/dist/utils/theme.js.map +2 -2
  269. package/dist/utils/thinking.js.map +2 -2
  270. package/dist/utils/unaryLogging.js.map +2 -2
  271. package/dist/version.js +2 -2
  272. package/dist/version.js.map +1 -1
  273. package/package.json +5 -5
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/screens/ResumeConversation.tsx"],
4
- "sourcesContent": ["import React from 'react'\nimport { render } from 'ink'\nimport { REPL } from './REPL'\nimport { deserializeMessages } from '@utils/conversationRecovery'\nimport { LogSelector } from '@components/LogSelector'\nimport type { LogOption } from '@minto-types/logs'\nimport { logError, getNextAvailableLogForkNumber } from '@utils/log'\nimport type { Tool } from '@tool'\nimport { Command } from '@commands'\nimport { isDefaultSlowAndCapableModel } from '@utils/model'\n\ntype Props = {\n commands: Command[]\n context: { unmount?: () => void }\n logs: LogOption[]\n tools: Tool[]\n verbose: boolean | undefined\n}\n\nexport function ResumeConversation({\n context,\n commands,\n logs,\n tools,\n verbose,\n}: Props): React.ReactNode {\n async function onSelect(index: number) {\n const log = logs[index]\n if (!log) {\n return\n }\n\n // Load and deserialize the messages\n try {\n context.unmount?.()\n // Start a new REPL with the loaded messages\n // Increment the fork number by 1 to generate a new transcript\n // Check if using default model before rendering\n const isDefaultModel = await isDefaultSlowAndCapableModel()\n\n render(\n <REPL\n messageLogName={log.date}\n initialPrompt=\"\"\n shouldShowPromptInput={true}\n verbose={verbose}\n commands={commands}\n tools={tools}\n initialMessages={deserializeMessages(log.messages, tools)}\n initialForkNumber={getNextAvailableLogForkNumber(\n log.date,\n log.forkNumber ?? 1,\n 0,\n )}\n isDefaultModel={isDefaultModel}\n />,\n {\n exitOnCtrlC: false,\n },\n )\n } catch (e) {\n logError(`Failed to load conversation: ${e}`)\n throw e\n }\n }\n\n return <LogSelector logs={logs} onSelect={onSelect} />\n}\n"],
5
- "mappings": "AAAA,OAAO,WAAW;AAClB,SAAS,cAAc;AACvB,SAAS,YAAY;AACrB,SAAS,2BAA2B;AACpC,SAAS,mBAAmB;AAE5B,SAAS,UAAU,qCAAqC;AAGxD,SAAS,oCAAoC;AAUtC,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA2B;AACzB,iBAAe,SAAS,OAAe;AACrC,UAAM,MAAM,KAAK,KAAK;AACtB,QAAI,CAAC,KAAK;AACR;AAAA,IACF;AAGA,QAAI;AACF,cAAQ,UAAU;AAIlB,YAAM,iBAAiB,MAAM,6BAA6B;AAE1D;AAAA,QACE;AAAA,UAAC;AAAA;AAAA,YACC,gBAAgB,IAAI;AAAA,YACpB,eAAc;AAAA,YACd,uBAAuB;AAAA,YACvB;AAAA,YACA;AAAA,YACA;AAAA,YACA,iBAAiB,oBAAoB,IAAI,UAAU,KAAK;AAAA,YACxD,mBAAmB;AAAA,cACjB,IAAI;AAAA,cACJ,IAAI,cAAc;AAAA,cAClB;AAAA,YACF;AAAA,YACA;AAAA;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,QACf;AAAA,MACF;AAAA,IACF,SAAS,GAAG;AACV,eAAS,gCAAgC,CAAC,EAAE;AAC5C,YAAM;AAAA,IACR;AAAA,EACF;AAEA,SAAO,oCAAC,eAAY,MAAY,UAAoB;AACtD;",
4
+ "sourcesContent": ["import React from 'react'\nimport { render } from 'ink'\nimport { REPL } from './REPL'\nimport { deserializeMessages } from '@utils/conversationRecovery'\nimport { LogSelector } from '@components/LogSelector'\nimport type { LogOption } from '@minto-types/logs'\nimport { logError, getNextAvailableLogForkNumber } from '@utils/log'\nimport type { Tool } from '@tool'\nimport { Command } from '@commands'\nimport { isDefaultSlowAndCapableModel } from '@utils/model'\n\ntype Props = {\n commands: Command[]\n context: { unmount?: () => void }\n logs: LogOption[]\n tools: Tool[]\n verbose: boolean | undefined\n}\n\nexport function ResumeConversation({\n context,\n commands,\n logs,\n tools,\n verbose,\n}: Props): React.ReactNode {\n async function onSelect(index: number) {\n const log = logs[index]\n if (!log) {\n return\n }\n\n // Load and deserialize the messages\n try {\n context.unmount?.()\n // Start a new REPL with the loaded messages\n // Increment the fork number by 1 to generate a new transcript\n // Check if using default model before rendering\n const isDefaultModel = await isDefaultSlowAndCapableModel()\n\n render(\n <REPL\n messageLogName={log.date}\n initialPrompt=\"\"\n shouldShowPromptInput={true}\n verbose={verbose}\n commands={commands}\n tools={tools}\n initialMessages={deserializeMessages(log.messages, tools)}\n initialForkNumber={getNextAvailableLogForkNumber(\n log.date,\n log.forkNumber ?? 1,\n 0,\n )}\n isDefaultModel={isDefaultModel}\n isResumedConversation={true}\n />,\n {\n exitOnCtrlC: false,\n },\n )\n } catch (e) {\n logError(`Failed to load conversation: ${e}`)\n throw e\n }\n }\n\n return <LogSelector logs={logs} onSelect={onSelect} />\n}\n"],
5
+ "mappings": "AAAA,OAAO,WAAW;AAClB,SAAS,cAAc;AACvB,SAAS,YAAY;AACrB,SAAS,2BAA2B;AACpC,SAAS,mBAAmB;AAE5B,SAAS,UAAU,qCAAqC;AAGxD,SAAS,oCAAoC;AAUtC,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA2B;AACzB,iBAAe,SAAS,OAAe;AACrC,UAAM,MAAM,KAAK,KAAK;AACtB,QAAI,CAAC,KAAK;AACR;AAAA,IACF;AAGA,QAAI;AACF,cAAQ,UAAU;AAIlB,YAAM,iBAAiB,MAAM,6BAA6B;AAE1D;AAAA,QACE;AAAA,UAAC;AAAA;AAAA,YACC,gBAAgB,IAAI;AAAA,YACpB,eAAc;AAAA,YACd,uBAAuB;AAAA,YACvB;AAAA,YACA;AAAA,YACA;AAAA,YACA,iBAAiB,oBAAoB,IAAI,UAAU,KAAK;AAAA,YACxD,mBAAmB;AAAA,cACjB,IAAI;AAAA,cACJ,IAAI,cAAc;AAAA,cAClB;AAAA,YACF;AAAA,YACA;AAAA,YACA,uBAAuB;AAAA;AAAA,QACzB;AAAA,QACA;AAAA,UACE,aAAa;AAAA,QACf;AAAA,MACF;AAAA,IACF,SAAS,GAAG;AACV,eAAS,gCAAgC,CAAC,EAAE;AAC5C,YAAM;AAAA,IACR;AAAA,EACF;AAEA,SAAO,oCAAC,eAAY,MAAY,UAAoB;AACtD;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/services/adapters/base.ts"],
4
- "sourcesContent": ["import { ModelCapabilities, UnifiedRequestParams, UnifiedResponse } from '@minto-types/modelCapabilities'\nimport { ModelProfile } from '@utils/config'\nimport { Tool } from '@tool'\n\nexport abstract class ModelAPIAdapter {\n constructor(\n protected capabilities: ModelCapabilities,\n protected modelProfile: ModelProfile\n ) {}\n \n // Subclasses must implement these methods\n abstract createRequest(params: UnifiedRequestParams): any\n abstract parseResponse(response: any): UnifiedResponse\n abstract buildTools(tools: Tool[]): any\n \n // Shared utility methods\n protected getMaxTokensParam(): string {\n return this.capabilities.parameters.maxTokensField\n }\n \n protected getTemperature(): number {\n if (this.capabilities.parameters.temperatureMode === 'fixed_one') {\n return 1\n }\n if (this.capabilities.parameters.temperatureMode === 'restricted') {\n return Math.min(1, 0.7)\n }\n return 0.7\n }\n \n protected shouldIncludeReasoningEffort(): boolean {\n return this.capabilities.parameters.supportsReasoningEffort\n }\n \n protected shouldIncludeVerbosity(): boolean {\n return this.capabilities.parameters.supportsVerbosity\n }\n}\n"],
5
- "mappings": "AAIO,MAAe,gBAAgB;AAAA,EACpC,YACY,cACA,cACV;AAFU;AACA;AAAA,EACT;AAAA;AAAA,EAQO,oBAA4B;AACpC,WAAO,KAAK,aAAa,WAAW;AAAA,EACtC;AAAA,EAEU,iBAAyB;AACjC,QAAI,KAAK,aAAa,WAAW,oBAAoB,aAAa;AAChE,aAAO;AAAA,IACT;AACA,QAAI,KAAK,aAAa,WAAW,oBAAoB,cAAc;AACjE,aAAO,KAAK,IAAI,GAAG,GAAG;AAAA,IACxB;AACA,WAAO;AAAA,EACT;AAAA,EAEU,+BAAwC;AAChD,WAAO,KAAK,aAAa,WAAW;AAAA,EACtC;AAAA,EAEU,yBAAkC;AAC1C,WAAO,KAAK,aAAa,WAAW;AAAA,EACtC;AACF;",
4
+ "sourcesContent": ["import {\n ModelCapabilities,\n UnifiedRequestParams,\n UnifiedResponse,\n} from '@minto-types/modelCapabilities'\nimport { ModelProfile } from '@utils/config'\nimport { Tool } from '@tool'\n\nexport abstract class ModelAPIAdapter {\n constructor(\n protected capabilities: ModelCapabilities,\n protected modelProfile: ModelProfile,\n ) {}\n\n // Subclasses must implement these methods\n abstract createRequest(params: UnifiedRequestParams): any\n abstract parseResponse(response: any): UnifiedResponse\n abstract buildTools(tools: Tool[]): any\n\n // Shared utility methods\n protected getMaxTokensParam(): string {\n return this.capabilities.parameters.maxTokensField\n }\n\n protected getTemperature(): number {\n if (this.capabilities.parameters.temperatureMode === 'fixed_one') {\n return 1\n }\n if (this.capabilities.parameters.temperatureMode === 'restricted') {\n return Math.min(1, 0.7)\n }\n return 0.7\n }\n\n protected shouldIncludeReasoningEffort(): boolean {\n return this.capabilities.parameters.supportsReasoningEffort\n }\n\n protected shouldIncludeVerbosity(): boolean {\n return this.capabilities.parameters.supportsVerbosity\n }\n}\n"],
5
+ "mappings": "AAQO,MAAe,gBAAgB;AAAA,EACpC,YACY,cACA,cACV;AAFU;AACA;AAAA,EACT;AAAA;AAAA,EAQO,oBAA4B;AACpC,WAAO,KAAK,aAAa,WAAW;AAAA,EACtC;AAAA,EAEU,iBAAyB;AACjC,QAAI,KAAK,aAAa,WAAW,oBAAoB,aAAa;AAChE,aAAO;AAAA,IACT;AACA,QAAI,KAAK,aAAa,WAAW,oBAAoB,cAAc;AACjE,aAAO,KAAK,IAAI,GAAG,GAAG;AAAA,IACxB;AACA,WAAO;AAAA,EACT;AAAA,EAEU,+BAAwC;AAChD,WAAO,KAAK,aAAa,WAAW;AAAA,EACtC;AAAA,EAEU,yBAAkC;AAC1C,WAAO,KAAK,aAAa,WAAW;AAAA,EACtC;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/services/adapters/chatCompletions.ts"],
4
- "sourcesContent": ["import { ModelAPIAdapter } from './base'\nimport { UnifiedRequestParams, UnifiedResponse } from '@minto-types/modelCapabilities'\nimport { Tool } from '@tool'\nimport { zodToJsonSchema } from 'zod-to-json-schema'\n\nexport class ChatCompletionsAdapter extends ModelAPIAdapter {\n createRequest(params: UnifiedRequestParams): any {\n const { messages, systemPrompt, tools, maxTokens, stream } = params\n \n // Build complete message list (including system prompts)\n const fullMessages = this.buildMessages(systemPrompt, messages)\n \n // Build request\n const request: any = {\n model: this.modelProfile.modelName,\n messages: fullMessages,\n [this.getMaxTokensParam()]: maxTokens,\n temperature: this.getTemperature()\n }\n \n // Add tools\n if (tools && tools.length > 0) {\n request.tools = this.buildTools(tools)\n request.tool_choice = 'auto'\n }\n \n // Add reasoning effort for GPT-5 via Chat Completions\n if (this.shouldIncludeReasoningEffort() && params.reasoningEffort) {\n request.reasoning_effort = params.reasoningEffort // Chat Completions format\n }\n \n // Add verbosity for GPT-5 via Chat Completions\n if (this.shouldIncludeVerbosity() && params.verbosity) {\n request.verbosity = params.verbosity // Chat Completions format\n }\n \n // Add streaming options\n if (stream) {\n request.stream = true\n request.stream_options = {\n include_usage: true\n }\n }\n \n // O1 model special handling\n if (this.modelProfile.modelName.startsWith('o1')) {\n delete request.temperature // O1 doesn't support temperature\n delete request.stream // O1 doesn't support streaming\n delete request.stream_options\n }\n \n return request\n }\n \n buildTools(tools: Tool[]): any[] {\n // Chat Completions only supports traditional function calling\n return tools.map(tool => ({\n type: 'function',\n function: {\n name: tool.name,\n description: tool.description || '',\n parameters: tool.inputJSONSchema || zodToJsonSchema(tool.inputSchema)\n }\n }))\n }\n \n parseResponse(response: any): UnifiedResponse {\n const choice = response.choices?.[0]\n \n return {\n id: response.id || `chatcmpl_${Date.now()}`,\n content: choice?.message?.content || '',\n toolCalls: choice?.message?.tool_calls || [],\n usage: {\n promptTokens: response.usage?.prompt_tokens || 0,\n completionTokens: response.usage?.completion_tokens || 0\n }\n }\n }\n \n private buildMessages(systemPrompt: string[], messages: any[]): any[] {\n // Merge system prompts and messages\n const systemMessages = systemPrompt.map(prompt => ({\n role: 'system',\n content: prompt\n }))\n \n return [...systemMessages, ...messages]\n }\n}\n"],
5
- "mappings": "AAAA,SAAS,uBAAuB;AAGhC,SAAS,uBAAuB;AAEzB,MAAM,+BAA+B,gBAAgB;AAAA,EAC1D,cAAc,QAAmC;AAC/C,UAAM,EAAE,UAAU,cAAc,OAAO,WAAW,OAAO,IAAI;AAG7D,UAAM,eAAe,KAAK,cAAc,cAAc,QAAQ;AAG9D,UAAM,UAAe;AAAA,MACnB,OAAO,KAAK,aAAa;AAAA,MACzB,UAAU;AAAA,MACV,CAAC,KAAK,kBAAkB,CAAC,GAAG;AAAA,MAC5B,aAAa,KAAK,eAAe;AAAA,IACnC;AAGA,QAAI,SAAS,MAAM,SAAS,GAAG;AAC7B,cAAQ,QAAQ,KAAK,WAAW,KAAK;AACrC,cAAQ,cAAc;AAAA,IACxB;AAGA,QAAI,KAAK,6BAA6B,KAAK,OAAO,iBAAiB;AACjE,cAAQ,mBAAmB,OAAO;AAAA,IACpC;AAGA,QAAI,KAAK,uBAAuB,KAAK,OAAO,WAAW;AACrD,cAAQ,YAAY,OAAO;AAAA,IAC7B;AAGA,QAAI,QAAQ;AACV,cAAQ,SAAS;AACjB,cAAQ,iBAAiB;AAAA,QACvB,eAAe;AAAA,MACjB;AAAA,IACF;AAGA,QAAI,KAAK,aAAa,UAAU,WAAW,IAAI,GAAG;AAChD,aAAO,QAAQ;AACf,aAAO,QAAQ;AACf,aAAO,QAAQ;AAAA,IACjB;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,WAAW,OAAsB;AAE/B,WAAO,MAAM,IAAI,WAAS;AAAA,MACxB,MAAM;AAAA,MACN,UAAU;AAAA,QACR,MAAM,KAAK;AAAA,QACX,aAAa,KAAK,eAAe;AAAA,QACjC,YAAY,KAAK,mBAAmB,gBAAgB,KAAK,WAAW;AAAA,MACtE;AAAA,IACF,EAAE;AAAA,EACJ;AAAA,EAEA,cAAc,UAAgC;AAC5C,UAAM,SAAS,SAAS,UAAU,CAAC;AAEnC,WAAO;AAAA,MACL,IAAI,SAAS,MAAM,YAAY,KAAK,IAAI,CAAC;AAAA,MACzC,SAAS,QAAQ,SAAS,WAAW;AAAA,MACrC,WAAW,QAAQ,SAAS,cAAc,CAAC;AAAA,MAC3C,OAAO;AAAA,QACL,cAAc,SAAS,OAAO,iBAAiB;AAAA,QAC/C,kBAAkB,SAAS,OAAO,qBAAqB;AAAA,MACzD;AAAA,IACF;AAAA,EACF;AAAA,EAEQ,cAAc,cAAwB,UAAwB;AAEpE,UAAM,iBAAiB,aAAa,IAAI,aAAW;AAAA,MACjD,MAAM;AAAA,MACN,SAAS;AAAA,IACX,EAAE;AAEF,WAAO,CAAC,GAAG,gBAAgB,GAAG,QAAQ;AAAA,EACxC;AACF;",
4
+ "sourcesContent": ["import { ModelAPIAdapter } from './base'\nimport {\n UnifiedRequestParams,\n UnifiedResponse,\n} from '@minto-types/modelCapabilities'\nimport { Tool } from '@tool'\nimport { zodToJsonSchema } from 'zod-to-json-schema'\n\nexport class ChatCompletionsAdapter extends ModelAPIAdapter {\n createRequest(params: UnifiedRequestParams): any {\n const { messages, systemPrompt, tools, maxTokens, stream } = params\n\n // Build complete message list (including system prompts)\n const fullMessages = this.buildMessages(systemPrompt, messages)\n\n // Build request\n const request: any = {\n model: this.modelProfile.modelName,\n messages: fullMessages,\n [this.getMaxTokensParam()]: maxTokens,\n temperature: this.getTemperature(),\n }\n\n // Add tools\n if (tools && tools.length > 0) {\n request.tools = this.buildTools(tools)\n request.tool_choice = 'auto'\n }\n\n // Add reasoning effort for GPT-5 via Chat Completions\n if (this.shouldIncludeReasoningEffort() && params.reasoningEffort) {\n request.reasoning_effort = params.reasoningEffort // Chat Completions format\n }\n\n // Add verbosity for GPT-5 via Chat Completions\n if (this.shouldIncludeVerbosity() && params.verbosity) {\n request.verbosity = params.verbosity // Chat Completions format\n }\n\n // Add streaming options\n if (stream) {\n request.stream = true\n request.stream_options = {\n include_usage: true,\n }\n }\n\n // O1 model special handling\n if (this.modelProfile.modelName.startsWith('o1')) {\n delete request.temperature // O1 doesn't support temperature\n delete request.stream // O1 doesn't support streaming\n delete request.stream_options\n }\n\n return request\n }\n\n buildTools(tools: Tool[]): any[] {\n // Chat Completions only supports traditional function calling\n return tools.map(tool => ({\n type: 'function',\n function: {\n name: tool.name,\n description: tool.description || '',\n parameters: tool.inputJSONSchema || zodToJsonSchema(tool.inputSchema),\n },\n }))\n }\n\n parseResponse(response: any): UnifiedResponse {\n const choice = response.choices?.[0]\n\n return {\n id: response.id || `chatcmpl_${Date.now()}`,\n content: choice?.message?.content || '',\n toolCalls: choice?.message?.tool_calls || [],\n usage: {\n promptTokens: response.usage?.prompt_tokens || 0,\n completionTokens: response.usage?.completion_tokens || 0,\n },\n }\n }\n\n private buildMessages(systemPrompt: string[], messages: any[]): any[] {\n // Merge system prompts and messages\n const systemMessages = systemPrompt.map(prompt => ({\n role: 'system',\n content: prompt,\n }))\n\n return [...systemMessages, ...messages]\n }\n}\n"],
5
+ "mappings": "AAAA,SAAS,uBAAuB;AAMhC,SAAS,uBAAuB;AAEzB,MAAM,+BAA+B,gBAAgB;AAAA,EAC1D,cAAc,QAAmC;AAC/C,UAAM,EAAE,UAAU,cAAc,OAAO,WAAW,OAAO,IAAI;AAG7D,UAAM,eAAe,KAAK,cAAc,cAAc,QAAQ;AAG9D,UAAM,UAAe;AAAA,MACnB,OAAO,KAAK,aAAa;AAAA,MACzB,UAAU;AAAA,MACV,CAAC,KAAK,kBAAkB,CAAC,GAAG;AAAA,MAC5B,aAAa,KAAK,eAAe;AAAA,IACnC;AAGA,QAAI,SAAS,MAAM,SAAS,GAAG;AAC7B,cAAQ,QAAQ,KAAK,WAAW,KAAK;AACrC,cAAQ,cAAc;AAAA,IACxB;AAGA,QAAI,KAAK,6BAA6B,KAAK,OAAO,iBAAiB;AACjE,cAAQ,mBAAmB,OAAO;AAAA,IACpC;AAGA,QAAI,KAAK,uBAAuB,KAAK,OAAO,WAAW;AACrD,cAAQ,YAAY,OAAO;AAAA,IAC7B;AAGA,QAAI,QAAQ;AACV,cAAQ,SAAS;AACjB,cAAQ,iBAAiB;AAAA,QACvB,eAAe;AAAA,MACjB;AAAA,IACF;AAGA,QAAI,KAAK,aAAa,UAAU,WAAW,IAAI,GAAG;AAChD,aAAO,QAAQ;AACf,aAAO,QAAQ;AACf,aAAO,QAAQ;AAAA,IACjB;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,WAAW,OAAsB;AAE/B,WAAO,MAAM,IAAI,WAAS;AAAA,MACxB,MAAM;AAAA,MACN,UAAU;AAAA,QACR,MAAM,KAAK;AAAA,QACX,aAAa,KAAK,eAAe;AAAA,QACjC,YAAY,KAAK,mBAAmB,gBAAgB,KAAK,WAAW;AAAA,MACtE;AAAA,IACF,EAAE;AAAA,EACJ;AAAA,EAEA,cAAc,UAAgC;AAC5C,UAAM,SAAS,SAAS,UAAU,CAAC;AAEnC,WAAO;AAAA,MACL,IAAI,SAAS,MAAM,YAAY,KAAK,IAAI,CAAC;AAAA,MACzC,SAAS,QAAQ,SAAS,WAAW;AAAA,MACrC,WAAW,QAAQ,SAAS,cAAc,CAAC;AAAA,MAC3C,OAAO;AAAA,QACL,cAAc,SAAS,OAAO,iBAAiB;AAAA,QAC/C,kBAAkB,SAAS,OAAO,qBAAqB;AAAA,MACzD;AAAA,IACF;AAAA,EACF;AAAA,EAEQ,cAAc,cAAwB,UAAwB;AAEpE,UAAM,iBAAiB,aAAa,IAAI,aAAW;AAAA,MACjD,MAAM;AAAA,MACN,SAAS;AAAA,IACX,EAAE;AAEF,WAAO,CAAC,GAAG,gBAAgB,GAAG,QAAQ;AAAA,EACxC;AACF;",
6
6
  "names": []
7
7
  }
@@ -75,7 +75,9 @@ class ResponsesAPIAdapter extends ModelAPIAdapter {
75
75
  parseResponse(response) {
76
76
  let content = response.output_text || "";
77
77
  if (response.output && Array.isArray(response.output)) {
78
- const messageItems = response.output.filter((item) => item.type === "message");
78
+ const messageItems = response.output.filter(
79
+ (item) => item.type === "message"
80
+ );
79
81
  if (messageItems.length > 0) {
80
82
  content = messageItems.map((item) => {
81
83
  if (item.content && Array.isArray(item.content)) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/services/adapters/responsesAPI.ts"],
4
- "sourcesContent": ["import { ModelAPIAdapter } from './base'\nimport { UnifiedRequestParams, UnifiedResponse } from '@minto-types/modelCapabilities'\nimport { Tool } from '@tool'\nimport { zodToJsonSchema } from 'zod-to-json-schema'\n\nexport class ResponsesAPIAdapter extends ModelAPIAdapter {\n createRequest(params: UnifiedRequestParams): any {\n const { messages, systemPrompt, tools, maxTokens } = params\n \n // Separate system messages and user messages\n const systemMessages = messages.filter(m => m.role === 'system')\n const nonSystemMessages = messages.filter(m => m.role !== 'system')\n \n // Build base request\n const request: any = {\n model: this.modelProfile.modelName,\n input: this.convertMessagesToInput(nonSystemMessages),\n instructions: this.buildInstructions(systemPrompt, systemMessages)\n }\n \n // Add token limit\n request[this.getMaxTokensParam()] = maxTokens\n \n // Add temperature (GPT-5 only supports 1)\n if (this.getTemperature() === 1) {\n request.temperature = 1\n }\n \n // Add reasoning control - correct format for Responses API\n if (this.shouldIncludeReasoningEffort()) {\n request.reasoning = {\n effort: params.reasoningEffort || this.modelProfile.reasoningEffort || 'medium'\n }\n }\n \n // Add verbosity control - correct format for Responses API\n if (this.shouldIncludeVerbosity()) {\n request.text = {\n verbosity: params.verbosity || 'high' // High verbosity for coding tasks\n }\n }\n \n // Add tools\n if (tools && tools.length > 0) {\n request.tools = this.buildTools(tools)\n \n // Handle allowed_tools\n if (params.allowedTools && this.capabilities.toolCalling.supportsAllowedTools) {\n request.tool_choice = {\n type: 'allowed_tools',\n mode: 'auto',\n tools: params.allowedTools\n }\n }\n }\n \n // Add state management\n if (params.previousResponseId && this.capabilities.stateManagement.supportsPreviousResponseId) {\n request.previous_response_id = params.previousResponseId\n }\n \n return request\n }\n \n buildTools(tools: Tool[]): any[] {\n // If freeform not supported, use traditional format\n if (!this.capabilities.toolCalling.supportsFreeform) {\n return tools.map(tool => ({\n type: 'function',\n function: {\n name: tool.name,\n description: tool.description || '',\n parameters: tool.inputJSONSchema || zodToJsonSchema(tool.inputSchema)\n }\n }))\n }\n \n // Custom tools format (GPT-5 feature)\n return tools.map(tool => {\n const hasSchema = tool.inputJSONSchema || tool.inputSchema\n const isCustom = !hasSchema\n \n if (isCustom) {\n // Custom tool format\n return {\n type: 'custom',\n name: tool.name,\n description: tool.description || ''\n }\n } else {\n // Traditional function format\n return {\n type: 'function',\n function: {\n name: tool.name,\n description: tool.description || '',\n parameters: tool.inputJSONSchema || zodToJsonSchema(tool.inputSchema)\n }\n }\n }\n })\n }\n \n parseResponse(response: any): UnifiedResponse {\n // Process basic text output\n let content = response.output_text || ''\n \n // Process structured output\n if (response.output && Array.isArray(response.output)) {\n const messageItems = response.output.filter(item => item.type === 'message')\n if (messageItems.length > 0) {\n content = messageItems\n .map(item => {\n if (item.content && Array.isArray(item.content)) {\n return item.content\n .filter(c => c.type === 'text')\n .map(c => c.text)\n .join('\\n')\n }\n return item.content || ''\n })\n .filter(Boolean)\n .join('\\n\\n')\n }\n }\n \n // Parse tool calls\n const toolCalls = this.parseToolCalls(response)\n \n // Build unified response\n return {\n id: response.id || `resp_${Date.now()}`,\n content,\n toolCalls,\n usage: {\n promptTokens: response.usage?.input_tokens || 0,\n completionTokens: response.usage?.output_tokens || 0,\n reasoningTokens: response.usage?.output_tokens_details?.reasoning_tokens\n },\n responseId: response.id // Save for state management\n }\n }\n \n private convertMessagesToInput(messages: any[]): any {\n // Convert messages to Responses API input format\n // May need adjustment based on actual API specification\n return messages\n }\n \n private buildInstructions(systemPrompt: string[], systemMessages: any[]): string {\n const systemContent = systemMessages.map(m => m.content).join('\\n\\n')\n const promptContent = systemPrompt.join('\\n\\n')\n return [systemContent, promptContent].filter(Boolean).join('\\n\\n')\n }\n \n private parseToolCalls(response: any): any[] {\n if (!response.output || !Array.isArray(response.output)) {\n return []\n }\n \n return response.output\n .filter(item => item.type === 'tool_call')\n .map(item => ({\n id: item.id || `tool_${Date.now()}`,\n type: 'tool_call',\n name: item.name,\n arguments: item.arguments // Can be text or JSON\n }))\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { ModelAPIAdapter } from './base'\nimport {\n UnifiedRequestParams,\n UnifiedResponse,\n} from '@minto-types/modelCapabilities'\nimport { Tool } from '@tool'\nimport { zodToJsonSchema } from 'zod-to-json-schema'\n\nexport class ResponsesAPIAdapter extends ModelAPIAdapter {\n createRequest(params: UnifiedRequestParams): any {\n const { messages, systemPrompt, tools, maxTokens } = params\n\n // Separate system messages and user messages\n const systemMessages = messages.filter(m => m.role === 'system')\n const nonSystemMessages = messages.filter(m => m.role !== 'system')\n\n // Build base request\n const request: any = {\n model: this.modelProfile.modelName,\n input: this.convertMessagesToInput(nonSystemMessages),\n instructions: this.buildInstructions(systemPrompt, systemMessages),\n }\n\n // Add token limit\n request[this.getMaxTokensParam()] = maxTokens\n\n // Add temperature (GPT-5 only supports 1)\n if (this.getTemperature() === 1) {\n request.temperature = 1\n }\n\n // Add reasoning control - correct format for Responses API\n if (this.shouldIncludeReasoningEffort()) {\n request.reasoning = {\n effort:\n params.reasoningEffort ||\n this.modelProfile.reasoningEffort ||\n 'medium',\n }\n }\n\n // Add verbosity control - correct format for Responses API\n if (this.shouldIncludeVerbosity()) {\n request.text = {\n verbosity: params.verbosity || 'high', // High verbosity for coding tasks\n }\n }\n\n // Add tools\n if (tools && tools.length > 0) {\n request.tools = this.buildTools(tools)\n\n // Handle allowed_tools\n if (\n params.allowedTools &&\n this.capabilities.toolCalling.supportsAllowedTools\n ) {\n request.tool_choice = {\n type: 'allowed_tools',\n mode: 'auto',\n tools: params.allowedTools,\n }\n }\n }\n\n // Add state management\n if (\n params.previousResponseId &&\n this.capabilities.stateManagement.supportsPreviousResponseId\n ) {\n request.previous_response_id = params.previousResponseId\n }\n\n return request\n }\n\n buildTools(tools: Tool[]): any[] {\n // If freeform not supported, use traditional format\n if (!this.capabilities.toolCalling.supportsFreeform) {\n return tools.map(tool => ({\n type: 'function',\n function: {\n name: tool.name,\n description: tool.description || '',\n parameters: tool.inputJSONSchema || zodToJsonSchema(tool.inputSchema),\n },\n }))\n }\n\n // Custom tools format (GPT-5 feature)\n return tools.map(tool => {\n const hasSchema = tool.inputJSONSchema || tool.inputSchema\n const isCustom = !hasSchema\n\n if (isCustom) {\n // Custom tool format\n return {\n type: 'custom',\n name: tool.name,\n description: tool.description || '',\n }\n } else {\n // Traditional function format\n return {\n type: 'function',\n function: {\n name: tool.name,\n description: tool.description || '',\n parameters:\n tool.inputJSONSchema || zodToJsonSchema(tool.inputSchema),\n },\n }\n }\n })\n }\n\n parseResponse(response: any): UnifiedResponse {\n // Process basic text output\n let content = response.output_text || ''\n\n // Process structured output\n if (response.output && Array.isArray(response.output)) {\n const messageItems = response.output.filter(\n item => item.type === 'message',\n )\n if (messageItems.length > 0) {\n content = messageItems\n .map(item => {\n if (item.content && Array.isArray(item.content)) {\n return item.content\n .filter(c => c.type === 'text')\n .map(c => c.text)\n .join('\\n')\n }\n return item.content || ''\n })\n .filter(Boolean)\n .join('\\n\\n')\n }\n }\n\n // Parse tool calls\n const toolCalls = this.parseToolCalls(response)\n\n // Build unified response\n return {\n id: response.id || `resp_${Date.now()}`,\n content,\n toolCalls,\n usage: {\n promptTokens: response.usage?.input_tokens || 0,\n completionTokens: response.usage?.output_tokens || 0,\n reasoningTokens:\n response.usage?.output_tokens_details?.reasoning_tokens,\n },\n responseId: response.id, // Save for state management\n }\n }\n\n private convertMessagesToInput(messages: any[]): any {\n // Convert messages to Responses API input format\n // May need adjustment based on actual API specification\n return messages\n }\n\n private buildInstructions(\n systemPrompt: string[],\n systemMessages: any[],\n ): string {\n const systemContent = systemMessages.map(m => m.content).join('\\n\\n')\n const promptContent = systemPrompt.join('\\n\\n')\n return [systemContent, promptContent].filter(Boolean).join('\\n\\n')\n }\n\n private parseToolCalls(response: any): any[] {\n if (!response.output || !Array.isArray(response.output)) {\n return []\n }\n\n return response.output\n .filter(item => item.type === 'tool_call')\n .map(item => ({\n id: item.id || `tool_${Date.now()}`,\n type: 'tool_call',\n name: item.name,\n arguments: item.arguments, // Can be text or JSON\n }))\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }