@cat-factory/kernel 0.286.0 → 0.286.2
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/domain/errors.d.ts +25 -1
- package/dist/domain/errors.d.ts.map +1 -1
- package/dist/domain/errors.js +27 -2
- package/dist/domain/errors.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/shared/best-effort.d.ts +11 -1
- package/dist/shared/best-effort.d.ts.map +1 -1
- package/dist/shared/best-effort.js +16 -6
- package/dist/shared/best-effort.js.map +1 -1
- package/dist/shared/connection-failure.logic.d.ts.map +1 -1
- package/dist/shared/connection-failure.logic.js +7 -95
- package/dist/shared/connection-failure.logic.js.map +1 -1
- package/dist/shared/error-chain.logic.d.ts +98 -0
- package/dist/shared/error-chain.logic.d.ts.map +1 -0
- package/dist/shared/error-chain.logic.js +247 -0
- package/dist/shared/error-chain.logic.js.map +1 -0
- package/dist/shared/redact-secrets.logic.d.ts.map +1 -1
- package/dist/shared/redact-secrets.logic.js +39 -2
- package/dist/shared/redact-secrets.logic.js.map +1 -1
- package/dist/shared/repo-scan.logic.d.ts.map +1 -1
- package/dist/shared/repo-scan.logic.js +2 -1
- package/dist/shared/repo-scan.logic.js.map +1 -1
- package/package.json +2 -2
package/dist/domain/errors.d.ts
CHANGED
|
@@ -180,7 +180,31 @@ export declare class ReviewContendedError extends ConflictError {
|
|
|
180
180
|
* catching the refusal to re-emit it, which is the re-mapping the error convention bans.
|
|
181
181
|
*/
|
|
182
182
|
export declare function assertFound<T>(value: T | null | undefined, entity: string, id: string, details?: Record<string, unknown>): T;
|
|
183
|
-
/**
|
|
183
|
+
/**
|
|
184
|
+
* Extract a human-readable message from an unknown thrown value: its own message, then each cause
|
|
185
|
+
* beneath it, scrubbed and length-capped (`errorChainText`).
|
|
186
|
+
*
|
|
187
|
+
* The chain is the whole point. This helper feeds the strings a human reads on a connect form, in a
|
|
188
|
+
* provisioning log, on a PR comment and in a persisted failure `reason`, and a transport failure's
|
|
189
|
+
* own message is undici's contentless `fetch failed`, so every one of those surfaces reported an
|
|
190
|
+
* unreachable cluster, an untrusted certificate and a DNS typo with the same three words while the
|
|
191
|
+
* cause sat one `.cause` down. It is the one describer the repo should reach for; a hand-rolled
|
|
192
|
+
* `error instanceof Error ? error.message : String(error)` is that bug re-introduced.
|
|
193
|
+
*
|
|
194
|
+
* WHO MAY READ IT, stated because the chain widens what a message discloses and the answer is not
|
|
195
|
+
* "anyone". This string reaches an AUTHENTICATED reader: a signed-in operator on a connect form,
|
|
196
|
+
* a workspace member whose run failed, a provisioning log, a PR comment on their own repo. That is
|
|
197
|
+
* deliberate, because the inner link is usually the only thing that says whether the fix is theirs
|
|
198
|
+
* (a wrong base URL, an expired key) or the deployment's. The residual is stated rather than
|
|
199
|
+
* implied: where a deployment's model endpoints or infrastructure are platform-internal, their
|
|
200
|
+
* host and port become visible to a workspace member through an ordinary 4xx. An UNAUTHENTICATED
|
|
201
|
+
* surface does not qualify and does not use this: `/ready` on both facades answers with
|
|
202
|
+
* `publicDiagnostic`, the outermost link only.
|
|
203
|
+
*
|
|
204
|
+
* An error with NOTHING to say answers with the empty string, not with `String(error)`. See
|
|
205
|
+
* `errorChainText`: the base constructor name is not a description, and a call site's
|
|
206
|
+
* `getErrorMessage(err) || '<what the operator should do>'` fallback has to stay reachable.
|
|
207
|
+
*/
|
|
184
208
|
export declare function getErrorMessage(error: unknown): string;
|
|
185
209
|
/**
|
|
186
210
|
* Extract a {@link DomainError}'s machine-readable `reason` code (under `details.reason`) from an
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/domain/errors.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/domain/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/domain/errors.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// Domain-level errors. The core throws these; the facade's error handler maps
|
|
2
2
|
// them to HTTP status codes. Keeping them framework-agnostic means the same core
|
|
3
3
|
// can be wrapped by a different transport (queue consumer, RPC, CLI) unchanged.
|
|
4
|
+
import { errorChainText } from '../shared/error-chain.logic.js';
|
|
4
5
|
export class DomainError extends Error {
|
|
5
6
|
code;
|
|
6
7
|
details;
|
|
@@ -178,9 +179,33 @@ export function assertFound(value, entity, id, details) {
|
|
|
178
179
|
throw new NotFoundError(entity, id, details);
|
|
179
180
|
return value;
|
|
180
181
|
}
|
|
181
|
-
/**
|
|
182
|
+
/**
|
|
183
|
+
* Extract a human-readable message from an unknown thrown value: its own message, then each cause
|
|
184
|
+
* beneath it, scrubbed and length-capped (`errorChainText`).
|
|
185
|
+
*
|
|
186
|
+
* The chain is the whole point. This helper feeds the strings a human reads on a connect form, in a
|
|
187
|
+
* provisioning log, on a PR comment and in a persisted failure `reason`, and a transport failure's
|
|
188
|
+
* own message is undici's contentless `fetch failed`, so every one of those surfaces reported an
|
|
189
|
+
* unreachable cluster, an untrusted certificate and a DNS typo with the same three words while the
|
|
190
|
+
* cause sat one `.cause` down. It is the one describer the repo should reach for; a hand-rolled
|
|
191
|
+
* `error instanceof Error ? error.message : String(error)` is that bug re-introduced.
|
|
192
|
+
*
|
|
193
|
+
* WHO MAY READ IT, stated because the chain widens what a message discloses and the answer is not
|
|
194
|
+
* "anyone". This string reaches an AUTHENTICATED reader: a signed-in operator on a connect form,
|
|
195
|
+
* a workspace member whose run failed, a provisioning log, a PR comment on their own repo. That is
|
|
196
|
+
* deliberate, because the inner link is usually the only thing that says whether the fix is theirs
|
|
197
|
+
* (a wrong base URL, an expired key) or the deployment's. The residual is stated rather than
|
|
198
|
+
* implied: where a deployment's model endpoints or infrastructure are platform-internal, their
|
|
199
|
+
* host and port become visible to a workspace member through an ordinary 4xx. An UNAUTHENTICATED
|
|
200
|
+
* surface does not qualify and does not use this: `/ready` on both facades answers with
|
|
201
|
+
* `publicDiagnostic`, the outermost link only.
|
|
202
|
+
*
|
|
203
|
+
* An error with NOTHING to say answers with the empty string, not with `String(error)`. See
|
|
204
|
+
* `errorChainText`: the base constructor name is not a description, and a call site's
|
|
205
|
+
* `getErrorMessage(err) || '<what the operator should do>'` fallback has to stay reachable.
|
|
206
|
+
*/
|
|
182
207
|
export function getErrorMessage(error) {
|
|
183
|
-
return
|
|
208
|
+
return errorChainText(error);
|
|
184
209
|
}
|
|
185
210
|
/**
|
|
186
211
|
* Extract a {@link DomainError}'s machine-readable `reason` code (under `details.reason`) from an
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/domain/errors.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,iFAAiF;AACjF,gFAAgF;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/domain/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -95,6 +95,7 @@ export { redactImagePayloads } from './shared/redact-image-payloads.logic.js';
|
|
|
95
95
|
export { describeProcessExit } from './shared/process-exit.logic.js';
|
|
96
96
|
export { composePostMortem, MAX_POST_MORTEM_CHARS, tailPostMortemMaterial, } from './shared/post-mortem.logic.js';
|
|
97
97
|
export { describeError, runBestEffort } from './shared/best-effort.js';
|
|
98
|
+
export { errorChainMatches, errorChainText, publicDiagnostic, MAX_ERROR_CHAIN_CHARS, MAX_LOGGED_ERROR_CHAIN_CHARS, } from './shared/error-chain.logic.js';
|
|
98
99
|
export { connectionFailureResult, describeConnectionFailure, type ConnectionFailureCause, type ConnectionFailureContext, type ConnectionFailureDescription, } from './shared/connection-failure.logic.js';
|
|
99
100
|
export { createStoreAgentContextGate, type StoreAgentContextGate, } from './shared/agent-context-gate.js';
|
|
100
101
|
export { createInitiatorPatGate, type InitiatorPatGate, type InitiatorPatAccountTier, type ResolveRunInitiatorToken, } from './shared/initiator-pat-gate.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -205,6 +205,7 @@ export { redactImagePayloads } from './shared/redact-image-payloads.logic.js';
|
|
|
205
205
|
export { describeProcessExit } from './shared/process-exit.logic.js';
|
|
206
206
|
export { composePostMortem, MAX_POST_MORTEM_CHARS, tailPostMortemMaterial, } from './shared/post-mortem.logic.js';
|
|
207
207
|
export { describeError, runBestEffort } from './shared/best-effort.js';
|
|
208
|
+
export { errorChainMatches, errorChainText, publicDiagnostic, MAX_ERROR_CHAIN_CHARS, MAX_LOGGED_ERROR_CHAIN_CHARS, } from './shared/error-chain.logic.js';
|
|
208
209
|
export { connectionFailureResult, describeConnectionFailure, } from './shared/connection-failure.logic.js';
|
|
209
210
|
export { createStoreAgentContextGate, } from './shared/agent-context-gate.js';
|
|
210
211
|
export { createInitiatorPatGate, } from './shared/initiator-pat-gate.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,19 @@ import type { LogFields, Logger } from '../ports/logging.js';
|
|
|
4
4
|
* because an error surfaced from `fetch`, a shell spawn or a provider SDK routinely
|
|
5
5
|
* echoes the URL (with its query) or an auth header back in its text.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* `err` is the whole CAUSE CHAIN, not just `error.message` (see `error-chain.logic.ts`). A
|
|
8
|
+
* transport failure's message is undici's contentless `fetch failed` and what happened lives one
|
|
9
|
+
* `.cause` down, so a line built from the message alone reported every unreachable host, untrusted
|
|
10
|
+
* certificate and DNS typo as the same three words: the operator's log said nothing the moment it
|
|
11
|
+
* mattered most.
|
|
12
|
+
*
|
|
13
|
+
* Only the chain and the constructor name are kept: a stack is high-volume and rarely
|
|
8
14
|
* the thing that identifies the failure in a structured log. Pass one explicitly when a
|
|
9
15
|
* specific site needs it.
|
|
16
|
+
*
|
|
17
|
+
* The chain is capped at the LOG budget, not the human one. A toast has a few lines of room; this
|
|
18
|
+
* field is where an operator goes when those lines were not enough, and the detail that makes the
|
|
19
|
+
* trip worth it (a quoted SQL statement, a provider's JSON error body) is long by nature.
|
|
10
20
|
*/
|
|
11
21
|
export declare function describeError(error: unknown): LogFields;
|
|
12
22
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"best-effort.d.ts","sourceRoot":"","sources":["../../src/shared/best-effort.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAG5D
|
|
1
|
+
{"version":3,"file":"best-effort.d.ts","sourceRoot":"","sources":["../../src/shared/best-effort.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAG5D;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAKvD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,aAAa,CAAC,CAAC,EACnC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EACxB,MAAM,GAAE,SAAc,GACrB,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAOxB"}
|
|
@@ -6,21 +6,31 @@
|
|
|
6
6
|
// `runBestEffort` keeps the swallow and adds the evidence. Every drop becomes one
|
|
7
7
|
// `warn` line naming the operation, with the cause scrubbed. Patterns and the rules for
|
|
8
8
|
// when to use it: `backend/docs/logging.md`.
|
|
9
|
-
import {
|
|
9
|
+
import { errorChainText, MAX_LOGGED_ERROR_CHAIN_CHARS } from './error-chain.logic.js';
|
|
10
10
|
/**
|
|
11
11
|
* Describe a thrown value as log fields. The message is scrubbed with `redactSecrets`
|
|
12
12
|
* because an error surfaced from `fetch`, a shell spawn or a provider SDK routinely
|
|
13
13
|
* echoes the URL (with its query) or an auth header back in its text.
|
|
14
14
|
*
|
|
15
|
-
*
|
|
15
|
+
* `err` is the whole CAUSE CHAIN, not just `error.message` (see `error-chain.logic.ts`). A
|
|
16
|
+
* transport failure's message is undici's contentless `fetch failed` and what happened lives one
|
|
17
|
+
* `.cause` down, so a line built from the message alone reported every unreachable host, untrusted
|
|
18
|
+
* certificate and DNS typo as the same three words: the operator's log said nothing the moment it
|
|
19
|
+
* mattered most.
|
|
20
|
+
*
|
|
21
|
+
* Only the chain and the constructor name are kept: a stack is high-volume and rarely
|
|
16
22
|
* the thing that identifies the failure in a structured log. Pass one explicitly when a
|
|
17
23
|
* specific site needs it.
|
|
24
|
+
*
|
|
25
|
+
* The chain is capped at the LOG budget, not the human one. A toast has a few lines of room; this
|
|
26
|
+
* field is where an operator goes when those lines were not enough, and the detail that makes the
|
|
27
|
+
* trip worth it (a quoted SQL statement, a provider's JSON error body) is long by nature.
|
|
18
28
|
*/
|
|
19
29
|
export function describeError(error) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
30
|
+
return {
|
|
31
|
+
err: errorChainText(error, MAX_LOGGED_ERROR_CHAIN_CHARS),
|
|
32
|
+
errKind: error instanceof Error ? error.name : typeof error,
|
|
33
|
+
};
|
|
24
34
|
}
|
|
25
35
|
/**
|
|
26
36
|
* Run `fn` and swallow any rejection, logging it at `warn` with `label` as the operation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"best-effort.js","sourceRoot":"","sources":["../../src/shared/best-effort.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,0FAA0F;AAC1F,0FAA0F;AAC1F,mFAAmF;AACnF,EAAE;AACF,kFAAkF;AAClF,wFAAwF;AACxF,6CAA6C;AAG7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"best-effort.js","sourceRoot":"","sources":["../../src/shared/best-effort.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,0FAA0F;AAC1F,0FAA0F;AAC1F,mFAAmF;AACnF,EAAE;AACF,kFAAkF;AAClF,wFAAwF;AACxF,6CAA6C;AAG7C,OAAO,EAAE,cAAc,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAA;AAErF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO;QACL,GAAG,EAAE,cAAc,CAAC,KAAK,EAAE,4BAA4B,CAAC;QACxD,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,KAAK;KAC5D,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAc,EACd,KAAa,EACb,EAAwB,EACxB,MAAM,GAAc,EAAE;IAEtB,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAA;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAClF,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-failure.logic.d.ts","sourceRoot":"","sources":["../../src/shared/connection-failure.logic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"connection-failure.logic.d.ts","sourceRoot":"","sources":["../../src/shared/connection-failure.logic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAO1F,YAAY,EAAE,sBAAsB,EAAE,CAAA;AA6BtC,oGAAoG;AACpG,MAAM,WAAW,wBAAwB;IACvC,mGAAmG;IACnG,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8FAA8F;IAC9F,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,sBAAsB,CAAA;IAC7B,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAA;IACd,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAkJD;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,EACd,GAAG,GAAE,wBAA6B,GACjC,4BAA4B,CAa9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,GAAG,GAAE,wBAA6B,GACjC,oBAAoB,CAOtB"}
|
|
@@ -1,61 +1,10 @@
|
|
|
1
|
+
import { flattenErrorChain, joinErrorChain, renderErrorChainLinks } from './error-chain.logic.js';
|
|
1
2
|
import { redactSecrets } from './redact-secrets.logic.js';
|
|
2
|
-
/** Cap on the rendered cause chain, so a pathological nested error can't flood the UI. */
|
|
3
|
-
const MAX_DETAIL_CHARS = 400;
|
|
4
|
-
/** Cap on how far down `cause` / `errors` the walk goes. */
|
|
5
|
-
const MAX_CHAIN_DEPTH = 6;
|
|
6
3
|
/** An error-shaped value's `code`, which Node puts the useful identifier on. */
|
|
7
4
|
function errorCode(error) {
|
|
8
5
|
const code = error?.code;
|
|
9
6
|
return typeof code === 'string' && code ? code : undefined;
|
|
10
7
|
}
|
|
11
|
-
/** The `errors` array an `AggregateError` carries (one entry per attempted address). */
|
|
12
|
-
function aggregated(error) {
|
|
13
|
-
const errors = error?.errors;
|
|
14
|
-
return Array.isArray(errors) ? errors : [];
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Every link of the failure, outermost first: `.cause` chained, plus each branch of an
|
|
18
|
-
* `AggregateError`. Both are walked because they carry different information. The chain holds
|
|
19
|
-
* the specific cause; the aggregate holds one entry PER RESOLVED ADDRESS, and "refused on ::1,
|
|
20
|
-
* never attempted on 127.0.0.1" is a different diagnosis from "refused on both".
|
|
21
|
-
*
|
|
22
|
-
* A link the walk has already reached is not walked again: a `cause` that points back at its own
|
|
23
|
-
* error (or at any ancestor) is otherwise re-rendered once per remaining depth step. Bounding it
|
|
24
|
-
* by IDENTITY rather than by rendered text is what lets the two branches of an aggregate stay
|
|
25
|
-
* distinct even when they stringify identically, which is the whole point of reading them.
|
|
26
|
-
*/
|
|
27
|
-
function flatten(error, depth = 0, out = [], seen = new Set()) {
|
|
28
|
-
if (error === null || error === undefined || depth > MAX_CHAIN_DEPTH)
|
|
29
|
-
return out;
|
|
30
|
-
if (typeof error === 'object') {
|
|
31
|
-
if (seen.has(error))
|
|
32
|
-
return out;
|
|
33
|
-
seen.add(error);
|
|
34
|
-
}
|
|
35
|
-
out.push(error);
|
|
36
|
-
for (const branch of aggregated(error))
|
|
37
|
-
flatten(branch, depth + 1, out, seen);
|
|
38
|
-
flatten(error.cause, depth + 1, out, seen);
|
|
39
|
-
return out;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* A TRANSPORT `code`, as Node and undici spell them (`ECONNREFUSED`, `ERR_TLS_CERT_ALTNAME_INVALID`,
|
|
43
|
-
* `UND_ERR_CONNECT_TIMEOUT`). Deliberately narrow: our own `DomainError`s also carry a `code`, but
|
|
44
|
-
* theirs is a lowercase status class (`validation`), which identifies nothing about a connection
|
|
45
|
-
* and would render as a baffling `(validation)` glued onto an already-complete sentence.
|
|
46
|
-
*/
|
|
47
|
-
const TRANSPORT_CODE = /^[A-Z][A-Z0-9_]*$/;
|
|
48
|
-
/** One link's human text: its message, with the transport `code` appended when the message omits it. */
|
|
49
|
-
function describeLink(link) {
|
|
50
|
-
const message = link instanceof Error ? link.message : String(link);
|
|
51
|
-
const code = errorCode(link);
|
|
52
|
-
const text = message.trim();
|
|
53
|
-
if (!code || !TRANSPORT_CODE.test(code))
|
|
54
|
-
return text || code || '';
|
|
55
|
-
if (!text)
|
|
56
|
-
return code;
|
|
57
|
-
return text.includes(code) ? text : `${text} (${code})`;
|
|
58
|
-
}
|
|
59
8
|
/**
|
|
60
9
|
* The codes/names each cause is recognised by. Matched against every link's `code` and, for the
|
|
61
10
|
* DOM-side rejections, its `name`: `AbortSignal.timeout()` rejects with a `DOMException` named
|
|
@@ -191,58 +140,21 @@ function hintFor(cause, ctx) {
|
|
|
191
140
|
return undefined;
|
|
192
141
|
}
|
|
193
142
|
}
|
|
194
|
-
/**
|
|
195
|
-
* The links' texts in walk order, with links that render IDENTICALLY folded into a count rather
|
|
196
|
-
* than dropped. A bare dedupe made "refused on both of this host's addresses" render byte-for-byte
|
|
197
|
-
* like "refused on one", which is the distinction the aggregate branches are walked for: undici
|
|
198
|
-
* emits address-less `connect ECONNREFUSED` forms, so two branches routinely stringify the same.
|
|
199
|
-
*/
|
|
200
|
-
function renderLinks(links) {
|
|
201
|
-
const counted = [];
|
|
202
|
-
for (const link of links) {
|
|
203
|
-
const text = describeLink(link);
|
|
204
|
-
if (!text)
|
|
205
|
-
continue;
|
|
206
|
-
const existing = counted.find((c) => c.text === text);
|
|
207
|
-
if (existing)
|
|
208
|
-
existing.count += 1;
|
|
209
|
-
else
|
|
210
|
-
counted.push({ text, count: 1 });
|
|
211
|
-
}
|
|
212
|
-
return counted.map((c) => (c.count > 1 ? `${c.text} (x${c.count})` : c.text));
|
|
213
|
-
}
|
|
214
|
-
/**
|
|
215
|
-
* Cap the rendered chain, SAYING that it was capped. A silent slice is indistinguishable from the
|
|
216
|
-
* whole chain, so a reader concludes the inner links were never there; the count is what tells
|
|
217
|
-
* them there is more to ask for. The marker sits outside the budget on purpose: it is the report
|
|
218
|
-
* about the cap, not part of what was capped.
|
|
219
|
-
*/
|
|
220
|
-
function capDetail(text) {
|
|
221
|
-
if (text.length <= MAX_DETAIL_CHARS)
|
|
222
|
-
return text;
|
|
223
|
-
const dropped = text.length - MAX_DETAIL_CHARS;
|
|
224
|
-
return `${text.slice(0, MAX_DETAIL_CHARS)} […${dropped} more characters of the cause chain]`;
|
|
225
|
-
}
|
|
226
143
|
/**
|
|
227
144
|
* Describe a thrown connection failure: the exact cause chain, plus the remedy when the cause is
|
|
228
145
|
* one we recognise. Never throws, and never invents a cause. An unmatched chain is reported as
|
|
229
146
|
* itself with no hint.
|
|
230
147
|
*/
|
|
231
148
|
export function describeConnectionFailure(error, ctx = {}) {
|
|
232
|
-
const links =
|
|
149
|
+
const links = flattenErrorChain(error);
|
|
233
150
|
const cause = classifyChain(links);
|
|
234
|
-
const parts =
|
|
151
|
+
const parts = renderErrorChainLinks(links);
|
|
235
152
|
// `fetch failed` is the wrapper undici puts over every transport error. It carries no
|
|
236
|
-
// information, and dropping it is what leaves the real cause in the first position
|
|
237
|
-
//
|
|
153
|
+
// information, and dropping it is what leaves the real cause in the first position of a
|
|
154
|
+
// DIAGNOSIS (the one place that is right; see `errorChainText`, which keeps it). Kept when it is
|
|
155
|
+
// ALL there is, so the message is never empty.
|
|
238
156
|
const meaningful = parts.length > 1 ? parts.filter((p) => p !== 'fetch failed') : parts;
|
|
239
|
-
|
|
240
|
-
// request URL back, and a redirected probe's URL can carry a credential in its query. It runs
|
|
241
|
-
// BEFORE the cap, because a secret sliced in half matches none of the shape rules: a JWT cut
|
|
242
|
-
// after its second segment, or a `bearer <tok>` cut to under the rule's minimum run, would ship
|
|
243
|
-
// its surviving characters verbatim.
|
|
244
|
-
const scrubbed = redactSecrets(meaningful.join(': ')) ?? '';
|
|
245
|
-
const detail = capDetail(scrubbed) || 'The connection failed for an unreported reason.';
|
|
157
|
+
const detail = joinErrorChain(meaningful) || 'The connection failed for an unreported reason.';
|
|
246
158
|
const hint = hintFor(cause, ctx);
|
|
247
159
|
return { cause, detail, ...(hint ? { hint } : {}) };
|
|
248
160
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-failure.logic.js","sourceRoot":"","sources":["../../src/shared/connection-failure.logic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"connection-failure.logic.js","sourceRoot":"","sources":["../../src/shared/connection-failure.logic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cap on chain text rendered for a HUMAN reader: a message on a form, a probe verdict, a
|
|
3
|
+
* persisted failure `reason`, a PR comment. Sized so a pathological nesting can't flood the UI.
|
|
4
|
+
*/
|
|
5
|
+
export declare const MAX_ERROR_CHAIN_CHARS = 400;
|
|
6
|
+
/**
|
|
7
|
+
* Cap on chain text rendered into a LOG FIELD, deliberately far wider than the human one.
|
|
8
|
+
*
|
|
9
|
+
* The two readers do not share a budget. A toast has a few lines of room and a person reading it
|
|
10
|
+
* wants the first sentence; a structured log line is the surface the operator turns to when the
|
|
11
|
+
* first sentence was not enough, and the things that make it worth having are long: the SQL a
|
|
12
|
+
* Postgres error quotes back, a provider's JSON error body, a multi-issue validation dump. Capped
|
|
13
|
+
* all the same, because an unbounded field is a log-ingestion cost and a pathological nesting
|
|
14
|
+
* would still be the thing that pays it.
|
|
15
|
+
*/
|
|
16
|
+
export declare const MAX_LOGGED_ERROR_CHAIN_CHARS = 4000;
|
|
17
|
+
/**
|
|
18
|
+
* Every link of a failure, outermost first: `.cause` chained, plus each branch of an
|
|
19
|
+
* `AggregateError`. Both are walked because they carry different information. The chain holds the
|
|
20
|
+
* specific cause; the aggregate holds one entry PER RESOLVED ADDRESS, and "refused on ::1, never
|
|
21
|
+
* attempted on 127.0.0.1" is a different diagnosis from "refused on both".
|
|
22
|
+
*
|
|
23
|
+
* A link the walk has already reached is not walked again: a `cause` that points back at its own
|
|
24
|
+
* error (or at any ancestor) is otherwise re-rendered once per remaining depth step. Bounding it by
|
|
25
|
+
* IDENTITY rather than by rendered text is what lets the two branches of an aggregate stay distinct
|
|
26
|
+
* even when they stringify identically, which is the whole point of reading them.
|
|
27
|
+
*/
|
|
28
|
+
export declare function flattenErrorChain(error: unknown, depth?: number, out?: unknown[], seen?: Set<unknown>): unknown[];
|
|
29
|
+
/** One link's human text: its message, with the transport `code` appended when the message omits it. */
|
|
30
|
+
export declare function describeErrorLink(link: unknown): string;
|
|
31
|
+
/**
|
|
32
|
+
* The links' texts in walk order, with links that render IDENTICALLY folded into a count rather
|
|
33
|
+
* than dropped. A bare dedupe made "refused on both of this host's addresses" render byte-for-byte
|
|
34
|
+
* like "refused on one", which is the distinction the aggregate branches are walked for: undici
|
|
35
|
+
* emits address-less `connect ECONNREFUSED` forms, so two branches routinely stringify the same.
|
|
36
|
+
*/
|
|
37
|
+
export declare function renderErrorChainLinks(links: readonly unknown[]): string[];
|
|
38
|
+
/**
|
|
39
|
+
* Cap rendered chain text, SAYING that it was capped. A silent slice is indistinguishable from the
|
|
40
|
+
* whole chain, so a reader concludes the inner links were never there; the count is what tells them
|
|
41
|
+
* there is more to ask for. The marker sits outside the budget on purpose: it is the report about
|
|
42
|
+
* the cap, not part of what was capped.
|
|
43
|
+
*/
|
|
44
|
+
export declare function capErrorChain(text: string, maxChars?: number): string;
|
|
45
|
+
/**
|
|
46
|
+
* Join rendered links into one scrubbed, capped string.
|
|
47
|
+
*
|
|
48
|
+
* Scrubbed for the same reason `describeError` always was: a transport error routinely echoes the
|
|
49
|
+
* request URL back, and a redirected call's URL can carry a credential in its query. It runs BEFORE
|
|
50
|
+
* the cap, because a secret sliced in half matches none of the shape rules: a JWT cut after its
|
|
51
|
+
* second segment, or a `bearer <tok>` cut to under the rule's minimum run, would ship its surviving
|
|
52
|
+
* characters verbatim.
|
|
53
|
+
*/
|
|
54
|
+
export declare function joinErrorChain(parts: readonly string[], maxChars?: number): string;
|
|
55
|
+
/**
|
|
56
|
+
* A thrown value as ONE line of text: its own message, then each cause beneath it, scrubbed and
|
|
57
|
+
* capped. This is what `getErrorMessage` and `describeError` both answer with.
|
|
58
|
+
*
|
|
59
|
+
* The outermost link is KEPT even when it is undici's contentless `fetch failed` wrapper, unlike
|
|
60
|
+
* {@link describeConnectionFailure}, which drops it. The difference is deliberate and is about who
|
|
61
|
+
* reads the result. A probe's verdict is prose an operator reads as a diagnosis, so the wrapper is
|
|
62
|
+
* noise ahead of the real cause. This string, by contrast, is the one a `DispatchError` carries,
|
|
63
|
+
* a persisted `reason` records and a log line greps — and several of those are matched downstream by
|
|
64
|
+
* their opening phrase (`/dispatch failed/i`, the eviction sentinels). Dropping a leading link would
|
|
65
|
+
* silently re-point every one of those matches; appending the causes cannot.
|
|
66
|
+
*/
|
|
67
|
+
export declare function errorChainText(error: unknown, maxChars?: number): string;
|
|
68
|
+
/**
|
|
69
|
+
* Whether ANY link of the chain matches `pattern` — the read for a CLASSIFICATION rather than a
|
|
70
|
+
* rendering (is this stop a rollout signal, is this dispatch failure an eviction).
|
|
71
|
+
*
|
|
72
|
+
* It deliberately does not go through {@link errorChainText}, and the difference is the point: that
|
|
73
|
+
* string is scrubbed and CAPPED for a reader, and a verdict that consults it silently inherits the
|
|
74
|
+
* display budget. A sentinel phrase sitting past the cap, or altered by the scrubber, would turn a
|
|
75
|
+
* recognised condition into an unrecognised one, which on the eviction path means a healthy run
|
|
76
|
+
* spending its crash budget on a deploy. Links are matched individually so a phrase can never be
|
|
77
|
+
* split across the `: ` the join inserts either.
|
|
78
|
+
*
|
|
79
|
+
* Matched with `String.search`, not `RegExp.test`: `test` advances `lastIndex` on a `/g` pattern,
|
|
80
|
+
* so a caller's module-level regex would answer differently on its second call.
|
|
81
|
+
*/
|
|
82
|
+
export declare function errorChainMatches(error: unknown, pattern: RegExp): boolean;
|
|
83
|
+
/**
|
|
84
|
+
* The OUTERMOST link only, deliberately LESS than the chain above, for a PUBLIC surface.
|
|
85
|
+
*
|
|
86
|
+
* Both facades' `/ready` answer an UNAUTHENTICATED caller, and that inverts the reasoning behind
|
|
87
|
+
* every other describer here. A flattened chain is what makes an error useful to the operator and
|
|
88
|
+
* what makes this field a leak: a pool failure's inner link is `connect ECONNREFUSED
|
|
89
|
+
* 10.x.y.z:5432`, the deployment's database address, handed to anyone who curls the endpoint. The
|
|
90
|
+
* operator's copy of the same failure is the boot/probe LOG line, which does carry the chain.
|
|
91
|
+
*
|
|
92
|
+
* It lives here, beside the describers it deliberately differs from, so the carve-out is ONE
|
|
93
|
+
* named function both runtimes call rather than a hand-rolled `err instanceof Error ? …` in each
|
|
94
|
+
* (which is indistinguishable from the bug the chain exists to fix, and drifted between the
|
|
95
|
+
* facades the first time it was written twice).
|
|
96
|
+
*/
|
|
97
|
+
export declare function publicDiagnostic(error: unknown): string;
|
|
98
|
+
//# sourceMappingURL=error-chain.logic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-chain.logic.d.ts","sourceRoot":"","sources":["../../src/shared/error-chain.logic.ts"],"names":[],"mappings":"AAmBA;;;GAGG;AACH,eAAO,MAAM,qBAAqB,MAAM,CAAA;AACxC;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,OAAQ,CAAA;AAsDjD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,KAAK,SAAI,EACT,GAAG,GAAE,OAAO,EAAO,EACnB,IAAI,GAAE,GAAG,CAAC,OAAO,CAAa,GAC7B,OAAO,EAAE,CAiBX;AAUD,wGAAwG;AACxG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAOvD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,EAAE,CAWzE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAA8B,GAAG,MAAM,CAI5F;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,QAAQ,GAAE,MAA8B,GACvC,MAAM,CAER;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,GAAE,MAA8B,GAAG,MAAM,CAsB/F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAE1E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEvD"}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { redactSecrets } from './redact-secrets.logic.js';
|
|
2
|
+
// How a THROWN VALUE is turned into text, for every reader in the repo: a log line
|
|
3
|
+
// (`describeError`), a message rendered to a human (`getErrorMessage`), and a connection probe's
|
|
4
|
+
// verdict (`describeConnectionFailure`). All three ask the same question and used to answer it
|
|
5
|
+
// three ways, two of which read `error.message` alone.
|
|
6
|
+
//
|
|
7
|
+
// That is not a cosmetic difference. On Node/undici a transport failure IS a bare
|
|
8
|
+
// `TypeError: fetch failed`, and the thing that actually happened (`connect ECONNREFUSED
|
|
9
|
+
// 127.0.0.1:6443`, `self-signed certificate`, `getaddrinfo ENOTFOUND`) hangs off `.cause`, or off
|
|
10
|
+
// an `AggregateError`'s `.errors` when a host resolved to both `::1` and `127.0.0.1`. So a reader
|
|
11
|
+
// that stops at `.message` renders the single least informative string in the chain: the probes
|
|
12
|
+
// were taught to walk it (see `connection-failure.logic.ts`), and everything else in the product
|
|
13
|
+
// kept answering "fetch failed" — the same failure, described two ways depending on which path
|
|
14
|
+
// happened to report it.
|
|
15
|
+
//
|
|
16
|
+
// This module owns the walk and the rendering; `connection-failure.logic.ts` keeps what is its
|
|
17
|
+
// own (classifying the cause and naming a remedy) and reads the links from here.
|
|
18
|
+
/**
|
|
19
|
+
* Cap on chain text rendered for a HUMAN reader: a message on a form, a probe verdict, a
|
|
20
|
+
* persisted failure `reason`, a PR comment. Sized so a pathological nesting can't flood the UI.
|
|
21
|
+
*/
|
|
22
|
+
export const MAX_ERROR_CHAIN_CHARS = 400;
|
|
23
|
+
/**
|
|
24
|
+
* Cap on chain text rendered into a LOG FIELD, deliberately far wider than the human one.
|
|
25
|
+
*
|
|
26
|
+
* The two readers do not share a budget. A toast has a few lines of room and a person reading it
|
|
27
|
+
* wants the first sentence; a structured log line is the surface the operator turns to when the
|
|
28
|
+
* first sentence was not enough, and the things that make it worth having are long: the SQL a
|
|
29
|
+
* Postgres error quotes back, a provider's JSON error body, a multi-issue validation dump. Capped
|
|
30
|
+
* all the same, because an unbounded field is a log-ingestion cost and a pathological nesting
|
|
31
|
+
* would still be the thing that pays it.
|
|
32
|
+
*/
|
|
33
|
+
export const MAX_LOGGED_ERROR_CHAIN_CHARS = 4_000;
|
|
34
|
+
/** Cap on how far down `cause` / `errors` the walk goes. */
|
|
35
|
+
const MAX_CHAIN_DEPTH = 6;
|
|
36
|
+
/**
|
|
37
|
+
* Cap on how many branches of ONE `AggregateError` are walked.
|
|
38
|
+
*
|
|
39
|
+
* Depth was bounded from the start; breadth was not, and it is the axis that actually gets wide:
|
|
40
|
+
* a `Promise.any` over every endpoint of a fleet rejects with one branch per endpoint. Walking
|
|
41
|
+
* hundreds of them to render a few hundred characters is work done and then thrown away. Sized
|
|
42
|
+
* generously against what the walk exists to read (one branch per resolved address of one host,
|
|
43
|
+
* so two or three), and what it drops is REPORTED rather than silently missing.
|
|
44
|
+
*/
|
|
45
|
+
const MAX_AGGREGATE_BRANCHES = 8;
|
|
46
|
+
/**
|
|
47
|
+
* One property of a thrown value, or `undefined` when reading it throws.
|
|
48
|
+
*
|
|
49
|
+
* The walk reads `.cause`, `.errors` and `.code` off values it did not construct: a Proxy, an
|
|
50
|
+
* ORM or SDK error with an accessor-backed field, whatever a dependency chose to throw. A getter
|
|
51
|
+
* that throws would make the DESCRIBER throw, and the describer runs inside `runBestEffort`'s own
|
|
52
|
+
* catch and inside the `.catch` handlers of the durable drivers, whose entire contract is not to
|
|
53
|
+
* propagate. A failed read is therefore an absent link, never a second failure stacked on the
|
|
54
|
+
* first one.
|
|
55
|
+
*/
|
|
56
|
+
function readProperty(value, key) {
|
|
57
|
+
if (value === null || (typeof value !== 'object' && typeof value !== 'function'))
|
|
58
|
+
return undefined;
|
|
59
|
+
try {
|
|
60
|
+
return value[key];
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/** `String(value)`, or `''` when the value's own stringification throws. Same reason as above. */
|
|
67
|
+
function safeText(value) {
|
|
68
|
+
try {
|
|
69
|
+
return String(value);
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return '';
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/** An error-shaped value's `code`, which Node puts the useful identifier on. */
|
|
76
|
+
function errorCode(error) {
|
|
77
|
+
const code = readProperty(error, 'code');
|
|
78
|
+
return typeof code === 'string' && code ? code : undefined;
|
|
79
|
+
}
|
|
80
|
+
/** The `errors` array an `AggregateError` carries (one entry per attempted address). */
|
|
81
|
+
function aggregated(error) {
|
|
82
|
+
const errors = readProperty(error, 'errors');
|
|
83
|
+
return Array.isArray(errors) ? errors : [];
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Every link of a failure, outermost first: `.cause` chained, plus each branch of an
|
|
87
|
+
* `AggregateError`. Both are walked because they carry different information. The chain holds the
|
|
88
|
+
* specific cause; the aggregate holds one entry PER RESOLVED ADDRESS, and "refused on ::1, never
|
|
89
|
+
* attempted on 127.0.0.1" is a different diagnosis from "refused on both".
|
|
90
|
+
*
|
|
91
|
+
* A link the walk has already reached is not walked again: a `cause` that points back at its own
|
|
92
|
+
* error (or at any ancestor) is otherwise re-rendered once per remaining depth step. Bounding it by
|
|
93
|
+
* IDENTITY rather than by rendered text is what lets the two branches of an aggregate stay distinct
|
|
94
|
+
* even when they stringify identically, which is the whole point of reading them.
|
|
95
|
+
*/
|
|
96
|
+
export function flattenErrorChain(error, depth = 0, out = [], seen = new Set()) {
|
|
97
|
+
if (error === null || error === undefined || depth > MAX_CHAIN_DEPTH)
|
|
98
|
+
return out;
|
|
99
|
+
if (typeof error === 'object') {
|
|
100
|
+
if (seen.has(error))
|
|
101
|
+
return out;
|
|
102
|
+
seen.add(error);
|
|
103
|
+
}
|
|
104
|
+
out.push(error);
|
|
105
|
+
const branches = aggregated(error);
|
|
106
|
+
for (const branch of branches.slice(0, MAX_AGGREGATE_BRANCHES))
|
|
107
|
+
flattenErrorChain(branch, depth + 1, out, seen);
|
|
108
|
+
// A dropped branch is SAID rather than left out. The rendering folds identical links into a
|
|
109
|
+
// count, so silently walking eight of two hundred would report "(x8)" — a reader's fair reading
|
|
110
|
+
// of which is that eight is all there were.
|
|
111
|
+
if (branches.length > MAX_AGGREGATE_BRANCHES)
|
|
112
|
+
out.push(`[…${branches.length - MAX_AGGREGATE_BRANCHES} more branches not read]`);
|
|
113
|
+
flattenErrorChain(readProperty(error, 'cause'), depth + 1, out, seen);
|
|
114
|
+
return out;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* A TRANSPORT `code`, as Node and undici spell them (`ECONNREFUSED`, `ERR_TLS_CERT_ALTNAME_INVALID`,
|
|
118
|
+
* `UND_ERR_CONNECT_TIMEOUT`). Deliberately narrow: our own `DomainError`s also carry a `code`, but
|
|
119
|
+
* theirs is a lowercase status class (`validation`), which identifies nothing about a failure and
|
|
120
|
+
* would render as a baffling `(validation)` glued onto an already-complete sentence.
|
|
121
|
+
*/
|
|
122
|
+
const TRANSPORT_CODE = /^[A-Z][A-Z0-9_]*$/;
|
|
123
|
+
/** One link's human text: its message, with the transport `code` appended when the message omits it. */
|
|
124
|
+
export function describeErrorLink(link) {
|
|
125
|
+
const message = link instanceof Error ? readProperty(link, 'message') : link;
|
|
126
|
+
const code = errorCode(link);
|
|
127
|
+
const text = safeText(message ?? '').trim();
|
|
128
|
+
if (!code || !TRANSPORT_CODE.test(code))
|
|
129
|
+
return text || code || '';
|
|
130
|
+
if (!text)
|
|
131
|
+
return code;
|
|
132
|
+
return text.includes(code) ? text : `${text} (${code})`;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* The links' texts in walk order, with links that render IDENTICALLY folded into a count rather
|
|
136
|
+
* than dropped. A bare dedupe made "refused on both of this host's addresses" render byte-for-byte
|
|
137
|
+
* like "refused on one", which is the distinction the aggregate branches are walked for: undici
|
|
138
|
+
* emits address-less `connect ECONNREFUSED` forms, so two branches routinely stringify the same.
|
|
139
|
+
*/
|
|
140
|
+
export function renderErrorChainLinks(links) {
|
|
141
|
+
// Counted in a Map rather than by scanning the accumulated list per link: a `Map` keeps
|
|
142
|
+
// insertion order, so the walk order this renders in is unchanged, and the fold stays linear
|
|
143
|
+
// where the scan was quadratic in the number of DISTINCT links (the wide-aggregate shape).
|
|
144
|
+
const counts = new Map();
|
|
145
|
+
for (const link of links) {
|
|
146
|
+
const text = describeErrorLink(link);
|
|
147
|
+
if (!text)
|
|
148
|
+
continue;
|
|
149
|
+
counts.set(text, (counts.get(text) ?? 0) + 1);
|
|
150
|
+
}
|
|
151
|
+
return [...counts].map(([text, count]) => (count > 1 ? `${text} (x${count})` : text));
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Cap rendered chain text, SAYING that it was capped. A silent slice is indistinguishable from the
|
|
155
|
+
* whole chain, so a reader concludes the inner links were never there; the count is what tells them
|
|
156
|
+
* there is more to ask for. The marker sits outside the budget on purpose: it is the report about
|
|
157
|
+
* the cap, not part of what was capped.
|
|
158
|
+
*/
|
|
159
|
+
export function capErrorChain(text, maxChars = MAX_ERROR_CHAIN_CHARS) {
|
|
160
|
+
if (text.length <= maxChars)
|
|
161
|
+
return text;
|
|
162
|
+
const dropped = text.length - maxChars;
|
|
163
|
+
return `${text.slice(0, maxChars)} […${dropped} more characters of the cause chain]`;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Join rendered links into one scrubbed, capped string.
|
|
167
|
+
*
|
|
168
|
+
* Scrubbed for the same reason `describeError` always was: a transport error routinely echoes the
|
|
169
|
+
* request URL back, and a redirected call's URL can carry a credential in its query. It runs BEFORE
|
|
170
|
+
* the cap, because a secret sliced in half matches none of the shape rules: a JWT cut after its
|
|
171
|
+
* second segment, or a `bearer <tok>` cut to under the rule's minimum run, would ship its surviving
|
|
172
|
+
* characters verbatim.
|
|
173
|
+
*/
|
|
174
|
+
export function joinErrorChain(parts, maxChars = MAX_ERROR_CHAIN_CHARS) {
|
|
175
|
+
return capErrorChain(redactSecrets(parts.join(': ')) ?? '', maxChars);
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* A thrown value as ONE line of text: its own message, then each cause beneath it, scrubbed and
|
|
179
|
+
* capped. This is what `getErrorMessage` and `describeError` both answer with.
|
|
180
|
+
*
|
|
181
|
+
* The outermost link is KEPT even when it is undici's contentless `fetch failed` wrapper, unlike
|
|
182
|
+
* {@link describeConnectionFailure}, which drops it. The difference is deliberate and is about who
|
|
183
|
+
* reads the result. A probe's verdict is prose an operator reads as a diagnosis, so the wrapper is
|
|
184
|
+
* noise ahead of the real cause. This string, by contrast, is the one a `DispatchError` carries,
|
|
185
|
+
* a persisted `reason` records and a log line greps — and several of those are matched downstream by
|
|
186
|
+
* their opening phrase (`/dispatch failed/i`, the eviction sentinels). Dropping a leading link would
|
|
187
|
+
* silently re-point every one of those matches; appending the causes cannot.
|
|
188
|
+
*/
|
|
189
|
+
export function errorChainText(error, maxChars = MAX_ERROR_CHAIN_CHARS) {
|
|
190
|
+
const parts = renderErrorChainLinks(flattenErrorChain(error));
|
|
191
|
+
if (parts.length > 0)
|
|
192
|
+
return joinErrorChain(parts, maxChars);
|
|
193
|
+
// Nothing in the chain had anything to say, and what that means depends on WHAT was thrown.
|
|
194
|
+
//
|
|
195
|
+
// For a non-error value, naming it is a report: "null" says something was thrown and there is
|
|
196
|
+
// nothing behind it, where `''` reads as a failure that was never described.
|
|
197
|
+
//
|
|
198
|
+
// For an ERROR it is the opposite, and the difference matters because this string feeds the
|
|
199
|
+
// whole product. `String(new Error(''))` is `Error`, the base constructor name EVERY error
|
|
200
|
+
// shares: it names nothing about the failure, and it is exactly the string that a call site's
|
|
201
|
+
// `getErrorMessage(err) || '<what the operator should do about it>'` guard exists to replace. A
|
|
202
|
+
// describer that can never return empty silently turns every one of those guards into dead code
|
|
203
|
+
// and prints `Error` where the actionable sentence used to be. So an error with nothing to say
|
|
204
|
+
// says nothing. A CUSTOM `name` (`AbortError`) is the one fact there is, and survives.
|
|
205
|
+
if (error instanceof Error) {
|
|
206
|
+
const name = readProperty(error, 'name');
|
|
207
|
+
return typeof name === 'string' && name && name !== Error.name
|
|
208
|
+
? joinErrorChain([name], maxChars)
|
|
209
|
+
: '';
|
|
210
|
+
}
|
|
211
|
+
return joinErrorChain([safeText(error)], maxChars);
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Whether ANY link of the chain matches `pattern` — the read for a CLASSIFICATION rather than a
|
|
215
|
+
* rendering (is this stop a rollout signal, is this dispatch failure an eviction).
|
|
216
|
+
*
|
|
217
|
+
* It deliberately does not go through {@link errorChainText}, and the difference is the point: that
|
|
218
|
+
* string is scrubbed and CAPPED for a reader, and a verdict that consults it silently inherits the
|
|
219
|
+
* display budget. A sentinel phrase sitting past the cap, or altered by the scrubber, would turn a
|
|
220
|
+
* recognised condition into an unrecognised one, which on the eviction path means a healthy run
|
|
221
|
+
* spending its crash budget on a deploy. Links are matched individually so a phrase can never be
|
|
222
|
+
* split across the `: ` the join inserts either.
|
|
223
|
+
*
|
|
224
|
+
* Matched with `String.search`, not `RegExp.test`: `test` advances `lastIndex` on a `/g` pattern,
|
|
225
|
+
* so a caller's module-level regex would answer differently on its second call.
|
|
226
|
+
*/
|
|
227
|
+
export function errorChainMatches(error, pattern) {
|
|
228
|
+
return flattenErrorChain(error).some((link) => describeErrorLink(link).search(pattern) !== -1);
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* The OUTERMOST link only, deliberately LESS than the chain above, for a PUBLIC surface.
|
|
232
|
+
*
|
|
233
|
+
* Both facades' `/ready` answer an UNAUTHENTICATED caller, and that inverts the reasoning behind
|
|
234
|
+
* every other describer here. A flattened chain is what makes an error useful to the operator and
|
|
235
|
+
* what makes this field a leak: a pool failure's inner link is `connect ECONNREFUSED
|
|
236
|
+
* 10.x.y.z:5432`, the deployment's database address, handed to anyone who curls the endpoint. The
|
|
237
|
+
* operator's copy of the same failure is the boot/probe LOG line, which does carry the chain.
|
|
238
|
+
*
|
|
239
|
+
* It lives here, beside the describers it deliberately differs from, so the carve-out is ONE
|
|
240
|
+
* named function both runtimes call rather than a hand-rolled `err instanceof Error ? …` in each
|
|
241
|
+
* (which is indistinguishable from the bug the chain exists to fix, and drifted between the
|
|
242
|
+
* facades the first time it was written twice).
|
|
243
|
+
*/
|
|
244
|
+
export function publicDiagnostic(error) {
|
|
245
|
+
return redactSecrets(describeErrorLink(error)) ?? '';
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=error-chain.logic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-chain.logic.js","sourceRoot":"","sources":["../../src/shared/error-chain.logic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redact-secrets.logic.d.ts","sourceRoot":"","sources":["../../src/shared/redact-secrets.logic.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"redact-secrets.logic.d.ts","sourceRoot":"","sources":["../../src/shared/redact-secrets.logic.ts"],"names":[],"mappings":"AA8IA;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAcjE;AA6CD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAe/E;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAShD"}
|
|
@@ -51,13 +51,50 @@ function redactPrivateKeyBlocks(value) {
|
|
|
51
51
|
}
|
|
52
52
|
return copiedTo === 0 ? value : out + value.slice(copiedTo);
|
|
53
53
|
}
|
|
54
|
+
// An environment variable's NAME (`OPENAI_API_KEY`), which an error naming a missing setting
|
|
55
|
+
// interpolates and no vendor emits a credential in the shape of. The underscore is required:
|
|
56
|
+
// without it this would also spare an uppercase hex or base32 token.
|
|
57
|
+
const ENV_VAR_NAME = /^[A-Z][A-Z0-9]*(?:_[A-Z0-9]+)+$/;
|
|
58
|
+
// One word in ONE case convention (`expected`, `AUTHENTICATION`, `Missing`). Mixed case inside a
|
|
59
|
+
// purely-alphabetic run is the tell that it is not a word: short base64 (`dXNlcjpwYXNz`) is
|
|
60
|
+
// alphabetic too, and that is exactly what a `Basic ` prefix carries.
|
|
61
|
+
const PROSE_WORD = /^(?:[a-z]+|[A-Z]+|[A-Z][a-z]+)$/;
|
|
62
|
+
// Above this length a purely-alphabetic single-case run stops reading as an English word. The
|
|
63
|
+
// words that actually appear after these field names in error prose ("expected", "required",
|
|
64
|
+
// "authentication") are all well under it.
|
|
65
|
+
const MIN_ALPHABETIC_SECRET_CHARS = 16;
|
|
66
|
+
/**
|
|
67
|
+
* Whether a value captured by a FIELD-NAME rule is plausibly a credential rather than the next
|
|
68
|
+
* word of a sentence.
|
|
69
|
+
*
|
|
70
|
+
* The field-name rules key off a name (`key`, `signature`, `token`, `basic`), and those names are
|
|
71
|
+
* ordinary English that appears in ordinary error prose. Unguarded they turned "Missing required
|
|
72
|
+
* key: OPENAI_API_KEY" into "Missing required key: [REDACTED]" — deleting the one identifier the
|
|
73
|
+
* operator has to go and set — and "basic authentication failed" into "basic [REDACTED] failed".
|
|
74
|
+
* That was survivable while scrubbing was confined to log fields; it is not now that the same
|
|
75
|
+
* text is the message a person reads on a form and the `reason` persisted on a failed run.
|
|
76
|
+
*
|
|
77
|
+
* Deliberately asymmetric, in the direction the surrounding module already declares: this is a
|
|
78
|
+
* best-effort net over the structural allow-lists, so it gives up an all-lowercase dictionary
|
|
79
|
+
* word used as a password (`password=letmein`) to stop mangling every sentence that contains the
|
|
80
|
+
* word "key". Every credential SHAPE the rules exist for still matches, because real ones carry a
|
|
81
|
+
* digit, a symbol, mixed case, or length.
|
|
82
|
+
*
|
|
83
|
+
* An absent capture group answers `true`: a rule that matched without producing a value has told
|
|
84
|
+
* us nothing about the value, and the safe reading of nothing is "secret".
|
|
85
|
+
*/
|
|
86
|
+
function looksLikeSecretValue(value) {
|
|
87
|
+
if (ENV_VAR_NAME.test(value))
|
|
88
|
+
return false;
|
|
89
|
+
return !(value.length < MIN_ALPHABETIC_SECRET_CHARS && PROSE_WORD.test(value));
|
|
90
|
+
}
|
|
54
91
|
// Each rule matches a secret-bearing fragment; the capture group(s) bracket the literal
|
|
55
92
|
// prefix to keep (so the reader still sees WHAT was redacted) and the secret to drop.
|
|
56
93
|
const RULES = [
|
|
57
94
|
// `Authorization: Bearer <token>` / `Bearer <token>` (case-insensitive scheme).
|
|
58
95
|
{
|
|
59
96
|
pattern: /\b(bearer|basic|token)\s+([A-Za-z0-9._+/=~-]{8,})/gi,
|
|
60
|
-
replace: (m) => `${m[1]} ${REPLACEMENT}
|
|
97
|
+
replace: (m) => (looksLikeSecretValue(m[2] ?? '') ? `${m[1]} ${REPLACEMENT}` : (m[0] ?? '')),
|
|
61
98
|
},
|
|
62
99
|
// `Authorization: <anything>` / `x-api-key: <anything>` header echoes.
|
|
63
100
|
{
|
|
@@ -82,7 +119,7 @@ const RULES = [
|
|
|
82
119
|
// api_key/apikey, access_token, client_secret, etc. (`?token=…` or `"token":"…"`).
|
|
83
120
|
{
|
|
84
121
|
pattern: /\b((?:access[_-]?)?(?:api[_-]?)?(?:client[_-]?)?(?:token|secret|password|passwd|pwd|sig|signature|key|apikey|auth))(["']?\s*[:=]\s*["']?)([^\s"',&}@/]{4,})/gi,
|
|
85
|
-
replace: (m) => `${m[1]}${m[2]}${REPLACEMENT}
|
|
122
|
+
replace: (m) => looksLikeSecretValue(m[3] ?? '') ? `${m[1]}${m[2]}${REPLACEMENT}` : (m[0] ?? ''),
|
|
86
123
|
},
|
|
87
124
|
// Recognisable standalone token shapes, regardless of surrounding context.
|
|
88
125
|
{ pattern: /\b(sk|rk|pk)-[A-Za-z0-9_-]{16,}/g, replace: () => REPLACEMENT },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redact-secrets.logic.js","sourceRoot":"","sources":["../../src/shared/redact-secrets.logic.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,yFAAyF;AACzF,sFAAsF;AACtF,oFAAoF;AACpF,yFAAyF;AACzF,yFAAyF;AACzF,2FAA2F;AAC3F,yFAAyF;AACzF,yEAAyE;AAEzE,MAAM,WAAW,GAAG,YAAY,CAAA;AAEhC,4FAA4F;AAC5F,0FAA0F;AAC1F,4BAA4B;AAC5B,MAAM,qBAAqB,GAAG,iDAAiD,CAAA;AAC/E,MAAM,mBAAmB,GAAG,+CAA+C,CAAA;AAE3E;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,sBAAsB,CAAC,KAAa;IAC3C,qBAAqB,CAAC,SAAS,GAAG,CAAC,CAAA;IACnC,IAAI,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAChC,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,OAAO,KAAK,KAAK,IAAI,EAAE,CAAC;QACtB,mBAAmB,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QAC7D,MAAM,GAAG,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC3C,IAAI,GAAG,KAAK,IAAI;YAAE,MAAK;QACvB,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAA;QACvD,QAAQ,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QACpC,qBAAqB,CAAC,SAAS,GAAG,QAAQ,CAAA;QAC1C,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC3C,CAAC;IACD,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;AAC7D,CAAC;AAED,wFAAwF;AACxF,sFAAsF;AACtF,MAAM,KAAK,GAAoE;IAC7E,gFAAgF;IAChF;QACE,OAAO,EAAE,qDAAqD;QAC9D,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;
|
|
1
|
+
{"version":3,"file":"redact-secrets.logic.js","sourceRoot":"","sources":["../../src/shared/redact-secrets.logic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-scan.logic.d.ts","sourceRoot":"","sources":["../../src/shared/repo-scan.logic.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"repo-scan.logic.d.ts","sourceRoot":"","sources":["../../src/shared/repo-scan.logic.ts"],"names":[],"mappings":"AAqBA,+EAA+E;AAC/E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAA;IAC3E,aAAa,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;CACxE;AAED,kGAAkG;AAClG,wBAAgB,YAAY,CAAC,GAAG,KAAK,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,MAAM,CAWrE;AAED;;;;;;;;;GASG;AACH,qBAAa,mBAAmB;IAQ5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAT1B,OAAO,CAAC,KAAK,CAAI;IACjB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;IAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAE9D,YACmB,MAAM,EAAE,sBAAsB,EAC9B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,YAAA,EAC9B;IAEJ;;;OAGG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;OAGG;IACH,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED,OAAO,CAAC,WAAW;IAMb,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmBlD;IAED,mFAAmF;IAC7E,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE3C;IAED,8FAA8F;IACxF,YAAY,CAChB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EAAE,GACd,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAMnD;IAEK,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAiBpD;CACF"}
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
// `readFault` / `exhausted` signals for the callers that raise an actionable error or a
|
|
17
17
|
// truncation note. `docs-detect` ignores `readFault` (it degrades to defaults instead).
|
|
18
18
|
// ---------------------------------------------------------------------------
|
|
19
|
+
import { errorChainText } from './error-chain.logic.js';
|
|
19
20
|
/** Join + normalize repo-relative path segments (drops empties, collapses `.`, resolves `..`). */
|
|
20
21
|
export function joinRepoPath(...parts) {
|
|
21
22
|
const segs = [];
|
|
@@ -73,7 +74,7 @@ export class BudgetedRepoScanner {
|
|
|
73
74
|
}
|
|
74
75
|
recordFault(err) {
|
|
75
76
|
if (this.firstFault === undefined) {
|
|
76
|
-
this.firstFault =
|
|
77
|
+
this.firstFault = errorChainText(err);
|
|
77
78
|
}
|
|
78
79
|
}
|
|
79
80
|
async getFile(path) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-scan.logic.js","sourceRoot":"","sources":["../../src/shared/repo-scan.logic.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,kFAAkF;AAClF,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,0FAA0F;AAC1F,yFAAyF;AACzF,uFAAuF;AACvF,0FAA0F;AAC1F,EAAE;AACF,4EAA4E;AAC5E,4FAA4F;AAC5F,4FAA4F;AAC5F,2FAA2F;AAC3F,wFAAwF;AACxF,wFAAwF;AACxF,8EAA8E;
|
|
1
|
+
{"version":3,"file":"repo-scan.logic.js","sourceRoot":"","sources":["../../src/shared/repo-scan.logic.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,kFAAkF;AAClF,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,0FAA0F;AAC1F,yFAAyF;AACzF,uFAAuF;AACvF,0FAA0F;AAC1F,EAAE;AACF,4EAA4E;AAC5E,4FAA4F;AAC5F,4FAA4F;AAC5F,2FAA2F;AAC3F,wFAAwF;AACxF,wFAAwF;AACxF,8EAA8E;AAE9E,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAuBvD,kGAAkG;AAClG,MAAM,UAAU,YAAY,CAAC,GAAG,KAA6B;IAC3D,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI;YAAE,SAAQ;QACnB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,GAAG;gBAAE,SAAQ;YACjC,IAAI,GAAG,KAAK,IAAI;gBAAE,IAAI,CAAC,GAAG,EAAE,CAAA;;gBACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACvB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,mBAAmB;IAQX,MAAM;IACN,MAAM;IACN,MAAM;IATjB,KAAK,GAAG,CAAC,CAAA;IACT,SAAS,GAAG,KAAK,CAAA;IACjB,UAAU,CAAoB;IACrB,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAA;IAC5C,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAA;IAE9D,YACmB,MAA8B,EAC9B,MAAc,EACd,MAAe;sBAFf,MAAM;sBACN,MAAM;sBACN,MAAM;IACtB,CAAC;IAEJ;;;OAGG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED;;;OAGG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAEO,WAAW,CAAC,GAAY;QAC9B,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAA;QACvC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;YACrB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,IAAI,OAAO,GAAkB,IAAI,CAAA;QACjC,IAAI,CAAC;YACH,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,IAAI,IAAI,CAAA;QAC3E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,wFAAwF;YACxF,0FAA0F;YAC1F,0EAA0E;YAC1E,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACvB,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACjC,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAA;IAC5C,CAAC;IAED,8FAA8F;IAC9F,KAAK,CAAC,YAAY,CAChB,GAAW,EACX,KAAe;QAEf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;YAC3D,IAAI,OAAO,KAAK,IAAI;gBAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;QAChD,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAA;QACvC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;YACrB,OAAO,EAAE,CAAA;QACX,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,IAAI,OAAO,GAAoB,EAAE,CAAA;QACjC,IAAI,CAAC;YACH,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;QACxE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YACrB,OAAO,GAAG,EAAE,CAAA;QACd,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAChC,OAAO,OAAO,CAAA;IAChB,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/kernel",
|
|
3
|
-
"version": "0.286.
|
|
3
|
+
"version": "0.286.2",
|
|
4
4
|
"description": "Shared vocabulary, pure logic, and port interfaces for the Agent Architecture Board.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"ai": "^7.0.58",
|
|
28
28
|
"yaml": "^2.9.0",
|
|
29
|
-
"@cat-factory/contracts": "0.
|
|
29
|
+
"@cat-factory/contracts": "0.294.0"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@stryker-mutator/core": "9.6.1",
|