wave-code 0.4.0 → 0.6.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.
Files changed (105) hide show
  1. package/dist/commands/plugin/uninstall.js +1 -1
  2. package/dist/components/App.d.ts.map +1 -1
  3. package/dist/components/App.js +38 -2
  4. package/dist/components/BackgroundTaskManager.d.ts +6 -0
  5. package/dist/components/BackgroundTaskManager.d.ts.map +1 -0
  6. package/dist/components/BackgroundTaskManager.js +114 -0
  7. package/dist/components/ChatInterface.d.ts.map +1 -1
  8. package/dist/components/ChatInterface.js +39 -5
  9. package/dist/components/CommandSelector.d.ts.map +1 -1
  10. package/dist/components/CommandSelector.js +13 -5
  11. package/dist/components/CompressDisplay.d.ts.map +1 -1
  12. package/dist/components/CompressDisplay.js +6 -10
  13. package/dist/components/ConfirmationDetails.d.ts +9 -0
  14. package/dist/components/ConfirmationDetails.d.ts.map +1 -0
  15. package/dist/components/ConfirmationDetails.js +53 -0
  16. package/dist/components/{Confirmation.d.ts → ConfirmationSelector.d.ts} +3 -3
  17. package/dist/components/ConfirmationSelector.d.ts.map +1 -0
  18. package/dist/components/{Confirmation.js → ConfirmationSelector.js} +92 -101
  19. package/dist/components/DiffDisplay.d.ts +0 -1
  20. package/dist/components/DiffDisplay.d.ts.map +1 -1
  21. package/dist/components/DiffDisplay.js +82 -60
  22. package/dist/components/FileSelector.d.ts.map +1 -1
  23. package/dist/components/FileSelector.js +2 -2
  24. package/dist/components/HistorySearch.d.ts.map +1 -1
  25. package/dist/components/HistorySearch.js +12 -4
  26. package/dist/components/InputBox.d.ts +1 -3
  27. package/dist/components/InputBox.d.ts.map +1 -1
  28. package/dist/components/InputBox.js +9 -18
  29. package/dist/components/LoadingIndicator.d.ts +11 -0
  30. package/dist/components/LoadingIndicator.d.ts.map +1 -0
  31. package/dist/components/LoadingIndicator.js +6 -0
  32. package/dist/components/Markdown.d.ts.map +1 -1
  33. package/dist/components/Markdown.js +114 -120
  34. package/dist/components/MessageItem.d.ts.map +1 -1
  35. package/dist/components/MessageItem.js +1 -2
  36. package/dist/components/MessageList.d.ts +2 -3
  37. package/dist/components/MessageList.d.ts.map +1 -1
  38. package/dist/components/MessageList.js +7 -7
  39. package/dist/components/PlanDisplay.d.ts.map +1 -1
  40. package/dist/components/PlanDisplay.js +4 -12
  41. package/dist/components/PluginDetail.js +1 -1
  42. package/dist/components/RewindCommand.d.ts +4 -0
  43. package/dist/components/RewindCommand.d.ts.map +1 -1
  44. package/dist/components/RewindCommand.js +19 -2
  45. package/dist/components/SubagentBlock.d.ts.map +1 -1
  46. package/dist/components/SubagentBlock.js +12 -5
  47. package/dist/components/TaskList.d.ts +3 -0
  48. package/dist/components/TaskList.d.ts.map +1 -0
  49. package/dist/components/TaskList.js +49 -0
  50. package/dist/components/ToolResultDisplay.d.ts.map +1 -1
  51. package/dist/components/ToolResultDisplay.js +2 -1
  52. package/dist/contexts/useChat.d.ts +15 -6
  53. package/dist/contexts/useChat.d.ts.map +1 -1
  54. package/dist/contexts/useChat.js +52 -43
  55. package/dist/hooks/useInputManager.d.ts +2 -13
  56. package/dist/hooks/useInputManager.d.ts.map +1 -1
  57. package/dist/hooks/useInputManager.js +8 -57
  58. package/dist/hooks/usePluginManager.d.ts.map +1 -1
  59. package/dist/hooks/usePluginManager.js +8 -4
  60. package/dist/hooks/useTasks.d.ts +2 -0
  61. package/dist/hooks/useTasks.d.ts.map +1 -0
  62. package/dist/hooks/useTasks.js +5 -0
  63. package/dist/managers/InputManager.d.ts +5 -28
  64. package/dist/managers/InputManager.d.ts.map +1 -1
  65. package/dist/managers/InputManager.js +26 -127
  66. package/package.json +9 -10
  67. package/src/commands/plugin/uninstall.ts +1 -1
  68. package/src/components/App.tsx +50 -3
  69. package/src/components/{BashShellManager.tsx → BackgroundTaskManager.tsx} +79 -73
  70. package/src/components/ChatInterface.tsx +79 -23
  71. package/src/components/CommandSelector.tsx +38 -20
  72. package/src/components/CompressDisplay.tsx +5 -22
  73. package/src/components/ConfirmationDetails.tsx +108 -0
  74. package/src/components/{Confirmation.tsx → ConfirmationSelector.tsx} +162 -187
  75. package/src/components/DiffDisplay.tsx +122 -107
  76. package/src/components/FileSelector.tsx +0 -2
  77. package/src/components/HistorySearch.tsx +45 -21
  78. package/src/components/InputBox.tsx +14 -34
  79. package/src/components/LoadingIndicator.tsx +56 -0
  80. package/src/components/Markdown.tsx +126 -318
  81. package/src/components/MessageItem.tsx +1 -3
  82. package/src/components/MessageList.tsx +10 -67
  83. package/src/components/PlanDisplay.tsx +5 -33
  84. package/src/components/PluginDetail.tsx +1 -1
  85. package/src/components/RewindCommand.tsx +38 -1
  86. package/src/components/SubagentBlock.tsx +28 -14
  87. package/src/components/TaskList.tsx +70 -0
  88. package/src/components/ToolResultDisplay.tsx +6 -2
  89. package/src/contexts/useChat.tsx +82 -60
  90. package/src/hooks/useInputManager.ts +9 -73
  91. package/src/hooks/usePluginManager.ts +10 -4
  92. package/src/hooks/useTasks.ts +6 -0
  93. package/src/managers/InputManager.ts +30 -157
  94. package/dist/components/BashShellManager.d.ts +0 -6
  95. package/dist/components/BashShellManager.d.ts.map +0 -1
  96. package/dist/components/BashShellManager.js +0 -116
  97. package/dist/components/Confirmation.d.ts.map +0 -1
  98. package/dist/components/MemoryDisplay.d.ts +0 -8
  99. package/dist/components/MemoryDisplay.d.ts.map +0 -1
  100. package/dist/components/MemoryDisplay.js +0 -25
  101. package/dist/components/MemoryTypeSelector.d.ts +0 -8
  102. package/dist/components/MemoryTypeSelector.d.ts.map +0 -1
  103. package/dist/components/MemoryTypeSelector.js +0 -38
  104. package/src/components/MemoryDisplay.tsx +0 -62
  105. package/src/components/MemoryTypeSelector.tsx +0 -98
@@ -1,38 +0,0 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- import { useState } from "react";
3
- import { Box, Text, useInput } from "ink";
4
- export const MemoryTypeSelector = ({ message, onSelect, onCancel, }) => {
5
- const [selectedIndex, setSelectedIndex] = useState(0);
6
- const options = [
7
- {
8
- type: "project",
9
- label: "Project Memory",
10
- description: "Save to current project (AGENTS.md)",
11
- },
12
- {
13
- type: "user",
14
- label: "User Memory",
15
- description: "Save to user global memory",
16
- },
17
- ];
18
- useInput((input, key) => {
19
- if (key.return) {
20
- const selectedOption = options[selectedIndex];
21
- onSelect(selectedOption.type);
22
- return;
23
- }
24
- if (key.escape) {
25
- onCancel();
26
- return;
27
- }
28
- if (key.upArrow) {
29
- setSelectedIndex(Math.max(0, selectedIndex - 1));
30
- return;
31
- }
32
- if (key.downArrow) {
33
- setSelectedIndex(Math.min(options.length - 1, selectedIndex + 1));
34
- return;
35
- }
36
- });
37
- return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "green", borderBottom: false, borderLeft: false, borderRight: false, paddingTop: 1, gap: 1, children: [_jsx(Box, { children: _jsxs(Text, { color: "green", bold: true, children: ["Save Memory: \"", message.substring(1).trim(), "\""] }) }), _jsx(Text, { color: "gray", children: "Choose where to save this memory:" }), options.map((option, index) => (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: index === selectedIndex ? "black" : "white", backgroundColor: index === selectedIndex ? "green" : undefined, bold: index === selectedIndex, children: option.label }), index === selectedIndex && (_jsx(Box, { marginLeft: 2, children: _jsx(Text, { color: "gray", dimColor: true, children: option.description }) }))] }, option.type))), _jsx(Box, { children: _jsx(Text, { dimColor: true, children: "Use \u2191\u2193 to navigate, Enter to select, Escape to cancel" }) })] }));
38
- };
@@ -1,62 +0,0 @@
1
- import React from "react";
2
- import { Box, Text } from "ink";
3
- import type { MemoryBlock } from "wave-agent-sdk";
4
-
5
- interface MemoryDisplayProps {
6
- block: MemoryBlock;
7
- }
8
-
9
- export const MemoryDisplay: React.FC<MemoryDisplayProps> = ({ block }) => {
10
- const { content, isSuccess, memoryType, storagePath } = block;
11
-
12
- const getStatusIcon = () => {
13
- return isSuccess ? "💾" : "⚠️";
14
- };
15
-
16
- const getStatusColor = () => {
17
- return isSuccess ? "green" : "red";
18
- };
19
-
20
- const getStatusText = () => {
21
- return isSuccess ? "Added to memory" : "Failed to add memory";
22
- };
23
-
24
- const getStorageText = () => {
25
- if (!isSuccess) return null;
26
-
27
- if (memoryType === "user") {
28
- return `Memory saved to ${storagePath || "AGENTS.md"}`;
29
- } else {
30
- return `Memory saved to ${storagePath || "AGENTS.md"}`;
31
- }
32
- };
33
-
34
- return (
35
- <Box flexDirection="column">
36
- <Box>
37
- <Text color={getStatusColor()}>{getStatusIcon()} </Text>
38
- <Text color={getStatusColor()}>{getStatusText()}</Text>
39
- </Box>
40
-
41
- {content && (
42
- <Box marginTop={1} paddingLeft={2}>
43
- <Box
44
- borderLeft
45
- borderColor={isSuccess ? "green" : "red"}
46
- paddingLeft={1}
47
- >
48
- <Text color="gray">{content}</Text>
49
- </Box>
50
- </Box>
51
- )}
52
-
53
- {isSuccess && (
54
- <Box paddingLeft={2} marginTop={1}>
55
- <Text color="yellow" dimColor>
56
- {getStorageText()}
57
- </Text>
58
- </Box>
59
- )}
60
- </Box>
61
- );
62
- };
@@ -1,98 +0,0 @@
1
- import React, { useState } from "react";
2
- import { Box, Text, useInput } from "ink";
3
-
4
- export interface MemoryTypeSelectorProps {
5
- message: string;
6
- onSelect: (type: "project" | "user") => void;
7
- onCancel: () => void;
8
- }
9
-
10
- export const MemoryTypeSelector: React.FC<MemoryTypeSelectorProps> = ({
11
- message,
12
- onSelect,
13
- onCancel,
14
- }) => {
15
- const [selectedIndex, setSelectedIndex] = useState(0);
16
-
17
- const options = [
18
- {
19
- type: "project" as const,
20
- label: "Project Memory",
21
- description: "Save to current project (AGENTS.md)",
22
- },
23
- {
24
- type: "user" as const,
25
- label: "User Memory",
26
- description: "Save to user global memory",
27
- },
28
- ];
29
-
30
- useInput((input, key) => {
31
- if (key.return) {
32
- const selectedOption = options[selectedIndex];
33
- onSelect(selectedOption.type);
34
- return;
35
- }
36
-
37
- if (key.escape) {
38
- onCancel();
39
- return;
40
- }
41
-
42
- if (key.upArrow) {
43
- setSelectedIndex(Math.max(0, selectedIndex - 1));
44
- return;
45
- }
46
-
47
- if (key.downArrow) {
48
- setSelectedIndex(Math.min(options.length - 1, selectedIndex + 1));
49
- return;
50
- }
51
- });
52
-
53
- return (
54
- <Box
55
- flexDirection="column"
56
- borderStyle="single"
57
- borderColor="green"
58
- borderBottom={false}
59
- borderLeft={false}
60
- borderRight={false}
61
- paddingTop={1}
62
- gap={1}
63
- >
64
- <Box>
65
- <Text color="green" bold>
66
- Save Memory: "{message.substring(1).trim()}"
67
- </Text>
68
- </Box>
69
-
70
- <Text color="gray">Choose where to save this memory:</Text>
71
-
72
- {options.map((option, index) => (
73
- <Box key={option.type} flexDirection="column">
74
- <Text
75
- color={index === selectedIndex ? "black" : "white"}
76
- backgroundColor={index === selectedIndex ? "green" : undefined}
77
- bold={index === selectedIndex}
78
- >
79
- {option.label}
80
- </Text>
81
- {index === selectedIndex && (
82
- <Box marginLeft={2}>
83
- <Text color="gray" dimColor>
84
- {option.description}
85
- </Text>
86
- </Box>
87
- )}
88
- </Box>
89
- ))}
90
-
91
- <Box>
92
- <Text dimColor>
93
- Use ↑↓ to navigate, Enter to select, Escape to cancel
94
- </Text>
95
- </Box>
96
- </Box>
97
- );
98
- };