@plumbus/core 0.8.0-beta.6 → 0.8.0-beta.8
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.
- package/CHANGELOG.md +33 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/ai/provider.d.ts.map +1 -1
- package/dist/ai/provider.js +25 -15
- package/dist/ai/provider.js.map +1 -1
- package/dist/cli/commands/migrate.d.ts.map +1 -1
- package/dist/cli/commands/migrate.js +3 -14
- package/dist/cli/commands/migrate.js.map +1 -1
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +2 -7
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/seed.d.ts.map +1 -1
- package/dist/cli/commands/seed.js +2 -7
- package/dist/cli/commands/seed.js.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +3 -1
- package/dist/config/loader.js.map +1 -1
- package/dist/data/connection.d.ts +23 -0
- package/dist/data/connection.d.ts.map +1 -1
- package/dist/data/connection.js +23 -6
- package/dist/data/connection.js.map +1 -1
- package/dist/events/dispatcher.d.ts +9 -0
- package/dist/events/dispatcher.d.ts.map +1 -1
- package/dist/events/dispatcher.js +36 -17
- package/dist/events/dispatcher.js.map +1 -1
- package/dist/events/pipeline-audit.d.ts +14 -0
- package/dist/events/pipeline-audit.d.ts.map +1 -0
- package/dist/events/pipeline-audit.js +29 -0
- package/dist/events/pipeline-audit.js.map +1 -0
- package/dist/events/worker.d.ts +3 -0
- package/dist/events/worker.d.ts.map +1 -1
- package/dist/events/worker.js +13 -11
- package/dist/events/worker.js.map +1 -1
- package/dist/worker/bootstrap.d.ts.map +1 -1
- package/dist/worker/bootstrap.js +3 -0
- package/dist/worker/bootstrap.js.map +1 -1
- package/instructions/ai.md +1 -1
- package/package.json +3 -3
|
@@ -8,6 +8,7 @@ import { createRequire } from 'node:module';
|
|
|
8
8
|
import * as path from 'node:path';
|
|
9
9
|
import { pathToFileURL } from 'node:url';
|
|
10
10
|
import { loadConfig } from '../../config/loader.js';
|
|
11
|
+
import { postgresConnectionOptions } from '../../data/connection.js';
|
|
11
12
|
import { collectSchemas } from '../../data/migration.js';
|
|
12
13
|
import { discoverResources } from '../discover.js';
|
|
13
14
|
import { info, error as logError, resolvePath, success, warn } from '../utils.js';
|
|
@@ -19,13 +20,7 @@ async function connectDb() {
|
|
|
19
20
|
const config = loadConfig({});
|
|
20
21
|
const { drizzle } = await import('drizzle-orm/postgres-js');
|
|
21
22
|
const postgres = (await import('postgres')).default;
|
|
22
|
-
const sql = postgres(
|
|
23
|
-
host: config.database.host,
|
|
24
|
-
port: config.database.port,
|
|
25
|
-
database: config.database.database,
|
|
26
|
-
username: config.database.user,
|
|
27
|
-
password: config.database.password,
|
|
28
|
-
});
|
|
23
|
+
const sql = postgres(postgresConnectionOptions(config.database));
|
|
29
24
|
return { db: drizzle(sql), sql, close: () => sql.end() };
|
|
30
25
|
}
|
|
31
26
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seed.js","sourceRoot":"","sources":["../../../src/cli/commands/seed.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,6DAA6D;AAC7D,oEAAoE;AACpE,0EAA0E;AAC1E,gCAAgC;AAIhC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAOlF;;GAEG;AACH,KAAK,UAAU,SAAS;IAKtB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;QACpD,MAAM,GAAG,GAAG,QAAQ,CAAC
|
|
1
|
+
{"version":3,"file":"seed.js","sourceRoot":"","sources":["../../../src/cli/commands/seed.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,6DAA6D;AAC7D,oEAAoE;AACpE,0EAA0E;AAC1E,gCAAgC;AAIhC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAOlF;;GAEG;AACH,KAAK,UAAU,SAAS;IAKtB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;QACpD,MAAM,GAAG,GAAG,QAAQ,CAAC,yBAAyB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjE,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,OAAO,EAAE;SACN,WAAW,CAAC,OAAO,CAAC;SACpB,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QACpB,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QACvB,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC1B;SACA,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAAgB,EAChB,EAAsB,EACtB,GAAQ,EACR,OAAgC;IAEhC,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;IAC7C,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAA4B,CAAC;IAE/D,MAAM,MAAM,GACV,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU;QAC/B,CAAC,CAAE,GAAG,CAAC,OAIc;QACrB,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU;YAC9B,CAAC,CAAE,GAAG,CAAC,IAIc;YACrB,CAAC,CAAC,IAAI,CAAC;IAEb,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,aAAa,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,4DAA4D,CACjG,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,yDAAyD,CAAC;SACtE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,eAAe,EAAE,yCAAyC,CAAC;SAClE,MAAM,CAAC,KAAK,EAAE,IAAiB,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE5C,sBAAsB;QACtB,IAAI,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAE3C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,mCAAmC,EAAE,EAClE,IAAI,EACJ,CAAC,CACF,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CACF,2FAA2F,CAC5F,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QAED,8CAA8C;QAC9C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC9B,OAAO,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC;YACxF,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,IAAI,CAAC,IAAI,aAAa,EAAE,EAChE,IAAI,EACJ,CAAC,CACF,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,cAAc,IAAI,CAAC,IAAI,2BAA2B,CAAC,CAAC;gBAC/D,CAAC;gBACD,OAAO;YACT,CAAC;YACD,SAAS,GAAG,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,0CAA0C,CAAC,CAAC;QAE1E,MAAM,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,+BAA+B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CACrF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,uEAAuE,CAAC,CAAC;YACpF,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,2EAA2E;YAC3E,MAAM,SAAS,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAEnD,gEAAgE;YAChE,IAAI,UAAoC,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAC/C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtD,UAAU,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,mDAAmD;YACrD,CAAC;YAED,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,MAAM,MAAM,GAA2C,EAAE,CAAC;YAE1D,IAAI,CAAC;gBACH,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACzC,IAAI,CAAC;wBACH,IAAI,CAAC,IAAI,CAAC,IAAI;4BAAE,IAAI,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;wBAClD,MAAM,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;wBACxD,QAAQ,EAAE,CAAC;wBACX,IAAI,CAAC,IAAI,CAAC,IAAI;4BAAE,OAAO,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;oBACzD,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAC7D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;wBAC5C,IAAI,CAAC,IAAI,CAAC,IAAI;4BAAE,QAAQ,CAAC,gBAAgB,QAAQ,MAAM,GAAG,EAAE,CAAC,CAAC;oBAChE,CAAC;gBACH,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,UAAU,EAAE,EAAE,CAAC;YACjB,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7E,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,OAAO,QAAQ,kCAAkC,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,QAAQ,uBAAuB,MAAM,CAAC,MAAM,UAAU,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAEV,iBAAiB,EAGjB,WAAW,EAEX,aAAa,EACb,mBAAmB,EAEpB,MAAM,oBAAoB,CAAC;AAO5B,MAAM,WAAW,iBAAiB;IAChC,mEAAmE;IACnE,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,0DAA0D;IAC1D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,oDAAoD;AACpD,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,aAAa,CAkBrE;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAEV,iBAAiB,EAGjB,WAAW,EAEX,aAAa,EACb,mBAAmB,EAEpB,MAAM,oBAAoB,CAAC;AAO5B,MAAM,WAAW,iBAAiB;IAChC,mEAAmE;IACnE,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,0DAA0D;IAC1D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,oDAAoD;AACpD,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,aAAa,CAkBrE;AAwJD,iEAAiE;AACjE,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtC,iBAAiB,GAAG,SAAS,CAkC/B;AAkDD,6EAA6E;AAC7E,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG,SAAS,CA0BjD;AA2BD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,sBAAsB,CAsD5E"}
|
package/dist/config/loader.js
CHANGED
|
@@ -46,7 +46,9 @@ function loadDatabaseConfig(env, environment) {
|
|
|
46
46
|
database: env.DATABASE_NAME ?? env.DB_NAME ?? env.PGDATABASE ?? defaults.database,
|
|
47
47
|
user: env.DATABASE_USER ?? env.DB_USER ?? env.PGUSER ?? defaults.user,
|
|
48
48
|
password: env.DATABASE_PASSWORD ?? env.DB_PASSWORD ?? env.PGPASSWORD ?? defaults.password,
|
|
49
|
-
|
|
49
|
+
// TLS to Postgres: on in production unless DATABASE_SSL=false says the server has none
|
|
50
|
+
// (validateConfig then warns); elsewhere only with DATABASE_SSL=true.
|
|
51
|
+
ssl: env.DATABASE_SSL === 'true' || (environment === 'production' && env.DATABASE_SSL !== 'false'),
|
|
50
52
|
poolSize: parseInt(env.DATABASE_POOL_SIZE ?? (environment === 'production' ? '20' : '5'), 10),
|
|
51
53
|
};
|
|
52
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,29 @@ export interface DatabaseConnection {
|
|
|
7
7
|
/** Live postgres.js client; omitted when tests inject `db` only. */
|
|
8
8
|
sql?: postgres.Sql;
|
|
9
9
|
}
|
|
10
|
+
/** The postgres.js options every framework connection built from `config.database` shares. */
|
|
11
|
+
export interface PostgresConnectionOptions {
|
|
12
|
+
host: string;
|
|
13
|
+
port: number;
|
|
14
|
+
database: string;
|
|
15
|
+
username: string;
|
|
16
|
+
password: string;
|
|
17
|
+
ssl?: boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* postgres.js options for the configured database — the one place they are assembled, so
|
|
21
|
+
* every connection made from `config.database` (the server and worker pool, `plumbus seed`,
|
|
22
|
+
* `plumbus run`, `migrate`'s maintenance connections) carries the same TLS decision.
|
|
23
|
+
*
|
|
24
|
+
* `ssl` is passed through as configured: `loadConfig` sets it in production (and from
|
|
25
|
+
* `DATABASE_SSL=true`), and `true` makes postgres.js negotiate TLS and verify the server's
|
|
26
|
+
* certificate (add a private CA with `NODE_EXTRA_CA_CERTS`). Leaving it out used to connect
|
|
27
|
+
* in plain text even when the configuration asked for TLS, which a Postgres that requires TLS
|
|
28
|
+
* refuses — Amazon RDS for PostgreSQL 15+ (`rds.force_ssl=1`) answers `28000 no encryption`.
|
|
29
|
+
*
|
|
30
|
+
* @param database Defaults to the configured database; maintenance work passes `'postgres'`.
|
|
31
|
+
*/
|
|
32
|
+
export declare function postgresConnectionOptions(config: DatabaseConfig, database?: string): PostgresConnectionOptions;
|
|
10
33
|
export declare function connectPostgresDatabase(config: DatabaseConfig): Promise<DatabaseConnection>;
|
|
11
34
|
export declare function resolveDatabaseConnection(config: DatabaseConfig, options: {
|
|
12
35
|
db?: PostgresJsDatabase;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/data/connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,+DAA+D;AAC/D,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,kBAAkB,CAAC;IACvB,oEAAoE;IACpE,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC;CACpB;AAED,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/data/connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,+DAA+D;AAC/D,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,kBAAkB,CAAC;IACvB,oEAAoE;IACpE,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC;CACpB;AAED,8FAA8F;AAC9F,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,cAAc,EACtB,QAAQ,GAAE,MAAwB,GACjC,yBAAyB,CAS3B;AAED,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAKjG;AAED,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE;IAAE,EAAE,CAAC,EAAE,kBAAkB,CAAC;IAAC,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAAE,GACpE,OAAO,CAAC,kBAAkB,CAAC,CAQ7B;AAED,wBAAsB,uBAAuB,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3F"}
|
package/dist/data/connection.js
CHANGED
|
@@ -1,13 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/**
|
|
2
|
+
* postgres.js options for the configured database — the one place they are assembled, so
|
|
3
|
+
* every connection made from `config.database` (the server and worker pool, `plumbus seed`,
|
|
4
|
+
* `plumbus run`, `migrate`'s maintenance connections) carries the same TLS decision.
|
|
5
|
+
*
|
|
6
|
+
* `ssl` is passed through as configured: `loadConfig` sets it in production (and from
|
|
7
|
+
* `DATABASE_SSL=true`), and `true` makes postgres.js negotiate TLS and verify the server's
|
|
8
|
+
* certificate (add a private CA with `NODE_EXTRA_CA_CERTS`). Leaving it out used to connect
|
|
9
|
+
* in plain text even when the configuration asked for TLS, which a Postgres that requires TLS
|
|
10
|
+
* refuses — Amazon RDS for PostgreSQL 15+ (`rds.force_ssl=1`) answers `28000 no encryption`.
|
|
11
|
+
*
|
|
12
|
+
* @param database Defaults to the configured database; maintenance work passes `'postgres'`.
|
|
13
|
+
*/
|
|
14
|
+
export function postgresConnectionOptions(config, database = config.database) {
|
|
15
|
+
return {
|
|
5
16
|
host: config.host,
|
|
6
17
|
port: config.port,
|
|
7
|
-
database
|
|
18
|
+
database,
|
|
8
19
|
username: config.user,
|
|
9
20
|
password: config.password,
|
|
10
|
-
|
|
21
|
+
...(config.ssl === undefined ? {} : { ssl: config.ssl }),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export async function connectPostgresDatabase(config) {
|
|
25
|
+
const postgresModule = (await import('postgres')).default;
|
|
26
|
+
const { drizzle } = await import('drizzle-orm/postgres-js');
|
|
27
|
+
const sql = postgresModule(postgresConnectionOptions(config));
|
|
11
28
|
return { db: drizzle(sql), sql };
|
|
12
29
|
}
|
|
13
30
|
export async function resolveDatabaseConnection(config, options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/data/connection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/data/connection.ts"],"names":[],"mappings":"AAqBA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAAsB,EACtB,WAAmB,MAAM,CAAC,QAAQ;IAElC,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ;QACR,QAAQ,EAAE,MAAM,CAAC,IAAI;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,MAAsB;IAClE,MAAM,cAAc,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,cAAc,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,MAAsB,EACtB,OAAqE;IAErE,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC,UAAU,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;IAC5B,CAAC;IACD,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,UAA8B;IAC1E,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;QACnB,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { PostgresJsDatabase } from 'drizzle-orm/postgres-js';
|
|
2
2
|
import type { DataPlaneResolver } from '../tenancy/types.js';
|
|
3
3
|
import type { AuditService } from '../types/audit.js';
|
|
4
|
+
import type { LoggerService } from '../types/context.js';
|
|
4
5
|
import type { PlumbusMetrics } from '../observability/metrics.js';
|
|
5
6
|
import type { EventQueue } from './queue.js';
|
|
6
7
|
export interface DispatcherConfig {
|
|
@@ -18,6 +19,14 @@ export interface DispatcherConfig {
|
|
|
18
19
|
backoffBaseMs?: number;
|
|
19
20
|
/** Max backoff delay in ms (default: 60000) */
|
|
20
21
|
backoffMaxMs?: number;
|
|
22
|
+
/**
|
|
23
|
+
* How long a claimed (`processing`) row may stay unpublished before a later
|
|
24
|
+
* poll returns it to `pending` (default: 300000). Covers a dispatcher that
|
|
25
|
+
* stopped between claim and publish.
|
|
26
|
+
*/
|
|
27
|
+
claimTimeoutMs?: number;
|
|
28
|
+
/** Receives audit write and poll failures (default: console) */
|
|
29
|
+
logger?: LoggerService;
|
|
21
30
|
/**
|
|
22
31
|
* When set with `listTenantRefs`, each poll resolves those tenants and
|
|
23
32
|
* drains `event_outbox` (and `dispatch_outbox` when `spineDb` is set) on
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/events/dispatcher.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/events/dispatcher.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,kBAAkB,CAAC;IACvB,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,8EAA8E;IAC9E,cAAc,CAAC,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE;;;OAGG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAOD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB;IA+P3D,mDAAmD;gBAzC9B,OAAO,CAAC,MAAM,CAAC;IA4CpC,wCAAwC;aAC/B,IAAI;IAOb,uCAAuC;YAC/B,IAAI;wBAQK,OAAO;EAI3B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { and, eq } from 'drizzle-orm';
|
|
1
|
+
import { and, eq, lt } from 'drizzle-orm';
|
|
2
2
|
import { FRAMEWORK_SCHEMA, resolveFrameworkSchema } from '../data/schema-generator.js';
|
|
3
3
|
import { deadLetterTable, outboxTable } from './outbox.js';
|
|
4
|
+
import { recordPipelineAudit } from './pipeline-audit.js';
|
|
4
5
|
/**
|
|
5
6
|
* Creates a dispatcher that polls the outbox table for pending events,
|
|
6
7
|
* publishes them to the queue, and marks them as dispatched.
|
|
@@ -11,7 +12,7 @@ import { deadLetterTable, outboxTable } from './outbox.js';
|
|
|
11
12
|
* when `spineDb` is set — not a second bus.
|
|
12
13
|
*/
|
|
13
14
|
export function createOutboxDispatcher(config) {
|
|
14
|
-
const { db, queue, pollIntervalMs = 1000, batchSize = 100, maxRetries = 5, backoffBaseMs = 1000, backoffMaxMs = 60_000, metrics, audit, resolver, listTenantRefs, spineDb, } = config;
|
|
15
|
+
const { db, queue, pollIntervalMs = 1000, batchSize = 100, maxRetries = 5, backoffBaseMs = 1000, backoffMaxMs = 60_000, claimTimeoutMs = 300_000, metrics, audit, logger, resolver, listTenantRefs, spineDb, } = config;
|
|
15
16
|
let timer = null;
|
|
16
17
|
let running = false;
|
|
17
18
|
let polling = false;
|
|
@@ -19,6 +20,13 @@ export function createOutboxDispatcher(config) {
|
|
|
19
20
|
function computeBackoff(attempt) {
|
|
20
21
|
return Math.min(backoffBaseMs * 2 ** attempt, backoffMaxMs);
|
|
21
22
|
}
|
|
23
|
+
/** Logger messages are sentence case; the console fallback keeps the `[plumbus]` prefix. */
|
|
24
|
+
function logError(message, details) {
|
|
25
|
+
if (logger)
|
|
26
|
+
logger.error(message, details);
|
|
27
|
+
else
|
|
28
|
+
console.error(`[plumbus] ${message.charAt(0).toLowerCase()}${message.slice(1)}`, details);
|
|
29
|
+
}
|
|
22
30
|
// Where `dispatch_outbox` is, on every plane: the engine's own resolution, mirrored.
|
|
23
31
|
const durableSchema = config.frameworkSchema ?? resolveFrameworkSchema() ?? FRAMEWORK_SCHEMA;
|
|
24
32
|
async function resolveTargets() {
|
|
@@ -35,6 +43,11 @@ export function createOutboxDispatcher(config) {
|
|
|
35
43
|
}
|
|
36
44
|
async function pollEventOutbox(targetDb) {
|
|
37
45
|
const now = new Date();
|
|
46
|
+
// Release claims whose dispatcher stopped before publishing
|
|
47
|
+
await targetDb
|
|
48
|
+
.update(outboxTable)
|
|
49
|
+
.set({ status: 'pending' })
|
|
50
|
+
.where(and(eq(outboxTable.status, 'processing'), lt(outboxTable.dispatchedAt, new Date(now.getTime() - claimTimeoutMs))));
|
|
38
51
|
const rows = await targetDb
|
|
39
52
|
.select()
|
|
40
53
|
.from(outboxTable)
|
|
@@ -83,13 +96,13 @@ export function createOutboxDispatcher(config) {
|
|
|
83
96
|
causationId: row.causationId ?? undefined,
|
|
84
97
|
payload: row.payload,
|
|
85
98
|
};
|
|
99
|
+
// No outcome yet: audit outcomes are `success | failure | denied`
|
|
100
|
+
await recordPipelineAudit(audit, logger, 'event.dispatch.attempt', {
|
|
101
|
+
eventId: row.id,
|
|
102
|
+
eventType: row.eventType,
|
|
103
|
+
tenantId: row.tenantId,
|
|
104
|
+
});
|
|
86
105
|
try {
|
|
87
|
-
// Audit outcomes are `success | failure | denied`; an attempt has none yet.
|
|
88
|
-
await audit?.record('event.dispatch.attempt', {
|
|
89
|
-
eventId: row.id,
|
|
90
|
-
eventType: row.eventType,
|
|
91
|
-
tenantId: row.tenantId,
|
|
92
|
-
});
|
|
93
106
|
await queue.publish(envelope);
|
|
94
107
|
await targetDb
|
|
95
108
|
.update(outboxTable)
|
|
@@ -97,7 +110,7 @@ export function createOutboxDispatcher(config) {
|
|
|
97
110
|
.where(eq(outboxTable.id, row.id));
|
|
98
111
|
dispatched++;
|
|
99
112
|
metrics?.eventEmitted.inc({ eventType: row.eventType });
|
|
100
|
-
await audit
|
|
113
|
+
await recordPipelineAudit(audit, logger, 'event.dispatch.dispatched', {
|
|
101
114
|
eventId: row.id,
|
|
102
115
|
eventType: row.eventType,
|
|
103
116
|
tenantId: row.tenantId,
|
|
@@ -107,7 +120,7 @@ export function createOutboxDispatcher(config) {
|
|
|
107
120
|
catch (err) {
|
|
108
121
|
const retryCount = parseInt(row.retryCount, 10) + 1;
|
|
109
122
|
const errorMsg = err instanceof Error ? err.message : String(err);
|
|
110
|
-
await audit
|
|
123
|
+
await recordPipelineAudit(audit, logger, 'event.dispatch.failed', {
|
|
111
124
|
eventId: row.id,
|
|
112
125
|
eventType: row.eventType,
|
|
113
126
|
tenantId: row.tenantId,
|
|
@@ -164,7 +177,7 @@ export function createOutboxDispatcher(config) {
|
|
|
164
177
|
published += 1;
|
|
165
178
|
}
|
|
166
179
|
catch (err) {
|
|
167
|
-
|
|
180
|
+
logError('dispatch_outbox pump failed', {
|
|
168
181
|
tenantRef: target.tenantRef,
|
|
169
182
|
outboxId: row.outboxId,
|
|
170
183
|
error: err instanceof Error ? err.message : String(err),
|
|
@@ -188,7 +201,7 @@ export function createOutboxDispatcher(config) {
|
|
|
188
201
|
dispatched += await pumpDispatchOutbox(target);
|
|
189
202
|
}
|
|
190
203
|
catch (err) {
|
|
191
|
-
|
|
204
|
+
logError('Outbox poll failed for one plane', {
|
|
192
205
|
tenantRef: target.tenantRef,
|
|
193
206
|
error: err instanceof Error ? err.message : String(err),
|
|
194
207
|
});
|
|
@@ -197,7 +210,7 @@ export function createOutboxDispatcher(config) {
|
|
|
197
210
|
return dispatched;
|
|
198
211
|
}
|
|
199
212
|
catch (err) {
|
|
200
|
-
|
|
213
|
+
logError('Outbox poll could not resolve its planes', {
|
|
201
214
|
error: err instanceof Error ? err.message : String(err),
|
|
202
215
|
});
|
|
203
216
|
return 0;
|
|
@@ -206,6 +219,14 @@ export function createOutboxDispatcher(config) {
|
|
|
206
219
|
polling = false;
|
|
207
220
|
}
|
|
208
221
|
}
|
|
222
|
+
/** Timer-driven poll; a failed cycle is logged and the next tick retries */
|
|
223
|
+
function tick() {
|
|
224
|
+
poll().catch((err) => {
|
|
225
|
+
logError('Outbox poll failed', {
|
|
226
|
+
error: err instanceof Error ? err.message : String(err),
|
|
227
|
+
});
|
|
228
|
+
});
|
|
229
|
+
}
|
|
209
230
|
return {
|
|
210
231
|
/** Run a single poll cycle (useful for testing) */
|
|
211
232
|
poll,
|
|
@@ -214,10 +235,8 @@ export function createOutboxDispatcher(config) {
|
|
|
214
235
|
if (running)
|
|
215
236
|
return;
|
|
216
237
|
running = true;
|
|
217
|
-
timer = setInterval(
|
|
218
|
-
|
|
219
|
-
}, pollIntervalMs);
|
|
220
|
-
void poll();
|
|
238
|
+
timer = setInterval(tick, pollIntervalMs);
|
|
239
|
+
tick();
|
|
221
240
|
},
|
|
222
241
|
/** Stop the background polling loop */
|
|
223
242
|
stop() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/events/dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/events/dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AuditService } from '../types/audit.js';
|
|
2
|
+
import type { LoggerService } from '../types/context.js';
|
|
3
|
+
/**
|
|
4
|
+
* Records an outbox-dispatch or event-delivery audit entry. These entries are
|
|
5
|
+
* best-effort bookkeeping: a failed audit write is logged and never stops a
|
|
6
|
+
* publish, a consumer handler, or a dead-letter write. Capabilities that run
|
|
7
|
+
* inside a consumer still record (and enforce) their own audit.
|
|
8
|
+
*
|
|
9
|
+
* `metadata.outcome` must stay within what `createAuditService` accepts
|
|
10
|
+
* (`success | failure | denied`); retry vs dead-letter detail belongs in other
|
|
11
|
+
* metadata fields.
|
|
12
|
+
*/
|
|
13
|
+
export declare function recordPipelineAudit(audit: AuditService | undefined, logger: LoggerService | undefined, action: string, metadata: Record<string, unknown>): Promise<void>;
|
|
14
|
+
//# sourceMappingURL=pipeline-audit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline-audit.d.ts","sourceRoot":"","sources":["../../src/events/pipeline-audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,YAAY,GAAG,SAAS,EAC/B,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC,CAaf"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Records an outbox-dispatch or event-delivery audit entry. These entries are
|
|
3
|
+
* best-effort bookkeeping: a failed audit write is logged and never stops a
|
|
4
|
+
* publish, a consumer handler, or a dead-letter write. Capabilities that run
|
|
5
|
+
* inside a consumer still record (and enforce) their own audit.
|
|
6
|
+
*
|
|
7
|
+
* `metadata.outcome` must stay within what `createAuditService` accepts
|
|
8
|
+
* (`success | failure | denied`); retry vs dead-letter detail belongs in other
|
|
9
|
+
* metadata fields.
|
|
10
|
+
*/
|
|
11
|
+
export async function recordPipelineAudit(audit, logger, action, metadata) {
|
|
12
|
+
if (!audit)
|
|
13
|
+
return;
|
|
14
|
+
try {
|
|
15
|
+
await audit.record(action, metadata);
|
|
16
|
+
}
|
|
17
|
+
catch (err) {
|
|
18
|
+
const details = {
|
|
19
|
+
action,
|
|
20
|
+
eventId: metadata.eventId,
|
|
21
|
+
error: err instanceof Error ? err.message : String(err),
|
|
22
|
+
};
|
|
23
|
+
if (logger)
|
|
24
|
+
logger.error('Event pipeline audit write failed', details);
|
|
25
|
+
else
|
|
26
|
+
console.error('[plumbus] event pipeline audit write failed', details);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=pipeline-audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline-audit.js","sourceRoot":"","sources":["../../src/events/pipeline-audit.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAA+B,EAC/B,MAAiC,EACjC,MAAc,EACd,QAAiC;IAEjC,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG;YACd,MAAM;YACN,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;QACF,IAAI,MAAM;YAAE,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;;YAClE,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC"}
|
package/dist/events/worker.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { PostgresJsDatabase } from 'drizzle-orm/postgres-js';
|
|
|
2
2
|
import type { PlumbusMetrics } from '../observability/metrics.js';
|
|
3
3
|
import type { DataPlaneResolver } from '../tenancy/types.js';
|
|
4
4
|
import type { AuditService } from '../types/audit.js';
|
|
5
|
+
import type { LoggerService } from '../types/context.js';
|
|
5
6
|
import type { EventEnvelope } from '../types/event.js';
|
|
6
7
|
import type { ConsumerRegistry } from './consumer-registry.js';
|
|
7
8
|
import { type IdempotencyService } from './idempotency.js';
|
|
@@ -19,6 +20,8 @@ export interface WorkerConfig {
|
|
|
19
20
|
resolver?: DataPlaneResolver;
|
|
20
21
|
audit?: AuditService;
|
|
21
22
|
metrics?: PlumbusMetrics;
|
|
23
|
+
/** Receives audit write failures (default: console) */
|
|
24
|
+
logger?: LoggerService;
|
|
22
25
|
/** Default max retries per consumer (default: 3) */
|
|
23
26
|
defaultMaxRetries?: number;
|
|
24
27
|
/** Base delay in ms for exponential backoff between retries (default: 100) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/events/worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/events/worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGrF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAM7C,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,kBAAkB,CAAC;IACvB,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,WAAW,EAAE,kBAAkB,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,uDAAuD;IACvD,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY;IAyJlD,qDAAqD;wBAlHtB,aAAa,KAAG,OAAO,CAAC,IAAI,CAAC;IAqH5D,qCAAqC;aAC5B,IAAI;IAKb,sBAAsB;YACd,IAAI;wBAOK,OAAO;EAI3B"}
|
package/dist/events/worker.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createJobService } from '../jobs/service.js';
|
|
2
2
|
import { createIdempotencyService } from './idempotency.js';
|
|
3
3
|
import { deadLetterTable } from './outbox.js';
|
|
4
|
+
import { recordPipelineAudit } from './pipeline-audit.js';
|
|
4
5
|
import { evaluateEventSubscriptionDelivery, resolveConsumerDeliveryPolicy, } from './subscription.js';
|
|
5
6
|
/**
|
|
6
7
|
* Creates an event delivery worker that subscribes to the queue,
|
|
@@ -10,7 +11,7 @@ import { evaluateEventSubscriptionDelivery, resolveConsumerDeliveryPolicy, } fro
|
|
|
10
11
|
* Returns start/stop controls.
|
|
11
12
|
*/
|
|
12
13
|
export function createEventWorker(config) {
|
|
13
|
-
const { db, queue, consumers, idempotency, defaultMaxRetries = 3, metrics, audit, retryBackoffBaseMs = 100, retryBackoffMaxMs = 5000, resolver, } = config;
|
|
14
|
+
const { db, queue, consumers, idempotency, defaultMaxRetries = 3, metrics, audit, logger, retryBackoffBaseMs = 100, retryBackoffMaxMs = 5000, resolver, } = config;
|
|
14
15
|
let unsubscribe = null;
|
|
15
16
|
async function planeFor(envelope) {
|
|
16
17
|
if (!resolver || !envelope.tenantId) {
|
|
@@ -39,7 +40,7 @@ export function createEventWorker(config) {
|
|
|
39
40
|
policyAllowed,
|
|
40
41
|
});
|
|
41
42
|
if (!subscription.deliver) {
|
|
42
|
-
await audit
|
|
43
|
+
await recordPipelineAudit(audit, logger, 'event.consumer.skipped', {
|
|
43
44
|
eventId: envelope.id,
|
|
44
45
|
eventType: envelope.eventType,
|
|
45
46
|
consumerId: consumer.id,
|
|
@@ -59,14 +60,15 @@ export function createEventWorker(config) {
|
|
|
59
60
|
let succeeded = false;
|
|
60
61
|
while (attempt < maxRetries && !succeeded) {
|
|
61
62
|
attempt++;
|
|
63
|
+
// No outcome yet: audit outcomes are `success | failure | denied`
|
|
64
|
+
await recordPipelineAudit(audit, logger, 'event.consumer.attempt', {
|
|
65
|
+
eventId: envelope.id,
|
|
66
|
+
eventType: envelope.eventType,
|
|
67
|
+
consumerId: consumer.id,
|
|
68
|
+
attempt,
|
|
69
|
+
tenantId: envelope.tenantId,
|
|
70
|
+
});
|
|
62
71
|
try {
|
|
63
|
-
await audit?.record('event.consumer.attempt', {
|
|
64
|
-
eventId: envelope.id,
|
|
65
|
-
eventType: envelope.eventType,
|
|
66
|
-
consumerId: consumer.id,
|
|
67
|
-
attempt,
|
|
68
|
-
tenantId: envelope.tenantId,
|
|
69
|
-
});
|
|
70
72
|
await consumer.handler(envelope);
|
|
71
73
|
succeeded = true;
|
|
72
74
|
}
|
|
@@ -84,7 +86,7 @@ export function createEventWorker(config) {
|
|
|
84
86
|
consumer: consumer.id,
|
|
85
87
|
outcome: 'delivered',
|
|
86
88
|
});
|
|
87
|
-
await audit
|
|
89
|
+
await recordPipelineAudit(audit, logger, 'event.consumer.delivered', {
|
|
88
90
|
eventId: envelope.id,
|
|
89
91
|
eventType: envelope.eventType,
|
|
90
92
|
consumerId: consumer.id,
|
|
@@ -98,7 +100,7 @@ export function createEventWorker(config) {
|
|
|
98
100
|
consumer: consumer.id,
|
|
99
101
|
outcome: 'failed',
|
|
100
102
|
});
|
|
101
|
-
await audit
|
|
103
|
+
await recordPipelineAudit(audit, logger, 'event.consumer.dead_lettered', {
|
|
102
104
|
eventId: envelope.id,
|
|
103
105
|
eventType: envelope.eventType,
|
|
104
106
|
consumerId: consumer.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/events/worker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/events/worker.ts"],"names":[],"mappings":"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"}
|