batchwork 1.4.0 → 1.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 (61) hide show
  1. package/dist/body.d.ts +2 -2
  2. package/dist/body.d.ts.map +1 -1
  3. package/dist/chunk-6jgvqdpc.js +52 -0
  4. package/dist/chunk-6jgvqdpc.js.map +11 -0
  5. package/dist/{chunk-vy4w8mpb.js → chunk-7y95mhvm.js} +119 -151
  6. package/dist/chunk-7y95mhvm.js.map +27 -0
  7. package/dist/{chunk-ka9d4t6v.js → chunk-k7n7k3et.js} +66 -152
  8. package/dist/chunk-k7n7k3et.js.map +13 -0
  9. package/dist/{chunk-2ea62n95.js → chunk-zss8h417.js} +213 -200
  10. package/dist/chunk-zss8h417.js.map +12 -0
  11. package/dist/guards.d.ts +5 -0
  12. package/dist/guards.d.ts.map +1 -0
  13. package/dist/http.d.ts +3 -2
  14. package/dist/http.d.ts.map +1 -1
  15. package/dist/index.d.ts +1 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +27 -28
  18. package/dist/index.js.map +1 -1
  19. package/dist/jsonl.d.ts +3 -2
  20. package/dist/jsonl.d.ts.map +1 -1
  21. package/dist/limits.d.ts +0 -1
  22. package/dist/limits.d.ts.map +1 -1
  23. package/dist/model.d.ts +48 -1
  24. package/dist/model.d.ts.map +1 -1
  25. package/dist/next/index.d.ts +1 -1
  26. package/dist/next/index.d.ts.map +1 -1
  27. package/dist/next/index.js +14 -20
  28. package/dist/next/index.js.map +3 -3
  29. package/dist/postgres/batch-store.d.ts.map +1 -1
  30. package/dist/postgres/index.js +22 -15
  31. package/dist/postgres/index.js.map +4 -4
  32. package/dist/postgres/types.d.ts +1 -1
  33. package/dist/postgres/types.d.ts.map +1 -1
  34. package/dist/providers/anthropic.d.ts.map +1 -1
  35. package/dist/providers/azure.d.ts.map +1 -1
  36. package/dist/providers/google.d.ts.map +1 -1
  37. package/dist/providers/mistral.d.ts.map +1 -1
  38. package/dist/providers/openai-compatible.d.ts +2 -2
  39. package/dist/providers/openai-compatible.d.ts.map +1 -1
  40. package/dist/providers/shared.d.ts +8 -8
  41. package/dist/providers/shared.d.ts.map +1 -1
  42. package/dist/providers/xai.d.ts.map +1 -1
  43. package/dist/redis/index.js +40 -6
  44. package/dist/redis/index.js.map +4 -4
  45. package/dist/redis/types.d.ts +18 -5
  46. package/dist/redis/types.d.ts.map +1 -1
  47. package/dist/server/index.js +13 -14
  48. package/dist/server/index.js.map +1 -1
  49. package/dist/server/poller.d.ts +6 -4
  50. package/dist/server/poller.d.ts.map +1 -1
  51. package/dist/server/signing.d.ts.map +1 -1
  52. package/dist/types.d.ts +16 -2
  53. package/dist/types.d.ts.map +1 -1
  54. package/dist/util.d.ts +18 -7
  55. package/dist/util.d.ts.map +1 -1
  56. package/package.json +20 -17
  57. package/dist/chunk-2ea62n95.js.map +0 -12
  58. package/dist/chunk-ka9d4t6v.js.map +0 -13
  59. package/dist/chunk-v0bahtg2.js +0 -7
  60. package/dist/chunk-v0bahtg2.js.map +0 -9
  61. package/dist/chunk-vy4w8mpb.js.map +0 -28
@@ -1,5 +1,3 @@
1
- import"../chunk-v0bahtg2.js";
2
-
3
1
  // src/postgres/types.ts
4
2
  var DEFAULT_BATCH_TABLE = "batchwork_batches";
5
3
  var assertSafeTable = (table) => {
@@ -10,15 +8,24 @@ var assertSafeTable = (table) => {
10
8
  };
11
9
 
12
10
  // src/postgres/batch-store.ts
13
- var toBatch = (row) => ({
14
- createdAt: row.created_at,
15
- id: row.id,
16
- provider: row.provider,
17
- status: row.status,
18
- ...row.webhook_url === null ? {} : { webhookUrl: row.webhook_url },
19
- ...row.webhook_secret === null ? {} : { webhookSecret: row.webhook_secret },
20
- ...row.delivered_at === null ? {} : { deliveredAt: row.delivered_at }
21
- });
11
+ var toBatch = (row) => {
12
+ const batch = {
13
+ createdAt: row.created_at,
14
+ id: row.id,
15
+ provider: row.provider,
16
+ status: row.status
17
+ };
18
+ if (row.webhook_url !== null) {
19
+ batch.webhookUrl = row.webhook_url;
20
+ }
21
+ if (row.webhook_secret !== null) {
22
+ batch.webhookSecret = row.webhook_secret;
23
+ }
24
+ if (row.delivered_at !== null) {
25
+ batch.deliveredAt = row.delivered_at;
26
+ }
27
+ return batch;
28
+ };
22
29
  var batchTableDdl = (table = DEFAULT_BATCH_TABLE) => {
23
30
  const name = assertSafeTable(table);
24
31
  return `
@@ -91,11 +98,11 @@ var migratePostgres = async (client, options = {}) => {
91
98
  await runDdl(client, batchTableDdl(assertSafeTable(options.batchTable ?? DEFAULT_BATCH_TABLE)));
92
99
  };
93
100
  export {
94
- migratePostgres,
95
- createPostgresStore,
101
+ DEFAULT_BATCH_TABLE,
96
102
  batchTableDdl,
97
- DEFAULT_BATCH_TABLE
103
+ createPostgresStore,
104
+ migratePostgres
98
105
  };
99
106
 
100
- //# debugId=119F35EA4B39BF6464756E2164756E21
107
+ //# debugId=69AC794893605A6B64756E2164756E21
101
108
  //# sourceMappingURL=index.js.map
@@ -2,11 +2,11 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/postgres/types.ts", "../src/postgres/batch-store.ts", "../src/postgres/migrate.ts"],
4
4
  "sourcesContent": [
5
- "/**\n * The minimal slice of a Postgres client batchwork's adapters use: a\n * node-postgres-style `query(text, params)` returning `{ rows }`. This is\n * deliberately structural so you can pass a `pg.Pool`/`pg.Client`, a\n * `@neondatabase/serverless` client, or any thin wrapper that exposes `query` —\n * batchwork never imports a driver, so it adds no dependency of its own.\n */\nexport interface SqlExecutor {\n query: <Row = Record<string, unknown>>(\n text: string,\n params?: unknown[]\n ) => Promise<{ rows: Row[] }>;\n}\n\n/** Options for the Postgres-backed batch store. */\nexport interface PostgresStoreOptions {\n /** A `pg.Pool`-compatible client (anything with `query(text, params)`). */\n client: SqlExecutor;\n}\n\n/** Table name defaults to this; override for a custom schema. */\nexport const DEFAULT_BATCH_TABLE = \"batchwork_batches\";\n\n/**\n * Guard against SQL injection through a caller-supplied table name: identifiers\n * can't be parameterized, so they're interpolated directly and must be a plain\n * unquoted identifier (optionally schema-qualified).\n */\nexport const assertSafeTable = (table: string): string => {\n if (\n !/^[A-Za-z_][A-Za-z0-9_]*(?<schema>\\.[A-Za-z_][A-Za-z0-9_]*)?$/u.test(table)\n ) {\n throw new Error(\n `batchwork: unsafe Postgres table name ${JSON.stringify(table)}.`\n );\n }\n return table;\n};\n",
6
- "import type { BatchStore, TrackedBatch } from \"../server/types\";\nimport type { BatchProvider, BatchStatus } from \"../types\";\nimport { assertSafeTable, DEFAULT_BATCH_TABLE } from \"./types\";\nimport type { PostgresStoreOptions, SqlExecutor } from \"./types\";\n\n/** Options for {@link createPostgresStore}. */\nexport interface PostgresBatchStoreOptions extends PostgresStoreOptions {\n /** Table to store tracked batches in. Defaults to `batchwork_batches`. */\n table?: string;\n}\n\n/** The raw row shape returned by the tracked-batch table. */\ninterface BatchRow {\n id: string;\n provider: BatchProvider;\n webhook_url: string | null;\n webhook_secret: string | null;\n status: BatchStatus;\n created_at: string;\n delivered_at: string | null;\n}\n\nconst toBatch = (row: BatchRow): TrackedBatch => ({\n createdAt: row.created_at,\n id: row.id,\n provider: row.provider,\n status: row.status,\n // Re-add optional fields only when set, so the shape matches `createMemoryStore`\n // (and `list`'s `deliveredAt !== undefined` delivery filter stays correct).\n ...(row.webhook_url === null ? {} : { webhookUrl: row.webhook_url }),\n ...(row.webhook_secret === null ? {} : { webhookSecret: row.webhook_secret }),\n ...(row.delivered_at === null ? {} : { deliveredAt: row.delivered_at }),\n});\n\n/** `CREATE TABLE`/index DDL for the tracked-batch table (run by `migratePostgres`). */\nexport const batchTableDdl = (table = DEFAULT_BATCH_TABLE): string => {\n const name = assertSafeTable(table);\n return `\nCREATE TABLE IF NOT EXISTS ${name} (\n id text PRIMARY KEY,\n provider text NOT NULL,\n webhook_url text,\n webhook_secret text,\n status text NOT NULL,\n created_at text NOT NULL,\n delivered_at text\n);\nCREATE INDEX IF NOT EXISTS ${name}_undelivered_idx\n ON ${name} (created_at) WHERE delivered_at IS NULL;`;\n};\n\n/**\n * A Postgres-backed {@link BatchStore} for the poller. Run {@link migratePostgres}\n * (or {@link batchTableDdl}) once to create the table.\n *\n * @example\n * import { Pool } from \"pg\";\n * const store = createPostgresStore({ client: new Pool({ connectionString }) });\n */\nexport const createPostgresStore = (\n options: PostgresBatchStoreOptions\n): BatchStore => {\n const { client }: { client: SqlExecutor } = options;\n const table = assertSafeTable(options.table ?? DEFAULT_BATCH_TABLE);\n\n return {\n delete: async (id) => {\n await client.query(`DELETE FROM ${table} WHERE id = $1`, [id]);\n },\n get: async (id) => {\n const { rows } = await client.query<BatchRow>(\n `SELECT * FROM ${table} WHERE id = $1`,\n [id]\n );\n const [row] = rows;\n return row ? toBatch(row) : null;\n },\n list: async (filter) => {\n let text = `SELECT * FROM ${table}`;\n if (filter?.delivered === true) {\n text += \" WHERE delivered_at IS NOT NULL\";\n } else if (filter?.delivered === false) {\n text += \" WHERE delivered_at IS NULL\";\n }\n const { rows } = await client.query<BatchRow>(text);\n return rows.map(toBatch);\n },\n set: async (record) => {\n await client.query(\n `INSERT INTO ${table}\n (id, provider, webhook_url, webhook_secret, status, created_at, delivered_at)\n VALUES ($1, $2, $3, $4, $5, $6, $7)\n ON CONFLICT (id) DO UPDATE SET\n provider = EXCLUDED.provider,\n webhook_url = EXCLUDED.webhook_url,\n webhook_secret = EXCLUDED.webhook_secret,\n status = EXCLUDED.status,\n created_at = EXCLUDED.created_at,\n delivered_at = EXCLUDED.delivered_at`,\n [\n record.id,\n record.provider,\n record.webhookUrl ?? null,\n record.webhookSecret ?? null,\n record.status,\n record.createdAt,\n record.deliveredAt ?? null,\n ]\n );\n },\n };\n};\n",
5
+ "/**\n * The minimal slice of a Postgres client batchwork's adapters use: a\n * node-postgres-style `query(text, params)` returning `{ rows }`. This is\n * deliberately structural so you can pass a `pg.Pool`/`pg.Client`, a\n * `@neondatabase/serverless` client, or any thin wrapper that exposes `query` —\n * batchwork never imports a driver, so it adds no dependency of its own.\n */\nexport interface SqlExecutor {\n query: <Row>(text: string, params?: unknown[]) => Promise<{ rows: Row[] }>;\n}\n\n/** Options for the Postgres-backed batch store. */\nexport interface PostgresStoreOptions {\n /** A `pg.Pool`-compatible client (anything with `query(text, params)`). */\n client: SqlExecutor;\n}\n\n/** Table name defaults to this; override for a custom schema. */\nexport const DEFAULT_BATCH_TABLE = \"batchwork_batches\";\n\n/**\n * Guard against SQL injection through a caller-supplied table name: identifiers\n * can't be parameterized, so they're interpolated directly and must be a plain\n * unquoted identifier (optionally schema-qualified).\n */\nexport const assertSafeTable = (table: string): string => {\n if (\n !/^[A-Za-z_][A-Za-z0-9_]*(?<schema>\\.[A-Za-z_][A-Za-z0-9_]*)?$/u.test(table)\n ) {\n throw new Error(\n `batchwork: unsafe Postgres table name ${JSON.stringify(table)}.`\n );\n }\n return table;\n};\n",
6
+ "import type { BatchStore, TrackedBatch } from \"../server/types\";\nimport type { BatchProvider, BatchStatus } from \"../types\";\nimport { assertSafeTable, DEFAULT_BATCH_TABLE } from \"./types\";\nimport type { PostgresStoreOptions, SqlExecutor } from \"./types\";\n\n/** Options for {@link createPostgresStore}. */\nexport interface PostgresBatchStoreOptions extends PostgresStoreOptions {\n /** Table to store tracked batches in. Defaults to `batchwork_batches`. */\n table?: string;\n}\n\n/** The raw row shape returned by the tracked-batch table. */\ninterface BatchRow {\n id: string;\n provider: BatchProvider;\n webhook_url: string | null;\n webhook_secret: string | null;\n status: BatchStatus;\n created_at: string;\n delivered_at: string | null;\n}\n\nconst toBatch = (row: BatchRow): TrackedBatch => {\n const batch: TrackedBatch = {\n createdAt: row.created_at,\n id: row.id,\n provider: row.provider,\n status: row.status,\n };\n // Add optional fields only when set, so the record matches what\n // `createMemoryStore` holds (and `list`'s `deliveredAt !== undefined`\n // delivery filter stays correct).\n if (row.webhook_url !== null) {\n batch.webhookUrl = row.webhook_url;\n }\n if (row.webhook_secret !== null) {\n batch.webhookSecret = row.webhook_secret;\n }\n if (row.delivered_at !== null) {\n batch.deliveredAt = row.delivered_at;\n }\n return batch;\n};\n\n/** `CREATE TABLE`/index DDL for the tracked-batch table (run by `migratePostgres`). */\nexport const batchTableDdl = (table = DEFAULT_BATCH_TABLE): string => {\n const name = assertSafeTable(table);\n return `\nCREATE TABLE IF NOT EXISTS ${name} (\n id text PRIMARY KEY,\n provider text NOT NULL,\n webhook_url text,\n webhook_secret text,\n status text NOT NULL,\n created_at text NOT NULL,\n delivered_at text\n);\nCREATE INDEX IF NOT EXISTS ${name}_undelivered_idx\n ON ${name} (created_at) WHERE delivered_at IS NULL;`;\n};\n\n/**\n * A Postgres-backed {@link BatchStore} for the poller. Run {@link migratePostgres}\n * (or {@link batchTableDdl}) once to create the table.\n *\n * @example\n * import { Pool } from \"pg\";\n * const store = createPostgresStore({ client: new Pool({ connectionString }) });\n */\nexport const createPostgresStore = (\n options: PostgresBatchStoreOptions\n): BatchStore => {\n const { client }: { client: SqlExecutor } = options;\n const table = assertSafeTable(options.table ?? DEFAULT_BATCH_TABLE);\n\n return {\n delete: async (id) => {\n await client.query(`DELETE FROM ${table} WHERE id = $1`, [id]);\n },\n get: async (id) => {\n const { rows } = await client.query<BatchRow>(\n `SELECT * FROM ${table} WHERE id = $1`,\n [id]\n );\n const [row] = rows;\n return row ? toBatch(row) : null;\n },\n list: async (filter) => {\n let text = `SELECT * FROM ${table}`;\n if (filter?.delivered === true) {\n text += \" WHERE delivered_at IS NOT NULL\";\n } else if (filter?.delivered === false) {\n text += \" WHERE delivered_at IS NULL\";\n }\n const { rows } = await client.query<BatchRow>(text);\n return rows.map(toBatch);\n },\n set: async (record) => {\n await client.query(\n `INSERT INTO ${table}\n (id, provider, webhook_url, webhook_secret, status, created_at, delivered_at)\n VALUES ($1, $2, $3, $4, $5, $6, $7)\n ON CONFLICT (id) DO UPDATE SET\n provider = EXCLUDED.provider,\n webhook_url = EXCLUDED.webhook_url,\n webhook_secret = EXCLUDED.webhook_secret,\n status = EXCLUDED.status,\n created_at = EXCLUDED.created_at,\n delivered_at = EXCLUDED.delivered_at`,\n [\n record.id,\n record.provider,\n record.webhookUrl ?? null,\n record.webhookSecret ?? null,\n record.status,\n record.createdAt,\n record.deliveredAt ?? null,\n ]\n );\n },\n };\n};\n",
7
7
  "import { batchTableDdl } from \"./batch-store\";\nimport { assertSafeTable, DEFAULT_BATCH_TABLE } from \"./types\";\nimport type { SqlExecutor } from \"./types\";\n\n/** Options for {@link migratePostgres}. */\nexport interface MigrateOptions {\n /** Tracked-batch table name. Defaults to `batchwork_batches`. */\n batchTable?: string;\n}\n\n// Run a multi-statement DDL string one statement at a time: some drivers\n// (notably PGlite's extended protocol) reject multiple statements per query.\nconst runDdl = async (client: SqlExecutor, ddl: string): Promise<void> => {\n for (const statement of ddl.split(\";\")) {\n const trimmed = statement.trim();\n if (trimmed) {\n // oxlint-disable-next-line no-await-in-loop -- DDL must run in order.\n await client.query(trimmed);\n }\n }\n};\n\n/**\n * Create the table the batch store needs. Idempotent (`CREATE TABLE IF NOT\n * EXISTS`), so it's safe to run on every boot. Call once before using the store.\n *\n * @example\n * await migratePostgres(pool);\n */\nexport const migratePostgres = async (\n client: SqlExecutor,\n options: MigrateOptions = {}\n): Promise<void> => {\n await runDdl(\n client,\n batchTableDdl(assertSafeTable(options.batchTable ?? DEFAULT_BATCH_TABLE))\n );\n};\n"
8
8
  ],
9
- "mappings": ";;;AAqBO,IAAM,sBAAsB;AAO5B,IAAM,kBAAkB,CAAC,UAA0B;AAAA,EACxD,IACE,CAAC,gEAAgE,KAAK,KAAK,GAC3E;AAAA,IACA,MAAM,IAAI,MACR,yCAAyC,KAAK,UAAU,KAAK,IAC/D;AAAA,EACF;AAAA,EACA,OAAO;AAAA;;;ACdT,IAAM,UAAU,CAAC,SAAiC;AAAA,EAChD,WAAW,IAAI;AAAA,EACf,IAAI,IAAI;AAAA,EACR,UAAU,IAAI;AAAA,EACd,QAAQ,IAAI;AAAA,KAGR,IAAI,gBAAgB,OAAO,CAAC,IAAI,EAAE,YAAY,IAAI,YAAY;AAAA,KAC9D,IAAI,mBAAmB,OAAO,CAAC,IAAI,EAAE,eAAe,IAAI,eAAe;AAAA,KACvE,IAAI,iBAAiB,OAAO,CAAC,IAAI,EAAE,aAAa,IAAI,aAAa;AACvE;AAGO,IAAM,gBAAgB,CAAC,QAAQ,wBAAgC;AAAA,EACpE,MAAM,OAAO,gBAAgB,KAAK;AAAA,EAClC,OAAO;AAAA,6BACoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BASA;AAAA,OACtB;AAAA;AAWA,IAAM,sBAAsB,CACjC,YACe;AAAA,EACf,QAAQ,WAAoC;AAAA,EAC5C,MAAM,QAAQ,gBAAgB,QAAQ,SAAS,mBAAmB;AAAA,EAElE,OAAO;AAAA,IACL,QAAQ,OAAO,OAAO;AAAA,MACpB,MAAM,OAAO,MAAM,eAAe,uBAAuB,CAAC,EAAE,CAAC;AAAA;AAAA,IAE/D,KAAK,OAAO,OAAO;AAAA,MACjB,QAAQ,SAAS,MAAM,OAAO,MAC5B,iBAAiB,uBACjB,CAAC,EAAE,CACL;AAAA,MACA,OAAO,OAAO;AAAA,MACd,OAAO,MAAM,QAAQ,GAAG,IAAI;AAAA;AAAA,IAE9B,MAAM,OAAO,WAAW;AAAA,MACtB,IAAI,OAAO,iBAAiB;AAAA,MAC5B,IAAI,QAAQ,cAAc,MAAM;AAAA,QAC9B,QAAQ;AAAA,MACV,EAAO,SAAI,QAAQ,cAAc,OAAO;AAAA,QACtC,QAAQ;AAAA,MACV;AAAA,MACA,QAAQ,SAAS,MAAM,OAAO,MAAgB,IAAI;AAAA,MAClD,OAAO,KAAK,IAAI,OAAO;AAAA;AAAA,IAEzB,KAAK,OAAO,WAAW;AAAA,MACrB,MAAM,OAAO,MACX,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kDAUf;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO,cAAc;AAAA,QACrB,OAAO,iBAAiB;AAAA,QACxB,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO,eAAe;AAAA,MACxB,CACF;AAAA;AAAA,EAEJ;AAAA;;AClGF,IAAM,SAAS,OAAO,QAAqB,QAA+B;AAAA,EACxE,WAAW,aAAa,IAAI,MAAM,GAAG,GAAG;AAAA,IACtC,MAAM,UAAU,UAAU,KAAK;AAAA,IAC/B,IAAI,SAAS;AAAA,MAEX,MAAM,OAAO,MAAM,OAAO;AAAA,IAC5B;AAAA,EACF;AAAA;AAUK,IAAM,kBAAkB,OAC7B,QACA,UAA0B,CAAC,MACT;AAAA,EAClB,MAAM,OACJ,QACA,cAAc,gBAAgB,QAAQ,cAAc,mBAAmB,CAAC,CAC1E;AAAA;",
10
- "debugId": "119F35EA4B39BF6464756E2164756E21",
9
+ "mappings": ";AAkBO,IAAM,sBAAsB;AAO5B,IAAM,kBAAkB,CAAC,UAA0B;AAAA,EACxD,IACE,CAAC,gEAAgE,KAAK,KAAK,GAC3E;AAAA,IACA,MAAM,IAAI,MACR,yCAAyC,KAAK,UAAU,KAAK,IAC/D;AAAA,EACF;AAAA,EACA,OAAO;AAAA;;;ACXT,IAAM,UAAU,CAAC,QAAgC;AAAA,EAC/C,MAAM,QAAsB;AAAA,IAC1B,WAAW,IAAI;AAAA,IACf,IAAI,IAAI;AAAA,IACR,UAAU,IAAI;AAAA,IACd,QAAQ,IAAI;AAAA,EACd;AAAA,EAIA,IAAI,IAAI,gBAAgB,MAAM;AAAA,IAC5B,MAAM,aAAa,IAAI;AAAA,EACzB;AAAA,EACA,IAAI,IAAI,mBAAmB,MAAM;AAAA,IAC/B,MAAM,gBAAgB,IAAI;AAAA,EAC5B;AAAA,EACA,IAAI,IAAI,iBAAiB,MAAM;AAAA,IAC7B,MAAM,cAAc,IAAI;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA;AAIF,IAAM,gBAAgB,CAAC,QAAQ,wBAAgC;AAAA,EACpE,MAAM,OAAO,gBAAgB,KAAK;AAAA,EAClC,OAAO;AAAA,6BACoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BASA;AAAA,OACtB;AAAA;AAWA,IAAM,sBAAsB,CACjC,YACe;AAAA,EACf,QAAQ,WAAoC;AAAA,EAC5C,MAAM,QAAQ,gBAAgB,QAAQ,SAAS,mBAAmB;AAAA,EAElE,OAAO;AAAA,IACL,QAAQ,OAAO,OAAO;AAAA,MACpB,MAAM,OAAO,MAAM,eAAe,uBAAuB,CAAC,EAAE,CAAC;AAAA;AAAA,IAE/D,KAAK,OAAO,OAAO;AAAA,MACjB,QAAQ,SAAS,MAAM,OAAO,MAC5B,iBAAiB,uBACjB,CAAC,EAAE,CACL;AAAA,MACA,OAAO,OAAO;AAAA,MACd,OAAO,MAAM,QAAQ,GAAG,IAAI;AAAA;AAAA,IAE9B,MAAM,OAAO,WAAW;AAAA,MACtB,IAAI,OAAO,iBAAiB;AAAA,MAC5B,IAAI,QAAQ,cAAc,MAAM;AAAA,QAC9B,QAAQ;AAAA,MACV,EAAO,SAAI,QAAQ,cAAc,OAAO;AAAA,QACtC,QAAQ;AAAA,MACV;AAAA,MACA,QAAQ,SAAS,MAAM,OAAO,MAAgB,IAAI;AAAA,MAClD,OAAO,KAAK,IAAI,OAAO;AAAA;AAAA,IAEzB,KAAK,OAAO,WAAW;AAAA,MACrB,MAAM,OAAO,MACX,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kDAUf;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO,cAAc;AAAA,QACrB,OAAO,iBAAiB;AAAA,QACxB,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO,eAAe;AAAA,MACxB,CACF;AAAA;AAAA,EAEJ;AAAA;;AC5GF,IAAM,SAAS,OAAO,QAAqB,QAA+B;AAAA,EACxE,WAAW,aAAa,IAAI,MAAM,GAAG,GAAG;AAAA,IACtC,MAAM,UAAU,UAAU,KAAK;AAAA,IAC/B,IAAI,SAAS;AAAA,MAEX,MAAM,OAAO,MAAM,OAAO;AAAA,IAC5B;AAAA,EACF;AAAA;AAUK,IAAM,kBAAkB,OAC7B,QACA,UAA0B,CAAC,MACT;AAAA,EAClB,MAAM,OACJ,QACA,cAAc,gBAAgB,QAAQ,cAAc,mBAAmB,CAAC,CAC1E;AAAA;",
10
+ "debugId": "69AC794893605A6B64756E2164756E21",
11
11
  "names": []
12
12
  }
@@ -6,7 +6,7 @@
6
6
  * batchwork never imports a driver, so it adds no dependency of its own.
7
7
  */
8
8
  export interface SqlExecutor {
9
- query: <Row = Record<string, unknown>>(text: string, params?: unknown[]) => Promise<{
9
+ query: <Row>(text: string, params?: unknown[]) => Promise<{
10
10
  rows: Row[];
11
11
  }>;
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/postgres/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,OAAO,EAAE,KACf,OAAO,CAAC;QAAE,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC,CAAC;CAC/B;AAED,mDAAmD;AACnD,MAAM,WAAW,oBAAoB;IACnC,2EAA2E;IAC3E,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,iEAAiE;AACjE,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,eAAe,UAAW,MAAM,KAAG,MAS/C,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/postgres/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC,CAAC;CAC5E;AAED,mDAAmD;AACnD,MAAM,WAAW,oBAAoB;IACnC,2EAA2E;IAC3E,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,iEAAiE;AACjE,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,eAAe,UAAW,MAAM,KAAG,MAS/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,WAAW,CAAC;AAiO3D,eAAO,MAAM,gBAAgB,EAAE,YAM9B,CAAC"}
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,WAAW,CAAC;AAqO3D,eAAO,MAAM,gBAAgB,EAAE,YAM9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"azure.d.ts","sourceRoot":"","sources":["../../src/providers/azure.ts"],"names":[],"mappings":"AAiEA;;;;;GAKG;AACH,eAAO,MAAM,YAAY,kCAavB,CAAC"}
1
+ {"version":3,"file":"azure.d.ts","sourceRoot":"","sources":["../../src/providers/azure.ts"],"names":[],"mappings":"AA6DA;;;;;GAKG;AACH,eAAO,MAAM,YAAY,kCAavB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../src/providers/google.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,WAAW,CAAC;AAgT3D;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,YAM3B,CAAC"}
1
+ {"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../src/providers/google.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,WAAW,CAAC;AAsT3D;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,YAM3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mistral.d.ts","sourceRoot":"","sources":["../../src/providers/mistral.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,WAAW,CAAC;AAuJ3D;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,YAM5B,CAAC"}
1
+ {"version":3,"file":"mistral.d.ts","sourceRoot":"","sources":["../../src/providers/mistral.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,WAAW,CAAC;AAqJ3D;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,YAM5B,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * referencing the file, poll a `status` field, then download output/error files
5
5
  * — differing only in base URL, credentials, and minor request-line shape.
6
6
  */
7
- import type { BatchProvider, ProviderCredentials } from "../types";
7
+ import type { BatchProvider, JsonObject, ProviderCredentials } from "../types";
8
8
  import type { BatchAdapter } from "./adapter";
9
9
  export type BatchLineFormat = "body-only" | "method-url";
10
10
  export interface OpenAICompatibleConfig {
@@ -45,7 +45,7 @@ export interface OpenAICompatibleConfig {
45
45
  * Extra fields merged into each `body-only` line for a given endpoint
46
46
  * (e.g. Together audio lines require `method: "FILE"`).
47
47
  */
48
- lineExtras?: (endpoint: string) => Record<string, unknown> | undefined;
48
+ lineExtras?: (endpoint: string) => JsonObject | undefined;
49
49
  /**
50
50
  * Map the captured endpoint path to the value the provider expects in the
51
51
  * batch `url`/`endpoint` field (e.g. Groq serves under `/openai/v1` but its
@@ -1 +1 @@
1
- {"version":3,"file":"openai-compatible.d.ts","sourceRoot":"","sources":["../../src/providers/openai-compatible.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EACV,aAAa,EAIb,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,WAAW,CAAC;AAK3D,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,YAAY,CAAC;AAEzD,MAAM,WAAW,sBAAsB;IACrC,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,mBAAmB,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3E;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,mBAAmB,KAAK,MAAM,CAAC;IAE9D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE,aAAa,CAAC;IAClB;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACvE;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;CAC9C;AAgDD,eAAO,MAAM,6BAA6B,WAChC,sBAAsB,KAC7B,YAmIF,CAAC"}
1
+ {"version":3,"file":"openai-compatible.d.ts","sourceRoot":"","sources":["../../src/providers/openai-compatible.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EACV,aAAa,EAKb,UAAU,EAEV,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,WAAW,CAAC;AAK3D,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,YAAY,CAAC;AAEzD,MAAM,WAAW,sBAAsB;IACrC,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,mBAAmB,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3E;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,mBAAmB,KAAK,MAAM,CAAC;IAE9D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE,aAAa,CAAC;IAClB;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,UAAU,GAAG,SAAS,CAAC;IAC1D;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;CAC9C;AAgDD,eAAO,MAAM,6BAA6B,WAChC,sBAAsB,KAC7B,YAiIF,CAAC"}
@@ -4,25 +4,25 @@
4
4
  * JSONL keyed by `custom_id`, and shape each result line like OpenAI's
5
5
  * (`{ custom_id, response: { status_code, body }, error }`).
6
6
  */
7
- import type { BatchImage, BatchModeration, BatchResult, BatchTranscriptionSegment, BatchUsage, ProviderCredentials } from "../types";
7
+ import type { BatchImage, BatchModeration, BatchResult, BatchTranscriptionSegment, BatchUsage, JsonValue, ProviderCredentials } from "../types";
8
8
  /** Resolve an API key from credentials or the provider's env var, or throw. */
9
9
  export declare const resolveApiKey: (credentials: ProviderCredentials, envVar: string, label: string) => string;
10
- export declare const textFromBody: (body: unknown) => string | undefined;
10
+ export declare const textFromBody: (body: JsonValue | undefined) => string | undefined;
11
11
  /**
12
12
  * Read timestamped segments from a transcription-shaped response body
13
13
  * (`{ text, segments: [{ text, start, end }] }`, Groq `verbose_json` and
14
14
  * Mistral alike). Returns undefined when the body carries no segments, so
15
15
  * chat/embedding/image results are unaffected.
16
16
  */
17
- export declare const segmentsFromBody: (body: unknown) => BatchTranscriptionSegment[] | undefined;
17
+ export declare const segmentsFromBody: (body: JsonValue | undefined) => BatchTranscriptionSegment[] | undefined;
18
18
  /** Read the embedding vector from an OpenAI-shaped embeddings response body. */
19
- export declare const embeddingFromBody: (body: unknown) => number[] | undefined;
19
+ export declare const embeddingFromBody: (body: JsonValue | undefined) => number[] | undefined;
20
20
  /**
21
21
  * Read base64 images from an OpenAI-shaped images response body
22
22
  * (`{ data: [{ b64_json }], output_format? }`). Returns undefined when the body
23
23
  * carries no image data, so chat/embedding results are unaffected.
24
24
  */
25
- export declare const imagesFromBody: (body: unknown) => BatchImage[] | undefined;
25
+ export declare const imagesFromBody: (body: JsonValue | undefined) => BatchImage[] | undefined;
26
26
  /**
27
27
  * Read the verdict from a moderation-shaped response body
28
28
  * (`{ results: [{ flagged?, categories, category_scores }] }`, OpenAI and
@@ -30,10 +30,10 @@ export declare const imagesFromBody: (body: unknown) => BatchImage[] | undefined
30
30
  * category flagged". Returns undefined when the body carries no categories, so
31
31
  * other result shapes are unaffected.
32
32
  */
33
- export declare const moderationFromBody: (body: unknown) => BatchModeration | undefined;
34
- export declare const usageFromBody: (body: unknown) => BatchUsage | undefined;
33
+ export declare const moderationFromBody: (body: JsonValue | undefined) => BatchModeration | undefined;
34
+ export declare const usageFromBody: (body: JsonValue | undefined) => BatchUsage | undefined;
35
35
  /** Normalize an OpenAI-shaped result line into a {@link BatchResult}. */
36
- export declare const normalizeOpenAIResult: (line: unknown) => BatchResult;
36
+ export declare const normalizeOpenAIResult: (line: JsonValue) => BatchResult;
37
37
  export declare const uploadInputFile: (jsonl: string, baseUrl: string, headers: Record<string, string>, options?: {
38
38
  purpose?: string | null;
39
39
  }) => Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/providers/shared.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,WAAW,EAEX,yBAAyB,EACzB,UAAU,EACV,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAMlB,+EAA+E;AAC/E,eAAO,MAAM,aAAa,gBACX,mBAAmB,UACxB,MAAM,SACP,MAAM,KACZ,MAQF,CAAC;AAEF,eAAO,MAAM,YAAY,SAAU,OAAO,KAAG,MAAM,GAAG,SAuCrD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,SACrB,OAAO,KACZ,yBAAyB,EAAE,GAAG,SAkBhC,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,iBAAiB,SAAU,OAAO,KAAG,MAAM,EAAE,GAAG,SAM5D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,SAAU,OAAO,KAAG,UAAU,EAAE,GAAG,SAW7D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,SACvB,OAAO,KACZ,eAAe,GAAG,SA2BpB,CAAC;AAEF,eAAO,MAAM,aAAa,SAAU,OAAO,KAAG,UAAU,GAAG,SAmB1D,CAAC;AAaF,yEAAyE;AACzE,eAAO,MAAM,qBAAqB,SAAU,OAAO,KAAG,WAsCrD,CAAC;AAGF,eAAO,MAAM,eAAe,UACnB,MAAM,WACJ,MAAM,WACN,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,YACtB;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,KACnC,OAAO,CAAC,MAAM,CAkBhB,CAAC;AAEF;;;;GAIG;AAEH,wBAAuB,gBAAgB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,cAAc,CAAC,WAAW,CAAC,CAQ7B"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/providers/shared.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,WAAW,EAEX,yBAAyB,EACzB,UAAU,EACV,SAAS,EACT,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAMlB,+EAA+E;AAC/E,eAAO,MAAM,aAAa,gBACX,mBAAmB,UACxB,MAAM,SACP,MAAM,KACZ,MAQF,CAAC;AAEF,eAAO,MAAM,YAAY,SACjB,SAAS,GAAG,SAAS,KAC1B,MAAM,GAAG,SAuCX,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,SACrB,SAAS,GAAG,SAAS,KAC1B,yBAAyB,EAAE,GAAG,SAkBhC,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,iBAAiB,SACtB,SAAS,GAAG,SAAS,KAC1B,MAAM,EAAE,GAAG,SAMb,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,SACnB,SAAS,GAAG,SAAS,KAC1B,UAAU,EAAE,GAAG,SAWjB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,SACvB,SAAS,GAAG,SAAS,KAC1B,eAAe,GAAG,SA0BpB,CAAC;AAEF,eAAO,MAAM,aAAa,SAClB,SAAS,GAAG,SAAS,KAC1B,UAAU,GAAG,SAmBf,CAAC;AAgBF,yEAAyE;AACzE,eAAO,MAAM,qBAAqB,SAAU,SAAS,KAAG,WAsCvD,CAAC;AAGF,eAAO,MAAM,eAAe,UACnB,MAAM,WACJ,MAAM,WACN,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,YACtB;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,KACnC,OAAO,CAAC,MAAM,CAwBhB,CAAC;AAEF;;;;GAIG;AAEH,wBAAuB,gBAAgB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,cAAc,CAAC,WAAW,CAAC,CAQ7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"xai.d.ts","sourceRoot":"","sources":["../../src/providers/xai.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,WAAW,CAAC;AAsP3D;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,YAMxB,CAAC"}
1
+ {"version":3,"file":"xai.d.ts","sourceRoot":"","sources":["../../src/providers/xai.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,WAAW,CAAC;AAyP3D;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,YAMxB,CAAC"}
@@ -1,12 +1,46 @@
1
- import"../chunk-v0bahtg2.js";
1
+ import {
2
+ isString,
3
+ isJsonObject,
4
+ parseJson,
5
+ asString
6
+ } from "../chunk-6jgvqdpc.js";
2
7
 
3
8
  // src/redis/types.ts
4
9
  var DEFAULT_PREFIX = "batchwork";
10
+ var toTrackedBatch = (record) => {
11
+ const id = asString(record.id);
12
+ const provider = asString(record.provider);
13
+ const status = asString(record.status);
14
+ const createdAt = asString(record.createdAt);
15
+ if (!(id && provider && status && createdAt)) {
16
+ return null;
17
+ }
18
+ const batch = {
19
+ createdAt,
20
+ id,
21
+ provider,
22
+ status
23
+ };
24
+ const webhookUrl = asString(record.webhookUrl);
25
+ if (webhookUrl !== undefined) {
26
+ batch.webhookUrl = webhookUrl;
27
+ }
28
+ const webhookSecret = asString(record.webhookSecret);
29
+ if (webhookSecret !== undefined) {
30
+ batch.webhookSecret = webhookSecret;
31
+ }
32
+ const deliveredAt = asString(record.deliveredAt);
33
+ if (deliveredAt !== undefined) {
34
+ batch.deliveredAt = deliveredAt;
35
+ }
36
+ return batch;
37
+ };
5
38
  var coerce = (value) => {
6
- if (value === null || value === undefined) {
39
+ if (value === null) {
7
40
  return null;
8
41
  }
9
- return typeof value === "string" ? JSON.parse(value) : value;
42
+ const record = isString(value) ? parseJson(value) : value;
43
+ return isJsonObject(record) ? toTrackedBatch(record) : null;
10
44
  };
11
45
 
12
46
  // src/redis/batch-store.ts
@@ -47,9 +81,9 @@ var createRedisStore = (options) => {
47
81
  };
48
82
  };
49
83
  export {
50
- createRedisStore,
51
- DEFAULT_PREFIX
84
+ DEFAULT_PREFIX,
85
+ createRedisStore
52
86
  };
53
87
 
54
- //# debugId=80E91990D446837F64756E2164756E21
88
+ //# debugId=C5D0A172F208A58264756E2164756E21
55
89
  //# sourceMappingURL=index.js.map
@@ -2,10 +2,10 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/redis/types.ts", "../src/redis/batch-store.ts"],
4
4
  "sourcesContent": [
5
- "import type { Redis } from \"@upstash/redis\";\n\n/** The Upstash Redis client batchwork's adapters drive. */\nexport type RedisClient = Redis;\n\n/** Options for the Redis-backed batch store. */\nexport interface RedisStoreOptions {\n /** A connected `@upstash/redis` client. */\n redis: Redis;\n /** Key namespace, so one Redis can back many apps. Defaults to `batchwork`. */\n prefix?: string;\n}\n\nexport const DEFAULT_PREFIX = \"batchwork\";\n\n/**\n * Read a stored value back into a record. `@upstash/redis` may or may not\n * auto-deserialize depending on the client's config, and values returned from\n * Lua (`eval`) are always raw strings — so tolerate both an object and a JSON\n * string, and treat a missing key as `null`.\n */\nexport const coerce = <T>(value: unknown): T | null => {\n if (value === null || value === undefined) {\n return null;\n }\n return (typeof value === \"string\" ? JSON.parse(value) : value) as T;\n};\n",
6
- "import type { BatchStore, TrackedBatch } from \"../server/types\";\nimport { coerce, DEFAULT_PREFIX } from \"./types\";\nimport type { RedisStoreOptions } from \"./types\";\n\n/** Options for {@link createRedisStore}. */\nexport type RedisBatchStoreOptions = RedisStoreOptions;\n\n/**\n * A Redis-backed {@link BatchStore} for the poller, over `@upstash/redis`. Each\n * tracked batch is a JSON value at `{prefix}:batch:{id}`, with a set index at\n * `{prefix}:batches` so `list` can enumerate them.\n *\n * @example\n * import { Redis } from \"@upstash/redis\";\n * const store = createRedisStore({ redis: Redis.fromEnv() });\n */\nexport const createRedisStore = (\n options: RedisBatchStoreOptions\n): BatchStore => {\n const { redis } = options;\n const prefix = options.prefix ?? DEFAULT_PREFIX;\n const batchKey = (id: string): string => `${prefix}:batch:${id}`;\n const indexKey = `${prefix}:batches`;\n\n return {\n delete: async (id) => {\n await redis.del(batchKey(id));\n await redis.srem(indexKey, id);\n },\n get: async (id) => coerce<TrackedBatch>(await redis.get(batchKey(id))),\n list: async (filter) => {\n const ids = await redis.smembers(indexKey);\n if (ids.length === 0) {\n return [];\n }\n const raws = await redis.mget<unknown[]>(...ids.map(batchKey));\n const records: TrackedBatch[] = [];\n for (const raw of raws) {\n const record = coerce<TrackedBatch>(raw);\n if (record) {\n records.push(record);\n }\n }\n if (filter?.delivered === undefined) {\n return records;\n }\n const { delivered } = filter;\n return records.filter(\n (record) => (record.deliveredAt !== undefined) === delivered\n );\n },\n set: async (record) => {\n await redis.set(batchKey(record.id), JSON.stringify(record));\n await redis.sadd(indexKey, record.id);\n },\n };\n};\n"
5
+ "import { isString } from \"../guards\";\nimport type { TrackedBatch } from \"../server/types\";\nimport type {\n BatchProvider,\n BatchStatus,\n JsonObject,\n JsonValue,\n} from \"../types\";\nimport { asString, isJsonObject, parseJson } from \"../util\";\n\n/**\n * The slice of `@upstash/redis` batchwork's adapters drive: string get/set/del\n * plus a set index. Structural, so a real `Redis` instance (or any compatible\n * client) can be passed without batchwork importing the driver.\n */\nexport interface RedisClient {\n del: (...keys: string[]) => Promise<number>;\n get: (key: string) => Promise<JsonValue | null>;\n mget: (...keys: string[]) => Promise<(JsonValue | null)[]>;\n sadd: (key: string, member: string, ...members: string[]) => Promise<number>;\n set: (key: string, value: string) => Promise<string | null>;\n smembers: (key: string) => Promise<string[]>;\n srem: (key: string, member: string, ...members: string[]) => Promise<number>;\n}\n\n/** Options for the Redis-backed batch store. */\nexport interface RedisStoreOptions {\n /** A connected `@upstash/redis` client. */\n redis: RedisClient;\n /** Key namespace, so one Redis can back many apps. Defaults to `batchwork`. */\n prefix?: string;\n}\n\nexport const DEFAULT_PREFIX = \"batchwork\";\n\n/** Read a stored JSON object back into a tracked batch; `null` if malformed. */\nconst toTrackedBatch = (record: JsonObject): TrackedBatch | null => {\n const id = asString(record.id);\n const provider = asString(record.provider);\n const status = asString(record.status);\n const createdAt = asString(record.createdAt);\n if (!(id && provider && status && createdAt)) {\n return null;\n }\n // SAFETY: keys under the store's prefix are only ever written by `set` as\n // `JSON.stringify` of a TrackedBatch, so these strings are the union members\n // that record carried.\n const batch: TrackedBatch = {\n createdAt,\n id,\n provider: provider as BatchProvider,\n status: status as BatchStatus,\n };\n const webhookUrl = asString(record.webhookUrl);\n if (webhookUrl !== undefined) {\n batch.webhookUrl = webhookUrl;\n }\n const webhookSecret = asString(record.webhookSecret);\n if (webhookSecret !== undefined) {\n batch.webhookSecret = webhookSecret;\n }\n const deliveredAt = asString(record.deliveredAt);\n if (deliveredAt !== undefined) {\n batch.deliveredAt = deliveredAt;\n }\n return batch;\n};\n\n/**\n * Read a stored value back into a record. `@upstash/redis` may or may not\n * auto-deserialize depending on the client's config, and values returned from\n * Lua (`eval`) are always raw strings — so tolerate both an object and a JSON\n * string, and treat a missing key as `null`.\n */\nexport const coerce = (value: JsonValue | null): TrackedBatch | null => {\n if (value === null) {\n return null;\n }\n const record = isString(value) ? parseJson(value) : value;\n return isJsonObject(record) ? toTrackedBatch(record) : null;\n};\n",
6
+ "import type { BatchStore, TrackedBatch } from \"../server/types\";\nimport { coerce, DEFAULT_PREFIX } from \"./types\";\nimport type { RedisStoreOptions } from \"./types\";\n\n/** Options for {@link createRedisStore}. */\nexport type RedisBatchStoreOptions = RedisStoreOptions;\n\n/**\n * A Redis-backed {@link BatchStore} for the poller, over `@upstash/redis`. Each\n * tracked batch is a JSON value at `{prefix}:batch:{id}`, with a set index at\n * `{prefix}:batches` so `list` can enumerate them.\n *\n * @example\n * import { Redis } from \"@upstash/redis\";\n * const store = createRedisStore({ redis: Redis.fromEnv() });\n */\nexport const createRedisStore = (\n options: RedisBatchStoreOptions\n): BatchStore => {\n const { redis } = options;\n const prefix = options.prefix ?? DEFAULT_PREFIX;\n const batchKey = (id: string): string => `${prefix}:batch:${id}`;\n const indexKey = `${prefix}:batches`;\n\n return {\n delete: async (id) => {\n await redis.del(batchKey(id));\n await redis.srem(indexKey, id);\n },\n get: async (id) => coerce(await redis.get(batchKey(id))),\n list: async (filter) => {\n const ids = await redis.smembers(indexKey);\n if (ids.length === 0) {\n return [];\n }\n const raws = await redis.mget(...ids.map(batchKey));\n const records: TrackedBatch[] = [];\n for (const raw of raws) {\n const record = coerce(raw);\n if (record) {\n records.push(record);\n }\n }\n if (filter?.delivered === undefined) {\n return records;\n }\n const { delivered } = filter;\n return records.filter(\n (record) => (record.deliveredAt !== undefined) === delivered\n );\n },\n set: async (record) => {\n await redis.set(batchKey(record.id), JSON.stringify(record));\n await redis.sadd(indexKey, record.id);\n },\n };\n};\n"
7
7
  ],
8
- "mappings": ";;;AAaO,IAAM,iBAAiB;AAQvB,IAAM,SAAS,CAAI,UAA6B;AAAA,EACrD,IAAI,UAAU,QAAQ,UAAU,WAAW;AAAA,IACzC,OAAO;AAAA,EACT;AAAA,EACA,OAAQ,OAAO,UAAU,WAAW,KAAK,MAAM,KAAK,IAAI;AAAA;;;ACTnD,IAAM,mBAAmB,CAC9B,YACe;AAAA,EACf,QAAQ,UAAU;AAAA,EAClB,MAAM,SAAS,QAAQ,UAAU;AAAA,EACjC,MAAM,WAAW,CAAC,OAAuB,GAAG,gBAAgB;AAAA,EAC5D,MAAM,WAAW,GAAG;AAAA,EAEpB,OAAO;AAAA,IACL,QAAQ,OAAO,OAAO;AAAA,MACpB,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;AAAA,MAC5B,MAAM,MAAM,KAAK,UAAU,EAAE;AAAA;AAAA,IAE/B,KAAK,OAAO,OAAO,OAAqB,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;AAAA,IACrE,MAAM,OAAO,WAAW;AAAA,MACtB,MAAM,MAAM,MAAM,MAAM,SAAS,QAAQ;AAAA,MACzC,IAAI,IAAI,WAAW,GAAG;AAAA,QACpB,OAAO,CAAC;AAAA,MACV;AAAA,MACA,MAAM,OAAO,MAAM,MAAM,KAAgB,GAAG,IAAI,IAAI,QAAQ,CAAC;AAAA,MAC7D,MAAM,UAA0B,CAAC;AAAA,MACjC,WAAW,OAAO,MAAM;AAAA,QACtB,MAAM,SAAS,OAAqB,GAAG;AAAA,QACvC,IAAI,QAAQ;AAAA,UACV,QAAQ,KAAK,MAAM;AAAA,QACrB;AAAA,MACF;AAAA,MACA,IAAI,QAAQ,cAAc,WAAW;AAAA,QACnC,OAAO;AAAA,MACT;AAAA,MACA,QAAQ,cAAc;AAAA,MACtB,OAAO,QAAQ,OACb,CAAC,WAAY,OAAO,gBAAgB,cAAe,SACrD;AAAA;AAAA,IAEF,KAAK,OAAO,WAAW;AAAA,MACrB,MAAM,MAAM,IAAI,SAAS,OAAO,EAAE,GAAG,KAAK,UAAU,MAAM,CAAC;AAAA,MAC3D,MAAM,MAAM,KAAK,UAAU,OAAO,EAAE;AAAA;AAAA,EAExC;AAAA;",
9
- "debugId": "80E91990D446837F64756E2164756E21",
8
+ "mappings": ";;;;;;;;AAiCO,IAAM,iBAAiB;AAG9B,IAAM,iBAAiB,CAAC,WAA4C;AAAA,EAClE,MAAM,KAAK,SAAS,OAAO,EAAE;AAAA,EAC7B,MAAM,WAAW,SAAS,OAAO,QAAQ;AAAA,EACzC,MAAM,SAAS,SAAS,OAAO,MAAM;AAAA,EACrC,MAAM,YAAY,SAAS,OAAO,SAAS;AAAA,EAC3C,IAAI,EAAE,MAAM,YAAY,UAAU,YAAY;AAAA,IAC5C,OAAO;AAAA,EACT;AAAA,EAIA,MAAM,QAAsB;AAAA,IAC1B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,MAAM,aAAa,SAAS,OAAO,UAAU;AAAA,EAC7C,IAAI,eAAe,WAAW;AAAA,IAC5B,MAAM,aAAa;AAAA,EACrB;AAAA,EACA,MAAM,gBAAgB,SAAS,OAAO,aAAa;AAAA,EACnD,IAAI,kBAAkB,WAAW;AAAA,IAC/B,MAAM,gBAAgB;AAAA,EACxB;AAAA,EACA,MAAM,cAAc,SAAS,OAAO,WAAW;AAAA,EAC/C,IAAI,gBAAgB,WAAW;AAAA,IAC7B,MAAM,cAAc;AAAA,EACtB;AAAA,EACA,OAAO;AAAA;AASF,IAAM,SAAS,CAAC,UAAiD;AAAA,EACtE,IAAI,UAAU,MAAM;AAAA,IAClB,OAAO;AAAA,EACT;AAAA,EACA,MAAM,SAAS,SAAS,KAAK,IAAI,UAAU,KAAK,IAAI;AAAA,EACpD,OAAO,aAAa,MAAM,IAAI,eAAe,MAAM,IAAI;AAAA;;;AC/DlD,IAAM,mBAAmB,CAC9B,YACe;AAAA,EACf,QAAQ,UAAU;AAAA,EAClB,MAAM,SAAS,QAAQ,UAAU;AAAA,EACjC,MAAM,WAAW,CAAC,OAAuB,GAAG,gBAAgB;AAAA,EAC5D,MAAM,WAAW,GAAG;AAAA,EAEpB,OAAO;AAAA,IACL,QAAQ,OAAO,OAAO;AAAA,MACpB,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;AAAA,MAC5B,MAAM,MAAM,KAAK,UAAU,EAAE;AAAA;AAAA,IAE/B,KAAK,OAAO,OAAO,OAAO,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;AAAA,IACvD,MAAM,OAAO,WAAW;AAAA,MACtB,MAAM,MAAM,MAAM,MAAM,SAAS,QAAQ;AAAA,MACzC,IAAI,IAAI,WAAW,GAAG;AAAA,QACpB,OAAO,CAAC;AAAA,MACV;AAAA,MACA,MAAM,OAAO,MAAM,MAAM,KAAK,GAAG,IAAI,IAAI,QAAQ,CAAC;AAAA,MAClD,MAAM,UAA0B,CAAC;AAAA,MACjC,WAAW,OAAO,MAAM;AAAA,QACtB,MAAM,SAAS,OAAO,GAAG;AAAA,QACzB,IAAI,QAAQ;AAAA,UACV,QAAQ,KAAK,MAAM;AAAA,QACrB;AAAA,MACF;AAAA,MACA,IAAI,QAAQ,cAAc,WAAW;AAAA,QACnC,OAAO;AAAA,MACT;AAAA,MACA,QAAQ,cAAc;AAAA,MACtB,OAAO,QAAQ,OACb,CAAC,WAAY,OAAO,gBAAgB,cAAe,SACrD;AAAA;AAAA,IAEF,KAAK,OAAO,WAAW;AAAA,MACrB,MAAM,MAAM,IAAI,SAAS,OAAO,EAAE,GAAG,KAAK,UAAU,MAAM,CAAC;AAAA,MAC3D,MAAM,MAAM,KAAK,UAAU,OAAO,EAAE;AAAA;AAAA,EAExC;AAAA;",
9
+ "debugId": "C5D0A172F208A58264756E2164756E21",
10
10
  "names": []
11
11
  }
@@ -1,10 +1,23 @@
1
- import type { Redis } from "@upstash/redis";
2
- /** The Upstash Redis client batchwork's adapters drive. */
3
- export type RedisClient = Redis;
1
+ import type { TrackedBatch } from "../server/types";
2
+ import type { JsonValue } from "../types";
3
+ /**
4
+ * The slice of `@upstash/redis` batchwork's adapters drive: string get/set/del
5
+ * plus a set index. Structural, so a real `Redis` instance (or any compatible
6
+ * client) can be passed without batchwork importing the driver.
7
+ */
8
+ export interface RedisClient {
9
+ del: (...keys: string[]) => Promise<number>;
10
+ get: (key: string) => Promise<JsonValue | null>;
11
+ mget: (...keys: string[]) => Promise<(JsonValue | null)[]>;
12
+ sadd: (key: string, member: string, ...members: string[]) => Promise<number>;
13
+ set: (key: string, value: string) => Promise<string | null>;
14
+ smembers: (key: string) => Promise<string[]>;
15
+ srem: (key: string, member: string, ...members: string[]) => Promise<number>;
16
+ }
4
17
  /** Options for the Redis-backed batch store. */
5
18
  export interface RedisStoreOptions {
6
19
  /** A connected `@upstash/redis` client. */
7
- redis: Redis;
20
+ redis: RedisClient;
8
21
  /** Key namespace, so one Redis can back many apps. Defaults to `batchwork`. */
9
22
  prefix?: string;
10
23
  }
@@ -15,5 +28,5 @@ export declare const DEFAULT_PREFIX = "batchwork";
15
28
  * Lua (`eval`) are always raw strings — so tolerate both an object and a JSON
16
29
  * string, and treat a missing key as `null`.
17
30
  */
18
- export declare const coerce: <T>(value: unknown) => T | null;
31
+ export declare const coerce: (value: JsonValue | null) => TrackedBatch | null;
19
32
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/redis/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,2DAA2D;AAC3D,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC;AAEhC,gDAAgD;AAChD,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,KAAK,EAAE,KAAK,CAAC;IACb,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,cAAc,cAAc,CAAC;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,OAAO,KAAG,CAAC,GAAG,IAK9C,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/redis/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAIV,SAAS,EACV,MAAM,UAAU,CAAC;AAGlB;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAChD,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3D,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7E,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5D,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9E;AAED,gDAAgD;AAChD,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,KAAK,EAAE,WAAW,CAAC;IACnB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,cAAc,cAAc,CAAC;AAmC1C;;;;;GAKG;AACH,eAAO,MAAM,MAAM,UAAW,SAAS,GAAG,IAAI,KAAG,YAAY,GAAG,IAM/D,CAAC"}
@@ -1,19 +1,18 @@
1
+ import"../chunk-7y95mhvm.js";
1
2
  import {
2
- createBatchPoller,
3
- createMemoryStore,
4
- signWebhook,
5
- verifyBatchWebhook,
6
- verifyWebhook
7
- } from "../chunk-ka9d4t6v.js";
8
- import"../chunk-vy4w8mpb.js";
9
- import"../chunk-v0bahtg2.js";
3
+ signWebhook2,
4
+ verifyWebhook2,
5
+ verifyBatchWebhook2,
6
+ createBatchPoller2,
7
+ createMemoryStore2
8
+ } from "../chunk-k7n7k3et.js";
10
9
  export {
11
- verifyWebhook,
12
- verifyBatchWebhook,
13
- signWebhook,
14
- createMemoryStore,
15
- createBatchPoller
10
+ createBatchPoller2 as createBatchPoller,
11
+ createMemoryStore2 as createMemoryStore,
12
+ signWebhook2 as signWebhook,
13
+ verifyBatchWebhook2 as verifyBatchWebhook,
14
+ verifyWebhook2 as verifyWebhook
16
15
  };
17
16
 
18
- //# debugId=C585C9F747001A8C64756E2164756E21
17
+ //# debugId=D37904070BD372C464756E2164756E21
19
18
  //# sourceMappingURL=index.js.map
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "C585C9F747001A8C64756E2164756E21",
7
+ "debugId": "D37904070BD372C464756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -2,6 +2,8 @@ import type { BatchProvider, BatchSnapshot, BatchStatus, ProviderCredentials } f
2
2
  import type { BatchStore, TrackedBatch } from "./types";
3
3
  /** Credentials for polling: a fixed config, or one resolved per provider. */
4
4
  export type CredentialResolver = ProviderCredentials | ((provider: BatchProvider) => ProviderCredentials);
5
+ /** Resolve the credentials to poll a provider with; env vars when omitted. */
6
+ export declare const resolveProviderCredentials: (credentials: CredentialResolver | undefined, provider: BatchProvider) => ProviderCredentials;
5
7
  /**
6
8
  * Handles a batch reaching a terminal status. Replaces the default signed
7
9
  * webhook delivery — e.g. to invoke a callback instead (see `batchwork/next`).
@@ -17,11 +19,11 @@ export interface BatchPollerOptions {
17
19
  /** Override the default webhook URL policy with an application allowlist. */
18
20
  validateWebhookUrl?: WebhookUrlValidator;
19
21
  /**
20
- * Called when processing a single batch throws during `tick`. When provided,
21
- * the tick reports the error and continues to the next batch; when omitted,
22
- * the error propagates out of `tick`.
22
+ * Called with the thrown value when processing a single batch fails during
23
+ * `tick`. When provided, the tick reports the error and continues to the
24
+ * next batch; when omitted, the error propagates out of `tick`.
23
25
  */
24
- onError?: (record: TrackedBatch, error: unknown) => void;
26
+ onError?: (record: TrackedBatch, cause: unknown) => void;
25
27
  }
26
28
  export interface TrackTarget {
27
29
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"poller.d.ts","sourceRoot":"","sources":["../../src/server/poller.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACX,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAGlB,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAExD,6EAA6E;AAC7E,MAAM,MAAM,kBAAkB,GAC1B,mBAAmB,GACnB,CAAC,CAAC,QAAQ,EAAE,aAAa,KAAK,mBAAmB,CAAC,CAAC;AAEvD;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,aAAa,KACpB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAErE,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,UAAU,CAAC;IAClB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,8DAA8D;IAC9D,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,6EAA6E;IAC7E,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IACzC;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1D;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,6EAA6E;IAC7E,MAAM,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,oBAAoB;IACnC,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7E,IAAI,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IAChC,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,oBAAoB,EAAE,CACpB,OAAO,EAAE,oBAAoB,KAC1B,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC9C;AAqLD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,YAAa,kBAAkB,KAAG,WAiI/D,CAAC"}
1
+ {"version":3,"file":"poller.d.ts","sourceRoot":"","sources":["../../src/server/poller.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,WAAW,EAEX,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAIlB,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAExD,6EAA6E;AAC7E,MAAM,MAAM,kBAAkB,GAC1B,mBAAmB,GACnB,CAAC,CAAC,QAAQ,EAAE,aAAa,KAAK,mBAAmB,CAAC,CAAC;AAOvD,8EAA8E;AAC9E,eAAO,MAAM,0BAA0B,gBACxB,kBAAkB,GAAG,SAAS,YACjC,aAAa,KACtB,mBAOF,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,aAAa,KACpB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAErE,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,UAAU,CAAC;IAClB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,8DAA8D;IAC9D,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,6EAA6E;IAC7E,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IACzC;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1D;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,6EAA6E;IAC7E,MAAM,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,oBAAoB;IACnC,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7E,IAAI,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IAChC,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,oBAAoB,EAAE,CACpB,OAAO,EAAE,oBAAoB,KAC1B,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC9C;AAoGD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,YAAa,kBAAkB,KAAG,WA0H/D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"signing.d.ts","sourceRoot":"","sources":["../../src/server/signing.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAWjD,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,CACN,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,KACR,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IACtE,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC9D;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC;AA8ID,0EAA0E;AAC1E,eAAO,MAAM,WAAW,WACd,MAAM,MACV,MAAM,QACJ,MAAM,oBACM,MAAM,KACvB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQhC,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,YACf,OAAO,UACR,MAAM,YACJ,oBAAoB,KAC7B,OAAO,CAAC,eAAe,CA8CzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,YACpB,OAAO,UACR,MAAM,YACJ,oBAAoB,KAC7B,OAAO,CAAC,iBAAiB,CAG3B,CAAC"}
1
+ {"version":3,"file":"signing.d.ts","sourceRoot":"","sources":["../../src/server/signing.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAoBjD,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,CACN,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,KACR,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IACtE,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC9D;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC;AA2FD,0EAA0E;AAC1E,eAAO,MAAM,WAAW,WACd,MAAM,MACV,MAAM,QACJ,MAAM,oBACM,MAAM,KACvB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAahC,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,YACf,OAAO,UACR,MAAM,YACJ,oBAAoB,KAC7B,OAAO,CAAC,eAAe,CAgDzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,YACpB,OAAO,UACR,MAAM,YACJ,oBAAoB,KAC7B,OAAO,CAAC,iBAAiB,CAK3B,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,18 @@
1
1
  import type { EmbeddingModel, experimental_generateVideo, ImageModel, JSONValue, LanguageModel, ModelMessage, ToolChoice, ToolSet, TranscriptionModel } from "ai";
2
+ /**
3
+ * A parsed JSON value: the domain type for raw provider payloads (identical to
4
+ * the AI SDK's `JSONValue`). Provider responses are parsed into this at the
5
+ * HTTP boundary and read through the narrowing helpers in `util.ts`.
6
+ */
7
+ export type JsonValue = JSONValue;
8
+ /** A parsed JSON object. */
9
+ export interface JsonObject {
10
+ [key: string]: JsonValue;
11
+ }
12
+ /** Plain HTTP headers sent with a provider request. */
13
+ export interface HttpHeaders {
14
+ [name: string]: string;
15
+ }
2
16
  /**
3
17
  * The `model` argument of the AI SDK's `experimental_generateVideo` — a video
4
18
  * model object or a `"provider/model"` string. Derived from the function
@@ -264,7 +278,7 @@ export interface BatchResult {
264
278
  /** Normalized moderation verdict, when the request produced one. */
265
279
  moderation?: BatchModeration;
266
280
  /** Raw provider response body (OpenAI `response.body` / Anthropic message). */
267
- response?: unknown;
281
+ response?: JsonValue;
268
282
  /** Timestamped transcript segments, when requested via `timestampGranularities`. */
269
283
  segments?: BatchTranscriptionSegment[];
270
284
  status: BatchResultStatus;
@@ -282,7 +296,7 @@ export interface BatchSnapshot {
282
296
  id: string;
283
297
  provider: BatchProvider;
284
298
  /** Raw provider status object. */
285
- raw: unknown;
299
+ raw: JsonValue;
286
300
  requestCounts: BatchRequestCounts;
287
301
  status: BatchStatus;
288
302
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/util.d.ts CHANGED
@@ -1,12 +1,23 @@
1
1
  /** Small, defensive helpers for reading loosely-typed provider JSON. */
2
- export declare const asRecord: (value: unknown) => Record<string, unknown>;
3
- export declare const asString: (value: unknown) => string | undefined;
4
- export declare const asNumber: (value: unknown) => number | undefined;
5
- export declare const asArray: (value: unknown) => unknown[];
2
+ import type { JsonObject, JsonValue } from "./types";
3
+ /** Linear-time trailing-slash trim; a `/\/+$/` regex is polynomial (ReDoS). */
4
+ export declare const trimTrailingSlashes: (value: string) => string;
5
+ /** Whether a JSON value is an object (not an array, not `null`). */
6
+ export declare const isJsonObject: (value: JsonValue | undefined) => value is JsonObject;
7
+ /**
8
+ * Parse JSON text into the JSON domain type. This is the one place where
9
+ * `JSON.parse`'s `any` enters the codebase: its output is, by construction, a
10
+ * JSON value.
11
+ */
12
+ export declare const parseJson: (text: string) => JsonValue;
13
+ export declare const asRecord: (value: JsonValue | undefined) => JsonObject;
14
+ export declare const asString: (value: JsonValue | undefined) => string | undefined;
15
+ export declare const asNumber: (value: JsonValue | undefined) => number | undefined;
16
+ export declare const asArray: (value: JsonValue | undefined) => JsonValue[];
6
17
  /** Read a non-empty array of numbers (e.g. an embedding vector), else undefined. */
7
- export declare const asNumberArray: (value: unknown) => number[] | undefined;
18
+ export declare const asNumberArray: (value: JsonValue | undefined) => number[] | undefined;
8
19
  /** Return a shallow copy of `obj` without `key`. */
9
- export declare const omit: (obj: Record<string, unknown>, key: string) => Record<string, unknown>;
20
+ export declare const omit: (obj: JsonObject, key: string) => JsonObject;
10
21
  /** Coerce a provider timestamp (ISO string or unix seconds) to a `Date`. */
11
- export declare const toDate: (value: unknown) => Date | undefined;
22
+ export declare const toDate: (value: JsonValue | undefined) => Date | undefined;
12
23
  //# sourceMappingURL=util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAExE,eAAO,MAAM,QAAQ,UAAW,OAAO,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAK/D,CAAC;AAEF,eAAO,MAAM,QAAQ,UAAW,OAAO,KAAG,MAAM,GAAG,SACJ,CAAC;AAEhD,eAAO,MAAM,QAAQ,UAAW,OAAO,KAAG,MAAM,GAAG,SACJ,CAAC;AAEhD,eAAO,MAAM,OAAO,UAAW,OAAO,KAAG,OAAO,EACb,CAAC;AAEpC,oFAAoF;AACpF,eAAO,MAAM,aAAa,UAAW,OAAO,KAAG,MAAM,EAAE,GAAG,SAQzD,CAAC;AAEF,oDAAoD;AACpD,eAAO,MAAM,IAAI,QACV,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,OACvB,MAAM,KACV,MAAM,CAAC,MAAM,EAAE,OAAO,CAQxB,CAAC;AAQF,4EAA4E;AAC5E,eAAO,MAAM,MAAM,UAAW,OAAO,KAAG,IAAI,GAAG,SAO9C,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAGxE,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAErD,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,UAAW,MAAM,KAAG,MAMnD,CAAC;AAEF,oEAAoE;AACpE,eAAO,MAAM,YAAY,UAChB,SAAS,GAAG,SAAS,KAC3B,KAAK,IAAI,UAC0D,CAAC;AAEvE;;;;GAIG;AACH,eAAO,MAAM,SAAS,SAAU,MAAM,KAAG,SAGxC,CAAC;AAEF,eAAO,MAAM,QAAQ,UAAW,SAAS,GAAG,SAAS,KAAG,UACtB,CAAC;AAEnC,eAAO,MAAM,QAAQ,UAAW,SAAS,GAAG,SAAS,KAAG,MAAM,GAAG,SAC5B,CAAC;AAEtC,eAAO,MAAM,QAAQ,UAAW,SAAS,GAAG,SAAS,KAAG,MAAM,GAAG,SAC5B,CAAC;AAEtC,eAAO,MAAM,OAAO,UAAW,SAAS,GAAG,SAAS,KAAG,SAAS,EAC7B,CAAC;AAEpC,oFAAoF;AACpF,eAAO,MAAM,aAAa,UACjB,SAAS,GAAG,SAAS,KAC3B,MAAM,EAAE,GAAG,SAMb,CAAC;AAEF,oDAAoD;AACpD,eAAO,MAAM,IAAI,QAAS,UAAU,OAAO,MAAM,KAAG,UAQnD,CAAC;AAQF,4EAA4E;AAC5E,eAAO,MAAM,MAAM,UAAW,SAAS,GAAG,SAAS,KAAG,IAAI,GAAG,SAO5D,CAAC"}