agentenkit 0.2.3 → 0.4.0
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 +34 -14
- package/dist/adapters/inline.d.ts +19 -5
- package/dist/adapters/inline.d.ts.map +1 -1
- package/dist/adapters/inline.js +87 -14
- package/dist/adapters/inline.js.map +1 -1
- package/dist/adapters/memory.d.ts +65 -3
- package/dist/adapters/memory.d.ts.map +1 -1
- package/dist/adapters/memory.js +267 -3
- package/dist/adapters/memory.js.map +1 -1
- package/dist/adapters/prisma.d.ts +125 -18
- package/dist/adapters/prisma.d.ts.map +1 -1
- package/dist/adapters/prisma.js +308 -67
- package/dist/adapters/prisma.js.map +1 -1
- package/dist/adapters/qstash.d.ts +15 -2
- package/dist/adapters/qstash.d.ts.map +1 -1
- package/dist/adapters/qstash.js +31 -14
- package/dist/adapters/qstash.js.map +1 -1
- package/dist/adapters/redis.d.ts +40 -4
- package/dist/adapters/redis.d.ts.map +1 -1
- package/dist/adapters/redis.js +265 -20
- package/dist/adapters/redis.js.map +1 -1
- package/dist/adapters/sqlite.d.ts +52 -2
- package/dist/adapters/sqlite.d.ts.map +1 -1
- package/dist/adapters/sqlite.js +342 -35
- package/dist/adapters/sqlite.js.map +1 -1
- package/dist/adapters/stream-scripts.d.ts +49 -0
- package/dist/adapters/stream-scripts.d.ts.map +1 -0
- package/dist/adapters/stream-scripts.js +150 -0
- package/dist/adapters/stream-scripts.js.map +1 -0
- package/dist/adapters/upstash.d.ts +20 -0
- package/dist/adapters/upstash.d.ts.map +1 -1
- package/dist/adapters/upstash.js +29 -0
- package/dist/adapters/upstash.js.map +1 -1
- package/dist/admin/memory.d.ts +11 -1
- package/dist/admin/memory.d.ts.map +1 -1
- package/dist/admin/memory.js +83 -14
- package/dist/admin/memory.js.map +1 -1
- package/dist/admin/migrations/postgres/0002-run-settled-at.d.ts +5 -0
- package/dist/admin/migrations/postgres/0002-run-settled-at.d.ts.map +1 -0
- package/dist/admin/migrations/postgres/0002-run-settled-at.js +11 -0
- package/dist/admin/migrations/postgres/0002-run-settled-at.js.map +1 -0
- package/dist/admin/migrations/postgres/0003-run-enqueued-at.d.ts +5 -0
- package/dist/admin/migrations/postgres/0003-run-enqueued-at.d.ts.map +1 -0
- package/dist/admin/migrations/postgres/0003-run-enqueued-at.js +15 -0
- package/dist/admin/migrations/postgres/0003-run-enqueued-at.js.map +1 -0
- package/dist/admin/migrations/postgres/0004-run-settle-claim.d.ts +5 -0
- package/dist/admin/migrations/postgres/0004-run-settle-claim.d.ts.map +1 -0
- package/dist/admin/migrations/postgres/0004-run-settle-claim.js +15 -0
- package/dist/admin/migrations/postgres/0004-run-settle-claim.js.map +1 -0
- package/dist/admin/migrations/postgres/0005-bigint-counters.d.ts +5 -0
- package/dist/admin/migrations/postgres/0005-bigint-counters.d.ts.map +1 -0
- package/dist/admin/migrations/postgres/0005-bigint-counters.js +12 -0
- package/dist/admin/migrations/postgres/0005-bigint-counters.js.map +1 -0
- package/dist/admin/migrations/postgres/index.d.ts.map +1 -1
- package/dist/admin/migrations/postgres/index.js +16 -1
- package/dist/admin/migrations/postgres/index.js.map +1 -1
- package/dist/admin/migrations/runner.d.ts +21 -1
- package/dist/admin/migrations/runner.d.ts.map +1 -1
- package/dist/admin/migrations/runner.js +41 -4
- package/dist/admin/migrations/runner.js.map +1 -1
- package/dist/admin/migrations/sqlite/0002-run-settled-at.d.ts +5 -0
- package/dist/admin/migrations/sqlite/0002-run-settled-at.d.ts.map +1 -0
- package/dist/admin/migrations/sqlite/0002-run-settled-at.js +11 -0
- package/dist/admin/migrations/sqlite/0002-run-settled-at.js.map +1 -0
- package/dist/admin/migrations/sqlite/0003-run-enqueued-at.d.ts +5 -0
- package/dist/admin/migrations/sqlite/0003-run-enqueued-at.d.ts.map +1 -0
- package/dist/admin/migrations/sqlite/0003-run-enqueued-at.js +15 -0
- package/dist/admin/migrations/sqlite/0003-run-enqueued-at.js.map +1 -0
- package/dist/admin/migrations/sqlite/0004-run-settle-claim.d.ts +5 -0
- package/dist/admin/migrations/sqlite/0004-run-settle-claim.d.ts.map +1 -0
- package/dist/admin/migrations/sqlite/0004-run-settle-claim.js +15 -0
- package/dist/admin/migrations/sqlite/0004-run-settle-claim.js.map +1 -0
- package/dist/admin/migrations/sqlite/index.d.ts +2 -2
- package/dist/admin/migrations/sqlite/index.d.ts.map +1 -1
- package/dist/admin/migrations/sqlite/index.js +17 -3
- package/dist/admin/migrations/sqlite/index.js.map +1 -1
- package/dist/admin/postgres.d.ts +14 -4
- package/dist/admin/postgres.d.ts.map +1 -1
- package/dist/admin/postgres.js +131 -36
- package/dist/admin/postgres.js.map +1 -1
- package/dist/admin/shared.d.ts +19 -0
- package/dist/admin/shared.d.ts.map +1 -0
- package/dist/admin/shared.js +28 -0
- package/dist/admin/shared.js.map +1 -0
- package/dist/admin/sqlite.d.ts +9 -1
- package/dist/admin/sqlite.d.ts.map +1 -1
- package/dist/admin/sqlite.js +112 -29
- package/dist/admin/sqlite.js.map +1 -1
- package/dist/core/admin.d.ts +28 -6
- package/dist/core/admin.d.ts.map +1 -1
- package/dist/core/admin.js +92 -23
- package/dist/core/admin.js.map +1 -1
- package/dist/core/agent.d.ts +7 -4
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +15 -11
- package/dist/core/agent.js.map +1 -1
- package/dist/core/agui.d.ts +17 -0
- package/dist/core/agui.d.ts.map +1 -0
- package/dist/core/agui.js +69 -0
- package/dist/core/agui.js.map +1 -0
- package/dist/core/context.d.ts +13 -1
- package/dist/core/context.d.ts.map +1 -1
- package/dist/core/context.js +70 -19
- package/dist/core/context.js.map +1 -1
- package/dist/core/deleteThread.d.ts.map +1 -1
- package/dist/core/deleteThread.js +33 -4
- package/dist/core/deleteThread.js.map +1 -1
- package/dist/core/engine.d.ts +41 -11
- package/dist/core/engine.d.ts.map +1 -1
- package/dist/core/engine.js +855 -352
- package/dist/core/engine.js.map +1 -1
- package/dist/core/follow.d.ts +63 -1
- package/dist/core/follow.d.ts.map +1 -1
- package/dist/core/follow.js +293 -16
- package/dist/core/follow.js.map +1 -1
- package/dist/core/hitl.d.ts +43 -0
- package/dist/core/hitl.d.ts.map +1 -1
- package/dist/core/hitl.js +163 -35
- package/dist/core/hitl.js.map +1 -1
- package/dist/core/keys.d.ts +22 -4
- package/dist/core/keys.d.ts.map +1 -1
- package/dist/core/keys.js +23 -5
- package/dist/core/keys.js.map +1 -1
- package/dist/core/lease.d.ts +46 -0
- package/dist/core/lease.d.ts.map +1 -0
- package/dist/core/lease.js +142 -0
- package/dist/core/lease.js.map +1 -0
- package/dist/core/loop.d.ts +27 -7
- package/dist/core/loop.d.ts.map +1 -1
- package/dist/core/loop.js +140 -55
- package/dist/core/loop.js.map +1 -1
- package/dist/core/messages.d.ts +21 -2
- package/dist/core/messages.d.ts.map +1 -1
- package/dist/core/messages.js +61 -2
- package/dist/core/messages.js.map +1 -1
- package/dist/core/prune.d.ts +24 -0
- package/dist/core/prune.d.ts.map +1 -0
- package/dist/core/prune.js +43 -0
- package/dist/core/prune.js.map +1 -0
- package/dist/core/publish.d.ts +38 -10
- package/dist/core/publish.d.ts.map +1 -1
- package/dist/core/publish.js +126 -12
- package/dist/core/publish.js.map +1 -1
- package/dist/core/reclaim.d.ts +8 -1
- package/dist/core/reclaim.d.ts.map +1 -1
- package/dist/core/reclaim.js +149 -18
- package/dist/core/reclaim.js.map +1 -1
- package/dist/core/run.d.ts +7 -3
- package/dist/core/run.d.ts.map +1 -1
- package/dist/core/run.js +95 -35
- package/dist/core/run.js.map +1 -1
- package/dist/core/segment.d.ts +62 -0
- package/dist/core/segment.d.ts.map +1 -0
- package/dist/core/segment.js +318 -0
- package/dist/core/segment.js.map +1 -0
- package/dist/core/settle.d.ts +57 -0
- package/dist/core/settle.d.ts.map +1 -0
- package/dist/core/settle.js +181 -0
- package/dist/core/settle.js.map +1 -0
- package/dist/core/snapshot.d.ts +36 -0
- package/dist/core/snapshot.d.ts.map +1 -0
- package/dist/core/snapshot.js +87 -0
- package/dist/core/snapshot.js.map +1 -0
- package/dist/core/stop.d.ts +16 -1
- package/dist/core/stop.d.ts.map +1 -1
- package/dist/core/stop.js +69 -15
- package/dist/core/stop.js.map +1 -1
- package/dist/core/stream-events.d.ts +184 -0
- package/dist/core/stream-events.d.ts.map +1 -0
- package/dist/core/stream-events.js +26 -0
- package/dist/core/stream-events.js.map +1 -0
- package/dist/core/stream.d.ts +29 -0
- package/dist/core/stream.d.ts.map +1 -1
- package/dist/core/stream.js +79 -0
- package/dist/core/stream.js.map +1 -1
- package/dist/core/subagent.d.ts +36 -5
- package/dist/core/subagent.d.ts.map +1 -1
- package/dist/core/subagent.js +117 -22
- package/dist/core/subagent.js.map +1 -1
- package/dist/core/types.d.ts +197 -11
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +26 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/usage.d.ts +53 -5
- package/dist/core/usage.d.ts.map +1 -1
- package/dist/core/usage.js +170 -47
- package/dist/core/usage.js.map +1 -1
- package/dist/index.d.ts +16 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -7
- package/dist/index.js.map +1 -1
- package/dist/ports/admin.d.ts +59 -0
- package/dist/ports/admin.d.ts.map +1 -1
- package/dist/ports/kv.d.ts +17 -0
- package/dist/ports/kv.d.ts.map +1 -1
- package/dist/ports/queue.d.ts +87 -7
- package/dist/ports/queue.d.ts.map +1 -1
- package/dist/ports/queue.js +36 -1
- package/dist/ports/queue.js.map +1 -1
- package/dist/ports/runtime.d.ts +171 -20
- package/dist/ports/runtime.d.ts.map +1 -1
- package/dist/ports/storage.d.ts +26 -5
- package/dist/ports/storage.d.ts.map +1 -1
- package/dist/ports/streams.d.ts +60 -0
- package/dist/ports/streams.d.ts.map +1 -0
- package/dist/ports/streams.js +20 -0
- package/dist/ports/streams.js.map +1 -0
- package/dist/pricing.d.ts +5 -0
- package/dist/pricing.d.ts.map +1 -1
- package/dist/pricing.js +35 -10
- package/dist/pricing.js.map +1 -1
- package/dist/runtime.d.ts +6 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +144 -46
- package/dist/runtime.js.map +1 -1
- package/package.json +1 -1
package/dist/ports/queue.d.ts
CHANGED
|
@@ -1,18 +1,98 @@
|
|
|
1
1
|
import type { RunJob } from '../core/types.js';
|
|
2
|
+
/** The priority of the platform's own housekeeping: park expiries, reclaims
|
|
3
|
+
* and lock redrives. A user's message is never queued behind them. */
|
|
4
|
+
export declare const PRIORITY_LOW = -10;
|
|
5
|
+
/** `enqueue` refused a fresh dispatch: a depth cap is set and the queue has
|
|
6
|
+
* reached it. Only a fresh dispatch is ever refused; retries, redrives,
|
|
7
|
+
* resumes and expiries always go in, or a run already under way would be
|
|
8
|
+
* stranded. */
|
|
9
|
+
export declare class QueueFullError extends Error {
|
|
10
|
+
constructor(message?: string);
|
|
11
|
+
}
|
|
12
|
+
/** A job whose encoded payload is over the adapter's cap. */
|
|
13
|
+
export declare class PayloadTooLargeError extends Error {
|
|
14
|
+
constructor(message?: string);
|
|
15
|
+
}
|
|
16
|
+
/** An enqueue whose `key` is already waiting or running. */
|
|
17
|
+
export declare class DuplicateJobError extends Error {
|
|
18
|
+
constructor(key: string);
|
|
19
|
+
}
|
|
20
|
+
/** An adapter's answer to an operation it cannot do, such as counting on a
|
|
21
|
+
* queue with no read side. Callers treat it as "unknown", never as a
|
|
22
|
+
* failure. */
|
|
23
|
+
export declare class UnsupportedError extends Error {
|
|
24
|
+
constructor(what: string);
|
|
25
|
+
}
|
|
2
26
|
export interface EnqueueOptions {
|
|
3
27
|
/** Hold the job for this many seconds before delivering it: the HITL expiry
|
|
4
|
-
* (§2.5)
|
|
28
|
+
* (§2.5), a job blocked by an older run's lock (§2.8) and a failed run's
|
|
29
|
+
* retry backoff.
|
|
5
30
|
*
|
|
6
|
-
* An adapter that cannot delay may deliver immediately —
|
|
7
|
-
* an early arrival as a no-op — but it must NOT throw, or a park
|
|
8
|
-
* the run that scheduled it. Note the shape of the reference
|
|
9
|
-
* supports delays on publish only and rejects them on
|
|
10
|
-
* QStashQueue publishes delayed jobs and queues the
|
|
31
|
+
* An adapter that cannot delay may deliver immediately — every caller
|
|
32
|
+
* treats an early arrival as a no-op — but it must NOT throw, or a park
|
|
33
|
+
* would fail the run that scheduled it. Note the shape of the reference
|
|
34
|
+
* adapter: QStash supports delays on publish only and rejects them on
|
|
35
|
+
* queue enqueue, so QStashQueue publishes delayed jobs and queues the
|
|
36
|
+
* rest. */
|
|
11
37
|
delaySeconds?: number;
|
|
38
|
+
/** Dedupes. At most one live job per key: a second enqueue with the same
|
|
39
|
+
* key is refused with `DuplicateJobError`, and `cancel` drops the waiting
|
|
40
|
+
* job for a key. Omitted means no dedupe. */
|
|
41
|
+
key?: string;
|
|
42
|
+
/** Orders ready jobs: higher first, then oldest first. 0 is a normal
|
|
43
|
+
* dispatch; the platform's housekeeping uses `PRIORITY_LOW`. */
|
|
44
|
+
priority?: number;
|
|
45
|
+
}
|
|
46
|
+
/** What a queue can say about itself. */
|
|
47
|
+
export interface QueueStats {
|
|
48
|
+
/** Jobs a worker could take right now. */
|
|
49
|
+
ready: number;
|
|
50
|
+
/** Jobs held for a future run time: park expiries, retry backoffs. Not
|
|
51
|
+
* backlog. */
|
|
52
|
+
delayed: number;
|
|
53
|
+
/** Jobs a worker holds. */
|
|
54
|
+
inFlight: number;
|
|
55
|
+
/** Jobs the queue gave up on and kept for an operator. */
|
|
56
|
+
dead: number;
|
|
57
|
+
/** How long the oldest ready job has been waiting: the number that says a
|
|
58
|
+
* queue is stuck rather than merely busy. */
|
|
59
|
+
oldestReadyMs: number;
|
|
60
|
+
/** True while the consumer is told not to claim. */
|
|
61
|
+
paused: boolean;
|
|
62
|
+
/** When this process last took a job. */
|
|
63
|
+
lastClaimAt?: Date;
|
|
64
|
+
/** How many claims in a row have failed in this process. */
|
|
65
|
+
claimErrors: number;
|
|
66
|
+
}
|
|
67
|
+
/** One job as the queue sees it, for a host that asks where a run's job is. */
|
|
68
|
+
export interface QueuedJob {
|
|
69
|
+
id: string;
|
|
70
|
+
runId: string;
|
|
71
|
+
threadId: string;
|
|
72
|
+
kind: RunJob['kind'];
|
|
73
|
+
attempts: number;
|
|
74
|
+
runAt: Date;
|
|
75
|
+
lockedUntil?: Date;
|
|
76
|
+
/** How many ready jobs are ahead of it; -1 when the adapter cannot say. */
|
|
77
|
+
position: number;
|
|
12
78
|
}
|
|
13
79
|
/** Durable dispatch port (§2.8). Delivery is at-least-once — the engine's
|
|
14
|
-
* state guard
|
|
80
|
+
* state guard and the run lock make double dispatch a no-op.
|
|
81
|
+
*
|
|
82
|
+
* Beside `enqueue` the port carries the little an engine and a host need to
|
|
83
|
+
* see the queue: a way to withdraw a job by key, a way to find a run's job,
|
|
84
|
+
* and counts. An adapter with no read side throws `UnsupportedError` from
|
|
85
|
+
* `find` and `stats`; callers treat that as "unknown", never as a failure. */
|
|
15
86
|
export interface Queue {
|
|
16
87
|
enqueue(job: RunJob, opts?: EnqueueOptions): Promise<void>;
|
|
88
|
+
/** Drop every waiting job enqueued under `key`. A key nothing is waiting
|
|
89
|
+
* under is not an error. Best-effort by contract: a delivered job is a
|
|
90
|
+
* correct no-op anyway. */
|
|
91
|
+
cancel(key: string): Promise<void>;
|
|
92
|
+
/** The earliest waiting or running job for a run, or null when the queue
|
|
93
|
+
* holds none. */
|
|
94
|
+
find(runId: string): Promise<QueuedJob | null>;
|
|
95
|
+
/** Count what waits, runs and died. */
|
|
96
|
+
stats(): Promise<QueueStats>;
|
|
17
97
|
}
|
|
18
98
|
//# sourceMappingURL=queue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../src/ports/queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC7B
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../src/ports/queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C;uEACuE;AACvE,eAAO,MAAM,YAAY,MAAM,CAAC;AAEhC;;;gBAGgB;AAChB,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,SAAkB;CAItC;AAED,6DAA6D;AAC7D,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,SAA0B;CAI9C;AAED,4DAA4D;AAC5D,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,GAAG,EAAE,MAAM;CAIxB;AAED;;eAEe;AACf,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,IAAI,EAAE,MAAM;CAIzB;AAED,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;gBASY;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;kDAE8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;qEACiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,yCAAyC;AACzC,MAAM,WAAW,UAAU;IACzB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd;mBACe;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb;kDAC8C;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,MAAM,EAAE,OAAO,CAAC;IAChB,yCAAyC;IACzC,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,+EAA+E;AAC/E,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,IAAI,CAAC;IACZ,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;+EAM+E;AAC/E,MAAM,WAAW,KAAK;IACpB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D;;gCAE4B;IAC5B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC;sBACkB;IAClB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAC/C,uCAAuC;IACvC,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;CAC9B"}
|
package/dist/ports/queue.js
CHANGED
|
@@ -1,2 +1,37 @@
|
|
|
1
|
-
|
|
1
|
+
/** The priority of the platform's own housekeeping: park expiries, reclaims
|
|
2
|
+
* and lock redrives. A user's message is never queued behind them. */
|
|
3
|
+
export const PRIORITY_LOW = -10;
|
|
4
|
+
/** `enqueue` refused a fresh dispatch: a depth cap is set and the queue has
|
|
5
|
+
* reached it. Only a fresh dispatch is ever refused; retries, redrives,
|
|
6
|
+
* resumes and expiries always go in, or a run already under way would be
|
|
7
|
+
* stranded. */
|
|
8
|
+
export class QueueFullError extends Error {
|
|
9
|
+
constructor(message = 'queue is full') {
|
|
10
|
+
super(message);
|
|
11
|
+
this.name = 'QueueFullError';
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
/** A job whose encoded payload is over the adapter's cap. */
|
|
15
|
+
export class PayloadTooLargeError extends Error {
|
|
16
|
+
constructor(message = 'job payload too large') {
|
|
17
|
+
super(message);
|
|
18
|
+
this.name = 'PayloadTooLargeError';
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/** An enqueue whose `key` is already waiting or running. */
|
|
22
|
+
export class DuplicateJobError extends Error {
|
|
23
|
+
constructor(key) {
|
|
24
|
+
super(`a job with this key is already queued: ${key}`);
|
|
25
|
+
this.name = 'DuplicateJobError';
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/** An adapter's answer to an operation it cannot do, such as counting on a
|
|
29
|
+
* queue with no read side. Callers treat it as "unknown", never as a
|
|
30
|
+
* failure. */
|
|
31
|
+
export class UnsupportedError extends Error {
|
|
32
|
+
constructor(what) {
|
|
33
|
+
super(`not supported by this adapter: ${what}`);
|
|
34
|
+
this.name = 'UnsupportedError';
|
|
35
|
+
}
|
|
36
|
+
}
|
|
2
37
|
//# sourceMappingURL=queue.js.map
|
package/dist/ports/queue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/ports/queue.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/ports/queue.ts"],"names":[],"mappings":"AAEA;uEACuE;AACvE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,CAAC;AAEhC;;;gBAGgB;AAChB,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAO,GAAG,eAAe;QACnC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,6DAA6D;AAC7D,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAO,GAAG,uBAAuB;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED,4DAA4D;AAC5D,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,GAAW;QACrB,KAAK,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED;;eAEe;AACf,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,IAAY;QACtB,KAAK,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF"}
|
package/dist/ports/runtime.d.ts
CHANGED
|
@@ -4,13 +4,19 @@ import type { TokenAttribution } from '../core/usage.js';
|
|
|
4
4
|
import type { Storage } from './storage.js';
|
|
5
5
|
import type { AdminStore, RunFilter, StepRecord } from './admin.js';
|
|
6
6
|
import type { AgentRunState, BoundStorage } from '../core/state.js';
|
|
7
|
-
import type { FollowOptions,
|
|
7
|
+
import type { FollowFrame, FollowOptions, FollowThreadOptions, SseStream, ThreadCursor } from '../core/follow.js';
|
|
8
|
+
import type { StreamItem } from '../core/stream-events.js';
|
|
9
|
+
import type { StreamSnapshot } from './streams.js';
|
|
8
10
|
import type { PublishEventOptions } from '../core/publish.js';
|
|
11
|
+
import type { SnapshotStream } from '../core/snapshot.js';
|
|
12
|
+
import type { PruneOptions, PruneReport } from '../core/prune.js';
|
|
13
|
+
import type { WireFormat } from '../core/agui.js';
|
|
9
14
|
export type { AdminStore, NewStepRecord, RunFilter, StepRecord } from './admin.js';
|
|
10
15
|
export type { AgentRunState, BoundStorage, StorageContext } from '../core/state.js';
|
|
11
16
|
import type { EventBus } from './bus.js';
|
|
12
17
|
import type { Queue } from './queue.js';
|
|
13
18
|
import type { Kv } from './kv.js';
|
|
19
|
+
import type { RunStreams } from './streams.js';
|
|
14
20
|
import type { ExecuteInput, ExecuteOutcome } from '../core/engine.js';
|
|
15
21
|
import type { AdminOverview, RunDetail, RunStats, ThreadDetail, ThreadSummary } from '../core/admin.js';
|
|
16
22
|
export type { AdminOverview, RunDetail, RunStats, } from '../core/admin.js';
|
|
@@ -28,6 +34,8 @@ export interface RuntimePorts {
|
|
|
28
34
|
bus: EventBus;
|
|
29
35
|
queue: Queue;
|
|
30
36
|
kv: Kv;
|
|
37
|
+
/** Run streams, one per segment; absent, none are written. */
|
|
38
|
+
streams?: RunStreams;
|
|
31
39
|
/** User-provided model resolution (§3.3): models can live in any shape on
|
|
32
40
|
* the consumer side — the platform only ever sees `ResolvedModel`. */
|
|
33
41
|
resolveModel(modelName: string): ResolvedModel;
|
|
@@ -65,6 +73,10 @@ export interface RuntimeOptions {
|
|
|
65
73
|
bus: EventBus;
|
|
66
74
|
queue: Queue;
|
|
67
75
|
kv: Kv;
|
|
76
|
+
/** Short-lived logs, one per run segment: where a run's live events go.
|
|
77
|
+
* Omitted, they are kept in memory, which only this process can read —
|
|
78
|
+
* fine for one process, not for web servers and workers that run apart. */
|
|
79
|
+
streams?: RunStreams;
|
|
68
80
|
/** Models can come in any shape — config files, a database, provider SDKs.
|
|
69
81
|
* The platform only ever sees the resolved `ResolvedModel`. */
|
|
70
82
|
resolveModel(modelName: string): ResolvedModel;
|
|
@@ -107,10 +119,40 @@ export interface RunInput {
|
|
|
107
119
|
* from the AI SDK (§3.1). Merged over the spec default: the execute
|
|
108
120
|
* input wins per provider namespace. */
|
|
109
121
|
providerOptions?: ProviderOptions;
|
|
122
|
+
/** Name the run yourself (§2.1): your own records can be keyed by it
|
|
123
|
+
* before dispatch, and the worker sees the same id. Reusing one is
|
|
124
|
+
* refused, never silently re-run. */
|
|
125
|
+
runId?: string;
|
|
126
|
+
/** Cap this run's round trips below the config's `maxSteps`; a larger
|
|
127
|
+
* value is clamped to it. */
|
|
128
|
+
maxSteps?: number;
|
|
129
|
+
/** Images the user sent with the prompt. They are stored as image parts on
|
|
130
|
+
* the user message and reach the model natively. */
|
|
131
|
+
attachments?: Attachment[];
|
|
132
|
+
/** The caller's tenant, written on the dispatch ticket so a queue that
|
|
133
|
+
* spreads its claims across partitions can keep one tenant's backlog from
|
|
134
|
+
* starving the others. Opaque to the platform. */
|
|
135
|
+
partitionKey?: string;
|
|
136
|
+
/** The sending client's own name for the user turn. It comes back on the
|
|
137
|
+
* turn's MESSAGE_APPENDED, so the client that sent it can swap its
|
|
138
|
+
* optimistic copy for the real one by id, never by matching text. Opaque
|
|
139
|
+
* to the platform, and not stored. */
|
|
140
|
+
clientMessageId?: string;
|
|
141
|
+
}
|
|
142
|
+
/** An image on a user turn: a URL the provider can fetch, or a data: URL. */
|
|
143
|
+
export interface Attachment {
|
|
144
|
+
url: string;
|
|
145
|
+
mediaType?: string;
|
|
110
146
|
}
|
|
147
|
+
/** Why a run was refused, for a host that answers differently to each:
|
|
148
|
+
* `active_run` (the thread already has one), `queue_full` (try again
|
|
149
|
+
* shortly), `billing` (the billing check said no). */
|
|
150
|
+
export type RefusedReason = 'active_run' | 'queue_full' | 'billing';
|
|
111
151
|
export interface RunResult {
|
|
112
152
|
accepted: boolean;
|
|
113
153
|
threadId: string;
|
|
154
|
+
/** For the refusals a host acts on. */
|
|
155
|
+
reason?: RefusedReason;
|
|
114
156
|
/** This run's id (§2.1) — the same one carried by the enqueued job. An
|
|
115
157
|
* in-process worker must pass it back, or its dispatch has no identity. */
|
|
116
158
|
runId?: string;
|
|
@@ -148,12 +190,16 @@ export interface ThreadUsage {
|
|
|
148
190
|
/** The model the budget was measured against. */
|
|
149
191
|
model: string;
|
|
150
192
|
}
|
|
151
|
-
/** What the platform hands a spec's `
|
|
193
|
+
/** What the platform hands a spec's `onSettle` and `onFinish`. */
|
|
152
194
|
export interface RunFinishInfo {
|
|
153
195
|
threadId: string;
|
|
154
196
|
runId?: string;
|
|
155
197
|
state: ExecutionState;
|
|
156
198
|
stopReason: string;
|
|
199
|
+
/** A user stop (§2.1). */
|
|
200
|
+
cancelled: boolean;
|
|
201
|
+
/** Why the run failed, when it did. */
|
|
202
|
+
error?: string;
|
|
157
203
|
tokensUsed: number;
|
|
158
204
|
/** The tokens THIS segment spent. A run that parked and resumed finishes
|
|
159
205
|
* once, so this is the last segment, not the whole run — and it is tokens
|
|
@@ -167,8 +213,40 @@ export interface RunFinishInfo {
|
|
|
167
213
|
* `unpriced` above zero means some calls went unpriced and `costMicros` is
|
|
168
214
|
* a floor. */
|
|
169
215
|
usage: UsageTotals;
|
|
216
|
+
/** Set when the platform could not read the run's rows back. `usage` is
|
|
217
|
+
* then zeroed, and a hook that bills from it should refuse to settle
|
|
218
|
+
* rather than charge nothing: throw from `onSettle` and the run fails
|
|
219
|
+
* instead of going free. */
|
|
220
|
+
usageError?: unknown;
|
|
170
221
|
}
|
|
222
|
+
/** A spec's settle hook (§5.6): where a run is charged. It runs once per run,
|
|
223
|
+
* whatever way the run ends — completed, stopped (while running, queued or
|
|
224
|
+
* parked), failed, or found later by the late-settle sweep — before the
|
|
225
|
+
* terminal state is written when a worker ends the run. A throw fails a run
|
|
226
|
+
* that was going to complete, and leaves the run unsettled so a later
|
|
227
|
+
* settle runs it again.
|
|
228
|
+
*
|
|
229
|
+
* Make it idempotent by `runId`. Once is kept by a claim on the run record,
|
|
230
|
+
* but a hook slower than the claim (10 minutes), or a mark that could not be
|
|
231
|
+
* written, can see the same run twice. */
|
|
232
|
+
export type SettleFn = (info: RunFinishInfo) => void | Promise<void>;
|
|
233
|
+
/** Builds the persona per step with the run's state (§3.1). It wins over the
|
|
234
|
+
* static `system` when set. A throw fails the step, like a model error. */
|
|
235
|
+
export type SystemFn = (threadId: string, state: AgentRunState) => string | Promise<string>;
|
|
236
|
+
/** Edits the prompt for one step, just before it is sent (§3.1): `messages` is
|
|
237
|
+
* the history the platform assembled (compacted, repaired, cache-stamped) and
|
|
238
|
+
* what comes back is what the model sees. It is the place for context that
|
|
239
|
+
* must NOT be saved — a screenshot the model should look at once, an editor
|
|
240
|
+
* snapshot — because anything added here is gone on the next step unless it
|
|
241
|
+
* is added again. */
|
|
242
|
+
export type PrepareStepFn = (threadId: string, state: AgentRunState, messages: Array<any>) => Array<any> | Promise<Array<any>>;
|
|
171
243
|
/** Durable state used to hydrate a client before it starts live event replay. */
|
|
244
|
+
/** Where a follow starts: `cursor` (a ThreadCursor, or its wire string as an
|
|
245
|
+
* SSE Last-Event-ID carries it), or a bare record seq `since`. */
|
|
246
|
+
export interface FollowStartOptions extends Omit<FollowThreadOptions, 'cursor'> {
|
|
247
|
+
cursor?: ThreadCursor | string | null;
|
|
248
|
+
since?: number;
|
|
249
|
+
}
|
|
172
250
|
export interface ThreadSnapshot {
|
|
173
251
|
thread: ThreadDTO;
|
|
174
252
|
messages: MessageDTO[];
|
|
@@ -176,10 +254,13 @@ export interface ThreadSnapshot {
|
|
|
176
254
|
* reconnecting client rebuilds its subagent panel without depending on
|
|
177
255
|
* events that only replay while a run is unfinished. */
|
|
178
256
|
runs: RunRecord[];
|
|
179
|
-
/**
|
|
257
|
+
/** The thread record's last seq. */
|
|
180
258
|
lastEventSeq: number;
|
|
181
|
-
/**
|
|
259
|
+
/** The unfinished run's record entries: its open park, a refusal. */
|
|
182
260
|
activeEvents: AgentEvent[];
|
|
261
|
+
/** The run stream in flight, or one that just ended: what the messages
|
|
262
|
+
* do not have yet, and where a live read picks up. */
|
|
263
|
+
stream: SnapshotStream | null;
|
|
183
264
|
}
|
|
184
265
|
/** Everything streamText accepts except the platform-owned keys (§3.1).
|
|
185
266
|
* `onChunk` / `onFinish` ARE allowed — the platform chains them (§4). */
|
|
@@ -204,8 +285,14 @@ export type StreamTextAgentSpec = {
|
|
|
204
285
|
} & Omit<Parameters<typeof import('ai').streamText>[0], 'model' | 'messages' | 'prompt' | 'system' | 'abortSignal' | 'maxSteps' | 'onStepFinish' | 'onError' | 'onFinish' | 'onChunk'> & {
|
|
205
286
|
/** `system` is allowed here (static persona); per-run system is not. */
|
|
206
287
|
system?: string;
|
|
288
|
+
/** The persona built per step with the run's state; wins over `system`. */
|
|
289
|
+
systemFn?: SystemFn;
|
|
290
|
+
/** Edits the prompt per step, for context that must not be saved. */
|
|
291
|
+
prepareStep?: PrepareStepFn;
|
|
207
292
|
tools?: ToolSet;
|
|
208
293
|
onChunk?: (para: any) => void | Promise<void>;
|
|
294
|
+
/** Charges the run (§5.6). See SettleFn. */
|
|
295
|
+
onSettle?: SettleFn;
|
|
209
296
|
/** Fires once, after the platform finalized the run, with what the run did
|
|
210
297
|
* and what it spent (§4). */
|
|
211
298
|
onFinish?: (info: RunFinishInfo) => void | Promise<void>;
|
|
@@ -220,9 +307,26 @@ export type GenerateTextAgentSpec = {
|
|
|
220
307
|
providerOptions?: ProviderOptions;
|
|
221
308
|
} & Omit<Parameters<typeof import('ai').generateText>[0], 'model' | 'messages' | 'prompt' | 'abortSignal' | 'onFinish' | 'onStepFinish'> & {
|
|
222
309
|
tools?: ToolSet;
|
|
310
|
+
/** The persona built per step with the run's state; wins over `system`. */
|
|
311
|
+
systemFn?: SystemFn;
|
|
312
|
+
/** Edits the prompt per step, for context that must not be saved. */
|
|
313
|
+
prepareStep?: PrepareStepFn;
|
|
314
|
+
/** Charges the run (§5.6). See SettleFn. */
|
|
315
|
+
onSettle?: SettleFn;
|
|
223
316
|
/** Fires once, after the platform finalized the run (§4). */
|
|
224
317
|
onFinish?: (info: RunFinishInfo) => void | Promise<void>;
|
|
225
318
|
};
|
|
319
|
+
/** What a stuck-run sweep did. */
|
|
320
|
+
export interface ReclaimReport {
|
|
321
|
+
/** How many run records the sweep looked at. */
|
|
322
|
+
checked: number;
|
|
323
|
+
/** How many runs went back on the queue or were moved to their end state. */
|
|
324
|
+
redispatched: number;
|
|
325
|
+
/** How many ended runs had their settle run late. */
|
|
326
|
+
settled: number;
|
|
327
|
+
/** How many runs the sweep could not act on. */
|
|
328
|
+
errors: number;
|
|
329
|
+
}
|
|
226
330
|
/** An executor bound to a generation flavor and to the user's generation
|
|
227
331
|
* arguments (§3). Returned by the `create*Agent` factories. */
|
|
228
332
|
export interface AgentHandle {
|
|
@@ -230,8 +334,9 @@ export interface AgentHandle {
|
|
|
230
334
|
readonly kind: AgentKind;
|
|
231
335
|
/** Worker-side only (§5.6). Throws on failure — see executeWithPolicy.
|
|
232
336
|
* Returns 'lock-conflict' when another worker owns the thread's run lock
|
|
233
|
-
* (nothing was executed)
|
|
234
|
-
* one (§2.1, §2.8)
|
|
337
|
+
* (nothing was executed), 'stale' when a newer run has replaced this
|
|
338
|
+
* one (§2.1, §2.8), and 'lock-lost' when this worker could not keep the
|
|
339
|
+
* lock and stopped early (§3.4). */
|
|
235
340
|
execute(input: ExecuteInput): Promise<ExecuteOutcome>;
|
|
236
341
|
/** execute + §2.8 failure policy: redrive < maxAttempts, else finalize FAILED */
|
|
237
342
|
executeWithPolicy(input: ExecuteInput, policy?: {
|
|
@@ -260,6 +365,13 @@ export interface AgentCore {
|
|
|
260
365
|
* usage rows, subagent runs, and the thread's hot kv keys (§3.2).
|
|
261
366
|
* Refused while a run is active; stop() first. */
|
|
262
367
|
deleteThread(threadId: string, state?: AgentRunState): Promise<DeleteThreadResult>;
|
|
368
|
+
/** The backstop for a run that nothing is working on (§2.5, §2.8): a QUEUED
|
|
369
|
+
* or RUNNING record older than `olderThanMs` whose lock nobody holds and
|
|
370
|
+
* whose job is gone is re-dispatched, and an ended record older than that
|
|
371
|
+
* whose settle never ran is settled. Call it from a periodic job. It pages
|
|
372
|
+
* through every such run. A record with no recorded state is read with an
|
|
373
|
+
* empty state. */
|
|
374
|
+
reclaimStuckRuns(olderThanMs: number): Promise<ReclaimReport>;
|
|
263
375
|
hitl: {
|
|
264
376
|
respond(input: RespondInput): Promise<RespondResult>;
|
|
265
377
|
reclaimIfOrphaned(threadId: string, state?: AgentRunState): Promise<boolean>;
|
|
@@ -267,30 +379,54 @@ export interface AgentCore {
|
|
|
267
379
|
events: {
|
|
268
380
|
since(threadId: string, sinceSeq: number, state?: AgentRunState): Promise<AgentEvent[]>;
|
|
269
381
|
subscribe(threadId: string, handler: (event: AgentEvent) => void): Promise<() => void>;
|
|
270
|
-
/**
|
|
271
|
-
*
|
|
272
|
-
*
|
|
382
|
+
/** A thread live, as one sequence of frames (§2.2): its record entries
|
|
383
|
+
* and notices, and its run streams — the stream the cursor names read on
|
|
384
|
+
* from its offset, the next segment's from its RUN_STARTED, and one
|
|
385
|
+
* SNAPSHOT frame when the stream the client was reading is gone.
|
|
273
386
|
*
|
|
274
|
-
*
|
|
275
|
-
*
|
|
276
|
-
*
|
|
277
|
-
|
|
387
|
+
* `cursor` is where the client is: the SSE `id:` it last saw
|
|
388
|
+
* (Last-Event-ID), as a string or parsed. `since` is a bare record seq,
|
|
389
|
+
* as older clients send. Framework-neutral — an async iterable is
|
|
390
|
+
* something Express, Nest, Hono, Next or a plain worker can each consume
|
|
391
|
+
* in their own way. Pass a signal, or the follow outlives the client. */
|
|
392
|
+
follow(threadId: string, options?: FollowStartOptions & {
|
|
278
393
|
state?: AgentRunState;
|
|
279
|
-
}): AsyncGenerator<
|
|
280
|
-
/** `follow`, encoded as Server-Sent Events.
|
|
394
|
+
}): AsyncGenerator<FollowFrame>;
|
|
395
|
+
/** `follow`, encoded as Server-Sent Events. Each frame that moves the
|
|
396
|
+
* cursor carries it as its `id:`. `wireFormat: 'ag-ui'` sends AG-UI
|
|
397
|
+
* events instead of our frames (opt-in). Returns the stream and the
|
|
281
398
|
* headers rather than a Response, because half the ecosystem has none. */
|
|
282
|
-
sse(threadId: string, options?:
|
|
399
|
+
sse(threadId: string, options?: FollowStartOptions & {
|
|
400
|
+
retryMs?: number;
|
|
401
|
+
wireFormat?: WireFormat;
|
|
283
402
|
state?: AgentRunState;
|
|
284
403
|
}): SseStream;
|
|
404
|
+
/** The thread record and its notices alone, as before run streams: no
|
|
405
|
+
* stream frames. */
|
|
406
|
+
followRecord(threadId: string, options?: FollowOptions & {
|
|
407
|
+
state?: AgentRunState;
|
|
408
|
+
}): AsyncGenerator<AgentEvent>;
|
|
285
409
|
/** Publish an event of your own on a thread, from anywhere on the server
|
|
286
410
|
* — a webhook, a cron job, a route. Tools get the same thing bound to
|
|
287
|
-
* their thread as `publishEvent` on their options.
|
|
288
|
-
* `{ durable:
|
|
289
|
-
* refused. */
|
|
411
|
+
* their thread as `publishEvent` on their options. Live only by default;
|
|
412
|
+
* `{ durable: true }` also keeps it in the thread record. Platform event
|
|
413
|
+
* types are refused. */
|
|
290
414
|
publishEvent(threadId: string, type: string, payload: unknown, options?: PublishEventOptions & {
|
|
291
415
|
state?: AgentRunState;
|
|
292
416
|
}): Promise<AgentEvent>;
|
|
293
417
|
};
|
|
418
|
+
/** Delete the stream-only rows (chunks, step markers, state changes…)
|
|
419
|
+
* releases before run streams left in the event table, a batch at a
|
|
420
|
+
* time. Nothing reads them any more; an app's own types are kept. Run it
|
|
421
|
+
* when it suits you, after upgrading: `{ dryRun: true }` counts first. */
|
|
422
|
+
pruneEvents(options?: PruneOptions): Promise<PruneReport>;
|
|
423
|
+
/** A run stream by id, for a caller that only cares about one run: its
|
|
424
|
+
* items after `after`, live until it closes. Throws StreamGoneError once
|
|
425
|
+
* the stream is past its grace window. */
|
|
426
|
+
streams: {
|
|
427
|
+
read(streamId: string, after: string | null, signal?: AbortSignal): AsyncIterable<StreamItem>;
|
|
428
|
+
snapshot(streamId: string, after?: string | null): Promise<StreamSnapshot | null>;
|
|
429
|
+
};
|
|
294
430
|
/** Agent factories — see §4. Each call registers a handle under `spec.name`. */
|
|
295
431
|
createStreamTextAgent(spec: StreamTextAgentSpec): AgentHandle;
|
|
296
432
|
createGenerateTextAgent(spec: GenerateTextAgentSpec): AgentHandle;
|
|
@@ -325,10 +461,25 @@ export interface AgentCore {
|
|
|
325
461
|
* delivery (the per-thread run lock, §3.4). The HTTP layer only verifies
|
|
326
462
|
* signatures, parses JSON, and calls this. */
|
|
327
463
|
worker: {
|
|
328
|
-
|
|
464
|
+
/** Run one job. Throws `UnknownAgentError` for a job naming an agent this
|
|
465
|
+
* process does not have, so a queue that retries on failure keeps it.
|
|
466
|
+
* Abort `signal` on shutdown: the segment stops at once and the job goes
|
|
467
|
+
* back on the queue without spending an attempt. */
|
|
468
|
+
handleJob(job: RunJob, options?: {
|
|
469
|
+
signal?: AbortSignal;
|
|
470
|
+
}): Promise<{
|
|
329
471
|
accepted: boolean;
|
|
330
472
|
reason?: string;
|
|
331
473
|
}>;
|
|
474
|
+
/** What a queue calls when it gives up on a job (§2.8): the run behind it
|
|
475
|
+
* is failed with the reason and settled, so its thread does not read
|
|
476
|
+
* QUEUED or RUNNING for ever. A job whose run has already moved on is
|
|
477
|
+
* left alone. */
|
|
478
|
+
handleDeadJob(job: RunJob, attempts: number, cause: unknown): Promise<void>;
|
|
332
479
|
};
|
|
480
|
+
/** The ports bundle, scoped to a run's state when one is given (§2.10): for
|
|
481
|
+
* a host that reads storage, publishes or checks the kv the way the
|
|
482
|
+
* platform does. */
|
|
483
|
+
ports(state?: AgentRunState): RuntimePorts;
|
|
333
484
|
}
|
|
334
485
|
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/ports/runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/ports/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/ports/storage.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { StorageContext } from '../core/state.js';
|
|
2
|
-
import type { AgentEvent, ExecutionState, MessageDTO, NewMessage, NewUsage, UsageFilter, UsageTotals, ThreadDTO } from '../core/types.js';
|
|
2
|
+
import type { AgentEvent, ExecutionState, MessageDTO, NewMessage, NewThreadEvent, ThreadEventFilter, NewUsage, UsageFilter, UsageTotals, ThreadDTO, ThreadTransition } from '../core/types.js';
|
|
3
3
|
/** Persistence port for a caller's OWN data (§3.2): threads, messages, events,
|
|
4
4
|
* usage. DTOs cross the boundary; ORM/entity types never leak into core.
|
|
5
5
|
* Implement it once for MongoDB, MySQL, DynamoDB — or use the shipped
|
|
@@ -29,6 +29,11 @@ export interface Storage {
|
|
|
29
29
|
* Backs HITL reclamation + double-dispatch protection (§2.5, §2.8).
|
|
30
30
|
* Must be atomic — a single conditional UPDATE or equivalent. */
|
|
31
31
|
claimState(threadId: string, from: ExecutionState, to: ExecutionState, ctx: StorageContext): Promise<boolean>;
|
|
32
|
+
/** The compare-and-set every run state change goes through: true iff THIS
|
|
33
|
+
* caller moved the thread (see ThreadTransition). The adapter keeps the
|
|
34
|
+
* thread's current run beside its state. Atomic, like `claimState`: one
|
|
35
|
+
* conditional UPDATE or equivalent. */
|
|
36
|
+
transition(threadId: string, t: ThreadTransition, ctx: StorageContext): Promise<boolean>;
|
|
32
37
|
};
|
|
33
38
|
messages: {
|
|
34
39
|
append(threadId: string, message: NewMessage, ctx: StorageContext): Promise<MessageDTO>;
|
|
@@ -51,16 +56,32 @@ export interface Storage {
|
|
|
51
56
|
* provider accepts. `run()` enforces that; adapters just delete. */
|
|
52
57
|
deleteFrom(threadId: string, messageId: string, ctx: StorageContext): Promise<number>;
|
|
53
58
|
};
|
|
59
|
+
/** The thread record: the few events that must outlive a run — parks and
|
|
60
|
+
* their answers, refusals, budget stops, compaction, each segment's start
|
|
61
|
+
* and end, and an app's own events published durable. A run's live
|
|
62
|
+
* events go to its run stream, never here, so this grows with runs, not
|
|
63
|
+
* with tokens. */
|
|
54
64
|
events: {
|
|
55
|
-
|
|
56
|
-
|
|
65
|
+
/** Store an entry and mint its seq: the thread's next, one higher than
|
|
66
|
+
* any it holds. Two appends on one thread never get the same seq. */
|
|
67
|
+
append(threadId: string, event: NewThreadEvent, ctx: StorageContext): Promise<AgentEvent>;
|
|
68
|
+
/** Entries by filter, ascending by seq. */
|
|
69
|
+
list(threadId: string, filter: ThreadEventFilter, ctx: StorageContext): Promise<AgentEvent[]>;
|
|
70
|
+
/** All events after the cursor, ascending by seq. */
|
|
57
71
|
listSince(threadId: string, sinceSeq: number, ctx: StorageContext): Promise<AgentEvent[]>;
|
|
58
72
|
/** Most recent event of a type — the HITL pending check (§2.5) */
|
|
59
73
|
latest(threadId: string, type: string, ctx: StorageContext): Promise<AgentEvent | null>;
|
|
60
74
|
/** Every event of a type, ascending by seq. The open-approval set (§2.7)
|
|
61
|
-
* is derived from these
|
|
62
|
-
* CHUNK on the thread through memory. */
|
|
75
|
+
* is derived from these. */
|
|
63
76
|
listByType(threadId: string, type: string, ctx: StorageContext): Promise<AgentEvent[]>;
|
|
77
|
+
/** Optional: one batch of `runtime.pruneEvents`. Deletes up to `limit`
|
|
78
|
+
* entries of these types, on every thread, and says how many of each
|
|
79
|
+
* went. With `dryRun` it deletes nothing and counts every entry of
|
|
80
|
+
* these types instead. */
|
|
81
|
+
prune?(types: string[], opts: {
|
|
82
|
+
limit: number;
|
|
83
|
+
dryRun?: boolean;
|
|
84
|
+
}): Promise<Record<string, number>>;
|
|
64
85
|
};
|
|
65
86
|
/** One row per model call (§4).
|
|
66
87
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/ports/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACX,WAAW,EACX,SAAS,
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/ports/storage.ts"],"names":[],"mappings":"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"}
|