@slopus/rig 0.0.4 → 0.0.6
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/README.md +144 -1
- package/dist/agent/Agent.d.ts +16 -0
- package/dist/agent/Agent.d.ts.map +1 -1
- package/dist/agent/Agent.js +106 -0
- package/dist/agent/compaction/compactConversation.d.ts +22 -0
- package/dist/agent/compaction/compactConversation.d.ts.map +1 -0
- package/dist/agent/compaction/compactConversation.js +77 -0
- package/dist/agent/compaction/estimateMessagesTokens.d.ts +3 -0
- package/dist/agent/compaction/estimateMessagesTokens.d.ts.map +1 -0
- package/dist/agent/compaction/estimateMessagesTokens.js +39 -0
- package/dist/agent/compaction/formatMessagesForCompaction.d.ts +3 -0
- package/dist/agent/compaction/formatMessagesForCompaction.d.ts.map +1 -0
- package/dist/agent/compaction/formatMessagesForCompaction.js +30 -0
- package/dist/agent/compaction/requestCompactionSummary.d.ts +11 -0
- package/dist/agent/compaction/requestCompactionSummary.d.ts.map +1 -0
- package/dist/agent/compaction/requestCompactionSummary.js +43 -0
- package/dist/agent/context/AgentContext.d.ts +8 -0
- package/dist/agent/context/AgentContext.d.ts.map +1 -1
- package/dist/agent/context/BashContext.d.ts +23 -0
- package/dist/agent/context/BashContext.d.ts.map +1 -1
- package/dist/agent/context/GoalContext.d.ts +7 -0
- package/dist/agent/context/GoalContext.d.ts.map +1 -0
- package/dist/agent/context/GoalContext.js +1 -0
- package/dist/agent/context/SubagentContext.d.ts +20 -1
- package/dist/agent/context/SubagentContext.d.ts.map +1 -1
- package/dist/agent/context/TaskContext.d.ts +8 -0
- package/dist/agent/context/TaskContext.d.ts.map +1 -0
- package/dist/agent/context/TaskContext.js +1 -0
- package/dist/agent/context/UserInputContext.d.ts +7 -0
- package/dist/agent/context/UserInputContext.d.ts.map +1 -0
- package/dist/agent/context/UserInputContext.js +1 -0
- package/dist/agent/context/assertCanWritePath.d.ts +3 -0
- package/dist/agent/context/assertCanWritePath.d.ts.map +1 -0
- package/dist/agent/context/assertCanWritePath.js +11 -0
- package/dist/agent/context/createJustBashBashContext.d.ts.map +1 -1
- package/dist/agent/context/createJustBashBashContext.js +127 -0
- package/dist/agent/context/createNodeAgentContext.d.ts +8 -0
- package/dist/agent/context/createNodeAgentContext.d.ts.map +1 -1
- package/dist/agent/context/createNodeAgentContext.js +15 -2
- package/dist/agent/context/createNodeBashContext.d.ts +2 -0
- package/dist/agent/context/createNodeBashContext.d.ts.map +1 -1
- package/dist/agent/context/createNodeBashContext.js +123 -4
- package/dist/agent/context/createNodeFileSystemContext.d.ts +2 -0
- package/dist/agent/context/createNodeFileSystemContext.d.ts.map +1 -1
- package/dist/agent/context/createNodeFileSystemContext.js +18 -8
- package/dist/agent/context/createSandboxedCommand.d.ts +7 -0
- package/dist/agent/context/createSandboxedCommand.d.ts.map +1 -0
- package/dist/agent/context/createSandboxedCommand.js +47 -0
- package/dist/agent/context/findGitWritablePaths.d.ts +2 -0
- package/dist/agent/context/findGitWritablePaths.d.ts.map +1 -0
- package/dist/agent/context/findGitWritablePaths.js +54 -0
- package/dist/agent/context/isPathInsideWorkspace.d.ts +2 -0
- package/dist/agent/context/isPathInsideWorkspace.d.ts.map +1 -0
- package/dist/agent/context/isPathInsideWorkspace.js +14 -0
- package/dist/agent/context/resolvePotentialPath.d.ts +2 -0
- package/dist/agent/context/resolvePotentialPath.d.ts.map +1 -0
- package/dist/agent/context/resolvePotentialPath.js +32 -0
- package/dist/agent/createPermissionInstructions.d.ts +3 -0
- package/dist/agent/createPermissionInstructions.d.ts.map +1 -0
- package/dist/agent/createPermissionInstructions.js +12 -0
- package/dist/agent/createSubagentInstructions.js +1 -1
- package/dist/agent/createSystemPrompt.d.ts.map +1 -1
- package/dist/agent/createSystemPrompt.js +4 -0
- package/dist/agent/index.d.ts +7 -3
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/loop.d.ts +16 -2
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +115 -15
- package/dist/agent/printAgentMessageToConsole.d.ts +1 -0
- package/dist/agent/printAgentMessageToConsole.d.ts.map +1 -1
- package/dist/agent/types.d.ts +1 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/app/CodingAssistantAgentBackend.d.ts +11 -1
- package/dist/app/CodingAssistantAgentBackend.d.ts.map +1 -1
- package/dist/app/CodingAssistantApp.d.ts +7 -1
- package/dist/app/CodingAssistantApp.d.ts.map +1 -1
- package/dist/app/CodingAssistantApp.js +678 -45
- package/dist/app/ScrollbackPreservingTerminal.d.ts +5 -0
- package/dist/app/ScrollbackPreservingTerminal.d.ts.map +1 -0
- package/dist/app/ScrollbackPreservingTerminal.js +7 -0
- package/dist/app/StartupStatusApp.js +1 -1
- package/dist/app/createCodingAssistantAgent.d.ts +6 -1
- package/dist/app/createCodingAssistantAgent.d.ts.map +1 -1
- package/dist/app/createCodingAssistantAgent.js +22 -5
- package/dist/app/createSlashCommands.d.ts.map +1 -1
- package/dist/app/createSlashCommands.js +42 -0
- package/dist/app/highlightAgentCode.d.ts.map +1 -1
- package/dist/app/highlightAgentCode.js +10 -7
- package/dist/app/humanizeGoalStatus.d.ts +3 -0
- package/dist/app/humanizeGoalStatus.d.ts.map +1 -0
- package/dist/app/humanizeGoalStatus.js +9 -0
- package/dist/app/humanizePermissionMode.d.ts +3 -0
- package/dist/app/humanizePermissionMode.d.ts.map +1 -0
- package/dist/app/humanizePermissionMode.js +9 -0
- package/dist/app/humanizeToolName.d.ts +2 -0
- package/dist/app/humanizeToolName.d.ts.map +1 -0
- package/dist/app/humanizeToolName.js +40 -0
- package/dist/app/main.d.ts.map +1 -1
- package/dist/app/main.js +4 -0
- package/dist/app/renderAgentMarkdown.d.ts.map +1 -1
- package/dist/app/renderAgentMarkdown.js +2 -1
- package/dist/app/runApp.d.ts +2 -0
- package/dist/app/runApp.d.ts.map +1 -1
- package/dist/app/runApp.js +48 -3
- package/dist/app/sanitizeTerminalText.d.ts +2 -0
- package/dist/app/sanitizeTerminalText.d.ts.map +1 -0
- package/dist/app/sanitizeTerminalText.js +55 -0
- package/dist/app/upsertSubagentSummary.d.ts +3 -0
- package/dist/app/upsertSubagentSummary.d.ts.map +1 -0
- package/dist/app/upsertSubagentSummary.js +6 -0
- package/dist/client/ProtocolHttpClient.d.ts +12 -1
- package/dist/client/ProtocolHttpClient.d.ts.map +1 -1
- package/dist/client/ProtocolHttpClient.js +21 -0
- package/dist/client/RemoteAgent.d.ts +11 -1
- package/dist/client/RemoteAgent.d.ts.map +1 -1
- package/dist/client/RemoteAgent.js +91 -1
- package/dist/config/createConfigFile.d.ts.map +1 -1
- package/dist/config/createConfigFile.js +5 -0
- package/dist/config/defaultConfig.d.ts.map +1 -1
- package/dist/config/defaultConfig.js +2 -0
- package/dist/config/mergeConfigValues.d.ts.map +1 -1
- package/dist/config/mergeConfigValues.js +8 -1
- package/dist/config/parseConfigToml.d.ts.map +1 -1
- package/dist/config/parseConfigToml.js +88 -0
- package/dist/config/serializeMcpServers.d.ts +3 -0
- package/dist/config/serializeMcpServers.d.ts.map +1 -0
- package/dist/config/serializeMcpServers.js +34 -0
- package/dist/config/types.d.ts +6 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/writeRuntimeConfig.d.ts.map +1 -1
- package/dist/config/writeRuntimeConfig.js +3 -0
- package/dist/goals/SessionGoal.d.ts +14 -0
- package/dist/goals/SessionGoal.d.ts.map +1 -0
- package/dist/goals/SessionGoal.js +1 -0
- package/dist/goals/createGoalContinuationPrompt.d.ts +3 -0
- package/dist/goals/createGoalContinuationPrompt.d.ts.map +1 -0
- package/dist/goals/createGoalContinuationPrompt.js +17 -0
- package/dist/goals/index.d.ts +5 -0
- package/dist/goals/index.d.ts.map +1 -0
- package/dist/goals/index.js +3 -0
- package/dist/goals/isGoalStatus.d.ts +3 -0
- package/dist/goals/isGoalStatus.d.ts.map +1 -0
- package/dist/goals/isGoalStatus.js +3 -0
- package/dist/goals/normalizeGoalObjective.d.ts +3 -0
- package/dist/goals/normalizeGoalObjective.d.ts.map +1 -0
- package/dist/goals/normalizeGoalObjective.js +11 -0
- package/dist/mcp/McpClientManager.d.ts +12 -0
- package/dist/mcp/McpClientManager.d.ts.map +1 -0
- package/dist/mcp/McpClientManager.js +123 -0
- package/dist/mcp/connectMcpServer.d.ts +8 -0
- package/dist/mcp/connectMcpServer.d.ts.map +1 -0
- package/dist/mcp/connectMcpServer.js +47 -0
- package/dist/mcp/createMcpTool.d.ts +11 -0
- package/dist/mcp/createMcpTool.d.ts.map +1 -0
- package/dist/mcp/createMcpTool.js +43 -0
- package/dist/mcp/index.d.ts +5 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +3 -0
- package/dist/mcp/loadMcpServerConfigs.d.ts +4 -0
- package/dist/mcp/loadMcpServerConfigs.d.ts.map +1 -0
- package/dist/mcp/loadMcpServerConfigs.js +122 -0
- package/dist/mcp/mcpResultToContentBlocks.d.ts +3 -0
- package/dist/mcp/mcpResultToContentBlocks.d.ts.map +1 -0
- package/dist/mcp/mcpResultToContentBlocks.js +51 -0
- package/dist/mcp/mergeMcpTools.d.ts +7 -0
- package/dist/mcp/mergeMcpTools.d.ts.map +1 -0
- package/dist/mcp/mergeMcpTools.js +34 -0
- package/dist/mcp/normalizeMcpName.d.ts +2 -0
- package/dist/mcp/normalizeMcpName.d.ts.map +1 -0
- package/dist/mcp/normalizeMcpName.js +3 -0
- package/dist/mcp/types.d.ts +37 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +1 -0
- package/dist/permissions/PermissionContext.d.ts +7 -0
- package/dist/permissions/PermissionContext.d.ts.map +1 -0
- package/dist/permissions/PermissionContext.js +1 -0
- package/dist/permissions/PermissionMode.d.ts +3 -0
- package/dist/permissions/PermissionMode.d.ts.map +1 -0
- package/dist/permissions/PermissionMode.js +1 -0
- package/dist/permissions/createPermissionContext.d.ts +4 -0
- package/dist/permissions/createPermissionContext.d.ts.map +1 -0
- package/dist/permissions/createPermissionContext.js +16 -0
- package/dist/permissions/index.d.ts +13 -0
- package/dist/permissions/index.d.ts.map +1 -0
- package/dist/permissions/index.js +9 -0
- package/dist/permissions/isPermissionMode.d.ts +3 -0
- package/dist/permissions/isPermissionMode.d.ts.map +1 -0
- package/dist/permissions/isPermissionMode.js +6 -0
- package/dist/permissions/parseAutoPermissionReview.d.ts +7 -0
- package/dist/permissions/parseAutoPermissionReview.d.ts.map +1 -0
- package/dist/permissions/parseAutoPermissionReview.js +33 -0
- package/dist/permissions/parsePermissionMode.d.ts +3 -0
- package/dist/permissions/parsePermissionMode.d.ts.map +1 -0
- package/dist/permissions/parsePermissionMode.js +6 -0
- package/dist/permissions/requestAutoPermissionApproval.d.ts +9 -0
- package/dist/permissions/requestAutoPermissionApproval.d.ts.map +1 -0
- package/dist/permissions/requestAutoPermissionApproval.js +26 -0
- package/dist/permissions/reviewAutoPermission.d.ts +13 -0
- package/dist/permissions/reviewAutoPermission.d.ts.map +1 -0
- package/dist/permissions/reviewAutoPermission.js +70 -0
- package/dist/permissions/shouldElevateToolInAutoMode.d.ts +2 -0
- package/dist/permissions/shouldElevateToolInAutoMode.d.ts.map +1 -0
- package/dist/permissions/shouldElevateToolInAutoMode.js +37 -0
- package/dist/permissions/shouldReviewToolInAutoMode.d.ts +2 -0
- package/dist/permissions/shouldReviewToolInAutoMode.d.ts.map +1 -0
- package/dist/permissions/shouldReviewToolInAutoMode.js +85 -0
- package/dist/permissions/summarizePermissionAction.d.ts +2 -0
- package/dist/permissions/summarizePermissionAction.d.ts.map +1 -0
- package/dist/permissions/summarizePermissionAction.js +29 -0
- package/dist/protocol/SessionProtocol.d.ts +49 -2
- package/dist/protocol/SessionProtocol.d.ts.map +1 -1
- package/dist/protocol/index.d.ts +4 -1
- package/dist/protocol/index.d.ts.map +1 -1
- package/dist/providers/claude-sdk.d.ts.map +1 -1
- package/dist/providers/claude-sdk.js +7 -6
- package/dist/providers/models.d.ts +12 -12
- package/dist/providers/models.d.ts.map +1 -1
- package/dist/providers/models.js +18 -0
- package/dist/providers/types.d.ts +3 -0
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/review/createCodeReviewPrompt.d.ts +2 -0
- package/dist/review/createCodeReviewPrompt.d.ts.map +1 -0
- package/dist/review/createCodeReviewPrompt.js +11 -0
- package/dist/review/index.d.ts +2 -0
- package/dist/review/index.d.ts.map +1 -0
- package/dist/review/index.js +1 -0
- package/dist/server/AgentSessionManager.d.ts +10 -1
- package/dist/server/AgentSessionManager.d.ts.map +1 -1
- package/dist/server/AgentSessionManager.js +203 -12
- package/dist/server/InMemorySession.d.ts +34 -1
- package/dist/server/InMemorySession.d.ts.map +1 -1
- package/dist/server/InMemorySession.js +558 -10
- package/dist/server/InMemorySessionStore.d.ts +2 -0
- package/dist/server/InMemorySessionStore.d.ts.map +1 -1
- package/dist/server/InMemorySessionStore.js +7 -0
- package/dist/server/PersistentSessionStore.d.ts +2 -0
- package/dist/server/PersistentSessionStore.d.ts.map +1 -1
- package/dist/server/PersistentSessionStore.js +80 -5
- package/dist/server/createGoalTitle.d.ts +2 -0
- package/dist/server/createGoalTitle.d.ts.map +1 -0
- package/dist/server/createGoalTitle.js +4 -0
- package/dist/server/createProtocolHttpServer.d.ts.map +1 -1
- package/dist/server/createProtocolHttpServer.js +119 -2
- package/dist/server/runLocalProtocolServer.d.ts.map +1 -1
- package/dist/server/runLocalProtocolServer.js +18 -2
- package/dist/tasks/index.d.ts +2 -0
- package/dist/tasks/index.d.ts.map +1 -0
- package/dist/tasks/index.js +1 -0
- package/dist/tasks/types.d.ts +39 -0
- package/dist/tasks/types.d.ts.map +1 -0
- package/dist/tasks/types.js +1 -0
- package/dist/tools/Agent.d.ts +13 -3
- package/dist/tools/Agent.d.ts.map +1 -1
- package/dist/tools/Agent.js +40 -12
- package/dist/tools/claude/AskUserQuestion.d.ts +23 -0
- package/dist/tools/claude/AskUserQuestion.d.ts.map +1 -0
- package/dist/tools/claude/AskUserQuestion.js +52 -0
- package/dist/tools/claude/Bash.d.ts +2 -0
- package/dist/tools/claude/Bash.d.ts.map +1 -1
- package/dist/tools/claude/Bash.js +20 -2
- package/dist/tools/claude/SendMessage.d.ts +10 -0
- package/dist/tools/claude/SendMessage.d.ts.map +1 -0
- package/dist/tools/claude/SendMessage.js +33 -0
- package/dist/tools/claude/TaskCreate.d.ts +12 -0
- package/dist/tools/claude/TaskCreate.d.ts.map +1 -0
- package/dist/tools/claude/TaskCreate.js +34 -0
- package/dist/tools/claude/TaskGet.d.ts +16 -0
- package/dist/tools/claude/TaskGet.d.ts.map +1 -0
- package/dist/tools/claude/TaskGet.js +44 -0
- package/dist/tools/claude/TaskList.d.ts +10 -0
- package/dist/tools/claude/TaskList.d.ts.map +1 -0
- package/dist/tools/claude/TaskList.js +51 -0
- package/dist/tools/claude/TaskOutput.d.ts +17 -0
- package/dist/tools/claude/TaskOutput.d.ts.map +1 -0
- package/dist/tools/claude/TaskOutput.js +74 -0
- package/dist/tools/claude/TaskStop.d.ts +10 -0
- package/dist/tools/claude/TaskStop.d.ts.map +1 -0
- package/dist/tools/claude/TaskStop.js +42 -0
- package/dist/tools/claude/TaskUpdate.d.ts +21 -0
- package/dist/tools/claude/TaskUpdate.d.ts.map +1 -0
- package/dist/tools/claude/TaskUpdate.js +55 -0
- package/dist/tools/claude/index.d.ts +111 -5
- package/dist/tools/claude/index.d.ts.map +1 -1
- package/dist/tools/claude/index.js +24 -2
- package/dist/tools/claude/parseBackgroundTaskId.d.ts +2 -0
- package/dist/tools/claude/parseBackgroundTaskId.d.ts.map +1 -0
- package/dist/tools/claude/parseBackgroundTaskId.js +7 -0
- package/dist/tools/claude/taskSchemas.d.ts +14 -0
- package/dist/tools/claude/taskSchemas.d.ts.map +1 -0
- package/dist/tools/claude/taskSchemas.js +18 -0
- package/dist/tools/codex/exec_command.d.ts +8 -6
- package/dist/tools/codex/exec_command.d.ts.map +1 -1
- package/dist/tools/codex/exec_command.js +37 -18
- package/dist/tools/codex/followup_task.d.ts +11 -0
- package/dist/tools/codex/followup_task.d.ts.map +1 -0
- package/dist/tools/codex/followup_task.js +18 -0
- package/dist/tools/codex/humanizeTaskName.d.ts +2 -0
- package/dist/tools/codex/humanizeTaskName.d.ts.map +1 -0
- package/dist/tools/codex/humanizeTaskName.js +4 -0
- package/dist/tools/codex/index.d.ts +90 -7
- package/dist/tools/codex/index.d.ts.map +1 -1
- package/dist/tools/codex/index.js +24 -0
- package/dist/tools/codex/interrupt_agent.d.ts +10 -0
- package/dist/tools/codex/interrupt_agent.d.ts.map +1 -0
- package/dist/tools/codex/interrupt_agent.js +17 -0
- package/dist/tools/codex/list_agents.d.ts +12 -0
- package/dist/tools/codex/list_agents.d.ts.map +1 -0
- package/dist/tools/codex/list_agents.js +23 -0
- package/dist/tools/codex/request_user_input.d.ts +16 -0
- package/dist/tools/codex/request_user_input.d.ts.map +1 -0
- package/dist/tools/codex/request_user_input.js +58 -0
- package/dist/tools/codex/requireSubagentContext.d.ts +3 -0
- package/dist/tools/codex/requireSubagentContext.d.ts.map +1 -0
- package/dist/tools/codex/requireSubagentContext.js +6 -0
- package/dist/tools/codex/spawn_agent.d.ts +9 -0
- package/dist/tools/codex/spawn_agent.d.ts.map +1 -0
- package/dist/tools/codex/spawn_agent.js +35 -0
- package/dist/tools/codex/subagentSchemas.d.ts +8 -0
- package/dist/tools/codex/subagentSchemas.d.ts.map +1 -0
- package/dist/tools/codex/subagentSchemas.js +13 -0
- package/dist/tools/codex/unifiedExecOutput.d.ts +14 -0
- package/dist/tools/codex/unifiedExecOutput.d.ts.map +1 -0
- package/dist/tools/codex/unifiedExecOutput.js +44 -0
- package/dist/tools/codex/update_plan.d.ts +10 -0
- package/dist/tools/codex/update_plan.d.ts.map +1 -0
- package/dist/tools/codex/update_plan.js +34 -0
- package/dist/tools/codex/wait_agent.d.ts +13 -0
- package/dist/tools/codex/wait_agent.d.ts.map +1 -0
- package/dist/tools/codex/wait_agent.js +32 -0
- package/dist/tools/codex/write_stdin.d.ts +6 -1
- package/dist/tools/codex/write_stdin.d.ts.map +1 -1
- package/dist/tools/codex/write_stdin.js +44 -12
- package/dist/tools/goals/create_goal.d.ts +11 -0
- package/dist/tools/goals/create_goal.d.ts.map +1 -0
- package/dist/tools/goals/create_goal.js +29 -0
- package/dist/tools/goals/get_goal.d.ts +9 -0
- package/dist/tools/goals/get_goal.d.ts.map +1 -0
- package/dist/tools/goals/get_goal.js +26 -0
- package/dist/tools/goals/goalSchemas.d.ts +8 -0
- package/dist/tools/goals/goalSchemas.d.ts.map +1 -0
- package/dist/tools/goals/goalSchemas.js +13 -0
- package/dist/tools/goals/index.d.ts +30 -0
- package/dist/tools/goals/index.d.ts.map +1 -0
- package/dist/tools/goals/index.js +7 -0
- package/dist/tools/goals/update_goal.d.ts +11 -0
- package/dist/tools/goals/update_goal.d.ts.map +1 -0
- package/dist/tools/goals/update_goal.js +33 -0
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1 -0
- package/dist/tools/pi/bash.d.ts.map +1 -1
- package/dist/tools/pi/bash.js +2 -0
- package/dist/tools/utils/readSessionWithProgress.d.ts +9 -0
- package/dist/tools/utils/readSessionWithProgress.d.ts.map +1 -0
- package/dist/tools/utils/readSessionWithProgress.js +27 -0
- package/dist/tools/utils/shell.d.ts +2 -0
- package/dist/tools/utils/shell.d.ts.map +1 -1
- package/dist/tools/utils/shell.js +37 -0
- package/dist/tools/utils/summarizeShellOutput.d.ts.map +1 -1
- package/dist/tools/utils/summarizeShellOutput.js +2 -0
- package/dist/user-input/index.d.ts +2 -0
- package/dist/user-input/index.d.ts.map +1 -0
- package/dist/user-input/index.js +1 -0
- package/dist/user-input/types.d.ts +19 -0
- package/dist/user-input/types.d.ts.map +1 -0
- package/dist/user-input/types.js +1 -0
- package/dist/web/assets/highlighted-body-OFNGDK62-BuJOCQJD.js +1 -0
- package/dist/web/assets/highlighted-body-OFNGDK62-TwhCqUaJ.js +1 -0
- package/dist/web/assets/index-B6Bc6sUJ.css +1 -0
- package/dist/web/assets/index-BC99-iZC.js +341 -0
- package/dist/web/assets/index-BZN9jSiw.js +341 -0
- package/dist/web/assets/index-CcF0unjO.css +1 -0
- package/dist/web/index.html +2 -2
- package/package.json +2 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScrollbackPreservingTerminal.d.ts","sourceRoot":"","sources":["../../sources/app/ScrollbackPreservingTerminal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAIzD,qBAAa,4BAA6B,SAAQ,eAAe;IACpD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAGrC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type SubagentContext } from "../agent/index.js";
|
|
1
|
+
import { type GoalContext, type PermissionMode, type SubagentContext, type TaskContext, type UserInputContext } from "../agent/index.js";
|
|
2
2
|
import type { Message } from "../agent/types.js";
|
|
3
3
|
import { NativeProxessManager } from "../processes/index.js";
|
|
4
4
|
import type { CodingAssistantRuntime } from "./CodingAssistantRuntime.js";
|
|
@@ -8,12 +8,17 @@ export interface CreateCodingAssistantAgentOptions {
|
|
|
8
8
|
apiKey?: string;
|
|
9
9
|
effort?: string;
|
|
10
10
|
env?: NodeJS.ProcessEnv;
|
|
11
|
+
goals?: GoalContext;
|
|
11
12
|
instructions?: string;
|
|
12
13
|
messages?: readonly Message[];
|
|
14
|
+
contextMessages?: readonly Message[];
|
|
13
15
|
modelId?: string;
|
|
14
16
|
providerId?: string;
|
|
15
17
|
processManager?: NativeProxessManager;
|
|
18
|
+
permissionMode?: PermissionMode;
|
|
16
19
|
subagents?: SubagentContext;
|
|
20
|
+
tasks?: TaskContext;
|
|
21
|
+
userInput?: UserInputContext;
|
|
17
22
|
}
|
|
18
23
|
export declare function createCodingAssistantAgent(options: CreateCodingAssistantAgentOptions): CodingAssistantRuntime;
|
|
19
24
|
//# sourceMappingURL=createCodingAssistantAgent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCodingAssistantAgent.d.ts","sourceRoot":"","sources":["../../sources/app/createCodingAssistantAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"createCodingAssistantAgent.d.ts","sourceRoot":"","sources":["../../sources/app/createCodingAssistantAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAW7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAG1E,MAAM,WAAW,iCAAiC;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAC9B,eAAe,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAChC;AAED,wBAAgB,0BAA0B,CACtC,OAAO,EAAE,iCAAiC,GAC3C,sBAAsB,CA8ExB"}
|
|
@@ -5,16 +5,21 @@ import { createClaudeSdkProvider } from "../providers/claude-sdk.js";
|
|
|
5
5
|
import { createCodexProvider } from "../providers/codex.js";
|
|
6
6
|
import { getBedrockModelRoute } from "../providers/getBedrockModelRoute.js";
|
|
7
7
|
import { modelOpenaiGpt56Sol } from "../providers/models.js";
|
|
8
|
-
import { claudeCodeTools } from "../tools/claude/index.js";
|
|
9
|
-
import { codexTools } from "../tools/codex/index.js";
|
|
8
|
+
import { claudeCodeTools, claudeCollaborationTools } from "../tools/claude/index.js";
|
|
9
|
+
import { codexCollaborationTools, codexTools } from "../tools/codex/index.js";
|
|
10
10
|
import { piTools } from "../tools/pi/index.js";
|
|
11
11
|
import { agentTool } from "../tools/Agent.js";
|
|
12
|
+
import { goalTools } from "../tools/goals/index.js";
|
|
12
13
|
import { createDefaultInstructions } from "./createDefaultInstructions.js";
|
|
13
14
|
export function createCodingAssistantAgent(options) {
|
|
14
15
|
const processManager = options.processManager ?? new NativeProxessManager();
|
|
15
16
|
const context = createNodeAgentContext({
|
|
16
17
|
cwd: options.cwd,
|
|
18
|
+
...(options.goals !== undefined ? { goals: options.goals } : {}),
|
|
17
19
|
processManager,
|
|
20
|
+
...(options.permissionMode !== undefined ? { permissionMode: options.permissionMode } : {}),
|
|
21
|
+
...(options.tasks !== undefined ? { tasks: options.tasks } : {}),
|
|
22
|
+
...(options.userInput !== undefined ? { userInput: options.userInput } : {}),
|
|
18
23
|
});
|
|
19
24
|
if (options.subagents !== undefined) {
|
|
20
25
|
context.subagents = options.subagents;
|
|
@@ -29,12 +34,21 @@ export function createCodingAssistantAgent(options) {
|
|
|
29
34
|
? "bedrock"
|
|
30
35
|
: "codex");
|
|
31
36
|
const bedrockRoute = providerId === "bedrock" ? getBedrockModelRoute(modelId) : undefined;
|
|
32
|
-
const
|
|
37
|
+
const usesClaudeTools = providerId === "claude-sdk" || bedrockRoute?.provider === "anthropic";
|
|
38
|
+
const usesCodexTools = providerId === "codex" || bedrockRoute?.provider === "openai";
|
|
39
|
+
const baseTools = usesClaudeTools
|
|
33
40
|
? claudeCodeTools
|
|
34
|
-
:
|
|
41
|
+
: usesCodexTools
|
|
35
42
|
? codexTools
|
|
36
43
|
: piTools;
|
|
37
|
-
const
|
|
44
|
+
const toolsWithoutGoals = options.subagents?.canSpawn !== true
|
|
45
|
+
? [...baseTools]
|
|
46
|
+
: usesCodexTools
|
|
47
|
+
? [...baseTools, ...codexCollaborationTools]
|
|
48
|
+
: usesClaudeTools
|
|
49
|
+
? [...baseTools, agentTool, ...claudeCollaborationTools]
|
|
50
|
+
: [...baseTools, agentTool];
|
|
51
|
+
const tools = options.goals === undefined ? toolsWithoutGoals : [...toolsWithoutGoals, ...goalTools];
|
|
38
52
|
const provider = providerId === "bedrock"
|
|
39
53
|
? createBedrockProvider({ env: options.env ?? process.env })
|
|
40
54
|
: providerId === "claude-sdk"
|
|
@@ -54,6 +68,9 @@ export function createCodingAssistantAgent(options) {
|
|
|
54
68
|
...(options.agentId !== undefined ? { id: options.agentId } : {}),
|
|
55
69
|
instructions: options.instructions ?? createDefaultInstructions(options.cwd),
|
|
56
70
|
...(options.messages !== undefined ? { messages: options.messages } : {}),
|
|
71
|
+
...(options.contextMessages !== undefined
|
|
72
|
+
? { contextMessages: options.contextMessages }
|
|
73
|
+
: {}),
|
|
57
74
|
tools,
|
|
58
75
|
printToConsole: false,
|
|
59
76
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSlashCommands.d.ts","sourceRoot":"","sources":["../../sources/app/createSlashCommands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACtD,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"createSlashCommands.d.ts","sourceRoot":"","sources":["../../sources/app/createSlashCommands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACtD,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,EAAE,CAuFxD"}
|
|
@@ -18,6 +18,42 @@ export function createSlashCommands() {
|
|
|
18
18
|
description: "Configure app settings.",
|
|
19
19
|
aliases: ["config", "settings"],
|
|
20
20
|
},
|
|
21
|
+
{
|
|
22
|
+
value: "permissions",
|
|
23
|
+
label: "/permissions",
|
|
24
|
+
description: "Choose filesystem, shell, and network access.",
|
|
25
|
+
aliases: ["permission"],
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
value: "mcp",
|
|
29
|
+
label: "/mcp",
|
|
30
|
+
description: "Show configured MCP server connections.",
|
|
31
|
+
aliases: [],
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
value: "tasks",
|
|
35
|
+
label: "/tasks",
|
|
36
|
+
description: "Show the current session task list.",
|
|
37
|
+
aliases: ["todos"],
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
value: "agents",
|
|
41
|
+
label: "/agents",
|
|
42
|
+
description: "Show delegated work and its current status.",
|
|
43
|
+
aliases: [],
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
value: "goal",
|
|
47
|
+
label: "/goal",
|
|
48
|
+
description: "Set or manage a persistent long-running goal.",
|
|
49
|
+
aliases: [],
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
value: "review",
|
|
53
|
+
label: "/review",
|
|
54
|
+
description: "Review current changes and find actionable issues.",
|
|
55
|
+
aliases: [],
|
|
56
|
+
},
|
|
21
57
|
{
|
|
22
58
|
value: "new",
|
|
23
59
|
label: "/new",
|
|
@@ -36,6 +72,12 @@ export function createSlashCommands() {
|
|
|
36
72
|
description: "Clear the visible conversation.",
|
|
37
73
|
aliases: [],
|
|
38
74
|
},
|
|
75
|
+
{
|
|
76
|
+
value: "compact",
|
|
77
|
+
label: "/compact",
|
|
78
|
+
description: "Summarize older messages to free context space.",
|
|
79
|
+
aliases: [],
|
|
80
|
+
},
|
|
39
81
|
{
|
|
40
82
|
value: "abort",
|
|
41
83
|
label: "/abort",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"highlightAgentCode.d.ts","sourceRoot":"","sources":["../../sources/app/highlightAgentCode.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"highlightAgentCode.d.ts","sourceRoot":"","sources":["../../sources/app/highlightAgentCode.ts"],"names":[],"mappings":"AA4CA,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAOxE"}
|
|
@@ -27,9 +27,9 @@ const HIGHLIGHTED_LANGUAGES = new Set([
|
|
|
27
27
|
"yaml",
|
|
28
28
|
"zsh",
|
|
29
29
|
]);
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const
|
|
30
|
+
const KEYWORDS = new Set("async await break case catch class const continue def defer else enum export extends false for from func function go if impl import interface let new null package private protected public return select struct switch true try type use var while".split(" "));
|
|
31
|
+
const TYPES = new Set("Array Boolean Error Map Number Promise Record Set String unknown void".split(" "));
|
|
32
|
+
const PLAIN_TOKEN_PATTERN = /\b(?:Array|Boolean|Error|Map|Number|Promise|Record|Set|String|unknown|void|async|await|break|case|catch|class|const|continue|def|defer|else|enum|export|extends|false|for|from|func|function|go|if|impl|import|interface|let|new|null|package|private|protected|public|return|select|struct|switch|true|try|type|use|var|while|\d+(?:\.\d+)?)\b/g;
|
|
33
33
|
const STRING_PATTERN = /("(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|`(?:\\.|[^`\\])*`)/g;
|
|
34
34
|
export function highlightAgentCode(code, lang) {
|
|
35
35
|
const normalizedLang = lang?.toLowerCase();
|
|
@@ -61,10 +61,13 @@ function highlightCodePart(line) {
|
|
|
61
61
|
return result;
|
|
62
62
|
}
|
|
63
63
|
function highlightPlainSegment(segment) {
|
|
64
|
-
return segment
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
64
|
+
return segment.replace(PLAIN_TOKEN_PATTERN, (value) => {
|
|
65
|
+
if (TYPES.has(value))
|
|
66
|
+
return fg(TYPE, value);
|
|
67
|
+
if (KEYWORDS.has(value))
|
|
68
|
+
return fg(KEYWORD, value);
|
|
69
|
+
return fg(NUMBER, value);
|
|
70
|
+
});
|
|
68
71
|
}
|
|
69
72
|
function commentIndex(line, lang) {
|
|
70
73
|
if (lang === "python" ||
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"humanizeGoalStatus.d.ts","sourceRoot":"","sources":["../../sources/app/humanizeGoalStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAK7D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"humanizePermissionMode.d.ts","sourceRoot":"","sources":["../../sources/app/humanizePermissionMode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAKnE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"humanizeToolName.d.ts","sourceRoot":"","sources":["../../sources/app/humanizeToolName.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAuBrD"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export function humanizeToolName(name) {
|
|
2
|
+
if (name === "Agent")
|
|
3
|
+
return "Subagent";
|
|
4
|
+
const normalized = name.toLowerCase();
|
|
5
|
+
if (normalized === "request_user_input" || normalized === "askuserquestion") {
|
|
6
|
+
return "Question";
|
|
7
|
+
}
|
|
8
|
+
if (normalized === "tasklist")
|
|
9
|
+
return "Task list";
|
|
10
|
+
if (normalized === "taskoutput")
|
|
11
|
+
return "Background output";
|
|
12
|
+
if (normalized === "taskstop")
|
|
13
|
+
return "Stop background command";
|
|
14
|
+
if (normalized === "taskcreate" || normalized === "taskget" || normalized === "taskupdate") {
|
|
15
|
+
return "Task";
|
|
16
|
+
}
|
|
17
|
+
if (normalized === "spawn_agent")
|
|
18
|
+
return "Start subagent";
|
|
19
|
+
if (normalized === "followup_task")
|
|
20
|
+
return "Subagent follow-up";
|
|
21
|
+
if (normalized === "wait_agent")
|
|
22
|
+
return "Wait for subagents";
|
|
23
|
+
if (normalized === "list_agents")
|
|
24
|
+
return "Subagents";
|
|
25
|
+
if (normalized === "interrupt_agent")
|
|
26
|
+
return "Stop subagent";
|
|
27
|
+
if (normalized === "sendmessage")
|
|
28
|
+
return "Subagent follow-up";
|
|
29
|
+
const parts = name.startsWith("mcp__") ? name.slice("mcp__".length).split("__") : [];
|
|
30
|
+
if (parts.length >= 2) {
|
|
31
|
+
return `${humanizeWords(parts[0] ?? "MCP")} · ${humanizeWords(parts.slice(1).join("__"))}`;
|
|
32
|
+
}
|
|
33
|
+
return name;
|
|
34
|
+
}
|
|
35
|
+
function humanizeWords(value) {
|
|
36
|
+
return value
|
|
37
|
+
.replace(/[_-]+/g, " ")
|
|
38
|
+
.trim()
|
|
39
|
+
.replace(/\b\w/g, (character) => character.toUpperCase());
|
|
40
|
+
}
|
package/dist/app/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../sources/app/main.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../sources/app/main.ts"],"names":[],"mappings":"AAQA,wBAAsB,IAAI,CAAC,IAAI,GAAE,SAAS,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DzF"}
|
package/dist/app/main.js
CHANGED
|
@@ -3,6 +3,7 @@ import { runApp } from "./runApp.js";
|
|
|
3
3
|
import { runMonit } from "./runMonit.js";
|
|
4
4
|
import { runWebCommand } from "./runWebCommand.js";
|
|
5
5
|
import { runWebServer } from "./web/runWebServer.js";
|
|
6
|
+
import { parsePermissionMode } from "../permissions/index.js";
|
|
6
7
|
import { runLocalProtocolServer } from "../server/index.js";
|
|
7
8
|
export async function main(argv = process.argv.slice(2)) {
|
|
8
9
|
if (argv.includes("--web-server")) {
|
|
@@ -57,6 +58,9 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
57
58
|
if (process.env.RIG_PROVIDER !== undefined) {
|
|
58
59
|
options.providerId = process.env.RIG_PROVIDER;
|
|
59
60
|
}
|
|
61
|
+
if (process.env.RIG_PERMISSION_MODE !== undefined) {
|
|
62
|
+
options.permissionMode = parsePermissionMode(process.env.RIG_PERMISSION_MODE);
|
|
63
|
+
}
|
|
60
64
|
await runApp(options);
|
|
61
65
|
}
|
|
62
66
|
function isDaemonCommand(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderAgentMarkdown.d.ts","sourceRoot":"","sources":["../../sources/app/renderAgentMarkdown.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"renderAgentMarkdown.d.ts","sourceRoot":"","sources":["../../sources/app/renderAgentMarkdown.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,0BAA0B;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,MAAM,EAAE,CAmBjF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Markdown, truncateToWidth } from "@earendil-works/pi-tui";
|
|
2
2
|
import { createAgentMarkdownTheme } from "./createAgentMarkdownTheme.js";
|
|
3
|
+
import { sanitizeTerminalText } from "./sanitizeTerminalText.js";
|
|
3
4
|
const RESET = "\x1b[0m";
|
|
4
5
|
const TEXT_FG = "\x1b[38;5;252m";
|
|
5
6
|
const DEFAULT_TEXT_STYLE = {
|
|
@@ -7,7 +8,7 @@ const DEFAULT_TEXT_STYLE = {
|
|
|
7
8
|
};
|
|
8
9
|
export function renderAgentMarkdown(options) {
|
|
9
10
|
const width = Math.max(1, options.width);
|
|
10
|
-
const text = options.text.trimEnd();
|
|
11
|
+
const text = sanitizeTerminalText(options.text).trimEnd();
|
|
11
12
|
if (text.length === 0) {
|
|
12
13
|
return [" ".repeat(width)];
|
|
13
14
|
}
|
package/dist/app/runApp.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { PermissionMode } from "../permissions/index.js";
|
|
1
2
|
export interface RunAppOptions {
|
|
2
3
|
apiKey?: string;
|
|
3
4
|
cwd?: string;
|
|
@@ -5,6 +6,7 @@ export interface RunAppOptions {
|
|
|
5
6
|
instructions?: string;
|
|
6
7
|
modelId?: string;
|
|
7
8
|
providerId?: string;
|
|
9
|
+
permissionMode?: PermissionMode;
|
|
8
10
|
resumeSessionId?: string;
|
|
9
11
|
showReasoning?: boolean;
|
|
10
12
|
}
|
package/dist/app/runApp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runApp.d.ts","sourceRoot":"","sources":["../../sources/app/runApp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runApp.d.ts","sourceRoot":"","sources":["../../sources/app/runApp.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAU9D,MAAM,WAAW,aAAa;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2LvE"}
|
package/dist/app/runApp.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TUI } from "@earendil-works/pi-tui";
|
|
2
|
+
import { basename } from "node:path";
|
|
2
3
|
import { createNodeAgentContext } from "../agent/index.js";
|
|
3
4
|
import { ensureLocalProtocolServer, RemoteAgent } from "../client/index.js";
|
|
4
5
|
import { loadConfig, writeRuntimeConfig } from "../config/index.js";
|
|
@@ -8,6 +9,7 @@ import {} from "./createCodingAssistantAgent.js";
|
|
|
8
9
|
import { createStopOnceHandler } from "./createStopOnceHandler.js";
|
|
9
10
|
import { ensureSessionCanResume } from "./ensureSessionCanResume.js";
|
|
10
11
|
import { readPackageVersion } from "./readPackageVersion.js";
|
|
12
|
+
import { ScrollbackPreservingTerminal } from "./ScrollbackPreservingTerminal.js";
|
|
11
13
|
import { StartupStatusApp } from "./StartupStatusApp.js";
|
|
12
14
|
export async function runApp(options = {}) {
|
|
13
15
|
const cwd = options.cwd ?? process.cwd();
|
|
@@ -15,6 +17,7 @@ export async function runApp(options = {}) {
|
|
|
15
17
|
const agentOptions = {
|
|
16
18
|
cwd,
|
|
17
19
|
modelId: loadedConfig.config.defaults.modelId,
|
|
20
|
+
permissionMode: loadedConfig.config.defaults.permissionMode,
|
|
18
21
|
};
|
|
19
22
|
if (loadedConfig.config.defaults.providerId !== undefined) {
|
|
20
23
|
agentOptions.providerId = loadedConfig.config.defaults.providerId;
|
|
@@ -35,15 +38,20 @@ export async function runApp(options = {}) {
|
|
|
35
38
|
agentOptions.modelId = options.modelId;
|
|
36
39
|
if (options.providerId !== undefined)
|
|
37
40
|
agentOptions.providerId = options.providerId;
|
|
41
|
+
if (options.permissionMode !== undefined)
|
|
42
|
+
agentOptions.permissionMode = options.permissionMode;
|
|
38
43
|
let showReasoning = options.showReasoning ?? loadedConfig.config.settings.showReasoning;
|
|
39
44
|
// Keep the terminal in TUI mode while the daemon starts so startup work is visible.
|
|
40
|
-
const
|
|
45
|
+
const terminal = new ScrollbackPreservingTerminal();
|
|
46
|
+
terminal.setTitle(`Rig - ${sanitizeTerminalTitle(basename(cwd))}`);
|
|
47
|
+
const tui = new TUI(terminal, false);
|
|
41
48
|
const startup = new StartupStatusApp({
|
|
42
49
|
cwd,
|
|
43
50
|
tui,
|
|
44
51
|
version: readPackageVersion(),
|
|
45
52
|
});
|
|
46
53
|
startup.start();
|
|
54
|
+
terminal.write("\x1b[?1004h");
|
|
47
55
|
const { history, localServer, modelCatalog, session } = await (async () => {
|
|
48
56
|
try {
|
|
49
57
|
const connection = await ensureLocalProtocolServer({
|
|
@@ -74,13 +82,29 @@ export async function runApp(options = {}) {
|
|
|
74
82
|
}
|
|
75
83
|
catch (error) {
|
|
76
84
|
startup.stop();
|
|
85
|
+
terminal.write("\x1b[?1004l");
|
|
77
86
|
tui.stop();
|
|
78
87
|
throw error;
|
|
79
88
|
}
|
|
80
89
|
})();
|
|
81
90
|
const processManager = new NativeProxessManager();
|
|
82
91
|
const sessionCwd = session.session.cwd;
|
|
83
|
-
|
|
92
|
+
if (session.session.title !== undefined) {
|
|
93
|
+
terminal.setTitle(`Rig - ${sanitizeTerminalTitle(session.session.title)}`);
|
|
94
|
+
}
|
|
95
|
+
const subagents = await localServer.client
|
|
96
|
+
.listSubagents(session.session.id)
|
|
97
|
+
.catch((error) => {
|
|
98
|
+
startup.stop();
|
|
99
|
+
terminal.write("\x1b[?1004l");
|
|
100
|
+
tui.stop();
|
|
101
|
+
throw error;
|
|
102
|
+
});
|
|
103
|
+
const context = createNodeAgentContext({
|
|
104
|
+
cwd: sessionCwd,
|
|
105
|
+
permissionMode: session.session.permissionMode,
|
|
106
|
+
processManager,
|
|
107
|
+
});
|
|
84
108
|
const agent = new RemoteAgent({
|
|
85
109
|
client: localServer.client,
|
|
86
110
|
context,
|
|
@@ -92,12 +116,17 @@ export async function runApp(options = {}) {
|
|
|
92
116
|
agent,
|
|
93
117
|
cwd: sessionCwd,
|
|
94
118
|
initialSessionEvents: history.events,
|
|
119
|
+
initialMcpServers: session.session.mcpServers,
|
|
120
|
+
initialSubagents: subagents.subagents,
|
|
121
|
+
initialUserInputs: session.session.pendingUserInputs,
|
|
122
|
+
initialTasks: session.session.tasks,
|
|
95
123
|
modelLocked: session.session.modelLocked,
|
|
96
124
|
onDefaultModelChange: (preference) => writeRuntimeConfig(loadedConfig.paths.runtime, {
|
|
97
125
|
defaults: {
|
|
98
126
|
modelId: preference.modelId,
|
|
99
127
|
providerId: preference.providerId,
|
|
100
128
|
effort: preference.effort,
|
|
129
|
+
permissionMode: agent.permissionMode,
|
|
101
130
|
},
|
|
102
131
|
settings: {
|
|
103
132
|
showReasoning,
|
|
@@ -110,11 +139,15 @@ export async function runApp(options = {}) {
|
|
|
110
139
|
modelId: agent.model.id,
|
|
111
140
|
providerId: agent.provider.id,
|
|
112
141
|
effort: agent.snapshot().effort ?? agent.model.defaultThinkingLevel,
|
|
142
|
+
permissionMode: agent.permissionMode,
|
|
113
143
|
},
|
|
114
144
|
settings,
|
|
115
145
|
});
|
|
116
146
|
},
|
|
117
147
|
processManager,
|
|
148
|
+
respondUserInput: (requestId, response) => localServer.client
|
|
149
|
+
.answerUserInput(session.session.id, requestId, response)
|
|
150
|
+
.then(() => undefined),
|
|
118
151
|
searchFiles: (query) => localServer.client
|
|
119
152
|
.searchFiles(session.session.id, query)
|
|
120
153
|
.then((response) => response.files),
|
|
@@ -129,6 +162,9 @@ export async function runApp(options = {}) {
|
|
|
129
162
|
void localServer.client.watchSessionEvents({
|
|
130
163
|
...(lastHistoryEventId !== undefined ? { after: lastHistoryEventId } : {}),
|
|
131
164
|
onEvent: (event) => {
|
|
165
|
+
if (event.type === "session_title_changed" && event.data.title !== undefined) {
|
|
166
|
+
terminal.setTitle(`Rig - ${sanitizeTerminalTitle(event.data.title)}`);
|
|
167
|
+
}
|
|
132
168
|
agent.applySessionEvent(event);
|
|
133
169
|
app.applySessionEvent(event);
|
|
134
170
|
},
|
|
@@ -152,9 +188,18 @@ export async function runApp(options = {}) {
|
|
|
152
188
|
process.off("SIGINT", stop);
|
|
153
189
|
process.off("SIGTERM", stop);
|
|
154
190
|
followController.abort();
|
|
191
|
+
terminal.write("\x1b[?1004l");
|
|
155
192
|
await processManager.killAll({ forceAfterMs: 500 });
|
|
156
193
|
console.error("");
|
|
157
194
|
console.error(`Session: ${session.session.id}`);
|
|
158
195
|
console.error(`Resume: ${resumeCommand}`);
|
|
159
196
|
}
|
|
160
197
|
}
|
|
198
|
+
function sanitizeTerminalTitle(value) {
|
|
199
|
+
return [...value]
|
|
200
|
+
.filter((character) => {
|
|
201
|
+
const codePoint = character.codePointAt(0) ?? 0;
|
|
202
|
+
return codePoint > 31 && codePoint !== 127;
|
|
203
|
+
})
|
|
204
|
+
.join("");
|
|
205
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitizeTerminalText.d.ts","sourceRoot":"","sources":["../../sources/app/sanitizeTerminalText.ts"],"names":[],"mappings":"AAGA,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA4BzD"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
const ESCAPE = "\x1b";
|
|
2
|
+
const STRING_TERMINATOR = "\x1b\\";
|
|
3
|
+
export function sanitizeTerminalText(text) {
|
|
4
|
+
let sanitized = "";
|
|
5
|
+
for (let index = 0; index < text.length; index += 1) {
|
|
6
|
+
const character = text[index] ?? "";
|
|
7
|
+
const codePoint = character.charCodeAt(0);
|
|
8
|
+
if (character !== ESCAPE) {
|
|
9
|
+
if (character === "\n" ||
|
|
10
|
+
character === "\t" ||
|
|
11
|
+
codePoint >= 0xa0 ||
|
|
12
|
+
(codePoint > 0x1f && codePoint < 0x7f)) {
|
|
13
|
+
sanitized += character;
|
|
14
|
+
}
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
const sequenceEnd = terminalSequenceEnd(text, index);
|
|
18
|
+
if (sequenceEnd === undefined) {
|
|
19
|
+
sanitized += "\\x1b";
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
index = sequenceEnd;
|
|
23
|
+
}
|
|
24
|
+
return sanitized;
|
|
25
|
+
}
|
|
26
|
+
function terminalSequenceEnd(text, escapeIndex) {
|
|
27
|
+
const introducer = text[escapeIndex + 1];
|
|
28
|
+
if (introducer === undefined)
|
|
29
|
+
return undefined;
|
|
30
|
+
if (introducer === "[") {
|
|
31
|
+
for (let index = escapeIndex + 2; index < text.length; index += 1) {
|
|
32
|
+
const codePoint = text.charCodeAt(index);
|
|
33
|
+
if (codePoint >= 0x40 && codePoint <= 0x7e)
|
|
34
|
+
return index;
|
|
35
|
+
if (codePoint < 0x20 || codePoint > 0x3f)
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
if (introducer === "]") {
|
|
41
|
+
const bellEnd = text.indexOf("\x07", escapeIndex + 2);
|
|
42
|
+
const stringEnd = text.indexOf(STRING_TERMINATOR, escapeIndex + 2);
|
|
43
|
+
if (bellEnd < 0 && stringEnd < 0)
|
|
44
|
+
return undefined;
|
|
45
|
+
if (bellEnd >= 0 && (stringEnd < 0 || bellEnd < stringEnd))
|
|
46
|
+
return bellEnd;
|
|
47
|
+
return stringEnd + STRING_TERMINATOR.length - 1;
|
|
48
|
+
}
|
|
49
|
+
if (introducer === "P" || introducer === "X" || introducer === "^" || introducer === "_") {
|
|
50
|
+
const stringEnd = text.indexOf(STRING_TERMINATOR, escapeIndex + 2);
|
|
51
|
+
return stringEnd < 0 ? undefined : stringEnd + STRING_TERMINATOR.length - 1;
|
|
52
|
+
}
|
|
53
|
+
const codePoint = introducer.charCodeAt(0);
|
|
54
|
+
return codePoint >= 0x40 && codePoint <= 0x5f ? escapeIndex + 1 : undefined;
|
|
55
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upsertSubagentSummary.d.ts","sourceRoot":"","sources":["../../sources/app/upsertSubagentSummary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,wBAAgB,qBAAqB,CACjC,SAAS,EAAE,SAAS,eAAe,EAAE,EACrC,IAAI,EAAE,eAAe,GACtB,SAAS,eAAe,EAAE,CAI5B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export function upsertSubagentSummary(subagents, next) {
|
|
2
|
+
const existing = subagents.findIndex((subagent) => subagent.id === next.id);
|
|
3
|
+
if (existing < 0)
|
|
4
|
+
return [...subagents, next];
|
|
5
|
+
return subagents.map((subagent, index) => (index === existing ? next : subagent));
|
|
6
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AbortRunResponse, ChangeEffortRequest, ChangeModelRequest, CreateSessionRequest, CreateSessionResponse, EventId, HealthResponse, ListModelsResponse, ListSessionsResponse, ListSubagentsResponse, ProtocolSession, SearchFilesResponse, SessionEvent, ShutdownServerResponse, SubmitMessageRequest, SubmitMessageResponse } from "../protocol/index.js";
|
|
1
|
+
import type { AbortRunResponse, AnswerUserInputRequest, ChangeEffortRequest, ChangeModelRequest, ChangePermissionModeRequest, ChangeSessionGoalStatusRequest, CompactSessionResponse, CreateSessionRequest, CreateSessionResponse, EventId, HealthResponse, GoalSessionResponse, ListModelsResponse, ListSessionsResponse, ListSubagentsResponse, ProtocolSession, SearchFilesResponse, SessionEvent, ShutdownServerResponse, SetGoalRequest, SteerMessageRequest, SteerMessageResponse, SubmitMessageRequest, SubmitMessageResponse } from "../protocol/index.js";
|
|
2
2
|
export interface ProtocolHttpClientOptions {
|
|
3
3
|
socketPath: string;
|
|
4
4
|
token: string;
|
|
@@ -14,13 +14,24 @@ export declare class ProtocolHttpClient {
|
|
|
14
14
|
readonly socketPath: string;
|
|
15
15
|
readonly token: string;
|
|
16
16
|
constructor(options: ProtocolHttpClientOptions);
|
|
17
|
+
steerMessage(sessionId: string, request: SteerMessageRequest): Promise<SteerMessageResponse>;
|
|
17
18
|
abort(sessionId: string): Promise<AbortRunResponse>;
|
|
19
|
+
answerUserInput(sessionId: string, requestId: string, request: AnswerUserInputRequest): Promise<{
|
|
20
|
+
session: ProtocolSession;
|
|
21
|
+
}>;
|
|
18
22
|
changeModel(sessionId: string, request: ChangeModelRequest): Promise<{
|
|
19
23
|
session: ProtocolSession;
|
|
20
24
|
}>;
|
|
21
25
|
changeEffort(sessionId: string, request: ChangeEffortRequest): Promise<{
|
|
22
26
|
session: ProtocolSession;
|
|
23
27
|
}>;
|
|
28
|
+
changePermissionMode(sessionId: string, request: ChangePermissionModeRequest): Promise<{
|
|
29
|
+
session: ProtocolSession;
|
|
30
|
+
}>;
|
|
31
|
+
setGoal(sessionId: string, request: SetGoalRequest): Promise<GoalSessionResponse>;
|
|
32
|
+
changeGoalStatus(sessionId: string, request: ChangeSessionGoalStatusRequest): Promise<GoalSessionResponse>;
|
|
33
|
+
clearGoal(sessionId: string): Promise<GoalSessionResponse>;
|
|
34
|
+
compact(sessionId: string): Promise<CompactSessionResponse>;
|
|
24
35
|
createSession(request: CreateSessionRequest): Promise<CreateSessionResponse>;
|
|
25
36
|
health(): Promise<HealthResponse>;
|
|
26
37
|
models(): Promise<ListModelsResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtocolHttpClient.d.ts","sourceRoot":"","sources":["../../sources/client/ProtocolHttpClient.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACR,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACxB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,yBAAyB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AAED,qBAAa,kBAAkB;;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,yBAAyB;IAK9C,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAInD,WAAW,CACP,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,kBAAkB,GAC5B,OAAO,CAAC;QAAE,OAAO,EAAE,eAAe,CAAA;KAAE,CAAC;IAQxC,YAAY,CACR,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,mBAAmB,GAC7B,OAAO,CAAC;QAAE,OAAO,EAAE,eAAe,CAAA;KAAE,CAAC;IAQxC,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI5E,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC;IAIjC,MAAM,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAIrC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAM3D,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIhE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAWvF,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,eAAe,CAAA;KAAE,CAAC;IAIpE,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;IAQlF,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,eAAe,CAAA;KAAE,CAAC;IAI/D,QAAQ,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAI3C,aAAa,CACT,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,oBAAoB,GAC9B,OAAO,CAAC,qBAAqB,CAAC;IAQ3B,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;CAsH9E"}
|
|
1
|
+
{"version":3,"file":"ProtocolHttpClient.d.ts","sourceRoot":"","sources":["../../sources/client/ProtocolHttpClient.ts"],"names":[],"mappings":"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"}
|