@eggjs/agent-runtime 3.73.0-beta.0 → 4.0.2-beta.4
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/LICENSE +21 -0
- package/dist/AgentRuntime.d.ts +46 -0
- package/dist/AgentRuntime.js +298 -0
- package/dist/AgentStoreUtils.d.ts +7 -0
- package/dist/AgentStoreUtils.js +18 -0
- package/dist/HttpSSEWriter.d.ts +20 -0
- package/dist/HttpSSEWriter.js +49 -0
- package/dist/MessageConverter.d.ts +36 -0
- package/dist/MessageConverter.js +123 -0
- package/dist/OSSAgentStore.d.ts +66 -0
- package/dist/OSSAgentStore.js +133 -0
- package/dist/OSSObjectStorageClient.d.ts +51 -0
- package/dist/OSSObjectStorageClient.js +78 -0
- package/dist/RunBuilder.d.ts +47 -0
- package/dist/RunBuilder.js +129 -0
- package/dist/SSEWriter.d.ts +17 -0
- package/dist/SSEWriter.js +1 -0
- package/dist/index.d.ts +10 -10
- package/dist/index.js +11 -31
- package/package.json +35 -25
- package/dist/src/AgentRuntime.d.ts +0 -42
- package/dist/src/AgentRuntime.js +0 -376
- package/dist/src/AgentStore.d.ts +0 -42
- package/dist/src/AgentStore.js +0 -3
- package/dist/src/AgentStoreUtils.d.ts +0 -4
- package/dist/src/AgentStoreUtils.js +0 -23
- package/dist/src/FileAgentStore.d.ts +0 -21
- package/dist/src/FileAgentStore.js +0 -104
- package/dist/src/HttpSSEWriter.d.ts +0 -16
- package/dist/src/HttpSSEWriter.js +0 -51
- package/dist/src/MessageConverter.d.ts +0 -32
- package/dist/src/MessageConverter.js +0 -108
- package/dist/src/OSSAgentStore.d.ts +0 -62
- package/dist/src/OSSAgentStore.js +0 -165
- package/dist/src/OSSObjectStorageClient.d.ts +0 -46
- package/dist/src/OSSObjectStorageClient.js +0 -90
- package/dist/src/RunBuilder.d.ts +0 -43
- package/dist/src/RunBuilder.js +0 -127
- package/dist/src/SSEWriter.d.ts +0 -14
- package/dist/src/SSEWriter.js +0 -3
- package/dist/src/agentDefaults.d.ts +0 -1
- package/dist/src/agentDefaults.js +0 -447
- package/dist/src/enhanceAgentController.d.ts +0 -2
- package/dist/src/enhanceAgentController.js +0 -90
package/dist/src/RunBuilder.js
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RunBuilder = void 0;
|
|
4
|
-
const agent_runtime_1 = require("@eggjs/tegg-types/agent-runtime");
|
|
5
|
-
const AgentStoreUtils_1 = require("./AgentStoreUtils");
|
|
6
|
-
/**
|
|
7
|
-
* Encapsulates run state transitions.
|
|
8
|
-
*
|
|
9
|
-
* Mutation methods (`start`, `complete`, `fail`, `cancel`) update internal
|
|
10
|
-
* state and return `Partial<RunRecord>` for the store.
|
|
11
|
-
*
|
|
12
|
-
* `snapshot()` produces a `RunObject` suitable for API responses and SSE events.
|
|
13
|
-
*/
|
|
14
|
-
class RunBuilder {
|
|
15
|
-
constructor(id, threadId, createdAt, status, metadata, config) {
|
|
16
|
-
this.id = id;
|
|
17
|
-
this.threadId = threadId;
|
|
18
|
-
this.createdAt = createdAt;
|
|
19
|
-
this.status = status;
|
|
20
|
-
this.metadata = metadata;
|
|
21
|
-
this.config = config;
|
|
22
|
-
}
|
|
23
|
-
/** Create a RunBuilder from a store RunRecord, using its own threadId. */
|
|
24
|
-
static fromRecord(run) {
|
|
25
|
-
var _a;
|
|
26
|
-
return RunBuilder.create(run, (_a = run.threadId) !== null && _a !== void 0 ? _a : '');
|
|
27
|
-
}
|
|
28
|
-
/** Create a RunBuilder from a store RunRecord, restoring all mutable state. */
|
|
29
|
-
static create(run, threadId) {
|
|
30
|
-
var _a, _b, _c, _d, _e;
|
|
31
|
-
const rb = new RunBuilder(run.id, threadId, run.createdAt, run.status, run.metadata, run.config);
|
|
32
|
-
rb.startedAt = (_a = run.startedAt) !== null && _a !== void 0 ? _a : undefined;
|
|
33
|
-
rb.completedAt = (_b = run.completedAt) !== null && _b !== void 0 ? _b : undefined;
|
|
34
|
-
rb.cancelledAt = (_c = run.cancelledAt) !== null && _c !== void 0 ? _c : undefined;
|
|
35
|
-
rb.failedAt = (_d = run.failedAt) !== null && _d !== void 0 ? _d : undefined;
|
|
36
|
-
rb.lastError = (_e = run.lastError) !== null && _e !== void 0 ? _e : undefined;
|
|
37
|
-
rb.output = run.output;
|
|
38
|
-
if (run.usage) {
|
|
39
|
-
rb.usage = { ...run.usage };
|
|
40
|
-
}
|
|
41
|
-
return rb;
|
|
42
|
-
}
|
|
43
|
-
/** queued -> in_progress. Returns store update. */
|
|
44
|
-
start() {
|
|
45
|
-
if (this.status !== agent_runtime_1.RunStatus.Queued) {
|
|
46
|
-
throw new agent_runtime_1.InvalidRunStateTransitionError(this.status, agent_runtime_1.RunStatus.InProgress);
|
|
47
|
-
}
|
|
48
|
-
this.status = agent_runtime_1.RunStatus.InProgress;
|
|
49
|
-
this.startedAt = (0, AgentStoreUtils_1.nowUnix)();
|
|
50
|
-
return { status: this.status, startedAt: this.startedAt };
|
|
51
|
-
}
|
|
52
|
-
/** in_progress -> completed. Returns store update. */
|
|
53
|
-
complete(output, usage) {
|
|
54
|
-
if (this.status !== agent_runtime_1.RunStatus.InProgress) {
|
|
55
|
-
throw new agent_runtime_1.InvalidRunStateTransitionError(this.status, agent_runtime_1.RunStatus.Completed);
|
|
56
|
-
}
|
|
57
|
-
this.status = agent_runtime_1.RunStatus.Completed;
|
|
58
|
-
this.completedAt = (0, AgentStoreUtils_1.nowUnix)();
|
|
59
|
-
this.output = output;
|
|
60
|
-
this.usage = usage;
|
|
61
|
-
return {
|
|
62
|
-
status: this.status,
|
|
63
|
-
output,
|
|
64
|
-
usage,
|
|
65
|
-
completedAt: this.completedAt,
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
/** queued/in_progress -> failed. Returns store update. */
|
|
69
|
-
fail(error) {
|
|
70
|
-
if (this.status !== agent_runtime_1.RunStatus.InProgress && this.status !== agent_runtime_1.RunStatus.Queued) {
|
|
71
|
-
throw new agent_runtime_1.InvalidRunStateTransitionError(this.status, agent_runtime_1.RunStatus.Failed);
|
|
72
|
-
}
|
|
73
|
-
this.status = agent_runtime_1.RunStatus.Failed;
|
|
74
|
-
this.failedAt = (0, AgentStoreUtils_1.nowUnix)();
|
|
75
|
-
this.lastError = { code: agent_runtime_1.AgentErrorCode.ExecError, message: error.message };
|
|
76
|
-
return {
|
|
77
|
-
status: this.status,
|
|
78
|
-
lastError: this.lastError,
|
|
79
|
-
failedAt: this.failedAt,
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
/** in_progress/queued -> cancelling (idempotent if already cancelling). Returns store update. */
|
|
83
|
-
cancelling() {
|
|
84
|
-
if (this.status === agent_runtime_1.RunStatus.Cancelling) {
|
|
85
|
-
return { status: this.status };
|
|
86
|
-
}
|
|
87
|
-
if (this.status !== agent_runtime_1.RunStatus.InProgress && this.status !== agent_runtime_1.RunStatus.Queued) {
|
|
88
|
-
throw new agent_runtime_1.InvalidRunStateTransitionError(this.status, agent_runtime_1.RunStatus.Cancelling);
|
|
89
|
-
}
|
|
90
|
-
this.status = agent_runtime_1.RunStatus.Cancelling;
|
|
91
|
-
return { status: this.status };
|
|
92
|
-
}
|
|
93
|
-
/** cancelling -> cancelled. Returns store update. */
|
|
94
|
-
cancel() {
|
|
95
|
-
if (this.status !== agent_runtime_1.RunStatus.Cancelling) {
|
|
96
|
-
throw new agent_runtime_1.InvalidRunStateTransitionError(this.status, agent_runtime_1.RunStatus.Cancelled);
|
|
97
|
-
}
|
|
98
|
-
this.status = agent_runtime_1.RunStatus.Cancelled;
|
|
99
|
-
this.cancelledAt = (0, AgentStoreUtils_1.nowUnix)();
|
|
100
|
-
return {
|
|
101
|
-
status: this.status,
|
|
102
|
-
cancelledAt: this.cancelledAt,
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
/** Produce a RunObject snapshot for API / SSE. */
|
|
106
|
-
snapshot() {
|
|
107
|
-
var _a, _b, _c, _d, _e;
|
|
108
|
-
return {
|
|
109
|
-
id: this.id,
|
|
110
|
-
object: agent_runtime_1.AgentObjectType.ThreadRun,
|
|
111
|
-
createdAt: this.createdAt,
|
|
112
|
-
threadId: this.threadId,
|
|
113
|
-
status: this.status,
|
|
114
|
-
lastError: this.lastError,
|
|
115
|
-
startedAt: (_a = this.startedAt) !== null && _a !== void 0 ? _a : null,
|
|
116
|
-
completedAt: (_b = this.completedAt) !== null && _b !== void 0 ? _b : null,
|
|
117
|
-
cancelledAt: (_c = this.cancelledAt) !== null && _c !== void 0 ? _c : null,
|
|
118
|
-
failedAt: (_d = this.failedAt) !== null && _d !== void 0 ? _d : null,
|
|
119
|
-
usage: (_e = this.usage) !== null && _e !== void 0 ? _e : null,
|
|
120
|
-
metadata: this.metadata,
|
|
121
|
-
output: this.output,
|
|
122
|
-
config: this.config,
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
exports.RunBuilder = RunBuilder;
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnVuQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9SdW5CdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG1FQUE2SDtBQUU3SCx1REFBNEM7QUFLNUM7Ozs7Ozs7R0FPRztBQUNILE1BQWEsVUFBVTtJQWdCckIsWUFDRSxFQUFVLEVBQ1YsUUFBZ0IsRUFDaEIsU0FBaUIsRUFDakIsTUFBaUIsRUFDakIsUUFBa0MsRUFDbEMsTUFBdUI7UUFFdkIsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsMEVBQTBFO0lBQzFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBYzs7UUFDOUIsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxNQUFBLEdBQUcsQ0FBQyxRQUFRLG1DQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFjLEVBQUUsUUFBZ0I7O1FBQzVDLE1BQU0sRUFBRSxHQUFHLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRyxFQUFFLENBQUMsU0FBUyxHQUFHLE1BQUEsR0FBRyxDQUFDLFNBQVMsbUNBQUksU0FBUyxDQUFDO1FBQzFDLEVBQUUsQ0FBQyxXQUFX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
|
package/dist/src/SSEWriter.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Abstract interface for writing SSE events.
|
|
3
|
-
* Decouples AgentRuntime from HTTP transport details.
|
|
4
|
-
*/
|
|
5
|
-
export interface SSEWriter {
|
|
6
|
-
/** Write an SSE event with the given name and JSON-serializable data. */
|
|
7
|
-
writeEvent(event: string, data: unknown): void;
|
|
8
|
-
/** Whether the underlying connection has been closed. */
|
|
9
|
-
readonly closed: boolean;
|
|
10
|
-
/** End the SSE stream. */
|
|
11
|
-
end(): void;
|
|
12
|
-
/** Register a callback for when the client disconnects. */
|
|
13
|
-
onClose(callback: () => void): void;
|
|
14
|
-
}
|
package/dist/src/SSEWriter.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU1NFV3JpdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NTRVdyaXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const AGENT_DEFAULT_FACTORIES: Record<string, () => Function>;
|
|
@@ -1,447 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.AGENT_DEFAULT_FACTORIES = void 0;
|
|
7
|
-
const node_crypto_1 = __importDefault(require("node:crypto"));
|
|
8
|
-
const tegg_runtime_1 = require("@eggjs/tegg-runtime");
|
|
9
|
-
function nowUnix() {
|
|
10
|
-
return Math.floor(Date.now() / 1000);
|
|
11
|
-
}
|
|
12
|
-
function newMsgId() {
|
|
13
|
-
return `msg_${node_crypto_1.default.randomUUID()}`;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Convert an AgentStreamMessage's message field into OpenAI MessageContentBlock[].
|
|
17
|
-
*/
|
|
18
|
-
function toContentBlocks(msg) {
|
|
19
|
-
if (!msg)
|
|
20
|
-
return [];
|
|
21
|
-
const content = msg.content;
|
|
22
|
-
if (typeof content === 'string') {
|
|
23
|
-
return [{ type: 'text', text: { value: content, annotations: [] } }];
|
|
24
|
-
}
|
|
25
|
-
if (Array.isArray(content)) {
|
|
26
|
-
return content
|
|
27
|
-
.filter(part => part.type === 'text')
|
|
28
|
-
.map(part => ({ type: 'text', text: { value: part.text, annotations: [] } }));
|
|
29
|
-
}
|
|
30
|
-
return [];
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Build a completed MessageObject from an AgentStreamMessage.
|
|
34
|
-
*/
|
|
35
|
-
function toMessageObject(msg, runId) {
|
|
36
|
-
return {
|
|
37
|
-
id: newMsgId(),
|
|
38
|
-
object: 'thread.message',
|
|
39
|
-
created_at: nowUnix(),
|
|
40
|
-
run_id: runId,
|
|
41
|
-
role: 'assistant',
|
|
42
|
-
status: 'completed',
|
|
43
|
-
content: toContentBlocks(msg),
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Extract MessageObjects and accumulated usage from AgentStreamMessage objects.
|
|
48
|
-
*/
|
|
49
|
-
function extractFromStreamMessages(messages, runId) {
|
|
50
|
-
var _a, _b, _c;
|
|
51
|
-
const output = [];
|
|
52
|
-
let promptTokens = 0;
|
|
53
|
-
let completionTokens = 0;
|
|
54
|
-
let totalTokens = 0;
|
|
55
|
-
let hasUsage = false;
|
|
56
|
-
for (const msg of messages) {
|
|
57
|
-
if (msg.message) {
|
|
58
|
-
output.push(toMessageObject(msg.message, runId));
|
|
59
|
-
}
|
|
60
|
-
if (msg.usage) {
|
|
61
|
-
hasUsage = true;
|
|
62
|
-
promptTokens += (_a = msg.usage.prompt_tokens) !== null && _a !== void 0 ? _a : 0;
|
|
63
|
-
completionTokens += (_b = msg.usage.completion_tokens) !== null && _b !== void 0 ? _b : 0;
|
|
64
|
-
totalTokens += (_c = msg.usage.total_tokens) !== null && _c !== void 0 ? _c : 0;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
let usage;
|
|
68
|
-
if (hasUsage) {
|
|
69
|
-
usage = {
|
|
70
|
-
prompt_tokens: promptTokens,
|
|
71
|
-
completion_tokens: completionTokens,
|
|
72
|
-
total_tokens: Math.max(promptTokens + completionTokens, totalTokens),
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
return { output, usage };
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Convert input messages to MessageObjects for thread history.
|
|
79
|
-
* System messages are filtered out — they are transient instructions, not conversation history.
|
|
80
|
-
*/
|
|
81
|
-
function toInputMessageObjects(messages, threadId) {
|
|
82
|
-
return messages
|
|
83
|
-
.filter(m => m.role !== 'system')
|
|
84
|
-
.map(m => ({
|
|
85
|
-
id: newMsgId(),
|
|
86
|
-
object: 'thread.message',
|
|
87
|
-
created_at: nowUnix(),
|
|
88
|
-
thread_id: threadId,
|
|
89
|
-
role: m.role,
|
|
90
|
-
status: 'completed',
|
|
91
|
-
content: typeof m.content === 'string'
|
|
92
|
-
? [{ type: 'text', text: { value: m.content, annotations: [] } }]
|
|
93
|
-
: m.content.map(p => ({ type: 'text', text: { value: p.text, annotations: [] } })),
|
|
94
|
-
}));
|
|
95
|
-
}
|
|
96
|
-
function defaultCreateThread() {
|
|
97
|
-
return async function () {
|
|
98
|
-
var _a;
|
|
99
|
-
const thread = await this.__agentStore.createThread();
|
|
100
|
-
return {
|
|
101
|
-
id: thread.id,
|
|
102
|
-
object: 'thread',
|
|
103
|
-
created_at: thread.created_at,
|
|
104
|
-
metadata: (_a = thread.metadata) !== null && _a !== void 0 ? _a : {},
|
|
105
|
-
};
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
function defaultGetThread() {
|
|
109
|
-
return async function (threadId) {
|
|
110
|
-
var _a;
|
|
111
|
-
const thread = await this.__agentStore.getThread(threadId);
|
|
112
|
-
return {
|
|
113
|
-
id: thread.id,
|
|
114
|
-
object: 'thread',
|
|
115
|
-
created_at: thread.created_at,
|
|
116
|
-
metadata: (_a = thread.metadata) !== null && _a !== void 0 ? _a : {},
|
|
117
|
-
messages: thread.messages,
|
|
118
|
-
};
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
function defaultSyncRun() {
|
|
122
|
-
return async function (input) {
|
|
123
|
-
let threadId = input.thread_id;
|
|
124
|
-
if (!threadId) {
|
|
125
|
-
const thread = await this.__agentStore.createThread();
|
|
126
|
-
threadId = thread.id;
|
|
127
|
-
input = { ...input, thread_id: threadId };
|
|
128
|
-
}
|
|
129
|
-
const run = await this.__agentStore.createRun(input.input.messages, threadId, input.config, input.metadata);
|
|
130
|
-
try {
|
|
131
|
-
const startedAt = nowUnix();
|
|
132
|
-
await this.__agentStore.updateRun(run.id, { status: 'in_progress', started_at: startedAt });
|
|
133
|
-
const streamMessages = [];
|
|
134
|
-
for await (const msg of this.execRun(input)) {
|
|
135
|
-
streamMessages.push(msg);
|
|
136
|
-
}
|
|
137
|
-
const { output, usage } = extractFromStreamMessages(streamMessages, run.id);
|
|
138
|
-
const completedAt = nowUnix();
|
|
139
|
-
await this.__agentStore.updateRun(run.id, {
|
|
140
|
-
status: 'completed',
|
|
141
|
-
output,
|
|
142
|
-
usage,
|
|
143
|
-
completed_at: completedAt,
|
|
144
|
-
});
|
|
145
|
-
await this.__agentStore.appendMessages(threadId, [
|
|
146
|
-
...toInputMessageObjects(input.input.messages, threadId),
|
|
147
|
-
...output,
|
|
148
|
-
]);
|
|
149
|
-
return {
|
|
150
|
-
id: run.id,
|
|
151
|
-
object: 'thread.run',
|
|
152
|
-
created_at: run.created_at,
|
|
153
|
-
thread_id: threadId,
|
|
154
|
-
status: 'completed',
|
|
155
|
-
started_at: startedAt,
|
|
156
|
-
completed_at: completedAt,
|
|
157
|
-
output,
|
|
158
|
-
usage,
|
|
159
|
-
metadata: run.metadata,
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
catch (err) {
|
|
163
|
-
const failedAt = nowUnix();
|
|
164
|
-
await this.__agentStore.updateRun(run.id, {
|
|
165
|
-
status: 'failed',
|
|
166
|
-
last_error: { code: 'EXEC_ERROR', message: err.message },
|
|
167
|
-
failed_at: failedAt,
|
|
168
|
-
});
|
|
169
|
-
throw err;
|
|
170
|
-
}
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
function defaultAsyncRun() {
|
|
174
|
-
return async function (input) {
|
|
175
|
-
let threadId = input.thread_id;
|
|
176
|
-
if (!threadId) {
|
|
177
|
-
const thread = await this.__agentStore.createThread();
|
|
178
|
-
threadId = thread.id;
|
|
179
|
-
input = { ...input, thread_id: threadId };
|
|
180
|
-
}
|
|
181
|
-
const run = await this.__agentStore.createRun(input.input.messages, threadId, input.config, input.metadata);
|
|
182
|
-
const abortController = new AbortController();
|
|
183
|
-
const promise = (async () => {
|
|
184
|
-
try {
|
|
185
|
-
await this.__agentStore.updateRun(run.id, { status: 'in_progress', started_at: nowUnix() });
|
|
186
|
-
const streamMessages = [];
|
|
187
|
-
for await (const msg of this.execRun(input, abortController.signal)) {
|
|
188
|
-
if (abortController.signal.aborted)
|
|
189
|
-
break;
|
|
190
|
-
streamMessages.push(msg);
|
|
191
|
-
}
|
|
192
|
-
if (abortController.signal.aborted)
|
|
193
|
-
return;
|
|
194
|
-
const { output, usage } = extractFromStreamMessages(streamMessages, run.id);
|
|
195
|
-
await this.__agentStore.updateRun(run.id, {
|
|
196
|
-
status: 'completed',
|
|
197
|
-
output,
|
|
198
|
-
usage,
|
|
199
|
-
completed_at: nowUnix(),
|
|
200
|
-
});
|
|
201
|
-
await this.__agentStore.appendMessages(threadId, [
|
|
202
|
-
...toInputMessageObjects(input.input.messages, threadId),
|
|
203
|
-
...output,
|
|
204
|
-
]);
|
|
205
|
-
}
|
|
206
|
-
catch (err) {
|
|
207
|
-
if (!abortController.signal.aborted) {
|
|
208
|
-
try {
|
|
209
|
-
await this.__agentStore.updateRun(run.id, {
|
|
210
|
-
status: 'failed',
|
|
211
|
-
last_error: { code: 'EXEC_ERROR', message: err.message },
|
|
212
|
-
failed_at: nowUnix(),
|
|
213
|
-
});
|
|
214
|
-
}
|
|
215
|
-
catch {
|
|
216
|
-
// Ignore store update failure to avoid swallowing the original error
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
finally {
|
|
221
|
-
this.__runningTasks.delete(run.id);
|
|
222
|
-
}
|
|
223
|
-
})();
|
|
224
|
-
this.__runningTasks.set(run.id, { promise, abortController });
|
|
225
|
-
return {
|
|
226
|
-
id: run.id,
|
|
227
|
-
object: 'thread.run',
|
|
228
|
-
created_at: run.created_at,
|
|
229
|
-
thread_id: threadId,
|
|
230
|
-
status: 'queued',
|
|
231
|
-
metadata: run.metadata,
|
|
232
|
-
};
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
|
-
function defaultStreamRun() {
|
|
236
|
-
return async function (input) {
|
|
237
|
-
var _a, _b, _c;
|
|
238
|
-
const runtimeCtx = tegg_runtime_1.ContextHandler.getContext();
|
|
239
|
-
if (!runtimeCtx) {
|
|
240
|
-
throw new Error('streamRun must be called within a request context');
|
|
241
|
-
}
|
|
242
|
-
const ctx = runtimeCtx.get(Symbol.for('context#eggContext'));
|
|
243
|
-
// Bypass Koa response handling — write SSE directly to the raw response
|
|
244
|
-
ctx.respond = false;
|
|
245
|
-
const res = ctx.res;
|
|
246
|
-
res.writeHead(200, {
|
|
247
|
-
'Content-Type': 'text/event-stream',
|
|
248
|
-
'Cache-Control': 'no-cache',
|
|
249
|
-
Connection: 'keep-alive',
|
|
250
|
-
});
|
|
251
|
-
// Abort execRun generator when client disconnects
|
|
252
|
-
const abortController = new AbortController();
|
|
253
|
-
res.on('close', () => abortController.abort());
|
|
254
|
-
let threadId = input.thread_id;
|
|
255
|
-
if (!threadId) {
|
|
256
|
-
const thread = await this.__agentStore.createThread();
|
|
257
|
-
threadId = thread.id;
|
|
258
|
-
input = { ...input, thread_id: threadId };
|
|
259
|
-
}
|
|
260
|
-
const run = await this.__agentStore.createRun(input.input.messages, threadId, input.config, input.metadata);
|
|
261
|
-
const runObj = {
|
|
262
|
-
id: run.id,
|
|
263
|
-
object: 'thread.run',
|
|
264
|
-
created_at: run.created_at,
|
|
265
|
-
thread_id: threadId,
|
|
266
|
-
status: 'queued',
|
|
267
|
-
metadata: run.metadata,
|
|
268
|
-
};
|
|
269
|
-
// event: thread.run.created
|
|
270
|
-
res.write(`event: thread.run.created\ndata: ${JSON.stringify(runObj)}\n\n`);
|
|
271
|
-
// event: thread.run.in_progress
|
|
272
|
-
runObj.status = 'in_progress';
|
|
273
|
-
runObj.started_at = nowUnix();
|
|
274
|
-
await this.__agentStore.updateRun(run.id, { status: 'in_progress', started_at: runObj.started_at });
|
|
275
|
-
res.write(`event: thread.run.in_progress\ndata: ${JSON.stringify(runObj)}\n\n`);
|
|
276
|
-
const msgId = newMsgId();
|
|
277
|
-
const accumulatedContent = [];
|
|
278
|
-
// event: thread.message.created
|
|
279
|
-
const msgObj = {
|
|
280
|
-
id: msgId,
|
|
281
|
-
object: 'thread.message',
|
|
282
|
-
created_at: nowUnix(),
|
|
283
|
-
run_id: run.id,
|
|
284
|
-
role: 'assistant',
|
|
285
|
-
status: 'in_progress',
|
|
286
|
-
content: [],
|
|
287
|
-
};
|
|
288
|
-
res.write(`event: thread.message.created\ndata: ${JSON.stringify(msgObj)}\n\n`);
|
|
289
|
-
let promptTokens = 0;
|
|
290
|
-
let completionTokens = 0;
|
|
291
|
-
let totalTokens = 0;
|
|
292
|
-
let hasUsage = false;
|
|
293
|
-
try {
|
|
294
|
-
for await (const msg of this.execRun(input, abortController.signal)) {
|
|
295
|
-
if (abortController.signal.aborted)
|
|
296
|
-
break;
|
|
297
|
-
if (msg.message) {
|
|
298
|
-
const contentBlocks = toContentBlocks(msg.message);
|
|
299
|
-
accumulatedContent.push(...contentBlocks);
|
|
300
|
-
// event: thread.message.delta
|
|
301
|
-
const delta = {
|
|
302
|
-
id: msgId,
|
|
303
|
-
object: 'thread.message.delta',
|
|
304
|
-
delta: { content: contentBlocks },
|
|
305
|
-
};
|
|
306
|
-
res.write(`event: thread.message.delta\ndata: ${JSON.stringify(delta)}\n\n`);
|
|
307
|
-
}
|
|
308
|
-
if (msg.usage) {
|
|
309
|
-
hasUsage = true;
|
|
310
|
-
promptTokens += (_a = msg.usage.prompt_tokens) !== null && _a !== void 0 ? _a : 0;
|
|
311
|
-
completionTokens += (_b = msg.usage.completion_tokens) !== null && _b !== void 0 ? _b : 0;
|
|
312
|
-
totalTokens += (_c = msg.usage.total_tokens) !== null && _c !== void 0 ? _c : 0;
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
// If client disconnected / abort signaled, emit cancelled and return
|
|
316
|
-
if (abortController.signal.aborted) {
|
|
317
|
-
const cancelledAt = nowUnix();
|
|
318
|
-
try {
|
|
319
|
-
await this.__agentStore.updateRun(run.id, { status: 'cancelled', cancelled_at: cancelledAt });
|
|
320
|
-
}
|
|
321
|
-
catch {
|
|
322
|
-
// Ignore store update failure during abort
|
|
323
|
-
}
|
|
324
|
-
runObj.status = 'cancelled';
|
|
325
|
-
runObj.cancelled_at = cancelledAt;
|
|
326
|
-
res.write(`event: thread.run.cancelled\ndata: ${JSON.stringify(runObj)}\n\n`);
|
|
327
|
-
return;
|
|
328
|
-
}
|
|
329
|
-
// event: thread.message.completed
|
|
330
|
-
msgObj.status = 'completed';
|
|
331
|
-
msgObj.content = accumulatedContent;
|
|
332
|
-
res.write(`event: thread.message.completed\ndata: ${JSON.stringify(msgObj)}\n\n`);
|
|
333
|
-
// Build final output
|
|
334
|
-
const output = accumulatedContent.length > 0 ? [msgObj] : [];
|
|
335
|
-
let usage;
|
|
336
|
-
if (hasUsage) {
|
|
337
|
-
usage = {
|
|
338
|
-
prompt_tokens: promptTokens,
|
|
339
|
-
completion_tokens: completionTokens,
|
|
340
|
-
total_tokens: Math.max(promptTokens + completionTokens, totalTokens),
|
|
341
|
-
};
|
|
342
|
-
}
|
|
343
|
-
const completedAt = nowUnix();
|
|
344
|
-
await this.__agentStore.updateRun(run.id, {
|
|
345
|
-
status: 'completed',
|
|
346
|
-
output,
|
|
347
|
-
usage,
|
|
348
|
-
completed_at: completedAt,
|
|
349
|
-
});
|
|
350
|
-
await this.__agentStore.appendMessages(threadId, [
|
|
351
|
-
...toInputMessageObjects(input.input.messages, threadId),
|
|
352
|
-
...output,
|
|
353
|
-
]);
|
|
354
|
-
// event: thread.run.completed
|
|
355
|
-
runObj.status = 'completed';
|
|
356
|
-
runObj.completed_at = completedAt;
|
|
357
|
-
runObj.usage = usage;
|
|
358
|
-
runObj.output = output;
|
|
359
|
-
res.write(`event: thread.run.completed\ndata: ${JSON.stringify(runObj)}\n\n`);
|
|
360
|
-
}
|
|
361
|
-
catch (err) {
|
|
362
|
-
const failedAt = nowUnix();
|
|
363
|
-
try {
|
|
364
|
-
await this.__agentStore.updateRun(run.id, {
|
|
365
|
-
status: 'failed',
|
|
366
|
-
last_error: { code: 'EXEC_ERROR', message: err.message },
|
|
367
|
-
failed_at: failedAt,
|
|
368
|
-
});
|
|
369
|
-
}
|
|
370
|
-
catch {
|
|
371
|
-
// Ignore store update failure to avoid swallowing the original error
|
|
372
|
-
}
|
|
373
|
-
// event: thread.run.failed
|
|
374
|
-
runObj.status = 'failed';
|
|
375
|
-
runObj.failed_at = failedAt;
|
|
376
|
-
runObj.last_error = { code: 'EXEC_ERROR', message: err.message };
|
|
377
|
-
res.write(`event: thread.run.failed\ndata: ${JSON.stringify(runObj)}\n\n`);
|
|
378
|
-
}
|
|
379
|
-
finally {
|
|
380
|
-
// event: done
|
|
381
|
-
res.write('event: done\ndata: [DONE]\n\n');
|
|
382
|
-
res.end();
|
|
383
|
-
}
|
|
384
|
-
};
|
|
385
|
-
}
|
|
386
|
-
function defaultGetRun() {
|
|
387
|
-
return async function (runId) {
|
|
388
|
-
const run = await this.__agentStore.getRun(runId);
|
|
389
|
-
return {
|
|
390
|
-
id: run.id,
|
|
391
|
-
object: 'thread.run',
|
|
392
|
-
created_at: run.created_at,
|
|
393
|
-
thread_id: run.thread_id,
|
|
394
|
-
status: run.status,
|
|
395
|
-
last_error: run.last_error,
|
|
396
|
-
started_at: run.started_at,
|
|
397
|
-
completed_at: run.completed_at,
|
|
398
|
-
cancelled_at: run.cancelled_at,
|
|
399
|
-
failed_at: run.failed_at,
|
|
400
|
-
usage: run.usage,
|
|
401
|
-
output: run.output,
|
|
402
|
-
config: run.config,
|
|
403
|
-
metadata: run.metadata,
|
|
404
|
-
};
|
|
405
|
-
};
|
|
406
|
-
}
|
|
407
|
-
const TERMINAL_RUN_STATUSES = new Set(['completed', 'failed', 'cancelled', 'expired']);
|
|
408
|
-
function defaultCancelRun() {
|
|
409
|
-
return async function (runId) {
|
|
410
|
-
// Abort running task first to prevent it from writing completed status
|
|
411
|
-
const task = this.__runningTasks.get(runId);
|
|
412
|
-
if (task) {
|
|
413
|
-
task.abortController.abort();
|
|
414
|
-
// Wait for the background task to finish so it won't race with our update
|
|
415
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
416
|
-
await task.promise.catch(() => { });
|
|
417
|
-
}
|
|
418
|
-
// Re-read run status after background task has settled
|
|
419
|
-
const run = await this.__agentStore.getRun(runId);
|
|
420
|
-
if (TERMINAL_RUN_STATUSES.has(run.status)) {
|
|
421
|
-
throw new Error(`Cannot cancel run with status '${run.status}'`);
|
|
422
|
-
}
|
|
423
|
-
const cancelledAt = nowUnix();
|
|
424
|
-
await this.__agentStore.updateRun(runId, {
|
|
425
|
-
status: 'cancelled',
|
|
426
|
-
cancelled_at: cancelledAt,
|
|
427
|
-
});
|
|
428
|
-
return {
|
|
429
|
-
id: run.id,
|
|
430
|
-
object: 'thread.run',
|
|
431
|
-
created_at: run.created_at,
|
|
432
|
-
thread_id: run.thread_id,
|
|
433
|
-
status: 'cancelled',
|
|
434
|
-
cancelled_at: cancelledAt,
|
|
435
|
-
};
|
|
436
|
-
};
|
|
437
|
-
}
|
|
438
|
-
exports.AGENT_DEFAULT_FACTORIES = {
|
|
439
|
-
createThread: defaultCreateThread,
|
|
440
|
-
getThread: defaultGetThread,
|
|
441
|
-
syncRun: defaultSyncRun,
|
|
442
|
-
asyncRun: defaultAsyncRun,
|
|
443
|
-
streamRun: defaultStreamRun,
|
|
444
|
-
getRun: defaultGetRun,
|
|
445
|
-
cancelRun: defaultCancelRun,
|
|
446
|
-
};
|
|
447
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnREZWZhdWx0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZ2VudERlZmF1bHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDhEQUFpQztBQUNqQyxzREFBcUQ7QUFtQnJELFNBQVMsT0FBTztJQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVELFNBQVMsUUFBUTtJQUNmLE9BQU8sT0FBTyxxQkFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7QUFDdEMsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBUyxlQUFlLENBQUMsR0FBa0M7SUFDekQsSUFBSSxDQUFDLEdBQUc7UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNwQixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO0lBQzVCLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDaEMsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sT0FBTzthQUNYLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDO2FBQ3BDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBZSxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBQ0Qs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
|