@rivet-dev/flue 2.3.7

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.
Files changed (79) hide show
  1. package/LICENSE +203 -0
  2. package/README.md +26 -0
  3. package/dist/agent-coordinator.d.ts +88 -0
  4. package/dist/agent-coordinator.d.ts.map +1 -0
  5. package/dist/agent-coordinator.js +346 -0
  6. package/dist/agent-coordinator.js.map +1 -0
  7. package/dist/index.d.ts +4 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +4 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/internal.d.ts +3 -0
  12. package/dist/internal.d.ts.map +1 -0
  13. package/dist/internal.js +2 -0
  14. package/dist/internal.js.map +1 -0
  15. package/dist/registry-ops-async.d.ts +7 -0
  16. package/dist/registry-ops-async.d.ts.map +1 -0
  17. package/dist/registry-ops-async.js +12 -0
  18. package/dist/registry-ops-async.js.map +1 -0
  19. package/dist/rivet-db.d.ts +7 -0
  20. package/dist/rivet-db.d.ts.map +1 -0
  21. package/dist/rivet-db.js +65 -0
  22. package/dist/rivet-db.js.map +1 -0
  23. package/dist/run-store-composite.d.ts +3 -0
  24. package/dist/run-store-composite.d.ts.map +1 -0
  25. package/dist/run-store-composite.js +43 -0
  26. package/dist/run-store-composite.js.map +1 -0
  27. package/dist/runtime.d.ts +8 -0
  28. package/dist/runtime.d.ts.map +1 -0
  29. package/dist/runtime.js +7 -0
  30. package/dist/runtime.js.map +1 -0
  31. package/dist/stores/async-db.d.ts +10 -0
  32. package/dist/stores/async-db.d.ts.map +1 -0
  33. package/dist/stores/async-db.js +5 -0
  34. package/dist/stores/async-db.js.map +1 -0
  35. package/dist/stores/attachment-store.d.ts +4 -0
  36. package/dist/stores/attachment-store.d.ts.map +1 -0
  37. package/dist/stores/attachment-store.js +59 -0
  38. package/dist/stores/attachment-store.js.map +1 -0
  39. package/dist/stores/constants.d.ts +11 -0
  40. package/dist/stores/constants.d.ts.map +1 -0
  41. package/dist/stores/constants.js +11 -0
  42. package/dist/stores/constants.js.map +1 -0
  43. package/dist/stores/conversation-stream-store.d.ts +4 -0
  44. package/dist/stores/conversation-stream-store.d.ts.map +1 -0
  45. package/dist/stores/conversation-stream-store.js +16 -0
  46. package/dist/stores/conversation-stream-store.js.map +1 -0
  47. package/dist/stores/event-stream-store.d.ts +6 -0
  48. package/dist/stores/event-stream-store.d.ts.map +1 -0
  49. package/dist/stores/event-stream-store.js +171 -0
  50. package/dist/stores/event-stream-store.js.map +1 -0
  51. package/dist/stores/helpers.d.ts +2 -0
  52. package/dist/stores/helpers.d.ts.map +1 -0
  53. package/dist/stores/helpers.js +6 -0
  54. package/dist/stores/helpers.js.map +1 -0
  55. package/dist/stores/index.d.ts +11 -0
  56. package/dist/stores/index.d.ts.map +1 -0
  57. package/dist/stores/index.js +23 -0
  58. package/dist/stores/index.js.map +1 -0
  59. package/dist/stores/run-store.d.ts +4 -0
  60. package/dist/stores/run-store.d.ts.map +1 -0
  61. package/dist/stores/run-store.js +117 -0
  62. package/dist/stores/run-store.js.map +1 -0
  63. package/dist/stores/schema.d.ts +3 -0
  64. package/dist/stores/schema.d.ts.map +1 -0
  65. package/dist/stores/schema.js +228 -0
  66. package/dist/stores/schema.js.map +1 -0
  67. package/dist/stores/submission-store.d.ts +4 -0
  68. package/dist/stores/submission-store.d.ts.map +1 -0
  69. package/dist/stores/submission-store.js +261 -0
  70. package/dist/stores/submission-store.js.map +1 -0
  71. package/dist/target.d.ts +8 -0
  72. package/dist/target.d.ts.map +1 -0
  73. package/dist/target.js +408 -0
  74. package/dist/target.js.map +1 -0
  75. package/dist/workflow-coordinator.d.ts +71 -0
  76. package/dist/workflow-coordinator.d.ts.map +1 -0
  77. package/dist/workflow-coordinator.js +154 -0
  78. package/dist/workflow-coordinator.js.map +1 -0
  79. package/package.json +62 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-coordinator.js","sourceRoot":"","sources":["../src/agent-coordinator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './runtime.js';
2
+ export { default } from './target.js';
3
+ export { rivet, type RivetTargetOptions } from './target.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ export * from './runtime.js';
2
+ export { default } from './target.js';
3
+ export { rivet } from './target.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,KAAK,EAA2B,MAAM,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { actor, setup } from 'rivetkit';
2
+ export type { RivetAgentActorContext } from './agent-coordinator.js';
3
+ //# sourceMappingURL=internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACxC,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { actor, setup } from 'rivetkit';
2
+ //# sourceMappingURL=internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { FlueForwardRunIndex, RunStore } from '@flue/runtime/adapter-kit';
2
+ import { type AsyncSqlDb } from './stores/index.js';
3
+ export interface RivetRegistryOps extends FlueForwardRunIndex {
4
+ readonly runStore: RunStore;
5
+ }
6
+ export declare function createAsyncRegistryOps(db: AsyncSqlDb): Promise<RivetRegistryOps>;
7
+ //# sourceMappingURL=registry-ops-async.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-ops-async.d.ts","sourceRoot":"","sources":["../src/registry-ops-async.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAA6C,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/F,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IAC5D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC5B;AAED,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAStF"}
@@ -0,0 +1,12 @@
1
+ import { createAsyncRunStore, ensureAsyncSqlSchema } from './stores/index.js';
2
+ export async function createAsyncRegistryOps(db) {
3
+ await ensureAsyncSqlSchema(db);
4
+ const runStore = createAsyncRunStore(db);
5
+ return {
6
+ runStore,
7
+ lookupRun: (runId) => runStore.lookupRun(runId),
8
+ getRun: (runId) => runStore.getRun(runId),
9
+ listRuns: (opts) => runStore.listRuns(opts),
10
+ };
11
+ }
12
+ //# sourceMappingURL=registry-ops-async.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-ops-async.js","sourceRoot":"","sources":["../src/registry-ops-async.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAmB,MAAM,mBAAmB,CAAC;AAM/F,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAAc;IAC1D,MAAM,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACzC,OAAO;QACN,QAAQ;QACR,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;QAC/C,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;QACzC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;KAC3C,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { AsyncSqlDb } from './stores/index.js';
2
+ export interface RivetRawDb {
3
+ execute<TRow extends Record<string, unknown> = Record<string, unknown>>(query: string, ...args: unknown[]): Promise<TRow[]>;
4
+ transaction?<T>(callback: (tx: RivetRawDb) => Promise<T> | T): Promise<T>;
5
+ }
6
+ export declare function createRivetAsyncSqlDb(raw: RivetRawDb): AsyncSqlDb;
7
+ //# sourceMappingURL=rivet-db.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rivet-db.d.ts","sourceRoot":"","sources":["../src/rivet-db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA8B,MAAM,mBAAmB,CAAC;AAEhF,MAAM,WAAW,UAAU;IAC1B,OAAO,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrE,KAAK,EAAE,MAAM,EACb,GAAG,IAAI,EAAE,OAAO,EAAE,GAChB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACnB,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC1E;AAID,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU,CAkEjE"}
@@ -0,0 +1,65 @@
1
+ const SAVEPOINT_NAME = '__flue_tx';
2
+ export function createRivetAsyncSqlDb(raw) {
3
+ let tail = Promise.resolve();
4
+ const queryDirect = async (text, params = []) => raw.execute(text, ...params.map(normalizeBinding));
5
+ return {
6
+ async query(text, params = []) {
7
+ // Wait for any in-flight transaction to release the tail, but do not chain
8
+ // onto it: a plain query is a single statement and callers await
9
+ // sequentially over the one connection, so it cannot interleave inside a
10
+ // concurrent transaction's savepoint critical section in practice.
11
+ await tail;
12
+ return queryDirect(text, params);
13
+ },
14
+ async transaction(fn) {
15
+ // Serialize transactions through a promise tail. Rivet runs each actor
16
+ // single-threaded over one persistent SQLite connection, so concurrent
17
+ // callers would otherwise interleave their savepoints on the shared
18
+ // connection and corrupt each other's critical sections.
19
+ //
20
+ // Production Rivet clients expose transaction(), which owns the native
21
+ // writer lease and coordinates with other actor work. The savepoint below
22
+ // is only a fallback for the node:sqlite contract harness. A single fixed
23
+ // name is safe because the tail guarantees no two fallback savepoints are
24
+ // open at once and this design does not support re-entrant transactions.
25
+ const previous = tail;
26
+ let release;
27
+ tail = new Promise((resolve) => {
28
+ release = resolve;
29
+ });
30
+ await previous;
31
+ try {
32
+ if (raw.transaction) {
33
+ return await raw.transaction((tx) => fn({
34
+ query: (text, params = []) => tx.execute(text, ...params.map(normalizeBinding)),
35
+ }));
36
+ }
37
+ // The node:sqlite contract harness only exposes execute(). Use a
38
+ // savepoint there; production Rivet databases take the coordinated
39
+ // transaction() branch above.
40
+ await queryDirect(`SAVEPOINT ${SAVEPOINT_NAME}`);
41
+ try {
42
+ const result = await fn({ query: queryDirect });
43
+ await queryDirect(`RELEASE SAVEPOINT ${SAVEPOINT_NAME}`);
44
+ return result;
45
+ }
46
+ catch (error) {
47
+ // Undo the critical section and discard the savepoint, then
48
+ // always surface the original error. A rollback/release failure
49
+ // here would only mask the real cause; the ambient transaction
50
+ // is torn down by Rivet when the action throws regardless.
51
+ await queryDirect(`ROLLBACK TO SAVEPOINT ${SAVEPOINT_NAME}`).catch(() => { });
52
+ await queryDirect(`RELEASE SAVEPOINT ${SAVEPOINT_NAME}`).catch(() => { });
53
+ throw error;
54
+ }
55
+ }
56
+ finally {
57
+ release();
58
+ }
59
+ },
60
+ };
61
+ }
62
+ function normalizeBinding(value) {
63
+ return typeof value === 'boolean' ? (value ? 1 : 0) : value;
64
+ }
65
+ //# sourceMappingURL=rivet-db.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rivet-db.js","sourceRoot":"","sources":["../src/rivet-db.ts"],"names":[],"mappings":"AAUA,MAAM,cAAc,GAAG,WAAW,CAAC;AAEnC,MAAM,UAAU,qBAAqB,CAAC,GAAe;IACpD,IAAI,IAAI,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAE5C,MAAM,WAAW,GAAG,KAAK,EACxB,IAAY,EACZ,SAAmC,EAAE,EACZ,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEhF,OAAO;QACN,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,EAAE;YAC5B,2EAA2E;YAC3E,iEAAiE;YACjE,yEAAyE;YACzE,mEAAmE;YACnE,MAAM,IAAI,CAAC;YACX,OAAO,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,EAAE;YACnB,uEAAuE;YACvE,uEAAuE;YACvE,oEAAoE;YACpE,yDAAyD;YACzD,EAAE;YACF,uEAAuE;YACvE,0EAA0E;YAC1E,0EAA0E;YAC1E,0EAA0E;YAC1E,yEAAyE;YACzE,MAAM,QAAQ,GAAG,IAAI,CAAC;YACtB,IAAI,OAAoB,CAAC;YACzB,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBACpC,OAAO,GAAG,OAAO,CAAC;YACnB,CAAC,CAAC,CAAC;YACH,MAAM,QAAQ,CAAC;YACf,IAAI,CAAC;gBACJ,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;oBACrB,OAAO,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CACnC,EAAE,CAAC;wBACF,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE,CAC5B,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;qBAClD,CAAC,CACF,CAAC;gBACH,CAAC;gBAED,iEAAiE;gBACjE,mEAAmE;gBACnE,8BAA8B;gBAC9B,MAAM,WAAW,CAAC,aAAa,cAAc,EAAE,CAAC,CAAC;gBACjD,IAAI,CAAC;oBACJ,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;oBAChD,MAAM,WAAW,CAAC,qBAAqB,cAAc,EAAE,CAAC,CAAC;oBACzD,OAAO,MAAM,CAAC;gBACf,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,4DAA4D;oBAC5D,gEAAgE;oBAChE,+DAA+D;oBAC/D,2DAA2D;oBAC3D,MAAM,WAAW,CAAC,yBAAyB,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBAC7E,MAAM,WAAW,CAAC,qBAAqB,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBACzE,MAAM,KAAK,CAAC;gBACb,CAAC;YACF,CAAC;oBAAS,CAAC;gBACV,OAAO,EAAE,CAAC;YACX,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAoB;IAC7C,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { RunStore } from '@flue/runtime/adapter-kit';
2
+ export declare function createRivetRunStore(primary: RunStore, mirror?: RunStore): RunStore;
3
+ //# sourceMappingURL=run-store-composite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-store-composite.d.ts","sourceRoot":"","sources":["../src/run-store-composite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAOX,QAAQ,EAER,MAAM,2BAA2B,CAAC;AACnC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAElF"}
@@ -0,0 +1,43 @@
1
+ export function createRivetRunStore(primary, mirror) {
2
+ return new RivetRunStore(primary, mirror);
3
+ }
4
+ class RivetRunStore {
5
+ primary;
6
+ mirror;
7
+ constructor(primary, mirror) {
8
+ this.primary = primary;
9
+ this.mirror = mirror;
10
+ }
11
+ async createRun(input) {
12
+ await this.primary.createRun(input);
13
+ await this.mirrorWrite(() => this.mirror?.createRun(input));
14
+ }
15
+ async endRun(input) {
16
+ await this.primary.endRun(input);
17
+ await this.mirrorWrite(() => this.mirror?.endRun(input));
18
+ }
19
+ getRun(runId) {
20
+ return this.primary.getRun(runId);
21
+ }
22
+ lookupRun(runId) {
23
+ return this.primary.lookupRun(runId);
24
+ }
25
+ listRuns(opts) {
26
+ return this.primary.listRuns(opts);
27
+ }
28
+ async mirrorWrite(write) {
29
+ // The registry index is a best-effort mirror of the authoritative per-actor
30
+ // run record: an index fault must NOT fail run admission or finalization.
31
+ // This mirrors the Cloudflare adapter's `safeIndexWrite` contract
32
+ // (`@flue/runtime` `src/cloudflare/run-store.ts`). RivetKit owns actor
33
+ // readiness; an unavailable registry actor is logged as an index fault
34
+ // rather than hidden behind an adapter-specific retry policy.
35
+ try {
36
+ await write();
37
+ }
38
+ catch (error) {
39
+ console.error('[flue:run-index] mirror write failed:', error);
40
+ }
41
+ }
42
+ }
43
+ //# sourceMappingURL=run-store-composite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-store-composite.js","sourceRoot":"","sources":["../src/run-store-composite.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,mBAAmB,CAAC,OAAiB,EAAE,MAAiB;IACvE,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,aAAa;IACD,OAAO,CAAW;IAClB,MAAM,CAAuB;IAE9C,YAAY,OAAiB,EAAE,MAA4B;QAC1D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAqB;QACpC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAkB;QAC9B,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,KAAa;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,SAAS,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,IAAmB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,KAAyC;QAClE,4EAA4E;QAC5E,0EAA0E;QACzE,kEAAkE;QAClE,uEAAuE;QACvE,uEAAuE;QACvE,8DAA8D;QAC/D,IAAI,CAAC;YACJ,MAAM,KAAK,EAAE,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;QAC/D,CAAC;IACF,CAAC;CACD"}
@@ -0,0 +1,8 @@
1
+ export { createRivetAgentRuntime, type RivetAgentActorContext, type RivetAgentRuntime, type RivetAgentRuntimeOptions, } from './agent-coordinator.js';
2
+ export { createAsyncRegistryOps, type RivetRegistryOps } from './registry-ops-async.js';
3
+ export { createRivetRunStore } from './run-store-composite.js';
4
+ export { createRivetWorkflowRuntime, type RivetWorkflowActorContext, type RivetWorkflowRuntime, type RivetWorkflowRuntimeOptions, } from './workflow-coordinator.js';
5
+ export { createRivetAsyncSqlDb, type RivetRawDb } from './rivet-db.js';
6
+ export { createAsyncAttachmentStore, createAsyncConversationStreamStore, createAsyncEventStreamStore, createAsyncRunStore, createAsyncSqlStores, createAsyncSubmissionStore, ensureAsyncSqlSchema, } from './stores/index.js';
7
+ export type { AsyncSqlDb, AsyncSqlRow, AsyncSqlRunner, AsyncSqlValue } from './stores/index.js';
8
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,GAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EACN,0BAA0B,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,GAChC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EACN,0BAA0B,EAC1B,kCAAkC,EAClC,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { createRivetAgentRuntime, } from './agent-coordinator.js';
2
+ export { createAsyncRegistryOps } from './registry-ops-async.js';
3
+ export { createRivetRunStore } from './run-store-composite.js';
4
+ export { createRivetWorkflowRuntime, } from './workflow-coordinator.js';
5
+ export { createRivetAsyncSqlDb } from './rivet-db.js';
6
+ export { createAsyncAttachmentStore, createAsyncConversationStreamStore, createAsyncEventStreamStore, createAsyncRunStore, createAsyncSqlStores, createAsyncSubmissionStore, ensureAsyncSqlSchema, } from './stores/index.js';
7
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,GAIvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAyB,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EACN,0BAA0B,GAI1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAmB,MAAM,eAAe,CAAC;AACvE,OAAO,EACN,0BAA0B,EAC1B,kCAAkC,EAClC,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,GACpB,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,10 @@
1
+ export type AsyncSqlValue = string | number | boolean | null;
2
+ export type AsyncSqlRow = Record<string, unknown>;
3
+ export interface AsyncSqlRunner {
4
+ query(text: string, params?: readonly AsyncSqlValue[]): Promise<AsyncSqlRow[]>;
5
+ }
6
+ export interface AsyncSqlDb extends AsyncSqlRunner {
7
+ transaction<T>(fn: (tx: AsyncSqlRunner) => Promise<T>): Promise<T>;
8
+ }
9
+ export declare function queryOne(runner: AsyncSqlRunner, text: string, params?: readonly AsyncSqlValue[]): Promise<AsyncSqlRow | undefined>;
10
+ //# sourceMappingURL=async-db.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-db.d.ts","sourceRoot":"","sources":["../../src/stores/async-db.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAC7D,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAElD,MAAM,WAAW,cAAc;IAC9B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,aAAa,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CAC/E;AAED,MAAM,WAAW,UAAW,SAAQ,cAAc;IACjD,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACnE;AAED,wBAAsB,QAAQ,CAC7B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,SAAS,aAAa,EAAE,GAC/B,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAGlC"}
@@ -0,0 +1,5 @@
1
+ export async function queryOne(runner, text, params) {
2
+ const rows = await runner.query(text, params);
3
+ return rows[0];
4
+ }
5
+ //# sourceMappingURL=async-db.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-db.js","sourceRoot":"","sources":["../../src/stores/async-db.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC7B,MAAsB,EACtB,IAAY,EACZ,MAAiC;IAEjC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { AttachmentStore } from '@flue/runtime/adapter-kit';
2
+ import type { AsyncSqlDb } from './async-db.js';
3
+ export declare function createAsyncAttachmentStore(db: AsyncSqlDb): AttachmentStore;
4
+ //# sourceMappingURL=attachment-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment-store.d.ts","sourceRoot":"","sources":["../../src/stores/attachment-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,eAAe,EAGf,MAAM,2BAA2B,CAAC;AAOnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,UAAU,GAAG,eAAe,CAE1E"}
@@ -0,0 +1,59 @@
1
+ import { AttachmentConflictError, attachmentBytesEqual, sameAttachmentRef, verifyAttachmentBytes, } from '@flue/runtime/adapter-kit';
2
+ export function createAsyncAttachmentStore(db) {
3
+ return new AsyncAttachmentStore(db);
4
+ }
5
+ class AsyncAttachmentStore {
6
+ db;
7
+ constructor(db) {
8
+ this.db = db;
9
+ }
10
+ async put(input) {
11
+ await verifyAttachmentBytes(input.attachment, input.bytes);
12
+ const data = Buffer.from(input.bytes).toString('base64');
13
+ await this.db.transaction(async (tx) => {
14
+ await tx.query(`INSERT OR IGNORE INTO flue_attachments
15
+ (stream_path, attachment_id, conversation_id, mime_type, filename, size, digest, data)
16
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)`, [input.streamPath, input.attachment.id, input.conversationId, input.attachment.mimeType,
17
+ input.attachment.filename ?? null, input.attachment.size, input.attachment.digest, data]);
18
+ const rows = await tx.query(`SELECT conversation_id, mime_type, filename, size, digest, data FROM flue_attachments
19
+ WHERE stream_path = ? AND attachment_id = ? LIMIT 1`, [input.streamPath, input.attachment.id]);
20
+ const row = rows[0];
21
+ if (!row)
22
+ throw new Error('[flue] Attachment admission did not create a row.');
23
+ const existing = rowToStored(input.attachment.id, row);
24
+ if (String(row.conversation_id) !== input.conversationId ||
25
+ !sameAttachmentRef(existing.attachment, input.attachment) ||
26
+ !attachmentBytesEqual(existing.bytes, input.bytes)) {
27
+ throw new AttachmentConflictError({
28
+ path: input.streamPath,
29
+ attachmentId: input.attachment.id,
30
+ });
31
+ }
32
+ });
33
+ }
34
+ async get(input) {
35
+ const rows = await this.db.query(`SELECT conversation_id, mime_type, filename, size, digest, data FROM flue_attachments
36
+ WHERE stream_path = ? AND attachment_id = ? LIMIT 1`, [input.streamPath, input.attachmentId]);
37
+ if (!rows[0] || String(rows[0].conversation_id) !== input.conversationId)
38
+ return null;
39
+ const stored = rowToStored(input.attachmentId, rows[0]);
40
+ await verifyAttachmentBytes(stored.attachment, stored.bytes);
41
+ return stored;
42
+ }
43
+ async deleteForInstance(streamPath) {
44
+ await this.db.query(`DELETE FROM flue_attachments WHERE stream_path = ?`, [streamPath]);
45
+ }
46
+ }
47
+ function rowToStored(id, row) {
48
+ return {
49
+ attachment: {
50
+ id,
51
+ mimeType: String(row.mime_type),
52
+ size: Number(row.size),
53
+ digest: String(row.digest),
54
+ ...(typeof row.filename === 'string' ? { filename: row.filename } : {}),
55
+ },
56
+ bytes: Uint8Array.from(Buffer.from(String(row.data), 'base64')),
57
+ };
58
+ }
59
+ //# sourceMappingURL=attachment-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment-store.js","sourceRoot":"","sources":["../../src/stores/attachment-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export declare const FLUE_SCHEMA_VERSION = 2;
2
+ export declare const DURABILITY_DEFAULT_MAX_ATTEMPTS = 10;
3
+ export declare const DURABILITY_DEFAULT_TIMEOUT_MS = 3600000;
4
+ export declare const LEASE_DURATION_MS = 30000;
5
+ export declare const SUBMISSION_HARNESS_NAME = "default";
6
+ export declare const SUBMISSION_SESSION_NAME = "default";
7
+ export declare const DEFAULT_LIST_LIMIT = 100;
8
+ export declare const MAX_LIST_LIMIT = 1000;
9
+ export declare const DEFAULT_READ_LIMIT = 100;
10
+ export declare const MAX_READ_LIMIT = 1000;
11
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/stores/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAClD,eAAO,MAAM,6BAA6B,UAAY,CAAC;AACvD,eAAO,MAAM,iBAAiB,QAAS,CAAC;AAExC,eAAO,MAAM,uBAAuB,YAAY,CAAC;AACjD,eAAO,MAAM,uBAAuB,YAAY,CAAC;AAEjD,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,cAAc,OAAO,CAAC;AACnC,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,cAAc,OAAO,CAAC"}
@@ -0,0 +1,11 @@
1
+ export const FLUE_SCHEMA_VERSION = 2;
2
+ export const DURABILITY_DEFAULT_MAX_ATTEMPTS = 10;
3
+ export const DURABILITY_DEFAULT_TIMEOUT_MS = 3_600_000;
4
+ export const LEASE_DURATION_MS = 30_000;
5
+ export const SUBMISSION_HARNESS_NAME = 'default';
6
+ export const SUBMISSION_SESSION_NAME = 'default';
7
+ export const DEFAULT_LIST_LIMIT = 100;
8
+ export const MAX_LIST_LIMIT = 1000;
9
+ export const DEFAULT_READ_LIMIT = 100;
10
+ export const MAX_READ_LIMIT = 1000;
11
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/stores/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AACrC,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAClD,MAAM,CAAC,MAAM,6BAA6B,GAAG,SAAS,CAAC;AACvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAExC,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAC;AACjD,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAC;AAEjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AACtC,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AACnC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AACtC,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type ConversationStreamStore } from '@flue/runtime/adapter-kit';
2
+ import type { AsyncSqlDb } from './async-db.js';
3
+ export declare function createAsyncConversationStreamStore(db: AsyncSqlDb): ConversationStreamStore;
4
+ //# sourceMappingURL=conversation-stream-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-stream-store.d.ts","sourceRoot":"","sources":["../../src/stores/conversation-stream-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,uBAAuB,EAG5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,eAAe,CAAC;AAE/D,wBAAgB,kCAAkC,CAAC,EAAE,EAAE,UAAU,GAAG,uBAAuB,CAe1F"}
@@ -0,0 +1,16 @@
1
+ import { defineSqlConversationStreamStore, } from '@flue/runtime/adapter-kit';
2
+ export function createAsyncConversationStreamStore(db) {
3
+ const dialect = {
4
+ placeholder: () => '?',
5
+ lockClause: '',
6
+ insertIgnorePrefix: 'INSERT OR IGNORE',
7
+ insertIgnoreSuffix: '',
8
+ supportsReturning: true,
9
+ query: (sql, params) => db.query(sql, params),
10
+ transaction: (fn) => db.transaction((tx) => fn({
11
+ query: (sql, params) => tx.query(sql, params),
12
+ })),
13
+ };
14
+ return defineSqlConversationStreamStore(dialect);
15
+ }
16
+ //# sourceMappingURL=conversation-stream-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-stream-store.js","sourceRoot":"","sources":["../../src/stores/conversation-stream-store.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,gCAAgC,GAIhC,MAAM,2BAA2B,CAAC;AAGnC,MAAM,UAAU,kCAAkC,CAAC,EAAc;IAChE,MAAM,OAAO,GAA2B;QACvC,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG;QACtB,UAAU,EAAE,EAAE;QACd,kBAAkB,EAAE,kBAAkB;QACtC,kBAAkB,EAAE,EAAE;QACtB,iBAAiB,EAAE,IAAI;QACvB,KAAK,EAAE,CAAC,GAAW,EAAE,MAA0B,EAAE,EAAE,CAClD,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,MAAkC,CAAC;QAClD,WAAW,EAAE,CAAI,EAAgD,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;YAC/F,KAAK,EAAE,CAAC,GAAW,EAAE,MAA0B,EAAE,EAAE,CAClD,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,MAAkC,CAAC;SAClD,CAAC,CAAC;KACH,CAAC;IACF,OAAO,gCAAgC,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { EventStreamStore } from '@flue/runtime/adapter-kit';
2
+ import type { AsyncSqlDb } from './async-db.js';
3
+ export declare function createAsyncEventStreamStore(db: AsyncSqlDb): EventStreamStore;
4
+ export declare function formatOffset(seq: number): string;
5
+ export declare function parseOffset(offset: string): number;
6
+ //# sourceMappingURL=event-stream-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-stream-store.d.ts","sourceRoot":"","sources":["../../src/stores/event-stream-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGX,gBAAgB,EAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,eAAe,CAAC;AAOhE,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,UAAU,GAAG,gBAAgB,CAE5E;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGhD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMlD"}
@@ -0,0 +1,171 @@
1
+ import { DEFAULT_READ_LIMIT, MAX_READ_LIMIT } from './constants.js';
2
+ import { clampLimit } from './helpers.js';
3
+ const COMPONENT_PAD = 16;
4
+ const ZERO_COMPONENT = '0'.repeat(COMPONENT_PAD);
5
+ export function createAsyncEventStreamStore(db) {
6
+ return new AsyncEventStreamStore(db);
7
+ }
8
+ export function formatOffset(seq) {
9
+ if (seq === -1)
10
+ return '-1';
11
+ return `${ZERO_COMPONENT}_${String(seq).padStart(COMPONENT_PAD, '0')}`;
12
+ }
13
+ export function parseOffset(offset) {
14
+ if (offset === '-1')
15
+ return -1;
16
+ const match = /^\d+_(\d+)$/.exec(offset);
17
+ const sequence = match?.[1];
18
+ if (!sequence)
19
+ throw new Error(`[flue] Invalid stream offset: "${offset}".`);
20
+ return parseInt(sequence, 10);
21
+ }
22
+ class AsyncEventStreamStore {
23
+ listeners = new Map();
24
+ pendingAppends = new Map();
25
+ db;
26
+ constructor(db) {
27
+ this.db = db;
28
+ }
29
+ async createStream(path) {
30
+ await this.db.query(`INSERT OR IGNORE INTO flue_event_streams (path) VALUES (?)`, [path]);
31
+ }
32
+ async appendEvent(path, event) {
33
+ const previous = this.pendingAppends.get(path) ?? Promise.resolve();
34
+ const append = previous.then(async () => {
35
+ const data = JSON.stringify(event);
36
+ const seq = await this.db.transaction(async (tx) => {
37
+ const updated = await tx.query(`UPDATE flue_event_streams
38
+ SET next_offset = next_offset + 1
39
+ WHERE path = ? AND closed = 0
40
+ RETURNING next_offset`, [path]);
41
+ if (updated.length === 0) {
42
+ const meta = await getStreamMetaFromRunner(tx, path);
43
+ if (!meta)
44
+ throw new Error(`[flue] Event stream "${path}" does not exist.`);
45
+ throw new Error(`[flue] Event stream "${path}" is closed.`);
46
+ }
47
+ const offset = Number(updated[0]?.next_offset) - 1;
48
+ await tx.query(`INSERT INTO flue_event_stream_entries (path, seq, data) VALUES (?, ?, ?)`, [path, offset, data]);
49
+ return offset;
50
+ });
51
+ this.notifyListeners(path);
52
+ return formatOffset(seq);
53
+ });
54
+ const settled = append.then(() => undefined, () => undefined);
55
+ this.pendingAppends.set(path, settled);
56
+ try {
57
+ return await append;
58
+ }
59
+ finally {
60
+ if (this.pendingAppends.get(path) === settled) {
61
+ this.pendingAppends.delete(path);
62
+ }
63
+ }
64
+ }
65
+ async appendEventOnce(path, key, event) {
66
+ const data = JSON.stringify(event);
67
+ const result = await this.db.transaction(async (tx) => {
68
+ const existing = await tx.query(`SELECT seq, data FROM flue_event_stream_keys WHERE path = ? AND key = ? LIMIT 1`, [path, key]);
69
+ if (existing[0]) {
70
+ if (existing[0].data !== data) {
71
+ throw new Error(`[flue] Event key "${key}" already has a conflicting payload.`);
72
+ }
73
+ return { offset: Number(existing[0].seq), appended: false };
74
+ }
75
+ const updated = await tx.query(`UPDATE flue_event_streams SET next_offset = next_offset + 1
76
+ WHERE path = ? AND closed = 0 RETURNING next_offset`, [path]);
77
+ if (!updated[0]) {
78
+ const meta = await getStreamMetaFromRunner(tx, path);
79
+ if (!meta)
80
+ throw new Error(`[flue] Event stream "${path}" does not exist.`);
81
+ throw new Error(`[flue] Event stream "${path}" is closed.`);
82
+ }
83
+ const offset = Number(updated[0].next_offset) - 1;
84
+ await tx.query(`INSERT INTO flue_event_stream_entries (path, seq, data) VALUES (?, ?, ?)`, [path, offset, data]);
85
+ await tx.query(`INSERT INTO flue_event_stream_keys (path, key, seq, data) VALUES (?, ?, ?, ?)`, [path, key, offset, data]);
86
+ return { offset, appended: true };
87
+ });
88
+ if (result.appended)
89
+ this.notifyListeners(path);
90
+ return formatOffset(result.offset);
91
+ }
92
+ async readEvents(path, opts) {
93
+ const meta = await this.getStreamMeta(path);
94
+ if (!meta)
95
+ return { events: [], nextOffset: formatOffset(-1), upToDate: true, closed: false };
96
+ const rawOffset = opts?.offset ?? '-1';
97
+ const limit = clampLimit(opts?.limit, DEFAULT_READ_LIMIT, MAX_READ_LIMIT);
98
+ let startAfter;
99
+ if (rawOffset === '-1') {
100
+ startAfter = -1;
101
+ }
102
+ else if (rawOffset === 'now') {
103
+ return { events: [], nextOffset: meta.nextOffset, upToDate: true, closed: meta.closed };
104
+ }
105
+ else {
106
+ startAfter = parseOffset(rawOffset);
107
+ }
108
+ const rows = await this.db.query(`SELECT seq, data FROM flue_event_stream_entries
109
+ WHERE path = ? AND seq > ?
110
+ ORDER BY seq ASC
111
+ LIMIT ?`, [path, startAfter, limit + 1]);
112
+ const page = rows.slice(0, limit);
113
+ const events = page.map((row) => ({
114
+ data: JSON.parse(String(row.data)),
115
+ offset: formatOffset(Number(row.seq)),
116
+ }));
117
+ const lastSeq = page.length > 0 ? Number(page.at(-1)?.seq) : -1;
118
+ return {
119
+ events,
120
+ nextOffset: events.length > 0 ? formatOffset(lastSeq) : formatOffset(startAfter),
121
+ upToDate: rows.length <= limit,
122
+ closed: meta.closed,
123
+ };
124
+ }
125
+ async closeStream(path) {
126
+ await this.db.query(`UPDATE flue_event_streams SET closed = 1 WHERE path = ?`, [path]);
127
+ this.notifyListeners(path);
128
+ }
129
+ async getStreamMeta(path) {
130
+ return getStreamMetaFromRunner(this.db, path);
131
+ }
132
+ subscribe(path, listener) {
133
+ let bucket = this.listeners.get(path);
134
+ if (!bucket) {
135
+ bucket = new Set();
136
+ this.listeners.set(path, bucket);
137
+ }
138
+ bucket.add(listener);
139
+ const listeners = bucket;
140
+ return () => {
141
+ listeners.delete(listener);
142
+ if (listeners.size === 0)
143
+ this.listeners.delete(path);
144
+ };
145
+ }
146
+ notifyListeners(path) {
147
+ const bucket = this.listeners.get(path);
148
+ if (!bucket)
149
+ return;
150
+ for (const listener of [...bucket]) {
151
+ try {
152
+ listener();
153
+ }
154
+ catch {
155
+ // Listener failures are intentionally isolated from writes.
156
+ }
157
+ }
158
+ }
159
+ }
160
+ async function getStreamMetaFromRunner(runner, path) {
161
+ const rows = await runner.query(`SELECT next_offset, closed FROM flue_event_streams WHERE path = ? LIMIT 1`, [path]);
162
+ const row = rows[0];
163
+ if (!row)
164
+ return null;
165
+ const writeHead = Number(row.next_offset);
166
+ return {
167
+ nextOffset: formatOffset(writeHead - 1),
168
+ closed: Boolean(row.closed),
169
+ };
170
+ }
171
+ //# sourceMappingURL=event-stream-store.js.map