@cloudbase/agent-server 0.0.11 → 0.0.12
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/CHANGELOG.md +12 -0
- package/dist/index.js +84 -10
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @cloudbase/agent-server
|
|
2
2
|
|
|
3
|
+
## 1.0.1-alpha.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- alpha release 0.1.2-alpha.1
|
|
8
|
+
- Update all public packages to version 0.1.2-alpha.1
|
|
9
|
+
- Trigger automated alpha release workflow
|
|
10
|
+
- Includes latest features and improvements
|
|
11
|
+
|
|
12
|
+
- Updated dependencies
|
|
13
|
+
- @cloudbase/agent-shared@1.0.1-alpha.6
|
|
14
|
+
|
|
3
15
|
## 1.0.1-alpha.5
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/dist/index.js
CHANGED
|
@@ -231,15 +231,68 @@ function handler2(input, agent) {
|
|
|
231
231
|
// src/agui/sendMessageAGUI/server.ts
|
|
232
232
|
var import_server3 = require("@whatwg-node/server");
|
|
233
233
|
var import_client2 = require("@ag-ui/client");
|
|
234
|
+
var import_uuid2 = require("uuid");
|
|
234
235
|
function createServerAdapter2(createAgent) {
|
|
235
236
|
return (0, import_server3.createServerAdapter)(async (request) => {
|
|
236
|
-
const
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
237
|
+
const inputRes = await safeAsync(async () => {
|
|
238
|
+
const rawInput = await request.json();
|
|
239
|
+
const inputWithDefaults = {
|
|
240
|
+
tools: [],
|
|
241
|
+
context: [],
|
|
242
|
+
state: {},
|
|
243
|
+
forwardedProps: {},
|
|
244
|
+
...rawInput,
|
|
245
|
+
runId: typeof rawInput.runId === "string" && rawInput.runId ? rawInput.runId : (0, import_uuid2.v4)()
|
|
246
|
+
};
|
|
247
|
+
return import_client2.RunAgentInputSchema.parse(inputWithDefaults);
|
|
248
|
+
});
|
|
249
|
+
if ("error" in inputRes) {
|
|
250
|
+
const { error } = inputRes;
|
|
251
|
+
console.error("[AGUI Server] Pre-stream error:", error);
|
|
252
|
+
return new Response(
|
|
253
|
+
JSON.stringify({
|
|
254
|
+
error: error instanceof Error ? error.message : String(error)
|
|
255
|
+
}),
|
|
256
|
+
{
|
|
257
|
+
status: 400,
|
|
258
|
+
headers: { "Content-Type": "application/json" }
|
|
259
|
+
}
|
|
260
|
+
);
|
|
261
|
+
}
|
|
262
|
+
const createAgentRes = await safeAsync(async () => {
|
|
263
|
+
const res = await Promise.resolve(createAgent({ request }));
|
|
264
|
+
return {
|
|
265
|
+
cleanup: res.cleanup,
|
|
266
|
+
agent: "toAGUIAgent" in res.agent ? res.agent.toAGUIAgent() : res.agent
|
|
267
|
+
};
|
|
268
|
+
});
|
|
269
|
+
if ("error" in createAgentRes) {
|
|
270
|
+
const { error } = createAgentRes;
|
|
271
|
+
console.error("[AGUI Server] Pre-stream error:", error);
|
|
272
|
+
return new Response(
|
|
273
|
+
JSON.stringify({
|
|
274
|
+
error: error instanceof Error ? error.message : String(error)
|
|
275
|
+
}),
|
|
276
|
+
{
|
|
277
|
+
status: 500,
|
|
278
|
+
headers: { "Content-Type": "application/json" }
|
|
279
|
+
}
|
|
280
|
+
);
|
|
281
|
+
}
|
|
282
|
+
const events = handler2(inputRes.result, createAgentRes.result.agent);
|
|
242
283
|
let heartbeat;
|
|
284
|
+
let cleanupCalled = false;
|
|
285
|
+
const safeCleanup = () => {
|
|
286
|
+
var _a, _b;
|
|
287
|
+
if (!cleanupCalled) {
|
|
288
|
+
cleanupCalled = true;
|
|
289
|
+
try {
|
|
290
|
+
(_b = (_a = createAgentRes.result).cleanup) == null ? void 0 : _b.call(_a);
|
|
291
|
+
} catch (e) {
|
|
292
|
+
console.error(e);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
};
|
|
243
296
|
const stream = new ReadableStream({
|
|
244
297
|
async start(controller) {
|
|
245
298
|
const encoder = new TextEncoder();
|
|
@@ -253,14 +306,26 @@ function createServerAdapter2(createAgent) {
|
|
|
253
306
|
`;
|
|
254
307
|
controller.enqueue(encoder.encode(sseChunk));
|
|
255
308
|
}
|
|
309
|
+
} catch (error) {
|
|
310
|
+
console.error("[AGUI Server] Stream error:", error);
|
|
311
|
+
const errorEvent = {
|
|
312
|
+
type: import_client2.EventType.RUN_ERROR,
|
|
313
|
+
message: error instanceof Error ? error.message : String(error)
|
|
314
|
+
};
|
|
315
|
+
controller.enqueue(
|
|
316
|
+
encoder.encode(`data: ${JSON.stringify(errorEvent)}
|
|
317
|
+
|
|
318
|
+
`)
|
|
319
|
+
);
|
|
256
320
|
} finally {
|
|
257
321
|
if (heartbeat) clearInterval(heartbeat);
|
|
258
322
|
controller.close();
|
|
259
|
-
|
|
323
|
+
safeCleanup();
|
|
260
324
|
}
|
|
261
325
|
},
|
|
262
326
|
cancel() {
|
|
263
327
|
if (heartbeat) clearInterval(heartbeat);
|
|
328
|
+
safeCleanup();
|
|
264
329
|
}
|
|
265
330
|
});
|
|
266
331
|
const headers = new Headers({
|
|
@@ -271,6 +336,15 @@ function createServerAdapter2(createAgent) {
|
|
|
271
336
|
return new Response(stream, { status: 200, headers });
|
|
272
337
|
});
|
|
273
338
|
}
|
|
339
|
+
async function safeAsync(fn) {
|
|
340
|
+
try {
|
|
341
|
+
return {
|
|
342
|
+
result: await fn()
|
|
343
|
+
};
|
|
344
|
+
} catch (error) {
|
|
345
|
+
return { error };
|
|
346
|
+
}
|
|
347
|
+
}
|
|
274
348
|
|
|
275
349
|
// src/agui/healthz/index.ts
|
|
276
350
|
var healthz_exports = {};
|
|
@@ -288,7 +362,7 @@ __export(openai_exports, {
|
|
|
288
362
|
});
|
|
289
363
|
|
|
290
364
|
// src/agui/openai/handler.ts
|
|
291
|
-
var
|
|
365
|
+
var import_uuid3 = require("uuid");
|
|
292
366
|
var import_repeater3 = require("@repeaterjs/repeater");
|
|
293
367
|
function handler3(input, agent) {
|
|
294
368
|
var _a;
|
|
@@ -300,12 +374,12 @@ function handler3(input, agent) {
|
|
|
300
374
|
description: tool.function.description,
|
|
301
375
|
parameters: tool.function.parameters
|
|
302
376
|
})),
|
|
303
|
-
conversationId: (0,
|
|
377
|
+
conversationId: (0, import_uuid3.v4)()
|
|
304
378
|
},
|
|
305
379
|
agent
|
|
306
380
|
);
|
|
307
381
|
return new import_repeater3.Repeater(async (push, stop) => {
|
|
308
|
-
const id = (0,
|
|
382
|
+
const id = (0, import_uuid3.v4)();
|
|
309
383
|
let tools = [];
|
|
310
384
|
let lastWithToolCall = false;
|
|
311
385
|
let maxIndex = 0;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudbase/agent-server",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.12",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist/",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"openai": "6.3.0",
|
|
22
22
|
"uuid": "^10.0.0",
|
|
23
23
|
"zod": "^4.1.12",
|
|
24
|
-
"@cloudbase/agent-shared": "^0.0.
|
|
24
|
+
"@cloudbase/agent-shared": "^0.0.12"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/cors": "^2.8.19",
|