@nexface/agent 0.1.1-alpha.6 → 0.1.1-alpha.7

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/request.js CHANGED
@@ -1,124 +1,200 @@
1
- import { RunAgentInputSchema, MessageSchema } from "@ag-ui/core";
1
+ import { MessageSchema } from "@ag-ui/core";
2
2
  import { getToolResultError } from "./internal.js";
3
- export function toProtocolMessages(messages) {
4
- return messages.flatMap((message) => {
5
- message.id ??= globalThis.crypto.randomUUID();
6
- if (message.role === "system" || message.role === "application_context")
7
- return [];
8
- if (message.role === "assistant")
9
- return [{ id: message.id, role: "assistant", ...(message.content === null ? {} : { content: message.content }), toolCalls: message.toolCalls.map(({ id, name, arguments: args }) => ({ id, type: "function", function: { name, arguments: args } })) }];
10
- if (message.role === "tool") {
11
- const error = getToolResultError(message.content);
12
- return [{ id: message.id, role: "tool", toolCallId: message.toolCallId, content: message.content, ...(error === undefined ? {} : { error }) }];
13
- }
14
- return [{ id: message.id, role: "user", content: message.content }];
15
- });
3
+ export const approvalResponseSchema = {
4
+ type: "object", properties: { approved: { type: "boolean" } }, required: ["approved"], additionalProperties: false,
5
+ };
6
+ export const toolResultResponseSchema = {
7
+ type: "object", properties: { toolResultMessageId: { type: "string" }, confirmed: { type: "boolean" } }, required: ["toolResultMessageId"], additionalProperties: false,
8
+ };
9
+ export function parseResume(value, allowMetadata = false) {
10
+ if (!value || typeof value !== "object" || Array.isArray(value))
11
+ throw new Error("Invalid resume entry.");
12
+ const entry = value;
13
+ const allowed = ["interruptId", "status", "payload", ...(allowMetadata ? ["metadata"] : [])];
14
+ if (Object.keys(entry).some((key) => !allowed.includes(key)) || typeof entry.interruptId !== "string" || !entry.interruptId)
15
+ throw new Error("Invalid resume entry.");
16
+ if (entry.status === "cancelled") {
17
+ if (entry.payload !== undefined)
18
+ throw new Error("A cancelled response cannot carry a payload.");
19
+ return { interruptId: entry.interruptId, status: "cancelled" };
20
+ }
21
+ const payload = entry.payload;
22
+ if (entry.status !== "resolved" || !payload || typeof payload !== "object" || Array.isArray(payload))
23
+ throw new Error("A resolved response requires a payload.");
24
+ if (typeof payload.approved === "boolean" && Object.keys(payload).every((key) => key === "approved")) {
25
+ return { interruptId: entry.interruptId, status: "resolved", payload: { approved: payload.approved } };
26
+ }
27
+ if (typeof payload.toolResultMessageId === "string" && payload.toolResultMessageId && (payload.confirmed === undefined || typeof payload.confirmed === "boolean") && Object.keys(payload).every((key) => key === "toolResultMessageId" || key === "confirmed")) {
28
+ return { interruptId: entry.interruptId, status: "resolved", payload: { toolResultMessageId: payload.toolResultMessageId, ...(payload.confirmed === undefined ? {} : { confirmed: payload.confirmed }) } };
29
+ }
30
+ throw new Error("Invalid resume payload.");
16
31
  }
17
- export function decodeRequest(value) {
18
- RunAgentInputSchema.parse(value);
19
- const extension = value.forwardedProps?.nexface;
20
- if (extension && extension.version !== 1)
21
- throw new Error("Unsupported Nexface request version.");
22
- if (extension?.confirmedToolCallId !== undefined)
23
- throw new Error("Use resume payload for confirmation results.");
24
- const continuation = extension?.checkpoint?.continuation;
25
- const restored = continuation ? JSON.parse(continuation) : undefined;
26
- const source = new Map();
27
- for (const message of value.messages) {
28
- MessageSchema.parse(message);
29
- if (source.has(message.id))
32
+ export function convertMessages(values) {
33
+ const ids = new Set();
34
+ const calls = new Map();
35
+ return values.flatMap((value) => {
36
+ const message = MessageSchema.parse(value);
37
+ if (ids.has(message.id))
30
38
  throw new Error("Duplicate message ID.");
31
- source.set(message.id, message);
32
- }
33
- const convert = (message) => {
34
- // Display-only messages stay in protocol history; native reasoning replay comes from the checkpoint.
39
+ ids.add(message.id);
35
40
  if (message.role === "activity" || message.role === "reasoning")
36
41
  return [];
37
- if (message.role === "assistant")
42
+ if (message.role === "assistant") {
43
+ for (const call of message.toolCalls ?? [])
44
+ calls.set(call.id, call.function.name);
38
45
  return [{ id: message.id, role: "assistant", content: message.content ?? null, toolCalls: (message.toolCalls ?? []).map((call) => ({ id: call.id, ...call.function })) }];
46
+ }
39
47
  if (message.role === "tool") {
40
- const owner = value.messages.slice(0, value.messages.indexOf(message)).reverse().find((item) => item.role === "assistant" && item.toolCalls?.some((call) => call.id === message.toolCallId));
41
- const call = owner?.role === "assistant" ? owner.toolCalls?.find((call) => call.id === message.toolCallId) : undefined;
48
+ const name = calls.get(message.toolCallId);
49
+ if (!name)
50
+ throw new Error("A tool result has no preceding tool call.");
42
51
  const content = message.error !== undefined && getToolResultError(message.content) === undefined
43
52
  ? JSON.stringify({ error: { code: "TOOL_ERROR", message: message.error }, content: message.content }) : message.content;
44
- return [{ id: message.id, role: "tool", name: call?.function.name ?? "unknown", toolCallId: message.toolCallId, content }];
53
+ return [{ id: message.id, role: "tool", name, toolCallId: message.toolCallId, content }];
45
54
  }
46
55
  if (message.role === "user") {
47
56
  if (Array.isArray(message.content) && message.content.some((part) => part.type !== "text" && part.type !== "image"))
48
57
  throw new Error("This Agent supports text and image input only.");
49
- return [{ id: message.id, role: "user", content: message.content }];
58
+ const content = typeof message.content === "string" ? message.content.trim() : message.content;
59
+ if (!content.length)
60
+ throw new Error("Agent message content is required.");
61
+ return [{ id: message.id, role: "user", content: content }];
50
62
  }
51
63
  throw new Error(`Unsupported model history role: ${message.role}.`);
52
- };
64
+ });
65
+ }
66
+ export function decodeRequest(value) {
67
+ const extension = value.forwardedProps?.nexface;
68
+ if (extension && (extension.version !== 2 || "checkpoint" in extension || "confirmedToolCallId" in extension))
69
+ throw new Error("Unsupported Nexface request version or recovery channel.");
70
+ const state = value.state;
71
+ if (state != null && (typeof state !== "object" || Array.isArray(state)))
72
+ throw new Error("Invalid Agent state.");
73
+ if (state && "nexface" in state && (!state.nexface || typeof state.nexface !== "object" || Array.isArray(state.nexface)))
74
+ throw new Error("Invalid Nexface state.");
75
+ const restored = state?.nexface;
76
+ if (restored && (restored.version !== 2 || restored.threadId !== value.threadId || !Array.isArray(restored.timeline)))
77
+ throw new Error("Agent state does not match this thread or version.");
78
+ const converted = new Map(convertMessages(value.messages).map((message) => [message.id, message]));
79
+ const source = new Map(value.messages.map((message) => [message.id, message]));
53
80
  const used = new Set();
54
81
  const messages = (restored?.timeline ?? []).flatMap((entry) => {
55
82
  if ("internal" in entry) {
56
- if (entry.internal.role !== "system" && entry.internal.role !== "application_context")
57
- throw new Error("Invalid checkpoint history.");
58
- return [entry.internal];
83
+ if (!entry.internal || (entry.internal.role !== "system" && entry.internal.role !== "application_context"))
84
+ throw new Error("Invalid internal history.");
85
+ return [structuredClone(entry.internal)];
59
86
  }
60
- const message = source.get(entry.messageId);
61
- if (!message || used.has(message.id))
62
- throw new Error("Checkpoint message is missing or repeated.");
63
- used.add(message.id);
64
- return convert(message);
87
+ const message = converted.get(entry.messageId);
88
+ if (!message || used.has(entry.messageId))
89
+ throw new Error("State message is missing or repeated.");
90
+ used.add(entry.messageId);
91
+ return [message];
65
92
  });
66
- let toolResult;
67
93
  const pending = restored?.pending;
68
- let resultMessageId;
94
+ if (value.resume && value.resume.length !== 1)
95
+ throw new Error("Exactly one resume entry is required.");
96
+ const resume = value.resume?.[0] ? parseResume(value.resume[0], true) : undefined;
97
+ const receipts = [];
98
+ let toolResult;
69
99
  if (pending) {
70
- const resume = value.resume;
71
- if (typeof pending.interruptId !== "string" || !pending.interruptId || !resume || resume.length !== 1)
72
- throw new Error("A pending client tool requires exactly one resume entry.");
73
- const entry = resume[0];
74
- if (entry.interruptId !== pending.interruptId || entry.status !== "resolved")
100
+ if (!resume || resume.interruptId !== pending.interruptId || !Array.isArray(pending.calls) || !pending.calls.length)
75
101
  throw new Error("Resume does not match the pending interrupt.");
76
- const payload = entry.payload;
77
- if (!payload || typeof payload.toolResultMessageId !== "string" || (payload.confirmed !== undefined && typeof payload.confirmed !== "boolean"))
78
- throw new Error("Invalid client tool resume payload.");
79
- const message = source.get(payload.toolResultMessageId);
80
- const pendingId = pending.calls?.[0]?.id;
81
- if (!message || used.has(message.id) || message.role !== "tool" || message.toolCallId !== pendingId)
82
- throw new Error("Resume result does not match the pending tool call.");
83
- let result;
84
- try {
85
- result = JSON.parse(message.content);
102
+ if (pending.kind !== "client-tool-execution")
103
+ throw new Error("Invalid pending kind.");
104
+ if (resume.status === "resolved") {
105
+ if (!("toolResultMessageId" in resume.payload))
106
+ throw new Error("A client tool requires a result reference.");
107
+ const message = source.get(resume.payload.toolResultMessageId);
108
+ if (!message || used.has(message.id) || message.role !== "tool" || message.toolCallId !== pending.calls[0].id)
109
+ throw new Error("Resume result does not match the pending call.");
110
+ const owner = [...messages].reverse().find((item) => item.role === "assistant");
111
+ const ownerIndex = value.messages.findIndex((item) => item.id === owner?.id);
112
+ const receiptIndex = value.messages.indexOf(message);
113
+ if (ownerIndex < 0 || receiptIndex <= ownerIndex || value.messages.slice(ownerIndex + 1, receiptIndex).some((item) => item.role === "user" || (item.role === "assistant" && item.toolCalls?.length)))
114
+ throw new Error("The receipt does not belong to the pending assistant batch.");
115
+ let payload;
116
+ try {
117
+ payload = JSON.parse(message.content);
118
+ }
119
+ catch {
120
+ if (!message.error)
121
+ throw new Error("Invalid tool result.");
122
+ }
123
+ if (message.error !== undefined)
124
+ payload = { error: { code: payload?.error?.code ?? "TOOL_ERROR", message: message.error } };
125
+ if (!payload || typeof payload !== "object" || (!("result" in payload) && !("error" in payload)))
126
+ throw new Error("Invalid tool result.");
127
+ if (payload.error && (typeof payload.error.code !== "string" || typeof payload.error.message !== "string"))
128
+ throw new Error("Invalid tool error.");
129
+ toolResult = { toolCallId: message.toolCallId, ...(payload.error ? { error: payload.error } : { result: payload.result }), ...(resume.payload.confirmed === undefined ? {} : { confirmed: resume.payload.confirmed }) };
130
+ receipts.push(message);
86
131
  }
87
- catch (error) {
88
- if (message.error === undefined)
89
- throw error;
132
+ else {
133
+ const owner = [...messages].reverse().find((message) => message.role === "assistant");
134
+ const ownerIndex = value.messages.findIndex((message) => message.id === owner?.id);
135
+ for (const message of value.messages.slice(ownerIndex + 1)) {
136
+ if (message.role === "user")
137
+ break;
138
+ if (used.has(message.id) || message.role !== "tool" || !pending.calls.some((call) => call.id === message.toolCallId))
139
+ continue;
140
+ let payload;
141
+ try {
142
+ payload = JSON.parse(message.content);
143
+ }
144
+ catch {
145
+ throw new Error("Invalid cancellation receipt.");
146
+ }
147
+ const first = message.toolCallId === pending.calls[0].id;
148
+ if (!(first ? ["TOOL_CANCELLED", "TOOL_CONFIRMATION_INVALIDATED"] : ["TOOL_SKIPPED", "TOOL_CANCELLED"]).includes(payload?.error?.code))
149
+ throw new Error("Cancellation cannot replace an execution result.");
150
+ if (receipts.some((receipt) => receipt.role === "tool" && receipt.toolCallId === message.toolCallId))
151
+ throw new Error("Repeated cancellation receipt.");
152
+ receipts.push(message);
153
+ }
90
154
  }
91
- if (message.error !== undefined)
92
- result = { error: { code: result?.error?.code ?? "TOOL_ERROR", message: message.error } };
93
- if (!result || typeof result !== "object" || (!("result" in result) && !("error" in result)))
94
- throw new Error("Invalid browser tool result.");
95
- resultMessageId = message.id;
96
- toolResult = { toolCallId: pendingId, ...(result.error ? { error: result.error } : { result: result.result }), ...(payload.confirmed === true ? { confirmed: true } : {}) };
97
155
  }
98
- else if (value.resume?.length)
156
+ else if (resume)
99
157
  throw new Error("Cannot resume without a pending interrupt.");
100
- for (const message of value.messages) {
101
- if (used.has(message.id) || message.id === resultMessageId)
102
- continue;
103
- if (pending && message.role === "tool" && message.toolCallId === pending.calls[0]?.id)
104
- throw new Error("Repeated browser result.");
105
- messages.push(...convert(message));
106
- }
158
+ const receiptIds = new Set(receipts.map((message) => message.id));
159
+ const newMessages = value.messages.flatMap((message) => {
160
+ if (used.has(message.id) || receiptIds.has(message.id))
161
+ return [];
162
+ if (pending && message.role === "tool" && pending.calls.some((call) => call.id === message.toolCallId))
163
+ throw new Error("Repeated or unexpected pending result.");
164
+ const convertedMessage = converted.get(message.id);
165
+ if (pending && resume?.status === "resolved" && convertedMessage)
166
+ throw new Error("A resolved response cannot start a new task.");
167
+ return convertedMessage ? [convertedMessage] : [];
168
+ });
107
169
  return {
108
- messages, ...(continuation ? { continuation } : {}), ...(toolResult ? { toolResult, toolResultMessageId: resultMessageId } : {}),
170
+ messages, newMessages, receipts, ...(restored ? { continuation: structuredClone(restored) } : {}), ...(resume ? { resume } : {}), ...(toolResult ? { toolResult } : {}),
109
171
  tools: value.tools.map((tool) => ({ name: tool.name, description: tool.description, inputSchema: tool.parameters, effect: extension?.toolMetadata?.[tool.name]?.effect ?? "action" })),
110
172
  contexts: value.context.map((context, index) => {
111
173
  let data = context.value;
112
174
  try {
113
175
  data = JSON.parse(context.value);
114
176
  }
115
- catch { /* AG-UI context values may be plain text. */ }
177
+ catch { /* Context values may be plain text. */ }
116
178
  if (data && typeof data === "object" && "name" in data && "value" in data)
117
179
  return data;
118
180
  return { name: `context${index}`, description: context.description, value: data };
119
181
  }),
120
182
  };
121
183
  }
184
+ export function toProtocolMessages(messages) {
185
+ return messages.flatMap((message) => {
186
+ message.id ??= globalThis.crypto.randomUUID();
187
+ if (message.role === "system" || message.role === "application_context")
188
+ return [];
189
+ if (message.role === "assistant")
190
+ return [{ id: message.id, role: "assistant", ...(message.content === null ? {} : { content: message.content }), toolCalls: message.toolCalls.map(({ id, name, arguments: args }) => ({ id, type: "function", function: { name, arguments: args } })) }];
191
+ if (message.role === "tool") {
192
+ const error = getToolResultError(message.content);
193
+ return [{ id: message.id, role: "tool", toolCallId: message.toolCallId, content: message.content, ...(error === undefined ? {} : { error }) }];
194
+ }
195
+ return [{ id: message.id, role: "user", content: message.content }];
196
+ });
197
+ }
122
198
  export function runResponse(run) {
123
199
  const encoder = new TextEncoder();
124
200
  const iterator = run[Symbol.asyncIterator]();
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAoC,MAAM,aAAa,CAAC;AAInG,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAkDnD,MAAM,UAAU,kBAAkB,CAAC,QAAwB;IACzD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAa,EAAE;QAC7C,OAAO,CAAC,EAAE,KAAK,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC9C,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,qBAAqB;YAAE,OAAO,EAAE,CAAC;QACnF,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1R,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACjJ,CAAC;QACD,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAoB;IAChD,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC;IAChD,IAAI,SAAS,IAAI,SAAS,CAAC,OAAO,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAClG,IAAI,SAAS,EAAE,mBAAmB,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClH,MAAM,YAAY,GAAG,SAAS,EAAE,UAAU,EAAE,YAAkC,CAAC;IAC/E,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAwB,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5F,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC1C,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACrE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,OAAgB,EAAkB,EAAE;QACnD,qGAAqG;QACrG,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,EAAE,CAAC;QAC3E,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5M,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YAC7L,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACvH,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,SAAS;gBAC9F,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YAC1H,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7H,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACvL,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAA4D,EAAE,CAAC,CAAC;QAC3H,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;IACtE,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,QAAQ,GAAmB,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5E,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;YACxB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,qBAAqB;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACtI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACpG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAAC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IACH,IAAI,UAAyC,CAAC;IAC9C,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,CAAC;IAClC,IAAI,eAAmC,CAAC;IACxC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QACnL,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACzB,IAAI,KAAK,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9I,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,mBAAmB,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACvM,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAC5K,IAAI,MAAM,CAAC;QACX,IAAI,CAAC;YAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAC7C,OAAO,KAAK,EAAE,CAAC;YAAC,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;gBAAE,MAAM,KAAK,CAAC;QAAC,CAAC;QAC/D,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,IAAI,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAC3H,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC9I,eAAe,GAAG,OAAO,CAAC,EAAE,CAAC;QAC7B,UAAU,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9K,CAAC;SAAM,IAAI,KAAK,CAAC,MAAM,EAAE,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAC/F,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,eAAe;YAAE,SAAS;QACrE,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,UAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACnI,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,mBAAmB,EAAE,eAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjI,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAC;QACtL,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAC7C,IAAI,IAAI,GAAY,OAAO,CAAC,KAAK,CAAC;YAClC,IAAI,CAAC;gBAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,6CAA6C,CAAC,CAAC;YACjG,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI;gBAAE,OAAO,IAAyB,CAAC;YAC5G,OAAO,EAAE,IAAI,EAAE,UAAU,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,IAAkC,EAAE,CAAC;QAClH,CAAC,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAa;IACvC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IAC7C,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACvC,OAAO,IAAI,QAAQ,CAAC,IAAI,cAAc,CAAa;QACjD,KAAK,CAAC,IAAI,CAAC,UAAU;YACnB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,IAAI,IAAI,CAAC,IAAI;oBAAE,UAAU,CAAC,KAAK,EAAE,CAAC;;oBAC7B,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACrF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC;QAC9C,CAAC;QACD,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;KAC5D,CAAC,EAAE,EAAE,OAAO,EAAE;YACb,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,wBAAwB;YACzC,mBAAmB,EAAE,IAAI;SAC1B,EAAE,CAAC,CAAC;AACP,CAAC;AAGD,MAAM,UAAU,qBAAqB,CAAC,QAAmB,EAAE,QAAmB;IAC5E,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAa,EAAE;QACxD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzB,MAAM,MAAM,GAA4B,EAAE,GAAG,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAC/D,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5G,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;YAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;QACxL,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,aAAa,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import type { RegisteredAgentTool } from "@nexface/tools";
2
- import type { RunAgentInput, AgentCheckpoint } from "./request.js";
2
+ import type { RunAgentInput } from "./request.js";
3
3
  import type { ToolRuntime, AgentToolInputSchema } from "@nexface/tools";
4
4
  import type { AgentModelConfig, AgentModelInfo } from "./model/types.js";
5
- import type { TextInputContent, ImageInputContent, RunStartedEvent, RunFinishedEvent, RunErrorEvent, TextMessageStartEvent, TextMessageContentEvent, TextMessageEndEvent, ToolCallStartEvent, ToolCallArgsEvent, ToolCallEndEvent, ToolCallResultEvent, CustomEvent, MessagesSnapshotEvent } from "@ag-ui/core";
5
+ import type { TextInputContent, ImageInputContent, RunStartedEvent, RunFinishedEvent, RunErrorEvent, TextMessageStartEvent, TextMessageContentEvent, TextMessageEndEvent, ToolCallStartEvent, ToolCallArgsEvent, ToolCallEndEvent, ToolCallResultEvent, CustomEvent, MessagesSnapshotEvent, StateSnapshotEvent, Message } from "@ag-ui/core";
6
6
  export type AgentInputContent = TextInputContent | ImageInputContent;
7
7
  export declare const agentBrand: unique symbol;
8
8
  export type AgentMessage = {
@@ -81,15 +81,13 @@ export type AgentRunResult = {
81
81
  type: "success";
82
82
  }>;
83
83
  readonly output: string;
84
- readonly checkpoint?: AgentCheckpoint;
85
84
  } | {
86
85
  readonly outcome: Extract<NonNullable<RunFinishedEvent["outcome"]>, {
87
86
  type: "interrupt";
88
87
  }>;
89
88
  readonly output?: never;
90
- readonly checkpoint?: AgentCheckpoint;
91
89
  };
92
- export type AgentRunEvent = RunStartedEvent | RunFinishedEvent | RunErrorEvent | TextMessageStartEvent | TextMessageContentEvent | TextMessageEndEvent | ToolCallStartEvent | ToolCallArgsEvent | ToolCallEndEvent | ToolCallResultEvent | CustomEvent | MessagesSnapshotEvent;
90
+ export type AgentRunEvent = RunStartedEvent | RunFinishedEvent | RunErrorEvent | TextMessageStartEvent | TextMessageContentEvent | TextMessageEndEvent | ToolCallStartEvent | ToolCallArgsEvent | ToolCallEndEvent | ToolCallResultEvent | CustomEvent | MessagesSnapshotEvent | StateSnapshotEvent;
93
91
  export interface AgentRun extends AsyncIterable<AgentRunEvent> {
94
92
  readonly id: string;
95
93
  readonly result: Promise<AgentRunResult>;
@@ -97,27 +95,25 @@ export interface AgentRun extends AsyncIterable<AgentRunEvent> {
97
95
  toResponse(): Response;
98
96
  }
99
97
  export type AgentRunInput = {
100
- readonly message: {
101
- readonly id?: string;
102
- readonly content: string | readonly AgentInputContent[];
103
- };
104
- readonly resume?: never;
105
- } | {
106
- readonly message?: never;
98
+ readonly messages?: readonly Message[];
107
99
  /**
108
- * @experimental Resumes a human-in-the-loop Chat approval.
100
+ * @experimental Responds to a pending tool interrupt.
109
101
  * @beta
110
102
  */
111
- readonly resume: readonly [
103
+ readonly resume?: readonly [
112
104
  {
113
105
  readonly interruptId: string;
106
+ } & ({
114
107
  readonly status: "resolved";
115
108
  readonly payload: {
116
109
  readonly approved: boolean;
117
110
  };
118
- readonly metadata?: Readonly<Record<string, unknown>>;
119
- }
111
+ } | {
112
+ readonly status: "cancelled";
113
+ readonly payload?: never;
114
+ })
120
115
  ];
116
+ readonly threadId?: never;
121
117
  };
122
118
  export interface AgentSkill {
123
119
  readonly name: string;
@@ -140,5 +136,6 @@ export interface Agent {
140
136
  readonly id: string;
141
137
  readonly model: AgentModelInfo;
142
138
  switchModel(model: AgentModelConfig): Promise<void>;
143
- run(input: AgentRunInput | RunAgentInput, options?: AgentRunOptions): AgentRun;
139
+ run(input: AgentRunInput, options?: AgentRunOptions): AgentRun;
140
+ runRequest(input: RunAgentInput, options?: AgentRunOptions): AgentRun;
144
141
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexface/agent",
3
- "version": "0.1.1-alpha.6",
3
+ "version": "0.1.1-alpha.7",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=22.19.0"
@@ -38,7 +38,17 @@
38
38
  "dependencies": {
39
39
  "@ag-ui/core": "0.0.59"
40
40
  },
41
+ "devDependencies": {
42
+ "@earendil-works/pi-ai": "0.84.1",
43
+ "@rslib/core": "0.23.2",
44
+ "rspack-1-7": "npm:@rspack/core@1.7.12",
45
+ "@nexface/tools": "0.1.1-alpha.7"
46
+ },
41
47
  "peerDependencies": {
42
- "@nexface/tools": "0.1.1-alpha.6"
48
+ "@nexface/tools": "0.1.1-alpha.7"
49
+ },
50
+ "scripts": {
51
+ "build": "node ../../scripts/generate-browser-tools-skill.mjs --check && node scripts/clean.mjs && tsc -p tsconfig.json && rslib build && node scripts/clean-model-output.mjs",
52
+ "typecheck": "node ../../scripts/generate-browser-tools-skill.mjs --check && tsc -p tsconfig.json --noEmit"
43
53
  }
44
- }
54
+ }