@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":"event-stream-store.js","sourceRoot":"","sources":["../../src/stores/event-stream-store.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEjD,MAAM,UAAU,2BAA2B,CAAC,EAAc;IACzD,OAAO,IAAI,qBAAqB,CAAC,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAW;IACvC,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO,GAAG,cAAc,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAc;IACzC,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,IAAI,CAAC,CAAC;IAC7E,OAAO,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,qBAAqB;IAClB,SAAS,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC/C,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;IAClD,EAAE,CAAa;IAEvB,YAAY,EAAc;QACzB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY;QAC9B,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,4DAA4D,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,KAAc;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;gBAClD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,KAAK,CAC7B;;;4BAGuB,EACvB,CAAC,IAAI,CAAC,CACN,CAAC;gBACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBACrD,IAAI,CAAC,IAAI;wBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,mBAAmB,CAAC,CAAC;oBAC5E,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,cAAc,CAAC,CAAC;gBAC7D,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;gBACnD,MAAM,EAAE,CAAC,KAAK,CACb,0EAA0E,EAC1E,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CACpB,CAAC;gBACF,OAAO,MAAM,CAAC;YACf,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAC1B,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CACf,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC;YACJ,OAAO,MAAM,MAAM,CAAC;QACrB,CAAC;gBAAS,CAAC;YACV,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;gBAC/C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;QACF,CAAC;IACF,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,GAAW,EAAE,KAAc;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACrD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,KAAK,CAC9B,iFAAiF,EACjF,CAAC,IAAI,EAAE,GAAG,CAAC,CACX,CAAC;YACF,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjB,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC/B,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,sCAAsC,CAAC,CAAC;gBACjF,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YAC7D,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,KAAK,CAC7B;yDACqD,EACrD,CAAC,IAAI,CAAC,CACN,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACrD,IAAI,CAAC,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,mBAAmB,CAAC,CAAC;gBAC5E,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,cAAc,CAAC,CAAC;YAC7D,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,EAAE,CAAC,KAAK,CACb,0EAA0E,EAC1E,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CACpB,CAAC;YACF,MAAM,EAAE,CAAC,KAAK,CACb,+EAA+E,EAC/E,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CACzB,CAAC;YACF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,QAAQ;YAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,UAAU,CACf,IAAY,EACZ,IAA0C;QAE1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAE9F,MAAM,SAAS,GAAG,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC;QACvC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC;QAC1E,IAAI,UAAkB,CAAC;QACvB,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACxB,UAAU,GAAG,CAAC,CAAC,CAAC;QACjB,CAAC;aAAM,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YAChC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACzF,CAAC;aAAM,CAAC;YACP,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAC/B;;;YAGS,EACT,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,GAAG,CAAC,CAAC,CAC7B,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACjC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAY;YAC7C,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACrC,CAAC,CAAC,CAAC;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO;YACN,MAAM;YACN,UAAU,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC;YAChF,QAAQ,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;YAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;SACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY;QAC7B,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,yDAAyD,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY;QAC/B,OAAO,uBAAuB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,QAAoB;QAC3C,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrB,MAAM,SAAS,GAAG,MAAM,CAAC;QACzB,OAAO,GAAG,EAAE;YACX,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3B,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC;gBAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,IAAY;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC;gBACJ,QAAQ,EAAE,CAAC;YACZ,CAAC;YAAC,MAAM,CAAC;gBACR,4DAA4D;YAC7D,CAAC;QACF,CAAC;IACF,CAAC;CACD;AAED,KAAK,UAAU,uBAAuB,CACrC,MAAsB,EACtB,IAAY;IAEZ,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC9B,2EAA2E,EAC3E,CAAC,IAAI,CAAC,CACN,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC1C,OAAO;QACN,UAAU,EAAE,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC;QACvC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;KAC3B,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function clampLimit(limit: number | undefined, defaultLimit: number, maxLimit: number): number;
2
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/stores/helpers.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CACzB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACd,MAAM,CAGR"}
@@ -0,0 +1,6 @@
1
+ export function clampLimit(limit, defaultLimit, maxLimit) {
2
+ if (!limit || !Number.isFinite(limit) || limit <= 0)
3
+ return defaultLimit;
4
+ return Math.min(limit, maxLimit);
5
+ }
6
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/stores/helpers.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CACzB,KAAyB,EACzB,YAAoB,EACpB,QAAgB;IAEhB,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,YAAY,CAAC;IACzE,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAClC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { PersistenceStores } from '@flue/runtime/adapter-kit';
2
+ import type { AsyncSqlDb } from './async-db.js';
3
+ export type { AsyncSqlDb, AsyncSqlRow, AsyncSqlRunner, AsyncSqlValue } from './async-db.js';
4
+ export { ensureAsyncSqlSchema } from './schema.js';
5
+ export { createAsyncAttachmentStore } from './attachment-store.js';
6
+ export { createAsyncConversationStreamStore } from './conversation-stream-store.js';
7
+ export { createAsyncEventStreamStore } from './event-stream-store.js';
8
+ export { createAsyncRunStore } from './run-store.js';
9
+ export { createAsyncSubmissionStore } from './submission-store.js';
10
+ export declare function createAsyncSqlStores(db: AsyncSqlDb): PersistenceStores;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stores/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAOhD,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,kCAAkC,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,UAAU,GAAG,iBAAiB,CAUtE"}
@@ -0,0 +1,23 @@
1
+ import { createAsyncAttachmentStore } from './attachment-store.js';
2
+ import { createAsyncConversationStreamStore } from './conversation-stream-store.js';
3
+ import { createAsyncEventStreamStore } from './event-stream-store.js';
4
+ import { createAsyncRunStore } from './run-store.js';
5
+ import { createAsyncSubmissionStore } from './submission-store.js';
6
+ export { ensureAsyncSqlSchema } from './schema.js';
7
+ export { createAsyncAttachmentStore } from './attachment-store.js';
8
+ export { createAsyncConversationStreamStore } from './conversation-stream-store.js';
9
+ export { createAsyncEventStreamStore } from './event-stream-store.js';
10
+ export { createAsyncRunStore } from './run-store.js';
11
+ export { createAsyncSubmissionStore } from './submission-store.js';
12
+ export function createAsyncSqlStores(db) {
13
+ return {
14
+ executionStore: {
15
+ submissions: createAsyncSubmissionStore(db),
16
+ },
17
+ runStore: createAsyncRunStore(db),
18
+ eventStreamStore: createAsyncEventStreamStore(db),
19
+ conversationStreamStore: createAsyncConversationStreamStore(db),
20
+ attachmentStore: createAsyncAttachmentStore(db),
21
+ };
22
+ }
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stores/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,kCAAkC,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAGnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,kCAAkC,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,UAAU,oBAAoB,CAAC,EAAc;IAClD,OAAO;QACN,cAAc,EAAE;YACf,WAAW,EAAE,0BAA0B,CAAC,EAAE,CAAC;SAC3C;QACD,QAAQ,EAAE,mBAAmB,CAAC,EAAE,CAAC;QACjC,gBAAgB,EAAE,2BAA2B,CAAC,EAAE,CAAC;QACjD,uBAAuB,EAAE,kCAAkC,CAAC,EAAE,CAAC;QAC/D,eAAe,EAAE,0BAA0B,CAAC,EAAE,CAAC;KAC/C,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { RunStore } from '@flue/runtime/adapter-kit';
2
+ import type { AsyncSqlDb } from './async-db.js';
3
+ export declare function createAsyncRunStore(db: AsyncSqlDb): RunStore;
4
+ //# sourceMappingURL=run-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-store.d.ts","sourceRoot":"","sources":["../../src/stores/run-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAQX,QAAQ,EAER,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,eAAe,CAAC;AAI7D,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,UAAU,GAAG,QAAQ,CAE5D"}
@@ -0,0 +1,117 @@
1
+ import { DEFAULT_LIST_LIMIT, MAX_LIST_LIMIT } from './constants.js';
2
+ import { clampLimit } from './helpers.js';
3
+ export function createAsyncRunStore(db) {
4
+ return new AsyncRunStore(db);
5
+ }
6
+ class AsyncRunStore {
7
+ db;
8
+ constructor(db) {
9
+ this.db = db;
10
+ }
11
+ async createRun(input) {
12
+ await this.db.query(`INSERT OR IGNORE INTO flue_runs
13
+ (run_id, workflow_name, status, started_at, payload, traceparent, tracestate,
14
+ ended_at, is_error, duration_ms, result, error)
15
+ VALUES (?, ?, 'active', ?, ?, ?, ?, NULL, NULL, NULL, NULL, NULL)`, [input.runId, input.workflowName, input.startedAt, serializeJson(input.input),
16
+ input.traceCarrier?.traceparent ?? null, input.traceCarrier?.tracestate ?? null]);
17
+ }
18
+ async endRun(input) {
19
+ await this.db.query(`UPDATE flue_runs
20
+ SET status = ?, ended_at = ?, is_error = ?, duration_ms = ?, result = ?, error = ?
21
+ WHERE run_id = ?`, [
22
+ input.isError ? 'errored' : 'completed',
23
+ input.endedAt,
24
+ input.isError ? 1 : 0,
25
+ input.durationMs,
26
+ serializeJson(input.result),
27
+ serializeJson(input.error),
28
+ input.runId,
29
+ ]);
30
+ }
31
+ async getRun(runId) {
32
+ const rows = await this.db.query('SELECT * FROM flue_runs WHERE run_id = ? LIMIT 1', [runId]);
33
+ const row = rows[0];
34
+ return row ? rowToRunRecord(row) : null;
35
+ }
36
+ async lookupRun(runId) {
37
+ const rows = await this.db.query(`SELECT run_id, workflow_name
38
+ FROM flue_runs WHERE run_id = ? LIMIT 1`, [runId]);
39
+ const row = rows[0];
40
+ return row ? { runId: String(row.run_id), workflowName: String(row.workflow_name) } : null;
41
+ }
42
+ async listRuns(opts = {}) {
43
+ const limit = clampLimit(opts.limit, DEFAULT_LIST_LIMIT, MAX_LIST_LIMIT);
44
+ const cursor = decodeRunCursor(opts.cursor);
45
+ const wheres = [];
46
+ const bindings = [];
47
+ if (opts.status) {
48
+ wheres.push('status = ?');
49
+ bindings.push(opts.status);
50
+ }
51
+ if (opts.workflowName) {
52
+ wheres.push('workflow_name = ?');
53
+ bindings.push(opts.workflowName);
54
+ }
55
+ if (cursor) {
56
+ wheres.push('(started_at < ? OR (started_at = ? AND run_id < ?))');
57
+ bindings.push(cursor.startedAt, cursor.startedAt, cursor.runId);
58
+ }
59
+ const where = wheres.length > 0 ? `WHERE ${wheres.join(' AND ')}` : '';
60
+ const rows = await this.db.query(`SELECT run_id, workflow_name, status, started_at, ended_at, duration_ms, is_error
61
+ FROM flue_runs ${where}
62
+ ORDER BY started_at DESC, run_id DESC
63
+ LIMIT ?`, [...bindings, limit + 1]);
64
+ const hasMore = rows.length > limit;
65
+ const page = (hasMore ? rows.slice(0, limit) : rows).map(rowToRunPointer);
66
+ const last = page.at(-1);
67
+ return { runs: page, nextCursor: hasMore && last ? encodeRunCursor(last) : undefined };
68
+ }
69
+ }
70
+ function serializeJson(value) {
71
+ return JSON.stringify(value) ?? null;
72
+ }
73
+ function rowToRunRecord(row) {
74
+ return {
75
+ runId: String(row.run_id),
76
+ workflowName: String(row.workflow_name),
77
+ status: String(row.status),
78
+ startedAt: String(row.started_at),
79
+ ...(typeof row.payload === 'string' ? { input: JSON.parse(row.payload) } : {}),
80
+ ...(typeof row.traceparent === 'string' ? { traceCarrier: {
81
+ traceparent: row.traceparent,
82
+ ...(typeof row.tracestate === 'string' ? { tracestate: row.tracestate } : {}),
83
+ } } : {}),
84
+ ...(typeof row.ended_at === 'string' ? { endedAt: row.ended_at } : {}),
85
+ ...(row.is_error === null || row.is_error === undefined ? {} : { isError: Boolean(row.is_error) }),
86
+ ...(row.duration_ms != null ? { durationMs: Number(row.duration_ms) } : {}),
87
+ ...(typeof row.result === 'string' ? { result: JSON.parse(row.result) } : {}),
88
+ ...(typeof row.error === 'string' ? { error: JSON.parse(row.error) } : {}),
89
+ };
90
+ }
91
+ function rowToRunPointer(row) {
92
+ return {
93
+ runId: String(row.run_id),
94
+ workflowName: String(row.workflow_name),
95
+ status: String(row.status),
96
+ startedAt: String(row.started_at),
97
+ ...(typeof row.ended_at === 'string' ? { endedAt: row.ended_at } : {}),
98
+ ...(row.duration_ms != null ? { durationMs: Number(row.duration_ms) } : {}),
99
+ ...(row.is_error === null || row.is_error === undefined ? {} : { isError: Boolean(row.is_error) }),
100
+ };
101
+ }
102
+ function encodeRunCursor(pointer) {
103
+ return Buffer.from(JSON.stringify({ s: pointer.startedAt, r: pointer.runId })).toString('base64url');
104
+ }
105
+ function decodeRunCursor(cursor) {
106
+ if (!cursor)
107
+ return undefined;
108
+ try {
109
+ const decoded = JSON.parse(Buffer.from(cursor, 'base64url').toString('utf8'));
110
+ if (typeof decoded.s === 'string' && typeof decoded.r === 'string') {
111
+ return { startedAt: decoded.s, runId: decoded.r };
112
+ }
113
+ }
114
+ catch { }
115
+ return undefined;
116
+ }
117
+ //# sourceMappingURL=run-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-store.js","sourceRoot":"","sources":["../../src/stores/run-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { AsyncSqlDb } from './async-db.js';
2
+ export declare function ensureAsyncSqlSchema(db: AsyncSqlDb): Promise<void>;
3
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/stores/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,eAAe,CAAC;AAMhE,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBxE"}
@@ -0,0 +1,228 @@
1
+ import { FLUE_SCHEMA_VERSION, DURABILITY_DEFAULT_MAX_ATTEMPTS } from './constants.js';
2
+ // Last synchronized with Flue commit e79d5712820af588094a4e67a3ceafc816770396:
3
+ // https://github.com/rivet-dev/flue/tree/e79d5712820af588094a4e67a3ceafc816770396/packages/runtime/src
4
+ // DDL sources: sql-agent-execution-store.ts, sql-run-store.ts, sql-attachment-store.ts,
5
+ // runtime/event-stream-store.ts, and runtime/conversation-stream-store.ts.
6
+ export async function ensureAsyncSqlSchema(db) {
7
+ await db.transaction(async (tx) => {
8
+ await tx.query(`
9
+ CREATE TABLE IF NOT EXISTS flue_meta (
10
+ key TEXT PRIMARY KEY,
11
+ value TEXT NOT NULL
12
+ )
13
+ `);
14
+ const versionRows = await tx.query(`SELECT value FROM flue_meta WHERE key = 'schema_version'`);
15
+ const storedVersion = versionRows[0]?.value;
16
+ if (storedVersion === undefined || storedVersion === null) {
17
+ await tx.query(`INSERT OR IGNORE INTO flue_meta (key, value) VALUES ('schema_version', ?)`, [
18
+ String(FLUE_SCHEMA_VERSION),
19
+ ]);
20
+ }
21
+ else if (String(storedVersion) !== String(FLUE_SCHEMA_VERSION)) {
22
+ throw new Error(`[flue] Persisted store schema version ${String(storedVersion)} is not supported by this adapter.`);
23
+ }
24
+ await ensureTables(tx);
25
+ });
26
+ }
27
+ async function ensureTables(tx) {
28
+ await tx.query(`
29
+ CREATE TABLE IF NOT EXISTS flue_sessions (
30
+ id TEXT PRIMARY KEY,
31
+ data TEXT NOT NULL
32
+ )
33
+ `);
34
+ await tx.query(`
35
+ CREATE TABLE IF NOT EXISTS flue_session_entries (
36
+ session_id TEXT NOT NULL,
37
+ entry_id TEXT NOT NULL,
38
+ position INTEGER NOT NULL,
39
+ data TEXT NOT NULL,
40
+ PRIMARY KEY (session_id, entry_id)
41
+ )
42
+ `);
43
+ await tx.query(`
44
+ CREATE INDEX IF NOT EXISTS flue_session_entries_session_position_idx
45
+ ON flue_session_entries (session_id, position ASC)
46
+ `);
47
+ await tx.query(`
48
+ CREATE TABLE IF NOT EXISTS flue_image_chunks (
49
+ owner_kind TEXT NOT NULL,
50
+ owner_id TEXT NOT NULL,
51
+ owner_part TEXT NOT NULL,
52
+ image_id TEXT NOT NULL,
53
+ chunk_index INTEGER NOT NULL,
54
+ chunk_count INTEGER NOT NULL,
55
+ data TEXT NOT NULL,
56
+ PRIMARY KEY (owner_kind, owner_id, owner_part, image_id, chunk_index)
57
+ )
58
+ `);
59
+ await tx.query(`
60
+ CREATE TABLE IF NOT EXISTS flue_agent_submissions (
61
+ sequence INTEGER PRIMARY KEY AUTOINCREMENT,
62
+ submission_id TEXT NOT NULL UNIQUE,
63
+ session_key TEXT NOT NULL,
64
+ kind TEXT NOT NULL,
65
+ payload TEXT NOT NULL,
66
+ status TEXT NOT NULL,
67
+ accepted_at INTEGER NOT NULL,
68
+ canonical_ready_at INTEGER,
69
+ attempt_id TEXT,
70
+ input_applied_at INTEGER,
71
+ recovery_requested_at INTEGER,
72
+ abort_requested_at INTEGER,
73
+ started_at INTEGER,
74
+ settled_at INTEGER,
75
+ error TEXT,
76
+ attempt_count INTEGER NOT NULL DEFAULT 0,
77
+ max_retry INTEGER NOT NULL DEFAULT ${DURABILITY_DEFAULT_MAX_ATTEMPTS},
78
+ timeout_at INTEGER NOT NULL DEFAULT 0,
79
+ owner_id TEXT,
80
+ lease_expires_at INTEGER NOT NULL DEFAULT 0,
81
+ settlement_record_id TEXT,
82
+ settlement_record TEXT
83
+ )
84
+ `);
85
+ await tx.query(`
86
+ CREATE INDEX IF NOT EXISTS flue_agent_submissions_status_sequence_idx
87
+ ON flue_agent_submissions (status, sequence ASC)
88
+ `);
89
+ await tx.query(`
90
+ CREATE INDEX IF NOT EXISTS flue_agent_submissions_session_status_sequence_idx
91
+ ON flue_agent_submissions (session_key, status, sequence ASC)
92
+ `);
93
+ await tx.query(`
94
+ CREATE TABLE IF NOT EXISTS flue_agent_turn_journals (
95
+ submission_id TEXT PRIMARY KEY,
96
+ session_key TEXT NOT NULL,
97
+ kind TEXT NOT NULL,
98
+ attempt_id TEXT NOT NULL,
99
+ operation_id TEXT NOT NULL,
100
+ turn_id TEXT NOT NULL,
101
+ phase TEXT NOT NULL,
102
+ revision INTEGER NOT NULL,
103
+ created_at INTEGER NOT NULL,
104
+ updated_at INTEGER NOT NULL,
105
+ checkpoint_leaf_id TEXT,
106
+ tool_request_json TEXT,
107
+ stream_key TEXT,
108
+ stream_consumed_at INTEGER,
109
+ committed INTEGER NOT NULL DEFAULT 0,
110
+ committed_leaf_id TEXT
111
+ )
112
+ `);
113
+ await tx.query(`
114
+ CREATE TABLE IF NOT EXISTS flue_agent_stream_chunks (
115
+ stream_key TEXT NOT NULL,
116
+ segment_index INTEGER NOT NULL,
117
+ body TEXT NOT NULL,
118
+ PRIMARY KEY (stream_key, segment_index)
119
+ )
120
+ `);
121
+ await tx.query(`
122
+ CREATE TABLE IF NOT EXISTS flue_agent_session_deletions (
123
+ session_key TEXT PRIMARY KEY,
124
+ started_at INTEGER NOT NULL
125
+ )
126
+ `);
127
+ await tx.query(`
128
+ CREATE TABLE IF NOT EXISTS flue_agent_dispatch_receipts (
129
+ dispatch_id TEXT PRIMARY KEY,
130
+ accepted_at INTEGER NOT NULL
131
+ )
132
+ `);
133
+ await tx.query(`
134
+ CREATE TABLE IF NOT EXISTS flue_agent_attempt_markers (
135
+ submission_id TEXT NOT NULL,
136
+ attempt_id TEXT NOT NULL,
137
+ created_at INTEGER NOT NULL,
138
+ PRIMARY KEY (submission_id, attempt_id)
139
+ )
140
+ `);
141
+ await tx.query(`
142
+ CREATE TABLE IF NOT EXISTS flue_runs (
143
+ run_id TEXT PRIMARY KEY,
144
+ workflow_name TEXT NOT NULL,
145
+ status TEXT NOT NULL,
146
+ started_at TEXT NOT NULL,
147
+ payload TEXT,
148
+ traceparent TEXT,
149
+ tracestate TEXT,
150
+ ended_at TEXT,
151
+ is_error INTEGER,
152
+ duration_ms INTEGER,
153
+ result TEXT,
154
+ error TEXT
155
+ )
156
+ `);
157
+ await tx.query(`
158
+ CREATE INDEX IF NOT EXISTS flue_runs_workflow_started_idx
159
+ ON flue_runs (workflow_name, started_at DESC)
160
+ `);
161
+ await tx.query(`
162
+ CREATE INDEX IF NOT EXISTS flue_runs_status_started_idx
163
+ ON flue_runs (status, started_at DESC, run_id DESC)
164
+ `);
165
+ await tx.query(`
166
+ CREATE TABLE IF NOT EXISTS flue_event_streams (
167
+ path TEXT PRIMARY KEY,
168
+ next_offset INTEGER NOT NULL DEFAULT 0,
169
+ closed INTEGER NOT NULL DEFAULT 0
170
+ )
171
+ `);
172
+ await tx.query(`
173
+ CREATE TABLE IF NOT EXISTS flue_event_stream_entries (
174
+ path TEXT NOT NULL,
175
+ seq INTEGER NOT NULL,
176
+ data TEXT NOT NULL,
177
+ PRIMARY KEY (path, seq)
178
+ )
179
+ `);
180
+ await tx.query(`
181
+ CREATE TABLE IF NOT EXISTS flue_event_stream_keys (
182
+ path TEXT NOT NULL,
183
+ key TEXT NOT NULL,
184
+ seq INTEGER NOT NULL,
185
+ data TEXT NOT NULL,
186
+ PRIMARY KEY (path, key)
187
+ )
188
+ `);
189
+ await tx.query(`
190
+ CREATE TABLE IF NOT EXISTS flue_conversation_streams (
191
+ path TEXT PRIMARY KEY,
192
+ identity_json TEXT NOT NULL,
193
+ producer_id TEXT,
194
+ producer_epoch INTEGER NOT NULL DEFAULT 0,
195
+ next_producer_sequence INTEGER NOT NULL DEFAULT 0,
196
+ next_offset INTEGER NOT NULL DEFAULT 0,
197
+ incarnation TEXT NOT NULL
198
+ )
199
+ `);
200
+ await tx.query(`
201
+ CREATE TABLE IF NOT EXISTS flue_conversation_stream_batches (
202
+ path TEXT NOT NULL,
203
+ seq INTEGER NOT NULL,
204
+ producer_id TEXT NOT NULL,
205
+ producer_epoch INTEGER NOT NULL,
206
+ producer_sequence INTEGER NOT NULL,
207
+ data TEXT NOT NULL,
208
+ submission_id TEXT,
209
+ attempt_id TEXT,
210
+ PRIMARY KEY (path, seq),
211
+ UNIQUE (path, producer_id, producer_epoch, producer_sequence)
212
+ )
213
+ `);
214
+ await tx.query(`
215
+ CREATE TABLE IF NOT EXISTS flue_attachments (
216
+ stream_path TEXT NOT NULL,
217
+ attachment_id TEXT NOT NULL,
218
+ conversation_id TEXT NOT NULL,
219
+ mime_type TEXT NOT NULL,
220
+ filename TEXT,
221
+ size INTEGER NOT NULL,
222
+ digest TEXT NOT NULL,
223
+ data TEXT NOT NULL,
224
+ PRIMARY KEY (stream_path, attachment_id)
225
+ )
226
+ `);
227
+ }
228
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/stores/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAC;AAGtF,+EAA+E;AAC/E,uGAAuG;AACvG,wFAAwF;AACxF,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EAAc;IACxD,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QACjC,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;GAKd,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC/F,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;QAC5C,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3D,MAAM,EAAE,CAAC,KAAK,CAAC,2EAA2E,EAAE;gBAC3F,MAAM,CAAC,mBAAmB,CAAC;aAC3B,CAAC,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CACd,yCAAyC,MAAM,CAAC,aAAa,CAAC,oCAAoC,CAClG,CAAC;QACH,CAAC;QAED,MAAM,YAAY,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,EAAkB;IAC7C,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;EAKd,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;;;;EAQd,CAAC,CAAC;IACH,MAAM,EAAE,CAAC,KAAK,CAAC;;;EAGd,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;;;;;;;EAWd,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;wCAkBwB,+BAA+B;;;;;;;EAOrE,CAAC,CAAC;IACH,MAAM,EAAE,CAAC,KAAK,CAAC;;;EAGd,CAAC,CAAC;IACH,MAAM,EAAE,CAAC,KAAK,CAAC;;;EAGd,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;EAmBd,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;;;EAOd,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;EAKd,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;EAKd,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;;;EAOd,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;EAed,CAAC,CAAC;IACH,MAAM,EAAE,CAAC,KAAK,CAAC;;;EAGd,CAAC,CAAC;IACH,MAAM,EAAE,CAAC,KAAK,CAAC;;;EAGd,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;;EAMd,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;;;EAOd,CAAC,CAAC;IACH,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;;;;EAQd,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;;;;;;EAUd,CAAC,CAAC;IACH,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;;;;;;;;;EAad,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;;;;;;;;EAYd,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { AgentSubmissionStore } from '@flue/runtime/adapter-kit';
2
+ import type { AsyncSqlDb } from './async-db.js';
3
+ export declare function createAsyncSubmissionStore(db: AsyncSqlDb): AgentSubmissionStore;
4
+ //# sourceMappingURL=submission-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submission-store.d.ts","sourceRoot":"","sources":["../../src/stores/submission-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKX,oBAAoB,EAMpB,MAAM,2BAA2B,CAAC;AAKnC,OAAO,KAAK,EAAE,UAAU,EAA+B,MAAM,eAAe,CAAC;AAqB7E,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,UAAU,GAAG,oBAAoB,CAE/E"}