@slopus/rig 0.0.3 → 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/selectSystemPromptForModel.js +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 +24 -7
- package/dist/app/createSlashCommands.d.ts.map +1 -1
- package/dist/app/createSlashCommands.js +42 -0
- package/dist/app/describeReasoningLevel.d.ts.map +1 -1
- package/dist/app/describeReasoningLevel.js +1 -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/humanizeReasoningLevel.d.ts.map +1 -1
- package/dist/app/humanizeReasoningLevel.js +3 -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/codex.d.ts.map +1 -1
- package/dist/providers/codex.js +52 -6
- package/dist/providers/models.d.ts +12 -9
- package/dist/providers/models.d.ts.map +1 -1
- package/dist/providers/models.js +36 -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/createModelCatalog.js +2 -2
- 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
|
@@ -1,12 +1,47 @@
|
|
|
1
1
|
import { createSubagentInstructions, findLastAgentResponseText, } from "../agent/index.js";
|
|
2
2
|
export const DEFAULT_MAX_SUBAGENT_DEPTH = 3;
|
|
3
|
+
export const DEFAULT_MAX_ACTIVE_SUBAGENTS = 4;
|
|
3
4
|
export class AgentSessionManager {
|
|
5
|
+
maxActive;
|
|
4
6
|
maxDepth;
|
|
5
7
|
#repository;
|
|
6
8
|
constructor(options) {
|
|
7
9
|
this.#repository = options.repository;
|
|
10
|
+
this.maxActive = options.maxActive ?? DEFAULT_MAX_ACTIVE_SUBAGENTS;
|
|
8
11
|
this.maxDepth = options.maxDepth ?? DEFAULT_MAX_SUBAGENT_DEPTH;
|
|
9
12
|
}
|
|
13
|
+
taskSession(sessionId) {
|
|
14
|
+
const session = this.#repository.get(sessionId);
|
|
15
|
+
if (session === undefined)
|
|
16
|
+
return undefined;
|
|
17
|
+
return this.#repository.get(session.agentMetadata().rootSessionId) ?? session;
|
|
18
|
+
}
|
|
19
|
+
followUp(parentSessionId, target, message) {
|
|
20
|
+
const child = this.#resolveTarget(parentSessionId, target);
|
|
21
|
+
const submitted = child.submit({ text: message });
|
|
22
|
+
const parent = this.#parentFor(child);
|
|
23
|
+
parent?.recordSubagentChanged(child.subagentSummary());
|
|
24
|
+
void this.#monitorBackground(parent, child, submitted.runId);
|
|
25
|
+
return this.#managedSubagent(child);
|
|
26
|
+
}
|
|
27
|
+
interrupt(parentSessionId, target) {
|
|
28
|
+
const child = this.#resolveTarget(parentSessionId, target);
|
|
29
|
+
const previous = this.#managedSubagent(child);
|
|
30
|
+
child.abort();
|
|
31
|
+
this.#parentFor(child)?.recordSubagentChanged(child.subagentSummary());
|
|
32
|
+
return previous;
|
|
33
|
+
}
|
|
34
|
+
list(parentSessionId, pathPrefix) {
|
|
35
|
+
const root = this.#rootFor(parentSessionId);
|
|
36
|
+
const agents = this.#repository
|
|
37
|
+
.listByRoot(root.id)
|
|
38
|
+
.filter((session) => session.isSubagent())
|
|
39
|
+
.map((session) => this.#managedSubagent(session))
|
|
40
|
+
.sort((left, right) => left.path.localeCompare(right.path));
|
|
41
|
+
return pathPrefix === undefined
|
|
42
|
+
? agents
|
|
43
|
+
: agents.filter((agent) => agent.path.startsWith(pathPrefix));
|
|
44
|
+
}
|
|
10
45
|
async spawn(parentSessionId, request, signal) {
|
|
11
46
|
const parent = this.#repository.get(parentSessionId);
|
|
12
47
|
if (parent === undefined) {
|
|
@@ -17,6 +52,16 @@ export class AgentSessionManager {
|
|
|
17
52
|
if (depth > this.maxDepth) {
|
|
18
53
|
throw new Error(`Subagents are limited to ${this.maxDepth} nested levels.`);
|
|
19
54
|
}
|
|
55
|
+
const active = this.#repository
|
|
56
|
+
.listByRoot(parentMetadata.rootSessionId)
|
|
57
|
+
.filter((session) => {
|
|
58
|
+
const status = session.subagentSummary().status;
|
|
59
|
+
return status === "queued" || status === "running";
|
|
60
|
+
});
|
|
61
|
+
if (active.length >= this.maxActive) {
|
|
62
|
+
throw new Error(`No more than ${this.maxActive} subagents can run at once.`);
|
|
63
|
+
}
|
|
64
|
+
const taskName = this.#taskName(parent, request.taskName, request.description);
|
|
20
65
|
const metadata = {
|
|
21
66
|
depth,
|
|
22
67
|
description: request.description,
|
|
@@ -25,6 +70,7 @@ export class AgentSessionManager {
|
|
|
25
70
|
? { parentToolCallId: request.parentToolCallId }
|
|
26
71
|
: {}),
|
|
27
72
|
rootSessionId: parentMetadata.rootSessionId,
|
|
73
|
+
taskName,
|
|
28
74
|
type: "subagent",
|
|
29
75
|
};
|
|
30
76
|
const parentRequest = parent.requestForSubagent();
|
|
@@ -32,26 +78,31 @@ export class AgentSessionManager {
|
|
|
32
78
|
...parentRequest,
|
|
33
79
|
instructions: createSubagentInstructions(parentRequest.instructions, depth, this.maxDepth),
|
|
34
80
|
}, metadata);
|
|
81
|
+
const submitted = child.submit({ text: request.prompt });
|
|
82
|
+
parent.recordSubagentChanged(child.subagentSummary());
|
|
83
|
+
if (request.background === true) {
|
|
84
|
+
void this.#monitorBackground(parent, child, submitted.runId);
|
|
85
|
+
return {
|
|
86
|
+
output: "The subagent is running in the background.",
|
|
87
|
+
path: this.#pathFor(child),
|
|
88
|
+
sessionId: child.id,
|
|
89
|
+
status: "running",
|
|
90
|
+
taskName,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
35
93
|
const abortChild = () => child.abort();
|
|
36
94
|
signal?.addEventListener("abort", abortChild, { once: true });
|
|
37
95
|
try {
|
|
38
|
-
|
|
39
|
-
parent.recordSubagentChanged(child.subagentSummary());
|
|
40
|
-
if (signal?.aborted) {
|
|
96
|
+
if (signal?.aborted)
|
|
41
97
|
child.abort();
|
|
42
|
-
}
|
|
43
98
|
const completion = await child.waitForRun(submitted.runId);
|
|
44
|
-
|
|
45
|
-
parent.recordSubagentChanged(summary);
|
|
46
|
-
const output = (completion.status === "error" ? completion.errorMessage : undefined) ??
|
|
47
|
-
findLastAgentResponseText(child.snapshot().snapshot.messages) ??
|
|
48
|
-
(completion.status === "aborted"
|
|
49
|
-
? "The subagent was stopped before it returned a response."
|
|
50
|
-
: "The subagent finished without a text response.");
|
|
99
|
+
parent.recordSubagentChanged(child.subagentSummary());
|
|
51
100
|
return {
|
|
52
|
-
output,
|
|
101
|
+
output: this.#completionOutput(child, completion.status, completion.errorMessage),
|
|
102
|
+
path: this.#pathFor(child),
|
|
53
103
|
sessionId: child.id,
|
|
54
104
|
status: completion.status,
|
|
105
|
+
taskName,
|
|
55
106
|
};
|
|
56
107
|
}
|
|
57
108
|
catch (error) {
|
|
@@ -62,4 +113,144 @@ export class AgentSessionManager {
|
|
|
62
113
|
signal?.removeEventListener("abort", abortChild);
|
|
63
114
|
}
|
|
64
115
|
}
|
|
116
|
+
async wait(parentSessionId, timeoutMs = 30_000, signal) {
|
|
117
|
+
const initial = this.list(parentSessionId);
|
|
118
|
+
const running = initial.filter((agent) => agent.status === "running");
|
|
119
|
+
const terminal = initial.filter((agent) => agent.status !== "running");
|
|
120
|
+
if (running.length === 0) {
|
|
121
|
+
return { agents: terminal, timedOut: false };
|
|
122
|
+
}
|
|
123
|
+
const runningSessionIds = new Set(running.map((agent) => agent.sessionId));
|
|
124
|
+
const deadline = Date.now() + Math.max(0, timeoutMs);
|
|
125
|
+
while (Date.now() < deadline) {
|
|
126
|
+
if (signal?.aborted)
|
|
127
|
+
throw new Error("Waiting for subagents was cancelled.");
|
|
128
|
+
await new Promise((resolve) => setTimeout(resolve, Math.min(100, deadline - Date.now())));
|
|
129
|
+
const current = this.list(parentSessionId);
|
|
130
|
+
const changed = current.filter((agent) => runningSessionIds.has(agent.sessionId) && agent.status !== "running");
|
|
131
|
+
if (changed.length > 0)
|
|
132
|
+
return { agents: changed, timedOut: false };
|
|
133
|
+
}
|
|
134
|
+
return { agents: [], timedOut: true };
|
|
135
|
+
}
|
|
136
|
+
#completionOutput(child, status, errorMessage) {
|
|
137
|
+
return ((status === "error" ? errorMessage : undefined) ??
|
|
138
|
+
findLastAgentResponseText(child.snapshot().snapshot.messages) ??
|
|
139
|
+
(status === "aborted"
|
|
140
|
+
? "The subagent was stopped before it returned a response."
|
|
141
|
+
: "The subagent finished without a text response."));
|
|
142
|
+
}
|
|
143
|
+
#managedSubagent(child) {
|
|
144
|
+
const summary = child.subagentSummary();
|
|
145
|
+
return {
|
|
146
|
+
description: summary.description,
|
|
147
|
+
path: this.#pathFor(child),
|
|
148
|
+
sessionId: child.id,
|
|
149
|
+
status: this.#runStatus(summary.status),
|
|
150
|
+
taskName: child.agentMetadata().taskName ?? child.id,
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
async #monitorBackground(parent, child, runId) {
|
|
154
|
+
try {
|
|
155
|
+
const completion = await child.waitForRun(runId);
|
|
156
|
+
parent?.recordSubagentChanged(child.subagentSummary());
|
|
157
|
+
if (parent === undefined)
|
|
158
|
+
return;
|
|
159
|
+
const output = this.#completionOutput(child, completion.status, completion.errorMessage);
|
|
160
|
+
const taskName = child.agentMetadata().taskName ?? child.id;
|
|
161
|
+
const description = child.subagentSummary().description;
|
|
162
|
+
const outcome = completion.status === "completed"
|
|
163
|
+
? "completed"
|
|
164
|
+
: completion.status === "aborted"
|
|
165
|
+
? "was stopped"
|
|
166
|
+
: "failed";
|
|
167
|
+
parent.submit({
|
|
168
|
+
displayText: `Background work "${description}" ${outcome}.`,
|
|
169
|
+
text: [
|
|
170
|
+
"<subagent-notification>",
|
|
171
|
+
`Task: ${taskName}`,
|
|
172
|
+
`Status: ${completion.status}`,
|
|
173
|
+
`Result: ${output}`,
|
|
174
|
+
"</subagent-notification>",
|
|
175
|
+
].join("\n"),
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
parent?.recordSubagentChanged(child.subagentSummary());
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
#parentFor(child) {
|
|
183
|
+
const parentSessionId = child.agentMetadata().parentSessionId;
|
|
184
|
+
return parentSessionId === undefined ? undefined : this.#repository.get(parentSessionId);
|
|
185
|
+
}
|
|
186
|
+
#pathFor(child) {
|
|
187
|
+
const names = [];
|
|
188
|
+
let current = child;
|
|
189
|
+
while (current !== undefined && current.isSubagent()) {
|
|
190
|
+
const metadata = current.agentMetadata();
|
|
191
|
+
names.unshift(metadata.taskName ?? current.id);
|
|
192
|
+
current =
|
|
193
|
+
metadata.parentSessionId === undefined
|
|
194
|
+
? undefined
|
|
195
|
+
: this.#repository.get(metadata.parentSessionId);
|
|
196
|
+
}
|
|
197
|
+
return `/root/${names.join("/")}`;
|
|
198
|
+
}
|
|
199
|
+
#resolveTarget(parentSessionId, target) {
|
|
200
|
+
const root = this.#rootFor(parentSessionId);
|
|
201
|
+
const matches = this.#repository.listByRoot(root.id).filter((session) => {
|
|
202
|
+
if (!session.isSubagent())
|
|
203
|
+
return false;
|
|
204
|
+
const metadata = session.agentMetadata();
|
|
205
|
+
return (session.id === target ||
|
|
206
|
+
metadata.taskName === target ||
|
|
207
|
+
this.#pathFor(session) === target);
|
|
208
|
+
});
|
|
209
|
+
if (matches.length === 0)
|
|
210
|
+
throw new Error(`Subagent '${target}' was not found.`);
|
|
211
|
+
if (matches.length > 1) {
|
|
212
|
+
throw new Error(`Subagent name '${target}' is ambiguous. Use its full task path.`);
|
|
213
|
+
}
|
|
214
|
+
return matches[0];
|
|
215
|
+
}
|
|
216
|
+
#rootFor(sessionId) {
|
|
217
|
+
const session = this.#repository.get(sessionId);
|
|
218
|
+
if (session === undefined)
|
|
219
|
+
throw new Error("The current session is no longer available.");
|
|
220
|
+
return this.#repository.get(session.agentMetadata().rootSessionId) ?? session;
|
|
221
|
+
}
|
|
222
|
+
#runStatus(status) {
|
|
223
|
+
if (status === "aborted" || status === "error" || status === "completed")
|
|
224
|
+
return status;
|
|
225
|
+
return "running";
|
|
226
|
+
}
|
|
227
|
+
#taskName(parent, requested, description) {
|
|
228
|
+
if (requested !== undefined && !/^[a-z0-9_]+$/u.test(requested)) {
|
|
229
|
+
throw new Error("Task names may contain only lowercase letters, numbers, and underscores.");
|
|
230
|
+
}
|
|
231
|
+
const root = this.#rootFor(parent.id);
|
|
232
|
+
const existing = new Set(this.#repository
|
|
233
|
+
.listByRoot(root.id)
|
|
234
|
+
.map((session) => session.agentMetadata().taskName)
|
|
235
|
+
.filter((name) => name !== undefined));
|
|
236
|
+
if (requested !== undefined) {
|
|
237
|
+
if (existing.has(requested)) {
|
|
238
|
+
throw new Error(`A subagent named '${requested}' already exists in this session.`);
|
|
239
|
+
}
|
|
240
|
+
return requested;
|
|
241
|
+
}
|
|
242
|
+
const normalized = description
|
|
243
|
+
.toLowerCase()
|
|
244
|
+
.replace(/[^a-z0-9]+/gu, "_")
|
|
245
|
+
.replace(/^_+|_+$/gu, "")
|
|
246
|
+
.slice(0, 32);
|
|
247
|
+
const base = normalized.length > 0 ? normalized : "task";
|
|
248
|
+
let candidate = base;
|
|
249
|
+
let suffix = 2;
|
|
250
|
+
while (existing.has(candidate)) {
|
|
251
|
+
candidate = `${base}_${suffix}`;
|
|
252
|
+
suffix += 1;
|
|
253
|
+
}
|
|
254
|
+
return candidate;
|
|
255
|
+
}
|
|
65
256
|
}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
|
+
import type { AgentCompactionResult } from "../agent/index.js";
|
|
1
2
|
import type { Message, UserMessage } from "../agent/types.js";
|
|
2
|
-
import
|
|
3
|
+
import { type ChangeGoalStatusRequest, type CreateGoalRequest, type SessionGoal } from "../goals/index.js";
|
|
4
|
+
import type { CodingAssistantRuntime } from "../app/CodingAssistantRuntime.js";
|
|
5
|
+
import { type CreateCodingAssistantAgentOptions } from "../app/createCodingAssistantAgent.js";
|
|
6
|
+
import type { ChangeEffortRequest, ChangeModelRequest, ChangePermissionModeRequest, CreateSessionRequest, EventId, ModelCatalog, ProtocolSession, SessionEvent, SessionAgentMetadata, SessionInterruption, SessionStatus, SessionSummary, SubagentSummary, SessionTitleStatus, SubmitMessageRequest, SubmitMessageResponse, SteerMessageResponse } from "../protocol/index.js";
|
|
3
7
|
import type { Model } from "../providers/types.js";
|
|
8
|
+
import type { UserInputRequest, UserInputResponse } from "../user-input/index.js";
|
|
9
|
+
import { type McpToolProvider } from "../mcp/index.js";
|
|
10
|
+
import type { CreateTaskRequest, SessionTask, UpdateTaskRequest, UpdateTaskResult } from "../tasks/index.js";
|
|
11
|
+
import { type PermissionMode } from "../permissions/index.js";
|
|
4
12
|
import { SessionEventLog } from "./SessionEventLog.js";
|
|
5
13
|
import type { AgentSessionManager } from "./AgentSessionManager.js";
|
|
6
14
|
export interface PersistedSessionMessage {
|
|
@@ -11,6 +19,7 @@ export interface PersistedSessionMessage {
|
|
|
11
19
|
}
|
|
12
20
|
export interface PersistedQueuedRun {
|
|
13
21
|
displayText: string;
|
|
22
|
+
kind: "goal" | "user";
|
|
14
23
|
runId: string;
|
|
15
24
|
text: string;
|
|
16
25
|
userMessage: UserMessage;
|
|
@@ -20,17 +29,22 @@ export interface PersistedSessionState {
|
|
|
20
29
|
agent: SessionAgentMetadata;
|
|
21
30
|
agentId: string;
|
|
22
31
|
cwd: string;
|
|
32
|
+
contextMessages?: readonly Message[];
|
|
23
33
|
effort?: string;
|
|
24
34
|
id: string;
|
|
25
35
|
instructions?: string;
|
|
36
|
+
goal?: SessionGoal;
|
|
26
37
|
interruption?: SessionInterruption;
|
|
27
38
|
lastMessageAt?: number;
|
|
28
39
|
messages: readonly PersistedSessionMessage[];
|
|
29
40
|
modelId: string;
|
|
30
41
|
models: readonly Model[];
|
|
31
42
|
providerId: string;
|
|
43
|
+
permissionMode: PermissionMode;
|
|
32
44
|
queuedRuns: readonly PersistedQueuedRun[];
|
|
45
|
+
nextTaskId: number;
|
|
33
46
|
status: SessionStatus;
|
|
47
|
+
tasks: readonly SessionTask[];
|
|
34
48
|
title?: string;
|
|
35
49
|
titleError?: string;
|
|
36
50
|
titleStatus: SessionTitleStatus;
|
|
@@ -46,11 +60,13 @@ export interface InMemorySessionPersistence {
|
|
|
46
60
|
export interface InMemorySessionOptions {
|
|
47
61
|
agentManager?: AgentSessionManager;
|
|
48
62
|
createEventId: () => EventId;
|
|
63
|
+
createRuntime?: (options: CreateCodingAssistantAgentOptions) => CodingAssistantRuntime;
|
|
49
64
|
emitCreatedEvent?: boolean;
|
|
50
65
|
events?: readonly SessionEvent[];
|
|
51
66
|
now?: () => number;
|
|
52
67
|
modelCatalog: ModelCatalog;
|
|
53
68
|
metadata?: SessionAgentMetadata;
|
|
69
|
+
mcpToolProvider?: McpToolProvider;
|
|
54
70
|
onAppendEvent?: (event: SessionEvent) => void;
|
|
55
71
|
persistence?: InMemorySessionPersistence;
|
|
56
72
|
request: CreateSessionRequest;
|
|
@@ -72,9 +88,25 @@ export declare class InMemorySession {
|
|
|
72
88
|
agentMetadata(): SessionAgentMetadata;
|
|
73
89
|
changeModel(request: ChangeModelRequest): ProtocolSession;
|
|
74
90
|
changeEffort(request: ChangeEffortRequest): ProtocolSession;
|
|
91
|
+
changePermissionMode(request: ChangePermissionModeRequest): ProtocolSession;
|
|
92
|
+
setGoal(request: CreateGoalRequest): SessionGoal;
|
|
93
|
+
changeGoalStatus(request: ChangeGoalStatusRequest, options?: {
|
|
94
|
+
stopActiveGoalRun?: boolean;
|
|
95
|
+
}): SessionGoal;
|
|
96
|
+
clearGoal(): boolean;
|
|
97
|
+
goal(): SessionGoal | undefined;
|
|
98
|
+
requestUserInput(request: UserInputRequest, options?: {
|
|
99
|
+
signal?: AbortSignal;
|
|
100
|
+
}): Promise<UserInputResponse>;
|
|
101
|
+
answerUserInput(requestId: string, response: UserInputResponse): ProtocolSession | undefined;
|
|
102
|
+
createTask(request: CreateTaskRequest): SessionTask;
|
|
103
|
+
getTask(taskId: string): SessionTask | undefined;
|
|
104
|
+
listTasks(): readonly SessionTask[];
|
|
105
|
+
updateTask(taskId: string, request: UpdateTaskRequest): UpdateTaskResult;
|
|
75
106
|
emitCreatedEvent(): void;
|
|
76
107
|
markInterrupted(interruption: SessionInterruption): void;
|
|
77
108
|
reset(): ProtocolSession;
|
|
109
|
+
compact(signal?: AbortSignal): Promise<AgentCompactionResult>;
|
|
78
110
|
isSubagent(): boolean;
|
|
79
111
|
recordSubagentChanged(subagent: SubagentSummary): void;
|
|
80
112
|
requestForSubagent(): CreateSessionRequest;
|
|
@@ -82,6 +114,7 @@ export declare class InMemorySession {
|
|
|
82
114
|
summary(): SessionSummary;
|
|
83
115
|
state(): PersistedSessionState;
|
|
84
116
|
submit(request: SubmitMessageRequest): SubmitMessageResponse;
|
|
117
|
+
steer(request: SubmitMessageRequest): SteerMessageResponse;
|
|
85
118
|
subagentSummary(): SubagentSummary;
|
|
86
119
|
waitForRun(runId: string): Promise<SessionRunCompletion>;
|
|
87
120
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InMemorySession.d.ts","sourceRoot":"","sources":["../../sources/server/InMemorySession.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"InMemorySession.d.ts","sourceRoot":"","sources":["../../sources/server/InMemorySession.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAER,qBAAqB,EAIxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAGH,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,WAAW,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAEH,KAAK,iCAAiC,EACzC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EACR,mBAAmB,EACnB,kBAAkB,EAClB,2BAA2B,EAC3B,oBAAoB,EACpB,OAAO,EACP,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAc,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAElF,OAAO,EAAwC,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,KAAK,EACR,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAGH,KAAK,cAAc,EACtB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,MAAM,WAAW,uBAAuB;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,oBAAoB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,kBAAkB,CAAC;IAChC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,0BAA0B;IACvC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAClE,WAAW,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAChD,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAAC;CAC5E;AAED,MAAM,WAAW,sBAAsB;IACnC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,aAAa,EAAE,MAAM,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,iCAAiC,KAAK,sBAAsB,CAAC;IACvF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC9C,WAAW,CAAC,EAAE,0BAA0B,CAAC;IACzC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,OAAO,CAAC,EAAE,qBAAqB,CAAC;CACnC;AAqBD,MAAM,WAAW,oBAAoB;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;CAC7C;AAED,qBAAa,eAAe;;IACxB,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;gBAyCR,OAAO,EAAE,sBAAsB;IAwF3C,KAAK,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE;IAyBhD,aAAa,IAAI,oBAAoB;IAIrC,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,eAAe;IA8CzD,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,eAAe;IAkB3D,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,eAAe;IAQ3E,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,WAAW;IA+BhD,gBAAgB,CACZ,OAAO,EAAE,uBAAuB,EAChC,OAAO,GAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAO,GAC9C,WAAW;IAyBd,SAAS,IAAI,OAAO;IAgBpB,IAAI,IAAI,WAAW,GAAG,SAAS;IAI/B,gBAAgB,CACZ,OAAO,EAAE,gBAAgB,EACzB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GACvC,OAAO,CAAC,iBAAiB,CAAC;IAkC7B,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,eAAe,GAAG,SAAS;IA2C5F,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,WAAW;IAiBnD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAKhD,SAAS,IAAI,SAAS,WAAW,EAAE;IAInC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,gBAAgB;IA2DxE,gBAAgB,IAAI,IAAI;IAIxB,eAAe,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI;IA+BxD,KAAK,IAAI,eAAe;IAsBlB,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAkBnE,UAAU,IAAI,OAAO;IAIrB,qBAAqB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAItD,kBAAkB,IAAI,oBAAoB;IAW1C,QAAQ,IAAI,eAAe;IA8B3B,OAAO,IAAI,cAAc;IAmBzB,KAAK,IAAI,qBAAqB;IAyC9B,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,qBAAqB;IAiD5D,KAAK,CAAC,OAAO,EAAE,oBAAoB,GAAG,oBAAoB;IAiC1D,eAAe,IAAI,eAAe;IA2BlC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAiiB3D"}
|