takt 0.1.0 → 0.1.1
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/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +2 -1
- package/dist/agents/runner.js.map +1 -1
- package/dist/cli.d.ts +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +7 -3
- package/dist/cli.js.map +1 -1
- 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/config/initialization.js +1 -1
- package/dist/config/initialization.js.map +1 -1
- package/dist/config/projectConfig.d.ts +12 -1
- package/dist/config/projectConfig.d.ts.map +1 -1
- package/dist/config/projectConfig.js +1 -0
- package/dist/config/projectConfig.js.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/package.json +1 -1
- 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,65 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* Workflow selector component for ink
|
|
4
|
-
*
|
|
5
|
-
* Displays available workflows and allows selection
|
|
6
|
-
*/
|
|
7
|
-
import { useState, useCallback } from 'react';
|
|
8
|
-
import { Box, Text, useInput, useFocus } from 'ink';
|
|
9
|
-
/** Workflow selector component */
|
|
10
|
-
export function WorkflowSelector({ workflows, currentWorkflow, onSelect, }) {
|
|
11
|
-
const workflowList = Array.from(workflows.entries()).sort((a, b) => a[0].localeCompare(b[0]));
|
|
12
|
-
const [selectedIndex, setSelectedIndex] = useState(() => {
|
|
13
|
-
const currentIdx = workflowList.findIndex(([name]) => name === currentWorkflow);
|
|
14
|
-
return currentIdx >= 0 ? currentIdx : 0;
|
|
15
|
-
});
|
|
16
|
-
const { isFocused } = useFocus({ autoFocus: true });
|
|
17
|
-
const handleSelect = useCallback(() => {
|
|
18
|
-
const selected = workflowList[selectedIndex];
|
|
19
|
-
if (selected) {
|
|
20
|
-
onSelect(selected[0]);
|
|
21
|
-
}
|
|
22
|
-
}, [selectedIndex, workflowList, onSelect]);
|
|
23
|
-
useInput((input, key) => {
|
|
24
|
-
if (!isFocused)
|
|
25
|
-
return;
|
|
26
|
-
// Cancel on Escape or 0
|
|
27
|
-
if (key.escape || input === '0') {
|
|
28
|
-
onSelect(null);
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
// Number shortcuts
|
|
32
|
-
const num = parseInt(input, 10);
|
|
33
|
-
if (num >= 1 && num <= workflowList.length) {
|
|
34
|
-
const selected = workflowList[num - 1];
|
|
35
|
-
if (selected) {
|
|
36
|
-
onSelect(selected[0]);
|
|
37
|
-
}
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
// Arrow navigation
|
|
41
|
-
if (key.upArrow) {
|
|
42
|
-
setSelectedIndex((prev) => (prev > 0 ? prev - 1 : workflowList.length - 1));
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
if (key.downArrow) {
|
|
46
|
-
setSelectedIndex((prev) => (prev < workflowList.length - 1 ? prev + 1 : 0));
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
// Enter to select
|
|
50
|
-
if (key.return) {
|
|
51
|
-
handleSelect();
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
}, { isActive: isFocused });
|
|
55
|
-
if (workflowList.length === 0) {
|
|
56
|
-
return (_jsx(Box, { flexDirection: "column", borderStyle: "single", borderColor: "red", padding: 1, children: _jsx(Text, { color: "red", children: "No workflows available" }) }));
|
|
57
|
-
}
|
|
58
|
-
return (_jsxs(Box, { flexDirection: "column", borderStyle: "double", borderColor: "magenta", padding: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: "magenta", bold: true, children: "Workflow Selection" }) }), _jsxs(Box, { flexDirection: "column", children: [workflowList.map(([name, workflow], index) => {
|
|
59
|
-
const isCurrent = name === currentWorkflow;
|
|
60
|
-
const isSelected = index === selectedIndex;
|
|
61
|
-
const desc = workflow.description || `${name} workflow`;
|
|
62
|
-
return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Box, { children: [_jsxs(Text, { color: isSelected ? 'green' : 'cyan', children: [isSelected ? '▸ ' : ' ', "[", index + 1, "] ", name] }), isCurrent && (_jsx(Text, { color: "green", children: " (current)" }))] }), _jsxs(Text, { color: "gray", children: [" ", desc] })] }, name));
|
|
63
|
-
}), _jsx(Box, { children: _jsx(Text, { color: "yellow", children: " [0] Cancel" }) })] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "gray", dimColor: true, children: "\u6570\u5B57\u307E\u305F\u306F\u77E2\u5370\u30AD\u30FC\u3067\u9078\u629E\u3001Enter\u3067\u6C7A\u5B9A\u30010\u307E\u305F\u306FEsc\u3067\u30AD\u30E3\u30F3\u30BB\u30EB" }) })] }));
|
|
64
|
-
}
|
|
65
|
-
//# sourceMappingURL=WorkflowSelector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowSelector.js","sourceRoot":"","sources":["../../../../src/interactive/ink/components/WorkflowSelector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Constants for ink interactive mode
|
|
3
|
-
*/
|
|
4
|
-
/** Default number of additional iterations when sacrifice mode auto-continues */
|
|
5
|
-
export declare const DEFAULT_ADDITIONAL_ITERATIONS = 10;
|
|
6
|
-
/** Timeout in ms for double Ctrl+C to exit */
|
|
7
|
-
export declare const DOUBLE_CTRL_C_TIMEOUT_MS = 2000;
|
|
8
|
-
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/interactive/ink/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,iFAAiF;AACjF,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAEhD,8CAA8C;AAC9C,eAAO,MAAM,wBAAwB,OAAO,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Constants for ink interactive mode
|
|
3
|
-
*/
|
|
4
|
-
/** Default number of additional iterations when sacrifice mode auto-continues */
|
|
5
|
-
export const DEFAULT_ADDITIONAL_ITERATIONS = 10;
|
|
6
|
-
/** Timeout in ms for double Ctrl+C to exit */
|
|
7
|
-
export const DOUBLE_CTRL_C_TIMEOUT_MS = 2000;
|
|
8
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/interactive/ink/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,iFAAiF;AACjF,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEhD,8CAA8C;AAC9C,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Application context provider and hook
|
|
3
|
-
*/
|
|
4
|
-
import React, { type Dispatch, type ReactNode } from 'react';
|
|
5
|
-
import type { AppState, AppAction, ModalResolvers } from './types.js';
|
|
6
|
-
export type { AppState, AppAction, ModalData, ModalResolvers } from './types.js';
|
|
7
|
-
export { createStreamHandler } from './appReducer.js';
|
|
8
|
-
/** Context type */
|
|
9
|
-
interface AppContextType {
|
|
10
|
-
state: AppState;
|
|
11
|
-
dispatch: Dispatch<AppAction>;
|
|
12
|
-
resolvers: React.MutableRefObject<ModalResolvers>;
|
|
13
|
-
setResolver: <K extends keyof ModalResolvers>(key: K, resolver: ModalResolvers[K]) => void;
|
|
14
|
-
clearResolver: (key: keyof ModalResolvers) => void;
|
|
15
|
-
}
|
|
16
|
-
/** Provider props */
|
|
17
|
-
interface AppProviderProps {
|
|
18
|
-
children: ReactNode;
|
|
19
|
-
cwd: string;
|
|
20
|
-
workflowName?: string;
|
|
21
|
-
}
|
|
22
|
-
/** App context provider */
|
|
23
|
-
export declare function AppProvider({ children, cwd, workflowName }: AppProviderProps): React.ReactElement;
|
|
24
|
-
/** Hook to use app context */
|
|
25
|
-
export declare function useApp(): AppContextType;
|
|
26
|
-
//# sourceMappingURL=AppContext.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AppContext.d.ts","sourceRoot":"","sources":["../../../../src/interactive/ink/context/AppContext.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,EAA8D,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACzH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAItE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,mBAAmB;AACnB,UAAU,cAAc;IACtB,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC9B,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAClD,WAAW,EAAE,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC3F,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,cAAc,KAAK,IAAI,CAAC;CACpD;AAKD,qBAAqB;AACrB,UAAU,gBAAgB;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,2BAA2B;AAC3B,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,YAA4B,EAAE,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAiBjH;AAED,8BAA8B;AAC9B,wBAAgB,MAAM,IAAI,cAAc,CAMvC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* Application context provider and hook
|
|
4
|
-
*/
|
|
5
|
-
import { createContext, useContext, useReducer, useRef, useCallback } from 'react';
|
|
6
|
-
import { appReducer, createInitialState } from './appReducer.js';
|
|
7
|
-
export { createStreamHandler } from './appReducer.js';
|
|
8
|
-
/** Create context */
|
|
9
|
-
const AppContext = createContext(null);
|
|
10
|
-
/** App context provider */
|
|
11
|
-
export function AppProvider({ children, cwd, workflowName = 'passthrough' }) {
|
|
12
|
-
const [state, dispatch] = useReducer(appReducer, createInitialState(cwd, workflowName));
|
|
13
|
-
const resolvers = useRef({});
|
|
14
|
-
const setResolver = useCallback((key, resolver) => {
|
|
15
|
-
resolvers.current[key] = resolver;
|
|
16
|
-
}, []);
|
|
17
|
-
const clearResolver = useCallback((key) => {
|
|
18
|
-
delete resolvers.current[key];
|
|
19
|
-
}, []);
|
|
20
|
-
return (_jsx(AppContext.Provider, { value: { state, dispatch, resolvers, setResolver, clearResolver }, children: children }));
|
|
21
|
-
}
|
|
22
|
-
/** Hook to use app context */
|
|
23
|
-
export function useApp() {
|
|
24
|
-
const context = useContext(AppContext);
|
|
25
|
-
if (!context) {
|
|
26
|
-
throw new Error('useApp must be used within AppProvider');
|
|
27
|
-
}
|
|
28
|
-
return context;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=AppContext.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AppContext.js","sourceRoot":"","sources":["../../../../src/interactive/ink/context/AppContext.tsx"],"names":[],"mappings":";AAAA;;GAEG;AAEH,OAAc,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAiC,MAAM,OAAO,CAAC;AAEzH,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAuB,MAAM,iBAAiB,CAAC;AAItF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAWtD,qBAAqB;AACrB,MAAM,UAAU,GAAG,aAAa,CAAwB,IAAI,CAAC,CAAC;AAS9D,2BAA2B;AAC3B,MAAM,UAAU,WAAW,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,GAAG,aAAa,EAAoB;IAC3F,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,UAAU,EAAE,kBAAkB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;IACxF,MAAM,SAAS,GAAG,MAAM,CAAiB,EAAE,CAAC,CAAC;IAE7C,MAAM,WAAW,GAAG,WAAW,CAAC,CAAiC,GAAM,EAAE,QAA2B,EAAE,EAAE;QACtG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;IACpC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,GAAyB,EAAE,EAAE;QAC9D,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,KAAC,UAAU,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,YACnF,QAAQ,GACW,CACvB,CAAC;AACJ,CAAC;AAED,8BAA8B;AAC9B,MAAM,UAAU,MAAM;IACpB,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Application reducer and state factory
|
|
3
|
-
*/
|
|
4
|
-
import type { Dispatch } from 'react';
|
|
5
|
-
import type { AppState, AppAction } from './types.js';
|
|
6
|
-
import type { StreamEvent } from '../../../claude/process.js';
|
|
7
|
-
/** Initial state factory */
|
|
8
|
-
export declare function createInitialState(cwd: string, workflowName: string): AppState;
|
|
9
|
-
/** Reducer function */
|
|
10
|
-
export declare function appReducer(state: AppState, action: AppAction): AppState;
|
|
11
|
-
/** Helper to create stream event handler */
|
|
12
|
-
export declare function createStreamHandler(dispatch: Dispatch<AppAction>): (event: StreamEvent) => void;
|
|
13
|
-
//# sourceMappingURL=appReducer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"appReducer.d.ts","sourceRoot":"","sources":["../../../../src/interactive/ink/context/appReducer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,4BAA4B;AAC5B,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,QAAQ,CAkB9E;AAED,uBAAuB;AACvB,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAG,QAAQ,CA4IvE;AAED,4CAA4C;AAC5C,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAoC/F"}
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Application reducer and state factory
|
|
3
|
-
*/
|
|
4
|
-
/** Initial state factory */
|
|
5
|
-
export function createInitialState(cwd, workflowName) {
|
|
6
|
-
return {
|
|
7
|
-
cwd,
|
|
8
|
-
workflowName,
|
|
9
|
-
sessionId: `session-${Date.now()}`,
|
|
10
|
-
conversationHistory: [],
|
|
11
|
-
isProcessing: false,
|
|
12
|
-
streamContent: '',
|
|
13
|
-
thinkingContent: '',
|
|
14
|
-
currentAgent: '',
|
|
15
|
-
currentStep: '',
|
|
16
|
-
iteration: 0,
|
|
17
|
-
maxIterations: 10,
|
|
18
|
-
sacrificeMode: false,
|
|
19
|
-
modal: { type: 'none' },
|
|
20
|
-
allWorkflows: new Map(),
|
|
21
|
-
sharedUserInputs: [],
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
/** Reducer function */
|
|
25
|
-
export function appReducer(state, action) {
|
|
26
|
-
switch (action.type) {
|
|
27
|
-
case 'SET_WORKFLOW':
|
|
28
|
-
return {
|
|
29
|
-
...state,
|
|
30
|
-
workflowName: action.payload.name,
|
|
31
|
-
workflowConfig: action.payload.config,
|
|
32
|
-
maxIterations: action.payload.config.maxIterations,
|
|
33
|
-
};
|
|
34
|
-
case 'SET_ALL_WORKFLOWS':
|
|
35
|
-
return {
|
|
36
|
-
...state,
|
|
37
|
-
allWorkflows: action.payload,
|
|
38
|
-
};
|
|
39
|
-
case 'START_PROCESSING':
|
|
40
|
-
return {
|
|
41
|
-
...state,
|
|
42
|
-
isProcessing: true,
|
|
43
|
-
currentStep: action.payload.step,
|
|
44
|
-
currentAgent: action.payload.agent,
|
|
45
|
-
iteration: action.payload.iteration,
|
|
46
|
-
streamContent: '',
|
|
47
|
-
thinkingContent: '',
|
|
48
|
-
error: undefined,
|
|
49
|
-
};
|
|
50
|
-
case 'STOP_PROCESSING':
|
|
51
|
-
return {
|
|
52
|
-
...state,
|
|
53
|
-
isProcessing: false,
|
|
54
|
-
};
|
|
55
|
-
case 'APPEND_STREAM':
|
|
56
|
-
return {
|
|
57
|
-
...state,
|
|
58
|
-
streamContent: state.streamContent + action.payload,
|
|
59
|
-
};
|
|
60
|
-
case 'SET_THINKING':
|
|
61
|
-
return {
|
|
62
|
-
...state,
|
|
63
|
-
thinkingContent: action.payload,
|
|
64
|
-
};
|
|
65
|
-
case 'CLEAR_STREAM':
|
|
66
|
-
return {
|
|
67
|
-
...state,
|
|
68
|
-
streamContent: '',
|
|
69
|
-
thinkingContent: '',
|
|
70
|
-
};
|
|
71
|
-
case 'ADD_MESSAGE':
|
|
72
|
-
return {
|
|
73
|
-
...state,
|
|
74
|
-
conversationHistory: [...state.conversationHistory, action.payload],
|
|
75
|
-
};
|
|
76
|
-
case 'TOGGLE_SACRIFICE_MODE':
|
|
77
|
-
return {
|
|
78
|
-
...state,
|
|
79
|
-
sacrificeMode: !state.sacrificeMode,
|
|
80
|
-
};
|
|
81
|
-
case 'SET_ERROR':
|
|
82
|
-
return {
|
|
83
|
-
...state,
|
|
84
|
-
error: action.payload,
|
|
85
|
-
isProcessing: false,
|
|
86
|
-
};
|
|
87
|
-
case 'CLEAR_ERROR':
|
|
88
|
-
return {
|
|
89
|
-
...state,
|
|
90
|
-
error: undefined,
|
|
91
|
-
};
|
|
92
|
-
case 'SET_INFO':
|
|
93
|
-
return {
|
|
94
|
-
...state,
|
|
95
|
-
info: action.payload,
|
|
96
|
-
};
|
|
97
|
-
case 'CLEAR_INFO':
|
|
98
|
-
return {
|
|
99
|
-
...state,
|
|
100
|
-
info: undefined,
|
|
101
|
-
};
|
|
102
|
-
case 'SET_SESSION_ID':
|
|
103
|
-
return {
|
|
104
|
-
...state,
|
|
105
|
-
claudeSessionId: action.payload,
|
|
106
|
-
};
|
|
107
|
-
case 'SET_MAX_ITERATIONS':
|
|
108
|
-
return {
|
|
109
|
-
...state,
|
|
110
|
-
maxIterations: action.payload,
|
|
111
|
-
};
|
|
112
|
-
case 'RESET_CONVERSATION':
|
|
113
|
-
return {
|
|
114
|
-
...state,
|
|
115
|
-
conversationHistory: [],
|
|
116
|
-
streamContent: '',
|
|
117
|
-
thinkingContent: '',
|
|
118
|
-
iteration: 0,
|
|
119
|
-
sharedUserInputs: [],
|
|
120
|
-
currentTask: undefined,
|
|
121
|
-
};
|
|
122
|
-
case 'SHOW_MODAL':
|
|
123
|
-
return {
|
|
124
|
-
...state,
|
|
125
|
-
modal: action.payload,
|
|
126
|
-
};
|
|
127
|
-
case 'HIDE_MODAL':
|
|
128
|
-
return {
|
|
129
|
-
...state,
|
|
130
|
-
modal: { type: 'none' },
|
|
131
|
-
};
|
|
132
|
-
case 'ADD_USER_INPUT':
|
|
133
|
-
return {
|
|
134
|
-
...state,
|
|
135
|
-
sharedUserInputs: [...state.sharedUserInputs, action.payload],
|
|
136
|
-
};
|
|
137
|
-
case 'SET_CURRENT_TASK':
|
|
138
|
-
return {
|
|
139
|
-
...state,
|
|
140
|
-
currentTask: action.payload,
|
|
141
|
-
};
|
|
142
|
-
default:
|
|
143
|
-
return state;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
/** Helper to create stream event handler */
|
|
147
|
-
export function createStreamHandler(dispatch) {
|
|
148
|
-
// Track if we need to add newline before next text (after tool execution)
|
|
149
|
-
let needsNewline = false;
|
|
150
|
-
return (event) => {
|
|
151
|
-
switch (event.type) {
|
|
152
|
-
case 'text':
|
|
153
|
-
// Add newline if coming back from tool execution
|
|
154
|
-
if (needsNewline) {
|
|
155
|
-
dispatch({ type: 'APPEND_STREAM', payload: '\n' });
|
|
156
|
-
needsNewline = false;
|
|
157
|
-
}
|
|
158
|
-
dispatch({ type: 'APPEND_STREAM', payload: event.data.text });
|
|
159
|
-
break;
|
|
160
|
-
case 'thinking':
|
|
161
|
-
dispatch({ type: 'SET_THINKING', payload: event.data.thinking });
|
|
162
|
-
break;
|
|
163
|
-
case 'tool_use':
|
|
164
|
-
// Show tool being used
|
|
165
|
-
dispatch({ type: 'APPEND_STREAM', payload: `\n[${event.data.tool}] ` });
|
|
166
|
-
break;
|
|
167
|
-
case 'tool_result':
|
|
168
|
-
// Mark that next text should be on new line
|
|
169
|
-
needsNewline = true;
|
|
170
|
-
break;
|
|
171
|
-
case 'init':
|
|
172
|
-
if (event.data.sessionId) {
|
|
173
|
-
dispatch({ type: 'SET_SESSION_ID', payload: event.data.sessionId });
|
|
174
|
-
}
|
|
175
|
-
break;
|
|
176
|
-
case 'result':
|
|
177
|
-
dispatch({ type: 'STOP_PROCESSING' });
|
|
178
|
-
needsNewline = false; // Reset for next execution
|
|
179
|
-
break;
|
|
180
|
-
}
|
|
181
|
-
};
|
|
182
|
-
}
|
|
183
|
-
//# sourceMappingURL=appReducer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"appReducer.js","sourceRoot":"","sources":["../../../../src/interactive/ink/context/appReducer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Type definitions for application context
|
|
3
|
-
*/
|
|
4
|
-
import type { WorkflowConfig, AgentResponse, WorkflowStep } from '../../../models/types.js';
|
|
5
|
-
import type { ConversationMessage } from '../../../models/session.js';
|
|
6
|
-
import type { PermissionRequest, AskUserQuestionInput } from '../../../claude/process.js';
|
|
7
|
-
/** Modal data types (serializable, no functions) */
|
|
8
|
-
export type ModalData = {
|
|
9
|
-
type: 'none';
|
|
10
|
-
} | {
|
|
11
|
-
type: 'help';
|
|
12
|
-
} | {
|
|
13
|
-
type: 'workflowSelector';
|
|
14
|
-
} | {
|
|
15
|
-
type: 'permission';
|
|
16
|
-
request: PermissionRequest;
|
|
17
|
-
} | {
|
|
18
|
-
type: 'askUserQuestion';
|
|
19
|
-
input: AskUserQuestionInput;
|
|
20
|
-
} | {
|
|
21
|
-
type: 'iterationLimit';
|
|
22
|
-
currentIteration: number;
|
|
23
|
-
maxIterations: number;
|
|
24
|
-
currentStep: string;
|
|
25
|
-
} | {
|
|
26
|
-
type: 'userInput';
|
|
27
|
-
step: WorkflowStep;
|
|
28
|
-
response: AgentResponse;
|
|
29
|
-
};
|
|
30
|
-
/** Permission response types */
|
|
31
|
-
export type PermissionResponseType = 'allow' | 'deny' | 'always' | 'always_command' | 'sacrifice';
|
|
32
|
-
/** Resolver types for modals */
|
|
33
|
-
export type ModalResolvers = {
|
|
34
|
-
permission?: (response: PermissionResponseType) => void;
|
|
35
|
-
askUserQuestion?: (answers: Record<string, string>) => void;
|
|
36
|
-
iterationLimit?: (additional: number | null) => void;
|
|
37
|
-
userInput?: (input: string | null) => void;
|
|
38
|
-
};
|
|
39
|
-
/** Application state */
|
|
40
|
-
export interface AppState {
|
|
41
|
-
/** Current working directory */
|
|
42
|
-
cwd: string;
|
|
43
|
-
/** Current workflow name */
|
|
44
|
-
workflowName: string;
|
|
45
|
-
/** Session ID */
|
|
46
|
-
sessionId: string;
|
|
47
|
-
/** Claude session ID */
|
|
48
|
-
claudeSessionId?: string;
|
|
49
|
-
/** Conversation history */
|
|
50
|
-
conversationHistory: ConversationMessage[];
|
|
51
|
-
/** Whether the system is processing */
|
|
52
|
-
isProcessing: boolean;
|
|
53
|
-
/** Current streaming content */
|
|
54
|
-
streamContent: string;
|
|
55
|
-
/** Current thinking content */
|
|
56
|
-
thinkingContent: string;
|
|
57
|
-
/** Current agent name */
|
|
58
|
-
currentAgent: string;
|
|
59
|
-
/** Current step name */
|
|
60
|
-
currentStep: string;
|
|
61
|
-
/** Current iteration */
|
|
62
|
-
iteration: number;
|
|
63
|
-
/** Max iterations */
|
|
64
|
-
maxIterations: number;
|
|
65
|
-
/** Sacrifice mode (auto-approve everything) */
|
|
66
|
-
sacrificeMode: boolean;
|
|
67
|
-
/** Error message if any */
|
|
68
|
-
error?: string;
|
|
69
|
-
/** Info message if any (non-error feedback) */
|
|
70
|
-
info?: string;
|
|
71
|
-
/** Workflow config */
|
|
72
|
-
workflowConfig?: WorkflowConfig;
|
|
73
|
-
/** Current modal/prompt data */
|
|
74
|
-
modal: ModalData;
|
|
75
|
-
/** All workflows for selector */
|
|
76
|
-
allWorkflows: Map<string, WorkflowConfig>;
|
|
77
|
-
/** Shared user inputs across agents */
|
|
78
|
-
sharedUserInputs: string[];
|
|
79
|
-
/** Current task being executed */
|
|
80
|
-
currentTask?: string;
|
|
81
|
-
}
|
|
82
|
-
/** Action types */
|
|
83
|
-
export type AppAction = {
|
|
84
|
-
type: 'SET_WORKFLOW';
|
|
85
|
-
payload: {
|
|
86
|
-
name: string;
|
|
87
|
-
config: WorkflowConfig;
|
|
88
|
-
};
|
|
89
|
-
} | {
|
|
90
|
-
type: 'SET_ALL_WORKFLOWS';
|
|
91
|
-
payload: Map<string, WorkflowConfig>;
|
|
92
|
-
} | {
|
|
93
|
-
type: 'START_PROCESSING';
|
|
94
|
-
payload: {
|
|
95
|
-
step: string;
|
|
96
|
-
agent: string;
|
|
97
|
-
iteration: number;
|
|
98
|
-
};
|
|
99
|
-
} | {
|
|
100
|
-
type: 'STOP_PROCESSING';
|
|
101
|
-
} | {
|
|
102
|
-
type: 'APPEND_STREAM';
|
|
103
|
-
payload: string;
|
|
104
|
-
} | {
|
|
105
|
-
type: 'SET_THINKING';
|
|
106
|
-
payload: string;
|
|
107
|
-
} | {
|
|
108
|
-
type: 'CLEAR_STREAM';
|
|
109
|
-
} | {
|
|
110
|
-
type: 'ADD_MESSAGE';
|
|
111
|
-
payload: ConversationMessage;
|
|
112
|
-
} | {
|
|
113
|
-
type: 'TOGGLE_SACRIFICE_MODE';
|
|
114
|
-
} | {
|
|
115
|
-
type: 'SET_ERROR';
|
|
116
|
-
payload: string;
|
|
117
|
-
} | {
|
|
118
|
-
type: 'CLEAR_ERROR';
|
|
119
|
-
} | {
|
|
120
|
-
type: 'SET_INFO';
|
|
121
|
-
payload: string;
|
|
122
|
-
} | {
|
|
123
|
-
type: 'CLEAR_INFO';
|
|
124
|
-
} | {
|
|
125
|
-
type: 'SET_SESSION_ID';
|
|
126
|
-
payload: string;
|
|
127
|
-
} | {
|
|
128
|
-
type: 'SET_MAX_ITERATIONS';
|
|
129
|
-
payload: number;
|
|
130
|
-
} | {
|
|
131
|
-
type: 'RESET_CONVERSATION';
|
|
132
|
-
} | {
|
|
133
|
-
type: 'SHOW_MODAL';
|
|
134
|
-
payload: ModalData;
|
|
135
|
-
} | {
|
|
136
|
-
type: 'HIDE_MODAL';
|
|
137
|
-
} | {
|
|
138
|
-
type: 'ADD_USER_INPUT';
|
|
139
|
-
payload: string;
|
|
140
|
-
} | {
|
|
141
|
-
type: 'SET_CURRENT_TASK';
|
|
142
|
-
payload: string;
|
|
143
|
-
};
|
|
144
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/interactive/ink/context/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/interactive/ink/context/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Key detection logic for terminal input handling
|
|
3
|
-
*
|
|
4
|
-
* Provides type definitions, constants, and functions for detecting
|
|
5
|
-
* special key combinations across different terminal emulators.
|
|
6
|
-
*
|
|
7
|
-
* This module handles:
|
|
8
|
-
* - Escape sequence tracking for iTerm2-style Option+Enter
|
|
9
|
-
* - Newline/submit/cancel trigger detection
|
|
10
|
-
* - Navigation and character input classification
|
|
11
|
-
*/
|
|
12
|
-
/**
|
|
13
|
-
* Threshold (ms) for detecting iTerm2-style Option+Enter (Escape + Enter).
|
|
14
|
-
* Based on:
|
|
15
|
-
* - Typical keyboard repeat delay is 200-500ms
|
|
16
|
-
* - Terminal escape sequence transmission is near-instantaneous (<10ms)
|
|
17
|
-
* - Human intentional Esc→Enter would take at least 100-150ms
|
|
18
|
-
*/
|
|
19
|
-
export declare const ESCAPE_SEQUENCE_THRESHOLD_MS = 50;
|
|
20
|
-
/**
|
|
21
|
-
* Delay (ms) to allow Ink's initial render and terminal setup before enabling
|
|
22
|
-
* raw keypress events. 100ms is sufficient for most terminals; shorter delays
|
|
23
|
-
* may cause race conditions with Ink's terminal control.
|
|
24
|
-
*/
|
|
25
|
-
export declare const KEYPRESS_INIT_DELAY_MS = 100;
|
|
26
|
-
/**
|
|
27
|
-
* Key event from Node.js keypress
|
|
28
|
-
*/
|
|
29
|
-
export interface RawKeyEvent {
|
|
30
|
-
name?: string;
|
|
31
|
-
ctrl?: boolean;
|
|
32
|
-
meta?: boolean;
|
|
33
|
-
shift?: boolean;
|
|
34
|
-
sequence?: string;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Normalized key action types (discriminated union)
|
|
38
|
-
*/
|
|
39
|
-
export type KeyAction = {
|
|
40
|
-
type: 'newline';
|
|
41
|
-
} | {
|
|
42
|
-
type: 'submit';
|
|
43
|
-
} | {
|
|
44
|
-
type: 'cancel';
|
|
45
|
-
} | {
|
|
46
|
-
type: 'character';
|
|
47
|
-
char: string;
|
|
48
|
-
} | {
|
|
49
|
-
type: 'backspace';
|
|
50
|
-
} | {
|
|
51
|
-
type: 'navigation';
|
|
52
|
-
direction: 'up' | 'down' | 'left' | 'right';
|
|
53
|
-
} | {
|
|
54
|
-
type: 'escape';
|
|
55
|
-
} | {
|
|
56
|
-
type: 'ignored';
|
|
57
|
-
};
|
|
58
|
-
/**
|
|
59
|
-
* Tracks Escape key timing for detecting iTerm2-style Option+Enter.
|
|
60
|
-
*
|
|
61
|
-
* iTerm2 (and some other Mac terminals) send Option+Enter as two separate events:
|
|
62
|
-
* Escape followed by Enter. This tracker detects this pattern by checking if
|
|
63
|
-
* Enter is pressed shortly after Escape.
|
|
64
|
-
*/
|
|
65
|
-
export declare class EscapeSequenceTracker {
|
|
66
|
-
private lastEscapeTime;
|
|
67
|
-
private readonly thresholdMs;
|
|
68
|
-
constructor(thresholdMs?: number);
|
|
69
|
-
/** Record that Escape key was pressed */
|
|
70
|
-
trackEscape(): void;
|
|
71
|
-
/**
|
|
72
|
-
* Check if Enter was pressed within threshold of Escape.
|
|
73
|
-
* Resets the tracker if true to prevent repeated triggers.
|
|
74
|
-
*/
|
|
75
|
-
isEscapeThenEnter(): boolean;
|
|
76
|
-
/** Reset the tracker state */
|
|
77
|
-
reset(): void;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Determines if a key event should trigger newline input.
|
|
81
|
-
*
|
|
82
|
-
* Supported patterns:
|
|
83
|
-
* - Ctrl+O: Universal alternative (works in all terminals)
|
|
84
|
-
* - Ctrl+Enter: ctrl flag with Enter key
|
|
85
|
-
* - Option+Enter (meta): meta flag with Enter key (some terminals)
|
|
86
|
-
* - Shift+Enter: shift flag with Enter key (some terminals)
|
|
87
|
-
* - Option+Enter (escape sequence): '\x1b\r' sequence (Terminal.app)
|
|
88
|
-
* - Option+Enter (iTerm2): Escape + Enter as separate events
|
|
89
|
-
* - Escape+OM: '\x1bOM' sequence (some terminals)
|
|
90
|
-
*/
|
|
91
|
-
export declare function isNewLineTrigger(key: RawKeyEvent, escapeTracker: EscapeSequenceTracker): boolean;
|
|
92
|
-
/**
|
|
93
|
-
* Determines if a key event should submit input.
|
|
94
|
-
*
|
|
95
|
-
* Supports:
|
|
96
|
-
* - Plain Enter (no modifiers)
|
|
97
|
-
* - Ctrl+J (legacy/universal)
|
|
98
|
-
*/
|
|
99
|
-
export declare function isSubmitTrigger(key: RawKeyEvent): boolean;
|
|
100
|
-
/**
|
|
101
|
-
* Determines if a key event is a cancel trigger (Ctrl+C)
|
|
102
|
-
*/
|
|
103
|
-
export declare function isCancelTrigger(key: RawKeyEvent): boolean;
|
|
104
|
-
/**
|
|
105
|
-
* Determines if a key event is a navigation key
|
|
106
|
-
*/
|
|
107
|
-
export declare function isNavigationKey(key: RawKeyEvent): 'up' | 'down' | 'left' | 'right' | null;
|
|
108
|
-
/**
|
|
109
|
-
* Determines if a key event is a backspace
|
|
110
|
-
*/
|
|
111
|
-
export declare function isBackspaceKey(key: RawKeyEvent): boolean;
|
|
112
|
-
/**
|
|
113
|
-
* Classify a raw key event into a normalized action
|
|
114
|
-
*/
|
|
115
|
-
export declare function classifyKeyEvent(str: string | undefined, key: RawKeyEvent, escapeTracker: EscapeSequenceTracker): KeyAction;
|
|
116
|
-
//# sourceMappingURL=keyDetection.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keyDetection.d.ts","sourceRoot":"","sources":["../../../../src/interactive/ink/hooks/keyDetection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAM1C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAMxB;;;;;;GAMG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEzB,WAAW,GAAE,MAAqC;IAI9D,yCAAyC;IACzC,WAAW,IAAI,IAAI;IAInB;;;OAGG;IACH,iBAAiB,IAAI,OAAO;IAS5B,8BAA8B;IAC9B,KAAK,IAAI,IAAI;CAGd;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,WAAW,EAChB,aAAa,EAAE,qBAAqB,GACnC,OAAO,CAsBT;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAczD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAEzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAMzF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAExD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,GAAG,EAAE,WAAW,EAChB,aAAa,EAAE,qBAAqB,GACnC,SAAS,CA2CX"}
|