@slopus/happy-agent-base 0.0.9 → 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 +11 -0
- package/dist/Agent.d.ts.map +1 -1
- package/dist/Agent.js +18 -6
- 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 +13 -0
- package/dist/AgentContexts.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 +16 -3
- 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/inTx.d.ts +2 -2
- package/dist/inTx.d.ts.map +1 -1
- package/dist/inTx.js +8 -28
- package/dist/inTx.js.map +1 -1
- package/dist/index.d.ts +2 -2
- 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
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
3
|
import type { AgentDatabase, AgentModuleMigration } from "./AgentDatabase.js";
|
|
4
|
-
import type { AgentBaseAcceptedMessage, AgentBaseInference, AgentBaseInferenceStart, AgentBaseLoop, AgentBaseModelChange, AgentBasePermissionModeChange, AgentBasePersistedEvent, AgentBaseToolCall, AgentBaseToolCallDecision, AgentBaseToolOutcome, AgentBaseSettlement, AgentBaseTurn, AgentBaseTurnStart, MaybePromise } from "./AgentBaseHooks.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,7 +41,7 @@ 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
45
|
* Database work uses the active root or transaction facade carried by `ctx.db`.
|
|
46
46
|
*
|
|
47
47
|
* They are passed rather than read off the context because a module's own dependencies are not
|
|
@@ -69,6 +69,12 @@ export interface AgentModuleScope<_Database extends AgentDatabase = AgentDatabas
|
|
|
69
69
|
* crash mid-run leaves notes a resumed run can read, and a finished run leaves none at all.
|
|
70
70
|
*/
|
|
71
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;
|
|
72
78
|
}
|
|
73
79
|
/** Immutable agent identity and metadata observed at a system lifecycle boundary. */
|
|
74
80
|
export interface AgentModuleAgentLifecycle {
|
|
@@ -125,6 +131,12 @@ export interface AgentModule<Tool extends AnyAgentTool = AnyAgentTool, Database
|
|
|
125
131
|
readonly instructions?: (ctx: Context, scope: AgentModuleScope<Database>) => MaybePromise<string>;
|
|
126
132
|
/** Merged after the base state and every earlier module's tools, in module order. */
|
|
127
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>;
|
|
128
140
|
/**
|
|
129
141
|
* Runs inside the transaction that makes a dispatched batch durable, once per call in it.
|
|
130
142
|
* Modules run in array order and a failure propagates, rolling the dispatch back.
|
|
@@ -168,7 +180,8 @@ export interface AgentModule<Tool extends AnyAgentTool = AnyAgentTool, Database
|
|
|
168
180
|
readonly beforeTurnTransact?: (ctx: Context, scope: AgentModuleScope<Database>, turn: AgentBaseTurnStart) => MaybePromise<void>;
|
|
169
181
|
/**
|
|
170
182
|
* Receives the measured size of the context the turn is about to run on. Actions from every
|
|
171
|
-
* 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.
|
|
172
185
|
*/
|
|
173
186
|
readonly beforeTurn?: (ctx: Context, scope: AgentModuleScope<Database>, turn: AgentBaseTurnStart) => MaybePromise<readonly AgentModuleAction[] | undefined>;
|
|
174
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,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,KAAK,EACR,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,oBAAoB,EACpB,6BAA6B,EAC7B,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC7B,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,yFAAyF;IACzF,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,CAAC;IAC7C,oFAAoF;IACpF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,8BAA8B,GAAG,SAAS,CAAC;IAClE,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,yEAAyE;IACzE,QAAQ,CAAC,MAAM,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACpD,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC9C;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAC;CAChD;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB,CAAC,SAAS,SAAS,aAAa,GAAG,aAAa;IAC7E,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;
|
|
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"}
|
package/dist/inTx.d.ts
CHANGED
|
@@ -10,8 +10,8 @@ declare global {
|
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
12
|
* Run work inside the database transaction carried by `ctx`, or open the one outer transaction
|
|
13
|
-
* for its root database. Nested calls reuse the current transaction. Independent
|
|
14
|
-
*
|
|
13
|
+
* for its root database. Nested calls reuse the current transaction. Independent transaction
|
|
14
|
+
* scheduling belongs to the database driver.
|
|
15
15
|
*/
|
|
16
16
|
export declare function inTx<Result>(ctx: Context, work: AgentTransactionWork<Result>): Promise<Awaited<Result>>;
|
|
17
17
|
//# sourceMappingURL=inTx.d.ts.map
|
package/dist/inTx.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inTx.d.ts","sourceRoot":"","sources":["../sources/inTx.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"inTx.d.ts","sourceRoot":"","sources":["../sources/inTx.ts"],"names":[],"mappings":"AAEA,OAAO,EAA6C,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAS7F,uFAAuF;AACvF,MAAM,MAAM,oBAAoB,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;AAM1F,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM,CAAC;QACb,UAAU,iBAAiB;YACvB,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;SAC3F;KACJ;CACJ;AAgCD;;;;GAIG;AACH,wBAAsB,IAAI,CAAC,MAAM,EAC7B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,GACnC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CA4C1B"}
|
package/dist/inTx.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
-
import {
|
|
3
|
-
import { isAgentSQLiteDatabase, } from "./AgentDatabase.js";
|
|
2
|
+
import { registerContextExtension, withAfterCommit } from "@steve.kite/stdlib";
|
|
4
3
|
import { agentDatabase, agentStorageTransaction, withAgentStorageTransaction, } from "./AgentContexts.js";
|
|
5
|
-
// Keep the extension
|
|
6
|
-
//
|
|
4
|
+
// Keep the extension and ambient transaction identity stable when a development loader or Vitest
|
|
5
|
+
// evaluates this module again in the same process.
|
|
7
6
|
const transactionContextRegistryKey = Symbol.for("@slopus/happy-agent-base/transaction-context-registry/v1");
|
|
8
7
|
const existingTransactionContextRegistry = Reflect.get(globalThis, transactionContextRegistryKey);
|
|
9
8
|
const transactionContextRegistry = existingTransactionContextRegistry ?? new WeakMap();
|
|
@@ -15,16 +14,15 @@ let transactionContextState = transactionContextRegistry.get(stdlibRegistryIdent
|
|
|
15
14
|
if (transactionContextState === undefined) {
|
|
16
15
|
transactionContextState = {
|
|
17
16
|
activeTransactions: new AsyncLocalStorage(),
|
|
18
|
-
sqliteLocks: new WeakMap(),
|
|
19
17
|
};
|
|
20
18
|
registerContextExtension("inTx", (ctx) => async (work) => await inTx(ctx, work));
|
|
21
19
|
transactionContextRegistry.set(stdlibRegistryIdentity, transactionContextState);
|
|
22
20
|
}
|
|
23
|
-
const { activeTransactions
|
|
21
|
+
const { activeTransactions } = transactionContextState;
|
|
24
22
|
/**
|
|
25
23
|
* Run work inside the database transaction carried by `ctx`, or open the one outer transaction
|
|
26
|
-
* for its root database. Nested calls reuse the current transaction. Independent
|
|
27
|
-
*
|
|
24
|
+
* for its root database. Nested calls reuse the current transaction. Independent transaction
|
|
25
|
+
* scheduling belongs to the database driver.
|
|
28
26
|
*/
|
|
29
27
|
export async function inTx(ctx, work) {
|
|
30
28
|
const carried = agentStorageTransaction(ctx);
|
|
@@ -45,8 +43,8 @@ export async function inTx(ctx, work) {
|
|
|
45
43
|
throw new Error("Context has no agent database.");
|
|
46
44
|
}
|
|
47
45
|
let runAfterCommit;
|
|
48
|
-
const
|
|
49
|
-
const [afterCommitCtx, drain] = withAfterCommit(
|
|
46
|
+
const result = await root.transaction(async (database) => {
|
|
47
|
+
const [afterCommitCtx, drain] = withAfterCommit(ctx);
|
|
50
48
|
runAfterCommit = drain;
|
|
51
49
|
const lifetime = new AbortController();
|
|
52
50
|
const state = {
|
|
@@ -62,18 +60,6 @@ export async function inTx(ctx, work) {
|
|
|
62
60
|
lifetime.abort();
|
|
63
61
|
}
|
|
64
62
|
});
|
|
65
|
-
let result;
|
|
66
|
-
if (isAgentSQLiteDatabase(root)) {
|
|
67
|
-
let lock = sqliteLocks.get(root);
|
|
68
|
-
if (lock === undefined) {
|
|
69
|
-
lock = asyncLock({ reentry: "block" });
|
|
70
|
-
sqliteLocks.set(root, lock);
|
|
71
|
-
}
|
|
72
|
-
result = await lock.runInLock(ctx, commit);
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
result = await commit(ctx);
|
|
76
|
-
}
|
|
77
63
|
try {
|
|
78
64
|
await runAfterCommit();
|
|
79
65
|
}
|
|
@@ -82,10 +68,4 @@ export async function inTx(ctx, work) {
|
|
|
82
68
|
}
|
|
83
69
|
return result;
|
|
84
70
|
}
|
|
85
|
-
async function runDrizzleTransaction(database, work) {
|
|
86
|
-
if (isAgentSQLiteDatabase(database)) {
|
|
87
|
-
return await database.transaction(async (transaction) => await work(transaction));
|
|
88
|
-
}
|
|
89
|
-
return await database.transaction(async (transaction) => await work(transaction));
|
|
90
|
-
}
|
|
91
71
|
//# sourceMappingURL=inTx.js.map
|
package/dist/inTx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inTx.js","sourceRoot":"","sources":["../sources/inTx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,
|
|
1
|
+
{"version":3,"file":"inTx.js","sourceRoot":"","sources":["../sources/inTx.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -14,12 +14,12 @@ export { agentDatabaseRows, agentDatabaseRun, isAgentSQLiteDatabase, type AgentD
|
|
|
14
14
|
export { type AgentModel } from "./AgentModel.js";
|
|
15
15
|
export { knownModels, type Model } from "./models.js";
|
|
16
16
|
export { AgentBase, type AgentBaseAwaitOptions, type AgentBaseMessageOptions, type AgentBaseOptions, type AgentBaseQueueMode, } from "./AgentBase.js";
|
|
17
|
-
export { agentDatabase, agentEffort, agentId, agentKV, agentModel, agentPermissionMode, agentProvider, agentRunKV, agentServiceTier, withAgentContext, withAgentDatabase, withAgentKV, withAgentPermissionMode, withAgentRunKV, } from "./AgentContexts.js";
|
|
17
|
+
export { agentDatabase, agentEffort, agentHistoryKV, agentId, agentKV, agentModel, agentPermissionMode, agentProvider, agentRunKV, agentServiceTier, withAgentContext, withAgentDatabase, withAgentHistoryKV, withAgentKV, withAgentPermissionMode, withAgentRunKV, } from "./AgentContexts.js";
|
|
18
18
|
export { agentPermissionModeLabel, agentPermissionModeSchema, isAgentPermissionMode, DEFAULT_AGENT_PERMISSION_MODE, type AgentPermissionMode, } from "./AgentPermissionMode.js";
|
|
19
19
|
export { agentTaskContext, taskContextBeforeToolCall, withAgentTaskContext, } from "./AgentTaskContext.js";
|
|
20
20
|
export { inTx, type AgentTransactionWork } from "./inTx.js";
|
|
21
21
|
export { AgentKV } from "./AgentKV.js";
|
|
22
|
-
export { type AgentBaseAcceptedMessage, type AgentBaseHooks, type AgentBaseInference, type AgentBaseInferenceStart, type AgentBaseLoop, type AgentBaseModelChange, type AgentBasePermissionModeChange, type AgentBasePersistedEvent, type AgentBaseSettlement, type AgentBaseToolCall, type AgentBaseToolCallDecision, type AgentBaseToolOutcome, type AgentBaseTurn, type AgentBaseTurnStart, type MaybePromise, } from "./AgentBaseHooks.js";
|
|
22
|
+
export { type AgentBaseAcceptedMessage, type AgentBaseCompaction, type AgentBaseCompactionStart, type AgentBaseCompletedCompaction, type AgentBaseHooks, type AgentBaseInference, type AgentBaseInferenceStart, type AgentBaseLoop, type AgentBaseModelChange, type AgentBasePermissionModeChange, type AgentBasePersistedEvent, type AgentBaseSettlement, type AgentBaseToolCall, type AgentBaseToolCallDecision, type AgentBaseToolOutcome, type AgentBaseTurn, type AgentBaseTurnStart, type MaybePromise, } from "./AgentBaseHooks.js";
|
|
23
23
|
export { type AgentPersistence, type AgentRecord } from "./AgentPersistence.js";
|
|
24
24
|
export { agentBasePendingStateOf, agentBaseStoreOwesWork, AGENT_BASE_PENDING_KEY, type AgentBasePendingStage, type AgentBasePendingState, } from "./AgentBasePending.js";
|
|
25
25
|
export { type AgentBaseState } from "./AgentBaseState.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../sources/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../sources/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -18,7 +18,7 @@ export {} from "./AgentModel.js";
|
|
|
18
18
|
export { knownModels } from "./models.js";
|
|
19
19
|
// The run loop itself: its context carriers, key-value store, hook contracts, and persistence.
|
|
20
20
|
export { AgentBase, } from "./AgentBase.js";
|
|
21
|
-
export { agentDatabase, agentEffort, agentId, agentKV, agentModel, agentPermissionMode, agentProvider, agentRunKV, agentServiceTier, withAgentContext, withAgentDatabase, withAgentKV, withAgentPermissionMode, withAgentRunKV, } from "./AgentContexts.js";
|
|
21
|
+
export { agentDatabase, agentEffort, agentHistoryKV, agentId, agentKV, agentModel, agentPermissionMode, agentProvider, agentRunKV, agentServiceTier, withAgentContext, withAgentDatabase, withAgentHistoryKV, withAgentKV, withAgentPermissionMode, withAgentRunKV, } from "./AgentContexts.js";
|
|
22
22
|
export { agentPermissionModeLabel, agentPermissionModeSchema, isAgentPermissionMode, DEFAULT_AGENT_PERMISSION_MODE, } from "./AgentPermissionMode.js";
|
|
23
23
|
export { agentTaskContext, taskContextBeforeToolCall, withAgentTaskContext, } from "./AgentTaskContext.js";
|
|
24
24
|
export { inTx } from "./inTx.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../sources/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,8EAA8E;AAC9E,OAAO,EAAE,KAAK,EAAqB,MAAM,YAAY,CAAC;AACtD,OAAO,EAAoB,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAqD,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAgC,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEvE,gGAAgG;AAChG,OAAO,EACH,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,GAKlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,0BAA0B,EAC1B,mBAAmB,EACnB,wBAAwB,EACxB,WAAW,GAKd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAA+B,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAmD,MAAM,mBAAmB,CAAC;AAClG,OAAO,EACH,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GAMxB,MAAM,oBAAoB,CAAC;AAE5B,wDAAwD;AACxD,OAAO,EAAmB,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;AAEtD,+FAA+F;AAC/F,OAAO,EACH,SAAS,GAKZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,aAAa,EACb,WAAW,EACX,OAAO,EACP,OAAO,EACP,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,uBAAuB,EACvB,cAAc,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EACrB,6BAA6B,GAEhC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,IAAI,EAA6B,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../sources/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,8EAA8E;AAC9E,OAAO,EAAE,KAAK,EAAqB,MAAM,YAAY,CAAC;AACtD,OAAO,EAAoB,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAqD,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAgC,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEvE,gGAAgG;AAChG,OAAO,EACH,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,GAKlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,0BAA0B,EAC1B,mBAAmB,EACnB,wBAAwB,EACxB,WAAW,GAKd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAA+B,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAmD,MAAM,mBAAmB,CAAC;AAClG,OAAO,EACH,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GAMxB,MAAM,oBAAoB,CAAC;AAE5B,wDAAwD;AACxD,OAAO,EAAmB,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;AAEtD,+FAA+F;AAC/F,OAAO,EACH,SAAS,GAKZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,aAAa,EACb,WAAW,EACX,cAAc,EACd,OAAO,EACP,OAAO,EACP,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,uBAAuB,EACvB,cAAc,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EACrB,6BAA6B,GAEhC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,IAAI,EAA6B,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAmBN,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAA2C,MAAM,uBAAuB,CAAC;AAChF,OAAO,EACH,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,GAGzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAuB,MAAM,qBAAqB,CAAC;AAE1D,+FAA+F;AAC/F,OAAO,EAMN,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAA0B,MAAM,wBAAwB,CAAC;AAEhE,6EAA6E;AAC7E,OAAO,EACH,cAAc,GAGjB,MAAM,qBAAqB,CAAC;AAE7B,oBAAoB;AACpB,OAAO,EACH,eAAe,GAMlB,MAAM,gBAAgB,CAAC"}
|