takt 0.1.0 → 0.1.2
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 +78 -4
- package/dist/agents/runner.d.ts +3 -0
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +70 -14
- package/dist/agents/runner.js.map +1 -1
- package/dist/claude/client.d.ts +1 -1
- package/dist/claude/client.d.ts.map +1 -1
- package/dist/claude/client.js +4 -3
- package/dist/claude/client.js.map +1 -1
- package/dist/claude/index.d.ts +1 -1
- package/dist/claude/index.d.ts.map +1 -1
- package/dist/claude/index.js.map +1 -1
- package/dist/claude/process.d.ts +1 -1
- package/dist/claude/process.d.ts.map +1 -1
- package/dist/claude/process.js.map +1 -1
- package/dist/claude/types.d.ts +7 -0
- package/dist/claude/types.d.ts.map +1 -1
- package/dist/cli.d.ts +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +10 -4
- package/dist/cli.js.map +1 -1
- package/dist/codex/client.d.ts +26 -0
- package/dist/codex/client.d.ts.map +1 -0
- package/dist/codex/client.js +418 -0
- package/dist/codex/client.js.map +1 -0
- package/dist/codex/index.d.ts +5 -0
- package/dist/codex/index.d.ts.map +1 -0
- package/dist/codex/index.js +5 -0
- package/dist/codex/index.js.map +1 -0
- package/dist/commands/config.d.ts +33 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +110 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +1 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/workflow.js +1 -1
- package/dist/commands/workflow.js.map +1 -1
- package/dist/commands/workflowExecution.d.ts.map +1 -1
- package/dist/commands/workflowExecution.js +3 -1
- package/dist/commands/workflowExecution.js.map +1 -1
- package/dist/config/globalConfig.d.ts +2 -0
- package/dist/config/globalConfig.d.ts.map +1 -1
- package/dist/config/globalConfig.js +12 -0
- package/dist/config/globalConfig.js.map +1 -1
- package/dist/config/initialization.d.ts +10 -0
- package/dist/config/initialization.d.ts.map +1 -1
- package/dist/config/initialization.js +26 -4
- package/dist/config/initialization.js.map +1 -1
- package/dist/config/projectConfig.d.ts +14 -1
- package/dist/config/projectConfig.d.ts.map +1 -1
- package/dist/config/projectConfig.js +4 -0
- package/dist/config/projectConfig.js.map +1 -1
- package/dist/config/workflowLoader.d.ts.map +1 -1
- package/dist/config/workflowLoader.js +3 -0
- package/dist/config/workflowLoader.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/models/schemas.d.ts +54 -3
- package/dist/models/schemas.d.ts.map +1 -1
- package/dist/models/schemas.js +34 -46
- package/dist/models/schemas.js.map +1 -1
- package/dist/models/types.d.ts +12 -2
- package/dist/models/types.d.ts.map +1 -1
- package/dist/{interactive/prompt.d.ts → prompt/index.d.ts} +3 -1
- package/dist/prompt/index.d.ts.map +1 -0
- package/dist/{interactive/prompt.js → prompt/index.js} +11 -1
- package/dist/prompt/index.js.map +1 -0
- package/dist/resources/index.d.ts +9 -0
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +21 -2
- package/dist/resources/index.js.map +1 -1
- package/dist/utils/session.d.ts +5 -0
- package/dist/utils/session.d.ts.map +1 -1
- package/dist/utils/session.js +19 -0
- package/dist/utils/session.js.map +1 -1
- package/dist/utils/ui.d.ts +7 -0
- package/dist/utils/ui.d.ts.map +1 -1
- package/dist/utils/ui.js +51 -0
- package/dist/utils/ui.js.map +1 -1
- package/dist/workflow/engine.d.ts +10 -0
- package/dist/workflow/engine.d.ts.map +1 -1
- package/dist/workflow/engine.js +31 -0
- package/dist/workflow/engine.js.map +1 -1
- package/dist/workflow/instruction-builder.d.ts +3 -0
- package/dist/workflow/instruction-builder.d.ts.map +1 -1
- package/dist/workflow/instruction-builder.js +5 -0
- package/dist/workflow/instruction-builder.js.map +1 -1
- package/dist/workflow/transitions.d.ts.map +1 -1
- package/dist/workflow/transitions.js +1 -0
- package/dist/workflow/transitions.js.map +1 -1
- package/package.json +3 -1
- package/resources/global/en/agents/default/ai-reviewer.md +136 -0
- package/resources/global/en/agents/default/architect.md +81 -30
- package/resources/global/en/agents/default/coder.md +60 -44
- package/resources/global/en/agents/default/planner.md +78 -0
- package/resources/global/en/agents/default/security.md +67 -75
- package/resources/global/en/agents/default/supervisor.md +94 -86
- package/resources/global/en/agents/expert-review/cqrs-es-reviewer.md +199 -0
- package/resources/global/en/agents/expert-review/frontend-reviewer.md +260 -0
- package/resources/global/en/agents/expert-review/qa-reviewer.md +260 -0
- package/resources/global/en/agents/expert-review/security-reviewer.md +222 -0
- package/resources/global/en/agents/expert-review/supervisor.md +186 -0
- package/resources/global/en/config.yaml +8 -0
- package/resources/global/en/workflows/default.yaml +474 -21
- package/resources/global/en/workflows/expert-review.yaml +936 -0
- package/resources/global/en/workflows/magi.yaml +18 -0
- package/resources/global/en/workflows/research.yaml +18 -0
- package/resources/global/ja/agents/default/ai-reviewer.md +136 -0
- package/resources/global/ja/agents/default/architect.md +81 -30
- package/resources/global/ja/agents/default/coder.md +21 -6
- package/resources/global/ja/agents/default/planner.md +78 -0
- package/resources/global/ja/agents/default/security.md +20 -28
- package/resources/global/ja/agents/default/supervisor.md +54 -46
- package/resources/global/ja/agents/expert-review/cqrs-es-reviewer.md +199 -0
- package/resources/global/ja/agents/expert-review/frontend-reviewer.md +260 -0
- package/resources/global/ja/agents/expert-review/qa-reviewer.md +260 -0
- package/resources/global/ja/agents/expert-review/security-reviewer.md +222 -0
- package/resources/global/ja/agents/expert-review/supervisor.md +186 -0
- package/resources/global/ja/config.yaml +8 -0
- package/resources/global/ja/workflows/default.yaml +485 -32
- package/resources/global/ja/workflows/expert-review.yaml +936 -0
- package/resources/global/ja/workflows/magi.yaml +18 -0
- package/resources/global/ja/workflows/research.yaml +18 -0
- package/dist/cli/agentExecution.d.ts +0 -16
- package/dist/cli/agentExecution.d.ts.map +0 -1
- package/dist/cli/agentExecution.js +0 -40
- package/dist/cli/agentExecution.js.map +0 -1
- package/dist/cli/help.d.ts +0 -8
- package/dist/cli/help.d.ts.map +0 -1
- package/dist/cli/help.js +0 -46
- package/dist/cli/help.js.map +0 -1
- package/dist/cli/index.d.ts +0 -8
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -8
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/taskBatch.d.ts +0 -8
- package/dist/cli/taskBatch.d.ts.map +0 -1
- package/dist/cli/taskBatch.js +0 -69
- package/dist/cli/taskBatch.js.map +0 -1
- package/dist/cli/workflowExecution.d.ts +0 -18
- package/dist/cli/workflowExecution.d.ts.map +0 -1
- package/dist/cli/workflowExecution.js +0 -112
- package/dist/cli/workflowExecution.js.map +0 -1
- package/dist/commands/agentExecution.d.ts +0 -8
- package/dist/commands/agentExecution.d.ts.map +0 -1
- package/dist/commands/agentExecution.js +0 -44
- package/dist/commands/agentExecution.js.map +0 -1
- package/dist/interactive/commands/agent.d.ts +0 -7
- package/dist/interactive/commands/agent.d.ts.map +0 -1
- package/dist/interactive/commands/agent.js +0 -65
- package/dist/interactive/commands/agent.js.map +0 -1
- package/dist/interactive/commands/basic.d.ts +0 -7
- package/dist/interactive/commands/basic.d.ts.map +0 -1
- package/dist/interactive/commands/basic.js +0 -81
- package/dist/interactive/commands/basic.js.map +0 -1
- package/dist/interactive/commands/index.d.ts +0 -12
- package/dist/interactive/commands/index.d.ts.map +0 -1
- package/dist/interactive/commands/index.js +0 -14
- package/dist/interactive/commands/index.js.map +0 -1
- package/dist/interactive/commands/registry.d.ts +0 -41
- package/dist/interactive/commands/registry.d.ts.map +0 -1
- package/dist/interactive/commands/registry.js +0 -37
- package/dist/interactive/commands/registry.js.map +0 -1
- package/dist/interactive/commands/session.d.ts +0 -7
- package/dist/interactive/commands/session.d.ts.map +0 -1
- package/dist/interactive/commands/session.js +0 -75
- package/dist/interactive/commands/session.js.map +0 -1
- package/dist/interactive/commands/task.d.ts +0 -7
- package/dist/interactive/commands/task.d.ts.map +0 -1
- package/dist/interactive/commands/task.js +0 -156
- package/dist/interactive/commands/task.js.map +0 -1
- package/dist/interactive/commands/workflow.d.ts +0 -7
- package/dist/interactive/commands/workflow.d.ts.map +0 -1
- package/dist/interactive/commands/workflow.js +0 -56
- package/dist/interactive/commands/workflow.js.map +0 -1
- package/dist/interactive/escape-tracker.d.ts +0 -37
- package/dist/interactive/escape-tracker.d.ts.map +0 -1
- package/dist/interactive/escape-tracker.js +0 -52
- package/dist/interactive/escape-tracker.js.map +0 -1
- package/dist/interactive/handlers.d.ts +0 -24
- package/dist/interactive/handlers.d.ts.map +0 -1
- package/dist/interactive/handlers.js +0 -191
- package/dist/interactive/handlers.js.map +0 -1
- package/dist/interactive/history-manager.d.ts +0 -45
- package/dist/interactive/history-manager.d.ts.map +0 -1
- package/dist/interactive/history-manager.js +0 -91
- package/dist/interactive/history-manager.js.map +0 -1
- package/dist/interactive/index.d.ts +0 -8
- package/dist/interactive/index.d.ts.map +0 -1
- package/dist/interactive/index.js +0 -8
- package/dist/interactive/index.js.map +0 -1
- package/dist/interactive/ink/components/App.d.ts +0 -16
- package/dist/interactive/ink/components/App.d.ts.map +0 -1
- package/dist/interactive/ink/components/App.js +0 -123
- package/dist/interactive/ink/components/App.js.map +0 -1
- package/dist/interactive/ink/components/AskUserQuestion.d.ts +0 -16
- package/dist/interactive/ink/components/AskUserQuestion.d.ts.map +0 -1
- package/dist/interactive/ink/components/AskUserQuestion.js +0 -139
- package/dist/interactive/ink/components/AskUserQuestion.js.map +0 -1
- package/dist/interactive/ink/components/Header.d.ts +0 -20
- package/dist/interactive/ink/components/Header.d.ts.map +0 -1
- package/dist/interactive/ink/components/Header.js +0 -7
- package/dist/interactive/ink/components/Header.js.map +0 -1
- package/dist/interactive/ink/components/HelpView.d.ts +0 -13
- package/dist/interactive/ink/components/HelpView.d.ts.map +0 -1
- package/dist/interactive/ink/components/HelpView.js +0 -45
- package/dist/interactive/ink/components/HelpView.js.map +0 -1
- package/dist/interactive/ink/components/IterationLimit.d.ts +0 -19
- package/dist/interactive/ink/components/IterationLimit.d.ts.map +0 -1
- package/dist/interactive/ink/components/IterationLimit.js +0 -59
- package/dist/interactive/ink/components/IterationLimit.js.map +0 -1
- package/dist/interactive/ink/components/ModalRouter.d.ts +0 -11
- package/dist/interactive/ink/components/ModalRouter.d.ts.map +0 -1
- package/dist/interactive/ink/components/ModalRouter.js +0 -71
- package/dist/interactive/ink/components/ModalRouter.js.map +0 -1
- package/dist/interactive/ink/components/PermissionPrompt.d.ts +0 -17
- package/dist/interactive/ink/components/PermissionPrompt.d.ts.map +0 -1
- package/dist/interactive/ink/components/PermissionPrompt.js +0 -102
- package/dist/interactive/ink/components/PermissionPrompt.js.map +0 -1
- package/dist/interactive/ink/components/PromptInput.d.ts +0 -26
- package/dist/interactive/ink/components/PromptInput.d.ts.map +0 -1
- package/dist/interactive/ink/components/PromptInput.js +0 -70
- package/dist/interactive/ink/components/PromptInput.js.map +0 -1
- package/dist/interactive/ink/components/Spinner.d.ts +0 -14
- package/dist/interactive/ink/components/Spinner.d.ts.map +0 -1
- package/dist/interactive/ink/components/Spinner.js +0 -8
- package/dist/interactive/ink/components/Spinner.js.map +0 -1
- package/dist/interactive/ink/components/StreamingOutput.d.ts +0 -25
- package/dist/interactive/ink/components/StreamingOutput.d.ts.map +0 -1
- package/dist/interactive/ink/components/StreamingOutput.js +0 -8
- package/dist/interactive/ink/components/StreamingOutput.js.map +0 -1
- package/dist/interactive/ink/components/UserInputPrompt.d.ts +0 -18
- package/dist/interactive/ink/components/UserInputPrompt.d.ts.map +0 -1
- package/dist/interactive/ink/components/UserInputPrompt.js +0 -30
- package/dist/interactive/ink/components/UserInputPrompt.js.map +0 -1
- package/dist/interactive/ink/components/WorkflowSelector.d.ts +0 -18
- package/dist/interactive/ink/components/WorkflowSelector.d.ts.map +0 -1
- package/dist/interactive/ink/components/WorkflowSelector.js +0 -65
- package/dist/interactive/ink/components/WorkflowSelector.js.map +0 -1
- package/dist/interactive/ink/constants.d.ts +0 -8
- package/dist/interactive/ink/constants.d.ts.map +0 -1
- package/dist/interactive/ink/constants.js +0 -8
- package/dist/interactive/ink/constants.js.map +0 -1
- package/dist/interactive/ink/context/AppContext.d.ts +0 -26
- package/dist/interactive/ink/context/AppContext.d.ts.map +0 -1
- package/dist/interactive/ink/context/AppContext.js +0 -30
- package/dist/interactive/ink/context/AppContext.js.map +0 -1
- package/dist/interactive/ink/context/appReducer.d.ts +0 -13
- package/dist/interactive/ink/context/appReducer.d.ts.map +0 -1
- package/dist/interactive/ink/context/appReducer.js +0 -183
- package/dist/interactive/ink/context/appReducer.js.map +0 -1
- package/dist/interactive/ink/context/types.d.ts +0 -144
- package/dist/interactive/ink/context/types.d.ts.map +0 -1
- package/dist/interactive/ink/context/types.js +0 -5
- package/dist/interactive/ink/context/types.js.map +0 -1
- package/dist/interactive/ink/hooks/keyDetection.d.ts +0 -116
- package/dist/interactive/ink/hooks/keyDetection.d.ts.map +0 -1
- package/dist/interactive/ink/hooks/keyDetection.js +0 -183
- package/dist/interactive/ink/hooks/keyDetection.js.map +0 -1
- package/dist/interactive/ink/hooks/multilineInputLogic.d.ts +0 -50
- package/dist/interactive/ink/hooks/multilineInputLogic.d.ts.map +0 -1
- package/dist/interactive/ink/hooks/multilineInputLogic.js +0 -150
- package/dist/interactive/ink/hooks/multilineInputLogic.js.map +0 -1
- package/dist/interactive/ink/hooks/useCommands.d.ts +0 -20
- package/dist/interactive/ink/hooks/useCommands.d.ts.map +0 -1
- package/dist/interactive/ink/hooks/useCommands.js +0 -129
- package/dist/interactive/ink/hooks/useCommands.js.map +0 -1
- package/dist/interactive/ink/hooks/useHistory.d.ts +0 -28
- package/dist/interactive/ink/hooks/useHistory.d.ts.map +0 -1
- package/dist/interactive/ink/hooks/useHistory.js +0 -59
- package/dist/interactive/ink/hooks/useHistory.js.map +0 -1
- package/dist/interactive/ink/hooks/useMultilineInput.d.ts +0 -49
- package/dist/interactive/ink/hooks/useMultilineInput.d.ts.map +0 -1
- package/dist/interactive/ink/hooks/useMultilineInput.js +0 -106
- package/dist/interactive/ink/hooks/useMultilineInput.js.map +0 -1
- package/dist/interactive/ink/hooks/usePermissionHandlers.d.ts +0 -16
- package/dist/interactive/ink/hooks/usePermissionHandlers.d.ts.map +0 -1
- package/dist/interactive/ink/hooks/usePermissionHandlers.js +0 -172
- package/dist/interactive/ink/hooks/usePermissionHandlers.js.map +0 -1
- package/dist/interactive/ink/hooks/useRawKeypress.d.ts +0 -41
- package/dist/interactive/ink/hooks/useRawKeypress.d.ts.map +0 -1
- package/dist/interactive/ink/hooks/useRawKeypress.js +0 -79
- package/dist/interactive/ink/hooks/useRawKeypress.js.map +0 -1
- package/dist/interactive/ink/hooks/useTaskQueue.d.ts +0 -32
- package/dist/interactive/ink/hooks/useTaskQueue.d.ts.map +0 -1
- package/dist/interactive/ink/hooks/useTaskQueue.js +0 -68
- package/dist/interactive/ink/hooks/useTaskQueue.js.map +0 -1
- package/dist/interactive/ink/hooks/useWorkflow.d.ts +0 -45
- package/dist/interactive/ink/hooks/useWorkflow.d.ts.map +0 -1
- package/dist/interactive/ink/hooks/useWorkflow.js +0 -93
- package/dist/interactive/ink/hooks/useWorkflow.js.map +0 -1
- package/dist/interactive/ink/hooks/useWorkflowExecution.d.ts +0 -14
- package/dist/interactive/ink/hooks/useWorkflowExecution.d.ts.map +0 -1
- package/dist/interactive/ink/hooks/useWorkflowExecution.js +0 -144
- package/dist/interactive/ink/hooks/useWorkflowExecution.js.map +0 -1
- package/dist/interactive/ink/index.d.ts +0 -30
- package/dist/interactive/ink/index.d.ts.map +0 -1
- package/dist/interactive/ink/index.js +0 -33
- package/dist/interactive/ink/index.js.map +0 -1
- package/dist/interactive/ink/utils/workflow.d.ts +0 -11
- package/dist/interactive/ink/utils/workflow.d.ts.map +0 -1
- package/dist/interactive/ink/utils/workflow.js +0 -19
- package/dist/interactive/ink/utils/workflow.js.map +0 -1
- package/dist/interactive/input-buffer.d.ts +0 -67
- package/dist/interactive/input-buffer.d.ts.map +0 -1
- package/dist/interactive/input-buffer.js +0 -162
- package/dist/interactive/input-buffer.js.map +0 -1
- package/dist/interactive/input-handlers.d.ts +0 -50
- package/dist/interactive/input-handlers.d.ts.map +0 -1
- package/dist/interactive/input-handlers.js +0 -170
- package/dist/interactive/input-handlers.js.map +0 -1
- package/dist/interactive/input.d.ts +0 -43
- package/dist/interactive/input.d.ts.map +0 -1
- package/dist/interactive/input.js +0 -74
- package/dist/interactive/input.js.map +0 -1
- package/dist/interactive/keyDetection.d.ts +0 -85
- package/dist/interactive/keyDetection.d.ts.map +0 -1
- package/dist/interactive/keyDetection.js +0 -167
- package/dist/interactive/keyDetection.js.map +0 -1
- package/dist/interactive/multilineInputLogic.d.ts +0 -30
- package/dist/interactive/multilineInputLogic.d.ts.map +0 -1
- package/dist/interactive/multilineInputLogic.js +0 -143
- package/dist/interactive/multilineInputLogic.js.map +0 -1
- package/dist/interactive/passthrough.d.ts +0 -30
- package/dist/interactive/passthrough.d.ts.map +0 -1
- package/dist/interactive/passthrough.js +0 -94
- package/dist/interactive/passthrough.js.map +0 -1
- package/dist/interactive/permission.d.ts +0 -33
- package/dist/interactive/permission.d.ts.map +0 -1
- package/dist/interactive/permission.js +0 -231
- package/dist/interactive/permission.js.map +0 -1
- package/dist/interactive/prompt.d.ts.map +0 -1
- package/dist/interactive/prompt.js.map +0 -1
- package/dist/interactive/repl.d.ts +0 -13
- package/dist/interactive/repl.d.ts.map +0 -1
- package/dist/interactive/repl.js +0 -202
- package/dist/interactive/repl.js.map +0 -1
- package/dist/interactive/types.d.ts +0 -35
- package/dist/interactive/types.d.ts.map +0 -1
- package/dist/interactive/types.js +0 -5
- package/dist/interactive/types.js.map +0 -1
- package/dist/interactive/ui.d.ts +0 -16
- package/dist/interactive/ui.d.ts.map +0 -1
- package/dist/interactive/ui.js +0 -122
- package/dist/interactive/ui.js.map +0 -1
- package/dist/interactive/user-input.d.ts +0 -26
- package/dist/interactive/user-input.d.ts.map +0 -1
- package/dist/interactive/user-input.js +0 -115
- package/dist/interactive/user-input.js.map +0 -1
- package/dist/interactive/workflow-executor.d.ts +0 -20
- package/dist/interactive/workflow-executor.d.ts.map +0 -1
- package/dist/interactive/workflow-executor.js +0 -200
- package/dist/interactive/workflow-executor.js.map +0 -1
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* AskUserQuestion component for ink
|
|
4
|
-
*
|
|
5
|
-
* Displays questions from Claude and collects user answers
|
|
6
|
-
*/
|
|
7
|
-
import { useState, useCallback } from 'react';
|
|
8
|
-
import { Box, Text, useInput, useFocus } from 'ink';
|
|
9
|
-
/** Single question component */
|
|
10
|
-
function QuestionView({ question, questionIndex, onAnswer, }) {
|
|
11
|
-
const [selectedIndex, setSelectedIndex] = useState(0);
|
|
12
|
-
const [customInput, setCustomInput] = useState('');
|
|
13
|
-
const [isCustomMode, setIsCustomMode] = useState(false);
|
|
14
|
-
const { isFocused } = useFocus({ autoFocus: true });
|
|
15
|
-
const options = question.options || [];
|
|
16
|
-
const hasOptions = options.length > 0;
|
|
17
|
-
// Add "Other" option
|
|
18
|
-
const allOptions = hasOptions
|
|
19
|
-
? [...options, { label: 'その他(自由入力)', description: undefined }]
|
|
20
|
-
: [];
|
|
21
|
-
const handleSelect = useCallback(() => {
|
|
22
|
-
if (isCustomMode) {
|
|
23
|
-
if (customInput.trim()) {
|
|
24
|
-
onAnswer(customInput.trim());
|
|
25
|
-
}
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
if (selectedIndex === allOptions.length - 1) {
|
|
29
|
-
// Selected "Other"
|
|
30
|
-
setIsCustomMode(true);
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
const selected = allOptions[selectedIndex];
|
|
34
|
-
if (selected) {
|
|
35
|
-
onAnswer(selected.label);
|
|
36
|
-
}
|
|
37
|
-
}, [selectedIndex, isCustomMode, customInput, allOptions, onAnswer]);
|
|
38
|
-
useInput((input, key) => {
|
|
39
|
-
if (!isFocused)
|
|
40
|
-
return;
|
|
41
|
-
if (isCustomMode) {
|
|
42
|
-
// Custom input mode
|
|
43
|
-
if (key.return) {
|
|
44
|
-
handleSelect();
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
if (key.escape) {
|
|
48
|
-
setIsCustomMode(false);
|
|
49
|
-
setCustomInput('');
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
if (key.backspace || key.delete) {
|
|
53
|
-
setCustomInput((prev) => prev.slice(0, -1));
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
if (input && !key.ctrl && !key.meta) {
|
|
57
|
-
setCustomInput((prev) => prev + input);
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
// Option selection mode
|
|
63
|
-
if (hasOptions) {
|
|
64
|
-
// Number shortcuts
|
|
65
|
-
const num = parseInt(input, 10);
|
|
66
|
-
if (num >= 1 && num <= allOptions.length) {
|
|
67
|
-
if (num === allOptions.length) {
|
|
68
|
-
setIsCustomMode(true);
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
const selected = allOptions[num - 1];
|
|
72
|
-
if (selected) {
|
|
73
|
-
onAnswer(selected.label);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
// Arrow navigation
|
|
79
|
-
if (key.upArrow) {
|
|
80
|
-
setSelectedIndex((prev) => (prev > 0 ? prev - 1 : allOptions.length - 1));
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
if (key.downArrow) {
|
|
84
|
-
setSelectedIndex((prev) => (prev < allOptions.length - 1 ? prev + 1 : 0));
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
// Enter to select
|
|
88
|
-
if (key.return) {
|
|
89
|
-
handleSelect();
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
// No options - free text input
|
|
95
|
-
if (key.return) {
|
|
96
|
-
if (customInput.trim()) {
|
|
97
|
-
onAnswer(customInput.trim());
|
|
98
|
-
}
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
if (key.backspace || key.delete) {
|
|
102
|
-
setCustomInput((prev) => prev.slice(0, -1));
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
if (input && !key.ctrl && !key.meta) {
|
|
106
|
-
setCustomInput((prev) => prev + input);
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}, { isActive: isFocused });
|
|
111
|
-
return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [question.header && (_jsxs(Text, { color: "cyan", bold: true, children: ["[", question.header, "]"] })), _jsx(Text, { color: "white", children: question.question }), hasOptions && !isCustomMode ? (_jsx(Box, { flexDirection: "column", marginTop: 1, children: allOptions.map((opt, i) => (_jsxs(Box, { children: [_jsxs(Text, { color: i === selectedIndex ? 'green' : 'yellow', children: [i === selectedIndex ? '▸ ' : ' ', i + 1, ". ", opt.label] }), opt.description && (_jsxs(Text, { color: "gray", children: [" - ", opt.description] }))] }, i))) })) : (_jsxs(Box, { marginTop: 1, children: [_jsxs(Text, { color: "magenta", children: ["\u56DE\u7B54", '>', " "] }), _jsx(Text, { children: customInput }), _jsx(Text, { inverse: true, children: " " })] })), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "gray", dimColor: true, children: isCustomMode
|
|
112
|
-
? 'Enterで送信、Escでキャンセル'
|
|
113
|
-
: hasOptions
|
|
114
|
-
? '数字または矢印キーで選択、Enterで決定'
|
|
115
|
-
: 'Enterで送信' }) })] }));
|
|
116
|
-
}
|
|
117
|
-
/** AskUserQuestion component */
|
|
118
|
-
export function AskUserQuestion({ input, onComplete, }) {
|
|
119
|
-
const [currentIndex, setCurrentIndex] = useState(0);
|
|
120
|
-
const [answers, setAnswers] = useState({});
|
|
121
|
-
const questions = input.questions;
|
|
122
|
-
const currentQuestion = questions[currentIndex];
|
|
123
|
-
const handleAnswer = useCallback((answer) => {
|
|
124
|
-
const questionKey = `q${currentIndex}`;
|
|
125
|
-
const newAnswers = { ...answers, [questionKey]: answer };
|
|
126
|
-
setAnswers(newAnswers);
|
|
127
|
-
if (currentIndex < questions.length - 1) {
|
|
128
|
-
setCurrentIndex((prev) => prev + 1);
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
onComplete(newAnswers);
|
|
132
|
-
}
|
|
133
|
-
}, [currentIndex, questions.length, answers, onComplete]);
|
|
134
|
-
if (!currentQuestion) {
|
|
135
|
-
return _jsx(Text, { color: "red", children: "No questions available" });
|
|
136
|
-
}
|
|
137
|
-
return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "blue", padding: 1, children: [_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { color: "blue", bold: true, children: "\u2753 Claude Code \u304B\u3089\u306E\u8CEA\u554F" }), questions.length > 1 && (_jsxs(Text, { color: "gray", children: [' ', "(", currentIndex + 1, "/", questions.length, ")"] }))] }), _jsx(QuestionView, { question: currentQuestion, questionIndex: currentIndex, onAnswer: handleAnswer })] }));
|
|
138
|
-
}
|
|
139
|
-
//# sourceMappingURL=AskUserQuestion.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AskUserQuestion.js","sourceRoot":"","sources":["../../../../src/interactive/ink/components/AskUserQuestion.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAsBpD,gCAAgC;AAChC,SAAS,YAAY,CAAC,EACpB,QAAQ,EACR,aAAa,EACb,QAAQ,GAKT;IACC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAEtC,qBAAqB;IACrB,MAAM,UAAU,GAAG,UAAU;QAC3B,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QAC9D,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;gBACvB,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,aAAa,KAAK,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,mBAAmB;YACnB,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAErE,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,IAAI,YAAY,EAAE,CAAC;YACjB,oBAAoB;YACpB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,YAAY,EAAE,CAAC;gBACf,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,eAAe,CAAC,KAAK,CAAC,CAAC;gBACvB,cAAc,CAAC,EAAE,CAAC,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAChC,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,OAAO;YACT,CAAC;YACD,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACpC,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;gBACvC,OAAO;YACT,CAAC;YACD,OAAO;QACT,CAAC;QAED,wBAAwB;QACxB,IAAI,UAAU,EAAE,CAAC;YACf,mBAAmB;YACnB,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;gBACzC,IAAI,GAAG,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;oBAC9B,eAAe,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACrC,IAAI,QAAQ,EAAE,CAAC;wBACb,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC3B,CAAC;gBACH,CAAC;gBACD,OAAO;YACT,CAAC;YAED,mBAAmB;YACnB,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChB,gBAAgB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC1E,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBAClB,gBAAgB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1E,OAAO;YACT,CAAC;YAED,kBAAkB;YAClB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,YAAY,EAAE,CAAC;gBACf,OAAO;YACT,CAAC;QACH,CAAC;aAAM,CAAC;YACN,+BAA+B;YAC/B,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;oBACvB,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/B,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAChC,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,OAAO;YACT,CAAC;YACD,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACpC,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;gBACvC,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IAE5B,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aAExC,QAAQ,CAAC,MAAM,IAAI,CAClB,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,wBAAG,QAAQ,CAAC,MAAM,SAAS,CACnD,EAGD,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAAE,QAAQ,CAAC,QAAQ,GAAQ,EAG7C,UAAU,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAC7B,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,YACrC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAC1B,MAAC,GAAG,eACF,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,aAClD,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EACjC,CAAC,GAAG,CAAC,QAAI,GAAG,CAAC,KAAK,IACd,EACN,GAAG,CAAC,WAAW,IAAI,CAClB,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,oBAAK,GAAG,CAAC,WAAW,IAAQ,CAC/C,KAPO,CAAC,CAQL,CACP,CAAC,GACE,CACP,CAAC,CAAC,CAAC,CACF,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,aACf,MAAC,IAAI,IAAC,KAAK,EAAC,SAAS,6BAAI,GAAG,SAAS,EACrC,KAAC,IAAI,cAAE,WAAW,GAAQ,EAC1B,KAAC,IAAI,IAAC,OAAO,wBAAS,IAClB,CACP,EAGD,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,QAAQ,kBACxB,YAAY;wBACX,CAAC,CAAC,oBAAoB;wBACtB,CAAC,CAAC,UAAU;4BACV,CAAC,CAAC,uBAAuB;4BACzB,CAAC,CAAC,UAAU,GACX,GACH,IACF,CACP,CAAC;AACJ,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,eAAe,CAAC,EAC9B,KAAK,EACL,UAAU,GACW;IACrB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAyB,EAAE,CAAC,CAAC;IAEnE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,MAAM,eAAe,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;IAEhD,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,MAAc,EAAE,EAAE;QAClD,MAAM,WAAW,GAAG,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACzD,UAAU,CAAC,UAAU,CAAC,CAAC;QAEvB,IAAI,YAAY,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,UAAU,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAE1D,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,uCAA8B,CAAC;IACzD,CAAC;IAED,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,QAAQ,EAAC,WAAW,EAAC,MAAM,EAAC,OAAO,EAAE,CAAC,aAE5E,MAAC,GAAG,IAAC,YAAY,EAAE,CAAC,aAClB,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,wEAEhB,EACN,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CACvB,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,aACf,GAAG,OAAG,YAAY,GAAG,CAAC,OAAG,SAAS,CAAC,MAAM,SACrC,CACR,IACG,EAGN,KAAC,YAAY,IACX,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,YAAY,EAC3B,QAAQ,EAAE,YAAY,GACtB,IACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Header component displaying workflow status
|
|
3
|
-
*/
|
|
4
|
-
import React from 'react';
|
|
5
|
-
interface HeaderProps {
|
|
6
|
-
/** Current workflow name */
|
|
7
|
-
workflowName: string;
|
|
8
|
-
/** Whether sacrifice mode is enabled */
|
|
9
|
-
sacrificeMode?: boolean;
|
|
10
|
-
/** Current step info */
|
|
11
|
-
stepInfo?: {
|
|
12
|
-
name: string;
|
|
13
|
-
iteration: number;
|
|
14
|
-
maxIterations: number;
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
/** Header component showing workflow and mode info */
|
|
18
|
-
export declare function Header({ workflowName, sacrificeMode, stepInfo, }: HeaderProps): React.ReactElement;
|
|
19
|
-
export {};
|
|
20
|
-
//# sourceMappingURL=Header.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../src/interactive/ink/components/Header.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,WAAW;IACnB,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wBAAwB;IACxB,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,sDAAsD;AACtD,wBAAgB,MAAM,CAAC,EACrB,YAAY,EACZ,aAAqB,EACrB,QAAQ,GACT,EAAE,WAAW,GAAG,KAAK,CAAC,YAAY,CAsBlC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Text, Box } from 'ink';
|
|
3
|
-
/** Header component showing workflow and mode info */
|
|
4
|
-
export function Header({ workflowName, sacrificeMode = false, stepInfo, }) {
|
|
5
|
-
return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Box, { children: [_jsxs(Text, { color: "blue", bold: true, children: ["[", workflowName, "]"] }), sacrificeMode && (_jsxs(Text, { color: "red", bold: true, children: [' ', "SACRIFICE MODE"] }))] }), stepInfo && (_jsx(Box, { children: _jsxs(Text, { color: "gray", children: ["Step: ", stepInfo.name, " (", stepInfo.iteration, "/", stepInfo.maxIterations, ")"] }) }))] }));
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=Header.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../../src/interactive/ink/components/Header.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAehC,sDAAsD;AACtD,MAAM,UAAU,MAAM,CAAC,EACrB,YAAY,EACZ,aAAa,GAAG,KAAK,EACrB,QAAQ,GACI;IACZ,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aACzC,MAAC,GAAG,eACF,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,wBACnB,YAAY,SACT,EACN,aAAa,IAAI,CAChB,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,EAAC,IAAI,mBACnB,GAAG,sBACC,CACR,IACG,EACL,QAAQ,IAAI,CACX,KAAC,GAAG,cACF,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,uBACT,QAAQ,CAAC,IAAI,QAAI,QAAQ,CAAC,SAAS,OAAG,QAAQ,CAAC,aAAa,SAC9D,GACH,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Help view component for ink
|
|
3
|
-
*
|
|
4
|
-
* Displays available commands and shortcuts
|
|
5
|
-
*/
|
|
6
|
-
import React from 'react';
|
|
7
|
-
export interface HelpViewProps {
|
|
8
|
-
/** Callback when help view should close */
|
|
9
|
-
onClose: () => void;
|
|
10
|
-
}
|
|
11
|
-
/** Help view component */
|
|
12
|
-
export declare function HelpView({ onClose }: HelpViewProps): React.ReactElement;
|
|
13
|
-
//# sourceMappingURL=HelpView.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HelpView.d.ts","sourceRoot":"","sources":["../../../../src/interactive/ink/components/HelpView.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAyBD,0BAA0B;AAC1B,wBAAgB,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,aAAa,GAAG,KAAK,CAAC,YAAY,CAyFvE"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Box, Text, useInput, useFocus } from 'ink';
|
|
3
|
-
/** Help section component */
|
|
4
|
-
function HelpSection({ title, items, }) {
|
|
5
|
-
return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { color: "yellow", bold: true, children: title }), items.map((item, i) => (_jsxs(Box, { children: [_jsx(Box, { width: 25, children: _jsxs(Text, { color: "cyan", children: [" ", item.command] }) }), _jsx(Text, { color: "white", children: item.description })] }, i)))] }));
|
|
6
|
-
}
|
|
7
|
-
/** Help view component */
|
|
8
|
-
export function HelpView({ onClose }) {
|
|
9
|
-
const { isFocused } = useFocus({ autoFocus: true });
|
|
10
|
-
useInput((input, key) => {
|
|
11
|
-
if (!isFocused)
|
|
12
|
-
return;
|
|
13
|
-
// Close on any key
|
|
14
|
-
if (key.return || key.escape || input === 'q' || input === 'h') {
|
|
15
|
-
onClose();
|
|
16
|
-
}
|
|
17
|
-
}, { isActive: isFocused });
|
|
18
|
-
return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "cyan", padding: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: "cyan", bold: true, children: "Wolf Commands" }) }), _jsx(HelpSection, { title: "Basic Operations:", items: [
|
|
19
|
-
{ command: '[message]', description: 'Send message to current workflow' },
|
|
20
|
-
{ command: 'Up/Down Arrow', description: 'Navigate input history' },
|
|
21
|
-
{ command: 'Enter', description: 'Submit input' },
|
|
22
|
-
{ command: 'Shift+Enter', description: 'New line (also Option+Enter, Ctrl+O)' },
|
|
23
|
-
] }), _jsx(HelpSection, { title: "Commands:", items: [
|
|
24
|
-
{ command: '/help, /h', description: 'Show this help' },
|
|
25
|
-
{ command: '/quit, /exit, /q', description: 'Exit wolf' },
|
|
26
|
-
{ command: '/switch, /sw', description: 'Switch workflow (interactive)' },
|
|
27
|
-
{ command: '/workflow [name]', description: 'Change workflow' },
|
|
28
|
-
{ command: '/workflows', description: 'List available workflows' },
|
|
29
|
-
] }), _jsx(HelpSection, { title: "Session Management:", items: [
|
|
30
|
-
{ command: '/clear', description: 'Clear session and start fresh' },
|
|
31
|
-
{ command: '/cls', description: 'Clear output only' },
|
|
32
|
-
] }), _jsx(HelpSection, { title: "Agent Operations:", items: [
|
|
33
|
-
{ command: '/agents', description: 'List available agents' },
|
|
34
|
-
] }), _jsx(HelpSection, { title: "Task Management:", items: [
|
|
35
|
-
{ command: '/tasks, /task list', description: 'List pending tasks' },
|
|
36
|
-
{ command: '/task run [name]', description: 'Run a task' },
|
|
37
|
-
] }), _jsx(HelpSection, { title: "Mode Control:", items: [
|
|
38
|
-
{ command: '/sacrifice, /yolo', description: 'Toggle sacrifice mode (auto-approve)' },
|
|
39
|
-
{ command: '/safe', description: 'Disable sacrifice mode' },
|
|
40
|
-
] }), _jsx(HelpSection, { title: "Workflows:", items: [
|
|
41
|
-
{ command: 'passthrough', description: 'Direct Claude CLI (default)' },
|
|
42
|
-
{ command: 'default', description: 'Coder -> Architect -> Supervisor flow' },
|
|
43
|
-
] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "gray", dimColor: true, children: "Press any key to close" }) })] }));
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=HelpView.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HelpView.js","sourceRoot":"","sources":["../../../../src/interactive/ink/components/HelpView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Iteration limit prompt component for ink
|
|
3
|
-
*
|
|
4
|
-
* Displays when iteration limit is reached and asks for continuation
|
|
5
|
-
*/
|
|
6
|
-
import React from 'react';
|
|
7
|
-
export interface IterationLimitProps {
|
|
8
|
-
/** Current iteration count */
|
|
9
|
-
currentIteration: number;
|
|
10
|
-
/** Maximum iterations */
|
|
11
|
-
maxIterations: number;
|
|
12
|
-
/** Current step name */
|
|
13
|
-
currentStep: string;
|
|
14
|
-
/** Callback when user decides */
|
|
15
|
-
onDecision: (additionalIterations: number | null) => void;
|
|
16
|
-
}
|
|
17
|
-
/** Iteration limit prompt component */
|
|
18
|
-
export declare function IterationLimit({ currentIteration, maxIterations, currentStep, onDecision, }: IterationLimitProps): React.ReactElement;
|
|
19
|
-
//# sourceMappingURL=IterationLimit.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IterationLimit.d.ts","sourceRoot":"","sources":["../../../../src/interactive/ink/components/IterationLimit.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAgC,MAAM,OAAO,CAAC;AAGrD,MAAM,WAAW,mBAAmB;IAClC,8BAA8B;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,yBAAyB;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,UAAU,EAAE,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC3D;AAED,uCAAuC;AACvC,wBAAgB,cAAc,CAAC,EAC7B,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,UAAU,GACX,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CA4F1C"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* Iteration limit prompt component for ink
|
|
4
|
-
*
|
|
5
|
-
* Displays when iteration limit is reached and asks for continuation
|
|
6
|
-
*/
|
|
7
|
-
import { useState, useCallback } from 'react';
|
|
8
|
-
import { Box, Text, useInput, useFocus } from 'ink';
|
|
9
|
-
/** Iteration limit prompt component */
|
|
10
|
-
export function IterationLimit({ currentIteration, maxIterations, currentStep, onDecision, }) {
|
|
11
|
-
const [input, setInput] = useState('');
|
|
12
|
-
const { isFocused } = useFocus({ autoFocus: true });
|
|
13
|
-
const handleSubmit = useCallback(() => {
|
|
14
|
-
const trimmed = input.trim().toLowerCase();
|
|
15
|
-
// User wants to stop
|
|
16
|
-
if (trimmed === 'n' || trimmed === 'no' || trimmed === 'q' || trimmed === 'quit') {
|
|
17
|
-
onDecision(null);
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
// Empty input or 'y' = default 10 iterations
|
|
21
|
-
if (trimmed === '' || trimmed === 'y' || trimmed === 'yes') {
|
|
22
|
-
onDecision(10);
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
// Try to parse as number
|
|
26
|
-
const num = parseInt(trimmed, 10);
|
|
27
|
-
if (!isNaN(num) && num > 0 && num <= 100) {
|
|
28
|
-
onDecision(num);
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
// Invalid input, use default
|
|
32
|
-
onDecision(10);
|
|
33
|
-
}, [input, onDecision]);
|
|
34
|
-
useInput((inputChar, key) => {
|
|
35
|
-
if (!isFocused)
|
|
36
|
-
return;
|
|
37
|
-
// Submit on Enter
|
|
38
|
-
if (key.return) {
|
|
39
|
-
handleSubmit();
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
// Cancel on Ctrl+C
|
|
43
|
-
if (inputChar === 'c' && key.ctrl) {
|
|
44
|
-
onDecision(null);
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
// Backspace
|
|
48
|
-
if (key.backspace || key.delete) {
|
|
49
|
-
setInput((prev) => prev.slice(0, -1));
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
// Regular character input (supports multi-byte characters like Japanese)
|
|
53
|
-
if (inputChar && !key.ctrl && !key.meta) {
|
|
54
|
-
setInput((prev) => prev + inputChar);
|
|
55
|
-
}
|
|
56
|
-
}, { isActive: isFocused });
|
|
57
|
-
return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "yellow", padding: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: "yellow", bold: true, children: "\u23F8 \u30A4\u30C6\u30EC\u30FC\u30B7\u30E7\u30F3\u4E0A\u9650\u306B\u9054\u3057\u307E\u3057\u305F" }) }), _jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Text, { color: "gray", children: ["\u73FE\u5728: ", currentIteration, "/", maxIterations, " \u30A4\u30C6\u30EC\u30FC\u30B7\u30E7\u30F3"] }), _jsxs(Text, { color: "gray", children: ["\u30B9\u30C6\u30C3\u30D7: ", currentStep] })] }), _jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { color: "cyan", children: "\u7D9A\u3051\u307E\u3059\u304B?" }), _jsx(Text, { color: "gray", children: " - \u6570\u5B57\u3092\u5165\u529B: \u8FFD\u52A0\u30A4\u30C6\u30EC\u30FC\u30B7\u30E7\u30F3\u6570\uFF08\u4F8B: 5\uFF09" }), _jsx(Text, { color: "gray", children: " - Enter: \u30C7\u30D5\u30A9\u30EB\u30C810\u30A4\u30C6\u30EC\u30FC\u30B7\u30E7\u30F3\u8FFD\u52A0" }), _jsx(Text, { color: "gray", children: " - n \u307E\u305F\u306F Ctrl+C: \u7D42\u4E86" })] }), _jsxs(Box, { children: [_jsxs(Text, { color: "magenta", children: ["\u8FFD\u52A0\u30A4\u30C6\u30EC\u30FC\u30B7\u30E7\u30F3", '>', " "] }), _jsx(Text, { children: input }), _jsx(Text, { inverse: true, children: " " })] })] }));
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=IterationLimit.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IterationLimit.js","sourceRoot":"","sources":["../../../../src/interactive/ink/components/IterationLimit.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Modal router component
|
|
3
|
-
*
|
|
4
|
-
* Routes to the appropriate modal based on current modal state
|
|
5
|
-
*/
|
|
6
|
-
import React from 'react';
|
|
7
|
-
/**
|
|
8
|
-
* Routes to the appropriate modal component based on current state
|
|
9
|
-
*/
|
|
10
|
-
export declare function ModalRouter(): React.ReactElement | null;
|
|
11
|
-
//# sourceMappingURL=ModalRouter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ModalRouter.d.ts","sourceRoot":"","sources":["../../../../src/interactive/ink/components/ModalRouter.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAsB,MAAM,OAAO,CAAC;AAW3C;;GAEG;AACH,wBAAgB,WAAW,IAAI,KAAK,CAAC,YAAY,GAAG,IAAI,CA6FvD"}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* Modal router component
|
|
4
|
-
*
|
|
5
|
-
* Routes to the appropriate modal based on current modal state
|
|
6
|
-
*/
|
|
7
|
-
import { useCallback } from 'react';
|
|
8
|
-
import { useApp } from '../context/AppContext.js';
|
|
9
|
-
import { setWorkflowByName } from '../utils/workflow.js';
|
|
10
|
-
import { PermissionPrompt } from './PermissionPrompt.js';
|
|
11
|
-
import { AskUserQuestion } from './AskUserQuestion.js';
|
|
12
|
-
import { IterationLimit } from './IterationLimit.js';
|
|
13
|
-
import { UserInputPrompt } from './UserInputPrompt.js';
|
|
14
|
-
import { WorkflowSelector } from './WorkflowSelector.js';
|
|
15
|
-
import { HelpView } from './HelpView.js';
|
|
16
|
-
/**
|
|
17
|
-
* Routes to the appropriate modal component based on current state
|
|
18
|
-
*/
|
|
19
|
-
export function ModalRouter() {
|
|
20
|
-
const { state, dispatch, resolvers } = useApp();
|
|
21
|
-
const handleWorkflowSelect = useCallback((workflowName) => {
|
|
22
|
-
dispatch({ type: 'HIDE_MODAL' });
|
|
23
|
-
if (workflowName) {
|
|
24
|
-
setWorkflowByName(workflowName, state.cwd, dispatch);
|
|
25
|
-
}
|
|
26
|
-
}, [dispatch, state.cwd]);
|
|
27
|
-
const handleHelpClose = useCallback(() => {
|
|
28
|
-
dispatch({ type: 'HIDE_MODAL' });
|
|
29
|
-
}, [dispatch]);
|
|
30
|
-
const handlePermissionResponse = useCallback((response) => {
|
|
31
|
-
const resolver = resolvers.current.permission;
|
|
32
|
-
if (resolver) {
|
|
33
|
-
resolver(response);
|
|
34
|
-
}
|
|
35
|
-
}, [resolvers]);
|
|
36
|
-
const handleQuestionComplete = useCallback((answers) => {
|
|
37
|
-
const resolver = resolvers.current.askUserQuestion;
|
|
38
|
-
if (resolver) {
|
|
39
|
-
resolver(answers);
|
|
40
|
-
}
|
|
41
|
-
}, [resolvers]);
|
|
42
|
-
const handleIterationDecision = useCallback((additional) => {
|
|
43
|
-
const resolver = resolvers.current.iterationLimit;
|
|
44
|
-
if (resolver) {
|
|
45
|
-
resolver(additional);
|
|
46
|
-
}
|
|
47
|
-
}, [resolvers]);
|
|
48
|
-
const handleUserInputSubmit = useCallback((input) => {
|
|
49
|
-
const resolver = resolvers.current.userInput;
|
|
50
|
-
if (resolver) {
|
|
51
|
-
resolver(input);
|
|
52
|
-
}
|
|
53
|
-
}, [resolvers]);
|
|
54
|
-
switch (state.modal.type) {
|
|
55
|
-
case 'help':
|
|
56
|
-
return _jsx(HelpView, { onClose: handleHelpClose });
|
|
57
|
-
case 'workflowSelector':
|
|
58
|
-
return (_jsx(WorkflowSelector, { workflows: state.allWorkflows, currentWorkflow: state.workflowName, onSelect: handleWorkflowSelect }));
|
|
59
|
-
case 'permission':
|
|
60
|
-
return (_jsx(PermissionPrompt, { request: state.modal.request, onResponse: handlePermissionResponse }));
|
|
61
|
-
case 'askUserQuestion':
|
|
62
|
-
return (_jsx(AskUserQuestion, { input: state.modal.input, onComplete: handleQuestionComplete }));
|
|
63
|
-
case 'iterationLimit':
|
|
64
|
-
return (_jsx(IterationLimit, { currentIteration: state.modal.currentIteration, maxIterations: state.modal.maxIterations, currentStep: state.modal.currentStep, onDecision: handleIterationDecision }));
|
|
65
|
-
case 'userInput':
|
|
66
|
-
return (_jsx(UserInputPrompt, { step: state.modal.step, response: state.modal.response, onSubmit: handleUserInputSubmit }));
|
|
67
|
-
default:
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
//# sourceMappingURL=ModalRouter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ModalRouter.js","sourceRoot":"","sources":["../../../../src/interactive/ink/components/ModalRouter.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Permission prompt component for ink
|
|
3
|
-
*
|
|
4
|
-
* Displays permission requests and collects user response
|
|
5
|
-
*/
|
|
6
|
-
import React from 'react';
|
|
7
|
-
import type { PermissionRequest } from '../../../claude/process.js';
|
|
8
|
-
import type { PermissionResponseType } from '../context/types.js';
|
|
9
|
-
export interface PermissionPromptProps {
|
|
10
|
-
/** Permission request details */
|
|
11
|
-
request: PermissionRequest;
|
|
12
|
-
/** Callback when user responds */
|
|
13
|
-
onResponse: (response: PermissionResponseType) => void;
|
|
14
|
-
}
|
|
15
|
-
/** Permission prompt component */
|
|
16
|
-
export declare function PermissionPrompt({ request, onResponse, }: PermissionPromptProps): React.ReactElement;
|
|
17
|
-
//# sourceMappingURL=PermissionPrompt.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionPrompt.d.ts","sourceRoot":"","sources":["../../../../src/interactive/ink/components/PermissionPrompt.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AA2DlE,MAAM,WAAW,qBAAqB;IACpC,iCAAiC;IACjC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,kCAAkC;IAClC,UAAU,EAAE,CAAC,QAAQ,EAAE,sBAAsB,KAAK,IAAI,CAAC;CACxD;AAED,kCAAkC;AAClC,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,UAAU,GACX,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,CA0G5C"}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* Permission prompt component for ink
|
|
4
|
-
*
|
|
5
|
-
* Displays permission requests and collects user response
|
|
6
|
-
*/
|
|
7
|
-
import { useState, useCallback, useMemo } from 'react';
|
|
8
|
-
import { Box, Text, useInput, useFocus } from 'ink';
|
|
9
|
-
/** Static options that don't depend on props */
|
|
10
|
-
const STATIC_OPTIONS = [
|
|
11
|
-
{ key: 'y', labelTemplate: 'はい (今回のみ)', value: 'allow' },
|
|
12
|
-
{ key: 'n', labelTemplate: 'いいえ', value: 'deny' },
|
|
13
|
-
{ key: 'a', labelTemplate: '常に許可 (この引数)', value: 'always' },
|
|
14
|
-
{ key: 'c', labelTemplate: '{commandName} を常に許可', value: 'always_command' },
|
|
15
|
-
{ key: 's', labelTemplate: '🔥 Sacrifice Mode', value: 'sacrifice' },
|
|
16
|
-
];
|
|
17
|
-
/** Format tool input for display */
|
|
18
|
-
function formatToolInput(toolName, input) {
|
|
19
|
-
if (toolName === 'Bash') {
|
|
20
|
-
const command = input.command;
|
|
21
|
-
const description = input.description;
|
|
22
|
-
const lines = [];
|
|
23
|
-
if (command) {
|
|
24
|
-
lines.push(`コマンド: ${command}`);
|
|
25
|
-
}
|
|
26
|
-
if (description) {
|
|
27
|
-
lines.push(`説明: ${description}`);
|
|
28
|
-
}
|
|
29
|
-
return lines;
|
|
30
|
-
}
|
|
31
|
-
if (toolName === 'Edit' || toolName === 'Write' || toolName === 'Read') {
|
|
32
|
-
const filePath = input.file_path;
|
|
33
|
-
if (filePath) {
|
|
34
|
-
return [`ファイル: ${filePath}`];
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
if (toolName === 'WebSearch') {
|
|
38
|
-
const query = input.query;
|
|
39
|
-
if (query) {
|
|
40
|
-
return [`検索: ${query}`];
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
if (toolName === 'WebFetch') {
|
|
44
|
-
const url = input.url;
|
|
45
|
-
if (url) {
|
|
46
|
-
return [`URL: ${url}`];
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
// Generic display for other tools
|
|
50
|
-
const entries = Object.entries(input).slice(0, 3);
|
|
51
|
-
return entries.map(([k, v]) => `${k}: ${JSON.stringify(v).slice(0, 50)}`);
|
|
52
|
-
}
|
|
53
|
-
/** Permission prompt component */
|
|
54
|
-
export function PermissionPrompt({ request, onResponse, }) {
|
|
55
|
-
const { toolName, input, decisionReason } = request;
|
|
56
|
-
const [selectedIndex, setSelectedIndex] = useState(0);
|
|
57
|
-
const { isFocused } = useFocus({ autoFocus: true });
|
|
58
|
-
// Get command name for display
|
|
59
|
-
const commandName = toolName === 'Bash'
|
|
60
|
-
? input.command?.split(/\s+/)[0] || 'Bash'
|
|
61
|
-
: toolName;
|
|
62
|
-
// Memoize options to prevent re-creation on every render
|
|
63
|
-
const options = useMemo(() => STATIC_OPTIONS.map((opt) => ({
|
|
64
|
-
key: opt.key,
|
|
65
|
-
label: opt.labelTemplate.replace('{commandName}', commandName),
|
|
66
|
-
value: opt.value,
|
|
67
|
-
})), [commandName]);
|
|
68
|
-
const handleSelect = useCallback(() => {
|
|
69
|
-
const selected = options[selectedIndex];
|
|
70
|
-
if (selected) {
|
|
71
|
-
onResponse(selected.value);
|
|
72
|
-
}
|
|
73
|
-
}, [selectedIndex, onResponse, options]);
|
|
74
|
-
useInput((inputChar, key) => {
|
|
75
|
-
if (!isFocused)
|
|
76
|
-
return;
|
|
77
|
-
// Direct key shortcuts
|
|
78
|
-
const lowerInput = inputChar.toLowerCase();
|
|
79
|
-
const matchedOption = options.find(opt => opt.key === lowerInput);
|
|
80
|
-
if (matchedOption) {
|
|
81
|
-
onResponse(matchedOption.value);
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
// Arrow navigation
|
|
85
|
-
if (key.leftArrow || key.upArrow) {
|
|
86
|
-
setSelectedIndex((prev) => (prev > 0 ? prev - 1 : options.length - 1));
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
if (key.rightArrow || key.downArrow) {
|
|
90
|
-
setSelectedIndex((prev) => (prev < options.length - 1 ? prev + 1 : 0));
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
// Enter to select
|
|
94
|
-
if (key.return) {
|
|
95
|
-
handleSelect();
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
}, { isActive: isFocused });
|
|
99
|
-
const inputLines = formatToolInput(toolName, input);
|
|
100
|
-
return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "yellow", padding: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: "yellow", bold: true, children: "\u26A0\uFE0F \u6A29\u9650\u30EA\u30AF\u30A8\u30B9\u30C8" }) }), _jsxs(Box, { marginBottom: 1, flexDirection: "column", children: [_jsxs(Text, { children: [_jsx(Text, { color: "gray", children: "\u30C4\u30FC\u30EB: " }), _jsx(Text, { color: "cyan", bold: true, children: toolName })] }), inputLines.map((line, i) => (_jsxs(Text, { color: "white", children: [" ", line] }, i))), decisionReason && (_jsxs(Text, { color: "gray", children: [" \u7406\u7531: ", decisionReason] }))] }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: "yellow", children: "\u8A31\u53EF\u3057\u307E\u3059\u304B?" }), _jsx(Box, { flexDirection: "column", marginLeft: 2, marginTop: 1, children: options.map((opt, i) => (_jsx(Box, { children: _jsxs(Text, { color: i === selectedIndex ? 'green' : opt.value === 'sacrifice' ? 'red' : 'white', bold: i === selectedIndex, inverse: i === selectedIndex, children: ["[", opt.key, "] ", opt.label] }) }, opt.key))) })] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "gray", dimColor: true, children: "\u30AD\u30FC\u3067\u9078\u629E (y/n/a/c/s) \u307E\u305F\u306F\u77E2\u5370+Enter" }) })] }));
|
|
101
|
-
}
|
|
102
|
-
//# sourceMappingURL=PermissionPrompt.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionPrompt.js","sourceRoot":"","sources":["../../../../src/interactive/ink/components/PermissionPrompt.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Multiline prompt input component
|
|
3
|
-
*/
|
|
4
|
-
import React from 'react';
|
|
5
|
-
interface PromptInputProps {
|
|
6
|
-
/** Prompt prefix to display */
|
|
7
|
-
prompt: string;
|
|
8
|
-
/** Callback when input is submitted */
|
|
9
|
-
onSubmit: (input: string) => void;
|
|
10
|
-
/** Project directory for history */
|
|
11
|
-
projectDir: string;
|
|
12
|
-
/** Whether input is disabled */
|
|
13
|
-
disabled?: boolean;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Multiline input component with history support
|
|
17
|
-
*
|
|
18
|
-
* Controls:
|
|
19
|
-
* - Enter: Submit input
|
|
20
|
-
* - Shift+Enter or Option+Enter: Add new line
|
|
21
|
-
* - Up/Down: Navigate history (when on first line)
|
|
22
|
-
* - Backspace: Delete character or merge lines
|
|
23
|
-
*/
|
|
24
|
-
export declare function PromptInput({ prompt, onSubmit, projectDir, disabled, }: PromptInputProps): React.ReactElement;
|
|
25
|
-
export {};
|
|
26
|
-
//# sourceMappingURL=PromptInput.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PromptInput.d.ts","sourceRoot":"","sources":["../../../../src/interactive/ink/components/PromptInput.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAA8B,MAAM,OAAO,CAAC;AAMnD,UAAU,gBAAgB;IACxB,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,QAAQ,EACR,UAAU,EACV,QAAgB,GACjB,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CA+FvC"}
|