@slopus/happy-agent-base 0.0.17 → 0.0.18
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/README.md +20 -0
- package/dist/Agent.d.ts +3 -1
- package/dist/Agent.d.ts.map +1 -1
- package/dist/Agent.js +5 -2
- package/dist/Agent.js.map +1 -1
- package/dist/AgentBase.d.ts +13 -7
- package/dist/AgentBase.d.ts.map +1 -1
- package/dist/AgentBase.js +291 -149
- package/dist/AgentBase.js.map +1 -1
- package/dist/AgentBaseHooks.d.ts +21 -2
- package/dist/AgentBaseHooks.d.ts.map +1 -1
- package/dist/AgentDatabase.d.ts.map +1 -1
- package/dist/AgentDatabase.js +27 -14
- package/dist/AgentDatabase.js.map +1 -1
- package/dist/AgentDatabaseConnection.d.ts +39 -0
- package/dist/AgentDatabaseConnection.d.ts.map +1 -0
- package/dist/AgentDatabaseConnection.js +199 -0
- package/dist/AgentDatabaseConnection.js.map +1 -0
- package/dist/AgentModule.d.ts +7 -1
- package/dist/AgentModule.d.ts.map +1 -1
- package/dist/AgentPersistence.d.ts +4 -4
- package/dist/AgentRef.d.ts +1 -1
- package/dist/AgentRef.js +1 -1
- package/dist/AgentSpanAttributes.d.ts +11 -0
- package/dist/AgentSpanAttributes.d.ts.map +1 -0
- package/dist/AgentSpanAttributes.js +11 -0
- package/dist/AgentSpanAttributes.js.map +1 -0
- package/dist/AgentStorage.d.ts.map +1 -1
- package/dist/AgentStorage.js +2 -0
- package/dist/AgentStorage.js.map +1 -1
- package/dist/AgentSystemLocal.d.ts.map +1 -1
- package/dist/AgentSystemLocal.js +53 -30
- package/dist/AgentSystemLocal.js.map +1 -1
- package/dist/inTx.d.ts +0 -7
- package/dist/inTx.d.ts.map +1 -1
- package/dist/inTx.js +9 -16
- package/dist/inTx.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/openAgentPGliteDatabase.d.ts +10 -0
- package/dist/openAgentPGliteDatabase.d.ts.map +1 -0
- package/dist/openAgentPGliteDatabase.js +17 -0
- package/dist/openAgentPGliteDatabase.js.map +1 -0
- package/dist/openAgentPostgresDatabase.d.ts +13 -0
- package/dist/openAgentPostgresDatabase.d.ts.map +1 -0
- package/dist/openAgentPostgresDatabase.js +10 -0
- package/dist/openAgentPostgresDatabase.js.map +1 -0
- package/dist/openAgentSQLiteDatabase.d.ts +6 -0
- package/dist/openAgentSQLiteDatabase.d.ts.map +1 -0
- package/dist/openAgentSQLiteDatabase.js +48 -0
- package/dist/openAgentSQLiteDatabase.js.map +1 -0
- package/package.json +6 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentDatabase.js","sourceRoot":"","sources":["../sources/AgentDatabase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAY,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentDatabase.js","sourceRoot":"","sources":["../sources/AgentDatabase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAY,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AA6CvE,qEAAqE;AACrE,MAAM,UAAU,qBAAqB,CAAC,QAAuB;IACzD,OAAO,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;AAC5C,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,QAAuB,EACvB,KAAU;IAEV,MAAM,IAAI,GAAG,KAAK,IAA6B,EAAE;QAC7C,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,OAAO,MAAM,QAAQ,CAAC,GAAG,CAAM,KAAK,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,MAAe,CAAC;QAClD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAgB,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,IAAa,CAAC;IACzB,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACrD,OAAO,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAChG,CAAC;AAED,4DAA4D;AAC5D,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAuB,EAAE,KAAU;IACtE,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;QACnC,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO;QACX,CAAC;QACD,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,EAAE,CAAC;QACb,OAAO;IACX,CAAC;IACD,MAAM,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { AgentDatabase, AgentDatabaseFacade } from "./AgentDatabase.js";
|
|
2
|
+
/**
|
|
3
|
+
* One lifecycle owner for an Agent Base database.
|
|
4
|
+
*
|
|
5
|
+
* Root statements, root transactions, and close enter the same FIFO. Statements using the active
|
|
6
|
+
* transaction facade execute directly because that transaction already owns the database slot.
|
|
7
|
+
*/
|
|
8
|
+
export declare class AgentDatabaseConnection<Database extends AgentDatabase = AgentDatabase> {
|
|
9
|
+
#private;
|
|
10
|
+
readonly database: Database;
|
|
11
|
+
constructor(database: Database, closeDatabase: () => void | Promise<void>);
|
|
12
|
+
/**
|
|
13
|
+
* Run one database-owned step against the root FIFO, or directly when the current call chain
|
|
14
|
+
* already owns this connection through a root step or transaction.
|
|
15
|
+
*/
|
|
16
|
+
operation<Result>(database: AgentDatabaseFacade<Database>, work: () => Promise<Result>): Promise<Result>;
|
|
17
|
+
/**
|
|
18
|
+
* Hold the root FIFO through commit and its in-process publication. A transaction opened
|
|
19
|
+
* inside an existing database-owned step reuses that step instead of queuing behind itself.
|
|
20
|
+
*/
|
|
21
|
+
transaction<Result>(work: (database: AgentDatabaseFacade<Database>) => Promise<Result>, committed?: () => Promise<void>): Promise<Result>;
|
|
22
|
+
/** Reject new work, drain admitted work, and close the owned driver exactly once. */
|
|
23
|
+
close(): Promise<void>;
|
|
24
|
+
}
|
|
25
|
+
/** Find the owner of a root or transaction facade. */
|
|
26
|
+
export declare function agentDatabaseConnection(database: AgentDatabase): AgentDatabaseConnection | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Give an externally opened database the standard Agent Base scheduling boundary.
|
|
29
|
+
*
|
|
30
|
+
* Production hosts should prefer one of the concrete openers, which also owns driver close.
|
|
31
|
+
*/
|
|
32
|
+
export declare function ensureAgentDatabaseConnection<Database extends AgentDatabase>(database: Database): AgentDatabaseConnection<Database>;
|
|
33
|
+
/** Open a root transaction through its owner, or directly for an unowned test facade. */
|
|
34
|
+
export declare function agentDatabaseTransaction<Result>(database: AgentDatabase, work: (database: AgentDatabase) => Promise<Result>, committed?: () => Promise<void>): Promise<Result>;
|
|
35
|
+
/** Run one complete persistence step through the database owner's ordering boundary. */
|
|
36
|
+
export declare function agentDatabaseOperation<Result>(database: AgentDatabase, work: () => Promise<Result>): Promise<Result>;
|
|
37
|
+
/** Start an independent lifetime without inheriting a caller's temporary database ownership. */
|
|
38
|
+
export declare function outsideAgentDatabaseOperation<Result>(work: () => Result): Result;
|
|
39
|
+
//# sourceMappingURL=AgentDatabaseConnection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentDatabaseConnection.d.ts","sourceRoot":"","sources":["../sources/AgentDatabaseConnection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAmB7E;;;;;GAKG;AACH,qBAAa,uBAAuB,CAAC,QAAQ,SAAS,aAAa,GAAG,aAAa;;IAC/E,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAM5B,YAAY,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAOxE;IAED;;;OAGG;IACG,SAAS,CAAC,MAAM,EAClB,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC,EACvC,IAAI,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAC5B,OAAO,CAAC,MAAM,CAAC,CAmCjB;IAED;;;OAGG;IACG,WAAW,CAAC,MAAM,EACpB,IAAI,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,EAClE,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAChC,OAAO,CAAC,MAAM,CAAC,CAsCjB;IAED,qFAAqF;IAC/E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAqB3B;CAsBJ;AAED,sDAAsD;AACtD,wBAAgB,uBAAuB,CACnC,QAAQ,EAAE,aAAa,GACxB,uBAAuB,GAAG,SAAS,CAErC;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,SAAS,aAAa,EACxE,QAAQ,EAAE,QAAQ,GACnB,uBAAuB,CAAC,QAAQ,CAAC,CAInC;AAED,yFAAyF;AACzF,wBAAsB,wBAAwB,CAAC,MAAM,EACjD,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,OAAO,CAAC,MAAM,CAAC,EAClD,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAChC,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED,wFAAwF;AACxF,wBAAsB,sBAAsB,CAAC,MAAM,EAC/C,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAC5B,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED,gGAAgG;AAChG,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,MAAM,GAAG,MAAM,CAEhF"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
+
const roots = new WeakMap();
|
|
3
|
+
const transactions = new WeakMap();
|
|
4
|
+
const activeTransaction = new AsyncLocalStorage();
|
|
5
|
+
const activeRootOperation = new AsyncLocalStorage();
|
|
6
|
+
/**
|
|
7
|
+
* One lifecycle owner for an Agent Base database.
|
|
8
|
+
*
|
|
9
|
+
* Root statements, root transactions, and close enter the same FIFO. Statements using the active
|
|
10
|
+
* transaction facade execute directly because that transaction already owns the database slot.
|
|
11
|
+
*/
|
|
12
|
+
export class AgentDatabaseConnection {
|
|
13
|
+
database;
|
|
14
|
+
#closeDatabase;
|
|
15
|
+
#available = Promise.resolve();
|
|
16
|
+
#closePromise;
|
|
17
|
+
#state = "open";
|
|
18
|
+
constructor(database, closeDatabase) {
|
|
19
|
+
if (roots.has(database)) {
|
|
20
|
+
throw new Error("The Agent Database already has a lifecycle owner.");
|
|
21
|
+
}
|
|
22
|
+
this.database = database;
|
|
23
|
+
this.#closeDatabase = closeDatabase;
|
|
24
|
+
roots.set(database, this);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Run one database-owned step against the root FIFO, or directly when the current call chain
|
|
28
|
+
* already owns this connection through a root step or transaction.
|
|
29
|
+
*/
|
|
30
|
+
async operation(database, work) {
|
|
31
|
+
const transaction = transactions.get(database);
|
|
32
|
+
if (transaction !== undefined) {
|
|
33
|
+
if (!transaction.active) {
|
|
34
|
+
throw new Error("The Agent Database transaction has ended.");
|
|
35
|
+
}
|
|
36
|
+
if (transaction.connection !== this) {
|
|
37
|
+
throw new Error("The Agent Database transaction belongs to another connection.");
|
|
38
|
+
}
|
|
39
|
+
return await work();
|
|
40
|
+
}
|
|
41
|
+
if (database !== this.database) {
|
|
42
|
+
throw new Error("The Agent Database operation uses an unknown facade.");
|
|
43
|
+
}
|
|
44
|
+
const ambient = activeTransaction.getStore();
|
|
45
|
+
if (ambient?.active === true && ambient.connection === this) {
|
|
46
|
+
throw new Error("Work inside an Agent Database transaction must use its transaction facade.");
|
|
47
|
+
}
|
|
48
|
+
const rootOperation = activeRootOperation.getStore();
|
|
49
|
+
if (rootOperation?.active === true && rootOperation.connection === this) {
|
|
50
|
+
return await work();
|
|
51
|
+
}
|
|
52
|
+
return await this.#admit(async () => {
|
|
53
|
+
const state = {
|
|
54
|
+
connection: this,
|
|
55
|
+
active: true,
|
|
56
|
+
};
|
|
57
|
+
try {
|
|
58
|
+
return await activeRootOperation.run(state, work);
|
|
59
|
+
}
|
|
60
|
+
finally {
|
|
61
|
+
state.active = false;
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Hold the root FIFO through commit and its in-process publication. A transaction opened
|
|
67
|
+
* inside an existing database-owned step reuses that step instead of queuing behind itself.
|
|
68
|
+
*/
|
|
69
|
+
async transaction(work, committed) {
|
|
70
|
+
const ambient = activeTransaction.getStore();
|
|
71
|
+
if (ambient?.active === true && ambient.connection === this) {
|
|
72
|
+
throw new Error("Nested Agent Database work must reuse the active transaction facade.");
|
|
73
|
+
}
|
|
74
|
+
const run = async () => {
|
|
75
|
+
const result = await runRootTransaction(this.database, async (database) => {
|
|
76
|
+
const state = {
|
|
77
|
+
connection: this,
|
|
78
|
+
active: true,
|
|
79
|
+
};
|
|
80
|
+
transactions.set(database, state);
|
|
81
|
+
try {
|
|
82
|
+
return await activeTransaction.run(state, async () => {
|
|
83
|
+
return await work(database);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
finally {
|
|
87
|
+
state.active = false;
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
await committed?.();
|
|
91
|
+
return result;
|
|
92
|
+
};
|
|
93
|
+
const rootOperation = activeRootOperation.getStore();
|
|
94
|
+
if (rootOperation?.active === true && rootOperation.connection === this) {
|
|
95
|
+
return await run();
|
|
96
|
+
}
|
|
97
|
+
return await this.#admit(async () => {
|
|
98
|
+
const state = {
|
|
99
|
+
connection: this,
|
|
100
|
+
active: true,
|
|
101
|
+
};
|
|
102
|
+
try {
|
|
103
|
+
return await activeRootOperation.run(state, run);
|
|
104
|
+
}
|
|
105
|
+
finally {
|
|
106
|
+
state.active = false;
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
/** Reject new work, drain admitted work, and close the owned driver exactly once. */
|
|
111
|
+
async close() {
|
|
112
|
+
const transaction = activeTransaction.getStore();
|
|
113
|
+
const rootOperation = activeRootOperation.getStore();
|
|
114
|
+
if ((transaction?.active === true && transaction.connection === this) ||
|
|
115
|
+
(rootOperation?.active === true && rootOperation.connection === this)) {
|
|
116
|
+
throw new Error("An Agent Database operation cannot close its own connection.");
|
|
117
|
+
}
|
|
118
|
+
if (this.#closePromise !== undefined)
|
|
119
|
+
return await this.#closePromise;
|
|
120
|
+
if (this.#state === "closed")
|
|
121
|
+
return;
|
|
122
|
+
this.#state = "closing";
|
|
123
|
+
const closing = this.#enqueue(async () => {
|
|
124
|
+
try {
|
|
125
|
+
await this.#closeDatabase();
|
|
126
|
+
}
|
|
127
|
+
finally {
|
|
128
|
+
this.#state = "closed";
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
this.#closePromise = closing;
|
|
132
|
+
await closing;
|
|
133
|
+
}
|
|
134
|
+
async #admit(work) {
|
|
135
|
+
if (this.#state !== "open") {
|
|
136
|
+
throw new Error(`The Agent Database connection is ${this.#state}.`);
|
|
137
|
+
}
|
|
138
|
+
return await this.#enqueue(work);
|
|
139
|
+
}
|
|
140
|
+
async #enqueue(work) {
|
|
141
|
+
const previous = this.#available;
|
|
142
|
+
let release;
|
|
143
|
+
this.#available = new Promise((resolve) => {
|
|
144
|
+
release = resolve;
|
|
145
|
+
});
|
|
146
|
+
await previous;
|
|
147
|
+
try {
|
|
148
|
+
return await work();
|
|
149
|
+
}
|
|
150
|
+
finally {
|
|
151
|
+
release();
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/** Find the owner of a root or transaction facade. */
|
|
156
|
+
export function agentDatabaseConnection(database) {
|
|
157
|
+
return roots.get(database) ?? transactions.get(database)?.connection;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Give an externally opened database the standard Agent Base scheduling boundary.
|
|
161
|
+
*
|
|
162
|
+
* Production hosts should prefer one of the concrete openers, which also owns driver close.
|
|
163
|
+
*/
|
|
164
|
+
export function ensureAgentDatabaseConnection(database) {
|
|
165
|
+
const existing = roots.get(database);
|
|
166
|
+
if (existing !== undefined)
|
|
167
|
+
return existing;
|
|
168
|
+
return new AgentDatabaseConnection(database, () => undefined);
|
|
169
|
+
}
|
|
170
|
+
/** Open a root transaction through its owner, or directly for an unowned test facade. */
|
|
171
|
+
export async function agentDatabaseTransaction(database, work, committed) {
|
|
172
|
+
const connection = agentDatabaseConnection(database);
|
|
173
|
+
if (connection !== undefined && connection.database === database) {
|
|
174
|
+
return await connection.transaction(async (transaction) => {
|
|
175
|
+
return await work(transaction);
|
|
176
|
+
}, committed);
|
|
177
|
+
}
|
|
178
|
+
const result = await runRootTransaction(database, work);
|
|
179
|
+
await committed?.();
|
|
180
|
+
return result;
|
|
181
|
+
}
|
|
182
|
+
/** Run one complete persistence step through the database owner's ordering boundary. */
|
|
183
|
+
export async function agentDatabaseOperation(database, work) {
|
|
184
|
+
const connection = agentDatabaseConnection(database);
|
|
185
|
+
if (connection === undefined)
|
|
186
|
+
return await work();
|
|
187
|
+
return await connection.operation(database, work);
|
|
188
|
+
}
|
|
189
|
+
/** Start an independent lifetime without inheriting a caller's temporary database ownership. */
|
|
190
|
+
export function outsideAgentDatabaseOperation(work) {
|
|
191
|
+
return activeRootOperation.exit(work);
|
|
192
|
+
}
|
|
193
|
+
async function runRootTransaction(database, work) {
|
|
194
|
+
// Both supported Drizzle families expose the same callback transaction shape, but TypeScript
|
|
195
|
+
// cannot invoke the union of their generic overloads without erasing that one internal call.
|
|
196
|
+
const transaction = database.transaction.bind(database);
|
|
197
|
+
return await transaction(work);
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=AgentDatabaseConnection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentDatabaseConnection.js","sourceRoot":"","sources":["../sources/AgentDatabaseConnection.ts"],"names":[],"mappings":"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"}
|
package/dist/AgentModule.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ProviderModelCompatibilityType, SessionEvent, SessionReasoningEffort, SessionServiceTier, SessionSystemMessage, SessionToolCallBlock, SessionToolResultMessage } from "@slopus/happy-providers";
|
|
2
2
|
import type { Context } from "@steve.kite/stdlib";
|
|
3
3
|
import type { AgentDatabase, AgentModuleMigration } from "./AgentDatabase.js";
|
|
4
|
-
import type { AgentBaseAcceptedMessage, AgentBaseCompaction, AgentBaseCompactionStart, AgentBaseCompletedCompaction, AgentBaseInference, AgentBaseInferenceStart, AgentBaseLoop, AgentBaseModelChange, AgentBasePermissionModeChange, AgentBasePersistedEvent, AgentBaseToolCall, AgentBaseToolCallDecision, AgentBaseToolOutcome, AgentBaseSettlement, AgentBaseTurn, AgentBaseTurnStart, MaybePromise } from "./AgentBaseHooks.js";
|
|
4
|
+
import type { AgentBaseAcceptedMessage, AgentBaseActivation, AgentBaseCompaction, AgentBaseCompactionStart, AgentBaseCompletedCompaction, AgentBaseInference, AgentBaseInferenceStart, AgentBaseLoop, AgentBaseModelChange, AgentBasePermissionModeChange, AgentBasePersistedEvent, AgentBaseToolCall, AgentBaseToolCallDecision, AgentBaseToolOutcome, AgentBaseSettlement, AgentBaseTurn, AgentBaseTurnStart, MaybePromise } from "./AgentBaseHooks.js";
|
|
5
5
|
import type { AgentModuleAction } from "./AgentModuleAction.js";
|
|
6
6
|
import type { AgentKV } from "./AgentKV.js";
|
|
7
7
|
import type { AgentMetadata, AgentMetadataChange } from "./AgentMetadata.js";
|
|
@@ -194,6 +194,12 @@ export interface AgentModuleHooks<Tool extends AnyAgentTool = AnyAgentTool, Data
|
|
|
194
194
|
readonly metadataChangedTransact?: (ctx: Context, scope: AgentModuleScope<Database>, change: AgentMetadataChange) => MaybePromise<void>;
|
|
195
195
|
/** Observes the complete merged agent metadata after it commits. */
|
|
196
196
|
readonly metadataChanged?: (ctx: Context, scope: AgentModuleScope<Database>, change: AgentMetadataChange) => MaybePromise<void>;
|
|
197
|
+
/**
|
|
198
|
+
* Runs inside the transaction that makes a settled agent owe work again: scheduling a
|
|
199
|
+
* message activates it, and a restart reactivates one that still owed work, with `restored`
|
|
200
|
+
* true. Modules run in array order and a failure propagates, rolling the activation back.
|
|
201
|
+
*/
|
|
202
|
+
readonly afterAgentActivatedTransact?: (ctx: Context, scope: AgentModuleScope<Database>, activation: AgentBaseActivation) => MaybePromise<void>;
|
|
197
203
|
/** Transactional counterpart to `beforeAgentLoop`. */
|
|
198
204
|
readonly beforeAgentLoopTransact?: (ctx: Context, scope: AgentModuleScope<Database>, loop: AgentBaseLoop) => MaybePromise<void>;
|
|
199
205
|
/** Called when the loop leaves the settled state and begins working. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentModule.d.ts","sourceRoot":"","sources":["../sources/AgentModule.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AgentModule.d.ts","sourceRoot":"","sources":["../sources/AgentModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,10 +35,10 @@ export type AgentRecord = {
|
|
|
35
35
|
* it reaches the main store only when a turn consumes it into the context, and its pending key
|
|
36
36
|
* is deleted at that moment. A `message.` uniqueness key makes retrying a cuid2 message ID an
|
|
37
37
|
* ignored database conflict; history replacement removes keys for the records it deletes.
|
|
38
|
-
* Exactly one owner connects to a store,
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
38
|
+
* Exactly one owner connects to a store. Transactions, uniqueness constraints, and ordered keys
|
|
39
|
+
* keep history order aligned with storage order. Key-value operations — a module's or a tool's —
|
|
40
|
+
* run as they come, so each one has to be atomic on its own, but no implementation ever has to
|
|
41
|
+
* defend against a second owner.
|
|
42
42
|
*/
|
|
43
43
|
export interface AgentPersistence {
|
|
44
44
|
/** The root Drizzle facade for this store. */
|
package/dist/AgentRef.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import type { AgentMessageAcceptance } from "./AgentMessageAcceptance.js";
|
|
|
8
8
|
import type { AnyAgentTool } from "./AgentTool.js";
|
|
9
9
|
/**
|
|
10
10
|
* Whether this caller may be told that `agentId` durably accepted a message. Acceptance is a
|
|
11
|
-
* queue write
|
|
11
|
+
* queue write through that agent's database transaction, so waiting for it is safe from anywhere
|
|
12
12
|
* except inside that agent's loop, which is holding the lock the write needs. A caller naming no
|
|
13
13
|
* agent is an external host and may wait; only the target agent itself cannot.
|
|
14
14
|
*/
|
package/dist/AgentRef.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { agentId } from "./AgentContexts.js";
|
|
2
2
|
/**
|
|
3
3
|
* Whether this caller may be told that `agentId` durably accepted a message. Acceptance is a
|
|
4
|
-
* queue write
|
|
4
|
+
* queue write through that agent's database transaction, so waiting for it is safe from anywhere
|
|
5
5
|
* except inside that agent's loop, which is holding the lock the write needs. A caller naming no
|
|
6
6
|
* agent is an external host and may wait; only the target agent itself cannot.
|
|
7
7
|
*/
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type Context } from "@steve.kite/stdlib";
|
|
2
|
+
/** Values that OpenTelemetry accepts as one span attribute. */
|
|
3
|
+
export type AgentSpanAttributeValue = string | number | boolean | readonly (string | number | boolean)[];
|
|
4
|
+
/** Attributes Agent Base adds to the span currently carried by a context. */
|
|
5
|
+
export type AgentSpanAttributes = Readonly<Record<string, AgentSpanAttributeValue>>;
|
|
6
|
+
/**
|
|
7
|
+
* Add attributes when the installed tracer supports them. Stdlib tracing deliberately has a
|
|
8
|
+
* minimal common span contract, so tracers that only record nesting remain fully supported.
|
|
9
|
+
*/
|
|
10
|
+
export declare function setAgentSpanAttributes(ctx: Context, attributes: AgentSpanAttributes): void;
|
|
11
|
+
//# sourceMappingURL=AgentSpanAttributes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentSpanAttributes.d.ts","sourceRoot":"","sources":["../sources/AgentSpanAttributes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7D,+DAA+D;AAC/D,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;AAEzG,6EAA6E;AAC7E,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC;AAEpF;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAK1F"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { traceSpan } from "@steve.kite/stdlib";
|
|
2
|
+
/**
|
|
3
|
+
* Add attributes when the installed tracer supports them. Stdlib tracing deliberately has a
|
|
4
|
+
* minimal common span contract, so tracers that only record nesting remain fully supported.
|
|
5
|
+
*/
|
|
6
|
+
export function setAgentSpanAttributes(ctx, attributes) {
|
|
7
|
+
const span = traceSpan.get(ctx);
|
|
8
|
+
if (typeof span?.setAttributes === "function")
|
|
9
|
+
span.setAttributes(attributes);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=AgentSpanAttributes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentSpanAttributes.js","sourceRoot":"","sources":["../sources/AgentSpanAttributes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,oBAAoB,CAAC;AAQ7D;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAY,EAAE,UAA+B;IAChF,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAEf,CAAC;IAChB,IAAI,OAAO,IAAI,EAAE,aAAa,KAAK,UAAU;QAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AAClF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentStorage.d.ts","sourceRoot":"","sources":["../sources/AgentStorage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAGH,KAAK,aAAa,EAClB,KAAK,mBAAmB,EAE3B,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentStorage.d.ts","sourceRoot":"","sources":["../sources/AgentStorage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAGH,KAAK,aAAa,EAClB,KAAK,mBAAmB,EAE3B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B,kFAAkF;IAClF,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAED,UAAU,yBAAyB;IAC/B;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACrE;AAED,6BAA6B;AAC7B,MAAM,MAAM,mBAAmB,CAAC,QAAQ,SAAS,aAAa,GAAG,aAAa,IAC1E,yBAAyB,GAAG;IACxB,wFAAwF;IACxF,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC/B,CAAC;AAEN,wFAAwF;AACxF,qBAAa,YAAY,CAAC,QAAQ,SAAS,aAAa,GAAG,aAAa;;IACpE,+BAA+B;IAC/B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,mEAAmE;IACnE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAUrB,YAAY,OAAO,EAAE,mBAAmB,CAAC,QAAQ,CAAC,EAUjD;IAED;;;;OAIG;IACG,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmBzD;IAED,oDAAoD;IACpD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAE7C;IAED,iEAAiE;IAC3D,WAAW,CAAC,MAAM,EACpB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,GACjF,OAAO,CAAC,MAAM,CAAC,CAKjB;IAED;;;;OAIG;IACG,OAAO,CACT,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,SAAS,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,GACxD,OAAO,CAAC,IAAI,CAAC,CA6Cf;CAgDJ"}
|
package/dist/AgentStorage.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { sql } from "drizzle-orm";
|
|
2
2
|
import { agentDatabaseRows, agentDatabaseRun, } from "./AgentDatabase.js";
|
|
3
|
+
import { ensureAgentDatabaseConnection } from "./AgentDatabaseConnection.js";
|
|
3
4
|
import { AgentKV } from "./AgentKV.js";
|
|
4
5
|
import { AgentPersistenceDrizzle } from "./AgentPersistenceDrizzle.js";
|
|
5
6
|
/** Storage roots and Drizzle persistence shared by an `AgentSystemLocal` collection. */
|
|
@@ -19,6 +20,7 @@ export class AgentStorage {
|
|
|
19
20
|
constructor(options) {
|
|
20
21
|
this.#acquireLock = options.acquireLock;
|
|
21
22
|
this.database = options.database;
|
|
23
|
+
ensureAgentDatabaseConnection(options.database);
|
|
22
24
|
const integration = {
|
|
23
25
|
database: options.database,
|
|
24
26
|
};
|
package/dist/AgentStorage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentStorage.js","sourceRoot":"","sources":["../sources/AgentStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAGlC,OAAO,EACH,iBAAiB,EACjB,gBAAgB,GAInB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentStorage.js","sourceRoot":"","sources":["../sources/AgentStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentSystemLocal.d.ts","sourceRoot":"","sources":["../sources/AgentSystemLocal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGlF,OAAO,EAKH,KAAK,OAAO,EACf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentSystemLocal.d.ts","sourceRoot":"","sources":["../sources/AgentSystemLocal.ts"],"names":[],"mappings":"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"}
|
package/dist/AgentSystemLocal.js
CHANGED
|
@@ -5,7 +5,7 @@ import { afterCommit, asyncLock, withLifetime, } from "@steve.kite/stdlib";
|
|
|
5
5
|
import { Agent } from "./Agent.js";
|
|
6
6
|
import {} from "./AgentBase.js";
|
|
7
7
|
import { agentDatabase, agentId as agentIdOf, agentStorageTransaction, withAgentDatabase, withAgentKV, } from "./AgentContexts.js";
|
|
8
|
-
import {
|
|
8
|
+
import { outsideAgentDatabaseOperation } from "./AgentDatabaseConnection.js";
|
|
9
9
|
import { agentConfigSchema, ownAgentConfig, withAgentConfig, } from "./AgentConfig.js";
|
|
10
10
|
import { cuid2Schema, ownAgentMetadata } from "./AgentMetadata.js";
|
|
11
11
|
import { withAgentSystem } from "./AgentSystemContext.js";
|
|
@@ -60,6 +60,8 @@ export class AgentSystemLocal {
|
|
|
60
60
|
#sharedModuleKV;
|
|
61
61
|
/** The live `Agent` instances this process has built, keyed by identity. */
|
|
62
62
|
#agents = new Map();
|
|
63
|
+
/** Unpublished agents built once per transaction for delivery to an unloaded target. */
|
|
64
|
+
#transactionAgents = new WeakMap();
|
|
63
65
|
// One agent has one store for the life of the collection, so inspecting an agent's durable
|
|
64
66
|
// work and running that agent never end up looking at two different stores.
|
|
65
67
|
#persistences = new Map();
|
|
@@ -396,9 +398,16 @@ export class AgentSystemLocal {
|
|
|
396
398
|
if (config === undefined) {
|
|
397
399
|
throw new Error(`Agent "${agentId}" has not been created.`);
|
|
398
400
|
}
|
|
399
|
-
const
|
|
401
|
+
const published = this.#agents.get(agentId);
|
|
402
|
+
if (published !== undefined)
|
|
403
|
+
return published;
|
|
404
|
+
const agent = await this.#instantiate(agentId, config, false, false, undefined, false);
|
|
400
405
|
if (agent === undefined)
|
|
401
406
|
throw new Error(`Agent "${agentId}" could not be built.`);
|
|
407
|
+
const concurrent = this.#agents.get(agentId);
|
|
408
|
+
if (concurrent !== undefined)
|
|
409
|
+
return concurrent;
|
|
410
|
+
this.#publish(agent, true);
|
|
402
411
|
return agent;
|
|
403
412
|
});
|
|
404
413
|
}
|
|
@@ -406,7 +415,7 @@ export class AgentSystemLocal {
|
|
|
406
415
|
* Build one agent and put it to work. Called with the agent's lock held, and only for an ID
|
|
407
416
|
* that has no live instance yet.
|
|
408
417
|
*/
|
|
409
|
-
async #instantiate(agentId, config, onlyIfActive = false, start = true) {
|
|
418
|
+
async #instantiate(agentId, config, onlyIfActive = false, start = true, loadCtx, publish = true) {
|
|
410
419
|
// An agent outlives whatever asked for it — a restart bringing the collection up, an HTTP
|
|
411
420
|
// request, another agent's tool — so it takes no context from its caller at all and is
|
|
412
421
|
// built on the collection's own. A run loop still running long after the call that started
|
|
@@ -426,15 +435,24 @@ export class AgentSystemLocal {
|
|
|
426
435
|
// resolves through — so the agent is loaded rather than created, and knows whether it
|
|
427
436
|
// has work left before anything asks it. Bringing a collection up asks only for the
|
|
428
437
|
// agents that do; anything else resolving an agent wants it whether it owes work or not.
|
|
429
|
-
const agent = await Agent.load(agentCtx, options);
|
|
438
|
+
const agent = await Agent.load(agentCtx, options, loadCtx);
|
|
430
439
|
if (onlyIfActive && !agent.active) {
|
|
431
440
|
await agent.close();
|
|
432
441
|
return undefined;
|
|
433
442
|
}
|
|
434
|
-
|
|
443
|
+
if (publish)
|
|
444
|
+
this.#publish(agent, start);
|
|
445
|
+
return agent;
|
|
446
|
+
}
|
|
447
|
+
/** Publish one fully loaded lifetime synchronously, before the database slot is released. */
|
|
448
|
+
#publish(agent, start) {
|
|
449
|
+
const existing = this.#agents.get(agent.id);
|
|
450
|
+
if (existing !== undefined && existing !== agent) {
|
|
451
|
+
throw new Error(`Agent "${agent.id}" already has a live instance.`);
|
|
452
|
+
}
|
|
453
|
+
this.#agents.set(agent.id, agent);
|
|
435
454
|
if (start)
|
|
436
455
|
agent.start();
|
|
437
|
-
return agent;
|
|
438
456
|
}
|
|
439
457
|
/**
|
|
440
458
|
* Resolve and resume every agent that has work left from before this process started.
|
|
@@ -476,7 +494,7 @@ export class AgentSystemLocal {
|
|
|
476
494
|
await this.#invokeLifecycleHook(txCtx, runtime, hook, agent, true);
|
|
477
495
|
}
|
|
478
496
|
afterCommit(txCtx, () => {
|
|
479
|
-
const observed = (async () => {
|
|
497
|
+
const observed = outsideAgentDatabaseOperation(async () => {
|
|
480
498
|
for (const runtime of this.#runtimes) {
|
|
481
499
|
const hook = observe(runtime.hooks);
|
|
482
500
|
if (hook === undefined)
|
|
@@ -488,7 +506,7 @@ export class AgentSystemLocal {
|
|
|
488
506
|
// The durable change already committed; observers cannot undo it.
|
|
489
507
|
}
|
|
490
508
|
}
|
|
491
|
-
})
|
|
509
|
+
});
|
|
492
510
|
this.#admitted.add(observed);
|
|
493
511
|
this.#lifecycleObservations.add(observed);
|
|
494
512
|
void observed.finally(() => {
|
|
@@ -572,34 +590,39 @@ export class AgentSystemLocal {
|
|
|
572
590
|
});
|
|
573
591
|
}
|
|
574
592
|
/**
|
|
575
|
-
*
|
|
576
|
-
*
|
|
577
|
-
*
|
|
578
|
-
*
|
|
579
|
-
* transaction starts nothing.
|
|
593
|
+
* Transactional delivery may load an idle target through the transaction it already owns.
|
|
594
|
+
* The provisional object is published only after commit, before the database owner admits
|
|
595
|
+
* another root operation. A rollback therefore leaves neither a live object nor leaked
|
|
596
|
+
* uncommitted state, and this path never waits for an identity lock while owning the database.
|
|
580
597
|
*/
|
|
581
598
|
async #messageTarget(ctx, agentId) {
|
|
582
|
-
|
|
599
|
+
const transaction = agentStorageTransaction(ctx);
|
|
600
|
+
if (transaction === undefined)
|
|
583
601
|
return await this.#resolve(ctx, agentId);
|
|
584
602
|
const existing = this.#agents.get(agentId);
|
|
585
603
|
if (existing !== undefined)
|
|
586
604
|
return existing;
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
605
|
+
let provisional = this.#transactionAgents.get(transaction);
|
|
606
|
+
if (provisional === undefined) {
|
|
607
|
+
provisional = new Map();
|
|
608
|
+
this.#transactionAgents.set(transaction, provisional);
|
|
609
|
+
}
|
|
610
|
+
const cached = provisional.get(agentId);
|
|
611
|
+
if (cached !== undefined)
|
|
612
|
+
return cached;
|
|
613
|
+
const config = await this.#config(ctx, agentId);
|
|
614
|
+
if (config === undefined) {
|
|
615
|
+
throw new Error(`Agent "${agentId}" has not been created.`);
|
|
616
|
+
}
|
|
617
|
+
const agent = await this.#instantiate(agentId, config, false, false, ctx, false);
|
|
618
|
+
if (agent === undefined)
|
|
619
|
+
throw new Error(`Agent "${agentId}" could not be built.`);
|
|
620
|
+
const concurrent = this.#agents.get(agentId);
|
|
621
|
+
if (concurrent !== undefined)
|
|
622
|
+
return concurrent;
|
|
623
|
+
provisional.set(agentId, agent);
|
|
624
|
+
afterCommit(ctx, () => this.#publish(agent, false));
|
|
625
|
+
return agent;
|
|
603
626
|
}
|
|
604
627
|
/** Cancel an agent's active turn, leaving its queued messages durable for the next one. */
|
|
605
628
|
async abort(ctx, agentId, options) {
|