@relaycast/engine 10.6.5 → 11.1.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 (138) hide show
  1. package/dist/adapters/node/database.d.ts +8 -3
  2. package/dist/adapters/node/database.d.ts.map +1 -1
  3. package/dist/adapters/node/database.js +9 -30
  4. package/dist/adapters/node/database.js.map +1 -1
  5. package/dist/adapters/node/delivery-maintenance.d.ts.map +1 -1
  6. package/dist/adapters/node/delivery-maintenance.js +5 -2
  7. package/dist/adapters/node/delivery-maintenance.js.map +1 -1
  8. package/dist/adapters/node/index.d.ts.map +1 -1
  9. package/dist/adapters/node/index.js +2 -1
  10. package/dist/adapters/node/index.js.map +1 -1
  11. package/dist/adapters/node/migration-source.d.ts +17 -0
  12. package/dist/adapters/node/migration-source.d.ts.map +1 -0
  13. package/dist/adapters/node/migration-source.js +31 -0
  14. package/dist/adapters/node/migration-source.js.map +1 -0
  15. package/dist/adapters/node/pinned-https-fetch.d.ts +16 -0
  16. package/dist/adapters/node/pinned-https-fetch.d.ts.map +1 -0
  17. package/dist/adapters/node/pinned-https-fetch.js +83 -0
  18. package/dist/adapters/node/pinned-https-fetch.js.map +1 -0
  19. package/dist/adapters/node/sqlite-driver.d.ts +27 -0
  20. package/dist/adapters/node/sqlite-driver.d.ts.map +1 -0
  21. package/dist/adapters/node/sqlite-driver.js +9 -0
  22. package/dist/adapters/node/sqlite-driver.js.map +1 -0
  23. package/dist/adapters/node/ssrf-fetch.d.ts.map +1 -1
  24. package/dist/adapters/node/ssrf-fetch.js +35 -28
  25. package/dist/adapters/node/ssrf-fetch.js.map +1 -1
  26. package/dist/bin/serve.js +9 -0
  27. package/dist/bin/serve.js.map +1 -1
  28. package/dist/bin/version.d.ts +8 -0
  29. package/dist/bin/version.d.ts.map +1 -0
  30. package/dist/bin/version.js +12 -0
  31. package/dist/bin/version.js.map +1 -0
  32. package/dist/db/migrations/0076_deliveries_agent_status_created_index.sql +17 -0
  33. package/dist/db/schema.d.ts.map +1 -1
  34. package/dist/db/schema.js +2 -0
  35. package/dist/db/schema.js.map +1 -1
  36. package/dist/engine/usage.d.ts +10 -0
  37. package/dist/engine/usage.d.ts.map +1 -1
  38. package/dist/engine/usage.js +18 -0
  39. package/dist/engine/usage.js.map +1 -1
  40. package/dist/engine.d.ts.map +1 -1
  41. package/dist/engine.js +8 -7
  42. package/dist/engine.js.map +1 -1
  43. package/dist/env.d.ts +11 -0
  44. package/dist/env.d.ts.map +1 -1
  45. package/dist/index.d.ts +2 -2
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +1 -1
  48. package/dist/index.js.map +1 -1
  49. package/dist/lib/httpError.d.ts.map +1 -1
  50. package/dist/lib/httpError.js +3 -0
  51. package/dist/lib/httpError.js.map +1 -1
  52. package/dist/lib/logger.d.ts +3 -9
  53. package/dist/lib/logger.d.ts.map +1 -1
  54. package/dist/lib/logger.js +10 -96
  55. package/dist/lib/logger.js.map +1 -1
  56. package/dist/lib/planLimitError.d.ts +26 -0
  57. package/dist/lib/planLimitError.d.ts.map +1 -0
  58. package/dist/lib/planLimitError.js +16 -0
  59. package/dist/lib/planLimitError.js.map +1 -0
  60. package/dist/lib/serverTelemetry.d.ts +6 -45
  61. package/dist/lib/serverTelemetry.d.ts.map +1 -1
  62. package/dist/lib/serverTelemetry.js +27 -125
  63. package/dist/lib/serverTelemetry.js.map +1 -1
  64. package/dist/middleware/auth.d.ts.map +1 -1
  65. package/dist/middleware/auth.js +14 -0
  66. package/dist/middleware/auth.js.map +1 -1
  67. package/dist/middleware/planLimits.d.ts +31 -0
  68. package/dist/middleware/planLimits.d.ts.map +1 -1
  69. package/dist/middleware/planLimits.js +136 -4
  70. package/dist/middleware/planLimits.js.map +1 -1
  71. package/dist/ports/entitlements.d.ts +30 -0
  72. package/dist/ports/entitlements.d.ts.map +1 -1
  73. package/dist/ports/index.d.ts +8 -12
  74. package/dist/ports/index.d.ts.map +1 -1
  75. package/dist/ports/index.js +1 -0
  76. package/dist/ports/index.js.map +1 -1
  77. package/dist/ports/logging.d.ts +10 -0
  78. package/dist/ports/logging.d.ts.map +1 -0
  79. package/dist/ports/logging.js +2 -0
  80. package/dist/ports/logging.js.map +1 -0
  81. package/dist/ports/telemetry.d.ts +95 -23
  82. package/dist/ports/telemetry.d.ts.map +1 -1
  83. package/dist/ports/telemetry.js +77 -1
  84. package/dist/ports/telemetry.js.map +1 -1
  85. package/dist/providers/noop-telemetry.d.ts +1 -7
  86. package/dist/providers/noop-telemetry.d.ts.map +1 -1
  87. package/dist/providers/noop-telemetry.js +1 -7
  88. package/dist/providers/noop-telemetry.js.map +1 -1
  89. package/dist/providers/static-entitlements.d.ts +1 -1
  90. package/dist/providers/static-entitlements.d.ts.map +1 -1
  91. package/dist/providers/static-entitlements.js +6 -1
  92. package/dist/providers/static-entitlements.js.map +1 -1
  93. package/dist/routes/action.js +3 -3
  94. package/dist/routes/action.js.map +1 -1
  95. package/dist/routes/agent.js +8 -8
  96. package/dist/routes/agent.js.map +1 -1
  97. package/dist/routes/channel.js +9 -9
  98. package/dist/routes/channel.js.map +1 -1
  99. package/dist/routes/directory.js +5 -5
  100. package/dist/routes/directory.js.map +1 -1
  101. package/dist/routes/dm.d.ts.map +1 -1
  102. package/dist/routes/dm.js +4 -2
  103. package/dist/routes/dm.js.map +1 -1
  104. package/dist/routes/eventSubscription.js +2 -2
  105. package/dist/routes/eventSubscription.js.map +1 -1
  106. package/dist/routes/file.js +2 -2
  107. package/dist/routes/file.js.map +1 -1
  108. package/dist/routes/groupDm.d.ts.map +1 -1
  109. package/dist/routes/groupDm.js +15 -11
  110. package/dist/routes/groupDm.js.map +1 -1
  111. package/dist/routes/inboundWebhook.js +5 -6
  112. package/dist/routes/inboundWebhook.js.map +1 -1
  113. package/dist/routes/message.d.ts.map +1 -1
  114. package/dist/routes/message.js +7 -3
  115. package/dist/routes/message.js.map +1 -1
  116. package/dist/routes/node.js +1 -1
  117. package/dist/routes/node.js.map +1 -1
  118. package/dist/routes/presence.js +2 -2
  119. package/dist/routes/presence.js.map +1 -1
  120. package/dist/routes/reaction.js +2 -2
  121. package/dist/routes/reaction.js.map +1 -1
  122. package/dist/routes/receipt.js +1 -1
  123. package/dist/routes/receipt.js.map +1 -1
  124. package/dist/routes/relayfileInbound.d.ts.map +1 -1
  125. package/dist/routes/relayfileInbound.js +3 -4
  126. package/dist/routes/relayfileInbound.js.map +1 -1
  127. package/dist/routes/routing.js +3 -3
  128. package/dist/routes/routing.js.map +1 -1
  129. package/dist/routes/search.js +1 -1
  130. package/dist/routes/search.js.map +1 -1
  131. package/dist/routes/systemPrompt.js +2 -2
  132. package/dist/routes/systemPrompt.js.map +1 -1
  133. package/dist/routes/thread.d.ts.map +1 -1
  134. package/dist/routes/thread.js +7 -3
  135. package/dist/routes/thread.js.map +1 -1
  136. package/dist/routes/workspace.js +5 -5
  137. package/dist/routes/workspace.js.map +1 -1
  138. package/package.json +8 -4
@@ -1,4 +1,5 @@
1
- import Database, { type RunResult } from 'better-sqlite3';
1
+ import type { RunResult } from 'better-sqlite3';
2
+ import { type SqliteConnection } from './sqlite-driver.js';
2
3
  import type { EngineDb, TransactionCapability } from '../../ports/database.js';
3
4
  /**
4
5
  * The engine handle specialized to better-sqlite3's synchronous run-result,
@@ -8,8 +9,12 @@ import type { EngineDb, TransactionCapability } from '../../ports/database.js';
8
9
  export type NodeEngineDb = EngineDb<RunResult> & TransactionCapability;
9
10
  export interface SqliteDbHandle {
10
11
  db: NodeEngineDb;
11
- /** The raw better-sqlite3 connection (for migrations, pragmas, backups). */
12
- sqlite: Database.Database;
12
+ /**
13
+ * The raw SQLite connection (for migrations, pragmas, backups). better-sqlite3
14
+ * on Node; a better-sqlite3-compatible `bun:sqlite` facade in the standalone
15
+ * binary.
16
+ */
17
+ sqlite: SqliteConnection;
13
18
  }
14
19
  /**
15
20
  * Open a SQLite-backed {@link EngineDb} for self-host. Pass a file path
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/adapters/node/database.ts"],"names":[],"mappings":"AAIA,OAAO,QAAQ,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI1D,OAAO,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAE/E;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,qBAAqB,CAAC;AAEvE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,YAAY,CAAC;IACjB,4EAA4E;IAC5E,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAexD;AA0PD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAwC3E"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/adapters/node/database.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAgB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEzE,OAAO,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAE/E;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,qBAAqB,CAAC;AAEvE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,YAAY,CAAC;IACjB;;;;OAIG;IACH,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAexD;AA6OD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAoC3E"}
@@ -1,11 +1,7 @@
1
1
  import { AsyncLocalStorage } from 'node:async_hooks';
2
- import { existsSync, readdirSync, readFileSync } from 'node:fs';
3
- import { dirname, join } from 'node:path';
4
- import { fileURLToPath } from 'node:url';
5
- import Database from 'better-sqlite3';
6
- import { drizzle } from 'drizzle-orm/better-sqlite3';
7
- import * as schema from '../../db/schema.js';
8
2
  import { planMigrations } from '../../db/migrationPlan.js';
3
+ import { sqliteDriver } from './sqlite-driver.js';
4
+ import { loadMigrationSource } from './migration-source.js';
9
5
  /**
10
6
  * Open a SQLite-backed {@link EngineDb} for self-host. Pass a file path
11
7
  * (created if absent) or `':memory:'` for tests. Sets WAL + foreign keys.
@@ -16,9 +12,9 @@ import { planMigrations } from '../../db/migrationPlan.js';
16
12
  * is preserved, so {@link NodeEngineDb} stays precisely typed.
17
13
  */
18
14
  export function getSqliteDb(path) {
19
- const sqlite = new Database(path);
15
+ const sqlite = sqliteDriver.open(path);
20
16
  configureSqlite(sqlite, { enableWal: true });
21
- const db = drizzle(sqlite, { schema });
17
+ const db = sqliteDriver.drizzle(sqlite);
22
18
  // `:memory:` databases are connection-local: a transaction and a raw write
23
19
  // share the same connection, so there is no cross-connection lock contention
24
20
  // and no event-loop-freezing busy-wait. Keep the shared connection and only
@@ -117,10 +113,10 @@ function withFileWriteGate(db, path) {
117
113
  // unrelated statements can't join the open transaction. `runAtomicWrites`
118
114
  // detects this capability and prefers it over a batch.
119
115
  db.withTransaction = (fn) => runGated(async () => {
120
- const txSqlite = new Database(path);
116
+ const txSqlite = sqliteDriver.open(path);
121
117
  try {
122
118
  configureSqlite(txSqlite);
123
- const txDb = drizzle(txSqlite, { schema });
119
+ const txDb = sqliteDriver.drizzle(txSqlite);
124
120
  txSqlite.exec('BEGIN IMMEDIATE');
125
121
  try {
126
122
  const result = await fn(txDb);
@@ -243,19 +239,6 @@ function configureSqlite(sqlite, options = {}) {
243
239
  sqlite.pragma('foreign_keys = ON');
244
240
  sqlite.pragma('busy_timeout = 5000');
245
241
  }
246
- function migrationsDir() {
247
- // dist/adapters/node/database.js -> dist/db/migrations
248
- const here = dirname(fileURLToPath(import.meta.url));
249
- const candidates = [
250
- join(here, '../../db/migrations'),
251
- join(here, '../../../src/db/migrations'),
252
- ];
253
- for (const dir of candidates) {
254
- if (existsSync(dir))
255
- return dir;
256
- }
257
- return candidates[0];
258
- }
259
242
  /**
260
243
  * Apply the engine's SQL migrations to a fresh/old SQLite database, in order.
261
244
  * Tracks applied files in a `_engine_migrations` table so repeated boots are
@@ -268,12 +251,8 @@ export function runMigrations(handle) {
268
251
  .prepare(`SELECT name FROM _engine_migrations`)
269
252
  .all()
270
253
  .map((r) => r.name));
271
- const dir = migrationsDir();
272
- const files = readdirSync(dir)
273
- .filter((f) => f.endsWith('.sql'))
274
- .sort();
275
- const supersessionsPath = join(dir, 'supersessions.json');
276
- const pending = planMigrations(files, done, JSON.parse(readFileSync(supersessionsPath, 'utf8')));
254
+ const source = loadMigrationSource();
255
+ const pending = planMigrations(source.files, done, source.supersessions);
277
256
  const applied = [];
278
257
  const insert = sqlite.prepare(`INSERT INTO _engine_migrations (name, applied_at) VALUES (?, ?)`);
279
258
  for (const file of pending) {
@@ -282,7 +261,7 @@ export function runMigrations(handle) {
282
261
  // applied in one transaction so a crash mid-migration can't leave the schema
283
262
  // changed but unrecorded (which would replay and fail on the next boot).
284
263
  // drizzle migrations never contain their own BEGIN/COMMIT, so this won't nest.
285
- const ddl = readFileSync(join(dir, file), 'utf8').replace(/-->\s*statement-breakpoint/g, '');
264
+ const ddl = source.read(file).replace(/-->\s*statement-breakpoint/g, '');
286
265
  const applyOne = sqlite.transaction(() => {
287
266
  sqlite.exec(ddl);
288
267
  insert.run(file, Math.floor(Date.now() / 1000));
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../src/adapters/node/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,QAA4B,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAgB3D;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,eAAe,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAA4B,CAAC;IAElE,2EAA2E;IAC3E,6EAA6E;IAC7E,4EAA4E;IAC5E,mCAAmC;IACnC,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACpC,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IACxB,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;AACrD,CAAC;AAQD,MAAM,IAAI,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;AAE5B,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAA4B,CAAC,IAAI,KAAK,UAAU,CACzD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB,CAAC,EAAgB,EAAE,MAAyB;IAC1E,IAAI,MAAM,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;IACjD,EAAE,CAAC,eAAe,GAAG,CAAI,EAAgC,EAAc,EAAE;QACvE,MAAM,GAAG,GAAG,KAAK,IAAgB,EAAE;YACjC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,EAAyB,CAAC,CAAC;gBACnD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtB,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,MAAM,CAAC,aAAa;oBAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAClD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,iBAAiB,CAAC,EAAgB,EAAE,IAAY;IACvD,IAAI,SAAS,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;IACpD,6EAA6E;IAC7E,wEAAwE;IACxE,0EAA0E;IAC1E,kEAAkE;IAClE,6EAA6E;IAC7E,EAAE;IACF,0EAA0E;IAC1E,8EAA8E;IAC9E,+EAA+E;IAC/E,8EAA8E;IAC9E,6EAA6E;IAC7E,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,IAAI,iBAAiB,EAAuB,CAAC;IAC9D,MAAM,QAAQ,GAAc,CAAI,IAA0B,EAAc,EAAE;QACxE,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC;YAChC,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CACP,uEAAuE;gBACrE,qEAAqE,CACxE,CACF,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,KAAK,IAAgB,EAAE;YACrC,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,EAAE,CAAC;YACtB,CAAC;oBAAS,CAAC;gBACT,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;YACvB,CAAC;QACH,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAClE,0EAA0E;QAC1E,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,wEAAwE;IACxE,0EAA0E;IAC1E,uDAAuD;IACvD,EAAE,CAAC,eAAe,GAAG,CAAI,EAAgC,EAAc,EAAE,CACvE,QAAQ,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAwB,CAAC;YAClE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC9B,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACxB,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,QAAQ,CAAC,aAAa;oBAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;AAEvF;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,EAAgB,EAAE,QAAmB;IAC1D,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE;QACnB,GAAG,CAAC,MAAM,EAAE,IAAI;YACd,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAChD,IAAI,OAAO,KAAK,KAAK,UAAU;gBAAE,OAAO,KAAK,CAAC;YAC9C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjE,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAE,KAAc,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACrF,CAAC;YACD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAChE,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE,CAC5B,gBAAgB,CAAE,KAAc,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAW,EAAE,QAAQ,CAAC,CAAC;YAC9E,CAAC;YACD,0EAA0E;YAC1E,+DAA+D;YAC/D,OAAQ,KAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,oFAAoF;AACpF,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEtF;;;;;;;;;;;;GAYG;AACH,SAAS,gBAAgB,CAAmB,OAAU,EAAE,QAAmB;IACzE,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE;QACxB,GAAG,CAAC,MAAM,EAAE,IAAI;YACd,IAAI,cAAc,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;gBAClF,sEAAsE;gBACtE,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAA8B,CAAC,CAAC,CAAC;gBACpF,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;oBACpB,OAAO,CAAC,GAA6B,EAAE,GAA6B,EAAE,EAAE,CACtE,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC3B,CAAC;gBACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;oBACrB,OAAO,CAAC,GAA6B,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC/D,CAAC;gBACD,OAAO,CAAC,SAAsB,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAChD,IAAI,OAAO,KAAK,KAAK,UAAU;gBAAE,OAAO,KAAK,CAAC;YAC9C,IAAI,cAAc,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtF,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAE,KAAc,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACrF,CAAC;YACD,wEAAwE;YACxE,mEAAmE;YACnE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE,CAC5B,qBAAqB,CAAE,KAAc,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAW,EAAE,QAAQ,CAAC,CAAC;YACnF,CAAC;YACD,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE;gBAC5B,MAAM,MAAM,GAAI,KAAc,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACnD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACpF,CAAC,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAmB,QAAW,EAAE,QAAmB;IAC/E,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE;QACzB,GAAG,CAAC,MAAM,EAAE,IAAI;YACd,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAChD,IAAI,OAAO,KAAK,KAAK,UAAU;gBAAE,OAAO,KAAK,CAAC;YAC9C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpE,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAE,KAAc,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACrF,CAAC;YACD,OAAQ,KAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CACtB,MAAyB,EACzB,UAAmC,EAAE;IAErC,IAAI,OAAO,CAAC,SAAS;QAAE,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC3D,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACnC,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,aAAa;IACpB,uDAAuD;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC;QACjC,IAAI,CAAC,IAAI,EAAE,4BAA4B,CAAC;KACzC,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;IAClC,CAAC;IACD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,MAAsB;IAClD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC1B,MAAM,CAAC,IAAI,CACT,oGAAoG,CACrG,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,GAAG,CAClB,MAAM;SACH,OAAO,CAAC,qCAAqC,CAAC;SAC9C,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAsB,CAAC,IAAI,CAAC,CAC5C,CAAC;IAEF,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC;SAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACjC,IAAI,EAAE,CAAC;IACV,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAEjG,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAC3B,iEAAiE,CAClE,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,6EAA6E;QAC7E,0EAA0E;QAC1E,6EAA6E;QAC7E,yEAAyE;QACzE,+EAA+E;QAC/E,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC;QAC7F,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE;YACvC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../src/adapters/node/database.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-maintenance.d.ts","sourceRoot":"","sources":["../../../src/adapters/node/delivery-maintenance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGvD,UAAU,6BAA6B;IACrC,mBAAmB,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,WAAW,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACrD;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,UAAU,EAChB,UAAU,GAAE,6BAGX,GACA,MAAM,OAAO,CAAC,IAAI,CAAC,CA8BrB"}
1
+ {"version":3,"file":"delivery-maintenance.d.ts","sourceRoot":"","sources":["../../../src/adapters/node/delivery-maintenance.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGvD,UAAU,6BAA6B;IACrC,mBAAmB,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,WAAW,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACrD;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,UAAU,EAChB,UAAU,GAAE,6BAGX,GACA,MAAM,OAAO,CAAC,IAAI,CAAC,CA+BrB"}
@@ -1,3 +1,5 @@
1
+ import { safeTelemetrySink } from '../../ports/telemetry.js';
2
+ import { NoopTelemetrySink } from '../../providers/noop-telemetry.js';
1
3
  import { sweepDueNodeDeliveries, sweepExpiredDeliveries } from '../../routes/deliveryRouting.js';
2
4
  /**
3
5
  * Serialize delivery maintenance so an in-flight HTTP push cannot be expired
@@ -8,6 +10,7 @@ export function createDeliveryMaintenanceRunner(deps, operations = {
8
10
  sweepNodeDeliveries: sweepDueNodeDeliveries,
9
11
  sweepExpiry: sweepExpiredDeliveries,
10
12
  }) {
13
+ const telemetry = safeTelemetrySink(deps.telemetry ?? new NoopTelemetrySink());
11
14
  let running;
12
15
  return () => {
13
16
  if (running)
@@ -17,7 +20,7 @@ export function createDeliveryMaintenanceRunner(deps, operations = {
17
20
  await operations.sweepNodeDeliveries(deps);
18
21
  }
19
22
  catch (err) {
20
- deps.telemetry.captureException(err, {
23
+ telemetry.captureException(err, {
21
24
  source: 'node.maintenance',
22
25
  op: 'node_delivery',
23
26
  });
@@ -26,7 +29,7 @@ export function createDeliveryMaintenanceRunner(deps, operations = {
26
29
  await operations.sweepExpiry(deps);
27
30
  }
28
31
  catch (err) {
29
- deps.telemetry.captureException(err, {
32
+ telemetry.captureException(err, {
30
33
  source: 'node.maintenance',
31
34
  op: 'delivery_expiry',
32
35
  });
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-maintenance.js","sourceRoot":"","sources":["../../../src/adapters/node/delivery-maintenance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAOjG;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAC7C,IAAgB,EAChB,aAA4C;IAC1C,mBAAmB,EAAE,sBAAsB;IAC3C,WAAW,EAAE,sBAAsB;CACpC;IAED,IAAI,OAAkC,CAAC;IAEvC,OAAO,GAAG,EAAE;QACV,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAE5B,MAAM,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE;YACxB,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE;oBACnC,MAAM,EAAE,kBAAkB;oBAC1B,EAAE,EAAE,eAAe;iBACpB,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE;oBACnC,MAAM,EAAE,kBAAkB;oBAC1B,EAAE,EAAE,iBAAiB;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;YAC3B,OAAO,GAAG,SAAS,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"delivery-maintenance.js","sourceRoot":"","sources":["../../../src/adapters/node/delivery-maintenance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAOjG;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAC7C,IAAgB,EAChB,aAA4C;IAC1C,mBAAmB,EAAE,sBAAsB;IAC3C,WAAW,EAAE,sBAAsB;CACpC;IAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,iBAAiB,EAAE,CAAC,CAAC;IAC/E,IAAI,OAAkC,CAAC;IAEvC,OAAO,GAAG,EAAE;QACV,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAE5B,MAAM,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE;YACxB,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE;oBAC9B,MAAM,EAAE,kBAAkB;oBAC1B,EAAE,EAAE,eAAe;iBACpB,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE;oBAC9B,MAAM,EAAE,kBAAkB;oBAC1B,EAAE,EAAE,iBAAiB;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;YAC3B,OAAO,GAAG,SAAS,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/node/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAI9D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,KAAK,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAUzF,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,WAAW,EACX,aAAa,GACd,CAAC;AACF,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,YAAY,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC9D,YAAY,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAE7F,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mEAAmE;IACnE,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,oDAAoD;IACpD,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,2IAA2I;IAC3I,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,+EAA+E;IAC/E,UAAU,CAAC,EAAE,wBAAwB,CAAC;CACvC;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,yFAAyF;IACzF,YAAY,EAAE,iBAAiB,CAAC;IAChC,mFAAmF;IACnF,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,EAAE,cAAc,CAAC;IACvB,gDAAgD;IAChD,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,CA4I1E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/node/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAI9D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,KAAK,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAUzF,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,WAAW,EACX,aAAa,GACd,CAAC;AACF,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,YAAY,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC9D,YAAY,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAE7F,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mEAAmE;IACnE,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,oDAAoD;IACpD,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,2IAA2I;IAC3I,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,+EAA+E;IAC/E,UAAU,CAAC,EAAE,wBAAwB,CAAC;CACvC;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,yFAAyF;IACzF,YAAY,EAAE,iBAAiB,CAAC;IAChC,mFAAmF;IACnF,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,EAAE,cAAc,CAAC;IACvB,gDAAgD;IAChD,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,CA4I1E"}
@@ -1,3 +1,4 @@
1
+ import { safeTelemetrySink } from '../../ports/telemetry.js';
1
2
  import { randomBytes } from 'node:crypto';
2
3
  import { SqliteApiKeyAuthProvider } from '../../auth/index.js';
3
4
  import { StaticEntitlementsProvider } from '../../providers/static-entitlements.js';
@@ -39,7 +40,7 @@ export function createNodeRuntime(options) {
39
40
  }
40
41
  }
41
42
  const db = handle.db;
42
- const telemetry = options.telemetry ?? new NoopTelemetrySink();
43
+ const telemetry = safeTelemetrySink(options.telemetry ?? new NoopTelemetrySink());
43
44
  const testEnvironment = options.config?.environment === 'test';
44
45
  const testFetch = (input, init) => globalThis.fetch(input, init);
45
46
  const outboundWebhookFetch = options.config?.outboundWebhookFetch
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/node/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/node/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /** The engine's SQL migrations: file names, their contents, and the supersession manifest. */
2
+ export interface MigrationSource {
3
+ /** Migration file names (`NNNN_name.sql`). Order is not significant; the planner sorts. */
4
+ files: string[];
5
+ /** Read one migration file's SQL. */
6
+ read(file: string): string;
7
+ /** Parsed `supersessions.json`. */
8
+ supersessions: unknown;
9
+ }
10
+ /**
11
+ * Load migrations from the package's `db/migrations` directory on disk.
12
+ *
13
+ * The standalone single-file build replaces this module at bundle time with one
14
+ * that serves the same files embedded in the binary.
15
+ */
16
+ export declare function loadMigrationSource(): MigrationSource;
17
+ //# sourceMappingURL=migration-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration-source.d.ts","sourceRoot":"","sources":["../../../src/adapters/node/migration-source.ts"],"names":[],"mappings":"AAIA,8FAA8F;AAC9F,MAAM,WAAW,eAAe;IAC9B,2FAA2F;IAC3F,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,qCAAqC;IACrC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,mCAAmC;IACnC,aAAa,EAAE,OAAO,CAAC;CACxB;AAeD;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,eAAe,CAOrD"}
@@ -0,0 +1,31 @@
1
+ import { existsSync, readdirSync, readFileSync } from 'node:fs';
2
+ import { dirname, join } from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+ function migrationsDir() {
5
+ // dist/adapters/node/migration-source.js -> dist/db/migrations
6
+ const here = dirname(fileURLToPath(import.meta.url));
7
+ const candidates = [
8
+ join(here, '../../db/migrations'),
9
+ join(here, '../../../src/db/migrations'),
10
+ ];
11
+ for (const dir of candidates) {
12
+ if (existsSync(dir))
13
+ return dir;
14
+ }
15
+ return candidates[0];
16
+ }
17
+ /**
18
+ * Load migrations from the package's `db/migrations` directory on disk.
19
+ *
20
+ * The standalone single-file build replaces this module at bundle time with one
21
+ * that serves the same files embedded in the binary.
22
+ */
23
+ export function loadMigrationSource() {
24
+ const dir = migrationsDir();
25
+ return {
26
+ files: readdirSync(dir).filter((f) => f.endsWith('.sql')),
27
+ read: (file) => readFileSync(join(dir, file), 'utf8'),
28
+ supersessions: JSON.parse(readFileSync(join(dir, 'supersessions.json'), 'utf8')),
29
+ };
30
+ }
31
+ //# sourceMappingURL=migration-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration-source.js","sourceRoot":"","sources":["../../../src/adapters/node/migration-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAYzC,SAAS,aAAa;IACpB,+DAA+D;IAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC;QACjC,IAAI,CAAC,IAAI,EAAE,4BAA4B,CAAC;KACzC,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;IAClC,CAAC;IACD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,OAAO;QACL,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QACrD,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,EAAE,MAAM,CAAC,CAAC;KACjF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { LookupFunction } from 'node:net';
2
+ /**
3
+ * A minimal `fetch` over `node:https` whose connection resolves the hostname
4
+ * through `lookup`, so the socket opens to exactly the address `lookup`
5
+ * approved, while TLS still verifies the certificate against the URL hostname
6
+ * (SNI and the Host header keep the hostname).
7
+ *
8
+ * This exists for Bun: Bun replaces the `undici` package with a built-in shim
9
+ * whose `fetch` ignores `dispatcher`, so undici's `connect.lookup` pinning
10
+ * silently stops applying. Bun's `node:https` honours `lookup`.
11
+ *
12
+ * Redirects are never followed (callers use `redirect: 'manual'`); the 3xx
13
+ * response is returned as-is.
14
+ */
15
+ export declare function createLookupPinnedHttpsFetch(lookup: LookupFunction): typeof globalThis.fetch;
16
+ //# sourceMappingURL=pinned-https-fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pinned-https-fetch.d.ts","sourceRoot":"","sources":["../../../src/adapters/node/pinned-https-fetch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAM/C;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,UAAU,CAAC,KAAK,CA6D5F"}
@@ -0,0 +1,83 @@
1
+ import { request as httpsRequest } from 'node:https';
2
+ import { Readable } from 'node:stream';
3
+ /** Statuses whose response must not carry a body (`new Response` rejects one). */
4
+ const NULL_BODY_STATUSES = new Set([101, 204, 205, 304]);
5
+ /**
6
+ * A minimal `fetch` over `node:https` whose connection resolves the hostname
7
+ * through `lookup`, so the socket opens to exactly the address `lookup`
8
+ * approved, while TLS still verifies the certificate against the URL hostname
9
+ * (SNI and the Host header keep the hostname).
10
+ *
11
+ * This exists for Bun: Bun replaces the `undici` package with a built-in shim
12
+ * whose `fetch` ignores `dispatcher`, so undici's `connect.lookup` pinning
13
+ * silently stops applying. Bun's `node:https` honours `lookup`.
14
+ *
15
+ * Redirects are never followed (callers use `redirect: 'manual'`); the 3xx
16
+ * response is returned as-is.
17
+ */
18
+ export function createLookupPinnedHttpsFetch(lookup) {
19
+ return async (input, init) => {
20
+ const req = new Request(input, init);
21
+ const url = new URL(req.url);
22
+ if (url.protocol !== 'https:')
23
+ throw new TypeError(`Pinned fetch only supports https: (${url.protocol})`);
24
+ const signal = init?.signal ?? req.signal;
25
+ signal?.throwIfAborted();
26
+ const body = req.body ? Buffer.from(await req.arrayBuffer()) : undefined;
27
+ // The signal may have aborted while the body was buffered.
28
+ signal?.throwIfAborted();
29
+ const headers = {};
30
+ req.headers.forEach((value, key) => {
31
+ headers[key] = value;
32
+ });
33
+ if (body && headers['content-length'] === undefined)
34
+ headers['content-length'] = String(body.length);
35
+ // Response bodies are passed through undecoded, so ask for an unencoded one.
36
+ if (headers['accept-encoding'] === undefined)
37
+ headers['accept-encoding'] = 'identity';
38
+ return new Promise((resolve, reject) => {
39
+ const client = httpsRequest({
40
+ protocol: 'https:',
41
+ hostname: url.hostname.replace(/^\[(.*)\]$/, '$1'),
42
+ port: url.port || 443,
43
+ path: `${url.pathname}${url.search}`,
44
+ method: req.method,
45
+ headers,
46
+ lookup,
47
+ agent: false,
48
+ }, (res) => {
49
+ // This callback runs outside the executor, so a throw here (e.g.
50
+ // `new Response` refusing a status outside 200-599) would escape as
51
+ // an uncaught exception instead of rejecting the fetch.
52
+ try {
53
+ const responseHeaders = new Headers();
54
+ for (const [key, value] of Object.entries(res.headers)) {
55
+ if (value === undefined)
56
+ continue;
57
+ for (const item of Array.isArray(value) ? value : [value])
58
+ responseHeaders.append(key, item);
59
+ }
60
+ const status = res.statusCode ?? 502;
61
+ if (status < 200 || status > 599)
62
+ throw new TypeError(`Unsupported response status ${status}`);
63
+ const responseBody = NULL_BODY_STATUSES.has(status) || req.method === 'HEAD'
64
+ ? null
65
+ : Readable.toWeb(res);
66
+ if (responseBody === null)
67
+ res.resume();
68
+ resolve(new Response(responseBody, { status, statusText: res.statusMessage, headers: responseHeaders }));
69
+ }
70
+ catch (err) {
71
+ res.destroy();
72
+ reject(err);
73
+ }
74
+ });
75
+ const onAbort = () => client.destroy(signal?.reason instanceof Error ? signal.reason : new Error('The operation was aborted'));
76
+ signal?.addEventListener('abort', onAbort, { once: true });
77
+ client.on('close', () => signal?.removeEventListener('abort', onAbort));
78
+ client.on('error', reject);
79
+ client.end(body);
80
+ });
81
+ };
82
+ }
83
+ //# sourceMappingURL=pinned-https-fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pinned-https-fetch.js","sourceRoot":"","sources":["../../../src/adapters/node/pinned-https-fetch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import Database from 'better-sqlite3';
2
+ /**
3
+ * The raw SQLite connection surface the Node adapter uses for migrations,
4
+ * pragmas, transactions, and shutdown. It is better-sqlite3's `Database`;
5
+ * another driver supplies a facade that implements the subset the engine
6
+ * relies on (`exec`, `prepare`, `pragma`, `transaction`, `inTransaction`,
7
+ * `open`, `close`).
8
+ */
9
+ export type SqliteConnection = Database.Database;
10
+ /**
11
+ * The seam between the Node adapter and a concrete synchronous SQLite driver.
12
+ *
13
+ * This module is the default (better-sqlite3). The standalone single-file
14
+ * build replaces it at bundle time with a `bun:sqlite` implementation that
15
+ * exports the same `sqliteDriver` binding (see `packages/engine/standalone/`),
16
+ * so every engine code path stays shared.
17
+ */
18
+ export interface SqliteDriver {
19
+ /** Driver name, for diagnostics. */
20
+ readonly name: string;
21
+ /** Open (creating if absent) a database file, or `':memory:'`. */
22
+ open(path: string): SqliteConnection;
23
+ /** Build the synchronous Drizzle handle over the engine schema for `sqlite`. */
24
+ drizzle(sqlite: SqliteConnection): unknown;
25
+ }
26
+ export declare const sqliteDriver: SqliteDriver;
27
+ //# sourceMappingURL=sqlite-driver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-driver.d.ts","sourceRoot":"","sources":["../../../src/adapters/node/sqlite-driver.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAItC;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC;AAEjD;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,oCAAoC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAC;IACrC,gFAAgF;IAChF,OAAO,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC;CAC5C;AAED,eAAO,MAAM,YAAY,EAAE,YAI1B,CAAC"}
@@ -0,0 +1,9 @@
1
+ import Database from 'better-sqlite3';
2
+ import { drizzle } from 'drizzle-orm/better-sqlite3';
3
+ import * as schema from '../../db/schema.js';
4
+ export const sqliteDriver = {
5
+ name: 'better-sqlite3',
6
+ open: (path) => new Database(path),
7
+ drizzle: (sqlite) => drizzle(sqlite, { schema }),
8
+ };
9
+ //# sourceMappingURL=sqlite-driver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-driver.js","sourceRoot":"","sources":["../../../src/adapters/node/sqlite-driver.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AA4B7C,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC;IAClC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC;CACjD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ssrf-fetch.d.ts","sourceRoot":"","sources":["../../../src/adapters/node/ssrf-fetch.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,KAAK,IAAI,WAAW,EAAyC,MAAM,QAAQ,CAAC;AAiC5F,uFAAuF;AACvF,wBAAgB,0BAA0B,CACxC,SAAS,GAAE,OAAO,WAAyB,GAC1C,OAAO,UAAU,CAAC,KAAK,CAmBzB;AAED,eAAO,MAAM,oBAAoB,cAA+B,CAAC;AAejE;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,GAAE,OAAO,UAAU,CAAC,KAA4B,EACzD,UAAU,GAAE,OAAO,UAAU,CAAC,KAAwB,GACrD,OAAO,UAAU,CAAC,KAAK,CAQzB"}
1
+ {"version":3,"file":"ssrf-fetch.d.ts","sourceRoot":"","sources":["../../../src/adapters/node/ssrf-fetch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,KAAK,IAAI,WAAW,EAAyC,MAAM,QAAQ,CAAC;AA4C5F,uFAAuF;AACvF,wBAAgB,0BAA0B,CACxC,SAAS,GAAE,OAAO,WAA6B,GAC9C,OAAO,UAAU,CAAC,KAAK,CAmBzB;AAED,eAAO,MAAM,oBAAoB,cAA+B,CAAC;AAejE;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,GAAE,OAAO,UAAU,CAAC,KAA4B,EACzD,UAAU,GAAE,OAAO,UAAU,CAAC,KAAwB,GACrD,OAAO,UAAU,CAAC,KAAK,CAQzB"}
@@ -1,35 +1,42 @@
1
1
  import { lookup } from 'node:dns';
2
2
  import { Agent, fetch as undiciFetch } from 'undici';
3
3
  import { isGlobalIpAddress, isSafeExternalUrl } from '../../lib/ssrf.js';
4
- const dispatcher = new Agent({
5
- connect: {
6
- // This callback is the connection's DNS lookup, not a preflight lookup.
7
- // Undici therefore opens the socket to the exact address classified here
8
- // while preserving the URL hostname for Host/SNI/TLS verification.
9
- lookup(hostname, options, callback) {
10
- lookup(hostname, { all: true, verbatim: true }, (error, addresses) => {
11
- if (error) {
12
- callback(error, '', 0);
13
- return;
14
- }
15
- const unsafe = addresses.find((entry) => !isGlobalIpAddress(entry.address));
16
- if (unsafe || addresses.length === 0) {
17
- const rejection = Object.assign(new Error(`Outbound webhook DNS resolved to a non-global address for ${hostname}`), { code: 'ENOTFOUND' });
18
- callback(rejection, '', 0);
19
- return;
20
- }
21
- if (options.all) {
22
- callback(null, addresses);
23
- }
24
- else {
25
- callback(null, addresses[0].address, addresses[0].family);
26
- }
27
- });
28
- },
29
- },
30
- });
4
+ import { createLookupPinnedHttpsFetch } from './pinned-https-fetch.js';
5
+ /**
6
+ * The connection's DNS lookup, not a preflight lookup: the transport opens the
7
+ * socket to the exact address classified here while preserving the URL
8
+ * hostname for Host/SNI/TLS verification.
9
+ */
10
+ const pinnedGlobalLookup = (hostname, options, callback) => {
11
+ lookup(hostname, { all: true, verbatim: true }, (error, addresses) => {
12
+ if (error) {
13
+ callback(error, '', 0);
14
+ return;
15
+ }
16
+ const unsafe = addresses.find((entry) => !isGlobalIpAddress(entry.address));
17
+ if (unsafe || addresses.length === 0) {
18
+ const rejection = Object.assign(new Error(`Outbound webhook DNS resolved to a non-global address for ${hostname}`), { code: 'ENOTFOUND' });
19
+ callback(rejection, '', 0);
20
+ return;
21
+ }
22
+ if (options.all) {
23
+ callback(null, addresses);
24
+ }
25
+ else {
26
+ callback(null, addresses[0].address, addresses[0].family);
27
+ }
28
+ });
29
+ };
30
+ const dispatcher = new Agent({ connect: { lookup: pinnedGlobalLookup } });
31
+ /**
32
+ * Under Bun (the standalone binary, or the package run with `bun`), `undici`
33
+ * resolves to Bun's built-in shim, whose `fetch` ignores `dispatcher` — the
34
+ * pinned lookup above would silently stop applying. Bun's `node:https`
35
+ * honours `lookup`, so use it there; Node keeps undici.
36
+ */
37
+ const pinnedTransport = (typeof process.versions.bun === 'string' ? createLookupPinnedHttpsFetch(pinnedGlobalLookup) : undiciFetch);
31
38
  /** HTTPS-only fetch whose connector validates and pins DNS answers at connect time. */
32
- export function createNodeSafeWebhookFetch(fetchImpl = undiciFetch) {
39
+ export function createNodeSafeWebhookFetch(fetchImpl = pinnedTransport) {
33
40
  return async (input, init) => {
34
41
  const rawUrl = typeof input === 'string'
35
42
  ? input
@@ -1 +1 @@
1
- {"version":3,"file":"ssrf-fetch.js","sourceRoot":"","sources":["../../../src/adapters/node/ssrf-fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ssrf-fetch.js","sourceRoot":"","sources":["../../../src/adapters/node/ssrf-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,KAAK,EAAE,KAAK,IAAI,WAAW,EAAyC,MAAM,QAAQ,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAEvE;;;;GAIG;AACH,MAAM,kBAAkB,GAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACzE,MAAM,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACnE,IAAI,KAAK,EAAE,CAAC;YACV,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5E,IAAI,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAC7B,IAAI,KAAK,CAAC,6DAA6D,QAAQ,EAAE,CAAC,EAClF,EAAE,IAAI,EAAE,WAAW,EAAE,CACtB,CAAC;YACF,QAAQ,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,eAAe,GAAG,CACtB,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,WAAW,CACpF,CAAC;AAExB,uFAAuF;AACvF,MAAM,UAAU,0BAA0B,CACxC,YAAgC,eAAe;IAE/C,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ;YACtC,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,KAAK,YAAY,GAAG;gBACpB,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAClB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QAChB,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,YAAY,GAAG,KAAK,YAAY,OAAO;YAC3C,CAAC,CAAC,KAAqD;YACvD,CAAC,CAAC,MAAM,CAAC;QACX,OAAO,SAAS,CAAC,YAAY,EAAE;YAC7B,GAAI,IAA0B;YAC9B,QAAQ,EAAE,QAAQ;YAClB,UAAU;SACX,CAAwB,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,0BAA0B,EAAE,CAAC;AAEjE,SAAS,aAAa,CAAC,KAA6B;IAClD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ;YACtC,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,KAAK,YAAY,GAAG;gBACpB,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAClB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QAChB,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAC5C,QAAiB,EACjB,YAAqC,oBAAoB,EACzD,aAAsC,UAAU,CAAC,KAAK;IAEtD,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,eAAe,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,eAAe,EAAE,CAAC;YAChE,OAAO,UAAU,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC"}
package/dist/bin/serve.js CHANGED
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { startServer } from '../entrypoints/node.js';
3
+ import { engineVersion } from './version.js';
3
4
  const HELP = `relaycast-engine — run a self-hosted Relaycast server (Node + SQLite)
4
5
 
5
6
  Usage:
@@ -10,6 +11,7 @@ Options:
10
11
  --port <n> HTTP port (default: $PORT or 8787)
11
12
  --base-url <url> Public origin for signed file URLs (default: http://localhost:<port>)
12
13
  --env <name> Environment label (default: production)
14
+ -v, --version Print the engine version
13
15
  -h, --help Show this help
14
16
 
15
17
  After start, create a workspace:
@@ -22,11 +24,14 @@ function parseArgs(argv, env) {
22
24
  baseUrl: undefined,
23
25
  environment: env.RELAYCAST_ENV ?? 'production',
24
26
  help: false,
27
+ version: false,
25
28
  };
26
29
  for (let i = 0; i < argv.length; i++) {
27
30
  const arg = argv[i];
28
31
  if (arg === '--help' || arg === '-h')
29
32
  out.help = true;
33
+ else if (arg === '--version' || arg === '-v')
34
+ out.version = true;
30
35
  else if (arg === '--db')
31
36
  out.db = argv[++i] ?? out.db;
32
37
  else if (arg === '--port')
@@ -44,6 +49,10 @@ async function main() {
44
49
  process.stdout.write(HELP);
45
50
  return;
46
51
  }
52
+ if (opts.version) {
53
+ process.stdout.write(`${engineVersion()}\n`);
54
+ return;
55
+ }
47
56
  if (!Number.isFinite(opts.port) || opts.port <= 0) {
48
57
  process.stderr.write('Invalid --port\n');
49
58
  process.exitCode = 1;