mu-agent 0.2.8 → 0.2.10
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.
- package/CHANGELOG.md +12 -0
- package/dist/bundle/chunks/{anthropic-messages-4PAJY4R6.js → anthropic-messages-LV4JN2T4.js} +1 -1
- package/dist/bundle/chunks/{chunk-UKVNB6C4.js → chunk-45R57BZU.js} +1 -1
- package/dist/bundle/chunks/{chunk-SJA6GZQX.js → chunk-6UUEQH6U.js} +4 -3
- package/dist/bundle/chunks/{chunk-Y4V36NDW.js → chunk-L6RFSEAE.js} +1 -1
- package/dist/bundle/chunks/{openai-completions-WALPQ6HP.js → openai-completions-4FZ5ZADK.js} +1 -1
- package/dist/bundle/chunks/{virtual-modules-P3ZGSM7W.js → virtual-modules-5AGCRNHD.js} +1 -1
- package/dist/bundle/cli-runtime.js +1 -1
- package/dist/bundle/index.js +1 -1
- package/dist/bundle/rpc-entry.js +1 -1
- package/docs/providers.md +1 -0
- package/judge/dist/auth.js +2 -0
- package/judge/dist/mude.js +18 -0
- package/judge/dist/setup.js +67 -6
- package/judge/manifest.json +118 -13
- package/judge/mu/{chunk-GELL4P7W.js → chunk-4LSLDCQ3.js} +1 -1
- package/judge/mu/{cloud-code-CM6I6AXS.js → cloud-code-7FTNJDPH.js} +1 -1
- package/judge/mu/index.js +2491 -942
- package/kyrn/bin/mu.mjs +1 -0
- package/package.json +2 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
|
|
2
|
-
import{AgentSession,AgentSessionRuntime,AssistantMessageComponent,BashExecutionComponent,BorderedLoader,BranchSummaryMessageComponent,CURRENT_SESSION_VERSION,CompactionSummaryMessageComponent,CredentialSynchronizationError,CustomEditor,CustomMessageComponent,DEFAULT_COMPACTION_SETTINGS,DefaultPackageManager,DefaultResourceLoader,DynamicBorder,ExtensionEditorComponent,ExtensionInputComponent,ExtensionRunner,ExtensionSelectorComponent,FileModelsStore,FooterComponent,InteractiveMode,LoginDialogComponent,MCP_CONNECTION_EVENT,ModelRegistry,ModelRuntime,ModelSelectorComponent,OAuthSelectorComponent,RpcClient,SessionManager,SessionSelectorComponent,SettingsManager,SettingsSelectorComponent,SkillInvocationMessageComponent,ThinkingSelectorComponent,ToolExecutionComponent,TreeSelectorComponent,UserMessageComponent,UserMessageSelectorComponent,VIRTUAL_MODEL_STATE_ENTRY,applyHttpProxySettings,buildContextEntries,buildSessionContext,buildSessionProjection,calculateContextTokens,collectEntriesForBranchSummary,compact,configureHttpDispatcher,convertToLlm,convertToPng,copyToClipboard,createAgentSession,createAgentSessionFromServices,createAgentSessionRuntime,createAgentSessionServices,createBashTool,createBashToolDefinition,createCodemodeExtension,createCodingTools,createEditTool,createEditToolDefinition,createEventBus,createExtensionRuntime,createFindTool,createFindToolDefinition,createGrepTool,createGrepToolDefinition,createLocalBashOperations,createLocalPowerShellOperations,createLsTool,createLsToolDefinition,createMcpExtension,createPowerShellTool,createPowerShellToolDefinition,createReadOnlyTools,createReadTool,createReadToolDefinition,createSyntheticSourceInfo,createToolSearchExtension,createWriteTool,createWriteToolDefinition,defaultModelPerProvider,defineTool,detectSupportedImageMimeTypeFromFile,discoverAndLoadExtensions,estimateTokens,findCutPoint,findTurnStartIndex,formatDimensionNote,formatSkillsForPrompt,generateBranchSummary,generateDiffString,generateSummary,generateSummaryWithUsage,generateUnifiedPatch,getLastAssistantUsage,getLatestCompactionEntry,isBashToolResult,isEditToolResult,isFindToolResult,isGrepToolResult,isLsToolResult,isPowerShellToolResult,isReadToolResult,isToolCallEventType,isWriteToolResult,loadProjectContextFiles,loadSkills,loadSkillsFromDir,main,migrateSessionEntries,parseArgs,parseFrontmatter,parseSessionEntries,parseSkillBlock,prepareBranchEntries,renderDiff,resizeImage,resolveCliModel,resolveModelScopeWithDiagnostics,runPrintMode,runRpcMode,serializeConversation,sessionEntryToContextMessages,setupCli,shouldCompact,stdioRpcTransport,stripFrontmatter,withFileMutationQueue,wrapRegisteredTool,wrapRegisteredTools}from"./chunk-SJA6GZQX.js";import{DEFAULT_MAX_BYTES,DEFAULT_MAX_LINES,formatReadLineRange,formatSize,truncateHead,truncateLine,truncateTail,truncateToVisualLines}from"./chunk-DYTENXHX.js";import{ArminComponent}from"./chunk-FLHKNMLQ.js";import{Container,SelectList,Theme,getAvailableThemes,getLanguageFromPath,getMarkdownTheme,getSelectListTheme,getSettingsListTheme,highlightCode,initTheme,keyHint,keyText,rawKeyHint}from"./chunk-LT2C56HV.js";import{ProjectTrustStore,hasTrustRequiringProjectResources,loadMcpConfig}from"./chunk-6Z2347ML.js";import{readStoredCredential}from"./chunk-MF3VB62R.js";import{getPowerShellConfig,getShellConfig}from"./chunk-URBBMV3M.js";import{CONFIG_DIR_NAME,VERSION,getAgentDir,getDocsPath,getExamplesPath,getPackageDir,getReadmePath}from"./chunk-LHRPMXVI.js";import{__export}from"./chunk-JXWJOIH4.js";var dist_exports={};__export(dist_exports,{AgentSession:()=>AgentSession,AgentSessionRuntime:()=>AgentSessionRuntime,ArminComponent:()=>ArminComponent,AssistantMessageComponent:()=>AssistantMessageComponent,BashExecutionComponent:()=>BashExecutionComponent,BorderedLoader:()=>BorderedLoader,BranchSummaryMessageComponent:()=>BranchSummaryMessageComponent,CONFIG_DIR_NAME:()=>CONFIG_DIR_NAME,CURRENT_SESSION_VERSION:()=>CURRENT_SESSION_VERSION,CompactionSummaryMessageComponent:()=>CompactionSummaryMessageComponent,CredentialSynchronizationError:()=>CredentialSynchronizationError,CustomEditor:()=>CustomEditor,CustomMessageComponent:()=>CustomMessageComponent,DEFAULT_COMPACTION_SETTINGS:()=>DEFAULT_COMPACTION_SETTINGS,DEFAULT_MAX_BYTES:()=>DEFAULT_MAX_BYTES,DEFAULT_MAX_LINES:()=>DEFAULT_MAX_LINES,DefaultPackageManager:()=>DefaultPackageManager,DefaultResourceLoader:()=>DefaultResourceLoader,DynamicBorder:()=>DynamicBorder,ExtensionEditorComponent:()=>ExtensionEditorComponent,ExtensionInputComponent:()=>ExtensionInputComponent,ExtensionRunner:()=>ExtensionRunner,ExtensionSelectorComponent:()=>ExtensionSelectorComponent,FileModelsStore:()=>FileModelsStore,FooterComponent:()=>FooterComponent,InteractiveMode:()=>InteractiveMode,LoginDialogComponent:()=>LoginDialogComponent,MCP_CONNECTION_EVENT:()=>MCP_CONNECTION_EVENT,ModelRegistry:()=>ModelRegistry,ModelRuntime:()=>ModelRuntime,ModelSelectorComponent:()=>ModelSelectorComponent,OAuthSelectorComponent:()=>OAuthSelectorComponent,ProjectTrustStore:()=>ProjectTrustStore,RpcClient:()=>RpcClient,SessionManager:()=>SessionManager,SessionSelectorComponent:()=>SessionSelectorComponent,SettingsManager:()=>SettingsManager,SettingsSelectorComponent:()=>SettingsSelectorComponent,ShowImagesSelectorComponent:()=>ShowImagesSelectorComponent,SkillInvocationMessageComponent:()=>SkillInvocationMessageComponent,Theme:()=>Theme,ThemeSelectorComponent:()=>ThemeSelectorComponent,ThinkingSelectorComponent:()=>ThinkingSelectorComponent,ToolExecutionComponent:()=>ToolExecutionComponent,TreeSelectorComponent:()=>TreeSelectorComponent,UserMessageComponent:()=>UserMessageComponent,UserMessageSelectorComponent:()=>UserMessageSelectorComponent,VERSION:()=>VERSION,VIRTUAL_MODEL_STATE_ENTRY:()=>VIRTUAL_MODEL_STATE_ENTRY,applyHttpProxySettings:()=>applyHttpProxySettings,buildContextEntries:()=>buildContextEntries,buildSessionContext:()=>buildSessionContext,buildSessionProjection:()=>buildSessionProjection,calculateContextTokens:()=>calculateContextTokens,collectEntriesForBranchSummary:()=>collectEntriesForBranchSummary,compact:()=>compact,configureHttpDispatcher:()=>configureHttpDispatcher,convertToLlm:()=>convertToLlm,convertToPng:()=>convertToPng,copyToClipboard:()=>copyToClipboard,createAgentSession:()=>createAgentSession,createAgentSessionFromServices:()=>createAgentSessionFromServices,createAgentSessionRuntime:()=>createAgentSessionRuntime,createAgentSessionServices:()=>createAgentSessionServices,createBashTool:()=>createBashTool,createBashToolDefinition:()=>createBashToolDefinition,createCodemodeExtension:()=>createCodemodeExtension,createCodingTools:()=>createCodingTools,createEditTool:()=>createEditTool,createEditToolDefinition:()=>createEditToolDefinition,createEventBus:()=>createEventBus,createExtensionRuntime:()=>createExtensionRuntime,createFindTool:()=>createFindTool,createFindToolDefinition:()=>createFindToolDefinition,createGrepTool:()=>createGrepTool,createGrepToolDefinition:()=>createGrepToolDefinition,createLocalBashOperations:()=>createLocalBashOperations,createLocalPowerShellOperations:()=>createLocalPowerShellOperations,createLsTool:()=>createLsTool,createLsToolDefinition:()=>createLsToolDefinition,createMcpExtension:()=>createMcpExtension,createPowerShellTool:()=>createPowerShellTool,createPowerShellToolDefinition:()=>createPowerShellToolDefinition,createReadOnlyTools:()=>createReadOnlyTools,createReadTool:()=>createReadTool,createReadToolDefinition:()=>createReadToolDefinition,createSyntheticSourceInfo:()=>createSyntheticSourceInfo,createToolSearchExtension:()=>createToolSearchExtension,createWriteTool:()=>createWriteTool,createWriteToolDefinition:()=>createWriteToolDefinition,defaultModelPerProvider:()=>defaultModelPerProvider,defineTool:()=>defineTool,detectSupportedImageMimeTypeFromFile:()=>detectSupportedImageMimeTypeFromFile,discoverAndLoadExtensions:()=>discoverAndLoadExtensions,estimateTokens:()=>estimateTokens,findCutPoint:()=>findCutPoint,findTurnStartIndex:()=>findTurnStartIndex,formatDimensionNote:()=>formatDimensionNote,formatReadLineRange:()=>formatReadLineRange,formatSize:()=>formatSize,formatSkillsForPrompt:()=>formatSkillsForPrompt,generateBranchSummary:()=>generateBranchSummary,generateDiffString:()=>generateDiffString,generateSummary:()=>generateSummary,generateSummaryWithUsage:()=>generateSummaryWithUsage,generateUnifiedPatch:()=>generateUnifiedPatch,getAgentDir:()=>getAgentDir,getDocsPath:()=>getDocsPath,getExamplesPath:()=>getExamplesPath,getLanguageFromPath:()=>getLanguageFromPath,getLastAssistantUsage:()=>getLastAssistantUsage,getLatestCompactionEntry:()=>getLatestCompactionEntry,getMarkdownTheme:()=>getMarkdownTheme,getPackageDir:()=>getPackageDir,getPowerShellConfig:()=>getPowerShellConfig,getReadmePath:()=>getReadmePath,getSelectListTheme:()=>getSelectListTheme,getSettingsListTheme:()=>getSettingsListTheme,getShellConfig:()=>getShellConfig,hasTrustRequiringProjectResources:()=>hasTrustRequiringProjectResources,highlightCode:()=>highlightCode,initTheme:()=>initTheme,isBashToolResult:()=>isBashToolResult,isEditToolResult:()=>isEditToolResult,isFindToolResult:()=>isFindToolResult,isGrepToolResult:()=>isGrepToolResult,isLsToolResult:()=>isLsToolResult,isPowerShellToolResult:()=>isPowerShellToolResult,isReadToolResult:()=>isReadToolResult,isToolCallEventType:()=>isToolCallEventType,isWriteToolResult:()=>isWriteToolResult,keyHint:()=>keyHint,keyText:()=>keyText,loadMcpConfig:()=>loadMcpConfig,loadProjectContextFiles:()=>loadProjectContextFiles,loadSkills:()=>loadSkills,loadSkillsFromDir:()=>loadSkillsFromDir,main:()=>main,migrateSessionEntries:()=>migrateSessionEntries,parseArgs:()=>parseArgs,parseFrontmatter:()=>parseFrontmatter,parseSessionEntries:()=>parseSessionEntries,parseSkillBlock:()=>parseSkillBlock,prepareBranchEntries:()=>prepareBranchEntries,rawKeyHint:()=>rawKeyHint,readStoredCredential:()=>readStoredCredential,renderDiff:()=>renderDiff,resizeImage:()=>resizeImage,resolveCliModel:()=>resolveCliModel,resolveModelScopeWithDiagnostics:()=>resolveModelScopeWithDiagnostics,runPrintMode:()=>runPrintMode,runRpcMode:()=>runRpcMode,serializeConversation:()=>serializeConversation,sessionEntryToContextMessages:()=>sessionEntryToContextMessages,setupCli:()=>setupCli,shouldCompact:()=>shouldCompact,stdioRpcTransport:()=>stdioRpcTransport,stripFrontmatter:()=>stripFrontmatter,truncateHead:()=>truncateHead,truncateLine:()=>truncateLine,truncateTail:()=>truncateTail,truncateToVisualLines:()=>truncateToVisualLines,withFileMutationQueue:()=>withFileMutationQueue,wrapRegisteredTool:()=>wrapRegisteredTool,wrapRegisteredTools:()=>wrapRegisteredTools});var SHOW_IMAGES_SELECT_LIST_LAYOUT={minPrimaryColumnWidth:12,maxPrimaryColumnWidth:32},ShowImagesSelectorComponent=class extends Container{selectList;constructor(currentValue,onSelect,onCancel){super();let items=[{value:"yes",label:"Yes",description:"Show images inline in terminal"},{value:"no",label:"No",description:"Show text placeholder instead"}];this.addChild(new DynamicBorder),this.selectList=new SelectList(items,5,getSelectListTheme(),SHOW_IMAGES_SELECT_LIST_LAYOUT),this.selectList.setSelectedIndex(currentValue?0:1),this.selectList.onSelect=item=>{onSelect(item.value==="yes")},this.selectList.onCancel=()=>{onCancel()},this.addChild(this.selectList),this.addChild(new DynamicBorder)}getSelectList(){return this.selectList}};var THEME_SELECT_LIST_LAYOUT={minPrimaryColumnWidth:12,maxPrimaryColumnWidth:32},ThemeSelectorComponent=class extends Container{selectList;onPreview;constructor(currentTheme,onSelect,onCancel,onPreview){super(),this.onPreview=onPreview;let themes=getAvailableThemes(),themeItems=themes.map(name=>({value:name,label:name,description:name===currentTheme?"(current)":void 0}));this.addChild(new DynamicBorder),this.selectList=new SelectList(themeItems,10,getSelectListTheme(),THEME_SELECT_LIST_LAYOUT);let currentIndex=themes.indexOf(currentTheme);currentIndex!==-1&&this.selectList.setSelectedIndex(currentIndex),this.selectList.onSelect=item=>{onSelect(item.value)},this.selectList.onCancel=()=>{onCancel()},this.selectList.onSelectionChange=item=>{this.onPreview(item.value)},this.addChild(this.selectList),this.addChild(new DynamicBorder)}getSelectList(){return this.selectList}};export{ShowImagesSelectorComponent,ThemeSelectorComponent,dist_exports};
|
|
2
|
+
import{AgentSession,AgentSessionRuntime,AssistantMessageComponent,BashExecutionComponent,BorderedLoader,BranchSummaryMessageComponent,CURRENT_SESSION_VERSION,CompactionSummaryMessageComponent,CredentialSynchronizationError,CustomEditor,CustomMessageComponent,DEFAULT_COMPACTION_SETTINGS,DefaultPackageManager,DefaultResourceLoader,DynamicBorder,ExtensionEditorComponent,ExtensionInputComponent,ExtensionRunner,ExtensionSelectorComponent,FileModelsStore,FooterComponent,InteractiveMode,LoginDialogComponent,MCP_CONNECTION_EVENT,ModelRegistry,ModelRuntime,ModelSelectorComponent,OAuthSelectorComponent,RpcClient,SessionManager,SessionSelectorComponent,SettingsManager,SettingsSelectorComponent,SkillInvocationMessageComponent,ThinkingSelectorComponent,ToolExecutionComponent,TreeSelectorComponent,UserMessageComponent,UserMessageSelectorComponent,VIRTUAL_MODEL_STATE_ENTRY,applyHttpProxySettings,buildContextEntries,buildSessionContext,buildSessionProjection,calculateContextTokens,collectEntriesForBranchSummary,compact,configureHttpDispatcher,convertToLlm,convertToPng,copyToClipboard,createAgentSession,createAgentSessionFromServices,createAgentSessionRuntime,createAgentSessionServices,createBashTool,createBashToolDefinition,createCodemodeExtension,createCodingTools,createEditTool,createEditToolDefinition,createEventBus,createExtensionRuntime,createFindTool,createFindToolDefinition,createGrepTool,createGrepToolDefinition,createLocalBashOperations,createLocalPowerShellOperations,createLsTool,createLsToolDefinition,createMcpExtension,createPowerShellTool,createPowerShellToolDefinition,createReadOnlyTools,createReadTool,createReadToolDefinition,createSyntheticSourceInfo,createToolSearchExtension,createWriteTool,createWriteToolDefinition,defaultModelPerProvider,defineTool,detectSupportedImageMimeTypeFromFile,discoverAndLoadExtensions,estimateTokens,findCutPoint,findTurnStartIndex,formatDimensionNote,formatSkillsForPrompt,generateBranchSummary,generateDiffString,generateSummary,generateSummaryWithUsage,generateUnifiedPatch,getLastAssistantUsage,getLatestCompactionEntry,isBashToolResult,isEditToolResult,isFindToolResult,isGrepToolResult,isLsToolResult,isPowerShellToolResult,isReadToolResult,isToolCallEventType,isWriteToolResult,loadProjectContextFiles,loadSkills,loadSkillsFromDir,main,migrateSessionEntries,parseArgs,parseFrontmatter,parseSessionEntries,parseSkillBlock,prepareBranchEntries,renderDiff,resizeImage,resolveCliModel,resolveModelScopeWithDiagnostics,runPrintMode,runRpcMode,serializeConversation,sessionEntryToContextMessages,setupCli,shouldCompact,stdioRpcTransport,stripFrontmatter,withFileMutationQueue,wrapRegisteredTool,wrapRegisteredTools}from"./chunk-6UUEQH6U.js";import{DEFAULT_MAX_BYTES,DEFAULT_MAX_LINES,formatReadLineRange,formatSize,truncateHead,truncateLine,truncateTail,truncateToVisualLines}from"./chunk-DYTENXHX.js";import{ArminComponent}from"./chunk-FLHKNMLQ.js";import{Container,SelectList,Theme,getAvailableThemes,getLanguageFromPath,getMarkdownTheme,getSelectListTheme,getSettingsListTheme,highlightCode,initTheme,keyHint,keyText,rawKeyHint}from"./chunk-LT2C56HV.js";import{ProjectTrustStore,hasTrustRequiringProjectResources,loadMcpConfig}from"./chunk-6Z2347ML.js";import{readStoredCredential}from"./chunk-MF3VB62R.js";import{getPowerShellConfig,getShellConfig}from"./chunk-URBBMV3M.js";import{CONFIG_DIR_NAME,VERSION,getAgentDir,getDocsPath,getExamplesPath,getPackageDir,getReadmePath}from"./chunk-LHRPMXVI.js";import{__export}from"./chunk-JXWJOIH4.js";var dist_exports={};__export(dist_exports,{AgentSession:()=>AgentSession,AgentSessionRuntime:()=>AgentSessionRuntime,ArminComponent:()=>ArminComponent,AssistantMessageComponent:()=>AssistantMessageComponent,BashExecutionComponent:()=>BashExecutionComponent,BorderedLoader:()=>BorderedLoader,BranchSummaryMessageComponent:()=>BranchSummaryMessageComponent,CONFIG_DIR_NAME:()=>CONFIG_DIR_NAME,CURRENT_SESSION_VERSION:()=>CURRENT_SESSION_VERSION,CompactionSummaryMessageComponent:()=>CompactionSummaryMessageComponent,CredentialSynchronizationError:()=>CredentialSynchronizationError,CustomEditor:()=>CustomEditor,CustomMessageComponent:()=>CustomMessageComponent,DEFAULT_COMPACTION_SETTINGS:()=>DEFAULT_COMPACTION_SETTINGS,DEFAULT_MAX_BYTES:()=>DEFAULT_MAX_BYTES,DEFAULT_MAX_LINES:()=>DEFAULT_MAX_LINES,DefaultPackageManager:()=>DefaultPackageManager,DefaultResourceLoader:()=>DefaultResourceLoader,DynamicBorder:()=>DynamicBorder,ExtensionEditorComponent:()=>ExtensionEditorComponent,ExtensionInputComponent:()=>ExtensionInputComponent,ExtensionRunner:()=>ExtensionRunner,ExtensionSelectorComponent:()=>ExtensionSelectorComponent,FileModelsStore:()=>FileModelsStore,FooterComponent:()=>FooterComponent,InteractiveMode:()=>InteractiveMode,LoginDialogComponent:()=>LoginDialogComponent,MCP_CONNECTION_EVENT:()=>MCP_CONNECTION_EVENT,ModelRegistry:()=>ModelRegistry,ModelRuntime:()=>ModelRuntime,ModelSelectorComponent:()=>ModelSelectorComponent,OAuthSelectorComponent:()=>OAuthSelectorComponent,ProjectTrustStore:()=>ProjectTrustStore,RpcClient:()=>RpcClient,SessionManager:()=>SessionManager,SessionSelectorComponent:()=>SessionSelectorComponent,SettingsManager:()=>SettingsManager,SettingsSelectorComponent:()=>SettingsSelectorComponent,ShowImagesSelectorComponent:()=>ShowImagesSelectorComponent,SkillInvocationMessageComponent:()=>SkillInvocationMessageComponent,Theme:()=>Theme,ThemeSelectorComponent:()=>ThemeSelectorComponent,ThinkingSelectorComponent:()=>ThinkingSelectorComponent,ToolExecutionComponent:()=>ToolExecutionComponent,TreeSelectorComponent:()=>TreeSelectorComponent,UserMessageComponent:()=>UserMessageComponent,UserMessageSelectorComponent:()=>UserMessageSelectorComponent,VERSION:()=>VERSION,VIRTUAL_MODEL_STATE_ENTRY:()=>VIRTUAL_MODEL_STATE_ENTRY,applyHttpProxySettings:()=>applyHttpProxySettings,buildContextEntries:()=>buildContextEntries,buildSessionContext:()=>buildSessionContext,buildSessionProjection:()=>buildSessionProjection,calculateContextTokens:()=>calculateContextTokens,collectEntriesForBranchSummary:()=>collectEntriesForBranchSummary,compact:()=>compact,configureHttpDispatcher:()=>configureHttpDispatcher,convertToLlm:()=>convertToLlm,convertToPng:()=>convertToPng,copyToClipboard:()=>copyToClipboard,createAgentSession:()=>createAgentSession,createAgentSessionFromServices:()=>createAgentSessionFromServices,createAgentSessionRuntime:()=>createAgentSessionRuntime,createAgentSessionServices:()=>createAgentSessionServices,createBashTool:()=>createBashTool,createBashToolDefinition:()=>createBashToolDefinition,createCodemodeExtension:()=>createCodemodeExtension,createCodingTools:()=>createCodingTools,createEditTool:()=>createEditTool,createEditToolDefinition:()=>createEditToolDefinition,createEventBus:()=>createEventBus,createExtensionRuntime:()=>createExtensionRuntime,createFindTool:()=>createFindTool,createFindToolDefinition:()=>createFindToolDefinition,createGrepTool:()=>createGrepTool,createGrepToolDefinition:()=>createGrepToolDefinition,createLocalBashOperations:()=>createLocalBashOperations,createLocalPowerShellOperations:()=>createLocalPowerShellOperations,createLsTool:()=>createLsTool,createLsToolDefinition:()=>createLsToolDefinition,createMcpExtension:()=>createMcpExtension,createPowerShellTool:()=>createPowerShellTool,createPowerShellToolDefinition:()=>createPowerShellToolDefinition,createReadOnlyTools:()=>createReadOnlyTools,createReadTool:()=>createReadTool,createReadToolDefinition:()=>createReadToolDefinition,createSyntheticSourceInfo:()=>createSyntheticSourceInfo,createToolSearchExtension:()=>createToolSearchExtension,createWriteTool:()=>createWriteTool,createWriteToolDefinition:()=>createWriteToolDefinition,defaultModelPerProvider:()=>defaultModelPerProvider,defineTool:()=>defineTool,detectSupportedImageMimeTypeFromFile:()=>detectSupportedImageMimeTypeFromFile,discoverAndLoadExtensions:()=>discoverAndLoadExtensions,estimateTokens:()=>estimateTokens,findCutPoint:()=>findCutPoint,findTurnStartIndex:()=>findTurnStartIndex,formatDimensionNote:()=>formatDimensionNote,formatReadLineRange:()=>formatReadLineRange,formatSize:()=>formatSize,formatSkillsForPrompt:()=>formatSkillsForPrompt,generateBranchSummary:()=>generateBranchSummary,generateDiffString:()=>generateDiffString,generateSummary:()=>generateSummary,generateSummaryWithUsage:()=>generateSummaryWithUsage,generateUnifiedPatch:()=>generateUnifiedPatch,getAgentDir:()=>getAgentDir,getDocsPath:()=>getDocsPath,getExamplesPath:()=>getExamplesPath,getLanguageFromPath:()=>getLanguageFromPath,getLastAssistantUsage:()=>getLastAssistantUsage,getLatestCompactionEntry:()=>getLatestCompactionEntry,getMarkdownTheme:()=>getMarkdownTheme,getPackageDir:()=>getPackageDir,getPowerShellConfig:()=>getPowerShellConfig,getReadmePath:()=>getReadmePath,getSelectListTheme:()=>getSelectListTheme,getSettingsListTheme:()=>getSettingsListTheme,getShellConfig:()=>getShellConfig,hasTrustRequiringProjectResources:()=>hasTrustRequiringProjectResources,highlightCode:()=>highlightCode,initTheme:()=>initTheme,isBashToolResult:()=>isBashToolResult,isEditToolResult:()=>isEditToolResult,isFindToolResult:()=>isFindToolResult,isGrepToolResult:()=>isGrepToolResult,isLsToolResult:()=>isLsToolResult,isPowerShellToolResult:()=>isPowerShellToolResult,isReadToolResult:()=>isReadToolResult,isToolCallEventType:()=>isToolCallEventType,isWriteToolResult:()=>isWriteToolResult,keyHint:()=>keyHint,keyText:()=>keyText,loadMcpConfig:()=>loadMcpConfig,loadProjectContextFiles:()=>loadProjectContextFiles,loadSkills:()=>loadSkills,loadSkillsFromDir:()=>loadSkillsFromDir,main:()=>main,migrateSessionEntries:()=>migrateSessionEntries,parseArgs:()=>parseArgs,parseFrontmatter:()=>parseFrontmatter,parseSessionEntries:()=>parseSessionEntries,parseSkillBlock:()=>parseSkillBlock,prepareBranchEntries:()=>prepareBranchEntries,rawKeyHint:()=>rawKeyHint,readStoredCredential:()=>readStoredCredential,renderDiff:()=>renderDiff,resizeImage:()=>resizeImage,resolveCliModel:()=>resolveCliModel,resolveModelScopeWithDiagnostics:()=>resolveModelScopeWithDiagnostics,runPrintMode:()=>runPrintMode,runRpcMode:()=>runRpcMode,serializeConversation:()=>serializeConversation,sessionEntryToContextMessages:()=>sessionEntryToContextMessages,setupCli:()=>setupCli,shouldCompact:()=>shouldCompact,stdioRpcTransport:()=>stdioRpcTransport,stripFrontmatter:()=>stripFrontmatter,truncateHead:()=>truncateHead,truncateLine:()=>truncateLine,truncateTail:()=>truncateTail,truncateToVisualLines:()=>truncateToVisualLines,withFileMutationQueue:()=>withFileMutationQueue,wrapRegisteredTool:()=>wrapRegisteredTool,wrapRegisteredTools:()=>wrapRegisteredTools});var SHOW_IMAGES_SELECT_LIST_LAYOUT={minPrimaryColumnWidth:12,maxPrimaryColumnWidth:32},ShowImagesSelectorComponent=class extends Container{selectList;constructor(currentValue,onSelect,onCancel){super();let items=[{value:"yes",label:"Yes",description:"Show images inline in terminal"},{value:"no",label:"No",description:"Show text placeholder instead"}];this.addChild(new DynamicBorder),this.selectList=new SelectList(items,5,getSelectListTheme(),SHOW_IMAGES_SELECT_LIST_LAYOUT),this.selectList.setSelectedIndex(currentValue?0:1),this.selectList.onSelect=item=>{onSelect(item.value==="yes")},this.selectList.onCancel=()=>{onCancel()},this.addChild(this.selectList),this.addChild(new DynamicBorder)}getSelectList(){return this.selectList}};var THEME_SELECT_LIST_LAYOUT={minPrimaryColumnWidth:12,maxPrimaryColumnWidth:32},ThemeSelectorComponent=class extends Container{selectList;onPreview;constructor(currentTheme,onSelect,onCancel,onPreview){super(),this.onPreview=onPreview;let themes=getAvailableThemes(),themeItems=themes.map(name=>({value:name,label:name,description:name===currentTheme?"(current)":void 0}));this.addChild(new DynamicBorder),this.selectList=new SelectList(themeItems,10,getSelectListTheme(),THEME_SELECT_LIST_LAYOUT);let currentIndex=themes.indexOf(currentTheme);currentIndex!==-1&&this.selectList.setSelectedIndex(currentIndex),this.selectList.onSelect=item=>{onSelect(item.value)},this.selectList.onCancel=()=>{onCancel()},this.selectList.onSelectionChange=item=>{this.onPreview(item.value)},this.addChild(this.selectList),this.addChild(new DynamicBorder)}getSelectList(){return this.selectList}};export{ShowImagesSelectorComponent,ThemeSelectorComponent,dist_exports};
|
package/dist/bundle/chunks/{openai-completions-WALPQ6HP.js → openai-completions-4FZ5ZADK.js}
RENAMED
|
@@ -4,6 +4,6 @@ ${rawMetadata}`),stream2.push({type:"error",reason:output.stopReason,error:outpu
|
|
|
4
4
|
|
|
5
5
|
`);assistantMsg.content=[{type:"text",text:thinkingText},...assistantTextParts]}else if(assistantText.length>0&&(assistantMsg.content=assistantText),!preservedReasoningDetails){let signature=nonEmptyThinkingBlocks[0].thinkingSignature;model.provider==="opencode-go"&&signature==="reasoning"&&(signature="reasoning_content"),signature&&isOpenAICompletionsReasoningField(signature)&&(assistantMsg[signature]=nonEmptyThinkingBlocks.map(block=>block.thinking).join(`
|
|
6
6
|
`))}}else assistantText.length>0&&(assistantMsg.content=assistantText);toolCalls.length>0&&(assistantMsg.tool_calls=toolCalls.map(tc=>{let customInputProperty=options?.grammarToolInputProperties?.get(tc.name);return customInputProperty!==void 0?{id:tc.id,type:"custom",custom:{name:tc.name,input:sanitizeSurrogates(getGrammarToolInput(tc.name,tc.arguments,customInputProperty))}}:{id:tc.id,type:"function",function:{name:tc.name,arguments:JSON.stringify(tc.arguments)}}})),preservedReasoningDetails&&(assistantMsg.reasoning_details=preservedReasoningDetails),compat.requiresReasoningContentOnAssistantMessages&&model.reasoning&&assistantMsg.reasoning_content===void 0&&(assistantMsg.reasoning_content="");let content=assistantMsg.content;if(!(content!=null&&content.length>0)&&!assistantMsg.tool_calls)continue;params.push(assistantMsg)}else if(msg.role==="toolResult"){let imageBlocks=[],j=i;for(;j<transformedMessages.length&&transformedMessages[j].role==="toolResult";j++){let toolMsg=transformedMessages[j],textResult=toolMsg.content.filter(isTextContentBlock).map(block=>block.text).join(`
|
|
7
|
-
`),hasImages=toolMsg.content.some(c=>c.type==="image"),toolResultText=textResult.trim().length>0?textResult:hasImages?"(see attached image)":"(no tool output)",toolResultMsg={role:"tool",content:sanitizeSurrogates(toolResultText),tool_call_id:toolMsg.toolCallId};if(compat.requiresToolResultName&&toolMsg.toolName&&(toolResultMsg.name=toolMsg.toolName),params.push(toolResultMsg),hasImages&&model.input.includes("image"))for(let block of toolMsg.content)isImageContentBlock(block)&&imageBlocks.push({type:"image_url",image_url:{url:`data:${block.mimeType};base64,${block.data}`}})}i=j-1,imageBlocks.length>0?(compat.requiresAssistantAfterToolResult&¶ms.push({role:"assistant",content:"I have processed the tool results."}),params.push({role:"user",content:[{type:"text",text:"Attached image(s) from tool result:"},...imageBlocks]}),lastRole="user"):lastRole="toolResult";continue}lastRole=msg.role}return params}function convertTools(tools,compat){return tools.map(tool=>{let grammar=resolveGrammarConstrainedSampling(tool,compat.supportsOpenAIGrammarTools);if(grammar)return{type:"custom",custom:{name:tool.name,description:tool.description,format:{type:"grammar",grammar:{syntax:grammar.format,definition:grammar.definition}}}};let strict=resolveJsonSchemaStrictSampling(tool,compat.supportsStrictMode!==!1);return{type:"function",function:{name:tool.name,description:tool.description,parameters:getJsonSchemaToolParameters(tool,strict),...compat.supportsStrictMode!==!1&&{strict:strict??!1}}}})}function parseChunkUsage(rawUsage,model){let promptTokens=rawUsage.prompt_tokens||0,cacheReadTokens=rawUsage.prompt_tokens_details?.cached_tokens??rawUsage.prompt_cache_hit_tokens??rawUsage.cached_tokens??0,cacheWriteTokens=rawUsage.prompt_tokens_details?.cache_write_tokens||0,input=Math.max(0,promptTokens-cacheReadTokens-cacheWriteTokens),outputTokens=rawUsage.completion_tokens||0,usage={input,output:outputTokens,cacheRead:cacheReadTokens,cacheWrite:cacheWriteTokens,reasoning:rawUsage.completion_tokens_details?.reasoning_tokens||0,totalTokens:input+outputTokens+cacheReadTokens+cacheWriteTokens,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return calculateCost(model,usage),usage}function mapStopReason(reason){if(reason===null)return{stopReason:"stop"};switch(reason){case"stop":case"end":return{stopReason:"stop"};case"length":return{stopReason:"length"};case"function_call":case"tool_calls":return{stopReason:"toolUse"};case"content_filter":return{stopReason:"error",errorMessage:"Provider finish_reason: content_filter"};case"network_error":return{stopReason:"error",errorMessage:"Provider finish_reason: network_error"};default:return{stopReason:"error",errorMessage:`Provider finish_reason: ${reason}`}}}function getHostname(baseUrl){try{return new URL(baseUrl).hostname.toLowerCase()}catch{return}}function isHostOrSubdomain(hostname,domain){return hostname===domain||hostname?.endsWith(`.${domain}`)===!0}function detectCompat(model){let provider=model.provider,baseUrl=model.baseUrl,hostname=getHostname(baseUrl),isOpenAIApi=hostname==="api.openai.com",isAzureOpenAI=isHostOrSubdomain(hostname,"openai.azure.com")||isHostOrSubdomain(hostname,"cognitiveservices.azure.com"),isXiaomi=isHostOrSubdomain(hostname,"xiaomimimo.com"),takesOpenAIRequestShape=isOpenAIApi||isAzureOpenAI||isXiaomi,isZai=provider==="zai"||provider==="zai-coding-cn"||baseUrl.includes("api.z.ai")||baseUrl.includes("open.bigmodel.cn"),isTogether=provider==="together"||baseUrl.includes("api.together.ai")||baseUrl.includes("api.together.xyz"),isMoonshot=provider==="moonshotai"||provider==="moonshotai-cn"||baseUrl.includes("api.moonshot."),isOpenRouter=provider==="openrouter"||baseUrl.includes("openrouter.ai"),isCloudflareWorkersAI=provider==="cloudflare-workers-ai"||baseUrl.includes("api.cloudflare.com"),isCloudflareAiGateway=provider==="cloudflare-ai-gateway"||baseUrl.includes("gateway.ai.cloudflare.com"),isNvidia=provider==="nvidia"||baseUrl.includes("integrate.api.nvidia.com"),isAntLing=provider==="ant-ling"||baseUrl.includes("api.ant-ling.com"),isDeepSeek=provider==="deepseek"||baseUrl.toLowerCase().includes("deepseek.com"),isGrok=provider==="xai"||baseUrl.includes("api.x.ai"),isOpenRouterDeveloperRoleModel=isOpenRouter&&(model.id.startsWith("anthropic/")||model.id.startsWith("openai/")),cacheControlFormat=provider==="openrouter"&&model.id.startsWith("anthropic/")?"anthropic":void 0;return{supportsStore:isOpenAIApi||isAzureOpenAI,supportsDeveloperRole:takesOpenAIRequestShape||isOpenRouterDeveloperRoleModel,supportsReasoningEffort:!isGrok&&!isZai&&!isMoonshot&&!isTogether&&!isCloudflareAiGateway&&!isNvidia&&!isAntLing,supportsUsageInStreaming:!0,supportsFinishReason:!0,maxTokensField:takesOpenAIRequestShape?"max_completion_tokens":"max_tokens",requiresToolResultName:!1,requiresAssistantAfterToolResult:!1,requiresThinkingAsText:!1,requiresReasoningContentOnAssistantMessages:isDeepSeek,thinkingFormat:isDeepSeek?"deepseek":isZai?"zai":isTogether?"together":isAntLing?"ant-ling":isOpenRouter?"openrouter":"openai",openRouterRouting:{},vercelGatewayRouting:{},chatTemplateKwargs:{},chatTemplateArgs:{},zaiToolStream:!1,supportsThinkingTokenBudget:!1,thinkingTokenBudgetField:void 0,supportsStrictMode:!1,supportsOpenAIGrammarTools:!1,supportsMidConvoSystemMessages:!1,supportsMidConvoToolAdditions:!1,cacheControlFormat,sendSessionAffinityHeaders:isOpenRouter,sessionAffinityFormat:isOpenRouter?"openrouter":"openai",supportsLongCacheRetention:!(isTogether||isCloudflareWorkersAI||isCloudflareAiGateway||isNvidia||isAntLing)}}function getCompat(model){let configured=getConfiguredCompat(model),learned=learnedCompat.get(getLearnedCompatKey(model));return learned?{...configured,...learned}:configured}function getConfiguredCompat(model){let detected=detectCompat(model);return model.compat?{supportsStore:model.compat.supportsStore??detected.supportsStore,supportsDeveloperRole:model.compat.supportsDeveloperRole??detected.supportsDeveloperRole,supportsReasoningEffort:model.compat.supportsReasoningEffort??detected.supportsReasoningEffort,supportsUsageInStreaming:model.compat.supportsUsageInStreaming??detected.supportsUsageInStreaming,supportsFinishReason:model.compat.supportsFinishReason??detected.supportsFinishReason,maxTokensField:model.compat.maxTokensField??detected.maxTokensField,requiresToolResultName:model.compat.requiresToolResultName??detected.requiresToolResultName,requiresAssistantAfterToolResult:model.compat.requiresAssistantAfterToolResult??detected.requiresAssistantAfterToolResult,requiresThinkingAsText:model.compat.requiresThinkingAsText??detected.requiresThinkingAsText,requiresReasoningContentOnAssistantMessages:model.compat.requiresReasoningContentOnAssistantMessages??detected.requiresReasoningContentOnAssistantMessages,thinkingFormat:model.compat.thinkingFormat??detected.thinkingFormat,openRouterRouting:model.compat.openRouterRouting??{},vercelGatewayRouting:model.compat.vercelGatewayRouting??detected.vercelGatewayRouting,chatTemplateKwargs:model.compat.chatTemplateKwargs??detected.chatTemplateKwargs,chatTemplateArgs:model.compat.chatTemplateArgs??detected.chatTemplateArgs,zaiToolStream:model.compat.zaiToolStream??detected.zaiToolStream,supportsThinkingTokenBudget:model.compat.supportsThinkingTokenBudget??detected.supportsThinkingTokenBudget,thinkingTokenBudgetField:model.compat.thinkingTokenBudgetField??detected.thinkingTokenBudgetField,supportsStrictMode:model.compat.supportsStrictMode??detected.supportsStrictMode,supportsOpenAIGrammarTools:model.compat.supportsOpenAIGrammarTools??detected.supportsOpenAIGrammarTools,supportsMidConvoSystemMessages:model.compat.supportsMidConvoSystemMessages??detected.supportsMidConvoSystemMessages,supportsMidConvoToolAdditions:model.compat.supportsMidConvoToolAdditions??detected.supportsMidConvoToolAdditions,cacheControlFormat:model.compat.cacheControlFormat??detected.cacheControlFormat,sendSessionAffinityHeaders:model.compat.sendSessionAffinityHeaders??detected.sendSessionAffinityHeaders,sessionAffinityFormat:model.compat.sessionAffinityFormat??detected.sessionAffinityFormat,supportsLongCacheRetention:model.compat.supportsLongCacheRetention??detected.supportsLongCacheRetention,vllmPriority:model.compat.vllmPriority}:detected}var learnedCompat=new Map;function getLearnedCompatKey(model){return`${model.provider}\0${model.baseUrl}\0${model.id}`}var DROPPABLE_REQUEST_FIELDS=[{fields:["reasoning_effort"],learned:{supportsReasoningEffort:!1}},{fields:["stream_options"],learned:{supportsUsageInStreaming:!1}},{fields:["store"],learned:{supportsStore:!1}},{fields:["prompt_cache_key","prompt_cache_retention"],learned:{supportsLongCacheRetention:!1}}];function withCompatFallback(model,params,send){let enabled=getHostname(model.baseUrl)!=="api.openai.com",applied=new Set,body=params;return async()=>{for(;;)try{return await send(body)}catch(error){let rejection=enabled?readRejection(error):void 0,fallbacks=rejection?findCompatFallbacks(rejection,body).filter(fallback=>!applied.has(fallback.kind)):[];if(fallbacks.length===0)throw error;let key=getLearnedCompatKey(model),learned={...learnedCompat.get(key)};for(let fallback of fallbacks)applied.add(fallback.kind),body=fallback.apply(body),Object.assign(learned,fallback.learned);learnedCompat.set(key,learned)}}}function findCompatFallbacks(rejection,params){let fallbacks=[];params.messages.some(message=>message.role==="developer")&&rejectsDeveloperRole(rejection)&&fallbacks.push({kind:"developer role",learned:{supportsDeveloperRole:!1},apply:body=>({...body,messages:body.messages.map(message=>message.role==="developer"?{...message,role:"system"}:message)})}),params.max_completion_tokens!=null&&refusesField(rejection,"max_completion_tokens")?fallbacks.push({kind:"max tokens field",learned:{maxTokensField:"max_tokens"},apply:({max_completion_tokens,...body})=>({...body,max_tokens:max_completion_tokens})}):params.max_tokens!=null&&refusesField(rejection,"max_tokens")&&fallbacks.push({kind:"max tokens field",learned:{maxTokensField:"max_completion_tokens"},apply:({max_tokens,...body})=>({...body,max_completion_tokens:max_tokens})});let sent=new Map(Object.entries(params));for(let{fields,learned}of DROPPABLE_REQUEST_FIELDS)fields.some(field=>sent.get(field)!=null&&refusesField(rejection,field))&&fallbacks.push({kind:fields[0],learned,apply:body=>Object.fromEntries(Object.entries(body).filter(([field])=>!fields.includes(field)))});return fallbacks}function readRejection(error){let{status,message}=normalizeProviderError(error);if(status===void 0)return;let rejection={texts:[],fieldTexts:[],objects:[]};collectRejection(message,rejection,!1,0),collectRejection(error.error,rejection,!1,0);let words=rejection.texts.join(`
|
|
7
|
+
`),hasImages=toolMsg.content.some(c=>c.type==="image"),toolResultText=textResult.trim().length>0?textResult:hasImages?"(see attached image)":"(no tool output)",toolResultMsg={role:"tool",content:sanitizeSurrogates(toolResultText),tool_call_id:toolMsg.toolCallId};if(compat.requiresToolResultName&&toolMsg.toolName&&(toolResultMsg.name=toolMsg.toolName),params.push(toolResultMsg),hasImages&&model.input.includes("image"))for(let block of toolMsg.content)isImageContentBlock(block)&&imageBlocks.push({type:"image_url",image_url:{url:`data:${block.mimeType};base64,${block.data}`}})}i=j-1,imageBlocks.length>0?(compat.requiresAssistantAfterToolResult&¶ms.push({role:"assistant",content:"I have processed the tool results."}),params.push({role:"user",content:[{type:"text",text:"Attached image(s) from tool result:"},...imageBlocks]}),lastRole="user"):lastRole="toolResult";continue}lastRole=msg.role}return params}function convertTools(tools,compat){return tools.map(tool=>{let grammar=resolveGrammarConstrainedSampling(tool,compat.supportsOpenAIGrammarTools);if(grammar)return{type:"custom",custom:{name:tool.name,description:tool.description,format:{type:"grammar",grammar:{syntax:grammar.format,definition:grammar.definition}}}};let strict=resolveJsonSchemaStrictSampling(tool,compat.supportsStrictMode!==!1);return{type:"function",function:{name:tool.name,description:tool.description,parameters:getJsonSchemaToolParameters(tool,strict),...compat.supportsStrictMode!==!1&&{strict:strict??!1}}}})}function parseChunkUsage(rawUsage,model){let promptTokens=rawUsage.prompt_tokens||0,cacheReadTokens=rawUsage.prompt_tokens_details?.cached_tokens??rawUsage.prompt_cache_hit_tokens??rawUsage.cached_tokens??0,cacheWriteTokens=rawUsage.prompt_tokens_details?.cache_write_tokens||0,input=Math.max(0,promptTokens-cacheReadTokens-cacheWriteTokens),outputTokens=rawUsage.completion_tokens||0,usage={input,output:outputTokens,cacheRead:cacheReadTokens,cacheWrite:cacheWriteTokens,reasoning:rawUsage.completion_tokens_details?.reasoning_tokens||0,totalTokens:input+outputTokens+cacheReadTokens+cacheWriteTokens,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return calculateCost(model,usage),usage}function mapStopReason(reason){if(reason===null)return{stopReason:"stop"};switch(reason){case"stop":case"end":return{stopReason:"stop"};case"length":return{stopReason:"length"};case"function_call":case"tool_calls":return{stopReason:"toolUse"};case"content_filter":return{stopReason:"error",errorMessage:"Provider finish_reason: content_filter"};case"network_error":return{stopReason:"error",errorMessage:"Provider finish_reason: network_error"};default:return{stopReason:"error",errorMessage:`Provider finish_reason: ${reason}`}}}function getHostname(baseUrl){try{return new URL(baseUrl).hostname.toLowerCase()}catch{return}}function isHostOrSubdomain(hostname,domain){return hostname===domain||hostname?.endsWith(`.${domain}`)===!0}function detectCompat(model){let provider=model.provider,baseUrl=model.baseUrl,hostname=getHostname(baseUrl),isOpenAIApi=hostname==="api.openai.com",isAzureOpenAI=isHostOrSubdomain(hostname,"openai.azure.com")||isHostOrSubdomain(hostname,"cognitiveservices.azure.com"),isXiaomi=isHostOrSubdomain(hostname,"xiaomimimo.com"),takesOpenAIRequestShape=isOpenAIApi||isAzureOpenAI||isXiaomi,isZai=provider==="zai"||provider==="zai-coding-cn"||baseUrl.includes("api.z.ai")||baseUrl.includes("open.bigmodel.cn"),isTogether=provider==="together"||baseUrl.includes("api.together.ai")||baseUrl.includes("api.together.xyz"),isMoonshot=provider==="moonshotai"||provider==="moonshotai-cn"||baseUrl.includes("api.moonshot."),isOpenRouter=provider==="openrouter"||baseUrl.includes("openrouter.ai"),isCloudflareWorkersAI=provider==="cloudflare-workers-ai"||baseUrl.includes("api.cloudflare.com"),isCloudflareAiGateway=provider==="cloudflare-ai-gateway"||baseUrl.includes("gateway.ai.cloudflare.com"),isNvidia=provider==="nvidia"||baseUrl.includes("integrate.api.nvidia.com"),isAntLing=provider==="ant-ling"||baseUrl.includes("api.ant-ling.com"),isNebius=provider==="nebius"||baseUrl.includes("tokenfactory.nebius.com"),isDeepSeek=provider==="deepseek"||baseUrl.toLowerCase().includes("deepseek.com"),isGrok=provider==="xai"||baseUrl.includes("api.x.ai"),isOpenRouterDeveloperRoleModel=isOpenRouter&&(model.id.startsWith("anthropic/")||model.id.startsWith("openai/")),cacheControlFormat=provider==="openrouter"&&model.id.startsWith("anthropic/")?"anthropic":void 0;return{supportsStore:isOpenAIApi||isAzureOpenAI,supportsDeveloperRole:takesOpenAIRequestShape||isOpenRouterDeveloperRoleModel,supportsReasoningEffort:!isGrok&&!isZai&&!isMoonshot&&!isTogether&&!isCloudflareAiGateway&&!isNvidia&&!isNebius&&!isAntLing,supportsUsageInStreaming:!0,supportsFinishReason:!0,maxTokensField:takesOpenAIRequestShape?"max_completion_tokens":"max_tokens",requiresToolResultName:!1,requiresAssistantAfterToolResult:!1,requiresThinkingAsText:!1,requiresReasoningContentOnAssistantMessages:isDeepSeek,thinkingFormat:isDeepSeek?"deepseek":isZai?"zai":isTogether?"together":isAntLing?"ant-ling":isOpenRouter?"openrouter":"openai",openRouterRouting:{},vercelGatewayRouting:{},chatTemplateKwargs:{},chatTemplateArgs:{},zaiToolStream:!1,supportsThinkingTokenBudget:!1,thinkingTokenBudgetField:void 0,supportsStrictMode:!1,supportsOpenAIGrammarTools:!1,supportsMidConvoSystemMessages:!1,supportsMidConvoToolAdditions:!1,cacheControlFormat,sendSessionAffinityHeaders:isOpenRouter,sessionAffinityFormat:isOpenRouter?"openrouter":"openai",supportsLongCacheRetention:!(isTogether||isCloudflareWorkersAI||isCloudflareAiGateway||isNvidia||isNebius||isAntLing)}}function getCompat(model){let configured=getConfiguredCompat(model),learned=learnedCompat.get(getLearnedCompatKey(model));return learned?{...configured,...learned}:configured}function getConfiguredCompat(model){let detected=detectCompat(model);return model.compat?{supportsStore:model.compat.supportsStore??detected.supportsStore,supportsDeveloperRole:model.compat.supportsDeveloperRole??detected.supportsDeveloperRole,supportsReasoningEffort:model.compat.supportsReasoningEffort??detected.supportsReasoningEffort,supportsUsageInStreaming:model.compat.supportsUsageInStreaming??detected.supportsUsageInStreaming,supportsFinishReason:model.compat.supportsFinishReason??detected.supportsFinishReason,maxTokensField:model.compat.maxTokensField??detected.maxTokensField,requiresToolResultName:model.compat.requiresToolResultName??detected.requiresToolResultName,requiresAssistantAfterToolResult:model.compat.requiresAssistantAfterToolResult??detected.requiresAssistantAfterToolResult,requiresThinkingAsText:model.compat.requiresThinkingAsText??detected.requiresThinkingAsText,requiresReasoningContentOnAssistantMessages:model.compat.requiresReasoningContentOnAssistantMessages??detected.requiresReasoningContentOnAssistantMessages,thinkingFormat:model.compat.thinkingFormat??detected.thinkingFormat,openRouterRouting:model.compat.openRouterRouting??{},vercelGatewayRouting:model.compat.vercelGatewayRouting??detected.vercelGatewayRouting,chatTemplateKwargs:model.compat.chatTemplateKwargs??detected.chatTemplateKwargs,chatTemplateArgs:model.compat.chatTemplateArgs??detected.chatTemplateArgs,zaiToolStream:model.compat.zaiToolStream??detected.zaiToolStream,supportsThinkingTokenBudget:model.compat.supportsThinkingTokenBudget??detected.supportsThinkingTokenBudget,thinkingTokenBudgetField:model.compat.thinkingTokenBudgetField??detected.thinkingTokenBudgetField,supportsStrictMode:model.compat.supportsStrictMode??detected.supportsStrictMode,supportsOpenAIGrammarTools:model.compat.supportsOpenAIGrammarTools??detected.supportsOpenAIGrammarTools,supportsMidConvoSystemMessages:model.compat.supportsMidConvoSystemMessages??detected.supportsMidConvoSystemMessages,supportsMidConvoToolAdditions:model.compat.supportsMidConvoToolAdditions??detected.supportsMidConvoToolAdditions,cacheControlFormat:model.compat.cacheControlFormat??detected.cacheControlFormat,sendSessionAffinityHeaders:model.compat.sendSessionAffinityHeaders??detected.sendSessionAffinityHeaders,sessionAffinityFormat:model.compat.sessionAffinityFormat??detected.sessionAffinityFormat,supportsLongCacheRetention:model.compat.supportsLongCacheRetention??detected.supportsLongCacheRetention,vllmPriority:model.compat.vllmPriority}:detected}var learnedCompat=new Map;function getLearnedCompatKey(model){return`${model.provider}\0${model.baseUrl}\0${model.id}`}var DROPPABLE_REQUEST_FIELDS=[{fields:["reasoning_effort"],learned:{supportsReasoningEffort:!1}},{fields:["stream_options"],learned:{supportsUsageInStreaming:!1}},{fields:["store"],learned:{supportsStore:!1}},{fields:["prompt_cache_key","prompt_cache_retention"],learned:{supportsLongCacheRetention:!1}}];function withCompatFallback(model,params,send){let enabled=getHostname(model.baseUrl)!=="api.openai.com",applied=new Set,body=params;return async()=>{for(;;)try{return await send(body)}catch(error){let rejection=enabled?readRejection(error):void 0,fallbacks=rejection?findCompatFallbacks(rejection,body).filter(fallback=>!applied.has(fallback.kind)):[];if(fallbacks.length===0)throw error;let key=getLearnedCompatKey(model),learned={...learnedCompat.get(key)};for(let fallback of fallbacks)applied.add(fallback.kind),body=fallback.apply(body),Object.assign(learned,fallback.learned);learnedCompat.set(key,learned)}}}function findCompatFallbacks(rejection,params){let fallbacks=[];params.messages.some(message=>message.role==="developer")&&rejectsDeveloperRole(rejection)&&fallbacks.push({kind:"developer role",learned:{supportsDeveloperRole:!1},apply:body=>({...body,messages:body.messages.map(message=>message.role==="developer"?{...message,role:"system"}:message)})}),params.max_completion_tokens!=null&&refusesField(rejection,"max_completion_tokens")?fallbacks.push({kind:"max tokens field",learned:{maxTokensField:"max_tokens"},apply:({max_completion_tokens,...body})=>({...body,max_tokens:max_completion_tokens})}):params.max_tokens!=null&&refusesField(rejection,"max_tokens")&&fallbacks.push({kind:"max tokens field",learned:{maxTokensField:"max_completion_tokens"},apply:({max_tokens,...body})=>({...body,max_completion_tokens:max_tokens})});let sent=new Map(Object.entries(params));for(let{fields,learned}of DROPPABLE_REQUEST_FIELDS)fields.some(field=>sent.get(field)!=null&&refusesField(rejection,field))&&fallbacks.push({kind:fields[0],learned,apply:body=>Object.fromEntries(Object.entries(body).filter(([field])=>!fields.includes(field)))});return fallbacks}function readRejection(error){let{status,message}=normalizeProviderError(error);if(status===void 0)return;let rejection={texts:[],fieldTexts:[],objects:[]};collectRejection(message,rejection,!1,0),collectRejection(error.error,rejection,!1,0);let words=rejection.texts.join(`
|
|
8
8
|
`);return status===400||status===422||status>=500&&/\b4(?:00|22)\b|invalid_request/i.test(words)?rejection:void 0}function collectRejection(value,rejection,aboutValue,depth){if(!(depth>8)){if(typeof value=="string"){let{prose,embedded}=splitEmbeddedJson(value);rejection.texts.push(prose),aboutValue||rejection.fieldTexts.push(prose);for(let item of embedded)collectRejection(item,rejection,aboutValue,depth+1)}else if(Array.isArray(value))for(let item of value)collectRejection(item,rejection,aboutValue,depth+1);else if(typeof value=="object"&&value!==null){let object=value;aboutValue||rejection.objects.push(object);let isValueError="loc"in object&&object.type!=="extra_forbidden"||object.code==="invalid_value"||object.code==="unsupported_value"||object.type==="unsupported_value";for(let[key,item]of Object.entries(object))key!=="input"&&collectRejection(item,rejection,aboutValue||isValueError,depth+1)}}}function splitEmbeddedJson(text){let embedded=[],prose="",index=0;for(;index<text.length;){let start=text.slice(index).search(/[{[]/);if(start===-1)break;let begin=index+start,end=findJsonEnd(text,begin);if(end!==-1)try{embedded.push(JSON.parse(text.slice(begin,end))),prose+=text.slice(index,begin),index=end;continue}catch{}prose+=text.slice(index,begin+1),index=begin+1}return{prose:prose+text.slice(index),embedded}}function findJsonEnd(text,start){let depth=0,inString=!1;for(let index=start;index<text.length;index++){let char=text[index];if(inString)char==="\\"?index++:char==='"'&&(inString=!1);else if(char==='"')inString=!0;else if(char==="{"||char==="[")depth++;else if((char==="}"||char==="]")&&(depth--,depth===0))return index+1}return-1}var ROLE_REJECTION_WORDS=/\b(?:unknown|invalid|unsupported|unrecognized|unexpected|not (?:supported|allowed|permitted|recognized|valid|accepted)|does not (?:support|match)|must be one of|should be|expected)\b/i;function rejectsDeveloperRole(rejection){let words=rejection.texts.join(`
|
|
9
9
|
`);return/\bdeveloper\b/i.test(words)&&ROLE_REJECTION_WORDS.test(words)&&(/\brole\b/i.test(words)||/\bsystem\b/i.test(words)&&/\buser\b/i.test(words))}function refusesField(rejection,field){for(let object of rejection.objects){if((object.code==="unsupported_parameter"||object.code==="unknown_parameter")&&object.param===field)return!0;let loc=object.loc;if(object.type==="extra_forbidden"&&Array.isArray(loc)&&(loc[0]===field||loc[0]==="body"&&loc[1]===field))return!0}let name=`[\\\\"'\`]*${field}[\\\\"'\`]*(?![\\w])`,patterns=[`\\b(?:unknown|unrecognized|unsupported|unexpected|extra)\\s+(?:request\\s+)?(?:field|parameter|param|argument|property|option|name)s?(?:\\s+supplied)?\\s*:?\\s*${name}(?!\\s*:?\\s*at\\s+[\\\\"']+[^\\\\"'\\s:])`,`(?:^(?:\\d{3}\\s+)?|\\b(?:field|parameter|param|argument|property|option)\\s+)${name}\\s+(?:is\\s+|are\\s+)?(?:not\\s+(?:supported|allowed|permitted|recognized)|unsupported|unknown|unrecognized)\\b`,`\\b(?:does\\s+not|doesn't|do\\s+not)\\s+support\\s+(?:the\\s+)?(?:(?:field|parameter|param|argument)\\s+)?${name}`].map(pattern=>new RegExp(pattern,"i"));return rejection.fieldTexts.some(text=>patterns.some(pattern=>pattern.test(text)))}export{convertMessages,stream,streamSimple};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
|
|
2
|
-
import{dist_exports as dist_exports3}from"./chunk-
|
|
2
|
+
import{dist_exports as dist_exports3}from"./chunk-L6RFSEAE.js";import{all_exports,compat_exports,compile_exports,dist_exports as dist_exports2,value_exports}from"./chunk-6UUEQH6U.js";import{build_exports}from"./chunk-DYTENXHX.js";import"./chunk-FLHKNMLQ.js";import{dist_exports}from"./chunk-LT2C56HV.js";import"./chunk-6Z2347ML.js";import"./chunk-MF3VB62R.js";import"./chunk-URBBMV3M.js";import"./chunk-6QGV3IWD.js";import"./chunk-LHRPMXVI.js";import"./chunk-USJZMAIR.js";import"./chunk-5AGIVGSV.js";import"./chunk-45R57BZU.js";import"./chunk-TMTOQ7H7.js";import"./chunk-7DDKXS2Q.js";import"./chunk-3V45WARH.js";import"./chunk-WCGU75WO.js";import"./chunk-LPXNMA2W.js";import"./chunk-JXWJOIH4.js";var oauth_exports={};var VIRTUAL_MODULES={typebox:build_exports,"typebox/compile":compile_exports,"typebox/value":value_exports,"@sinclair/typebox":build_exports,"@sinclair/typebox/compile":compile_exports,"@sinclair/typebox/value":value_exports,"@earendil-works/pi-agent-core":dist_exports2,"@earendil-works/pi-tui":dist_exports,"@earendil-works/pi-ai":compat_exports,"@earendil-works/pi-ai/compat":compat_exports,"@earendil-works/pi-ai/oauth":oauth_exports,"@earendil-works/pi-ai/providers/all":all_exports,"@earendil-works/pi-coding-agent":dist_exports3,"@mariozechner/pi-agent-core":dist_exports2,"@mariozechner/pi-tui":dist_exports,"@mariozechner/pi-ai":compat_exports,"@mariozechner/pi-ai/compat":compat_exports,"@mariozechner/pi-ai/oauth":oauth_exports,"@mariozechner/pi-ai/providers/all":all_exports,"@mariozechner/pi-coding-agent":dist_exports3};export{VIRTUAL_MODULES};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
|
|
3
|
-
import{main,setupCli}from"./chunks/chunk-
|
|
3
|
+
import{main,setupCli}from"./chunks/chunk-6UUEQH6U.js";import"./chunks/chunk-DYTENXHX.js";import"./chunks/chunk-FLHKNMLQ.js";import"./chunks/chunk-LT2C56HV.js";import"./chunks/chunk-6Z2347ML.js";import"./chunks/chunk-MF3VB62R.js";import"./chunks/chunk-URBBMV3M.js";import"./chunks/chunk-6QGV3IWD.js";import"./chunks/chunk-LHRPMXVI.js";import"./chunks/chunk-USJZMAIR.js";import"./chunks/chunk-5AGIVGSV.js";import"./chunks/chunk-45R57BZU.js";import"./chunks/chunk-TMTOQ7H7.js";import"./chunks/chunk-7DDKXS2Q.js";import"./chunks/chunk-3V45WARH.js";import"./chunks/chunk-WCGU75WO.js";import"./chunks/chunk-LPXNMA2W.js";import"./chunks/chunk-JXWJOIH4.js";setupCli();main(process.argv.slice(2));
|
package/dist/bundle/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
|
|
2
|
-
import{ShowImagesSelectorComponent,ThemeSelectorComponent}from"./chunks/chunk-
|
|
2
|
+
import{ShowImagesSelectorComponent,ThemeSelectorComponent}from"./chunks/chunk-L6RFSEAE.js";import{AgentSession,AgentSessionRuntime,AssistantMessageComponent,BashExecutionComponent,BorderedLoader,BranchSummaryMessageComponent,CURRENT_SESSION_VERSION,CompactionSummaryMessageComponent,CredentialSynchronizationError,CustomEditor,CustomMessageComponent,DEFAULT_COMPACTION_SETTINGS,DefaultPackageManager,DefaultResourceLoader,DynamicBorder,ExtensionEditorComponent,ExtensionInputComponent,ExtensionRunner,ExtensionSelectorComponent,FileModelsStore,FooterComponent,InteractiveMode,LoginDialogComponent,MCP_CONNECTION_EVENT,ModelRegistry,ModelRuntime,ModelSelectorComponent,OAuthSelectorComponent,RpcClient,SessionManager,SessionSelectorComponent,SettingsManager,SettingsSelectorComponent,SkillInvocationMessageComponent,ThinkingSelectorComponent,ToolExecutionComponent,TreeSelectorComponent,UserMessageComponent,UserMessageSelectorComponent,VIRTUAL_MODEL_STATE_ENTRY,applyHttpProxySettings,buildContextEntries,buildSessionContext,buildSessionProjection,calculateContextTokens,collectEntriesForBranchSummary,compact,configureHttpDispatcher,convertToLlm,convertToPng,copyToClipboard,createAgentSession,createAgentSessionFromServices,createAgentSessionRuntime,createAgentSessionServices,createBashTool,createBashToolDefinition,createCodemodeExtension,createCodingTools,createEditTool,createEditToolDefinition,createEventBus,createExtensionRuntime,createFindTool,createFindToolDefinition,createGrepTool,createGrepToolDefinition,createLocalBashOperations,createLocalPowerShellOperations,createLsTool,createLsToolDefinition,createMcpExtension,createPowerShellTool,createPowerShellToolDefinition,createReadOnlyTools,createReadTool,createReadToolDefinition,createSyntheticSourceInfo,createToolSearchExtension,createWriteTool,createWriteToolDefinition,defaultModelPerProvider,defineTool,detectSupportedImageMimeTypeFromFile,discoverAndLoadExtensions,estimateTokens,findCutPoint,findTurnStartIndex,formatDimensionNote,formatSkillsForPrompt,generateBranchSummary,generateDiffString,generateSummary,generateSummaryWithUsage,generateUnifiedPatch,getLastAssistantUsage,getLatestCompactionEntry,isBashToolResult,isEditToolResult,isFindToolResult,isGrepToolResult,isLsToolResult,isPowerShellToolResult,isReadToolResult,isToolCallEventType,isWriteToolResult,loadProjectContextFiles,loadSkills,loadSkillsFromDir,main,migrateSessionEntries,parseArgs,parseFrontmatter,parseSessionEntries,parseSkillBlock,prepareBranchEntries,renderDiff,resizeImage,resolveCliModel,resolveModelScopeWithDiagnostics,runPrintMode,runRpcMode,serializeConversation,sessionEntryToContextMessages,setupCli,shouldCompact,stdioRpcTransport,stripFrontmatter,withFileMutationQueue,wrapRegisteredTool,wrapRegisteredTools}from"./chunks/chunk-6UUEQH6U.js";import{DEFAULT_MAX_BYTES,DEFAULT_MAX_LINES,formatReadLineRange,formatSize,truncateHead,truncateLine,truncateTail,truncateToVisualLines}from"./chunks/chunk-DYTENXHX.js";import{ArminComponent}from"./chunks/chunk-FLHKNMLQ.js";import{Theme,getLanguageFromPath,getMarkdownTheme,getSelectListTheme,getSettingsListTheme,highlightCode,initTheme,keyHint,keyText,rawKeyHint}from"./chunks/chunk-LT2C56HV.js";import{ProjectTrustStore,hasTrustRequiringProjectResources,loadMcpConfig}from"./chunks/chunk-6Z2347ML.js";import{readStoredCredential}from"./chunks/chunk-MF3VB62R.js";import{getPowerShellConfig,getShellConfig}from"./chunks/chunk-URBBMV3M.js";import"./chunks/chunk-6QGV3IWD.js";import{CONFIG_DIR_NAME,VERSION,getAgentDir,getDocsPath,getExamplesPath,getPackageDir,getReadmePath}from"./chunks/chunk-LHRPMXVI.js";import"./chunks/chunk-USJZMAIR.js";import"./chunks/chunk-5AGIVGSV.js";import"./chunks/chunk-45R57BZU.js";import"./chunks/chunk-TMTOQ7H7.js";import"./chunks/chunk-7DDKXS2Q.js";import"./chunks/chunk-3V45WARH.js";import"./chunks/chunk-WCGU75WO.js";import"./chunks/chunk-LPXNMA2W.js";import"./chunks/chunk-JXWJOIH4.js";export{AgentSession,AgentSessionRuntime,ArminComponent,AssistantMessageComponent,BashExecutionComponent,BorderedLoader,BranchSummaryMessageComponent,CONFIG_DIR_NAME,CURRENT_SESSION_VERSION,CompactionSummaryMessageComponent,CredentialSynchronizationError,CustomEditor,CustomMessageComponent,DEFAULT_COMPACTION_SETTINGS,DEFAULT_MAX_BYTES,DEFAULT_MAX_LINES,DefaultPackageManager,DefaultResourceLoader,DynamicBorder,ExtensionEditorComponent,ExtensionInputComponent,ExtensionRunner,ExtensionSelectorComponent,FileModelsStore,FooterComponent,InteractiveMode,LoginDialogComponent,MCP_CONNECTION_EVENT,ModelRegistry,ModelRuntime,ModelSelectorComponent,OAuthSelectorComponent,ProjectTrustStore,RpcClient,SessionManager,SessionSelectorComponent,SettingsManager,SettingsSelectorComponent,ShowImagesSelectorComponent,SkillInvocationMessageComponent,Theme,ThemeSelectorComponent,ThinkingSelectorComponent,ToolExecutionComponent,TreeSelectorComponent,UserMessageComponent,UserMessageSelectorComponent,VERSION,VIRTUAL_MODEL_STATE_ENTRY,applyHttpProxySettings,buildContextEntries,buildSessionContext,buildSessionProjection,calculateContextTokens,collectEntriesForBranchSummary,compact,configureHttpDispatcher,convertToLlm,convertToPng,copyToClipboard,createAgentSession,createAgentSessionFromServices,createAgentSessionRuntime,createAgentSessionServices,createBashTool,createBashToolDefinition,createCodemodeExtension,createCodingTools,createEditTool,createEditToolDefinition,createEventBus,createExtensionRuntime,createFindTool,createFindToolDefinition,createGrepTool,createGrepToolDefinition,createLocalBashOperations,createLocalPowerShellOperations,createLsTool,createLsToolDefinition,createMcpExtension,createPowerShellTool,createPowerShellToolDefinition,createReadOnlyTools,createReadTool,createReadToolDefinition,createSyntheticSourceInfo,createToolSearchExtension,createWriteTool,createWriteToolDefinition,defaultModelPerProvider,defineTool,detectSupportedImageMimeTypeFromFile,discoverAndLoadExtensions,estimateTokens,findCutPoint,findTurnStartIndex,formatDimensionNote,formatReadLineRange,formatSize,formatSkillsForPrompt,generateBranchSummary,generateDiffString,generateSummary,generateSummaryWithUsage,generateUnifiedPatch,getAgentDir,getDocsPath,getExamplesPath,getLanguageFromPath,getLastAssistantUsage,getLatestCompactionEntry,getMarkdownTheme,getPackageDir,getPowerShellConfig,getReadmePath,getSelectListTheme,getSettingsListTheme,getShellConfig,hasTrustRequiringProjectResources,highlightCode,initTheme,isBashToolResult,isEditToolResult,isFindToolResult,isGrepToolResult,isLsToolResult,isPowerShellToolResult,isReadToolResult,isToolCallEventType,isWriteToolResult,keyHint,keyText,loadMcpConfig,loadProjectContextFiles,loadSkills,loadSkillsFromDir,main,migrateSessionEntries,parseArgs,parseFrontmatter,parseSessionEntries,parseSkillBlock,prepareBranchEntries,rawKeyHint,readStoredCredential,renderDiff,resizeImage,resolveCliModel,resolveModelScopeWithDiagnostics,runPrintMode,runRpcMode,serializeConversation,sessionEntryToContextMessages,setupCli,shouldCompact,stdioRpcTransport,stripFrontmatter,truncateHead,truncateLine,truncateTail,truncateToVisualLines,withFileMutationQueue,wrapRegisteredTool,wrapRegisteredTools};
|
package/dist/bundle/rpc-entry.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
|
|
3
|
-
import{configureHttpDispatcher,main,nameProcess}from"./chunks/chunk-
|
|
3
|
+
import{configureHttpDispatcher,main,nameProcess}from"./chunks/chunk-6UUEQH6U.js";import"./chunks/chunk-DYTENXHX.js";import"./chunks/chunk-FLHKNMLQ.js";import"./chunks/chunk-LT2C56HV.js";import"./chunks/chunk-6Z2347ML.js";import"./chunks/chunk-MF3VB62R.js";import"./chunks/chunk-URBBMV3M.js";import"./chunks/chunk-6QGV3IWD.js";import{APP_NAME}from"./chunks/chunk-LHRPMXVI.js";import"./chunks/chunk-USJZMAIR.js";import"./chunks/chunk-5AGIVGSV.js";import"./chunks/chunk-45R57BZU.js";import"./chunks/chunk-TMTOQ7H7.js";import"./chunks/chunk-7DDKXS2Q.js";import"./chunks/chunk-3V45WARH.js";import"./chunks/chunk-WCGU75WO.js";import"./chunks/chunk-LPXNMA2W.js";import"./chunks/chunk-JXWJOIH4.js";nameProcess(`${APP_NAME}-rpc`);process.env.PI_CODING_AGENT="true";process.env.AI_AGENT="pi";process.emitWarning=(()=>{});configureHttpDispatcher();main(["--mode","rpc",...process.argv.slice(2)]);
|
package/docs/providers.md
CHANGED
|
@@ -35,6 +35,7 @@ This table covers providers with a single primary API-key variable. Providers th
|
|
|
35
35
|
| OpenAI | `OPENAI_API_KEY` |
|
|
36
36
|
| DeepSeek | `DEEPSEEK_API_KEY` |
|
|
37
37
|
| NVIDIA NIM | `NVIDIA_API_KEY` |
|
|
38
|
+
| Nebius Token Factory | `NEBIUS_API_KEY` |
|
|
38
39
|
| Google Gemini | `GEMINI_API_KEY` |
|
|
39
40
|
| GitHub Copilot | `COPILOT_GITHUB_TOKEN` |
|
|
40
41
|
| Mistral | `MISTRAL_API_KEY` |
|
package/judge/dist/auth.js
CHANGED
package/judge/dist/mude.js
CHANGED
|
@@ -38,6 +38,22 @@ var BUILT_IN_JUDGES = {
|
|
|
38
38
|
"clef-flash": { type: "classifier", model: "cloudflare-workers-ai/@cf/cloudflare/clef-flash" },
|
|
39
39
|
// CLM-8B on this machine, where `clm-serve` listens by default. Its profile is not measured on mu's questions yet.
|
|
40
40
|
clm: { type: "clm" },
|
|
41
|
+
// NVIDIA Nemotron 3 Ultra on Nebius Token Factory (NEBIUS_API_KEY) through the LLM judge prompt, thinking off:
|
|
42
|
+
// one JSON answer per request, 0.9 s at the median. Measured on 1,367 held-out judge requests from mu (Oct 2026),
|
|
43
|
+
// it was the only Nemotron on Token Factory that clearly beat no judge at all; Super, Nano 30B and Lightning
|
|
44
|
+
// (also read off first-token logprobs) missed the answer format or decided worse.
|
|
45
|
+
nemotron: { type: "llm", model: "nebius/nvidia/Nemotron-3-Ultra-550b-a55b", thinking: "off" },
|
|
46
|
+
// The same with thinking on (reasoning_effort "high"): 2.5 s at the median, 8.5 s at p90, about three times the
|
|
47
|
+
// tokens. Worth it where Ultra decides worst without it; route those decision points here (docs/nebius.md).
|
|
48
|
+
"nemotron-think": {
|
|
49
|
+
type: "llm",
|
|
50
|
+
model: "nebius/nvidia/Nemotron-3-Ultra-550b-a55b",
|
|
51
|
+
thinking: "high",
|
|
52
|
+
timeoutMs: 6e4
|
|
53
|
+
},
|
|
54
|
+
// Nemotron 3 Nano 4B fine-tuned as mu's judge (github.com/qybaihe/mu-judge-nemotron), served on this machine by
|
|
55
|
+
// its System One server: `python serve/systemone_server.py --port 8770`.
|
|
56
|
+
"nemotron-local": { type: "systemone", baseUrl: "http://127.0.0.1:8770", model: "mu-judge-nemotron" },
|
|
41
57
|
// mude, the decision model trained for mu's judgment layer, on this Mac (`mu judge mude install`, Apple silicon):
|
|
42
58
|
// the System One server that comes in its package, on 127.0.0.1:8790, with the key the install wrote to the .env.
|
|
43
59
|
// Trusted on every capability: on mu's own dev scenarios (an internal benchmark, not public yet) it did as well as Jev
|
|
@@ -62,10 +78,12 @@ var JUDGE_TYPES = [
|
|
|
62
78
|
"jev",
|
|
63
79
|
"typesafe",
|
|
64
80
|
"clm",
|
|
81
|
+
"systemone",
|
|
65
82
|
"gateway",
|
|
66
83
|
"http",
|
|
67
84
|
"llm",
|
|
68
85
|
"classifier",
|
|
86
|
+
"logprob",
|
|
69
87
|
"openai",
|
|
70
88
|
"mock"
|
|
71
89
|
];
|
package/judge/dist/setup.js
CHANGED
|
@@ -100,6 +100,22 @@ var BUILT_IN_JUDGES = {
|
|
|
100
100
|
"clef-flash": { type: "classifier", model: "cloudflare-workers-ai/@cf/cloudflare/clef-flash" },
|
|
101
101
|
// CLM-8B on this machine, where `clm-serve` listens by default. Its profile is not measured on mu's questions yet.
|
|
102
102
|
clm: { type: "clm" },
|
|
103
|
+
// NVIDIA Nemotron 3 Ultra on Nebius Token Factory (NEBIUS_API_KEY) through the LLM judge prompt, thinking off:
|
|
104
|
+
// one JSON answer per request, 0.9 s at the median. Measured on 1,367 held-out judge requests from mu (Oct 2026),
|
|
105
|
+
// it was the only Nemotron on Token Factory that clearly beat no judge at all; Super, Nano 30B and Lightning
|
|
106
|
+
// (also read off first-token logprobs) missed the answer format or decided worse.
|
|
107
|
+
nemotron: { type: "llm", model: "nebius/nvidia/Nemotron-3-Ultra-550b-a55b", thinking: "off" },
|
|
108
|
+
// The same with thinking on (reasoning_effort "high"): 2.5 s at the median, 8.5 s at p90, about three times the
|
|
109
|
+
// tokens. Worth it where Ultra decides worst without it; route those decision points here (docs/nebius.md).
|
|
110
|
+
"nemotron-think": {
|
|
111
|
+
type: "llm",
|
|
112
|
+
model: "nebius/nvidia/Nemotron-3-Ultra-550b-a55b",
|
|
113
|
+
thinking: "high",
|
|
114
|
+
timeoutMs: 6e4
|
|
115
|
+
},
|
|
116
|
+
// Nemotron 3 Nano 4B fine-tuned as mu's judge (github.com/qybaihe/mu-judge-nemotron), served on this machine by
|
|
117
|
+
// its System One server: `python serve/systemone_server.py --port 8770`.
|
|
118
|
+
"nemotron-local": { type: "systemone", baseUrl: "http://127.0.0.1:8770", model: "mu-judge-nemotron" },
|
|
103
119
|
// mude, the decision model trained for mu's judgment layer, on this Mac (`mu judge mude install`, Apple silicon):
|
|
104
120
|
// the System One server that comes in its package, on 127.0.0.1:8790, with the key the install wrote to the .env.
|
|
105
121
|
// Trusted on every capability: on mu's own dev scenarios (an internal benchmark, not public yet) it did as well as Jev
|
|
@@ -124,10 +140,12 @@ var JUDGE_TYPES = [
|
|
|
124
140
|
"jev",
|
|
125
141
|
"typesafe",
|
|
126
142
|
"clm",
|
|
143
|
+
"systemone",
|
|
127
144
|
"gateway",
|
|
128
145
|
"http",
|
|
129
146
|
"llm",
|
|
130
147
|
"classifier",
|
|
148
|
+
"logprob",
|
|
131
149
|
"openai",
|
|
132
150
|
"mock"
|
|
133
151
|
];
|
|
@@ -2352,6 +2370,20 @@ var SETUP_SERVICES = [
|
|
|
2352
2370
|
providers: ["xai"],
|
|
2353
2371
|
builtIn: true
|
|
2354
2372
|
},
|
|
2373
|
+
{
|
|
2374
|
+
// Not in the app's table yet. Open models, NVIDIA's Nemotron among them; the same key reaches the `nemotron`
|
|
2375
|
+
// judge (Nemotron 3 Ultra on Token Factory).
|
|
2376
|
+
id: "nebius",
|
|
2377
|
+
name: "Nebius Token Factory",
|
|
2378
|
+
baseUrls: ["https://api.tokenfactory.nebius.com/v1"],
|
|
2379
|
+
api: "openai-completions",
|
|
2380
|
+
models: ["nvidia/nemotron-3-super-120b-a12b"],
|
|
2381
|
+
// "v1.", then two base64url parts.
|
|
2382
|
+
keyShape: /^v1\.[A-Za-z0-9_-]{40,}\.[A-Za-z0-9_-]{40,}$/,
|
|
2383
|
+
keyPage: "https://tokenfactory.nebius.com",
|
|
2384
|
+
providers: ["nebius"],
|
|
2385
|
+
builtIn: true
|
|
2386
|
+
},
|
|
2355
2387
|
{
|
|
2356
2388
|
id: "ollama",
|
|
2357
2389
|
name: "Ollama",
|
|
@@ -2467,6 +2499,7 @@ var JEV_TIERS = /* @__PURE__ */ new Set([
|
|
|
2467
2499
|
"jev-cloudflare"
|
|
2468
2500
|
]);
|
|
2469
2501
|
var OPENCODE_KEY = "OPENCODE_API_KEY";
|
|
2502
|
+
var NEBIUS_KEY = "NEBIUS_API_KEY";
|
|
2470
2503
|
var JEV_PAGE = "https://typesafe.ai";
|
|
2471
2504
|
var OPENAI_KEY_PAGE = "https://platform.openai.com/api-keys";
|
|
2472
2505
|
var CLAUDE_TOKEN = {
|
|
@@ -2506,11 +2539,11 @@ function parseSetupArgs(argv) {
|
|
|
2506
2539
|
return { error: { zh: "--api \u53EA\u80FD\u662F openai \u6216 anthropic", en: "--api must be openai or anthropic" } };
|
|
2507
2540
|
}
|
|
2508
2541
|
const judge = values.get("--judge");
|
|
2509
|
-
if (judge !== void 0 && !["jev", "opencode", "free", "openai", "model", "mude", "off", "none"].includes(judge)) {
|
|
2542
|
+
if (judge !== void 0 && !["jev", "opencode", "free", "nemotron", "openai", "model", "mude", "off", "none"].includes(judge)) {
|
|
2510
2543
|
return {
|
|
2511
2544
|
error: {
|
|
2512
|
-
zh: "--judge \u53EA\u80FD\u662F jev\u3001opencode\u3001free\u3001openai\u3001model\u3001mude\u3001off \u6216 none",
|
|
2513
|
-
en: "--judge must be jev, opencode, free, openai, model, mude, off or none"
|
|
2545
|
+
zh: "--judge \u53EA\u80FD\u662F jev\u3001opencode\u3001free\u3001nemotron\u3001openai\u3001model\u3001mude\u3001off \u6216 none",
|
|
2546
|
+
en: "--judge must be jev, opencode, free, nemotron, openai, model, mude, off or none"
|
|
2514
2547
|
}
|
|
2515
2548
|
};
|
|
2516
2549
|
}
|
|
@@ -2556,6 +2589,7 @@ function setupUsage(language) {
|
|
|
2556
2589
|
" --judge jev Jev \u5BC6\u94A5\uFF08TypeSafe\uFF09\u5199\u5728\u6807\u51C6\u8F93\u5165\u7684\u7B2C\u4E8C\u884C\uFF1B\u5DF2\u7ECF\u8BBE\u7F6E\u4E86 TYPESAFE_API_KEY \u5C31\u4E0D\u7528",
|
|
2557
2590
|
" --judge opencode OpenCode Zen \u4E0A\u7684 Jev\uFF0C\u7528 OpenCode \u7684\u5BC6\u94A5\uFF08--service opencode \u6216 OPENCODE_API_KEY\uFF09",
|
|
2558
2591
|
" --judge free OpenCode Zen \u4E0A\u9650\u65F6\u514D\u8D39\u7684 Jev\uFF0C\u4E0D\u7528\u5BC6\u94A5\uFF08\u6CA1\u6709\u5BC6\u94A5\u65F6\u672C\u6765\u5C31\u7528\u5B83\uFF09",
|
|
2592
|
+
" --judge nemotron Nebius Token Factory \u4E0A\u7684 Nemotron 3 Ultra\uFF0C\u7528 Nebius \u7684\u5BC6\u94A5\uFF08--service nebius \u6216 NEBIUS_API_KEY\uFF09",
|
|
2559
2593
|
" --judge openai OpenAI \u7684\u51B3\u7B56\u6A21\u578B gpt-6-luna\uFF1A\u7528 mu \u5DF2\u6709\u7684 OpenAI \u5BC6\u94A5\uFF0C\u6216\u6807\u51C6\u8F93\u5165\u7B2C\u4E8C\u884C\u7684\u5BC6\u94A5",
|
|
2560
2594
|
" --judge model \u7528\u521A\u8BBE\u7F6E\u7684\u6A21\u578B\u5F53\u5224\u5B9A\u5668\uFF08\u66F4\u6162\uFF0C\u6BCF\u6B21\u5224\u65AD\u90FD\u82B1 token\uFF09",
|
|
2561
2595
|
" --judge mude \u5728\u8FD9\u53F0 Mac \u4E0A\u88C5\u597D mude 1.0\uFF08mu \u81EA\u5DF1\u7684\u51B3\u7B56\u6A21\u578B\uFF0C\u4E0B\u8F7D 1.8 GB\uFF09\u5F53\u5224\u5B9A\u5668\uFF0CJev \u5728\u5B83\u540E\u9762",
|
|
@@ -2584,6 +2618,8 @@ function setupUsage(language) {
|
|
|
2584
2618
|
" --judge jev read the Jev key (TypeSafe) from stdin's second line, unless TYPESAFE_API_KEY is already set",
|
|
2585
2619
|
" --judge opencode use Jev on OpenCode Zen with an OpenCode key (--service opencode or OPENCODE_API_KEY)",
|
|
2586
2620
|
" --judge free use the free Jev on OpenCode Zen (limited time, no key; the default while no key is set)",
|
|
2621
|
+
" --judge nemotron use Nemotron 3 Ultra on Nebius Token Factory with a Nebius key (--service nebius or",
|
|
2622
|
+
" NEBIUS_API_KEY)",
|
|
2587
2623
|
" --judge openai use OpenAI's decision model, gpt-6-luna, with the OpenAI key mu has or one on stdin's second line",
|
|
2588
2624
|
" --judge model use the model you just set up as the judge (slower, and every verdict costs tokens)",
|
|
2589
2625
|
" --judge mude install mude 1.0, mu's own decision model, on this Mac (a 1.8 GB download) as the judge,",
|
|
@@ -3261,8 +3297,9 @@ var Setup = class {
|
|
|
3261
3297
|
const envText = readTextFile(paths.envFile);
|
|
3262
3298
|
const existing = jevKeyAt(env, envText);
|
|
3263
3299
|
const opencode = model?.provider === "opencode" || Boolean(env[OPENCODE_KEY]) || !(OPENCODE_KEY in env) && envText !== void 0 && Boolean(envFileValue(envText, OPENCODE_KEY)) || await this.deps.pi.credential("opencode") !== void 0;
|
|
3300
|
+
const nebius = model?.provider === "nebius" || Boolean(env[NEBIUS_KEY]) || !(NEBIUS_KEY in env) && envText !== void 0 && Boolean(envFileValue(envText, NEBIUS_KEY)) || await this.deps.pi.credential("nebius") !== void 0;
|
|
3264
3301
|
const openai = await this.openaiKeySet(model, envText);
|
|
3265
|
-
if (this.scripted) return this.scriptedJudge(model, envText, existing !== void 0, opencode, openai);
|
|
3302
|
+
if (this.scripted) return this.scriptedJudge(model, envText, existing !== void 0, opencode, openai, nebius);
|
|
3266
3303
|
const where = existing ? existing.where === "env" ? this.t({ zh: `\u73AF\u5883\u53D8\u91CF ${existing.name}`, en: `${existing.name} in your environment` }) : this.t({
|
|
3267
3304
|
zh: `${this.path(paths.envFile)} \u91CC\u7684 ${existing.name}`,
|
|
3268
3305
|
en: `${existing.name} in ${this.path(paths.envFile)}`
|
|
@@ -3334,6 +3371,15 @@ var Setup = class {
|
|
|
3334
3371
|
value: "free"
|
|
3335
3372
|
});
|
|
3336
3373
|
}
|
|
3374
|
+
if (nebius) {
|
|
3375
|
+
choices.push({
|
|
3376
|
+
label: this.t({
|
|
3377
|
+
zh: "Nemotron 3 Ultra\uFF0C\u5728 Nebius Token Factory \u4E0A\uFF0C\u7528\u4F60\u7684 Nebius \u5BC6\u94A5\uFF1A\u6BCF\u6B21\u5224\u65AD\u7EA6 1 \u79D2\uFF0C\u6309 token \u8BA1\u8D39",
|
|
3378
|
+
en: "Nemotron 3 Ultra on Nebius Token Factory with your Nebius key: about 1 s per verdict, billed per token"
|
|
3379
|
+
}),
|
|
3380
|
+
value: "nemotron"
|
|
3381
|
+
});
|
|
3382
|
+
}
|
|
3337
3383
|
choices.push({
|
|
3338
3384
|
label: openai ? this.t({
|
|
3339
3385
|
zh: "OpenAI \u7684\u51B3\u7B56\u6A21\u578B gpt-6-luna\uFF0C\u7528\u4F60\u7684 OpenAI \u5BC6\u94A5\uFF0C\u6309\u8F93\u5165 token \u8BA1\u8D39",
|
|
@@ -3381,7 +3427,7 @@ var Setup = class {
|
|
|
3381
3427
|
const set = (name) => name in env ? Boolean(env[name]) : envText !== void 0 && Boolean(envFileValue(envText, name));
|
|
3382
3428
|
return model?.provider === "openai" && this.args.baseUrl === void 0 || set(OPENAI_JUDGE_KEY) || set("OPENAI_API_KEY") || await this.deps.pi.credential("openai") === "api_key";
|
|
3383
3429
|
}
|
|
3384
|
-
scriptedJudge(model, envText, keySet, opencode, openai) {
|
|
3430
|
+
scriptedJudge(model, envText, keySet, opencode, openai, nebius) {
|
|
3385
3431
|
switch (this.args.judge) {
|
|
3386
3432
|
case "opencode":
|
|
3387
3433
|
if (!opencode) {
|
|
@@ -3396,6 +3442,17 @@ var Setup = class {
|
|
|
3396
3442
|
return { kind: "opencode" };
|
|
3397
3443
|
case "free":
|
|
3398
3444
|
return { kind: "free" };
|
|
3445
|
+
case "nemotron":
|
|
3446
|
+
if (!nebius) {
|
|
3447
|
+
throw this.fail(
|
|
3448
|
+
{
|
|
3449
|
+
zh: "--judge nemotron \u9700\u8981 Nebius \u7684\u5BC6\u94A5\uFF1A\u7528 --service nebius \u8BBE\u7F6E\u5B83\uFF0C\u6216\u5148\u8BBE\u7F6E NEBIUS_API_KEY",
|
|
3450
|
+
en: "--judge nemotron needs a Nebius key: set one up with --service nebius, or set NEBIUS_API_KEY first"
|
|
3451
|
+
},
|
|
3452
|
+
SETUP_EXIT.usage
|
|
3453
|
+
);
|
|
3454
|
+
}
|
|
3455
|
+
return { kind: "nemotron" };
|
|
3399
3456
|
case "mude":
|
|
3400
3457
|
if (!this.deps.mude) {
|
|
3401
3458
|
throw this.fail(
|
|
@@ -3684,6 +3741,7 @@ var Setup = class {
|
|
|
3684
3741
|
if (judge.kind === "model") {
|
|
3685
3742
|
if (target && model) tiers = [`llm:${target.reach.provider}/${model}`];
|
|
3686
3743
|
} else if (judge.kind === "opencode") tiers = ["jev-opencode"];
|
|
3744
|
+
else if (judge.kind === "nemotron") tiers = ["nemotron"];
|
|
3687
3745
|
else if (judge.kind === "openai") tiers = ["openai"];
|
|
3688
3746
|
else if (judge.kind === "free" || judge.kind === "mude") {
|
|
3689
3747
|
if (!tiersOf(current).some((tier) => tier === "jev" || tier === "jev-opencode-free")) tiers = ["jev"];
|
|
@@ -3743,7 +3801,10 @@ var Setup = class {
|
|
|
3743
3801
|
zh: `\u5B8C\u6210\u3002mu \u4F1A\u7528 ${this.name(target.service)} \xB7 ${model} \u5F00\u59CB\u5DE5\u4F5C\u3002`,
|
|
3744
3802
|
en: `Done. mu will start on ${this.name(target.service)} \xB7 ${model}.`
|
|
3745
3803
|
}) : this.t({ zh: "\u5B8C\u6210\u3002", en: "Done." });
|
|
3746
|
-
const judged = judge === void 0 ? "" : judge.kind === "model" ? this.t({ zh: "\u5224\u5B9A\u5668\uFF1A\u540C\u4E00\u4E2A\u6A21\u578B\u3002", en: " Judge: the same model." }) : judge.kind === "none" ? this.t({ zh: "\u5224\u5B9A\u5668\uFF1A\u6682\u65F6\u6CA1\u6709\u3002", en: " Judge: none for now." }) : judge.kind === "opencode" ? this.t({ zh: "\u5224\u5B9A\u5668\uFF1AOpenCode Zen \u4E0A\u7684 Jev\u3002", en: " Judge: Jev on OpenCode Zen." }) : judge.kind === "openai" ? this.t({ zh: "\u5224\u5B9A\u5668\uFF1AOpenAI \u7684 gpt-6-luna\u3002", en: " Judge: OpenAI's gpt-6-luna." }) : judge.kind === "
|
|
3804
|
+
const judged = judge === void 0 ? "" : judge.kind === "model" ? this.t({ zh: "\u5224\u5B9A\u5668\uFF1A\u540C\u4E00\u4E2A\u6A21\u578B\u3002", en: " Judge: the same model." }) : judge.kind === "none" ? this.t({ zh: "\u5224\u5B9A\u5668\uFF1A\u6682\u65F6\u6CA1\u6709\u3002", en: " Judge: none for now." }) : judge.kind === "opencode" ? this.t({ zh: "\u5224\u5B9A\u5668\uFF1AOpenCode Zen \u4E0A\u7684 Jev\u3002", en: " Judge: Jev on OpenCode Zen." }) : judge.kind === "openai" ? this.t({ zh: "\u5224\u5B9A\u5668\uFF1AOpenAI \u7684 gpt-6-luna\u3002", en: " Judge: OpenAI's gpt-6-luna." }) : judge.kind === "nemotron" ? this.t({
|
|
3805
|
+
zh: "\u5224\u5B9A\u5668\uFF1ANebius Token Factory \u4E0A\u7684 Nemotron 3 Ultra\u3002",
|
|
3806
|
+
en: " Judge: Nemotron 3 Ultra on Nebius Token Factory."
|
|
3807
|
+
}) : judge.kind === "mude" ? this.t({
|
|
3747
3808
|
zh: "\u5224\u5B9A\u5668\uFF1Amude 1.0\uFF0C\u4E0B\u9762\u63A5\u7740\u5B89\u88C5\uFF1B\u5B83\u7B54\u4E0D\u4E86\u7684\u4EA4\u7ED9 Jev\u3002",
|
|
3748
3809
|
en: " Judge: mude 1.0, installed next, with Jev for what it can't answer."
|
|
3749
3810
|
}) : judge.kind === "free" ? this.t({
|
package/judge/manifest.json
CHANGED
|
@@ -9160,19 +9160,8 @@
|
|
|
9160
9160
|
"fa-IR": "منبع جستوجو"
|
|
9161
9161
|
},
|
|
9162
9162
|
"help": {
|
|
9163
|
-
"zh": "so(360)、sogou、bing-cn、searxng:<地址>,或带 {query}
|
|
9164
|
-
"en": "so (360), sogou, bing-cn, searxng:<base url>, or a URL with {query} in it."
|
|
9165
|
-
"zh-TW": "so(360)、sogou、bing-cn、searxng:<base url>,或含有 {query} 的網址。",
|
|
9166
|
-
"ja-JP": "so(360)、sogou、bing-cn、searxng:<ベース URL>、または {query} を含む URL。",
|
|
9167
|
-
"ko-KR": "so(360), sogou, bing-cn, searxng:<기본 URL> 중 하나 또는 {query}가 들어간 URL입니다.",
|
|
9168
|
-
"de-DE": "so (360), sogou, bing-cn, searxng:<Basis-URL> oder eine URL, die {query} enthält.",
|
|
9169
|
-
"fr-FR": "so (360), sogou, bing-cn, searxng:<URL de base>, ou une URL contenant {query}.",
|
|
9170
|
-
"es-ES": "so (360), sogou, bing-cn, searxng:<URL base> o una URL que contenga {query}.",
|
|
9171
|
-
"pt-BR": "so (360), sogou, bing-cn, searxng:<URL base> ou uma URL com {query}.",
|
|
9172
|
-
"ru-RU": "so (360), sogou, bing-cn, searxng:<базовый URL> или URL, содержащий {query}.",
|
|
9173
|
-
"uk-UA": "so (360), sogou, bing-cn, searxng:<базова адреса> або URL-адреса з {query}.",
|
|
9174
|
-
"tr-TR": "so (360), sogou, bing-cn, searxng:<temel URL> ya da içinde {query} geçen bir URL.",
|
|
9175
|
-
"fa-IR": "so (360)، sogou، bing-cn، searxng:<base url>، یا یک URL که {query} در آن باشد."
|
|
9163
|
+
"zh": "so(360)、sogou、bing-cn、tavily、searxng:<地址>,或带 {query} 的网址。设置了环境变量 TAVILY_API_KEY 时先问 Tavily,这里选的源作为后备。",
|
|
9164
|
+
"en": "so (360), sogou, bing-cn, tavily, searxng:<base url>, or a URL with {query} in it. With TAVILY_API_KEY set in the environment, Tavily is asked first and this source is the fallback."
|
|
9176
9165
|
}
|
|
9177
9166
|
},
|
|
9178
9167
|
{
|
|
@@ -10600,6 +10589,122 @@
|
|
|
10600
10589
|
}
|
|
10601
10590
|
}
|
|
10602
10591
|
]
|
|
10592
|
+
},
|
|
10593
|
+
{
|
|
10594
|
+
"name": "sandbox",
|
|
10595
|
+
"title": {
|
|
10596
|
+
"zh": "Nebius 沙箱(实验)",
|
|
10597
|
+
"en": "Nebius sandbox (experimental)"
|
|
10598
|
+
},
|
|
10599
|
+
"summary": {
|
|
10600
|
+
"zh": "bash、read、write、edit 改在 Nebius Token Factory 的沙箱虚拟机里执行,不碰本机:开始时把项目复制进去,之后每条命令都从上一条留下的文件接着跑。改动只有在 /sandbox pull 看过差异并同意后才会带回本地。需要 NEBIUS_API_KEY 和 NEBIUS_PROJECT_ID;也可以用 MU_SANDBOX=nebius 打开。",
|
|
10601
|
+
"en": "bash, read, write and edit run in a Nebius Token Factory sandbox VM instead of on this machine: the project is copied in at the start, and every command continues from the files the previous one left. Changes come back here only through /sandbox pull, after you have seen the diff and agreed. Needs NEBIUS_API_KEY and NEBIUS_PROJECT_ID; MU_SANDBOX=nebius also turns it on."
|
|
10602
|
+
},
|
|
10603
|
+
"defaultEnabled": false,
|
|
10604
|
+
"beta": true,
|
|
10605
|
+
"options": [
|
|
10606
|
+
{
|
|
10607
|
+
"key": "image",
|
|
10608
|
+
"kind": "text",
|
|
10609
|
+
"default": "tag:ubuntu:latest",
|
|
10610
|
+
"label": {
|
|
10611
|
+
"zh": "基础镜像",
|
|
10612
|
+
"en": "Base image"
|
|
10613
|
+
},
|
|
10614
|
+
"help": {
|
|
10615
|
+
"zh": "镜像 UUID、tag:<名称>,或 docker://<地址>(首次使用时导入)。需要 bash 和 tar;带回改动需要 git,没有时会尝试用 apt-get 或 apk 安装。",
|
|
10616
|
+
"en": "An image UUID, tag:<name>, or docker://<reference> (imported on first use). Needs bash and tar; pulling needs git, which apt-get or apk installs when missing."
|
|
10617
|
+
}
|
|
10618
|
+
},
|
|
10619
|
+
{
|
|
10620
|
+
"key": "baseUrl",
|
|
10621
|
+
"kind": "text",
|
|
10622
|
+
"default": "https://api.tokenfactory.nebius.com/sandboxes/v1",
|
|
10623
|
+
"label": {
|
|
10624
|
+
"zh": "API 地址",
|
|
10625
|
+
"en": "API address"
|
|
10626
|
+
}
|
|
10627
|
+
},
|
|
10628
|
+
{
|
|
10629
|
+
"key": "workdir",
|
|
10630
|
+
"kind": "text",
|
|
10631
|
+
"default": "/workspace",
|
|
10632
|
+
"label": {
|
|
10633
|
+
"zh": "沙箱里的项目目录",
|
|
10634
|
+
"en": "Project folder in the sandbox"
|
|
10635
|
+
}
|
|
10636
|
+
},
|
|
10637
|
+
{
|
|
10638
|
+
"key": "shell",
|
|
10639
|
+
"kind": "text",
|
|
10640
|
+
"default": "/bin/bash",
|
|
10641
|
+
"label": {
|
|
10642
|
+
"zh": "命令使用的 shell",
|
|
10643
|
+
"en": "Shell commands run in"
|
|
10644
|
+
}
|
|
10645
|
+
},
|
|
10646
|
+
{
|
|
10647
|
+
"key": "timeoutS",
|
|
10648
|
+
"kind": "number",
|
|
10649
|
+
"default": 600,
|
|
10650
|
+
"min": 1,
|
|
10651
|
+
"unit": {
|
|
10652
|
+
"zh": "秒",
|
|
10653
|
+
"en": "s"
|
|
10654
|
+
},
|
|
10655
|
+
"label": {
|
|
10656
|
+
"zh": "命令未设时限时的时限",
|
|
10657
|
+
"en": "Time limit of a command that sets none"
|
|
10658
|
+
}
|
|
10659
|
+
},
|
|
10660
|
+
{
|
|
10661
|
+
"key": "seedTimeoutS",
|
|
10662
|
+
"kind": "number",
|
|
10663
|
+
"default": 900,
|
|
10664
|
+
"min": 10,
|
|
10665
|
+
"unit": {
|
|
10666
|
+
"zh": "秒",
|
|
10667
|
+
"en": "s"
|
|
10668
|
+
},
|
|
10669
|
+
"label": {
|
|
10670
|
+
"zh": "复制项目的时限",
|
|
10671
|
+
"en": "Time limit of copying the project in"
|
|
10672
|
+
}
|
|
10673
|
+
},
|
|
10674
|
+
{
|
|
10675
|
+
"key": "maxSeedMB",
|
|
10676
|
+
"kind": "number",
|
|
10677
|
+
"default": 100,
|
|
10678
|
+
"min": 1,
|
|
10679
|
+
"unit": {
|
|
10680
|
+
"zh": "MB",
|
|
10681
|
+
"en": "MB"
|
|
10682
|
+
},
|
|
10683
|
+
"label": {
|
|
10684
|
+
"zh": "最多复制的项目大小",
|
|
10685
|
+
"en": "Largest project copied in"
|
|
10686
|
+
}
|
|
10687
|
+
},
|
|
10688
|
+
{
|
|
10689
|
+
"key": "outputBytes",
|
|
10690
|
+
"kind": "number",
|
|
10691
|
+
"default": 1048576,
|
|
10692
|
+
"min": 1024,
|
|
10693
|
+
"max": 10485760,
|
|
10694
|
+
"unit": {
|
|
10695
|
+
"zh": "字节",
|
|
10696
|
+
"en": "bytes"
|
|
10697
|
+
},
|
|
10698
|
+
"label": {
|
|
10699
|
+
"zh": "每条命令保留的输出",
|
|
10700
|
+
"en": "Output kept per command"
|
|
10701
|
+
},
|
|
10702
|
+
"help": {
|
|
10703
|
+
"zh": "标准输出和标准错误各自的上限,最多 10 MiB。",
|
|
10704
|
+
"en": "For stdout and for stderr each, at most 10 MiB."
|
|
10705
|
+
}
|
|
10706
|
+
}
|
|
10707
|
+
]
|
|
10603
10708
|
}
|
|
10604
10709
|
]
|
|
10605
10710
|
}
|
|
@@ -11,7 +11,7 @@ var pi_host_modules_exports = {};
|
|
|
11
11
|
__export(pi_host_modules_exports, {
|
|
12
12
|
VIRTUAL_MODULES: () => VIRTUAL_MODULES
|
|
13
13
|
});
|
|
14
|
-
import { VIRTUAL_MODULES } from "../../dist/bundle/chunks/virtual-modules-
|
|
14
|
+
import { VIRTUAL_MODULES } from "../../dist/bundle/chunks/virtual-modules-5AGCRNHD.js";
|
|
15
15
|
var init_pi_host_modules = __esm({
|
|
16
16
|
"pi-host-modules:pi-host-modules"() {
|
|
17
17
|
"use strict";
|