@slopus/happy-agent-base 0.0.8 → 0.0.10
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 +18 -7
- package/dist/Agent.d.ts.map +1 -1
- package/dist/Agent.js +18 -8
- package/dist/Agent.js.map +1 -1
- package/dist/AgentBase.d.ts.map +1 -1
- package/dist/AgentBase.js +170 -25
- package/dist/AgentBase.js.map +1 -1
- package/dist/AgentBaseHooks.d.ts +32 -6
- package/dist/AgentBaseHooks.d.ts.map +1 -1
- package/dist/AgentContexts.d.ts +7 -0
- package/dist/AgentContexts.d.ts.map +1 -1
- package/dist/AgentContexts.js +41 -12
- package/dist/AgentContexts.js.map +1 -1
- package/dist/AgentDatabase.d.ts +5 -3
- package/dist/AgentDatabase.d.ts.map +1 -1
- package/dist/AgentDatabase.js.map +1 -1
- package/dist/AgentKV.d.ts +2 -2
- package/dist/AgentKV.d.ts.map +1 -1
- package/dist/AgentKV.js +45 -76
- package/dist/AgentKV.js.map +1 -1
- package/dist/AgentModule.d.ts +21 -10
- package/dist/AgentModule.d.ts.map +1 -1
- package/dist/AgentModuleAction.d.ts +9 -4
- package/dist/AgentModuleAction.d.ts.map +1 -1
- package/dist/AgentStorage.d.ts.map +1 -1
- package/dist/AgentStorage.js +4 -4
- package/dist/AgentStorage.js.map +1 -1
- package/dist/AgentSystemLocal.d.ts.map +1 -1
- package/dist/AgentSystemLocal.js +3 -5
- package/dist/AgentSystemLocal.js.map +1 -1
- package/dist/inTx.d.ts +2 -2
- package/dist/inTx.d.ts.map +1 -1
- package/dist/inTx.js +41 -35
- package/dist/inTx.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentContexts.js","sourceRoot":"","sources":["../sources/AgentContexts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAgB,MAAM,oBAAoB,CAAC;AAIpG,OAAO,EAAE,6BAA6B,EAA4B,MAAM,0BAA0B,CAAC;AAEnG,2EAA2E;AAC3E,MAAM,WAAW,GAAG,sBAAsB,CAAqB,SAAS,EAAE,SAAS,CAAC,CAAC;AACrF,8FAA8F;AAC9F,MAAM,cAAc,GAAG,sBAAsB,CAAqB,YAAY,EAAE,SAAS,CAAC,CAAC;AAC3F,4FAA4F;AAC5F,MAAM,eAAe,GAAG,sBAAsB,CAC1C,aAAa,EACb,SAAS,CACZ,CAAC;AACF,6FAA6F;AAC7F,MAAM,iBAAiB,GAAG,sBAAsB,CAAqB,eAAe,EAAE,SAAS,CAAC,CAAC;AACjG,6FAA6F;AAC7F,MAAM,oBAAoB,GAAG,sBAAsB,CAC/C,kBAAkB,EAClB,SAAS,CACZ,CAAC;AACF,2FAA2F;AAC3F,MAAM,uBAAuB,GAAG,sBAAsB,CAClD,qBAAqB,EACrB,6BAA6B,CAChC,CAAC;AACF,sFAAsF;AACtF,MAAM,WAAW,GAAG,sBAAsB,CAAsB,SAAS,EAAE,SAAS,CAAC,CAAC;AACtF,4FAA4F;AAC5F,MAAM,cAAc,GAAG,sBAAsB,CAAsB,YAAY,EAAE,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentContexts.js","sourceRoot":"","sources":["../sources/AgentContexts.ts"],"names":[],"mappings":"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"}
|
package/dist/AgentDatabase.d.ts
CHANGED
|
@@ -19,13 +19,15 @@ export type AgentDatabase = AgentSQLiteDatabase | AgentPostgresDatabase;
|
|
|
19
19
|
* Driver-only root members such as `batch` and `$client` are intentionally absent.
|
|
20
20
|
*/
|
|
21
21
|
export type AgentDatabaseFacade<Database extends AgentDatabase> = Database extends BaseSQLiteDatabase<infer ResultKind, infer RunResult, infer FullSchema, infer Schema> ? BaseSQLiteDatabase<ResultKind, RunResult, FullSchema, Schema> : Database extends PgDatabase<infer QueryResult, infer FullSchema, infer Schema> ? PgDatabase<QueryResult, FullSchema, Schema> : never;
|
|
22
|
-
/**
|
|
22
|
+
/**
|
|
23
|
+
* One ordered, durably tracked module migration. The context carries the active facade in
|
|
24
|
+
* `ctx.db`; the same facade is also passed explicitly so the migration retains its exact
|
|
25
|
+
* engine-specific type.
|
|
26
|
+
*/
|
|
23
27
|
export type AgentModuleMigration<Database extends AgentDatabase = AgentDatabase> = readonly [
|
|
24
28
|
key: string,
|
|
25
29
|
migrate: (ctx: Context, database: AgentDatabaseFacade<Database>) => void | Promise<void>
|
|
26
30
|
];
|
|
27
|
-
/** Work run inside the caller's outer transaction integration. */
|
|
28
|
-
export type AgentStorageTransaction<Database extends AgentDatabase = AgentDatabase> = <Result>(ctx: Context, work: (ctx: Context, database: AgentDatabaseFacade<Database>) => Promise<Result>) => Promise<Result>;
|
|
29
31
|
/** Whether a supported facade belongs to Drizzle's SQLite family. */
|
|
30
32
|
export declare function isAgentSQLiteDatabase(database: AgentDatabase): database is AgentSQLiteDatabase;
|
|
31
33
|
/** Run a query that returns rows on either supported Drizzle engine. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentDatabase.d.ts","sourceRoot":"","sources":["../sources/AgentDatabase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,GAAG,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AAEH,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE7E;;;GAGG;AAEH,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE9D,iFAAiF;AACjF,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AAExE;;;GAGG;AACH,MAAM,MAAM,mBAAmB,CAAC,QAAQ,SAAS,aAAa,IAC1D,QAAQ,SAAS,kBAAkB,CAC/B,MAAM,UAAU,EAChB,MAAM,SAAS,EACf,MAAM,UAAU,EAChB,MAAM,MAAM,CACf,GACK,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,GAC7D,QAAQ,SAAS,UAAU,CAAC,MAAM,WAAW,EAAE,MAAM,UAAU,EAAE,MAAM,MAAM,CAAC,GAC5E,UAAU,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,GAC3C,KAAK,CAAC;AAElB
|
|
1
|
+
{"version":3,"file":"AgentDatabase.d.ts","sourceRoot":"","sources":["../sources/AgentDatabase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,GAAG,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AAEH,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE7E;;;GAGG;AAEH,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE9D,iFAAiF;AACjF,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AAExE;;;GAGG;AACH,MAAM,MAAM,mBAAmB,CAAC,QAAQ,SAAS,aAAa,IAC1D,QAAQ,SAAS,kBAAkB,CAC/B,MAAM,UAAU,EAChB,MAAM,SAAS,EACf,MAAM,UAAU,EAChB,MAAM,MAAM,CACf,GACK,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,GAC7D,QAAQ,SAAS,UAAU,CAAC,MAAM,WAAW,EAAE,MAAM,UAAU,EAAE,MAAM,MAAM,CAAC,GAC5E,UAAU,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,GAC3C,KAAK,CAAC;AAElB;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,CAAC,QAAQ,SAAS,aAAa,GAAG,aAAa,IAAI,SAAS;IACxF,GAAG,EAAE,MAAM;IACX,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAC3F,CAAC;AAEF,qEAAqE;AACrE,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,GAAG,QAAQ,IAAI,mBAAmB,CAE9F;AAED,wEAAwE;AACxE,wBAAsB,iBAAiB,CAAC,GAAG,EACvC,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,GAAG,GACX,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC,CAWzB;AAED,4DAA4D;AAC5D,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAMzF"}
|
|
@@ -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;AA8C7D,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,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,OAAO,MAAM,QAAQ,CAAC,GAAG,CAAM,KAAK,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,MAAe,CAAC;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAgB,EAAE,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,IAAa,CAAC;AACzB,CAAC;AAED,4DAA4D;AAC5D,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAuB,EAAE,KAAU;IACtE,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,MAAM,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO;IACX,CAAC;IACD,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC"}
|
package/dist/AgentKV.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type Context } from "@steve.kite/stdlib";
|
|
2
2
|
import type { AgentPersistence } from "./AgentPersistence.js";
|
|
3
3
|
/**
|
|
4
4
|
* A key-value store scoped under one prefix of the agent's sorted store. The agent carries a
|
|
@@ -15,7 +15,7 @@ export declare class AgentKV {
|
|
|
15
15
|
/** The absolute key prefix of this scope, ending with the separator. */
|
|
16
16
|
readonly prefix: string;
|
|
17
17
|
/** Build a scope over `prefix` of `persistence`. */
|
|
18
|
-
constructor(persistence: AgentPersistence, prefix: string, available?: () => boolean
|
|
18
|
+
constructor(persistence: AgentPersistence, prefix: string, available?: () => boolean);
|
|
19
19
|
/**
|
|
20
20
|
* A narrower store under `segments` within this scope. Each segment is exactly one level:
|
|
21
21
|
* a dot inside a segment is escaped, so the scope `alpha.beta` cannot be reached through
|
package/dist/AgentKV.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentKV.d.ts","sourceRoot":"","sources":["../sources/AgentKV.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"AgentKV.d.ts","sourceRoot":"","sources":["../sources/AgentKV.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;;;;;;;GASG;AACH,qBAAa,OAAO;;IAChB,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAMxB,oDAAoD;IACpD,YAAY,WAAW,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,gBAAa,EAIhF;IAED;;;;;OAKG;IACH,MAAM,CAAC,GAAG,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAS9C;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,gBAAa,GAAG,OAAO,CAM1D;IAED,6DAA6D;IACvD,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAKtD;IAED,4FAA4F;IACtF,IAAI,CACN,GAAG,EAAE,OAAO,EACZ,MAAM,SAAK,GACZ,OAAO,CAAC,SAAS;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC,CAOvE;IAED,wEAAwE;IAClE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAGpE;IAED;;;;OAIG;IACG,MAAM,CAAC,KAAK,EACd,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GACtD,OAAO,CAAC,KAAK,CAAC,CAQhB;IAED;;;;;OAKG;IACG,WAAW,CAAC,KAAK,EACnB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GACrC,OAAO,CAAC,KAAK,CAAC,CAiBhB;IAED;;;;;OAKG;IACG,WAAW,CAAC,MAAM,EACpB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,GACvD,OAAO,CAAC,MAAM,CAAC,CAWjB;IAED;;;;;OAKG;IACG,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAMvC;IAED,mDAAmD;IAC7C,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGrD;CAYJ"}
|
package/dist/AgentKV.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { withLifetime } from "@steve.kite/stdlib";
|
|
2
2
|
/**
|
|
3
3
|
* A key-value store scoped under one prefix of the agent's sorted store. The agent carries a
|
|
4
4
|
* session-scoped instance on its context, and narrows it for each caller: a module works
|
|
@@ -16,24 +16,11 @@ export class AgentKV {
|
|
|
16
16
|
#persistence;
|
|
17
17
|
/** An object-owned lifetime used by bounded stores such as one tool invocation's KV. */
|
|
18
18
|
#available;
|
|
19
|
-
/** Serializes this scope tree so disposal always follows every write that already started. */
|
|
20
|
-
#lock;
|
|
21
19
|
/** Build a scope over `prefix` of `persistence`. */
|
|
22
|
-
constructor(persistence, prefix, available = () => true
|
|
20
|
+
constructor(persistence, prefix, available = () => true) {
|
|
23
21
|
this.#persistence = persistence;
|
|
24
22
|
this.prefix = prefix;
|
|
25
23
|
this.#available = available;
|
|
26
|
-
this.#lock = lock;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* A handle to this scope whose operations serialize with all descendants derived from it.
|
|
30
|
-
* Agent base uses this only for one tool call, so disposal can drain writes already in flight
|
|
31
|
-
* without serializing unrelated module and agent stores.
|
|
32
|
-
*
|
|
33
|
-
* @internal
|
|
34
|
-
*/
|
|
35
|
-
serialized() {
|
|
36
|
-
return new AgentKV(this.#persistence, this.prefix, this.#available, asyncLock({ reentry: "block" }));
|
|
37
24
|
}
|
|
38
25
|
/**
|
|
39
26
|
* A narrower store under `segments` within this scope. Each segment is exactly one level:
|
|
@@ -43,7 +30,7 @@ export class AgentKV {
|
|
|
43
30
|
*/
|
|
44
31
|
scoped(...segments) {
|
|
45
32
|
const escaped = segments.map((segment) => segment.replaceAll("%", "%25").replaceAll(".", "%2E"));
|
|
46
|
-
return new AgentKV(this.#persistence, `${this.prefix}${escaped.join(".")}.`, this.#available
|
|
33
|
+
return new AgentKV(this.#persistence, `${this.prefix}${escaped.join(".")}.`, this.#available);
|
|
47
34
|
}
|
|
48
35
|
/**
|
|
49
36
|
* A handle to this exact scope that becomes permanently unusable when `signal` aborts.
|
|
@@ -51,31 +38,28 @@ export class AgentKV {
|
|
|
51
38
|
* recreate invocation state after the winning result erases it.
|
|
52
39
|
*/
|
|
53
40
|
until(signal, available = () => true) {
|
|
54
|
-
return new AgentKV(this.#persistence, this.prefix, () => this.#available() && !signal.aborted && available()
|
|
41
|
+
return new AgentKV(this.#persistence, this.prefix, () => this.#available() && !signal.aborted && available());
|
|
55
42
|
}
|
|
56
43
|
/** The stored value, or undefined when the key is absent. */
|
|
57
44
|
async read(ctx, key) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
});
|
|
45
|
+
this.#assertLive(ctx);
|
|
46
|
+
const full = `${this.prefix}${key}`;
|
|
47
|
+
const entries = await this.#persistence.readValues(ctx, full);
|
|
48
|
+
return entries.find((entry) => entry.key === full)?.value;
|
|
63
49
|
}
|
|
64
50
|
/** Every entry under the scope — or under `prefix` within it — with scope-relative keys. */
|
|
65
51
|
async list(ctx, prefix = "") {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
});
|
|
52
|
+
this.#assertLive(ctx);
|
|
53
|
+
const entries = await this.#persistence.readValues(ctx, `${this.prefix}${prefix}`);
|
|
54
|
+
return entries.map(({ key, value }) => ({
|
|
55
|
+
key: key.slice(this.prefix.length),
|
|
56
|
+
value,
|
|
57
|
+
}));
|
|
73
58
|
}
|
|
74
59
|
/** Store the value under `key`, replacing whatever was there before. */
|
|
75
60
|
async write(ctx, key, value) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
});
|
|
61
|
+
this.#assertLive(ctx);
|
|
62
|
+
await this.#persistence.writeValue(ctx, `${this.prefix}${key}`, value);
|
|
79
63
|
}
|
|
80
64
|
/**
|
|
81
65
|
* Read, decide, and write, so the value the updater sees is exactly the value it replaces.
|
|
@@ -83,14 +67,13 @@ export class AgentKV {
|
|
|
83
67
|
* updater that throws leaves the stored value untouched.
|
|
84
68
|
*/
|
|
85
69
|
async update(ctx, key, updater) {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
});
|
|
70
|
+
this.#assertLive(ctx);
|
|
71
|
+
const full = `${this.prefix}${key}`;
|
|
72
|
+
const entries = await this.#persistence.readValues(ctx, full);
|
|
73
|
+
const current = entries.find((entry) => entry.key === full)?.value;
|
|
74
|
+
const next = await updater(current);
|
|
75
|
+
await this.#persistence.writeValue(ctx, full, next);
|
|
76
|
+
return next;
|
|
94
77
|
}
|
|
95
78
|
/**
|
|
96
79
|
* Return the durable value already stored under `key`, or create and store it exactly once.
|
|
@@ -99,22 +82,21 @@ export class AgentKV {
|
|
|
99
82
|
* identities without coupling them to a provider call ID.
|
|
100
83
|
*/
|
|
101
84
|
async getOrCreate(ctx, key, create) {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
});
|
|
85
|
+
this.#assertLive(ctx);
|
|
86
|
+
return await this.#persistence.transaction(ctx, async (txCtx) => {
|
|
87
|
+
const full = `${this.prefix}${key}`;
|
|
88
|
+
const entries = await this.#persistence.readValues(txCtx, full);
|
|
89
|
+
const existing = entries.find((entry) => entry.key === full);
|
|
90
|
+
if (existing !== undefined)
|
|
91
|
+
return existing.value;
|
|
92
|
+
const value = await create();
|
|
93
|
+
if (await this.#persistence.writeValueIfAbsent(txCtx, full, value))
|
|
94
|
+
return value;
|
|
95
|
+
const winner = (await this.#persistence.readValues(txCtx, full)).find((entry) => entry.key === full);
|
|
96
|
+
if (winner === undefined) {
|
|
97
|
+
throw new Error("The durable get-or-create value disappeared before it was read.");
|
|
98
|
+
}
|
|
99
|
+
return winner.value;
|
|
118
100
|
});
|
|
119
101
|
}
|
|
120
102
|
/**
|
|
@@ -143,29 +125,16 @@ export class AgentKV {
|
|
|
143
125
|
* write.
|
|
144
126
|
*/
|
|
145
127
|
async clear(ctx) {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
});
|
|
128
|
+
this.#assertLive(ctx);
|
|
129
|
+
const entries = await this.#persistence.readValues(ctx, this.prefix);
|
|
130
|
+
for (const entry of entries) {
|
|
131
|
+
await this.#persistence.deleteValue(ctx, entry.key);
|
|
132
|
+
}
|
|
152
133
|
}
|
|
153
134
|
/** Remove the entry stored under `key`, if any. */
|
|
154
135
|
async delete(ctx, key) {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
/** Re-check availability only after every earlier operation in this scope tree has finished. */
|
|
160
|
-
async #locked(ctx, work) {
|
|
161
|
-
if (this.#lock === undefined) {
|
|
162
|
-
this.#assertLive(ctx);
|
|
163
|
-
return await work(ctx);
|
|
164
|
-
}
|
|
165
|
-
return await this.#lock.runInLock(ctx, async (lockCtx) => {
|
|
166
|
-
this.#assertLive(lockCtx);
|
|
167
|
-
return await work(lockCtx);
|
|
168
|
-
});
|
|
136
|
+
this.#assertLive(ctx);
|
|
137
|
+
await this.#persistence.deleteValue(ctx, `${this.prefix}${key}`);
|
|
169
138
|
}
|
|
170
139
|
/**
|
|
171
140
|
* Refuse a store operation when either its caller-owned context or this bounded handle has
|
package/dist/AgentKV.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentKV.js","sourceRoot":"","sources":["../sources/AgentKV.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"AgentKV.js","sourceRoot":"","sources":["../sources/AgentKV.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
|
-
import type { AgentDatabase,
|
|
4
|
-
import type { AgentBaseAcceptedMessage, AgentBaseInference, AgentBaseInferenceStart, AgentBaseLoop, AgentBaseModelChange, AgentBasePermissionModeChange, AgentBasePersistedEvent, AgentBaseToolCall, AgentBaseToolCallDecision, AgentBaseToolOutcome, AgentBaseSettlement, AgentBaseTurn, AgentBaseTurnStart, MaybePromise } from "./AgentBaseHooks.js";
|
|
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";
|
|
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";
|
|
@@ -41,15 +41,14 @@ export interface AgentModuleAgent {
|
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
43
|
* What every hook of a module is handed alongside the context: which agent it is running for,
|
|
44
|
-
* and the
|
|
44
|
+
* and the four stores it may write to, each with its own lifetime.
|
|
45
|
+
* Database work uses the active root or transaction facade carried by `ctx.db`.
|
|
45
46
|
*
|
|
46
47
|
* They are passed rather than read off the context because a module's own dependencies are not
|
|
47
48
|
* ambient state to be looked up: a hook is given exactly what it is entitled to, and cannot be
|
|
48
49
|
* handed a context that quietly means a different agent.
|
|
49
50
|
*/
|
|
50
|
-
export interface AgentModuleScope<
|
|
51
|
-
/** The active Drizzle database or transaction facade for this hook. */
|
|
52
|
-
readonly database: AgentDatabaseFacade<Database>;
|
|
51
|
+
export interface AgentModuleScope<_Database extends AgentDatabase = AgentDatabase> {
|
|
53
52
|
/** The agent this hook is running for, and the selection it is running on. */
|
|
54
53
|
readonly agent: AgentModuleAgent;
|
|
55
54
|
/**
|
|
@@ -70,6 +69,12 @@ export interface AgentModuleScope<Database extends AgentDatabase = AgentDatabase
|
|
|
70
69
|
* crash mid-run leaves notes a resumed run can read, and a finished run leaves none at all.
|
|
71
70
|
*/
|
|
72
71
|
readonly runKV: AgentKV;
|
|
72
|
+
/**
|
|
73
|
+
* Durable state belonging only to the current conversation history. It survives turns and
|
|
74
|
+
* restarts, then is cleared and its old handle expires when compaction or an incompatible
|
|
75
|
+
* model change replaces that history.
|
|
76
|
+
*/
|
|
77
|
+
readonly historyKV: AgentKV;
|
|
73
78
|
}
|
|
74
79
|
/** Immutable agent identity and metadata observed at a system lifecycle boundary. */
|
|
75
80
|
export interface AgentModuleAgentLifecycle {
|
|
@@ -78,7 +83,6 @@ export interface AgentModuleAgentLifecycle {
|
|
|
78
83
|
}
|
|
79
84
|
/** System-owned capabilities handed to module lifecycle observers. */
|
|
80
85
|
export interface AgentModuleSystemScope<Database extends AgentDatabase = AgentDatabase> {
|
|
81
|
-
readonly database: AgentDatabaseFacade<Database>;
|
|
82
86
|
readonly agents: AgentSystemRef<Database>;
|
|
83
87
|
readonly sharedKV: AgentKV;
|
|
84
88
|
}
|
|
@@ -107,12 +111,12 @@ export interface AgentModule<Tool extends AnyAgentTool = AnyAgentTool, Database
|
|
|
107
111
|
* store lock and before any agent is restored or started. Every module initializes
|
|
108
112
|
* concurrently, and agent work begins only after all of them settle successfully.
|
|
109
113
|
*/
|
|
110
|
-
readonly beforeStart?: (ctx: Context, agents: AgentSystemRef<Database
|
|
114
|
+
readonly beforeStart?: (ctx: Context, agents: AgentSystemRef<Database>) => MaybePromise<void>;
|
|
111
115
|
/**
|
|
112
116
|
* Called once after every durable-active agent has been restored and started. Every module
|
|
113
117
|
* runs concurrently, and system creation resolves only after all of them settle successfully.
|
|
114
118
|
*/
|
|
115
|
-
readonly afterStart?: (ctx: Context, agents: AgentSystemRef<Database
|
|
119
|
+
readonly afterStart?: (ctx: Context, agents: AgentSystemRef<Database>) => MaybePromise<void>;
|
|
116
120
|
readonly agentCreatedTransact?: (ctx: Context, scope: AgentModuleSystemScope<Database>, agent: AgentModuleAgentLifecycle) => MaybePromise<void>;
|
|
117
121
|
readonly agentCreated?: (ctx: Context, scope: AgentModuleSystemScope<Database>, agent: AgentModuleAgentLifecycle) => MaybePromise<void>;
|
|
118
122
|
readonly agentRestoredTransact?: (ctx: Context, scope: AgentModuleSystemScope<Database>, agent: AgentModuleAgentLifecycle) => MaybePromise<void>;
|
|
@@ -127,6 +131,12 @@ export interface AgentModule<Tool extends AnyAgentTool = AnyAgentTool, Database
|
|
|
127
131
|
readonly instructions?: (ctx: Context, scope: AgentModuleScope<Database>) => MaybePromise<string>;
|
|
128
132
|
/** Merged after the base state and every earlier module's tools, in module order. */
|
|
129
133
|
readonly tools?: (ctx: Context, scope: AgentModuleScope<Database>) => MaybePromise<readonly Tool[]>;
|
|
134
|
+
/** Observes the start of a provider compaction attempt. */
|
|
135
|
+
readonly beforeCompaction?: (ctx: Context, scope: AgentModuleScope<Database>, compaction: AgentBaseCompactionStart) => MaybePromise<void>;
|
|
136
|
+
/** Runs inside the transaction replacing history after a successful compaction. */
|
|
137
|
+
readonly historyErasedTransact?: (ctx: Context, scope: AgentModuleScope<Database>, compaction: AgentBaseCompletedCompaction) => MaybePromise<void>;
|
|
138
|
+
/** Observes the provider compaction outcome, after commit for a completed replacement. */
|
|
139
|
+
readonly afterCompaction?: (ctx: Context, scope: AgentModuleScope<Database>, compaction: AgentBaseCompaction) => MaybePromise<void>;
|
|
130
140
|
/**
|
|
131
141
|
* Runs inside the transaction that makes a dispatched batch durable, once per call in it.
|
|
132
142
|
* Modules run in array order and a failure propagates, rolling the dispatch back.
|
|
@@ -170,7 +180,8 @@ export interface AgentModule<Tool extends AnyAgentTool = AnyAgentTool, Database
|
|
|
170
180
|
readonly beforeTurnTransact?: (ctx: Context, scope: AgentModuleScope<Database>, turn: AgentBaseTurnStart) => MaybePromise<void>;
|
|
171
181
|
/**
|
|
172
182
|
* Receives the measured size of the context the turn is about to run on. Actions from every
|
|
173
|
-
* module are concatenated and applied before the turn's first inference.
|
|
183
|
+
* module are concatenated and applied before the turn's first inference. Injected notices
|
|
184
|
+
* wait for pending tool settlement and compaction before joining history.
|
|
174
185
|
*/
|
|
175
186
|
readonly beforeTurn?: (ctx: Context, scope: AgentModuleScope<Database>, turn: AgentBaseTurnStart) => MaybePromise<readonly AgentModuleAction[] | undefined>;
|
|
176
187
|
/** Transactional counterpart to `beforeInference`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentModule.d.ts","sourceRoot":"","sources":["../sources/AgentModule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,8BAA8B,EAC9B,YAAY,EACZ,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"AgentModule.d.ts","sourceRoot":"","sources":["../sources/AgentModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import type { SessionUserMessage } from "@slopus/happy-providers";
|
|
1
|
+
import type { SessionSystemMessage, SessionUserMessage } from "@slopus/happy-providers";
|
|
2
2
|
import type { AgentMessageMetadata } from "./AgentMetadata.js";
|
|
3
3
|
/**
|
|
4
|
-
* What a lifecycle hook can ask the agent to do next: queue a steering or sent message
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* What a lifecycle hook can ask the agent to do next: queue a steering or sent message, inject a
|
|
5
|
+
* system notice into the conversation at the next safe history boundary, or trigger compaction.
|
|
6
|
+
* Injected notices are durable and run after any pending tool settlement and compaction, so they
|
|
7
|
+
* cannot split a tool call from its result or be erased by a compaction requested beside them.
|
|
7
8
|
*/
|
|
8
9
|
export type AgentModuleAction = {
|
|
9
10
|
readonly type: "steer";
|
|
@@ -15,6 +16,10 @@ export type AgentModuleAction = {
|
|
|
15
16
|
readonly id?: string;
|
|
16
17
|
readonly message: SessionUserMessage;
|
|
17
18
|
readonly metadata?: AgentMessageMetadata;
|
|
19
|
+
} | {
|
|
20
|
+
readonly type: "inject";
|
|
21
|
+
/** The system notice appended directly to model history before the next inference. */
|
|
22
|
+
readonly message: SessionSystemMessage;
|
|
18
23
|
} | {
|
|
19
24
|
readonly type: "compact";
|
|
20
25
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentModuleAction.d.ts","sourceRoot":"","sources":["../sources/AgentModuleAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentModuleAction.d.ts","sourceRoot":"","sources":["../sources/AgentModuleAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAExF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GACvB;IACI,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CAC5C,GACD;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CAC5C,GACD;IACI,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,sFAAsF;IACtF,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;CAC1C,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,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;AAC5B,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,EASjD;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;
|
|
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;AAC5B,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,EASjD;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
|
@@ -109,10 +109,10 @@ export class AgentStorage {
|
|
|
109
109
|
if (keys.some((key) => key.length === 0) || new Set(keys).size !== keys.length) {
|
|
110
110
|
throw new Error(`Module "${module}" has an empty or duplicate migration key.`);
|
|
111
111
|
}
|
|
112
|
-
const applied = await
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
112
|
+
const applied = await this.#drizzle.transaction(ctx, async (txCtx) => agentDatabaseRows(txCtx.db, sql `SELECT migration_key, position
|
|
113
|
+
FROM happy_agent_migrations
|
|
114
|
+
WHERE module_key = ${module}
|
|
115
|
+
ORDER BY position`));
|
|
116
116
|
for (let index = 0; index < applied.length; index += 1) {
|
|
117
117
|
if (applied[index]?.migration_key !== keys[index] ||
|
|
118
118
|
Number(applied[index]?.position) !== index) {
|
package/dist/AgentStorage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentStorage.js","sourceRoot":"","sources":["../sources/AgentStorage.ts"],"names":[],"mappings":"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
|
|
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;AAQ1F,OAAO,KAAK,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"AgentSystemLocal.d.ts","sourceRoot":"","sources":["../sources/AgentSystemLocal.ts"],"names":[],"mappings":"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"}
|
package/dist/AgentSystemLocal.js
CHANGED
|
@@ -473,13 +473,11 @@ export class AgentSystemLocal {
|
|
|
473
473
|
/** Give one lifecycle hook its module-scoped shared KV and active Drizzle facade. */
|
|
474
474
|
async #invokeLifecycleHook(ctx, module, hook, agent, blockAgent = false) {
|
|
475
475
|
const lifetime = new AbortController();
|
|
476
|
-
const database =
|
|
477
|
-
this.#storage.database);
|
|
476
|
+
const database = agentDatabase(ctx) ?? this.#storage.database;
|
|
478
477
|
const sharedKV = this.#sharedModuleKV.scoped(module.name);
|
|
479
478
|
const agents = new AgentSystemRef(this, null, blockAgent ? agent.id : undefined);
|
|
480
479
|
const hookCtx = withLifetime(withAgentKV(withAgentSystem(withAgentDatabase(ctx, database), agents), sharedKV), lifetime.signal);
|
|
481
480
|
const scope = {
|
|
482
|
-
database,
|
|
483
481
|
agents,
|
|
484
482
|
sharedKV,
|
|
485
483
|
};
|
|
@@ -493,13 +491,13 @@ export class AgentSystemLocal {
|
|
|
493
491
|
/** Initialize every module before any active agent is restored or started. */
|
|
494
492
|
async #beforeStart(ctx) {
|
|
495
493
|
const startCtx = withAgentSystem(ctx, this.#ref);
|
|
496
|
-
const results = await Promise.allSettled(this.#modules.map(async (module) => await module.beforeStart?.(startCtx, this.#ref
|
|
494
|
+
const results = await Promise.allSettled(this.#modules.map(async (module) => await module.beforeStart?.(startCtx, this.#ref)));
|
|
497
495
|
throwFirstStartFailure(results);
|
|
498
496
|
}
|
|
499
497
|
/** Notify every module after all active agents have been restored and started. */
|
|
500
498
|
async #afterStart(ctx) {
|
|
501
499
|
const startCtx = withAgentSystem(ctx, this.#ref);
|
|
502
|
-
const results = await Promise.allSettled(this.#modules.map(async (module) => await module.afterStart?.(startCtx, this.#ref
|
|
500
|
+
const results = await Promise.allSettled(this.#modules.map(async (module) => await module.afterStart?.(startCtx, this.#ref)));
|
|
503
501
|
throwFirstStartFailure(results);
|
|
504
502
|
}
|
|
505
503
|
/** The durable store for one agent, created once and reused for the life of the collection. */
|