@nodetool-ai/cli-chat 0.0.0-stage → 0.8.9-beta.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 (107) hide show
  1. package/README.md +13 -2
  2. package/dist/.nodetool-build-stamp +1 -0
  3. package/dist/ExecutionTree.d.ts +20 -0
  4. package/dist/ExecutionTree.d.ts.map +1 -0
  5. package/dist/ExecutionTree.js +100 -0
  6. package/dist/ExecutionTree.js.map +1 -0
  7. package/dist/agent-toolbelt.d.ts +15 -0
  8. package/dist/agent-toolbelt.d.ts.map +1 -0
  9. package/dist/agent-toolbelt.js +28 -0
  10. package/dist/agent-toolbelt.js.map +1 -0
  11. package/dist/app.d.ts +40 -0
  12. package/dist/app.d.ts.map +1 -0
  13. package/dist/app.js +1070 -0
  14. package/dist/app.js.map +1 -0
  15. package/dist/bash-tool.d.ts +13 -0
  16. package/dist/bash-tool.d.ts.map +1 -0
  17. package/dist/bash-tool.js +85 -0
  18. package/dist/bash-tool.js.map +1 -0
  19. package/dist/chat-codeact.d.ts +93 -0
  20. package/dist/chat-codeact.d.ts.map +1 -0
  21. package/dist/chat-codeact.js +179 -0
  22. package/dist/chat-codeact.js.map +1 -0
  23. package/dist/chat-context.d.ts +18 -0
  24. package/dist/chat-context.d.ts.map +1 -0
  25. package/dist/chat-context.js +32 -0
  26. package/dist/chat-context.js.map +1 -0
  27. package/dist/chat-entry.d.ts +13 -0
  28. package/dist/chat-entry.d.ts.map +1 -0
  29. package/dist/chat-entry.js +233 -0
  30. package/dist/chat-entry.js.map +1 -0
  31. package/dist/chat-media.d.ts +3 -0
  32. package/dist/chat-media.d.ts.map +1 -0
  33. package/dist/chat-media.js +46 -0
  34. package/dist/chat-media.js.map +1 -0
  35. package/dist/chat-prompts.d.ts +20 -0
  36. package/dist/chat-prompts.d.ts.map +1 -0
  37. package/dist/chat-prompts.js +42 -0
  38. package/dist/chat-prompts.js.map +1 -0
  39. package/dist/chat-sessions.d.ts +25 -0
  40. package/dist/chat-sessions.d.ts.map +1 -0
  41. package/dist/chat-sessions.js +153 -0
  42. package/dist/chat-sessions.js.map +1 -0
  43. package/dist/commands/agent.d.ts +33 -0
  44. package/dist/commands/agent.d.ts.map +1 -0
  45. package/dist/commands/agent.js +516 -0
  46. package/dist/commands/agent.js.map +1 -0
  47. package/dist/commands/tools.d.ts +11 -0
  48. package/dist/commands/tools.d.ts.map +1 -0
  49. package/dist/commands/tools.js +206 -0
  50. package/dist/commands/tools.js.map +1 -0
  51. package/dist/diagnose.d.ts +139 -0
  52. package/dist/diagnose.d.ts.map +1 -0
  53. package/dist/diagnose.js +435 -0
  54. package/dist/diagnose.js.map +1 -0
  55. package/dist/index.d.ts +14 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +40 -0
  58. package/dist/index.js.map +1 -0
  59. package/dist/markdown.d.ts +9 -0
  60. package/dist/markdown.d.ts.map +1 -0
  61. package/dist/markdown.js +53 -0
  62. package/dist/markdown.js.map +1 -0
  63. package/dist/nodetool.d.ts +3 -0
  64. package/dist/nodetool.d.ts.map +1 -0
  65. package/dist/nodetool.js +4 -0
  66. package/dist/nodetool.js.map +1 -0
  67. package/dist/permission-gate.d.ts +55 -0
  68. package/dist/permission-gate.d.ts.map +1 -0
  69. package/dist/permission-gate.js +118 -0
  70. package/dist/permission-gate.js.map +1 -0
  71. package/dist/readline-input.d.ts +23 -0
  72. package/dist/readline-input.d.ts.map +1 -0
  73. package/dist/readline-input.js +210 -0
  74. package/dist/readline-input.js.map +1 -0
  75. package/dist/settings.d.ts +19 -0
  76. package/dist/settings.d.ts.map +1 -0
  77. package/dist/settings.js +146 -0
  78. package/dist/settings.js.map +1 -0
  79. package/dist/stdin.d.ts +52 -0
  80. package/dist/stdin.d.ts.map +1 -0
  81. package/dist/stdin.js +363 -0
  82. package/dist/stdin.js.map +1 -0
  83. package/dist/terminal-clipboard.d.ts +3 -0
  84. package/dist/terminal-clipboard.d.ts.map +1 -0
  85. package/dist/terminal-clipboard.js +24 -0
  86. package/dist/terminal-clipboard.js.map +1 -0
  87. package/dist/terminal-mouse.d.ts +24 -0
  88. package/dist/terminal-mouse.d.ts.map +1 -0
  89. package/dist/terminal-mouse.js +84 -0
  90. package/dist/terminal-mouse.js.map +1 -0
  91. package/dist/terminal-screen.d.ts +41 -0
  92. package/dist/terminal-screen.d.ts.map +1 -0
  93. package/dist/terminal-screen.js +228 -0
  94. package/dist/terminal-screen.js.map +1 -0
  95. package/dist/tool-format.d.ts +54 -0
  96. package/dist/tool-format.d.ts.map +1 -0
  97. package/dist/tool-format.js +360 -0
  98. package/dist/tool-format.js.map +1 -0
  99. package/dist/useExecutionState.d.ts +44 -0
  100. package/dist/useExecutionState.d.ts.map +1 -0
  101. package/dist/useExecutionState.js +285 -0
  102. package/dist/useExecutionState.js.map +1 -0
  103. package/dist/websocket-client.d.ts +159 -0
  104. package/dist/websocket-client.d.ts.map +1 -0
  105. package/dist/websocket-client.js +677 -0
  106. package/dist/websocket-client.js.map +1 -0
  107. package/package.json +73 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-format.js","sourceRoot":"","sources":["../src/tool-format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * useExecutionState — Tracks agent task/step hierarchy from ProcessingMessages.
3
+ *
4
+ * Processes interleaved messages from parallel task execution and maintains
5
+ * a structured tree state for rendering by ExecutionTree.
6
+ */
7
+ import type { ProcessingMessage } from "@nodetool-ai/protocol";
8
+ export type StepStatus = "waiting" | "running" | "completed" | "failed";
9
+ export type TaskStatus = "planned" | "waiting" | "running" | "completed" | "failed";
10
+ export interface StepState {
11
+ id: string;
12
+ name: string;
13
+ status: StepStatus;
14
+ toolName?: string;
15
+ toolArgs?: string;
16
+ output: string;
17
+ error?: string;
18
+ startedAt?: number;
19
+ duration?: number;
20
+ }
21
+ export interface TaskState {
22
+ id: string;
23
+ name: string;
24
+ status: TaskStatus;
25
+ startedAt?: number;
26
+ duration?: number;
27
+ steps: StepState[];
28
+ expanded: boolean;
29
+ }
30
+ export interface ExecutionState {
31
+ phase: "idle" | "planning" | "executing" | "done";
32
+ planningContent: string;
33
+ tasks: TaskState[];
34
+ selectedIndex: number;
35
+ }
36
+ export declare function useExecutionState(): {
37
+ state: ExecutionState;
38
+ processMessage: (msg: ProcessingMessage) => void;
39
+ navigate: (direction: "up" | "down") => void;
40
+ toggleExpand: () => void;
41
+ reset: () => void;
42
+ markDone: () => void;
43
+ };
44
+ //# sourceMappingURL=useExecutionState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExecutionState.d.ts","sourceRoot":"","sources":["../src/useExecutionState.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAQ/D,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AACxE,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,SAAS,GACT,SAAS,GACT,WAAW,GACX,QAAQ,CAAC;AAEb,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;IAClD,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAgBD,wBAAgB,iBAAiB;;0BAWvB,iBAAiB;0BA+PX,IAAI,GAAG,MAAM;;;;EA6B5B"}
@@ -0,0 +1,285 @@
1
+ /**
2
+ * useExecutionState — Tracks agent task/step hierarchy from ProcessingMessages.
3
+ *
4
+ * Processes interleaved messages from parallel task execution and maintains
5
+ * a structured tree state for rendering by ExecutionTree.
6
+ */
7
+ import { useCallback, useRef, useState } from "react";
8
+ import { TaskUpdateEvent } from "@nodetool-ai/protocol";
9
+ import { isString } from "@nodetool-ai/cli-common/predicates";
10
+ const INITIAL_STATE = {
11
+ phase: "idle",
12
+ planningContent: "",
13
+ tasks: [],
14
+ selectedIndex: 0,
15
+ };
16
+ // Max chars to keep in step output preview
17
+ const MAX_OUTPUT_LENGTH = 200;
18
+ // ---------------------------------------------------------------------------
19
+ // Hook
20
+ // ---------------------------------------------------------------------------
21
+ export function useExecutionState() {
22
+ const [state, setState] = useState({ ...INITIAL_STATE });
23
+ // Track which step is "active" per task for routing chunks
24
+ const activeStepRef = useRef(new Map());
25
+ const reset = useCallback(() => {
26
+ setState({ ...INITIAL_STATE });
27
+ activeStepRef.current.clear();
28
+ }, []);
29
+ const processMessage = useCallback((msg) => {
30
+ switch (msg.type) {
31
+ case "planning_update": {
32
+ const pu = msg;
33
+ setState((prev) => ({
34
+ ...prev,
35
+ phase: "planning",
36
+ planningContent: pu.content ?? prev.planningContent,
37
+ }));
38
+ break;
39
+ }
40
+ case "task_update": {
41
+ const tu = msg;
42
+ setState((prev) => {
43
+ const tasks = [...prev.tasks];
44
+ if (tu.event === TaskUpdateEvent.TaskPlanned) {
45
+ const existingIdx = tasks.findIndex((t) => t.id === tu.task.id);
46
+ const steps = (tu.task.steps ?? []).map((s) => ({
47
+ id: s.id ?? "",
48
+ name: s.instructions?.slice(0, 60) ?? s.id ?? "",
49
+ status: "waiting",
50
+ output: "",
51
+ }));
52
+ const plannedTask = {
53
+ id: tu.task.id ?? "",
54
+ name: tu.task.title ?? tu.task.name ?? tu.task.id ?? "",
55
+ status: "planned",
56
+ steps,
57
+ expanded: true,
58
+ };
59
+ if (existingIdx === -1) {
60
+ tasks.push(plannedTask);
61
+ }
62
+ else {
63
+ tasks[existingIdx] = {
64
+ ...plannedTask,
65
+ startedAt: tasks[existingIdx].startedAt,
66
+ };
67
+ }
68
+ return { ...prev, phase: "planning", tasks };
69
+ }
70
+ if (tu.event === TaskUpdateEvent.TaskRemoved) {
71
+ const filtered = tasks.filter((t) => t.id !== tu.task.id);
72
+ return { ...prev, tasks: filtered };
73
+ }
74
+ if (tu.event === TaskUpdateEvent.TaskCreated) {
75
+ const existingIdx = tasks.findIndex((t) => t.id === tu.task.id);
76
+ if (existingIdx === -1) {
77
+ const steps = (tu.task.steps ?? []).map((s) => ({
78
+ id: s.id ?? "",
79
+ name: s.instructions?.slice(0, 60) ?? s.id ?? "",
80
+ status: "waiting",
81
+ output: "",
82
+ }));
83
+ tasks.push({
84
+ id: tu.task.id ?? "",
85
+ name: tu.task.title ?? tu.task.name ?? tu.task.id ?? "",
86
+ status: "running",
87
+ startedAt: Date.now(),
88
+ steps,
89
+ expanded: true,
90
+ });
91
+ }
92
+ else {
93
+ tasks[existingIdx] = {
94
+ ...tasks[existingIdx],
95
+ status: "running",
96
+ startedAt: Date.now(),
97
+ };
98
+ }
99
+ return { ...prev, phase: "executing", tasks };
100
+ }
101
+ if (tu.event === TaskUpdateEvent.StepStarted) {
102
+ const taskIdx = tasks.findIndex((t) => t.id === tu.task.id);
103
+ if (taskIdx !== -1) {
104
+ const task = { ...tasks[taskIdx], steps: [...tasks[taskIdx].steps] };
105
+ const stepIdx = task.steps.findIndex((s) => s.id === tu.step?.id);
106
+ if (stepIdx !== -1) {
107
+ task.steps[stepIdx] = {
108
+ ...task.steps[stepIdx],
109
+ status: "running",
110
+ startedAt: Date.now(),
111
+ };
112
+ }
113
+ else if (tu.step?.id) {
114
+ // Step not in initial plan — add dynamically
115
+ task.steps.push({
116
+ id: tu.step.id,
117
+ name: tu.step.instructions?.slice(0, 60) ?? tu.step.id,
118
+ status: "running",
119
+ startedAt: Date.now(),
120
+ output: "",
121
+ });
122
+ }
123
+ task.status = "running";
124
+ tasks[taskIdx] = task;
125
+ activeStepRef.current.set(task.id, tu.step?.id ?? "");
126
+ }
127
+ return { ...prev, tasks };
128
+ }
129
+ if (tu.event === TaskUpdateEvent.StepCompleted ||
130
+ tu.event === TaskUpdateEvent.StepFailed) {
131
+ const taskIdx = tasks.findIndex((t) => t.id === tu.task.id);
132
+ if (taskIdx !== -1) {
133
+ const task = { ...tasks[taskIdx], steps: [...tasks[taskIdx].steps] };
134
+ const stepIdx = task.steps.findIndex((s) => s.id === tu.step?.id);
135
+ if (stepIdx !== -1) {
136
+ const step = task.steps[stepIdx];
137
+ const now = Date.now();
138
+ task.steps[stepIdx] = {
139
+ ...step,
140
+ status: tu.event === TaskUpdateEvent.StepCompleted
141
+ ? "completed"
142
+ : "failed",
143
+ duration: step.startedAt
144
+ ? (now - step.startedAt) / 1000
145
+ : undefined,
146
+ };
147
+ }
148
+ tasks[taskIdx] = task;
149
+ }
150
+ return { ...prev, tasks };
151
+ }
152
+ if (tu.event === TaskUpdateEvent.TaskCompleted ||
153
+ tu.event === TaskUpdateEvent.TaskFailed) {
154
+ const taskIdx = tasks.findIndex((t) => t.id === tu.task.id);
155
+ if (taskIdx !== -1) {
156
+ const task = tasks[taskIdx];
157
+ const now = Date.now();
158
+ tasks[taskIdx] = {
159
+ ...task,
160
+ status: tu.event === TaskUpdateEvent.TaskFailed
161
+ ? "failed"
162
+ : "completed",
163
+ expanded: false,
164
+ duration: task.startedAt
165
+ ? (now - task.startedAt) / 1000
166
+ : undefined,
167
+ };
168
+ activeStepRef.current.delete(task.id);
169
+ }
170
+ return { ...prev, tasks };
171
+ }
172
+ return prev;
173
+ });
174
+ break;
175
+ }
176
+ case "tool_call_update": {
177
+ const tc = msg;
178
+ const stepId = tc.node_id ?? tc.step_id;
179
+ if (!stepId)
180
+ break;
181
+ setState((prev) => {
182
+ const tasks = prev.tasks.map((task) => {
183
+ const stepIdx = task.steps.findIndex((s) => s.id === stepId);
184
+ if (stepIdx === -1)
185
+ return task;
186
+ const steps = [...task.steps];
187
+ const argsStr = Object.entries(tc.args ?? {})
188
+ .map(([k, v]) => {
189
+ const val = isString(v) ? v : JSON.stringify(v);
190
+ return `${k}: ${val.slice(0, 40)}`;
191
+ })
192
+ .join(", ");
193
+ steps[stepIdx] = {
194
+ ...steps[stepIdx],
195
+ toolName: tc.name,
196
+ toolArgs: argsStr,
197
+ status: "running",
198
+ };
199
+ return { ...task, steps };
200
+ });
201
+ return { ...prev, tasks };
202
+ });
203
+ break;
204
+ }
205
+ case "chunk": {
206
+ const ch = msg;
207
+ const stepId = ch.node_id;
208
+ if (!stepId)
209
+ break;
210
+ setState((prev) => {
211
+ const tasks = prev.tasks.map((task) => {
212
+ const stepIdx = task.steps.findIndex((s) => s.id === stepId);
213
+ if (stepIdx === -1)
214
+ return task;
215
+ const steps = [...task.steps];
216
+ const existing = steps[stepIdx].output;
217
+ const newOutput = existing + (ch.content ?? "");
218
+ steps[stepIdx] = {
219
+ ...steps[stepIdx],
220
+ output: newOutput.length > MAX_OUTPUT_LENGTH
221
+ ? newOutput.slice(-MAX_OUTPUT_LENGTH)
222
+ : newOutput,
223
+ status: "running",
224
+ };
225
+ return { ...task, steps };
226
+ });
227
+ return { ...prev, tasks };
228
+ });
229
+ break;
230
+ }
231
+ case "step_result": {
232
+ const sr = msg;
233
+ const stepId = sr.step?.id;
234
+ if (!stepId)
235
+ break;
236
+ setState((prev) => {
237
+ const tasks = prev.tasks.map((task) => {
238
+ const stepIdx = task.steps.findIndex((s) => s.id === stepId);
239
+ if (stepIdx === -1)
240
+ return task;
241
+ const steps = [...task.steps];
242
+ const result = isString(sr.result)
243
+ ? sr.result
244
+ : JSON.stringify(sr.result ?? "");
245
+ steps[stepIdx] = {
246
+ ...steps[stepIdx],
247
+ output: result.slice(0, MAX_OUTPUT_LENGTH),
248
+ status: sr.error ? "failed" : "completed",
249
+ error: sr.error ?? undefined,
250
+ };
251
+ return { ...task, steps };
252
+ });
253
+ return { ...prev, tasks };
254
+ });
255
+ break;
256
+ }
257
+ }
258
+ }, []);
259
+ const navigate = useCallback((direction) => {
260
+ setState((prev) => {
261
+ const max = prev.tasks.length - 1;
262
+ if (max < 0)
263
+ return prev;
264
+ const next = direction === "up"
265
+ ? Math.max(0, prev.selectedIndex - 1)
266
+ : Math.min(max, prev.selectedIndex + 1);
267
+ return { ...prev, selectedIndex: next };
268
+ });
269
+ }, []);
270
+ const toggleExpand = useCallback(() => {
271
+ setState((prev) => {
272
+ const tasks = [...prev.tasks];
273
+ const task = tasks[prev.selectedIndex];
274
+ if (!task)
275
+ return prev;
276
+ tasks[prev.selectedIndex] = { ...task, expanded: !task.expanded };
277
+ return { ...prev, tasks };
278
+ });
279
+ }, []);
280
+ const markDone = useCallback(() => {
281
+ setState((prev) => ({ ...prev, phase: "done" }));
282
+ }, []);
283
+ return { state, processMessage, navigate, toggleExpand, reset, markDone };
284
+ }
285
+ //# sourceMappingURL=useExecutionState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExecutionState.js","sourceRoot":"","sources":["../src/useExecutionState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,159 @@
1
+ import type { InferenceEvent } from "@nodetool-ai/cli-providers";
2
+ import { type ProcessingMessage } from "@nodetool-ai/protocol";
3
+ export type ChatPermissionMode = "default" | "auto" | "plan";
4
+ export type ChatApprovalDecision = "allow" | "allow_for_chat" | "deny";
5
+ export interface ChatOptions {
6
+ permissionMode?: ChatPermissionMode;
7
+ signal?: AbortSignal;
8
+ }
9
+ export interface ProposedChatPlan {
10
+ title: string;
11
+ tasks: Array<{
12
+ id: string;
13
+ title: string;
14
+ depends_on: string[];
15
+ steps: Array<{
16
+ id: string;
17
+ instructions: string;
18
+ }>;
19
+ }>;
20
+ }
21
+ type InteractiveChatEvent = {
22
+ type: "tool_approval_request";
23
+ approvalId: string;
24
+ threadId: string;
25
+ toolName: string;
26
+ category: string;
27
+ message: string;
28
+ description: string;
29
+ args: Record<string, unknown>;
30
+ } | {
31
+ type: "plan_approval_request";
32
+ approvalId: string;
33
+ threadId: string | null;
34
+ plan: ProposedChatPlan;
35
+ } | {
36
+ type: "secret_request";
37
+ approvalId: string;
38
+ threadId: string;
39
+ key: string;
40
+ description: string | null;
41
+ reason: string | null;
42
+ helpUrl: string | null;
43
+ };
44
+ export type ChatEvent = InteractiveChatEvent | {
45
+ type: "processing";
46
+ message: ProcessingMessage;
47
+ } | {
48
+ type: "assistant_message";
49
+ content: unknown;
50
+ text: string;
51
+ } | {
52
+ type: "client_tool_call";
53
+ id: string;
54
+ name: string;
55
+ args: Record<string, unknown>;
56
+ threadId: string;
57
+ } | {
58
+ type: "chunk";
59
+ content: string;
60
+ } | {
61
+ type: "tool_call";
62
+ id: string;
63
+ name: string;
64
+ args: Record<string, unknown>;
65
+ } | {
66
+ type: "tool_result";
67
+ id: string;
68
+ name: string;
69
+ content: string;
70
+ } | {
71
+ type: "output_update";
72
+ node_id: string;
73
+ value: unknown;
74
+ output_type?: string;
75
+ } | {
76
+ type: "error";
77
+ message: string;
78
+ } | {
79
+ type: "done";
80
+ };
81
+ export type JobEvent = {
82
+ type: "job_update";
83
+ status: string;
84
+ job_id?: string;
85
+ workflow_id?: string;
86
+ error?: string;
87
+ result?: unknown;
88
+ } | {
89
+ type: "node_update";
90
+ node_id: string;
91
+ status: string;
92
+ error?: string;
93
+ } | {
94
+ type: "output_update";
95
+ node_id: string;
96
+ value: unknown;
97
+ output_type?: string;
98
+ } | {
99
+ type: "node_progress";
100
+ node_id: string;
101
+ progress: number;
102
+ total?: number;
103
+ } | {
104
+ type: "error";
105
+ message: string;
106
+ } | {
107
+ type: "done";
108
+ };
109
+ /** What `runJob` takes: a saved workflow id or an inline graph, plus params. */
110
+ export interface RunJobOptions {
111
+ workflowId?: string;
112
+ graph?: {
113
+ nodes: Array<Record<string, unknown>>;
114
+ edges: Array<Record<string, unknown>>;
115
+ };
116
+ params?: Record<string, unknown>;
117
+ jobId?: string;
118
+ }
119
+ export declare class WebSocketChatClient {
120
+ private readonly wsUrl;
121
+ private ws;
122
+ private disconnectedMessage;
123
+ private contentQueue;
124
+ private contentWaiters;
125
+ constructor(wsUrl: string);
126
+ connect(): Promise<void>;
127
+ /** A dropped connection is a failed response, never a successful completion. */
128
+ private drainWaiters;
129
+ private handleMessage;
130
+ private send;
131
+ private nextContent;
132
+ /** Stateful chat — messages are saved to DB, thread history is loaded. */
133
+ chat(content: string, threadId: string, model: string, provider: string, tools?: unknown[], options?: ChatOptions): AsyncGenerator<ChatEvent>;
134
+ /** Stateless inference — takes full messages array, streams back, no DB. Used by agent mode. */
135
+ inference(messages: unknown[], model: string, provider: string, tools?: unknown[]): AsyncGenerator<InferenceEvent>;
136
+ /**
137
+ * Run a workflow job. Streams job_update, node_update, output_update events.
138
+ * Terminates when a terminal job_update is received (completed/failed/cancelled).
139
+ */
140
+ runJob(opts: RunJobOptions): AsyncGenerator<JobEvent>;
141
+ /** Reconnect to a running job's event stream. */
142
+ reconnectJob(jobId: string, workflowId?: string): AsyncGenerator<JobEvent>;
143
+ /** Shared job event consumer used by runJob and reconnectJob. */
144
+ private consumeJobEvents;
145
+ /** Cancel a running job. */
146
+ cancelJob(jobId: string): void;
147
+ /** Get status of a job or all active jobs. */
148
+ getStatus(jobId?: string): void;
149
+ /** Stop in-progress generation. Pass threadId for chat, omit for inference. */
150
+ stop(threadId?: string): void;
151
+ respondToolApproval(approvalId: string, decision: ChatApprovalDecision): void;
152
+ respondPlanApproval(approvalId: string, decision: "approve" | "reject", feedback?: string): void;
153
+ respondSecretRequest(approvalId: string, status: "saved" | "declined"): void;
154
+ respondToolResult(id: string, threadId: string, result: unknown, ok?: boolean): void;
155
+ setPermissionMode(threadId: string, mode: ChatPermissionMode): void;
156
+ disconnect(): void;
157
+ }
158
+ export {};
159
+ //# sourceMappingURL=websocket-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-client.d.ts","sourceRoot":"","sources":["../src/websocket-client.ts"],"names":[],"mappings":"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"}