pipework 0.56.2 → 0.57.1
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 +12 -0
- package/REFERENCE.md +13 -1
- package/dist/audit/chain/retire.d.ts.map +1 -1
- package/dist/audit/chain/retire.js +4 -0
- package/dist/audit/chain/retire.js.map +1 -1
- package/dist/audit/chain/verify.d.ts.map +1 -1
- package/dist/audit/chain/verify.js +7 -0
- package/dist/audit/chain/verify.js.map +1 -1
- package/dist/auth/tenant/rls.d.ts +11 -0
- package/dist/auth/tenant/rls.d.ts.map +1 -1
- package/dist/auth/tenant/rls.js +1 -1
- package/dist/auth/tenant/rls.js.map +1 -1
- package/dist/data/db/maintenance.d.ts +10 -0
- package/dist/data/db/maintenance.d.ts.map +1 -0
- package/dist/data/db/maintenance.js +24 -0
- package/dist/data/db/maintenance.js.map +1 -0
- package/dist/data/db/namespace.d.ts +1 -1
- package/dist/data/db/namespace.d.ts.map +1 -1
- package/dist/data/db/namespace.js +1 -1
- package/dist/data/db/namespace.js.map +1 -1
- package/dist/data/domain/types.d.ts +6 -0
- package/dist/data/domain/types.d.ts.map +1 -1
- package/dist/data/migrate/framework-rls.d.ts +10 -0
- package/dist/data/migrate/framework-rls.d.ts.map +1 -0
- package/dist/data/migrate/framework-rls.js +40 -0
- package/dist/data/migrate/framework-rls.js.map +1 -0
- package/dist/data/migrate/provision-framework.d.ts +5 -1
- package/dist/data/migrate/provision-framework.d.ts.map +1 -1
- package/dist/data/migrate/provision-framework.js +6 -1
- package/dist/data/migrate/provision-framework.js.map +1 -1
- package/dist/data/migrate/run.js +1 -1
- package/dist/data/migrate/run.js.map +1 -1
- package/dist/data/write/audit/audit-select.d.ts +3 -0
- package/dist/data/write/audit/audit-select.d.ts.map +1 -1
- package/dist/data/write/audit/audit-select.js +1 -1
- package/dist/data/write/audit/audit-select.js.map +1 -1
- package/dist/data/write/audit/cte-compile.js +2 -2
- package/dist/data/write/audit/cte-compile.js.map +1 -1
- package/dist/data/write/audit/decode-returning.d.ts +3 -0
- package/dist/data/write/audit/decode-returning.d.ts.map +1 -0
- package/dist/data/write/audit/decode-returning.js +42 -0
- package/dist/data/write/audit/decode-returning.js.map +1 -0
- package/dist/data/write/audit/final-select.d.ts +6 -0
- package/dist/data/write/audit/final-select.d.ts.map +1 -1
- package/dist/data/write/audit/final-select.js +11 -1
- package/dist/data/write/audit/final-select.js.map +1 -1
- package/dist/data/write/audit/read-touches.d.ts +2 -2
- package/dist/data/write/audit/read-touches.d.ts.map +1 -1
- package/dist/data/write/audit/read-touches.js +9 -8
- package/dist/data/write/audit/read-touches.js.map +1 -1
- package/dist/data/write/audit/touch-match.d.ts +11 -0
- package/dist/data/write/audit/touch-match.d.ts.map +1 -0
- package/dist/data/write/audit/touch-match.js +66 -0
- package/dist/data/write/audit/touch-match.js.map +1 -0
- package/dist/data/write/execute.d.ts.map +1 -1
- package/dist/data/write/execute.js +17 -19
- package/dist/data/write/execute.js.map +1 -1
- package/dist/test/setup.d.ts.map +1 -1
- package/dist/test/setup.js +1 -1
- package/dist/test/setup.js.map +1 -1
- package/dist/trace/entry/close-trace.d.ts.map +1 -1
- package/dist/trace/entry/close-trace.js +8 -4
- package/dist/trace/entry/close-trace.js.map +1 -1
- package/dist/trace/entry/open-trace.d.ts.map +1 -1
- package/dist/trace/entry/open-trace.js +1 -0
- package/dist/trace/entry/open-trace.js.map +1 -1
- package/dist/trace/external/record.js +1 -1
- package/dist/trace/external/record.js.map +1 -1
- package/dist/trace/partition/sync.d.ts.map +1 -1
- package/dist/trace/partition/sync.js +3 -3
- package/dist/trace/partition/sync.js.map +1 -1
- package/dist/trace/retain/copy-on-error.d.ts.map +1 -1
- package/dist/trace/retain/copy-on-error.js +4 -2
- package/dist/trace/retain/copy-on-error.js.map +1 -1
- package/dist/trace/runtime/expire-stale-traces.d.ts.map +1 -1
- package/dist/trace/runtime/expire-stale-traces.js +4 -2
- package/dist/trace/runtime/expire-stale-traces.js.map +1 -1
- package/dist/trace/runtime/flow-step.d.ts +2 -0
- package/dist/trace/runtime/flow-step.d.ts.map +1 -1
- package/dist/trace/runtime/flow-step.js +6 -4
- package/dist/trace/runtime/flow-step.js.map +1 -1
- package/dist/trace/runtime/step-buffer.d.ts +13 -9
- package/dist/trace/runtime/step-buffer.d.ts.map +1 -1
- package/dist/trace/runtime/step-buffer.js +8 -4
- package/dist/trace/runtime/step-buffer.js.map +1 -1
- package/dist/trace/runtime/truncate-trace.d.ts.map +1 -1
- package/dist/trace/runtime/truncate-trace.js +8 -4
- package/dist/trace/runtime/truncate-trace.js.map +1 -1
- package/dist/trace/schema/trace-step-fields.d.ts +5 -0
- package/dist/trace/schema/trace-step-fields.d.ts.map +1 -1
- package/dist/trace/schema/trace-step-fields.js +2 -0
- package/dist/trace/schema/trace-step-fields.js.map +1 -1
- package/dist/trace/schema/trace-step-retained.d.ts +5 -0
- package/dist/trace/schema/trace-step-retained.d.ts.map +1 -1
- package/dist/trace/schema/trace-step.d.ts +5 -0
- package/dist/trace/schema/trace-step.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-trace.js","sourceRoot":"","sources":["../../../src/trace/entry/open-trace.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"open-trace.js","sourceRoot":"","sources":["../../../src/trace/entry/open-trace.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,4EAA4E;AAC5E,8EAA8E;AAC9E,+EAA+E;AAC/E,4EAA4E;AAC5E,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAE/E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAGtD,MAAM,UAAU,GAAG,UAAU,CAAA;AA2B7B,wFAAwF;AACxF,MAAM,UAAU,SAAS,CAAC,MAAuB;IAC/C,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;IACvB,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAA;IAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;IACjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAA;IAC1C,MAAM,SAAS,GAAG,IAAI,IAAI,CACxB,QAAQ,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,UAAU,CAChF,CAAA;IAED,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE;QAChD,EAAE;QACF,SAAS;QACT,MAAM;QACN,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,IAAI;QACnC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI;QAC3C,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,MAAM,CAAC,MAAM;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;QAClC,QAAQ;QACR,QAAQ,EAAE,IAAI;QACd,SAAS;QACT,cAAc,EAAE,IAAI;KACrB,CAAC,CAAA;IAEF,8EAA8E;IAC9E,mEAAmE;IACnE,oEAAoE;IACpE,4EAA4E;IAC5E,0EAA0E;IAC1E,6EAA6E;IAC7E,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAA;IAChD,MAAM,GAAG,GAAG,WAAW,CAAC,aAAa,KAAK,SAAS;QACjD,CAAC,CAAC,WAAW,CAAC,aAAa,GAAG,WAAW,CAAC,YAAY;QACtD,CAAC,CAAC,QAAQ,CAAA;IACZ,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC;QAC5B,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,MAAM,CAAC,MAAM;QACvB,GAAG;QACH,aAAa,EAAE,WAAW,CAAC,aAAa;QACxC,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;KAC/C,CAAC,CAAA;IAEF,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,CAAA;AACrD,CAAC;AAoBD,SAAS,cAAc,CAAC,QAAkB,EAAE,GAAa;IACvD,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAA;IACxE,wHAAwH;IACxH,OAAQ,EAAU,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACjD,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;SACrB,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QACtB,aAAa,EAAE,CAAC,KAAK,CACnB,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,EACxB,yDAAyD,CAC1D,CAAA;IACH,CAAC,CAAC,CAAA;AACN,CAAC;AAED,4FAA4F;AAC5F,SAAS,aAAa,CAAC,IAAa;IAClC,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QAClE,MAAM,MAAM,GAAI,IAA4B,CAAC,MAAM,CAAA;QACnD,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAA;IAC/C,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -124,7 +124,7 @@ function recordUnsafe(input) {
|
|
|
124
124
|
const at = t.indexOf(':');
|
|
125
125
|
return { entity: t.slice(0, at), verb: t.slice(at + 1) };
|
|
126
126
|
}),
|
|
127
|
-
|
|
127
|
+
wroteTouches: new Set(),
|
|
128
128
|
};
|
|
129
129
|
// Sync like a sync flow step: fire and forget; the emitter logs its own failures.
|
|
130
130
|
void emitReadTouches(flow, begun);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../src/trace/external/record.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../src/trace/external/record.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/trace/partition/sync.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;AAIhD,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/trace/partition/sync.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;AAIhD,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAMrE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CACpC;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,EAAE,EACN,MAAM,EAAE,oBAAoB,EAC5B,GAAG,GAAE,IAAiB,GACrB,OAAO,CAAC,oBAAoB,CAAC,CAgD/B"}
|
|
@@ -10,6 +10,7 @@ import { PARTITIONED_TRACE_TABLES } from './tables.js';
|
|
|
10
10
|
import { planPartitions } from './plan.js';
|
|
11
11
|
import { addDays } from './day.js';
|
|
12
12
|
import { auditRecord } from '../../audit/schema/audit-record.js';
|
|
13
|
+
import { withMaintenance } from '../../data/db/maintenance.js';
|
|
13
14
|
import { retireAuditPartition, auditChainInstalled } from '../../audit/chain/retire.js';
|
|
14
15
|
/**
|
|
15
16
|
* Reconcile the trace tables' day partitions with the retention policy.
|
|
@@ -39,9 +40,8 @@ export async function syncTracePartitions(db, config, now = new Date()) {
|
|
|
39
40
|
const child = quoteIdentifier(partition.name, 'trace partition');
|
|
40
41
|
if (chained && partition.parent === auditRecord.$name) {
|
|
41
42
|
// Keep the dropped rows' hashes so what remains still links back to them.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
});
|
|
43
|
+
// It reads every tenant's rows, so it runs as a maintenance pass.
|
|
44
|
+
await withMaintenance(db, tx => retireAuditPartition(tx, child));
|
|
45
45
|
continue;
|
|
46
46
|
}
|
|
47
47
|
await db.execute(sql.raw(`DROP TABLE IF EXISTS ${child}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/trace/partition/sync.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,2EAA2E;AAC3E,yEAAyE;AACzE,8EAA8E;AAC9E,iDAAiD;AAEjD,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,cAAc,EAA6B,MAAM,WAAW,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAOvF;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,EAAM,EACN,MAA4B,EAC5B,MAAY,IAAI,IAAI,EAAE;IAEtB,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,EAAE,CAAC,CAAA;IACrD,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,EAAE,CAAC,CAAA;IACjD,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;IAEtD,oEAAoE;IACpE,4EAA4E;IAC5E,2EAA2E;IAC3E,oEAAoE;IACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;IAEvF,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;QAChE,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QAC/D,6EAA6E;QAC7E,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QACvC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CACtB,8BAA8B,KAAK,iBAAiB,MAAM,GAAG;YAC7D,qBAAqB,SAAS,CAAC,GAAG,WAAW,KAAK,IAAI,CACvD,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,KAAK,CAAC,IAAI,MAAM,mBAAmB,CAAC,EAAE,CAAC,CAAA;IAEpG,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;QAChE,IAAI,OAAO,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC;YACtD,0EAA0E;YAC1E,MAAM,
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/trace/partition/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy-on-error.d.ts","sourceRoot":"","sources":["../../../src/trace/retain/copy-on-error.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"copy-on-error.d.ts","sourceRoot":"","sources":["../../../src/trace/retain/copy-on-error.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;AAOhD,MAAM,WAAW,iBAAiB;IAChC,kFAAkF;IAClF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAUD;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA4B1F"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
// ancestor was already retained by an earlier error, is a no-op.
|
|
15
15
|
import { sql } from '../../data/db/sql.js';
|
|
16
16
|
import { quoteIdentifier } from '../../data/db/identifiers.js';
|
|
17
|
+
import { withMaintenance } from '../../data/db/maintenance.js';
|
|
17
18
|
import { camelToSnake } from '../../data/domain/naming.js';
|
|
18
19
|
import { traceFields } from '../schema/trace-fields.js';
|
|
19
20
|
import { traceStepFields } from '../schema/trace-step-fields.js';
|
|
@@ -33,7 +34,8 @@ const TRACE_STEP_COLUMNS_FROM_STEP = columnList(Object.keys(traceStepFields), 't
|
|
|
33
34
|
* retained, or when `traceId` does not exist.
|
|
34
35
|
*/
|
|
35
36
|
export async function copyTraceOnError(db, traceId) {
|
|
36
|
-
|
|
37
|
+
// Reads the whole parent spine, which may cross tenants, so the copy is a maintenance pass.
|
|
38
|
+
const rows = await withMaintenance(db, tx => tx.execute(sql `
|
|
37
39
|
WITH RECURSIVE spine AS (
|
|
38
40
|
SELECT * FROM "trace" WHERE "id" = ${traceId}
|
|
39
41
|
UNION
|
|
@@ -55,7 +57,7 @@ export async function copyTraceOnError(db, traceId) {
|
|
|
55
57
|
SELECT
|
|
56
58
|
(SELECT count(*) FROM copied_traces)::int AS traces,
|
|
57
59
|
(SELECT count(*) FROM copied_steps)::int AS steps
|
|
58
|
-
`);
|
|
60
|
+
`));
|
|
59
61
|
const row = rows[0];
|
|
60
62
|
return { traces: row['traces'], steps: row['steps'] };
|
|
61
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy-on-error.js","sourceRoot":"","sources":["../../../src/trace/retain/copy-on-error.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,8EAA8E;AAC9E,+EAA+E;AAC/E,6EAA6E;AAC7E,2EAA2E;AAC3E,UAAU;AACV,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,6DAA6D;AAC7D,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,iEAAiE;AAEjE,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAShE,SAAS,UAAU,CAAC,IAAc,EAAE,KAAa,EAAE,MAAM,GAAG,EAAE;IAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACxF,CAAC;AAED,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC,CAAA;AAC1E,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,mBAAmB,CAAC,CAAA;AACxF,MAAM,4BAA4B,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAA;AAExG;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAM,EAAE,OAAe;IAC5D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;
|
|
1
|
+
{"version":3,"file":"copy-on-error.js","sourceRoot":"","sources":["../../../src/trace/retain/copy-on-error.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,8EAA8E;AAC9E,+EAA+E;AAC/E,6EAA6E;AAC7E,2EAA2E;AAC3E,UAAU;AACV,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,6DAA6D;AAC7D,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,iEAAiE;AAEjE,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAShE,SAAS,UAAU,CAAC,IAAc,EAAE,KAAa,EAAE,MAAM,GAAG,EAAE;IAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACxF,CAAC;AAED,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC,CAAA;AAC1E,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,mBAAmB,CAAC,CAAA;AACxF,MAAM,4BAA4B,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAA;AAExG;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAM,EAAE,OAAe;IAC5D,4FAA4F;IAC5F,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;2CAElB,OAAO;;;;;sCAKZ,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC;eAC7C,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC;;;;;2CAKM,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC;eACvD,GAAG,CAAC,GAAG,CAAC,4BAA4B,CAAC;;;;;;;;GAQjD,CAAC,CAAC,CAAA;IAEH,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAA;IACpB,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAW,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAW,EAAE,CAAA;AAC3E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expire-stale-traces.d.ts","sourceRoot":"","sources":["../../../src/trace/runtime/expire-stale-traces.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"expire-stale-traces.d.ts","sourceRoot":"","sources":["../../../src/trace/runtime/expire-stale-traces.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;AAKhD,MAAM,WAAW,uBAAuB;IACtC,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAED,2FAA2F;AAC3F,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,EAAE,EACN,GAAG,GAAE,IAAiB,GACrB,OAAO,CAAC,uBAAuB,CAAC,CAwBlC"}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
// clock — production calls pass nothing and use `NOW()`.
|
|
12
12
|
import { sql } from '../../data/db/sql.js';
|
|
13
13
|
import { getBaseLogger } from '../../core/logging/index.js';
|
|
14
|
+
import { withMaintenance } from '../../data/db/maintenance.js';
|
|
14
15
|
import { copyTraceOnError } from '../retain/copy-on-error.js';
|
|
15
16
|
/** Force-closes every trace whose `expires_at` has passed; copies each to the cold set. */
|
|
16
17
|
export async function expireStaleTraces(db, now = new Date()) {
|
|
@@ -19,12 +20,13 @@ export async function expireStaleTraces(db, now = new Date()) {
|
|
|
19
20
|
// ISO string keeps the production signature on `Date` without losing
|
|
20
21
|
// precision (compared as a literal, Postgres parses it back to `timestamptz`).
|
|
21
22
|
const nowIso = now.toISOString();
|
|
22
|
-
|
|
23
|
+
// Every tenant's traces, so the sweep is a maintenance pass.
|
|
24
|
+
const rows = await withMaintenance(db, tx => tx.execute(sql `
|
|
23
25
|
UPDATE "trace"
|
|
24
26
|
SET "status" = 'expired', "closed_at" = ${nowIso}
|
|
25
27
|
WHERE "status" = 'open' AND "expires_at" <= ${nowIso}
|
|
26
28
|
RETURNING "id"
|
|
27
|
-
`);
|
|
29
|
+
`));
|
|
28
30
|
const ids = rows.map(r => r['id']);
|
|
29
31
|
if (ids.length === 0)
|
|
30
32
|
return { expired: 0, retained: 0 };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expire-stale-traces.js","sourceRoot":"","sources":["../../../src/trace/runtime/expire-stale-traces.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,qEAAqE;AACrE,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,8EAA8E;AAC9E,8EAA8E;AAC9E,WAAW;AACX,EAAE;AACF,yEAAyE;AACzE,yDAAyD;AAEzD,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAS7D,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAM,EACN,MAAY,IAAI,IAAI,EAAE;IAEtB,0EAA0E;IAC1E,0EAA0E;IAC1E,qEAAqE;IACrE,+EAA+E;IAC/E,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IAChC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;
|
|
1
|
+
{"version":3,"file":"expire-stale-traces.js","sourceRoot":"","sources":["../../../src/trace/runtime/expire-stale-traces.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,qEAAqE;AACrE,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,8EAA8E;AAC9E,8EAA8E;AAC9E,WAAW;AACX,EAAE;AACF,yEAAyE;AACzE,yDAAyD;AAEzD,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAS7D,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAM,EACN,MAAY,IAAI,IAAI,EAAE;IAEtB,0EAA0E;IAC1E,0EAA0E;IAC1E,qEAAqE;IACrE,+EAA+E;IAC/E,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IAChC,6DAA6D;IAC7D,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;8CAEf,MAAM;kDACF,MAAM;;GAErD,CAAC,CAAC,CAAA;IACH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAW,CAAC,CAAA;IAC5C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAA;IAExD,aAAa,EAAE,CAAC,KAAK,CACnB,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,EACpC,sFAAsF,CACvF,CAAA;IAED,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9E,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAClE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAA;AAC1C,CAAC"}
|
|
@@ -4,6 +4,8 @@ type AnyFunction = (...args: any[]) => any;
|
|
|
4
4
|
* Wraps `impl` so that, under an active traced Flow, each call records a `trace_step`.
|
|
5
5
|
*
|
|
6
6
|
* A function documented with `@flow_step` (and `@touches Entity:verb`) is wrapped automatically: under `pipework test` and the vitest preset, and under `pipework dev` and `pipework serve`. An app built with plain `tsc` gets no wrapping: run it through `pipework serve`, or call `__flowStep` by hand.
|
|
7
|
+
*
|
|
8
|
+
* A write under a step with `@touches` is audited only under the touches whose entity is the written table, one `audit_record` per affected row per matching touch. A touch's `Entity` matches a table when the definition declares `define(name, fields, { auditEntity })` equal to `Entity` exactly; otherwise when the names agree ignoring case and underscores, with the table name optionally plural (`Version` matches `version` and `versions`; `DocumentVersion` matches `document_versions`). A write to a table no touch matches is not audited. A touch that no write of the step was audited under gets a read row (`before` and `after` null) when the step completes. A write under a step with a touch whose entity matches no defined table throws, naming the closest table names. `.returning()` returns the same rows with or without an audited step.
|
|
7
9
|
*/
|
|
8
10
|
export declare function __flowStep<F extends AnyFunction>(meta: FlowStepMeta, impl: F): F;
|
|
9
11
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-step.d.ts","sourceRoot":"","sources":["../../../src/trace/runtime/flow-step.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAqB,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAKrE,KAAK,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;AAE1C
|
|
1
|
+
{"version":3,"file":"flow-step.d.ts","sourceRoot":"","sources":["../../../src/trace/runtime/flow-step.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAqB,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAKrE,KAAK,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;AAE1C;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CA2DhF"}
|
|
@@ -30,6 +30,8 @@ import { emitReadTouches } from '../../data/write/audit/read-touches.js';
|
|
|
30
30
|
* Wraps `impl` so that, under an active traced Flow, each call records a `trace_step`.
|
|
31
31
|
*
|
|
32
32
|
* A function documented with `@flow_step` (and `@touches Entity:verb`) is wrapped automatically: under `pipework test` and the vitest preset, and under `pipework dev` and `pipework serve`. An app built with plain `tsc` gets no wrapping: run it through `pipework serve`, or call `__flowStep` by hand.
|
|
33
|
+
*
|
|
34
|
+
* A write under a step with `@touches` is audited only under the touches whose entity is the written table, one `audit_record` per affected row per matching touch. A touch's `Entity` matches a table when the definition declares `define(name, fields, { auditEntity })` equal to `Entity` exactly; otherwise when the names agree ignoring case and underscores, with the table name optionally plural (`Version` matches `version` and `versions`; `DocumentVersion` matches `document_versions`). A write to a table no touch matches is not audited. A touch that no write of the step was audited under gets a read row (`before` and `after` null) when the step completes. A write under a step with a touch whose entity matches no defined table throws, naming the closest table names. `.returning()` returns the same rows with or without an audited step.
|
|
33
35
|
*/
|
|
34
36
|
export function __flowStep(meta, impl) {
|
|
35
37
|
function traced(...args) {
|
|
@@ -85,14 +87,14 @@ export function __flowStep(meta, impl) {
|
|
|
85
87
|
}
|
|
86
88
|
/* eslint-enable @typescript-eslint/no-explicit-any */
|
|
87
89
|
/**
|
|
88
|
-
* Read-touches gate. The CTE-form write path already covered the
|
|
89
|
-
* (
|
|
90
|
-
*
|
|
90
|
+
* Read-touches gate. The CTE-form write path already covered the touches it wrote
|
|
91
|
+
* (recorded via `markWrote(touch)`); this fires for the rest — touches
|
|
92
|
+
* no `pipe.*` write of the step was audited under. Empty
|
|
91
93
|
* `touches` means no audit projection at all and short-circuits earlier in
|
|
92
94
|
* the emitter.
|
|
93
95
|
*/
|
|
94
96
|
function emitReadTouchesIfNeeded(flow, begun) {
|
|
95
|
-
if (begun.touches.
|
|
97
|
+
if (begun.touches.every(t => begun.wroteTouches.has(t)))
|
|
96
98
|
return Promise.resolve();
|
|
97
99
|
return emitReadTouches(flow, begun);
|
|
98
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-step.js","sourceRoot":"","sources":["../../../src/trace/runtime/flow-step.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,6EAA6E;AAC7E,4EAA4E;AAC5E,gFAAgF;AAChF,EAAE;AACF,gFAAgF;AAChF,6EAA6E;AAC7E,8EAA8E;AAC9E,2EAA2E;AAC3E,4EAA4E;AAC5E,qEAAqE;AACrE,EAAE;AACF,4EAA4E;AAC5E,6EAA6E;AAC7E,qEAAqE;AACrE,4EAA4E;AAC5E,iFAAiF;AACjF,uEAAuE;AACvE,wEAAwE;AACxE,oDAAoD;AACpD,EAAE;AACF,8EAA8E;AAC9E,uBAAuB;AAEvB,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAQxE
|
|
1
|
+
{"version":3,"file":"flow-step.js","sourceRoot":"","sources":["../../../src/trace/runtime/flow-step.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ export interface PendingStep {
|
|
|
5
5
|
readonly id: string;
|
|
6
6
|
readonly traceDay: string;
|
|
7
7
|
readonly traceId: string;
|
|
8
|
+
readonly tenantId: string | null;
|
|
8
9
|
readonly seq: number;
|
|
9
10
|
readonly parentStepId: string | null;
|
|
10
11
|
readonly flowStepRef: string;
|
|
@@ -37,12 +38,12 @@ export interface BegunStep {
|
|
|
37
38
|
*/
|
|
38
39
|
readonly touches: readonly MetaTouch[];
|
|
39
40
|
/**
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
41
|
+
* The touches the executor audited with a `pipe.*` write under this step.
|
|
42
|
+
* `__flowStep` reads this at completion and emits a read-touches
|
|
43
|
+
* `audit_record` row for every touch not in it. The CTE branch handled the
|
|
44
|
+
* audit for the touches in it.
|
|
44
45
|
*/
|
|
45
|
-
|
|
46
|
+
readonly wroteTouches: Set<MetaTouch>;
|
|
46
47
|
}
|
|
47
48
|
/**
|
|
48
49
|
* The active-step handle the write executor reads to compile its CTE. Captures
|
|
@@ -59,13 +60,15 @@ export interface ActiveAuditStep {
|
|
|
59
60
|
readonly stepId: string;
|
|
60
61
|
readonly touches: readonly MetaTouch[];
|
|
61
62
|
readonly capturedInputs: readonly unknown[] | null;
|
|
62
|
-
/** Called by the executor right before it returns —
|
|
63
|
-
markWrote(): void;
|
|
63
|
+
/** Called by the executor right before it returns — records on the underlying BegunStep that `touch` was audited by a write. */
|
|
64
|
+
markWrote(touch: MetaTouch): void;
|
|
64
65
|
}
|
|
65
66
|
export interface StepBufferParams {
|
|
66
67
|
readonly traceId: string;
|
|
67
68
|
/** The parent trace's `openedDay` — the partition every step row lands in. */
|
|
68
69
|
readonly traceDay: string;
|
|
70
|
+
/** The trace's tenant, stamped on every staged step row. Default `null`. */
|
|
71
|
+
readonly tenantId?: string | null;
|
|
69
72
|
/**
|
|
70
73
|
* The Q7 step cap. The `seq` that first exceeds it trips truncation;
|
|
71
74
|
* `Infinity` disables the cap (no `structuralMax` resolved yet).
|
|
@@ -99,6 +102,7 @@ export interface ExternalStepInput {
|
|
|
99
102
|
export declare class StepBuffer {
|
|
100
103
|
private readonly traceId;
|
|
101
104
|
private readonly traceDay;
|
|
105
|
+
private readonly tenantId;
|
|
102
106
|
private readonly cap;
|
|
103
107
|
readonly captureInputs: boolean;
|
|
104
108
|
private seq;
|
|
@@ -150,8 +154,8 @@ export declare class StepBuffer {
|
|
|
150
154
|
* The active step's audit handle, or `null` when there is no open step or
|
|
151
155
|
* the open step has no `@touches`. The write executor uses this to decide:
|
|
152
156
|
* `null` → vanilla DML; non-null → compile the `audit_inserts` CTE. The
|
|
153
|
-
* returned handle's `markWrote()`
|
|
154
|
-
* suppresses
|
|
157
|
+
* returned handle's `markWrote(touch)` records the touch so `__flowStep`
|
|
158
|
+
* suppresses its read-touches emission at step completion.
|
|
155
159
|
*/
|
|
156
160
|
currentStep(): ActiveAuditStep | null;
|
|
157
161
|
/** Settles a begun step: stamps its outcome and timing, stages the row, unnests. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-buffer.d.ts","sourceRoot":"","sources":["../../../src/trace/runtime/step-buffer.ts"],"names":[],"mappings":"AAaA,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAA;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI,CAAA;IAClD,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA;CACjC;AAED,qFAAqF;AACrF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,mFAAmF;IACnF,QAAQ,CAAC,cAAc,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI,CAAA;IAClD;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAA;IACtC;;;;;OAKG;IACH,
|
|
1
|
+
{"version":3,"file":"step-buffer.d.ts","sourceRoot":"","sources":["../../../src/trace/runtime/step-buffer.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ import { projectStepError } from './step-error.js';
|
|
|
14
14
|
export class StepBuffer {
|
|
15
15
|
traceId;
|
|
16
16
|
traceDay;
|
|
17
|
+
tenantId;
|
|
17
18
|
cap;
|
|
18
19
|
captureInputs;
|
|
19
20
|
seq = 0;
|
|
@@ -38,6 +39,7 @@ export class StepBuffer {
|
|
|
38
39
|
constructor(params) {
|
|
39
40
|
this.traceId = params.traceId;
|
|
40
41
|
this.traceDay = params.traceDay;
|
|
42
|
+
this.tenantId = params.tenantId ?? null;
|
|
41
43
|
this.cap = params.cap;
|
|
42
44
|
this.captureInputs = params.captureInputs;
|
|
43
45
|
this.maxExternalSteps = params.maxExternalSteps ?? 1000;
|
|
@@ -92,7 +94,7 @@ export class StepBuffer {
|
|
|
92
94
|
startHrTime: process.hrtime.bigint(),
|
|
93
95
|
capturedInputs,
|
|
94
96
|
touches,
|
|
95
|
-
|
|
97
|
+
wroteTouches: new Set(),
|
|
96
98
|
};
|
|
97
99
|
this.currentStepId = stepId;
|
|
98
100
|
this.active.push(begun);
|
|
@@ -102,8 +104,8 @@ export class StepBuffer {
|
|
|
102
104
|
* The active step's audit handle, or `null` when there is no open step or
|
|
103
105
|
* the open step has no `@touches`. The write executor uses this to decide:
|
|
104
106
|
* `null` → vanilla DML; non-null → compile the `audit_inserts` CTE. The
|
|
105
|
-
* returned handle's `markWrote()`
|
|
106
|
-
* suppresses
|
|
107
|
+
* returned handle's `markWrote(touch)` records the touch so `__flowStep`
|
|
108
|
+
* suppresses its read-touches emission at step completion.
|
|
107
109
|
*/
|
|
108
110
|
currentStep() {
|
|
109
111
|
const top = this.active[this.active.length - 1];
|
|
@@ -115,7 +117,7 @@ export class StepBuffer {
|
|
|
115
117
|
stepId: top.stepId,
|
|
116
118
|
touches: top.touches,
|
|
117
119
|
capturedInputs: top.capturedInputs,
|
|
118
|
-
markWrote: () => { top.
|
|
120
|
+
markWrote: (touch) => { top.wroteTouches.add(touch); },
|
|
119
121
|
};
|
|
120
122
|
}
|
|
121
123
|
/** Settles a begun step: stamps its outcome and timing, stages the row, unnests. */
|
|
@@ -128,6 +130,7 @@ export class StepBuffer {
|
|
|
128
130
|
id: begun.stepId,
|
|
129
131
|
traceDay: this.traceDay,
|
|
130
132
|
traceId: this.traceId,
|
|
133
|
+
tenantId: this.tenantId,
|
|
131
134
|
seq: begun.seq,
|
|
132
135
|
parentStepId: begun.parentStepId,
|
|
133
136
|
flowStepRef: begun.flowStepRef,
|
|
@@ -153,6 +156,7 @@ export class StepBuffer {
|
|
|
153
156
|
...step,
|
|
154
157
|
traceDay: this.traceDay,
|
|
155
158
|
traceId: this.traceId,
|
|
159
|
+
tenantId: this.tenantId,
|
|
156
160
|
seq: ++this.seq,
|
|
157
161
|
capturedInputs: this.captureInputs ? step.capturedInputs : null,
|
|
158
162
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-buffer.js","sourceRoot":"","sources":["../../../src/trace/runtime/step-buffer.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,+EAA+E;AAC/E,gFAAgF;AAChF,yEAAyE;AACzE,mBAAmB;AACnB,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,2EAA2E;AAC3E,6EAA6E;AAC7E,+DAA+D;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,gBAAgB,EAAkB,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"step-buffer.js","sourceRoot":"","sources":["../../../src/trace/runtime/step-buffer.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,+EAA+E;AAC/E,gFAAgF;AAChF,yEAAyE;AACzE,mBAAmB;AACnB,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,2EAA2E;AAC3E,6EAA6E;AAC7E,+DAA+D;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,gBAAgB,EAAkB,MAAM,iBAAiB,CAAA;AA2GlE,MAAM,OAAO,UAAU;IACJ,OAAO,CAAQ;IACf,QAAQ,CAAQ;IAChB,QAAQ,CAAe;IACvB,GAAG,CAAQ;IACnB,aAAa,CAAS;IACvB,GAAG,GAAG,CAAC,CAAA;IACf,uEAAuE;IAC/D,eAAe,GAAG,CAAC,CAAA;IACnB,aAAa,GAAG,CAAC,CAAA;IACR,gBAAgB,CAAQ;IACjC,aAAa,GAAkB,IAAI,CAAA;IAC3C;;;;;;;;OAQG;IACc,MAAM,GAAgB,EAAE,CAAA;IACjC,OAAO,GAAkB,EAAE,CAAA;IAC3B,mBAAmB,GAAkB,IAAI,CAAA;IACzC,mBAAmB,GAAyB,IAAI,CAAA;IAExD,YAAY,MAAwB;QAClC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAC7B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC/B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAA;QACvC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;QACrB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAA;QACzC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAA;IACzD,CAAC;IAED,6EAA6E;IAC7E,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;IAED,kFAAkF;IAClF,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,mBAAmB,KAAK,IAAI,CAAA;IAC1C,CAAC;IAED,uEAAuE;IACvE,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,mBAAmB,CAAA;IACjC,CAAC;IAED;;;;OAIG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,mBAAmB,CAAA;IACjC,CAAC;IAED,+EAA+E;IAC/E,kBAAkB,CAAC,OAAsB;QACvC,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAA;IACpC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CACH,WAAmB,EACnB,cAAyC,EACzC,UAAgC,EAAE;QAElC,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,CAAA;QACtB,IAAI,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtC,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAA;YAC9B,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;QAC3B,MAAM,KAAK,GAAc;YACvB,GAAG;YACH,MAAM;YACN,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,WAAW;YACX,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YACpC,cAAc;YACd,OAAO;YACP,YAAY,EAAE,IAAI,GAAG,EAAE;SACxB,CAAA;QACD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAA;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACvB,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;;;;OAMG;IACH,WAAW;QACT,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC/C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAC9D,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC;SACtD,CAAA;IACH,CAAC;IAED,oFAAoF;IACpF,QAAQ,CAAC,KAAgB,EAAE,MAAsB,EAAE,MAAe;QAChE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,YAAY,CAAA;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAC1C,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAChB,EAAE,EAAE,KAAK,CAAC,MAAM;YAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,MAAM;YACN,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,IAAI,IAAI,EAAE;YACvB,cAAc,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,KAAK;YACrE,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;SAC5D,CAAC,CAAA;IACJ,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,IAAuB;QACnC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,gBAAgB;YAAE,OAAO,IAAI,CAAA;QAC9E,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,MAAM,GAAG,GAAgB;YACvB,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG;YACf,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI;SAChE,CAAA;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACtB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,6EAA6E;IAC7E,KAAK;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,OAAO,OAAO,CAAA;IAChB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"truncate-trace.d.ts","sourceRoot":"","sources":["../../../src/trace/runtime/truncate-trace.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"truncate-trace.d.ts","sourceRoot":"","sources":["../../../src/trace/runtime/truncate-trace.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAQtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D,uFAAuF;AACvF,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BlF"}
|
|
@@ -19,6 +19,7 @@ import { getBaseLogger } from '../../core/logging/index.js';
|
|
|
19
19
|
import { eq, and, getTableColumns } from '../../data/query/index.js';
|
|
20
20
|
import { trace } from '../schema/trace.js';
|
|
21
21
|
import { flushSteps } from './flush-steps.js';
|
|
22
|
+
import { withMaintenance } from '../../data/db/maintenance.js';
|
|
22
23
|
/** Fires Q7 truncation: flushes the buffer and stamps `truncated` on the trace row. */
|
|
23
24
|
export function truncateTrace(instance, ctx) {
|
|
24
25
|
const truncatedAtSeq = ctx.buffer.truncatedAtSeq;
|
|
@@ -29,10 +30,13 @@ export function truncateTrace(instance, ctx) {
|
|
|
29
30
|
const db = instance.pool.getOrCreate(instance.config.database()).drizzle;
|
|
30
31
|
const table = trace.table();
|
|
31
32
|
const cols = getTableColumns(table);
|
|
32
|
-
//
|
|
33
|
-
const traceUpdate = db
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
// The pooled connection carries no tenant setting, so the UPDATE runs as a maintenance pass.
|
|
34
|
+
const traceUpdate = withMaintenance(db, async (tx) => {
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Drizzle's update needs the concrete runtime table type
|
|
36
|
+
await tx.update(table)
|
|
37
|
+
.set({ status: 'truncated', truncatedAtSeq })
|
|
38
|
+
.where(and(eq(cols.id, ctx.id), eq(cols.openedDay, ctx.openedDay)));
|
|
39
|
+
});
|
|
36
40
|
await Promise.all([stepFlush, traceUpdate]);
|
|
37
41
|
})
|
|
38
42
|
.catch((err) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"truncate-trace.js","sourceRoot":"","sources":["../../../src/trace/runtime/truncate-trace.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,iEAAiE;AACjE,+EAA+E;AAC/E,2EAA2E;AAC3E,0EAA0E;AAC1E,6BAA6B;AAC7B,EAAE;AACF,mEAAmE;AACnE,4EAA4E;AAC5E,+EAA+E;AAC/E,gFAAgF;AAChF,EAAE;AACF,wEAAwE;AACxE,0EAA0E;AAC1E,6EAA6E;AAC7E,+EAA+E;AAC/E,UAAU;AAGV,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAEpE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"truncate-trace.js","sourceRoot":"","sources":["../../../src/trace/runtime/truncate-trace.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,iEAAiE;AACjE,+EAA+E;AAC/E,2EAA2E;AAC3E,0EAA0E;AAC1E,6BAA6B;AAC7B,EAAE;AACF,mEAAmE;AACnE,4EAA4E;AAC5E,+EAA+E;AAC/E,gFAAgF;AAChF,EAAE;AACF,wEAAwE;AACxE,0EAA0E;AAC1E,6EAA6E;AAC7E,+EAA+E;AAC/E,UAAU;AAGV,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAEpE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAI9D,uFAAuF;AACvF,MAAM,UAAU,aAAa,CAAC,QAAkB,EAAE,GAAiB;IACjE,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,cAAc,CAAA;IAChD,aAAa,EAAE,CAAC,KAAK,CACnB,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,cAAc,EAAE,EACnC,qGAAqG,CACtG,CAAA;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS;SACvB,IAAI,CAAC,KAAK,IAAI,EAAE;QACf,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QAC1D,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAA;QACxE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;QAC3B,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAuC,CAAA;QACzE,6FAA6F;QAC7F,MAAM,WAAW,GAAG,eAAe,CAAC,EAAmB,EAAE,KAAK,EAAC,EAAE,EAAC,EAAE;YAClE,wHAAwH;YACxH,MAAO,EAAU,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC5B,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;iBAC5C,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QACvE,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAA;IAC7C,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QACtB,aAAa,EAAE,CAAC,KAAK,CACnB,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,EACxB,qFAAqF,CACtF,CAAA;IACH,CAAC,CAAC,CAAA;IACJ,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACnC,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -8,6 +8,11 @@ export declare const traceStepFields: {
|
|
|
8
8
|
}>;
|
|
9
9
|
traceDay: import("../../data/domain/types.js").FieldDescriptor<string, {}> & import("../../data/domain/field.js").FieldModifiers<string, {}>;
|
|
10
10
|
traceId: import("../../data/domain/types.js").FieldDescriptor<import("../../data/domain/brand.js").Branded<string, "TraceId">, {}> & import("../../data/domain/field.js").FieldModifiers<import("../../data/domain/brand.js").Branded<string, "TraceId">, {}>;
|
|
11
|
+
tenantId: import("../../data/domain/types.js").FieldDescriptor<string | null, {
|
|
12
|
+
nullable: true;
|
|
13
|
+
}> & import("../../data/domain/field.js").FieldModifiers<string | null, {
|
|
14
|
+
nullable: true;
|
|
15
|
+
}>;
|
|
11
16
|
seq: import("../../data/domain/types.js").FieldDescriptor<number, {}> & import("../../data/domain/field.js").FieldModifiers<number, {}>;
|
|
12
17
|
parentStepId: import("../../data/domain/types.js").FieldDescriptor<import("../../data/domain/brand.js").Branded<string, "TraceStepId"> | null, {
|
|
13
18
|
nullable: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-step-fields.d.ts","sourceRoot":"","sources":["../../../src/trace/schema/trace-step-fields.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"trace-step-fields.d.ts","sourceRoot":"","sources":["../../../src/trace/schema/trace-step-fields.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuB3B,CAAA"}
|
|
@@ -22,6 +22,8 @@ export const traceStepFields = {
|
|
|
22
22
|
// tables' partitions retire together.
|
|
23
23
|
traceDay: field.date(),
|
|
24
24
|
traceId: field.uuid().brand('TraceId').references(lazyTrace, 'id', { enforced: false }),
|
|
25
|
+
// The parent trace's tenant, stamped on every step so the row-level security policy can guard steps like traces.
|
|
26
|
+
tenantId: field.uuid().tenant().nullable(),
|
|
25
27
|
// Spawn order within the trace. Branch vs step is an edge property, not a
|
|
26
28
|
// node property — `seq` only records sequencing.
|
|
27
29
|
seq: field.integer(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-step-fields.js","sourceRoot":"","sources":["../../../src/trace/schema/trace-step-fields.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,4EAA4E;AAC5E,eAAe;AACf,EAAE;AACF,wEAAwE;AACxE,oBAAoB;AACpB,EAAE;AACF,8EAA8E;AAC9E,uEAAuE;AACvE,8EAA8E;AAC9E,uEAAuE;AACvE,4CAA4C;AAE5C,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AAGvD,MAAM,SAAS,GAAG,GAAiB,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,OAAO,CAAiB,CAAA;AAChF,MAAM,aAAa,GAAG,GAAiB,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,YAAY,CAAiB,CAAA;AAEzF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,EAAE;IACrD,qEAAqE;IACrE,wEAAwE;IACxE,sEAAsE;IACtE,sCAAsC;IACtC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE;IACtB,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACvF,0EAA0E;IAC1E,iDAAiD;IACjD,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE;IACpB,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC/G,yEAAyE;IACzE,+BAA+B;IAC/B,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE;IACzB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE;IAC5B,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE;IACzC,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3D,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;CACnD,CAAA"}
|
|
1
|
+
{"version":3,"file":"trace-step-fields.js","sourceRoot":"","sources":["../../../src/trace/schema/trace-step-fields.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,4EAA4E;AAC5E,eAAe;AACf,EAAE;AACF,wEAAwE;AACxE,oBAAoB;AACpB,EAAE;AACF,8EAA8E;AAC9E,uEAAuE;AACvE,8EAA8E;AAC9E,uEAAuE;AACvE,4CAA4C;AAE5C,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AAGvD,MAAM,SAAS,GAAG,GAAiB,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,OAAO,CAAiB,CAAA;AAChF,MAAM,aAAa,GAAG,GAAiB,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,YAAY,CAAiB,CAAA;AAEzF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,EAAE;IACrD,qEAAqE;IACrE,wEAAwE;IACxE,sEAAsE;IACtE,sCAAsC;IACtC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE;IACtB,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACvF,iHAAiH;IACjH,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,0EAA0E;IAC1E,iDAAiD;IACjD,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE;IACpB,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC/G,yEAAyE;IACzE,+BAA+B;IAC/B,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE;IACzB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE;IAC5B,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE;IACzC,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3D,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;CACnD,CAAA"}
|
|
@@ -8,6 +8,11 @@ export declare const traceStepRetained: import("../../data/domain/types.js").Def
|
|
|
8
8
|
}>;
|
|
9
9
|
traceDay: import("../../data/domain/types.js").FieldDescriptor<string, {}> & import("../../data/domain/field.js").FieldModifiers<string, {}>;
|
|
10
10
|
traceId: import("../../data/domain/types.js").FieldDescriptor<import("../../data/domain/brand.js").Branded<string, "TraceId">, {}> & import("../../data/domain/field.js").FieldModifiers<import("../../data/domain/brand.js").Branded<string, "TraceId">, {}>;
|
|
11
|
+
tenantId: import("../../data/domain/types.js").FieldDescriptor<string | null, {
|
|
12
|
+
nullable: true;
|
|
13
|
+
}> & import("../../data/domain/field.js").FieldModifiers<string | null, {
|
|
14
|
+
nullable: true;
|
|
15
|
+
}>;
|
|
11
16
|
seq: import("../../data/domain/types.js").FieldDescriptor<number, {}> & import("../../data/domain/field.js").FieldModifiers<number, {}>;
|
|
12
17
|
parentStepId: import("../../data/domain/types.js").FieldDescriptor<import("../../data/domain/brand.js").Branded<string, "TraceStepId"> | null, {
|
|
13
18
|
nullable: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-step-retained.d.ts","sourceRoot":"","sources":["../../../src/trace/schema/trace-step-retained.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"trace-step-retained.d.ts","sourceRoot":"","sources":["../../../src/trace/schema/trace-step-retained.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAc5B,CAAA"}
|
|
@@ -8,6 +8,11 @@ export declare const traceStep: import("../../data/domain/types.js").DefinedTabl
|
|
|
8
8
|
}>;
|
|
9
9
|
traceDay: import("../../data/domain/types.js").FieldDescriptor<string, {}> & import("../../data/domain/field.js").FieldModifiers<string, {}>;
|
|
10
10
|
traceId: import("../../data/domain/types.js").FieldDescriptor<import("../../data/domain/brand.js").Branded<string, "TraceId">, {}> & import("../../data/domain/field.js").FieldModifiers<import("../../data/domain/brand.js").Branded<string, "TraceId">, {}>;
|
|
11
|
+
tenantId: import("../../data/domain/types.js").FieldDescriptor<string | null, {
|
|
12
|
+
nullable: true;
|
|
13
|
+
}> & import("../../data/domain/field.js").FieldModifiers<string | null, {
|
|
14
|
+
nullable: true;
|
|
15
|
+
}>;
|
|
11
16
|
seq: import("../../data/domain/types.js").FieldDescriptor<number, {}> & import("../../data/domain/field.js").FieldModifiers<number, {}>;
|
|
12
17
|
parentStepId: import("../../data/domain/types.js").FieldDescriptor<import("../../data/domain/brand.js").Branded<string, "TraceStepId"> | null, {
|
|
13
18
|
nullable: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-step.d.ts","sourceRoot":"","sources":["../../../src/trace/schema/trace-step.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"trace-step.d.ts","sourceRoot":"","sources":["../../../src/trace/schema/trace-step.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAQpB,CAAA"}
|