@substrat-run/kernel 0.122.1 → 0.124.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.
- package/dist/capability.d.ts +9 -0
- package/dist/capability.d.ts.map +1 -1
- package/dist/capability.js +15 -0
- package/dist/capability.js.map +1 -1
- package/dist/index.d.ts +13 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -6
- package/dist/index.js.map +1 -1
- package/dist/invocation-log.d.ts +75 -1
- package/dist/invocation-log.d.ts.map +1 -1
- package/dist/invocation-log.js +56 -1
- package/dist/invocation-log.js.map +1 -1
- package/dist/module-log.d.ts +116 -0
- package/dist/module-log.d.ts.map +1 -0
- package/dist/module-log.js +147 -0
- package/dist/module-log.js.map +1 -0
- package/dist/platform-sweep.d.ts +13 -1
- package/dist/platform-sweep.d.ts.map +1 -1
- package/dist/platform-sweep.js +17 -2
- package/dist/platform-sweep.js.map +1 -1
- package/dist/scope-host.d.ts +87 -8
- package/dist/scope-host.d.ts.map +1 -1
- package/dist/scope-host.js +2 -0
- package/dist/scope-host.js.map +1 -1
- package/dist/sql-limits.d.ts +23 -1
- package/dist/sql-limits.d.ts.map +1 -1
- package/dist/sql-limits.js +50 -1
- package/dist/sql-limits.js.map +1 -1
- package/dist/system-switch-record.d.ts +57 -1
- package/dist/system-switch-record.d.ts.map +1 -1
- package/dist/system-switch-record.js +63 -0
- package/dist/system-switch-record.js.map +1 -1
- package/dist/system-switch.d.ts +27 -0
- package/dist/system-switch.d.ts.map +1 -1
- package/dist/system-switch.js +35 -3
- package/dist/system-switch.js.map +1 -1
- package/dist/timeline.d.ts +11 -0
- package/dist/timeline.d.ts.map +1 -1
- package/dist/timeline.js +27 -10
- package/dist/timeline.js.map +1 -1
- package/dist/vertical-events.d.ts +21 -0
- package/dist/vertical-events.d.ts.map +1 -1
- package/dist/vertical-events.js +35 -8
- package/dist/vertical-events.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ctx.log` — the structured logger module code writes through (#1746, #1747).
|
|
3
|
+
*
|
|
4
|
+
* ## Why module code needs one
|
|
5
|
+
*
|
|
6
|
+
* The invocation line (`invocation-log.ts`) is the per-request record: which operation ran,
|
|
7
|
+
* who ran it, how it ended. A vertical's own `console.log` inside a handler carries none of
|
|
8
|
+
* that. It is reachable only by correlating out from the stamped line, it cannot be filtered
|
|
9
|
+
* by operation, and it is free text, so similar lines can only be grouped by guessing.
|
|
10
|
+
*
|
|
11
|
+
* `ctx.log` writes the line with the fields already on it — tenant, scope, operation,
|
|
12
|
+
* invocation, who it ran as — and with the TEMPLATE it was written from:
|
|
13
|
+
*
|
|
14
|
+
* ```ts
|
|
15
|
+
* ctx.log.warn('reply to {ticketId} bounced: {reason}', { ticketId, reason });
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* The template is what makes log patterns exact (#1747). Every line written from that call
|
|
19
|
+
* site shares `reply to {ticketId} bounced: {reason}`, whatever the values were, so the
|
|
20
|
+
* Patterns view groups by an equality rather than by mining free text for similar shapes.
|
|
21
|
+
* That only holds while the template is a constant. A template built from values
|
|
22
|
+
* (`` ctx.log.info(`reply to ${id}`) ``) still logs, but every line is its own pattern.
|
|
23
|
+
*
|
|
24
|
+
* ## The fields are the host's, not the caller's
|
|
25
|
+
*
|
|
26
|
+
* Tenant, scope, operation and invocation come from the context the host built, never from
|
|
27
|
+
* `fields`. A caller cannot file a line under another operation, and a field named `tenantId`
|
|
28
|
+
* stays a field. That is the same posture as the event envelope, which the kernel stamps.
|
|
29
|
+
*
|
|
30
|
+
* ## Logging never fails the operation
|
|
31
|
+
*
|
|
32
|
+
* A log call is not part of the transaction and has no result. Anything it cannot write
|
|
33
|
+
* as given — an oversized value, a key it will not index, a value that is not a primitive —
|
|
34
|
+
* is trimmed or stringified rather than thrown, because an operation that failed over its
|
|
35
|
+
* own diagnostics is a worse outcome than a shortened line. For the same reason a line is
|
|
36
|
+
* written even when the operation later rolls back: it happened, and a failure's logs are
|
|
37
|
+
* the ones a reader opens the page for.
|
|
38
|
+
*/
|
|
39
|
+
/** A log level. `debug` is kept, and a reader may hide it. */
|
|
40
|
+
export type ModuleLogLevel = 'debug' | 'info' | 'warn' | 'error';
|
|
41
|
+
/** A field value. Anything else is stringified on the way out. */
|
|
42
|
+
export type ModuleLogFieldValue = string | number | boolean | null;
|
|
43
|
+
/** The fields a line carries, by name. */
|
|
44
|
+
export type ModuleLogFields = Readonly<Record<string, ModuleLogFieldValue>>;
|
|
45
|
+
/** What `ctx.log` is. Each method writes one line and returns nothing. */
|
|
46
|
+
export interface ModuleLog {
|
|
47
|
+
debug(template: string, fields?: ModuleLogFields): void;
|
|
48
|
+
info(template: string, fields?: ModuleLogFields): void;
|
|
49
|
+
warn(template: string, fields?: ModuleLogFields): void;
|
|
50
|
+
error(template: string, fields?: ModuleLogFields): void;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* The line `ctx.log` writes. A published contract, like `InvocationLogLine`: readers filter
|
|
54
|
+
* on these key names, and the log platform indexes a JSON line's top-level keys. Add
|
|
55
|
+
* fields; never rename one.
|
|
56
|
+
*/
|
|
57
|
+
export interface ModuleLogLine {
|
|
58
|
+
/** Discriminator — tells this line from the invocation line and from a bare `console.log`. */
|
|
59
|
+
substrat: 'log';
|
|
60
|
+
level: ModuleLogLevel;
|
|
61
|
+
/** The call site's template, verbatim (bounded). Lines from one call site share it. */
|
|
62
|
+
template: string;
|
|
63
|
+
/** The template with `{name}` placeholders filled from `fields`. */
|
|
64
|
+
message: string;
|
|
65
|
+
fields: Record<string, ModuleLogFieldValue>;
|
|
66
|
+
tenantId: string;
|
|
67
|
+
scopeId: string;
|
|
68
|
+
/** The operation the line was written under. `null` inside a consumer, which runs on behalf of none. */
|
|
69
|
+
operation: string | null;
|
|
70
|
+
/** The invocation id (#1237) — the join to the invocation line and to the events. */
|
|
71
|
+
invocationId: string | null;
|
|
72
|
+
/** Who the code ran as: `principal`, `connection`, `system`, `capability` or `vertical`. */
|
|
73
|
+
principalKind: string | null;
|
|
74
|
+
}
|
|
75
|
+
/** Where a host sends a line. The default writes it to the runtime's console. */
|
|
76
|
+
export type ModuleLogSink = (line: ModuleLogLine) => void;
|
|
77
|
+
/** Bounds, so one careless call cannot write a line the log platform truncates or refuses. */
|
|
78
|
+
export declare const MODULE_LOG_LIMITS: {
|
|
79
|
+
readonly template: 500;
|
|
80
|
+
readonly message: 4000;
|
|
81
|
+
readonly fields: 32;
|
|
82
|
+
readonly value: 1000;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* The default sink: one JSON line on the console method matching the level, so a platform
|
|
86
|
+
* that reads the level off the method agrees with the `level` field.
|
|
87
|
+
*/
|
|
88
|
+
export declare const consoleLogSink: ModuleLogSink;
|
|
89
|
+
/**
|
|
90
|
+
* `{name}` placeholders filled from `fields`. A placeholder with no field is left as it
|
|
91
|
+
* is, so a missing value reads as missing rather than as an empty gap in the sentence.
|
|
92
|
+
*/
|
|
93
|
+
export declare function renderTemplate(template: string, fields: Readonly<Record<string, ModuleLogFieldValue>>): string;
|
|
94
|
+
/** What the host knows about the code a logger is handed to. */
|
|
95
|
+
export interface ModuleLogContext {
|
|
96
|
+
tenantId: string;
|
|
97
|
+
scopeId: string;
|
|
98
|
+
operation: string | null;
|
|
99
|
+
/** Read at each call: the invocation id is set on the host for the duration of a call. */
|
|
100
|
+
invocationId: () => string | null;
|
|
101
|
+
principalKind: string | null;
|
|
102
|
+
/**
|
|
103
|
+
* #1672: redact a capability secret this invocation minted before it reaches the line.
|
|
104
|
+
* A log is a store read by a wider audience than the caller, so the secret is withheld
|
|
105
|
+
* rather than refused: refusing would fail the operation over a diagnostic.
|
|
106
|
+
*/
|
|
107
|
+
redact?: (text: string) => string;
|
|
108
|
+
}
|
|
109
|
+
/** The line one call writes. Exported for the adapters' tests and for a sink that wants it. */
|
|
110
|
+
export declare function moduleLogLine(ctx: ModuleLogContext, level: ModuleLogLevel, template: unknown, given: unknown): ModuleLogLine;
|
|
111
|
+
/**
|
|
112
|
+
* Build `ctx.log`. Each call writes one line to `sink`; a sink that throws is swallowed,
|
|
113
|
+
* for the same reason nothing else here throws.
|
|
114
|
+
*/
|
|
115
|
+
export declare function moduleLog(ctx: ModuleLogContext, sink?: ModuleLogSink): ModuleLog;
|
|
116
|
+
//# sourceMappingURL=module-log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-log.d.ts","sourceRoot":"","sources":["../src/module-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,8DAA8D;AAC9D,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEjE,kEAAkE;AAClE,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAEnE,0CAA0C;AAC1C,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAE5E,0EAA0E;AAC1E,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACxD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACvD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACvD,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CACzD;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,8FAA8F;IAC9F,QAAQ,EAAE,KAAK,CAAC;IAChB,KAAK,EAAE,cAAc,CAAC;IACtB,uFAAuF;IACvF,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,wGAAwG;IACxG,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,qFAAqF;IACrF,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,4FAA4F;IAC5F,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,iFAAiF;AACjF,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;AAE1D,8FAA8F;AAC9F,eAAO,MAAM,iBAAiB;aAC5B,QAAQ,EAAE,GAAG;aACb,OAAO,EAAE,IAAI;aACb,MAAM,EAAE,EAAE;aACV,KAAK,EAAE,IAAI;CACH,CAAC;AAcX;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,aAM5B,CAAC;AAsBF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,GAAG,MAAM,CAI9G;AAED,gEAAgE;AAChE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,0FAA0F;IAC1F,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAClC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACnC;AAED,+FAA+F;AAC/F,wBAAgB,aAAa,CAC3B,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,OAAO,GACb,aAAa,CAmCf;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,GAAE,aAA8B,GAAG,SAAS,CAShG"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ctx.log` — the structured logger module code writes through (#1746, #1747).
|
|
3
|
+
*
|
|
4
|
+
* ## Why module code needs one
|
|
5
|
+
*
|
|
6
|
+
* The invocation line (`invocation-log.ts`) is the per-request record: which operation ran,
|
|
7
|
+
* who ran it, how it ended. A vertical's own `console.log` inside a handler carries none of
|
|
8
|
+
* that. It is reachable only by correlating out from the stamped line, it cannot be filtered
|
|
9
|
+
* by operation, and it is free text, so similar lines can only be grouped by guessing.
|
|
10
|
+
*
|
|
11
|
+
* `ctx.log` writes the line with the fields already on it — tenant, scope, operation,
|
|
12
|
+
* invocation, who it ran as — and with the TEMPLATE it was written from:
|
|
13
|
+
*
|
|
14
|
+
* ```ts
|
|
15
|
+
* ctx.log.warn('reply to {ticketId} bounced: {reason}', { ticketId, reason });
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* The template is what makes log patterns exact (#1747). Every line written from that call
|
|
19
|
+
* site shares `reply to {ticketId} bounced: {reason}`, whatever the values were, so the
|
|
20
|
+
* Patterns view groups by an equality rather than by mining free text for similar shapes.
|
|
21
|
+
* That only holds while the template is a constant. A template built from values
|
|
22
|
+
* (`` ctx.log.info(`reply to ${id}`) ``) still logs, but every line is its own pattern.
|
|
23
|
+
*
|
|
24
|
+
* ## The fields are the host's, not the caller's
|
|
25
|
+
*
|
|
26
|
+
* Tenant, scope, operation and invocation come from the context the host built, never from
|
|
27
|
+
* `fields`. A caller cannot file a line under another operation, and a field named `tenantId`
|
|
28
|
+
* stays a field. That is the same posture as the event envelope, which the kernel stamps.
|
|
29
|
+
*
|
|
30
|
+
* ## Logging never fails the operation
|
|
31
|
+
*
|
|
32
|
+
* A log call is not part of the transaction and has no result. Anything it cannot write
|
|
33
|
+
* as given — an oversized value, a key it will not index, a value that is not a primitive —
|
|
34
|
+
* is trimmed or stringified rather than thrown, because an operation that failed over its
|
|
35
|
+
* own diagnostics is a worse outcome than a shortened line. For the same reason a line is
|
|
36
|
+
* written even when the operation later rolls back: it happened, and a failure's logs are
|
|
37
|
+
* the ones a reader opens the page for.
|
|
38
|
+
*/
|
|
39
|
+
/** Bounds, so one careless call cannot write a line the log platform truncates or refuses. */
|
|
40
|
+
export const MODULE_LOG_LIMITS = {
|
|
41
|
+
template: 500,
|
|
42
|
+
message: 4000,
|
|
43
|
+
fields: 32,
|
|
44
|
+
value: 1000,
|
|
45
|
+
};
|
|
46
|
+
/** A field name the log platform indexes as it is — no dots, which would read as a path. */
|
|
47
|
+
const FIELD_NAME = /^[A-Za-z_][A-Za-z0-9_]{0,63}$/;
|
|
48
|
+
/**
|
|
49
|
+
* The default sink: one JSON line on the console method matching the level, so a platform
|
|
50
|
+
* that reads the level off the method agrees with the `level` field.
|
|
51
|
+
*/
|
|
52
|
+
export const consoleLogSink = (line) => {
|
|
53
|
+
const text = JSON.stringify(line);
|
|
54
|
+
if (line.level === 'error')
|
|
55
|
+
console.error(text);
|
|
56
|
+
else if (line.level === 'warn')
|
|
57
|
+
console.warn(text);
|
|
58
|
+
else if (line.level === 'debug')
|
|
59
|
+
console.debug(text);
|
|
60
|
+
else
|
|
61
|
+
console.log(text);
|
|
62
|
+
};
|
|
63
|
+
function clip(text, max) {
|
|
64
|
+
return text.length > max ? `${text.slice(0, max - 1)}…` : text;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* A field value as the line carries it: primitives as they are, anything else as text.
|
|
68
|
+
* UNBOUNDED — the caller redacts before it clips (see `moduleLogLine`).
|
|
69
|
+
*/
|
|
70
|
+
function fieldValue(v) {
|
|
71
|
+
if (v === null || typeof v === 'boolean')
|
|
72
|
+
return v;
|
|
73
|
+
if (typeof v === 'number')
|
|
74
|
+
return Number.isFinite(v) ? v : String(v);
|
|
75
|
+
if (typeof v === 'string')
|
|
76
|
+
return v;
|
|
77
|
+
if (v === undefined)
|
|
78
|
+
return null;
|
|
79
|
+
try {
|
|
80
|
+
return JSON.stringify(v) ?? String(v);
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
return String(v);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* `{name}` placeholders filled from `fields`. A placeholder with no field is left as it
|
|
88
|
+
* is, so a missing value reads as missing rather than as an empty gap in the sentence.
|
|
89
|
+
*/
|
|
90
|
+
export function renderTemplate(template, fields) {
|
|
91
|
+
return template.replace(/\{([A-Za-z_][A-Za-z0-9_]{0,63})\}/g, (whole, name) => Object.prototype.hasOwnProperty.call(fields, name) ? String(fields[name]) : whole);
|
|
92
|
+
}
|
|
93
|
+
/** The line one call writes. Exported for the adapters' tests and for a sink that wants it. */
|
|
94
|
+
export function moduleLogLine(ctx, level, template, given) {
|
|
95
|
+
const redact = ctx.redact ?? ((t) => t);
|
|
96
|
+
// REDACT FIRST, THEN CLIP — every string, every time. Redaction is an exact match on the
|
|
97
|
+
// whole secret, so clipping first can cut a secret that straddles a limit down to all but
|
|
98
|
+
// its last characters, which then no longer matches and is written out. A capability
|
|
99
|
+
// secret missing one character is a few dozen guesses from the whole one.
|
|
100
|
+
const full = {};
|
|
101
|
+
const fields = {};
|
|
102
|
+
if (given !== null && typeof given === 'object') {
|
|
103
|
+
let n = 0;
|
|
104
|
+
for (const [k, v] of Object.entries(given)) {
|
|
105
|
+
if (n >= MODULE_LOG_LIMITS.fields)
|
|
106
|
+
break;
|
|
107
|
+
if (!FIELD_NAME.test(k))
|
|
108
|
+
continue;
|
|
109
|
+
const value = fieldValue(v);
|
|
110
|
+
full[k] = typeof value === 'string' ? redact(value) : value;
|
|
111
|
+
fields[k] = typeof full[k] === 'string' ? clip(full[k], MODULE_LOG_LIMITS.value) : full[k];
|
|
112
|
+
n += 1;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
const fullTemplate = redact(typeof template === 'string' ? template : String(template));
|
|
116
|
+
// Rendered from the redacted, unclipped parts, redacted once more (a secret could be
|
|
117
|
+
// assembled across a placeholder), and only then bounded.
|
|
118
|
+
const message = clip(redact(renderTemplate(fullTemplate, full)), MODULE_LOG_LIMITS.message);
|
|
119
|
+
return {
|
|
120
|
+
substrat: 'log',
|
|
121
|
+
level,
|
|
122
|
+
template: clip(fullTemplate, MODULE_LOG_LIMITS.template),
|
|
123
|
+
message,
|
|
124
|
+
fields,
|
|
125
|
+
tenantId: ctx.tenantId,
|
|
126
|
+
scopeId: ctx.scopeId,
|
|
127
|
+
operation: ctx.operation,
|
|
128
|
+
invocationId: ctx.invocationId(),
|
|
129
|
+
principalKind: ctx.principalKind,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Build `ctx.log`. Each call writes one line to `sink`; a sink that throws is swallowed,
|
|
134
|
+
* for the same reason nothing else here throws.
|
|
135
|
+
*/
|
|
136
|
+
export function moduleLog(ctx, sink = consoleLogSink) {
|
|
137
|
+
const write = (level) => (template, fields) => {
|
|
138
|
+
try {
|
|
139
|
+
sink(moduleLogLine(ctx, level, template, fields));
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
// A log line that could not be written is not the operation's failure.
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
return { debug: write('debug'), info: write('info'), warn: write('warn'), error: write('error') };
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=module-log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-log.js","sourceRoot":"","sources":["../src/module-log.ts"],"names":[],"mappings":"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"}
|
package/dist/platform-sweep.d.ts
CHANGED
|
@@ -108,6 +108,8 @@ export interface PlatformSweepOptions {
|
|
|
108
108
|
done: number;
|
|
109
109
|
failed: number;
|
|
110
110
|
pending: number;
|
|
111
|
+
/** No deployment could be reached for this scope, so nothing was drained or counted (#1840). */
|
|
112
|
+
unreachable?: boolean;
|
|
111
113
|
}>;
|
|
112
114
|
/**
|
|
113
115
|
* Re-run one scope's provision in the vertical's own deployment (#1172).
|
|
@@ -319,7 +321,7 @@ export type ScheduleStateKind = 'schedule' | 'freshness';
|
|
|
319
321
|
* definition is what keeps the rebuilt shape and the created shape the same shape;
|
|
320
322
|
* the gate then holds each adapter to including it.
|
|
321
323
|
*/
|
|
322
|
-
export declare const SCHEDULE_STATE_DDL = "\n CREATE TABLE IF NOT EXISTS _substrat_schedule_state (\n -- #1288: WHICH of the two families this row belongs to, named with the same two\n -- words _substrat_sweep_runs already records its entries under:\n -- * 'schedule' -- keyed by the operation (module/verb). last_run_at and\n -- last_status are when that operation RAN here and how it ended.\n -- * 'freshness' -- keyed freshness:<eventType> (#1232). last_run_at and\n -- last_status are when the evaluator last RECORDED a verdict for that event\n -- type and what it was. Nothing ran; the row gates what the sweep records.\n kind TEXT NOT NULL,\n schedule_op TEXT NOT NULL,\n last_run_at TEXT,\n last_status TEXT,\n -- The key LEADS with kind, and that is the point of #1288 rather than a tidy-up.\n -- Until it did, the two families were told apart by the spelling of one column:\n -- a freshness key could never LOOK like an operation (an event type has passed\n -- contracts' eventType regex -- lowercase ns.verb, no colon, no slash), but the\n -- other direction was convention only, because scheduleSpec.operation is\n -- z.string().min(1). A module declaring a schedule literally named\n -- \"freshness:orders.placed\" shared the evaluator's row and nothing refused it:\n -- each write clobbered the other's verdict, and the sweep read back whichever\n -- ran last. With kind in the key those are two rows that cannot meet.\n PRIMARY KEY (kind, schedule_op)\n );\n";
|
|
324
|
+
export declare const SCHEDULE_STATE_DDL = "\n CREATE TABLE IF NOT EXISTS _substrat_schedule_state (\n -- #1288: WHICH of the two families this row belongs to, named with the same two\n -- words _substrat_sweep_runs already records its entries under:\n -- * 'schedule' -- keyed by the operation (module/verb). last_run_at and\n -- last_status are when that operation RAN here and how it ended.\n -- * 'freshness' -- keyed freshness:<eventType> (#1232). last_run_at and\n -- last_status are when the evaluator last RECORDED a verdict for that event\n -- type and what it was. Nothing ran; the row gates what the sweep records.\n kind TEXT NOT NULL,\n schedule_op TEXT NOT NULL,\n last_run_at TEXT,\n last_status TEXT,\n -- #1525: the invocation this row's last run happened in, or null. Null is a fact\n -- here, not a gap: a 'freshness' row never invokes anything (the evaluator only\n -- records a verdict), a 'schedule' row a pass SKIPPED carries no fresh call to\n -- attribute and keeps whatever it already held, and a row written before this\n -- column existed predates the possibility. Only a due schedule's own invoke\n -- mints one and writes it here, in the same call that stamps it onto whatever\n -- the operation emits \u2014 see runDueSchedules in each adapter.\n invocation_id TEXT,\n -- The key LEADS with kind, and that is the point of #1288 rather than a tidy-up.\n -- Until it did, the two families were told apart by the spelling of one column:\n -- a freshness key could never LOOK like an operation (an event type has passed\n -- contracts' eventType regex -- lowercase ns.verb, no colon, no slash), but the\n -- other direction was convention only, because scheduleSpec.operation is\n -- z.string().min(1). A module declaring a schedule literally named\n -- \"freshness:orders.placed\" shared the evaluator's row and nothing refused it:\n -- each write clobbered the other's verdict, and the sweep read back whichever\n -- ran last. With kind in the key those are two rows that cannot meet.\n PRIMARY KEY (kind, schedule_op)\n );\n";
|
|
323
325
|
/**
|
|
324
326
|
* `_substrat_schedule_state`, rebuilt with its #1288 key on a store created before
|
|
325
327
|
* it. Create-copy-drop-rename, because `kind` joins the PRIMARY KEY and SQLite
|
|
@@ -683,6 +685,16 @@ export interface PlatformRequestDrainTotals {
|
|
|
683
685
|
failed: number;
|
|
684
686
|
/** Left pending for a later drain (transient failure). */
|
|
685
687
|
pending: number;
|
|
688
|
+
/**
|
|
689
|
+
* Active scopes the phase stepped over because their migration failed this pass (#1840).
|
|
690
|
+
* Their queues are not in the counts above.
|
|
691
|
+
*/
|
|
692
|
+
skipped: number;
|
|
693
|
+
/**
|
|
694
|
+
* Active scopes whose drain reported it could reach no deployment for them (#1840) — the
|
|
695
|
+
* drain fn returned `unreachable: true`. Their queues are not in the counts above either.
|
|
696
|
+
*/
|
|
697
|
+
unreachable: number;
|
|
686
698
|
}
|
|
687
699
|
/**
|
|
688
700
|
* One pass of the platform's scheduled work: drain every active scope's due
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-sweep.d.ts","sourceRoot":"","sources":["../src/platform-sweep.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"platform-sweep.d.ts","sourceRoot":"","sources":["../src/platform-sweep.ts"],"names":[],"mappings":"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"}
|
package/dist/platform-sweep.js
CHANGED
|
@@ -29,6 +29,14 @@ export const SCHEDULE_STATE_DDL = `
|
|
|
29
29
|
schedule_op TEXT NOT NULL,
|
|
30
30
|
last_run_at TEXT,
|
|
31
31
|
last_status TEXT,
|
|
32
|
+
-- #1525: the invocation this row's last run happened in, or null. Null is a fact
|
|
33
|
+
-- here, not a gap: a 'freshness' row never invokes anything (the evaluator only
|
|
34
|
+
-- records a verdict), a 'schedule' row a pass SKIPPED carries no fresh call to
|
|
35
|
+
-- attribute and keeps whatever it already held, and a row written before this
|
|
36
|
+
-- column existed predates the possibility. Only a due schedule's own invoke
|
|
37
|
+
-- mints one and writes it here, in the same call that stamps it onto whatever
|
|
38
|
+
-- the operation emits — see runDueSchedules in each adapter.
|
|
39
|
+
invocation_id TEXT,
|
|
32
40
|
-- The key LEADS with kind, and that is the point of #1288 rather than a tidy-up.
|
|
33
41
|
-- Until it did, the two families were told apart by the spelling of one column:
|
|
34
42
|
-- a freshness key could never LOOK like an operation (an event type has passed
|
|
@@ -78,6 +86,9 @@ export const SCHEDULE_STATE_DDL = `
|
|
|
78
86
|
export const SCHEDULE_STATE_REBUILD = `
|
|
79
87
|
DROP TABLE IF EXISTS _substrat_schedule_state_new;
|
|
80
88
|
${SCHEDULE_STATE_DDL.replace('CREATE TABLE IF NOT EXISTS _substrat_schedule_state', 'CREATE TABLE _substrat_schedule_state_new')}
|
|
89
|
+
-- #1525: invocation_id is not in this column list, deliberately — this rebuild runs
|
|
90
|
+
-- only on a pre-#1288 table, which predates invocation_id too, so there is nothing
|
|
91
|
+
-- to copy. The new table's default (NULL) is the honest answer for every such row.
|
|
81
92
|
INSERT INTO _substrat_schedule_state_new (kind, schedule_op, last_run_at, last_status)
|
|
82
93
|
SELECT CASE WHEN substr(schedule_op, 1, 10) = 'freshness:' THEN 'freshness' ELSE 'schedule' END,
|
|
83
94
|
schedule_op, last_run_at, last_status
|
|
@@ -216,7 +227,7 @@ export async function runPlatformSweep(host, options) {
|
|
|
216
227
|
snapshotsReaped: 0,
|
|
217
228
|
archivedScopesReaped: 0,
|
|
218
229
|
tenantsReaped: 0,
|
|
219
|
-
platformRequestTotals: { scopes: 0, drained: 0, done: 0, failed: 0, pending: 0 },
|
|
230
|
+
platformRequestTotals: { scopes: 0, drained: 0, done: 0, failed: 0, pending: 0, skipped: 0, unreachable: 0 },
|
|
220
231
|
provisionReconcile: null,
|
|
221
232
|
migrations: null,
|
|
222
233
|
schedules: null,
|
|
@@ -351,10 +362,14 @@ export async function runPlatformSweep(host, options) {
|
|
|
351
362
|
const drain = options.drainPlatformRequestsFn;
|
|
352
363
|
const scopes = await host.admin.listScopes(options.actor, { status: 'active' });
|
|
353
364
|
await mapBounded(scopes, concurrency, async (s) => {
|
|
354
|
-
if (failedThisPass.has(s.id))
|
|
365
|
+
if (failedThisPass.has(s.id)) {
|
|
366
|
+
report.platformRequestTotals.skipped += 1;
|
|
355
367
|
return;
|
|
368
|
+
}
|
|
356
369
|
try {
|
|
357
370
|
const r = await drain(s.tenantId, s.id);
|
|
371
|
+
if (r.unreachable)
|
|
372
|
+
report.platformRequestTotals.unreachable += 1;
|
|
358
373
|
if (r.drained > 0)
|
|
359
374
|
report.platformRequestTotals.scopes += 1;
|
|
360
375
|
report.platformRequestTotals.drained += r.drained;
|