@workglow/postgres 0.2.31 → 0.2.32

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 (30) hide show
  1. package/README.md +33 -0
  2. package/dist/job-queue/PostgresQueueStorage.d.ts +12 -19
  3. package/dist/job-queue/PostgresQueueStorage.d.ts.map +1 -1
  4. package/dist/job-queue/PostgresRateLimiterStorage.d.ts +9 -19
  5. package/dist/job-queue/PostgresRateLimiterStorage.d.ts.map +1 -1
  6. package/dist/job-queue/browser.js +331 -165
  7. package/dist/job-queue/browser.js.map +8 -5
  8. package/dist/job-queue/common.d.ts +3 -0
  9. package/dist/job-queue/common.d.ts.map +1 -1
  10. package/dist/job-queue/node.js +331 -165
  11. package/dist/job-queue/node.js.map +8 -5
  12. package/dist/migrations/PostgresMigrationRunner.d.ts +31 -0
  13. package/dist/migrations/PostgresMigrationRunner.d.ts.map +1 -0
  14. package/dist/migrations/common.d.ts +9 -0
  15. package/dist/migrations/common.d.ts.map +1 -0
  16. package/dist/migrations/postgresQueueMigrations.d.ts +18 -0
  17. package/dist/migrations/postgresQueueMigrations.d.ts.map +1 -0
  18. package/dist/migrations/postgresRateLimiterMigrations.d.ts +11 -0
  19. package/dist/migrations/postgresRateLimiterMigrations.d.ts.map +1 -0
  20. package/dist/storage/PostgresTabularStorage.d.ts +175 -10
  21. package/dist/storage/PostgresTabularStorage.d.ts.map +1 -1
  22. package/dist/storage/PostgresVectorStorage.d.ts +52 -2
  23. package/dist/storage/PostgresVectorStorage.d.ts.map +1 -1
  24. package/dist/storage/browser.js +454 -75
  25. package/dist/storage/browser.js.map +4 -4
  26. package/dist/storage/common.d.ts +1 -0
  27. package/dist/storage/common.d.ts.map +1 -1
  28. package/dist/storage/node.js +564 -75
  29. package/dist/storage/node.js.map +6 -5
  30. package/package.json +7 -7
package/README.md ADDED
@@ -0,0 +1,33 @@
1
+ # @workglow/postgres
2
+
3
+ Postgres backends for @workglow/storage and @workglow/job-queue.
4
+
5
+ ## Features
6
+
7
+ - Postgres implementation of `@workglow/storage` interfaces
8
+ - Postgres implementation of `@workglow/job-queue` interfaces
9
+ - Persistent storage for tasks, vectors, and queues
10
+
11
+ ## Installation
12
+
13
+ ```bash
14
+ npm install @workglow/postgres
15
+ # or
16
+ bun add @workglow/postgres
17
+ # or
18
+ yarn add @workglow/postgres
19
+ ```
20
+
21
+ ## Usage
22
+
23
+ ```typescript
24
+ import { PostgresTabularStorage } from "@workglow/postgres/storage";
25
+ import { PostgresQueueStorage } from "@workglow/postgres/job-queue";
26
+
27
+ const storage = new PostgresTabularStorage(connectionConfig);
28
+ const queue = new PostgresQueueStorage(connectionConfig);
29
+ ```
30
+
31
+ ## License
32
+
33
+ Apache 2.0 - See [LICENSE](../../LICENSE) for details.
@@ -22,29 +22,22 @@ export declare class PostgresQueueStorage<Input, Output> implements IQueueStorag
22
22
  /** The table name for the job queue */
23
23
  protected readonly tableName: string;
24
24
  constructor(db: Pool, queueName: string, options?: QueueStorageOptions);
25
+ /** WHERE-clause helper specialized for this instance's dialect + prefix values. */
26
+ private buildPrefixWhereClause;
27
+ /** Returns prefix values in column order. */
28
+ private getPrefixParamValues;
25
29
  /**
26
- * Gets the SQL column type for a prefix column
27
- */
28
- private getPrefixColumnType;
29
- /**
30
- * Builds the prefix columns SQL for CREATE TABLE
31
- */
32
- private buildPrefixColumnsSql;
33
- /**
34
- * Builds prefix column names for use in queries
35
- */
36
- private getPrefixColumnNames;
37
- /**
38
- * Builds WHERE clause conditions for prefix filtering
39
- * @param startParam - The starting parameter number for parameterized queries
40
- * @returns Object with conditions string and parameter values
30
+ * Returns the versioned migrations that this storage's table layout depends
31
+ * on. Callers can compose them with other storages' migrations under a
32
+ * shared {@link PostgresMigrationRunner}; otherwise call {@link migrate}.
41
33
  */
42
- private buildPrefixWhereClause;
34
+ getMigrations(): import("@workglow/storage").IMigration<Pool>[];
43
35
  /**
44
- * Gets prefix values as an array in column order
36
+ * Applies any pending migrations for this queue's table. Idempotent —
37
+ * already-applied versions are recorded in `_storage_migrations` and
38
+ * skipped on subsequent calls.
45
39
  */
46
- private getPrefixParamValues;
47
- setupDatabase(): Promise<void>;
40
+ migrate(): Promise<void>;
48
41
  /**
49
42
  * Channel name for this storage's LISTEN/NOTIFY. Mirrors the trigger's
50
43
  * computation so subscriber and notifier agree.
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresQueueStorage.d.ts","sourceRoot":"","sources":["../../src/job-queue/PostgresQueueStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgresQueueStorage.d.ts","sourceRoot":"","sources":["../../src/job-queue/PostgresQueueStorage.ts"],"names":[],"mappings":"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"}
@@ -23,28 +23,18 @@ export declare class PostgresRateLimiterStorage implements IRateLimiterStorage {
23
23
  /** The table name for next available times */
24
24
  protected readonly nextAvailableTableName: string;
25
25
  constructor(db: Pool, options?: RateLimiterStorageOptions);
26
- /**
27
- * Gets the SQL column type for a prefix column.
28
- */
29
- private getPrefixColumnType;
30
- /**
31
- * Builds the prefix columns SQL for CREATE TABLE.
32
- */
33
- private buildPrefixColumnsSql;
34
- /**
35
- * Builds prefix column names for use in queries.
36
- */
37
- private getPrefixColumnNames;
38
- /**
39
- * Builds WHERE clause conditions for prefix filtering.
40
- * @param startParam - The starting parameter number for parameterized queries
41
- */
26
+ /** WHERE-clause helper specialized for the Postgres dialect. */
42
27
  private buildPrefixWhereClause;
28
+ /** Returns prefix values in column order. */
29
+ private getPrefixParamValues;
43
30
  /**
44
- * Gets prefix values as an array in column order.
31
+ * Returns the versioned migrations that this storage's tables depend on.
32
+ * Callers can compose them with other storages' migrations under a shared
33
+ * {@link PostgresMigrationRunner}; otherwise call {@link migrate}.
45
34
  */
46
- private getPrefixParamValues;
47
- setupDatabase(): Promise<void>;
35
+ getMigrations(): import("@workglow/storage").IMigration<Pool>[];
36
+ /** Applies any pending migrations for this rate limiter's tables. */
37
+ migrate(): Promise<void>;
48
38
  tryReserveExecution(queueName: string, maxExecutions: number, windowMs: number): Promise<unknown | null>;
49
39
  releaseExecution(queueName: string, token: unknown): Promise<void>;
50
40
  recordExecution(queueName: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresRateLimiterStorage.d.ts","sourceRoot":"","sources":["../../src/job-queue/PostgresRateLimiterStorage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,6BAA6B,4DAEzC,CAAC;AAEF;;;GAGG;AACH,qBAAa,0BAA2B,YAAW,mBAAmB;IAYlE,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI;IAX7B,SAAgB,KAAK,EAAE,uBAAuB,CAAa;IAC3D,oCAAoC;IACpC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IACrD,sCAAsC;IACtC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;IAC3E,4CAA4C;IAC5C,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAC9C,8CAA8C;IAC9C,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAElD,YACqB,EAAE,EAAE,IAAI,EAC3B,OAAO,CAAC,EAAE,yBAAyB,EAcpC;IAED;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAY9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAIf,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA+B1C;IAEY,mBAAmB,CAC9B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAsIzB;IAEY,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAU9E;IAEY,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB7D;IAEY,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAa1F;IAEY,0BAA0B,CACrC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiB7B;IAEY,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAehF;IAEY,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB3F;IAEY,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWnD;CACF"}
1
+ {"version":3,"file":"PostgresRateLimiterStorage.d.ts","sourceRoot":"","sources":["../../src/job-queue/PostgresRateLimiterStorage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAW7B,eAAO,MAAM,6BAA6B,4DAEzC,CAAC;AAEF;;;GAGG;AACH,qBAAa,0BAA2B,YAAW,mBAAmB;IAYlE,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI;IAX7B,SAAgB,KAAK,EAAE,uBAAuB,CAAa;IAC3D,oCAAoC;IACpC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IACrD,sCAAsC;IACtC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;IAC3E,4CAA4C;IAC5C,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAC9C,8CAA8C;IAC9C,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAElD,YACqB,EAAE,EAAE,IAAI,EAC3B,OAAO,CAAC,EAAE,yBAAyB,EAgBpC;IAED,gEAAgE;IAChE,OAAO,CAAC,sBAAsB;IAI9B,6CAA6C;IAC7C,OAAO,CAAC,oBAAoB;IAI5B;;;;OAIG;IACI,aAAa,mDAMnB;IAED,qEAAqE;IACxD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpC;IAEY,mBAAmB,CAC9B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAsIzB;IAEY,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAU9E;IAEY,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB7D;IAEY,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAa1F;IAEY,0BAA0B,CACrC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiB7B;IAEY,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAehF;IAEY,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB3F;IAEY,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWnD;CACF"}