@herbcaudill/ralph 0.8.5 → 1.0.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/dist/index.js +2401 -5
- package/dist/index.js.map +1 -1
- package/package.json +9 -7
- package/templates/core-prompt.md +77 -0
- package/templates/skills/manage-tasks/SKILL.md +113 -0
- package/templates/workflow.md +46 -0
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -81
- package/dist/cli.js.map +0 -1
- package/dist/components/App.d.ts +0 -12
- package/dist/components/App.d.ts.map +0 -1
- package/dist/components/App.js +0 -14
- package/dist/components/App.js.map +0 -1
- package/dist/components/EnhancedTextInput.d.ts +0 -22
- package/dist/components/EnhancedTextInput.d.ts.map +0 -1
- package/dist/components/EnhancedTextInput.js +0 -164
- package/dist/components/EnhancedTextInput.js.map +0 -1
- package/dist/components/EnhancedTextInput.test.d.ts +0 -2
- package/dist/components/EnhancedTextInput.test.d.ts.map +0 -1
- package/dist/components/EnhancedTextInput.test.js +0 -107
- package/dist/components/EnhancedTextInput.test.js.map +0 -1
- package/dist/components/EventDisplay.d.ts +0 -14
- package/dist/components/EventDisplay.d.ts.map +0 -1
- package/dist/components/EventDisplay.js +0 -182
- package/dist/components/EventDisplay.js.map +0 -1
- package/dist/components/EventDisplay.replay.test.d.ts +0 -2
- package/dist/components/EventDisplay.replay.test.d.ts.map +0 -1
- package/dist/components/EventDisplay.replay.test.js +0 -413
- package/dist/components/EventDisplay.replay.test.js.map +0 -1
- package/dist/components/EventDisplay.test.d.ts +0 -2
- package/dist/components/EventDisplay.test.d.ts.map +0 -1
- package/dist/components/EventDisplay.test.js +0 -319
- package/dist/components/EventDisplay.test.js.map +0 -1
- package/dist/components/FullScreenLayout.d.ts +0 -14
- package/dist/components/FullScreenLayout.d.ts.map +0 -1
- package/dist/components/FullScreenLayout.js +0 -30
- package/dist/components/FullScreenLayout.js.map +0 -1
- package/dist/components/Header.d.ts +0 -9
- package/dist/components/Header.d.ts.map +0 -1
- package/dist/components/Header.js +0 -15
- package/dist/components/Header.js.map +0 -1
- package/dist/components/Header.test.d.ts +0 -2
- package/dist/components/Header.test.d.ts.map +0 -1
- package/dist/components/Header.test.js +0 -27
- package/dist/components/Header.test.js.map +0 -1
- package/dist/components/InitRalph.d.ts +0 -3
- package/dist/components/InitRalph.d.ts.map +0 -1
- package/dist/components/InitRalph.js +0 -154
- package/dist/components/InitRalph.js.map +0 -1
- package/dist/components/IterationRunner.d.ts +0 -17
- package/dist/components/IterationRunner.d.ts.map +0 -1
- package/dist/components/IterationRunner.js +0 -620
- package/dist/components/IterationRunner.js.map +0 -1
- package/dist/components/IterationRunner.test.d.ts +0 -2
- package/dist/components/IterationRunner.test.d.ts.map +0 -1
- package/dist/components/IterationRunner.test.js +0 -129
- package/dist/components/IterationRunner.test.js.map +0 -1
- package/dist/components/JsonOutput.d.ts +0 -14
- package/dist/components/JsonOutput.d.ts.map +0 -1
- package/dist/components/JsonOutput.js +0 -246
- package/dist/components/JsonOutput.js.map +0 -1
- package/dist/components/ProgressBar.d.ts +0 -18
- package/dist/components/ProgressBar.d.ts.map +0 -1
- package/dist/components/ProgressBar.js +0 -30
- package/dist/components/ProgressBar.js.map +0 -1
- package/dist/components/ProgressBar.test.d.ts +0 -2
- package/dist/components/ProgressBar.test.d.ts.map +0 -1
- package/dist/components/ProgressBar.test.js +0 -55
- package/dist/components/ProgressBar.test.js.map +0 -1
- package/dist/components/ReplayLog.d.ts +0 -7
- package/dist/components/ReplayLog.d.ts.map +0 -1
- package/dist/components/ReplayLog.js +0 -50
- package/dist/components/ReplayLog.js.map +0 -1
- package/dist/components/StreamingText.d.ts +0 -7
- package/dist/components/StreamingText.d.ts.map +0 -1
- package/dist/components/StreamingText.js +0 -36
- package/dist/components/StreamingText.js.map +0 -1
- package/dist/components/StreamingText.test.d.ts +0 -2
- package/dist/components/StreamingText.test.d.ts.map +0 -1
- package/dist/components/StreamingText.test.js +0 -86
- package/dist/components/StreamingText.test.js.map +0 -1
- package/dist/components/ToolUse.d.ts +0 -8
- package/dist/components/ToolUse.d.ts.map +0 -1
- package/dist/components/ToolUse.js +0 -10
- package/dist/components/ToolUse.js.map +0 -1
- package/dist/components/ToolUse.test.d.ts +0 -2
- package/dist/components/ToolUse.test.d.ts.map +0 -1
- package/dist/components/ToolUse.test.js +0 -43
- package/dist/components/ToolUse.test.js.map +0 -1
- package/dist/components/eventToBlocks.d.ts +0 -16
- package/dist/components/eventToBlocks.d.ts.map +0 -1
- package/dist/components/eventToBlocks.js +0 -160
- package/dist/components/eventToBlocks.js.map +0 -1
- package/dist/components/eventToBlocks.test.d.ts +0 -2
- package/dist/components/eventToBlocks.test.d.ts.map +0 -1
- package/dist/components/eventToBlocks.test.js +0 -466
- package/dist/components/eventToBlocks.test.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/MessageQueue.d.ts +0 -20
- package/dist/lib/MessageQueue.d.ts.map +0 -1
- package/dist/lib/MessageQueue.js +0 -89
- package/dist/lib/MessageQueue.js.map +0 -1
- package/dist/lib/MessageQueue.test.d.ts +0 -2
- package/dist/lib/MessageQueue.test.d.ts.map +0 -1
- package/dist/lib/MessageQueue.test.js +0 -224
- package/dist/lib/MessageQueue.test.js.map +0 -1
- package/dist/lib/StdinCommandHandler.d.ts +0 -42
- package/dist/lib/StdinCommandHandler.d.ts.map +0 -1
- package/dist/lib/StdinCommandHandler.js +0 -102
- package/dist/lib/StdinCommandHandler.js.map +0 -1
- package/dist/lib/StdinCommandHandler.test.d.ts +0 -2
- package/dist/lib/StdinCommandHandler.test.d.ts.map +0 -1
- package/dist/lib/StdinCommandHandler.test.js +0 -93
- package/dist/lib/StdinCommandHandler.test.js.map +0 -1
- package/dist/lib/addTodo.d.ts +0 -11
- package/dist/lib/addTodo.d.ts.map +0 -1
- package/dist/lib/addTodo.js +0 -65
- package/dist/lib/addTodo.js.map +0 -1
- package/dist/lib/beadsClient.d.ts +0 -52
- package/dist/lib/beadsClient.d.ts.map +0 -1
- package/dist/lib/beadsClient.js +0 -171
- package/dist/lib/beadsClient.js.map +0 -1
- package/dist/lib/debug.d.ts +0 -18
- package/dist/lib/debug.d.ts.map +0 -1
- package/dist/lib/debug.js +0 -44
- package/dist/lib/debug.js.map +0 -1
- package/dist/lib/formatContentBlock.d.ts +0 -10
- package/dist/lib/formatContentBlock.d.ts.map +0 -1
- package/dist/lib/formatContentBlock.js +0 -69
- package/dist/lib/formatContentBlock.js.map +0 -1
- package/dist/lib/getClaudeVersion.d.ts +0 -2
- package/dist/lib/getClaudeVersion.d.ts.map +0 -1
- package/dist/lib/getClaudeVersion.js +0 -17
- package/dist/lib/getClaudeVersion.js.map +0 -1
- package/dist/lib/getClaudeVersion.test.d.ts +0 -2
- package/dist/lib/getClaudeVersion.test.d.ts.map +0 -1
- package/dist/lib/getClaudeVersion.test.js +0 -39
- package/dist/lib/getClaudeVersion.test.js.map +0 -1
- package/dist/lib/getNextLogFile.d.ts +0 -12
- package/dist/lib/getNextLogFile.d.ts.map +0 -1
- package/dist/lib/getNextLogFile.js +0 -52
- package/dist/lib/getNextLogFile.js.map +0 -1
- package/dist/lib/getNextLogFile.test.d.ts +0 -2
- package/dist/lib/getNextLogFile.test.d.ts.map +0 -1
- package/dist/lib/getNextLogFile.test.js +0 -65
- package/dist/lib/getNextLogFile.test.js.map +0 -1
- package/dist/lib/getOpenIssueCount.d.ts +0 -11
- package/dist/lib/getOpenIssueCount.d.ts.map +0 -1
- package/dist/lib/getOpenIssueCount.js +0 -31
- package/dist/lib/getOpenIssueCount.js.map +0 -1
- package/dist/lib/getOpenIssueCount.test.d.ts +0 -2
- package/dist/lib/getOpenIssueCount.test.d.ts.map +0 -1
- package/dist/lib/getOpenIssueCount.test.js +0 -65
- package/dist/lib/getOpenIssueCount.test.js.map +0 -1
- package/dist/lib/getProgress.d.ts +0 -34
- package/dist/lib/getProgress.d.ts.map +0 -1
- package/dist/lib/getProgress.js +0 -131
- package/dist/lib/getProgress.js.map +0 -1
- package/dist/lib/getProgress.test.d.ts +0 -2
- package/dist/lib/getProgress.test.d.ts.map +0 -1
- package/dist/lib/getProgress.test.js +0 -217
- package/dist/lib/getProgress.test.js.map +0 -1
- package/dist/lib/rel.d.ts +0 -2
- package/dist/lib/rel.d.ts.map +0 -1
- package/dist/lib/rel.js +0 -10
- package/dist/lib/rel.js.map +0 -1
- package/dist/lib/rel.test.d.ts +0 -2
- package/dist/lib/rel.test.d.ts.map +0 -1
- package/dist/lib/rel.test.js +0 -36
- package/dist/lib/rel.test.js.map +0 -1
- package/dist/lib/shortenTempPaths.d.ts +0 -2
- package/dist/lib/shortenTempPaths.d.ts.map +0 -1
- package/dist/lib/shortenTempPaths.js +0 -7
- package/dist/lib/shortenTempPaths.js.map +0 -1
- package/dist/lib/shortenTempPaths.test.d.ts +0 -2
- package/dist/lib/shortenTempPaths.test.d.ts.map +0 -1
- package/dist/lib/shortenTempPaths.test.js +0 -46
- package/dist/lib/shortenTempPaths.test.js.map +0 -1
- package/dist/lib/useTerminalSize.d.ts +0 -5
- package/dist/lib/useTerminalSize.d.ts.map +0 -1
- package/dist/lib/useTerminalSize.js +0 -21
- package/dist/lib/useTerminalSize.js.map +0 -1
- package/templates/prompt-beads.md +0 -44
- package/templates/prompt-todos.md +0 -17
- package/templates/todo.md +0 -9
|
@@ -1,466 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from "vitest";
|
|
2
|
-
import { eventToBlocks } from "./eventToBlocks.js";
|
|
3
|
-
describe("eventToBlocks", () => {
|
|
4
|
-
it("returns empty array for non-assistant events", () => {
|
|
5
|
-
const event = { type: "message_start" };
|
|
6
|
-
const result = eventToBlocks(event);
|
|
7
|
-
expect(result).toEqual([]);
|
|
8
|
-
});
|
|
9
|
-
it("returns empty array for assistant event without message", () => {
|
|
10
|
-
const event = { type: "assistant" };
|
|
11
|
-
const result = eventToBlocks(event);
|
|
12
|
-
expect(result).toEqual([]);
|
|
13
|
-
});
|
|
14
|
-
it("returns empty array for assistant event without content", () => {
|
|
15
|
-
const event = { type: "assistant", message: {} };
|
|
16
|
-
const result = eventToBlocks(event);
|
|
17
|
-
expect(result).toEqual([]);
|
|
18
|
-
});
|
|
19
|
-
it("extracts text blocks", () => {
|
|
20
|
-
const event = {
|
|
21
|
-
type: "assistant",
|
|
22
|
-
message: {
|
|
23
|
-
id: "msg_123",
|
|
24
|
-
content: [{ type: "text", text: "Hello world" }],
|
|
25
|
-
},
|
|
26
|
-
};
|
|
27
|
-
const result = eventToBlocks(event);
|
|
28
|
-
expect(result).toEqual([{ type: "text", content: "Hello world", id: "msg_123-0" }]);
|
|
29
|
-
});
|
|
30
|
-
it("merges consecutive text blocks", () => {
|
|
31
|
-
const event = {
|
|
32
|
-
type: "assistant",
|
|
33
|
-
message: {
|
|
34
|
-
id: "msg_123",
|
|
35
|
-
content: [
|
|
36
|
-
{ type: "text", text: "First" },
|
|
37
|
-
{ type: "text", text: "Second" },
|
|
38
|
-
],
|
|
39
|
-
},
|
|
40
|
-
};
|
|
41
|
-
const result = eventToBlocks(event);
|
|
42
|
-
expect(result).toEqual([{ type: "text", content: "FirstSecond", id: "msg_123-0" }]);
|
|
43
|
-
});
|
|
44
|
-
it("keeps text blocks separate when interrupted by tool calls", () => {
|
|
45
|
-
const event = {
|
|
46
|
-
type: "assistant",
|
|
47
|
-
message: {
|
|
48
|
-
id: "msg_123",
|
|
49
|
-
content: [
|
|
50
|
-
{ type: "text", text: "Before tool" },
|
|
51
|
-
{
|
|
52
|
-
type: "tool_use",
|
|
53
|
-
name: "Read",
|
|
54
|
-
input: { file_path: `${process.cwd()}/file.ts` },
|
|
55
|
-
},
|
|
56
|
-
{ type: "text", text: "After tool" },
|
|
57
|
-
],
|
|
58
|
-
},
|
|
59
|
-
};
|
|
60
|
-
const result = eventToBlocks(event);
|
|
61
|
-
expect(result).toEqual([
|
|
62
|
-
{ type: "text", content: "Before tool", id: "msg_123-0" },
|
|
63
|
-
{ type: "tool", name: "Read", arg: "file.ts", id: "msg_123-1" },
|
|
64
|
-
{ type: "text", content: "After tool", id: "msg_123-2" },
|
|
65
|
-
]);
|
|
66
|
-
});
|
|
67
|
-
it("extracts Read tool use with relative path", () => {
|
|
68
|
-
const event = {
|
|
69
|
-
type: "assistant",
|
|
70
|
-
message: {
|
|
71
|
-
id: "msg_123",
|
|
72
|
-
content: [
|
|
73
|
-
{
|
|
74
|
-
type: "tool_use",
|
|
75
|
-
name: "Read",
|
|
76
|
-
input: { file_path: `${process.cwd()}/src/index.ts` },
|
|
77
|
-
},
|
|
78
|
-
],
|
|
79
|
-
},
|
|
80
|
-
};
|
|
81
|
-
const result = eventToBlocks(event);
|
|
82
|
-
expect(result).toEqual([{ type: "tool", name: "Read", arg: "src/index.ts", id: "msg_123-0" }]);
|
|
83
|
-
});
|
|
84
|
-
it("extracts Edit tool use", () => {
|
|
85
|
-
const event = {
|
|
86
|
-
type: "assistant",
|
|
87
|
-
message: {
|
|
88
|
-
id: "msg_123",
|
|
89
|
-
content: [
|
|
90
|
-
{
|
|
91
|
-
type: "tool_use",
|
|
92
|
-
name: "Edit",
|
|
93
|
-
input: { file_path: `${process.cwd()}/src/app.ts` },
|
|
94
|
-
},
|
|
95
|
-
],
|
|
96
|
-
},
|
|
97
|
-
};
|
|
98
|
-
const result = eventToBlocks(event);
|
|
99
|
-
expect(result).toEqual([{ type: "tool", name: "Edit", arg: "src/app.ts", id: "msg_123-0" }]);
|
|
100
|
-
});
|
|
101
|
-
it("extracts Write tool use", () => {
|
|
102
|
-
const event = {
|
|
103
|
-
type: "assistant",
|
|
104
|
-
message: {
|
|
105
|
-
id: "msg_123",
|
|
106
|
-
content: [
|
|
107
|
-
{
|
|
108
|
-
type: "tool_use",
|
|
109
|
-
name: "Write",
|
|
110
|
-
input: { file_path: `${process.cwd()}/src/new.ts` },
|
|
111
|
-
},
|
|
112
|
-
],
|
|
113
|
-
},
|
|
114
|
-
};
|
|
115
|
-
const result = eventToBlocks(event);
|
|
116
|
-
expect(result).toEqual([{ type: "tool", name: "Write", arg: "src/new.ts", id: "msg_123-0" }]);
|
|
117
|
-
});
|
|
118
|
-
it("extracts Bash tool use with shortened temp paths", () => {
|
|
119
|
-
const event = {
|
|
120
|
-
type: "assistant",
|
|
121
|
-
message: {
|
|
122
|
-
id: "msg_123",
|
|
123
|
-
content: [
|
|
124
|
-
{
|
|
125
|
-
type: "tool_use",
|
|
126
|
-
name: "Bash",
|
|
127
|
-
input: { command: "cat /tmp/temp-file.txt" },
|
|
128
|
-
},
|
|
129
|
-
],
|
|
130
|
-
},
|
|
131
|
-
};
|
|
132
|
-
const result = eventToBlocks(event);
|
|
133
|
-
expect(result).toEqual([{ type: "tool", name: "$", arg: "cat temp-file.txt", id: "msg_123-0" }]);
|
|
134
|
-
});
|
|
135
|
-
it("extracts Grep tool use with pattern only", () => {
|
|
136
|
-
const event = {
|
|
137
|
-
type: "assistant",
|
|
138
|
-
message: {
|
|
139
|
-
id: "msg_123",
|
|
140
|
-
content: [
|
|
141
|
-
{
|
|
142
|
-
type: "tool_use",
|
|
143
|
-
name: "Grep",
|
|
144
|
-
input: { pattern: "search-term" },
|
|
145
|
-
},
|
|
146
|
-
],
|
|
147
|
-
},
|
|
148
|
-
};
|
|
149
|
-
const result = eventToBlocks(event);
|
|
150
|
-
expect(result).toEqual([{ type: "tool", name: "Grep", arg: "search-term", id: "msg_123-0" }]);
|
|
151
|
-
});
|
|
152
|
-
it("extracts Grep tool use with pattern and path", () => {
|
|
153
|
-
const event = {
|
|
154
|
-
type: "assistant",
|
|
155
|
-
message: {
|
|
156
|
-
id: "msg_123",
|
|
157
|
-
content: [
|
|
158
|
-
{
|
|
159
|
-
type: "tool_use",
|
|
160
|
-
name: "Grep",
|
|
161
|
-
input: { pattern: "TODO", path: `${process.cwd()}/src` },
|
|
162
|
-
},
|
|
163
|
-
],
|
|
164
|
-
},
|
|
165
|
-
};
|
|
166
|
-
const result = eventToBlocks(event);
|
|
167
|
-
expect(result).toEqual([{ type: "tool", name: "Grep", arg: "TODO in src", id: "msg_123-0" }]);
|
|
168
|
-
});
|
|
169
|
-
it("extracts Glob tool use with pattern only", () => {
|
|
170
|
-
const event = {
|
|
171
|
-
type: "assistant",
|
|
172
|
-
message: {
|
|
173
|
-
id: "msg_123",
|
|
174
|
-
content: [
|
|
175
|
-
{
|
|
176
|
-
type: "tool_use",
|
|
177
|
-
name: "Glob",
|
|
178
|
-
input: { pattern: "**/*.ts" },
|
|
179
|
-
},
|
|
180
|
-
],
|
|
181
|
-
},
|
|
182
|
-
};
|
|
183
|
-
const result = eventToBlocks(event);
|
|
184
|
-
expect(result).toEqual([{ type: "tool", name: "Glob", arg: "**/*.ts", id: "msg_123-0" }]);
|
|
185
|
-
});
|
|
186
|
-
it("extracts Glob tool use with pattern and path", () => {
|
|
187
|
-
const event = {
|
|
188
|
-
type: "assistant",
|
|
189
|
-
message: {
|
|
190
|
-
id: "msg_123",
|
|
191
|
-
content: [
|
|
192
|
-
{
|
|
193
|
-
type: "tool_use",
|
|
194
|
-
name: "Glob",
|
|
195
|
-
input: { pattern: "*.json", path: `${process.cwd()}/config` },
|
|
196
|
-
},
|
|
197
|
-
],
|
|
198
|
-
},
|
|
199
|
-
};
|
|
200
|
-
const result = eventToBlocks(event);
|
|
201
|
-
expect(result).toEqual([
|
|
202
|
-
{ type: "tool", name: "Glob", arg: "*.json in config", id: "msg_123-0" },
|
|
203
|
-
]);
|
|
204
|
-
});
|
|
205
|
-
it("extracts TodoWrite with todos", () => {
|
|
206
|
-
const event = {
|
|
207
|
-
type: "assistant",
|
|
208
|
-
message: {
|
|
209
|
-
id: "msg_123",
|
|
210
|
-
content: [
|
|
211
|
-
{
|
|
212
|
-
type: "tool_use",
|
|
213
|
-
name: "TodoWrite",
|
|
214
|
-
input: {
|
|
215
|
-
todos: [
|
|
216
|
-
{ content: "Task 1", status: "pending" },
|
|
217
|
-
{ content: "Task 2", status: "in_progress" },
|
|
218
|
-
{ content: "Task 3", status: "completed" },
|
|
219
|
-
],
|
|
220
|
-
},
|
|
221
|
-
},
|
|
222
|
-
],
|
|
223
|
-
},
|
|
224
|
-
};
|
|
225
|
-
const result = eventToBlocks(event);
|
|
226
|
-
expect(result).toEqual([
|
|
227
|
-
{
|
|
228
|
-
type: "tool",
|
|
229
|
-
name: "TodoWrite",
|
|
230
|
-
arg: "\n [ ] Task 1\n [~] Task 2\n [x] Task 3",
|
|
231
|
-
id: "msg_123-0",
|
|
232
|
-
},
|
|
233
|
-
]);
|
|
234
|
-
});
|
|
235
|
-
it("extracts TodoWrite without todos", () => {
|
|
236
|
-
const event = {
|
|
237
|
-
type: "assistant",
|
|
238
|
-
message: {
|
|
239
|
-
id: "msg_123",
|
|
240
|
-
content: [
|
|
241
|
-
{
|
|
242
|
-
type: "tool_use",
|
|
243
|
-
name: "TodoWrite",
|
|
244
|
-
input: { todos: [] },
|
|
245
|
-
},
|
|
246
|
-
],
|
|
247
|
-
},
|
|
248
|
-
};
|
|
249
|
-
const result = eventToBlocks(event);
|
|
250
|
-
expect(result).toEqual([{ type: "tool", name: "TodoWrite", id: "msg_123-0" }]);
|
|
251
|
-
});
|
|
252
|
-
it("extracts WebFetch tool use", () => {
|
|
253
|
-
const event = {
|
|
254
|
-
type: "assistant",
|
|
255
|
-
message: {
|
|
256
|
-
id: "msg_123",
|
|
257
|
-
content: [
|
|
258
|
-
{
|
|
259
|
-
type: "tool_use",
|
|
260
|
-
name: "WebFetch",
|
|
261
|
-
input: { url: "https://example.com" },
|
|
262
|
-
},
|
|
263
|
-
],
|
|
264
|
-
},
|
|
265
|
-
};
|
|
266
|
-
const result = eventToBlocks(event);
|
|
267
|
-
expect(result).toEqual([
|
|
268
|
-
{
|
|
269
|
-
type: "tool",
|
|
270
|
-
name: "WebFetch",
|
|
271
|
-
arg: "https://example.com",
|
|
272
|
-
id: "msg_123-0",
|
|
273
|
-
},
|
|
274
|
-
]);
|
|
275
|
-
});
|
|
276
|
-
it("extracts WebSearch tool use", () => {
|
|
277
|
-
const event = {
|
|
278
|
-
type: "assistant",
|
|
279
|
-
message: {
|
|
280
|
-
id: "msg_123",
|
|
281
|
-
content: [
|
|
282
|
-
{
|
|
283
|
-
type: "tool_use",
|
|
284
|
-
name: "WebSearch",
|
|
285
|
-
input: { query: "test query" },
|
|
286
|
-
},
|
|
287
|
-
],
|
|
288
|
-
},
|
|
289
|
-
};
|
|
290
|
-
const result = eventToBlocks(event);
|
|
291
|
-
expect(result).toEqual([
|
|
292
|
-
{
|
|
293
|
-
type: "tool",
|
|
294
|
-
name: "WebSearch",
|
|
295
|
-
arg: "test query",
|
|
296
|
-
id: "msg_123-0",
|
|
297
|
-
},
|
|
298
|
-
]);
|
|
299
|
-
});
|
|
300
|
-
it("extracts Task tool use", () => {
|
|
301
|
-
const event = {
|
|
302
|
-
type: "assistant",
|
|
303
|
-
message: {
|
|
304
|
-
id: "msg_123",
|
|
305
|
-
content: [
|
|
306
|
-
{
|
|
307
|
-
type: "tool_use",
|
|
308
|
-
name: "Task",
|
|
309
|
-
input: { description: "Run tests" },
|
|
310
|
-
},
|
|
311
|
-
],
|
|
312
|
-
},
|
|
313
|
-
};
|
|
314
|
-
const result = eventToBlocks(event);
|
|
315
|
-
expect(result).toEqual([{ type: "tool", name: "Task", arg: "Run tests", id: "msg_123-0" }]);
|
|
316
|
-
});
|
|
317
|
-
it("extracts Skill tool use", () => {
|
|
318
|
-
const event = {
|
|
319
|
-
type: "assistant",
|
|
320
|
-
message: {
|
|
321
|
-
id: "msg_123",
|
|
322
|
-
content: [
|
|
323
|
-
{
|
|
324
|
-
type: "tool_use",
|
|
325
|
-
name: "Skill",
|
|
326
|
-
input: { skill: "commit" },
|
|
327
|
-
},
|
|
328
|
-
],
|
|
329
|
-
},
|
|
330
|
-
};
|
|
331
|
-
const result = eventToBlocks(event);
|
|
332
|
-
expect(result).toEqual([{ type: "tool", name: "Skill", arg: "commit", id: "msg_123-0" }]);
|
|
333
|
-
});
|
|
334
|
-
it("ignores unknown tool types", () => {
|
|
335
|
-
const event = {
|
|
336
|
-
type: "assistant",
|
|
337
|
-
message: {
|
|
338
|
-
id: "msg_123",
|
|
339
|
-
content: [
|
|
340
|
-
{
|
|
341
|
-
type: "tool_use",
|
|
342
|
-
name: "UnknownTool",
|
|
343
|
-
input: { foo: "bar" },
|
|
344
|
-
},
|
|
345
|
-
],
|
|
346
|
-
},
|
|
347
|
-
};
|
|
348
|
-
const result = eventToBlocks(event);
|
|
349
|
-
expect(result).toEqual([]);
|
|
350
|
-
});
|
|
351
|
-
it("handles mixed content types", () => {
|
|
352
|
-
const event = {
|
|
353
|
-
type: "assistant",
|
|
354
|
-
message: {
|
|
355
|
-
id: "msg_123",
|
|
356
|
-
content: [
|
|
357
|
-
{ type: "text", text: "Let me read a file" },
|
|
358
|
-
{
|
|
359
|
-
type: "tool_use",
|
|
360
|
-
name: "Read",
|
|
361
|
-
input: { file_path: `${process.cwd()}/src/index.ts` },
|
|
362
|
-
},
|
|
363
|
-
{ type: "text", text: "Done reading" },
|
|
364
|
-
],
|
|
365
|
-
},
|
|
366
|
-
};
|
|
367
|
-
const result = eventToBlocks(event);
|
|
368
|
-
expect(result).toEqual([
|
|
369
|
-
{ type: "text", content: "Let me read a file", id: "msg_123-0" },
|
|
370
|
-
{ type: "tool", name: "Read", arg: "src/index.ts", id: "msg_123-1" },
|
|
371
|
-
{ type: "text", content: "Done reading", id: "msg_123-2" },
|
|
372
|
-
]);
|
|
373
|
-
});
|
|
374
|
-
it("generates unique IDs for each block", () => {
|
|
375
|
-
const event = {
|
|
376
|
-
type: "assistant",
|
|
377
|
-
message: {
|
|
378
|
-
id: "msg_123",
|
|
379
|
-
content: [
|
|
380
|
-
{ type: "text", text: "First" },
|
|
381
|
-
{
|
|
382
|
-
type: "tool_use",
|
|
383
|
-
name: "Read",
|
|
384
|
-
input: { file_path: `${process.cwd()}/file1.ts` },
|
|
385
|
-
},
|
|
386
|
-
{ type: "text", text: "Second" },
|
|
387
|
-
{
|
|
388
|
-
type: "tool_use",
|
|
389
|
-
name: "Read",
|
|
390
|
-
input: { file_path: `${process.cwd()}/file2.ts` },
|
|
391
|
-
},
|
|
392
|
-
{ type: "text", text: "Third" },
|
|
393
|
-
],
|
|
394
|
-
},
|
|
395
|
-
};
|
|
396
|
-
const result = eventToBlocks(event);
|
|
397
|
-
const ids = result.map(block => block.id);
|
|
398
|
-
expect(ids).toEqual(["msg_123-0", "msg_123-1", "msg_123-2", "msg_123-3", "msg_123-4"]);
|
|
399
|
-
expect(new Set(ids).size).toBe(5); // All unique
|
|
400
|
-
});
|
|
401
|
-
it('uses "unknown" ID when message has no ID', () => {
|
|
402
|
-
const event = {
|
|
403
|
-
type: "assistant",
|
|
404
|
-
message: {
|
|
405
|
-
content: [{ type: "text", text: "Hello" }],
|
|
406
|
-
},
|
|
407
|
-
};
|
|
408
|
-
const result = eventToBlocks(event);
|
|
409
|
-
expect(result[0].id).toBe("unknown-0");
|
|
410
|
-
});
|
|
411
|
-
it("extracts user message text", () => {
|
|
412
|
-
const event = {
|
|
413
|
-
type: "user",
|
|
414
|
-
message: {
|
|
415
|
-
id: "user-msg-123",
|
|
416
|
-
role: "user",
|
|
417
|
-
content: [{ type: "text", text: "Hello Claude" }],
|
|
418
|
-
},
|
|
419
|
-
};
|
|
420
|
-
const result = eventToBlocks(event);
|
|
421
|
-
expect(result).toEqual([{ type: "user", content: "Hello Claude", id: "user-msg-123" }]);
|
|
422
|
-
});
|
|
423
|
-
it("returns empty array for user message without content", () => {
|
|
424
|
-
const event = {
|
|
425
|
-
type: "user",
|
|
426
|
-
message: {
|
|
427
|
-
id: "user-msg-123",
|
|
428
|
-
role: "user",
|
|
429
|
-
},
|
|
430
|
-
};
|
|
431
|
-
const result = eventToBlocks(event);
|
|
432
|
-
expect(result).toEqual([]);
|
|
433
|
-
});
|
|
434
|
-
it("concatenates multiple text blocks in user message", () => {
|
|
435
|
-
const event = {
|
|
436
|
-
type: "user",
|
|
437
|
-
message: {
|
|
438
|
-
id: "user-msg-123",
|
|
439
|
-
role: "user",
|
|
440
|
-
content: [
|
|
441
|
-
{ type: "text", text: "First part " },
|
|
442
|
-
{ type: "text", text: "second part" },
|
|
443
|
-
],
|
|
444
|
-
},
|
|
445
|
-
};
|
|
446
|
-
const result = eventToBlocks(event);
|
|
447
|
-
expect(result).toEqual([
|
|
448
|
-
{ type: "user", content: "First part second part", id: "user-msg-123" },
|
|
449
|
-
]);
|
|
450
|
-
});
|
|
451
|
-
it("generates timestamp-based ID for user message without ID", () => {
|
|
452
|
-
const event = {
|
|
453
|
-
type: "user",
|
|
454
|
-
message: {
|
|
455
|
-
role: "user",
|
|
456
|
-
content: [{ type: "text", text: "Hello" }],
|
|
457
|
-
},
|
|
458
|
-
};
|
|
459
|
-
const result = eventToBlocks(event);
|
|
460
|
-
expect(result.length).toBe(1);
|
|
461
|
-
expect(result[0].type).toBe("user");
|
|
462
|
-
expect(result[0]).toHaveProperty("content", "Hello");
|
|
463
|
-
expect(result[0].id).toMatch(/^user-\d+$/);
|
|
464
|
-
});
|
|
465
|
-
});
|
|
466
|
-
//# sourceMappingURL=eventToBlocks.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eventToBlocks.test.js","sourceRoot":"","sources":["../../src/components/eventToBlocks.test.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
DELETED
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,GAAG,YAEf,CAAA"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { SDKUserMessage } from "@anthropic-ai/claude-agent-sdk";
|
|
2
|
-
/**
|
|
3
|
-
* A message queue that can be used as an async iterable for the SDK's streamInput.
|
|
4
|
-
* Allows pushing messages dynamically while iterating.
|
|
5
|
-
*/
|
|
6
|
-
export declare class MessageQueue implements AsyncIterable<SDKUserMessage> {
|
|
7
|
-
private queue;
|
|
8
|
-
private resolvers;
|
|
9
|
-
private closed;
|
|
10
|
-
private nextCallCount;
|
|
11
|
-
push(message: SDKUserMessage): void;
|
|
12
|
-
close(): void;
|
|
13
|
-
private getMessagePreview;
|
|
14
|
-
[Symbol.asyncIterator](): AsyncIterator<SDKUserMessage>;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Create an SDKUserMessage from text.
|
|
18
|
-
*/
|
|
19
|
-
export declare const createUserMessage: (text: string) => SDKUserMessage;
|
|
20
|
-
//# sourceMappingURL=MessageQueue.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MessageQueue.d.ts","sourceRoot":"","sources":["../../src/lib/MessageQueue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAKpE;;;GAGG;AACH,qBAAa,YAAa,YAAW,aAAa,CAAC,cAAc,CAAC;IAChE,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,SAAS,CAA8D;IAC/E,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,aAAa,CAAI;IAEzB,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAmBnC,KAAK,IAAI,IAAI;IAgBb,OAAO,CAAC,iBAAiB;IAYzB,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,cAAc,CAAC;CAwBxD;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,cAQ/C,CAAA"}
|
package/dist/lib/MessageQueue.js
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { createDebugLogger } from "./debug.js";
|
|
2
|
-
const log = createDebugLogger("messagequeue");
|
|
3
|
-
/**
|
|
4
|
-
* A message queue that can be used as an async iterable for the SDK's streamInput.
|
|
5
|
-
* Allows pushing messages dynamically while iterating.
|
|
6
|
-
*/
|
|
7
|
-
export class MessageQueue {
|
|
8
|
-
queue = [];
|
|
9
|
-
resolvers = [];
|
|
10
|
-
closed = false;
|
|
11
|
-
nextCallCount = 0;
|
|
12
|
-
push(message) {
|
|
13
|
-
const messagePreview = this.getMessagePreview(message);
|
|
14
|
-
log(`push() called with message: ${messagePreview}`);
|
|
15
|
-
if (this.closed) {
|
|
16
|
-
log(`push() ignored - queue is closed`);
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
if (this.resolvers.length > 0) {
|
|
20
|
-
const resolve = this.resolvers.shift();
|
|
21
|
-
log(`push() resolving pending next() call (${this.resolvers.length} resolvers remaining)`);
|
|
22
|
-
resolve({ value: message, done: false });
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
this.queue.push(message);
|
|
26
|
-
log(`push() added to queue (queue length: ${this.queue.length})`);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
close() {
|
|
30
|
-
if (this.closed) {
|
|
31
|
-
log(`close() called but already closed - no-op`);
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
log(`close() called - resolving ${this.resolvers.length} pending resolvers`);
|
|
35
|
-
this.closed = true;
|
|
36
|
-
// Resolve any pending iterators
|
|
37
|
-
for (const resolve of this.resolvers) {
|
|
38
|
-
log(`close() resolving pending resolver with done=true`);
|
|
39
|
-
resolve({ value: undefined, done: true });
|
|
40
|
-
}
|
|
41
|
-
this.resolvers = [];
|
|
42
|
-
log(`close() complete`);
|
|
43
|
-
}
|
|
44
|
-
getMessagePreview(message) {
|
|
45
|
-
const content = message.message?.content;
|
|
46
|
-
if (Array.isArray(content) && content.length > 0) {
|
|
47
|
-
const firstBlock = content[0];
|
|
48
|
-
if ("text" in firstBlock && typeof firstBlock.text === "string") {
|
|
49
|
-
const text = firstBlock.text.slice(0, 50);
|
|
50
|
-
return text.length < firstBlock.text.length ? `"${text}..."` : `"${text}"`;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
return `[${message.type} message]`;
|
|
54
|
-
}
|
|
55
|
-
[Symbol.asyncIterator]() {
|
|
56
|
-
return {
|
|
57
|
-
next: () => {
|
|
58
|
-
this.nextCallCount++;
|
|
59
|
-
const callId = this.nextCallCount;
|
|
60
|
-
if (this.queue.length > 0) {
|
|
61
|
-
const message = this.queue.shift();
|
|
62
|
-
log(`next() #${callId}: returning queued message (${this.queue.length} remaining)`);
|
|
63
|
-
return Promise.resolve({ value: message, done: false });
|
|
64
|
-
}
|
|
65
|
-
if (this.closed) {
|
|
66
|
-
log(`next() #${callId}: queue closed, returning done=true`);
|
|
67
|
-
return Promise.resolve({ value: undefined, done: true });
|
|
68
|
-
}
|
|
69
|
-
log(`next() #${callId}: queue empty, creating pending resolver (${this.resolvers.length + 1} total)`);
|
|
70
|
-
return new Promise(resolve => {
|
|
71
|
-
this.resolvers.push(resolve);
|
|
72
|
-
});
|
|
73
|
-
},
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Create an SDKUserMessage from text.
|
|
79
|
-
*/
|
|
80
|
-
export const createUserMessage = (text) => ({
|
|
81
|
-
type: "user",
|
|
82
|
-
session_id: "",
|
|
83
|
-
message: {
|
|
84
|
-
role: "user",
|
|
85
|
-
content: [{ type: "text", text }],
|
|
86
|
-
},
|
|
87
|
-
parent_tool_use_id: null,
|
|
88
|
-
});
|
|
89
|
-
//# sourceMappingURL=MessageQueue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MessageQueue.js","sourceRoot":"","sources":["../../src/lib/MessageQueue.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MessageQueue.test.d.ts","sourceRoot":"","sources":["../../src/lib/MessageQueue.test.ts"],"names":[],"mappings":""}
|