@agent-native/agentkit 0.1.0
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/ARCHITECTURE.md +290 -0
- package/README.md +822 -0
- package/dist/adapters/http.d.ts +56 -0
- package/dist/adapters/http.d.ts.map +1 -0
- package/dist/adapters/http.js +950 -0
- package/dist/adapters/http.js.map +1 -0
- package/dist/adapters/index.d.ts +2 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +2 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/client/client.d.ts +240 -0
- package/dist/client/client.d.ts.map +1 -0
- package/dist/client/client.js +1605 -0
- package/dist/client/client.js.map +1 -0
- package/dist/client/index.d.ts +3 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +3 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/state.d.ts +72 -0
- package/dist/client/state.d.ts.map +1 -0
- package/dist/client/state.js +385 -0
- package/dist/client/state.js.map +1 -0
- package/dist/conformance/index.d.ts +41 -0
- package/dist/conformance/index.d.ts.map +1 -0
- package/dist/conformance/index.js +924 -0
- package/dist/conformance/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/protocol/agui-codec.d.ts +28 -0
- package/dist/protocol/agui-codec.d.ts.map +1 -0
- package/dist/protocol/agui-codec.js +250 -0
- package/dist/protocol/agui-codec.js.map +1 -0
- package/dist/protocol/agui.d.ts +144 -0
- package/dist/protocol/agui.d.ts.map +1 -0
- package/dist/protocol/agui.js +253 -0
- package/dist/protocol/agui.js.map +1 -0
- package/dist/protocol/compatibility.d.ts +35 -0
- package/dist/protocol/compatibility.d.ts.map +1 -0
- package/dist/protocol/compatibility.js +160 -0
- package/dist/protocol/compatibility.js.map +1 -0
- package/dist/protocol/errors.d.ts +24 -0
- package/dist/protocol/errors.d.ts.map +1 -0
- package/dist/protocol/errors.js +77 -0
- package/dist/protocol/errors.js.map +1 -0
- package/dist/protocol/index.d.ts +982 -0
- package/dist/protocol/index.d.ts.map +1 -0
- package/dist/protocol/index.js +56 -0
- package/dist/protocol/index.js.map +1 -0
- package/dist/protocol/validation.d.ts +94 -0
- package/dist/protocol/validation.d.ts.map +1 -0
- package/dist/protocol/validation.js +1871 -0
- package/dist/protocol/validation.js.map +1 -0
- package/dist/protocol/version.d.ts +7 -0
- package/dist/protocol/version.d.ts.map +1 -0
- package/dist/protocol/version.js +9 -0
- package/dist/protocol/version.js.map +1 -0
- package/dist/react/chat.d.ts +34 -0
- package/dist/react/chat.d.ts.map +1 -0
- package/dist/react/chat.js +23 -0
- package/dist/react/chat.js.map +1 -0
- package/dist/react/components.d.ts +96 -0
- package/dist/react/components.d.ts.map +1 -0
- package/dist/react/components.js +1300 -0
- package/dist/react/components.js.map +1 -0
- package/dist/react/context.d.ts +259 -0
- package/dist/react/context.d.ts.map +1 -0
- package/dist/react/context.js +359 -0
- package/dist/react/context.js.map +1 -0
- package/dist/react/headless.d.ts +3 -0
- package/dist/react/headless.d.ts.map +1 -0
- package/dist/react/headless.js +3 -0
- package/dist/react/headless.js.map +1 -0
- package/dist/react/index.d.ts +6 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +6 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/root.d.ts +58 -0
- package/dist/react/root.d.ts.map +1 -0
- package/dist/react/root.js +151 -0
- package/dist/react/root.js.map +1 -0
- package/dist/react/streaming-text.d.ts +19 -0
- package/dist/react/streaming-text.d.ts.map +1 -0
- package/dist/react/streaming-text.js +259 -0
- package/dist/react/streaming-text.js.map +1 -0
- package/dist/react/styles.css +1477 -0
- package/package.json +112 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { AgentActivity, AgentActionInvocation, AgentActionResult, AgentAnnotation, AgentApprovalRequest, AgentConnectionRequest, AgentArtifactReference, AgentCapabilities, AgentCapabilitiesDiscovery, AgentError, AgentEvent, AgentInteraction, AgentMessage, AgentParticipant, AgentQueuedMessage, AgentRunStatus, AgentSuggestion, AgentTask, AgentTaskGroup, AgentThread, AgentToolCall, AgentUsage, AgentUploadProgress, AgentWidget, RunId, ThreadId } from "../protocol/index.js";
|
|
2
|
+
export type AgentConnectionStatus = "idle" | "connecting" | "connected" | "reconnecting" | "offline" | "error";
|
|
3
|
+
export interface AgentRunState {
|
|
4
|
+
id: RunId;
|
|
5
|
+
status: AgentRunStatus;
|
|
6
|
+
lastSequence: number;
|
|
7
|
+
startedAt?: string;
|
|
8
|
+
completedAt?: string;
|
|
9
|
+
usage?: AgentUsage;
|
|
10
|
+
error?: AgentError;
|
|
11
|
+
}
|
|
12
|
+
export interface AgentThreadState {
|
|
13
|
+
id: ThreadId;
|
|
14
|
+
thread?: AgentThread;
|
|
15
|
+
messages: AgentMessage[];
|
|
16
|
+
queuedMessages: AgentQueuedMessage[];
|
|
17
|
+
runs: Record<RunId, AgentRunState>;
|
|
18
|
+
activeRunIds: RunId[];
|
|
19
|
+
events: AgentEvent[];
|
|
20
|
+
agents: Record<string, AgentParticipant>;
|
|
21
|
+
agentInteractions: AgentInteraction[];
|
|
22
|
+
activities: Record<string, AgentActivity>;
|
|
23
|
+
tasks: Record<string, AgentTask>;
|
|
24
|
+
taskGroups: Record<string, AgentTaskGroup>;
|
|
25
|
+
tools: Record<string, AgentToolCall>;
|
|
26
|
+
approvals: Record<string, AgentApprovalRequest>;
|
|
27
|
+
approvalRunIds: Record<string, RunId>;
|
|
28
|
+
connectionRequests: Record<string, AgentConnectionRequest>;
|
|
29
|
+
connectionRequestRunIds: Record<string, RunId>;
|
|
30
|
+
artifacts: AgentArtifactReference[];
|
|
31
|
+
widgets: Record<string, AgentWidget>;
|
|
32
|
+
widgetMessageIds: Record<string, string>;
|
|
33
|
+
annotations: Record<string, AgentAnnotation>;
|
|
34
|
+
annotationMessageIds: Record<string, string>;
|
|
35
|
+
suggestions: AgentSuggestion[];
|
|
36
|
+
actions: Record<string, {
|
|
37
|
+
invocation?: AgentActionInvocation;
|
|
38
|
+
result?: AgentActionResult;
|
|
39
|
+
}>;
|
|
40
|
+
uploads: Record<string, AgentUploadProgress>;
|
|
41
|
+
}
|
|
42
|
+
export interface AgentKitSnapshot {
|
|
43
|
+
connection: AgentConnectionStatus;
|
|
44
|
+
capabilities: AgentCapabilities;
|
|
45
|
+
capabilityDiscovery?: AgentCapabilitiesDiscovery;
|
|
46
|
+
capabilitiesStatus: "unknown" | "loading" | "ready" | "error";
|
|
47
|
+
threads: Record<ThreadId, AgentThreadState>;
|
|
48
|
+
error?: AgentError;
|
|
49
|
+
revision: number;
|
|
50
|
+
}
|
|
51
|
+
export declare function createAgentThreadState(threadId: ThreadId): AgentThreadState;
|
|
52
|
+
export declare function selectActiveAgentRoster(agents: AgentThreadState["agents"]): AgentParticipant[];
|
|
53
|
+
export type AgentEventAdmission = {
|
|
54
|
+
status: "foreign";
|
|
55
|
+
} | {
|
|
56
|
+
status: "accepted";
|
|
57
|
+
sequence: number;
|
|
58
|
+
} | {
|
|
59
|
+
status: "duplicate";
|
|
60
|
+
lastSequence: number;
|
|
61
|
+
} | {
|
|
62
|
+
status: "gap";
|
|
63
|
+
expectedSequence: number;
|
|
64
|
+
receivedSequence: number;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* The one place the ordering rule lives, so a caller that needs to count a
|
|
68
|
+
* rejection cannot drift from the reducer that performs it.
|
|
69
|
+
*/
|
|
70
|
+
export declare function classifyAgentEvent(thread: AgentThreadState, event: AgentEvent): AgentEventAdmission;
|
|
71
|
+
export declare function reduceAgentEvent(thread: AgentThreadState, event: AgentEvent): AgentThreadState;
|
|
72
|
+
//# sourceMappingURL=state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/client/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,385 @@
|
|
|
1
|
+
import { AgentProtocolValidationError } from "../protocol/index.js";
|
|
2
|
+
export function createAgentThreadState(threadId) {
|
|
3
|
+
return {
|
|
4
|
+
id: threadId,
|
|
5
|
+
messages: [],
|
|
6
|
+
queuedMessages: [],
|
|
7
|
+
runs: {},
|
|
8
|
+
activeRunIds: [],
|
|
9
|
+
events: [],
|
|
10
|
+
agents: {},
|
|
11
|
+
agentInteractions: [],
|
|
12
|
+
activities: {},
|
|
13
|
+
tasks: {},
|
|
14
|
+
taskGroups: {},
|
|
15
|
+
tools: {},
|
|
16
|
+
approvals: {},
|
|
17
|
+
approvalRunIds: {},
|
|
18
|
+
connectionRequests: {},
|
|
19
|
+
connectionRequestRunIds: {},
|
|
20
|
+
artifacts: [],
|
|
21
|
+
widgets: {},
|
|
22
|
+
widgetMessageIds: {},
|
|
23
|
+
annotations: {},
|
|
24
|
+
annotationMessageIds: {},
|
|
25
|
+
suggestions: [],
|
|
26
|
+
actions: {},
|
|
27
|
+
uploads: {},
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export function selectActiveAgentRoster(agents) {
|
|
31
|
+
return Object.values(agents).filter((participant) => participant.status !== "closed");
|
|
32
|
+
}
|
|
33
|
+
function upsertMessage(messages, message) {
|
|
34
|
+
const index = messages.findIndex((candidate) => candidate.id === message.id);
|
|
35
|
+
if (index < 0)
|
|
36
|
+
return [...messages, message];
|
|
37
|
+
const next = [...messages];
|
|
38
|
+
next[index] = message;
|
|
39
|
+
return next;
|
|
40
|
+
}
|
|
41
|
+
function appendMessageText(messages, messageId, text, type, format) {
|
|
42
|
+
const index = messages.findIndex((message) => message.id === messageId);
|
|
43
|
+
const existing = index < 0 ? undefined : messages[index];
|
|
44
|
+
const message = existing ?? {
|
|
45
|
+
id: messageId,
|
|
46
|
+
role: "assistant",
|
|
47
|
+
parts: [],
|
|
48
|
+
status: "streaming",
|
|
49
|
+
};
|
|
50
|
+
const parts = [...message.parts];
|
|
51
|
+
const last = parts.at(-1);
|
|
52
|
+
if (last?.type === type) {
|
|
53
|
+
parts[parts.length - 1] = {
|
|
54
|
+
...last,
|
|
55
|
+
text: last.text + text,
|
|
56
|
+
...(type === "text" && format && last.type === "text" && !last.format
|
|
57
|
+
? { format }
|
|
58
|
+
: {}),
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
parts.push(type === "text"
|
|
63
|
+
? { type: "text", text, ...(format ? { format } : {}) }
|
|
64
|
+
: { type: "reasoning", text, visibility: "summary" });
|
|
65
|
+
}
|
|
66
|
+
return upsertMessage(messages, { ...message, parts, status: "streaming" });
|
|
67
|
+
}
|
|
68
|
+
function updateRun(thread, runId, patch) {
|
|
69
|
+
const current = thread.runs[runId] ?? {
|
|
70
|
+
id: runId,
|
|
71
|
+
status: "queued",
|
|
72
|
+
lastSequence: 0,
|
|
73
|
+
};
|
|
74
|
+
return {
|
|
75
|
+
...thread,
|
|
76
|
+
runs: { ...thread.runs, [runId]: { ...current, ...patch } },
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
function updateActiveRuns(thread, runId, active) {
|
|
80
|
+
return {
|
|
81
|
+
activeRunIds: active
|
|
82
|
+
? Array.from(new Set([...thread.activeRunIds, runId]))
|
|
83
|
+
: thread.activeRunIds.filter((id) => id !== runId),
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* The one place the ordering rule lives, so a caller that needs to count a
|
|
88
|
+
* rejection cannot drift from the reducer that performs it.
|
|
89
|
+
*/
|
|
90
|
+
export function classifyAgentEvent(thread, event) {
|
|
91
|
+
if (event.threadId !== thread.id)
|
|
92
|
+
return { status: "foreign" };
|
|
93
|
+
const lastSequence = thread.runs[event.runId]?.lastSequence ?? 0;
|
|
94
|
+
if (lastSequence >= event.sequence) {
|
|
95
|
+
return { status: "duplicate", lastSequence };
|
|
96
|
+
}
|
|
97
|
+
const expectedSequence = lastSequence + 1;
|
|
98
|
+
if (event.sequence !== expectedSequence) {
|
|
99
|
+
return {
|
|
100
|
+
status: "gap",
|
|
101
|
+
expectedSequence,
|
|
102
|
+
receivedSequence: event.sequence,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
return { status: "accepted", sequence: event.sequence };
|
|
106
|
+
}
|
|
107
|
+
export function reduceAgentEvent(thread, event) {
|
|
108
|
+
const admission = classifyAgentEvent(thread, event);
|
|
109
|
+
if (admission.status === "foreign" || admission.status === "duplicate") {
|
|
110
|
+
return thread;
|
|
111
|
+
}
|
|
112
|
+
if (admission.status === "gap") {
|
|
113
|
+
throw new AgentProtocolValidationError("event.sequence", `must be contiguous; expected ${admission.expectedSequence} after ${admission.expectedSequence - 1}, received ${admission.receivedSequence}`);
|
|
114
|
+
}
|
|
115
|
+
let next = updateRun(thread, event.runId, {
|
|
116
|
+
lastSequence: event.sequence,
|
|
117
|
+
});
|
|
118
|
+
next = { ...next, events: [...next.events, event] };
|
|
119
|
+
switch (event.type) {
|
|
120
|
+
case "run.started":
|
|
121
|
+
return {
|
|
122
|
+
...updateRun(next, event.runId, {
|
|
123
|
+
status: "running",
|
|
124
|
+
startedAt: event.occurredAt,
|
|
125
|
+
}),
|
|
126
|
+
...updateActiveRuns(next, event.runId, true),
|
|
127
|
+
};
|
|
128
|
+
case "run.status": {
|
|
129
|
+
const active = !["completed", "failed", "cancelled"].includes(event.status);
|
|
130
|
+
return {
|
|
131
|
+
...updateRun(next, event.runId, { status: event.status }),
|
|
132
|
+
...updateActiveRuns(next, event.runId, active),
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
case "agent.registered":
|
|
136
|
+
case "agent.updated":
|
|
137
|
+
return {
|
|
138
|
+
...next,
|
|
139
|
+
agents: { ...next.agents, [event.agent.id]: event.agent },
|
|
140
|
+
};
|
|
141
|
+
case "agent.unregistered":
|
|
142
|
+
return {
|
|
143
|
+
...next,
|
|
144
|
+
// Keep the participant projection for durable attribution while
|
|
145
|
+
// making its live-roster state unambiguous for every consumer.
|
|
146
|
+
agents: {
|
|
147
|
+
...next.agents,
|
|
148
|
+
[event.agent.id]: {
|
|
149
|
+
...event.agent,
|
|
150
|
+
status: "closed",
|
|
151
|
+
completedAt: event.agent.completedAt ?? event.occurredAt,
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
case "agent.interaction":
|
|
156
|
+
if (next.agentInteractions.some((interaction) => interaction.id === event.interaction.id)) {
|
|
157
|
+
return next;
|
|
158
|
+
}
|
|
159
|
+
return {
|
|
160
|
+
...next,
|
|
161
|
+
agentInteractions: [...next.agentInteractions, event.interaction],
|
|
162
|
+
};
|
|
163
|
+
case "run.completed":
|
|
164
|
+
return {
|
|
165
|
+
...updateRun(next, event.runId, {
|
|
166
|
+
status: "completed",
|
|
167
|
+
completedAt: event.occurredAt,
|
|
168
|
+
usage: event.usage,
|
|
169
|
+
}),
|
|
170
|
+
...updateActiveRuns(next, event.runId, false),
|
|
171
|
+
};
|
|
172
|
+
case "run.failed":
|
|
173
|
+
return {
|
|
174
|
+
...updateRun(next, event.runId, {
|
|
175
|
+
status: "failed",
|
|
176
|
+
completedAt: event.occurredAt,
|
|
177
|
+
error: event.error,
|
|
178
|
+
}),
|
|
179
|
+
...updateActiveRuns(next, event.runId, false),
|
|
180
|
+
};
|
|
181
|
+
case "run.cancelled":
|
|
182
|
+
return {
|
|
183
|
+
...updateRun(next, event.runId, {
|
|
184
|
+
status: "cancelled",
|
|
185
|
+
completedAt: event.occurredAt,
|
|
186
|
+
}),
|
|
187
|
+
...updateActiveRuns(next, event.runId, false),
|
|
188
|
+
};
|
|
189
|
+
case "message.created":
|
|
190
|
+
return {
|
|
191
|
+
...next,
|
|
192
|
+
messages: upsertMessage(next.messages, event.message),
|
|
193
|
+
};
|
|
194
|
+
case "message.completed":
|
|
195
|
+
return {
|
|
196
|
+
...next,
|
|
197
|
+
messages: upsertMessage(next.messages, {
|
|
198
|
+
...event.message,
|
|
199
|
+
status: event.message.status ?? "complete",
|
|
200
|
+
}),
|
|
201
|
+
};
|
|
202
|
+
case "message.delta":
|
|
203
|
+
return {
|
|
204
|
+
...next,
|
|
205
|
+
messages: appendMessageText(next.messages, event.messageId, event.text, "text", event.format),
|
|
206
|
+
};
|
|
207
|
+
case "reasoning.delta":
|
|
208
|
+
return {
|
|
209
|
+
...next,
|
|
210
|
+
messages: appendMessageText(next.messages, event.messageId, event.text, "reasoning"),
|
|
211
|
+
};
|
|
212
|
+
case "tool.started":
|
|
213
|
+
case "tool.updated":
|
|
214
|
+
return {
|
|
215
|
+
...next,
|
|
216
|
+
tools: { ...next.tools, [event.toolCall.id]: event.toolCall },
|
|
217
|
+
};
|
|
218
|
+
case "tool.delta": {
|
|
219
|
+
const current = next.tools[event.toolCallId];
|
|
220
|
+
if (!current)
|
|
221
|
+
return next;
|
|
222
|
+
const input = event.inputTextDelta === undefined
|
|
223
|
+
? current.input
|
|
224
|
+
: `${typeof current.input === "string" ? current.input : ""}${event.inputTextDelta}`;
|
|
225
|
+
const output = event.outputTextDelta === undefined
|
|
226
|
+
? current.output
|
|
227
|
+
: `${typeof current.output === "string" ? current.output : ""}${event.outputTextDelta}`;
|
|
228
|
+
return {
|
|
229
|
+
...next,
|
|
230
|
+
tools: {
|
|
231
|
+
...next.tools,
|
|
232
|
+
[event.toolCallId]: { ...current, input, output },
|
|
233
|
+
},
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
case "activity.started":
|
|
237
|
+
case "activity.updated":
|
|
238
|
+
case "activity.completed":
|
|
239
|
+
return {
|
|
240
|
+
...next,
|
|
241
|
+
activities: {
|
|
242
|
+
...next.activities,
|
|
243
|
+
[event.activity.id]: event.activity,
|
|
244
|
+
},
|
|
245
|
+
};
|
|
246
|
+
case "task.created":
|
|
247
|
+
case "task.updated":
|
|
248
|
+
case "task.completed":
|
|
249
|
+
return {
|
|
250
|
+
...next,
|
|
251
|
+
tasks: {
|
|
252
|
+
...next.tasks,
|
|
253
|
+
[event.task.id]: event.task,
|
|
254
|
+
},
|
|
255
|
+
};
|
|
256
|
+
case "task-group.created":
|
|
257
|
+
case "task-group.updated":
|
|
258
|
+
case "task-group.completed":
|
|
259
|
+
return {
|
|
260
|
+
...next,
|
|
261
|
+
taskGroups: {
|
|
262
|
+
...next.taskGroups,
|
|
263
|
+
[event.taskGroup.id]: event.taskGroup,
|
|
264
|
+
},
|
|
265
|
+
};
|
|
266
|
+
case "task-group.removed": {
|
|
267
|
+
const taskGroups = { ...next.taskGroups };
|
|
268
|
+
delete taskGroups[event.taskGroupId];
|
|
269
|
+
return { ...next, taskGroups };
|
|
270
|
+
}
|
|
271
|
+
case "approval.requested":
|
|
272
|
+
return {
|
|
273
|
+
...updateRun(next, event.runId, { status: "awaiting_approval" }),
|
|
274
|
+
approvals: { ...next.approvals, [event.request.id]: event.request },
|
|
275
|
+
approvalRunIds: {
|
|
276
|
+
...next.approvalRunIds,
|
|
277
|
+
[event.request.id]: event.runId,
|
|
278
|
+
},
|
|
279
|
+
};
|
|
280
|
+
case "approval.resolved": {
|
|
281
|
+
const approvals = { ...next.approvals };
|
|
282
|
+
const approvalRunIds = { ...next.approvalRunIds };
|
|
283
|
+
delete approvals[event.approvalId];
|
|
284
|
+
delete approvalRunIds[event.approvalId];
|
|
285
|
+
return { ...next, approvals, approvalRunIds };
|
|
286
|
+
}
|
|
287
|
+
case "connection.requested":
|
|
288
|
+
case "connection.updated":
|
|
289
|
+
return {
|
|
290
|
+
...next,
|
|
291
|
+
connectionRequests: {
|
|
292
|
+
...next.connectionRequests,
|
|
293
|
+
[event.request.id]: event.request,
|
|
294
|
+
},
|
|
295
|
+
connectionRequestRunIds: {
|
|
296
|
+
...next.connectionRequestRunIds,
|
|
297
|
+
[event.request.id]: event.runId,
|
|
298
|
+
},
|
|
299
|
+
};
|
|
300
|
+
case "artifact.created":
|
|
301
|
+
return {
|
|
302
|
+
...next,
|
|
303
|
+
artifacts: [
|
|
304
|
+
...next.artifacts.filter((item) => item.id !== event.artifact.id),
|
|
305
|
+
event.artifact,
|
|
306
|
+
],
|
|
307
|
+
};
|
|
308
|
+
case "widget.created":
|
|
309
|
+
case "widget.updated":
|
|
310
|
+
return {
|
|
311
|
+
...next,
|
|
312
|
+
widgets: { ...next.widgets, [event.widget.id]: event.widget },
|
|
313
|
+
widgetMessageIds: {
|
|
314
|
+
...next.widgetMessageIds,
|
|
315
|
+
...(event.messageId ? { [event.widget.id]: event.messageId } : {}),
|
|
316
|
+
},
|
|
317
|
+
};
|
|
318
|
+
case "widget.removed": {
|
|
319
|
+
const widgets = { ...next.widgets };
|
|
320
|
+
const widgetMessageIds = { ...next.widgetMessageIds };
|
|
321
|
+
delete widgets[event.widgetId];
|
|
322
|
+
delete widgetMessageIds[event.widgetId];
|
|
323
|
+
return { ...next, widgets, widgetMessageIds };
|
|
324
|
+
}
|
|
325
|
+
case "annotation.created":
|
|
326
|
+
case "annotation.updated":
|
|
327
|
+
return {
|
|
328
|
+
...next,
|
|
329
|
+
annotations: {
|
|
330
|
+
...next.annotations,
|
|
331
|
+
[event.annotation.id]: event.annotation,
|
|
332
|
+
},
|
|
333
|
+
annotationMessageIds: {
|
|
334
|
+
...next.annotationMessageIds,
|
|
335
|
+
...(event.messageId
|
|
336
|
+
? { [event.annotation.id]: event.messageId }
|
|
337
|
+
: {}),
|
|
338
|
+
},
|
|
339
|
+
};
|
|
340
|
+
case "annotation.removed": {
|
|
341
|
+
const annotations = { ...next.annotations };
|
|
342
|
+
const annotationMessageIds = { ...next.annotationMessageIds };
|
|
343
|
+
delete annotations[event.annotationId];
|
|
344
|
+
delete annotationMessageIds[event.annotationId];
|
|
345
|
+
return { ...next, annotations, annotationMessageIds };
|
|
346
|
+
}
|
|
347
|
+
case "suggestions.updated":
|
|
348
|
+
return { ...next, suggestions: event.suggestions };
|
|
349
|
+
case "action.started":
|
|
350
|
+
return {
|
|
351
|
+
...next,
|
|
352
|
+
actions: {
|
|
353
|
+
...next.actions,
|
|
354
|
+
[event.invocation.id]: { invocation: event.invocation },
|
|
355
|
+
},
|
|
356
|
+
};
|
|
357
|
+
case "action.completed":
|
|
358
|
+
case "action.failed":
|
|
359
|
+
return {
|
|
360
|
+
...next,
|
|
361
|
+
actions: {
|
|
362
|
+
...next.actions,
|
|
363
|
+
[event.result.invocationId]: {
|
|
364
|
+
...next.actions[event.result.invocationId],
|
|
365
|
+
result: event.result,
|
|
366
|
+
},
|
|
367
|
+
},
|
|
368
|
+
};
|
|
369
|
+
case "upload.progress":
|
|
370
|
+
return {
|
|
371
|
+
...next,
|
|
372
|
+
uploads: {
|
|
373
|
+
...next.uploads,
|
|
374
|
+
[event.progress.uploadId]: event.progress,
|
|
375
|
+
},
|
|
376
|
+
};
|
|
377
|
+
case "thread.updated":
|
|
378
|
+
return { ...next, thread: event.thread };
|
|
379
|
+
case "queue.updated":
|
|
380
|
+
return { ...next, queuedMessages: event.messages };
|
|
381
|
+
default:
|
|
382
|
+
return next;
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/client/state.ts"],"names":[],"mappings":"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"}
|