@yieldstar/sqlite-runtime 0.5.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.
Files changed (56) hide show
  1. package/dist/bun.d.ts +13 -0
  2. package/dist/bun.d.ts.map +1 -0
  3. package/dist/bun.js +43 -0
  4. package/dist/dao/step-response-dao.d.ts +19 -0
  5. package/dist/dao/step-response-dao.d.ts.map +1 -0
  6. package/dist/dao/task-queue-dao.d.ts +21 -0
  7. package/dist/dao/task-queue-dao.d.ts.map +1 -0
  8. package/dist/dao/timers-dao.d.ts +22 -0
  9. package/dist/dao/timers-dao.d.ts.map +1 -0
  10. package/dist/index-4vq70w0r.js +796 -0
  11. package/dist/index-h7bm9xg4.js +26 -0
  12. package/dist/index-s8wqgfwt.js +19 -0
  13. package/dist/index-x891hxwg.js +796 -0
  14. package/dist/index.d.ts +9 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +16 -0
  17. package/dist/node-driver.d.ts +10 -0
  18. package/dist/node-driver.d.ts.map +1 -0
  19. package/dist/node.d.ts +13 -0
  20. package/dist/node.d.ts.map +1 -0
  21. package/dist/node.js +49 -0
  22. package/dist/sqlite-db.d.ts +29 -0
  23. package/dist/sqlite-db.d.ts.map +1 -0
  24. package/dist/sqlite-driver.d.ts +21 -0
  25. package/dist/sqlite-driver.d.ts.map +1 -0
  26. package/dist/sqlite-event-loop.d.ts +18 -0
  27. package/dist/sqlite-event-loop.d.ts.map +1 -0
  28. package/dist/sqlite-heap.d.ts +26 -0
  29. package/dist/sqlite-heap.d.ts.map +1 -0
  30. package/dist/sqlite-scheduler.d.ts +13 -0
  31. package/dist/sqlite-scheduler.d.ts.map +1 -0
  32. package/dist/sqlite-store.d.ts +54 -0
  33. package/dist/sqlite-store.d.ts.map +1 -0
  34. package/dist/sqlite-store.test.d.ts +2 -0
  35. package/dist/sqlite-store.test.d.ts.map +1 -0
  36. package/dist/sqlite-task-queue.d.ts +26 -0
  37. package/dist/sqlite-task-queue.d.ts.map +1 -0
  38. package/dist/sqlite-timers.d.ts +18 -0
  39. package/dist/sqlite-timers.d.ts.map +1 -0
  40. package/package.json +43 -0
  41. package/src/bun.ts +32 -0
  42. package/src/dao/step-response-dao.ts +80 -0
  43. package/src/dao/task-queue-dao.ts +79 -0
  44. package/src/dao/timers-dao.ts +81 -0
  45. package/src/index.ts +14 -0
  46. package/src/node.ts +47 -0
  47. package/src/sqlite-db.ts +70 -0
  48. package/src/sqlite-driver.ts +30 -0
  49. package/src/sqlite-event-loop.ts +41 -0
  50. package/src/sqlite-heap.ts +54 -0
  51. package/src/sqlite-scheduler.ts +24 -0
  52. package/src/sqlite-store.ts +755 -0
  53. package/src/sqlite-task-queue.ts +64 -0
  54. package/src/sqlite-timers.ts +40 -0
  55. package/tsconfig.json +9 -0
  56. package/tsconfig.tsbuildinfo +1 -0
package/dist/bun.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ import { Database } from "bun:sqlite";
2
+ import { type SqliteDbOpts } from "./sqlite-db";
3
+ import type { SqliteDriver, SqliteStatement } from "./sqlite-driver";
4
+ export * from "./index";
5
+ export declare class BunSqliteDriver implements SqliteDriver {
6
+ private readonly database;
7
+ constructor(database: Database);
8
+ run(sql: string): void;
9
+ query<Row>(sql: string): SqliteStatement<Row>;
10
+ close(): void;
11
+ }
12
+ export declare function createSqliteDb(opts?: SqliteDbOpts): BunSqliteDriver;
13
+ //# sourceMappingURL=bun.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bun.d.ts","sourceRoot":"","sources":["../src/bun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAErE,cAAc,SAAS,CAAC;AAExB,qBAAa,eAAgB,YAAW,YAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,QAAQ;IAE/C,GAAG,CAAC,GAAG,EAAE,MAAM;IAIf,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC;IAI7C,KAAK;CAGN;AAED,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE,YAAY,mBAKjD"}
package/dist/bun.js ADDED
@@ -0,0 +1,43 @@
1
+ import {
2
+ createSqliteDriver,
3
+ wrapSqliteStatement
4
+ } from "./index-h7bm9xg4.js";
5
+ import {
6
+ SqliteEventLoop,
7
+ SqliteHeapClient,
8
+ SqliteSchedulerClient,
9
+ SqliteStoreClient,
10
+ SqliteTaskQueueClient,
11
+ SqliteTimersClient
12
+ } from "./index-4vq70w0r.js";
13
+
14
+ // src/bun.ts
15
+ import { Database } from "bun:sqlite";
16
+ class BunSqliteDriver {
17
+ database;
18
+ constructor(database) {
19
+ this.database = database;
20
+ }
21
+ run(sql) {
22
+ this.database.run(sql);
23
+ }
24
+ query(sql) {
25
+ return wrapSqliteStatement(this.database.query(sql));
26
+ }
27
+ close() {
28
+ this.database.close();
29
+ }
30
+ }
31
+ function createSqliteDb(opts) {
32
+ return createSqliteDriver((path) => new BunSqliteDriver(new Database(path, { create: true })), opts);
33
+ }
34
+ export {
35
+ createSqliteDb,
36
+ SqliteTimersClient,
37
+ SqliteTaskQueueClient,
38
+ SqliteStoreClient,
39
+ SqliteSchedulerClient,
40
+ SqliteHeapClient,
41
+ SqliteEventLoop,
42
+ BunSqliteDriver
43
+ };
@@ -0,0 +1,19 @@
1
+ import type { SqliteDriver } from "../sqlite-driver";
2
+ declare class StepReponseRow {
3
+ execution_id: string;
4
+ step_key: string;
5
+ step_attempt: number;
6
+ step_done: 0 | 1;
7
+ step_response: string;
8
+ }
9
+ export declare class StepResponsesDao {
10
+ private db;
11
+ constructor(db: SqliteDriver);
12
+ setupDb(): void;
13
+ getAllSteps(): unknown[];
14
+ deleteAll(): void;
15
+ getLatestStepResponse(executionId: string, stepKey: string): StepReponseRow | undefined;
16
+ insertStepResponse(executionId: string, stepKey: string, stepAttempt: number, stepDone: boolean, stepResponseJson: string): void;
17
+ }
18
+ export {};
19
+ //# sourceMappingURL=step-response-dao.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-response-dao.d.ts","sourceRoot":"","sources":["../../src/dao/step-response-dao.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,cAAM,cAAc;IAClB,YAAY,EAAG,MAAM,CAAC;IACtB,QAAQ,EAAG,MAAM,CAAC;IAClB,YAAY,EAAG,MAAM,CAAC;IACtB,SAAS,EAAG,CAAC,GAAG,CAAC,CAAC;IAClB,aAAa,EAAG,MAAM,CAAC;CACxB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,EAAE,CAAe;gBAEb,EAAE,EAAE,YAAY;IAK5B,OAAO;IAeP,WAAW;IAKX,SAAS;IAKT,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAgB1D,kBAAkB,CAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,OAAO,EACjB,gBAAgB,EAAE,MAAM;CAe3B"}
@@ -0,0 +1,21 @@
1
+ import type { WorkflowEvent } from "@yieldstar/core";
2
+ import type { SqliteDriver } from "../sqlite-driver";
3
+ declare class TaskRow {
4
+ task_id: number;
5
+ workflow_id: string;
6
+ execution_id: string;
7
+ params?: string;
8
+ context?: string;
9
+ }
10
+ export declare class TaskQueueDao {
11
+ private db;
12
+ constructor(db: SqliteDriver);
13
+ setupDb(): void;
14
+ insertTask(event: WorkflowEvent): void;
15
+ getNextTask(): TaskRow | undefined;
16
+ updateTaskVisibility(taskId: number, visibleFrom: number): void;
17
+ deleteTaskById(id: number): void;
18
+ getTaskCount(): number;
19
+ }
20
+ export {};
21
+ //# sourceMappingURL=task-queue-dao.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-queue-dao.d.ts","sourceRoot":"","sources":["../../src/dao/task-queue-dao.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,cAAM,OAAO;IACX,OAAO,EAAG,MAAM,CAAC;IACjB,WAAW,EAAG,MAAM,CAAC;IACrB,YAAY,EAAG,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD,qBAAa,YAAY;IACvB,OAAO,CAAC,EAAE,CAAe;gBAEb,EAAE,EAAE,YAAY;IAI5B,OAAO;IAaP,UAAU,CAAC,KAAK,EAAE,aAAa;IAgB/B,WAAW;IAOX,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAOxD,cAAc,CAAC,EAAE,EAAE,MAAM;IAOzB,YAAY;CAMb"}
@@ -0,0 +1,22 @@
1
+ import type { WorkflowEvent } from "@yieldstar/core";
2
+ import type { SqliteDriver } from "../sqlite-driver";
3
+ declare class TimerRow {
4
+ id: string;
5
+ delay: number;
6
+ workflow_id: string;
7
+ execution_id: string;
8
+ created_at: number;
9
+ params?: string;
10
+ context?: string;
11
+ }
12
+ export declare class TimersDao {
13
+ private db;
14
+ constructor(db: SqliteDriver);
15
+ private setupDb;
16
+ getExpiredTimers(): TimerRow[];
17
+ getTaskCount(): number;
18
+ insertTimer(event: WorkflowEvent, delay: number): void;
19
+ deleteTimerById(id: string): void;
20
+ }
21
+ export {};
22
+ //# sourceMappingURL=timers-dao.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timers-dao.d.ts","sourceRoot":"","sources":["../../src/dao/timers-dao.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,cAAM,QAAQ;IACZ,EAAE,EAAG,MAAM,CAAC;IACZ,KAAK,EAAG,MAAM,CAAC;IACf,WAAW,EAAG,MAAM,CAAC;IACrB,YAAY,EAAG,MAAM,CAAC;IACtB,UAAU,EAAG,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD,qBAAa,SAAS;IACpB,OAAO,CAAC,EAAE,CAAe;gBAEb,EAAE,EAAE,YAAY;IAK5B,OAAO,CAAC,OAAO;IAcf,gBAAgB,IAAI,QAAQ,EAAE;IAU9B,YAAY;IAWZ,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM;IAgB/C,eAAe,CAAC,EAAE,EAAE,MAAM;CAI3B"}