@north-light/crouter 0.3.290 → 0.3.291
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.
|
@@ -31,7 +31,11 @@ interface NodeOutcomeBaseDTO {
|
|
|
31
31
|
}
|
|
32
32
|
/** A settled outcome. Narrowing on `kind` then `reason` makes a declined
|
|
33
33
|
* structured result (`failure`/`declined`) a case a consumer must handle:
|
|
34
|
-
* only that case
|
|
34
|
+
* only that case can carry `declined`; every other outcome has it null. A
|
|
35
|
+
* declined outcome latched before the decline block was recorded on the row
|
|
36
|
+
* (or reconstructed by the outcome-column backfill from `terminal_reason`
|
|
37
|
+
* alone) carries null there — the decline happened, its reason/code/retryable
|
|
38
|
+
* triple was never stored. */
|
|
35
39
|
export type NodeOutcomeDTO = (NodeOutcomeBaseDTO & {
|
|
36
40
|
kind: 'result';
|
|
37
41
|
reason: TerminalReasonDTO;
|
|
@@ -39,7 +43,7 @@ export type NodeOutcomeDTO = (NodeOutcomeBaseDTO & {
|
|
|
39
43
|
}) | (NodeOutcomeBaseDTO & {
|
|
40
44
|
kind: 'failure';
|
|
41
45
|
reason: 'declined';
|
|
42
|
-
declined: DeclinedResultDTO;
|
|
46
|
+
declined: DeclinedResultDTO | null;
|
|
43
47
|
}) | (NodeOutcomeBaseDTO & {
|
|
44
48
|
kind: 'failure';
|
|
45
49
|
reason: Exclude<TerminalReasonDTO, 'declined'>;
|
package/dist/daemon/api/map.js
CHANGED
|
@@ -62,12 +62,13 @@ export function toNodeOutcomeDTO(node) {
|
|
|
62
62
|
};
|
|
63
63
|
if (node.outcome_kind === 'result')
|
|
64
64
|
return { ...base, kind: 'result', reason: node.outcome_reason, declined: null };
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
65
|
+
// A declined row whose detail holds no decline block still projects: the row
|
|
66
|
+
// predates the decline block being recorded, or the outcome-column backfill
|
|
67
|
+
// rebuilt it from `terminal_reason` alone. This mapper also runs per row in
|
|
68
|
+
// the canvas-wide list projection, so throwing here would take every
|
|
69
|
+
// graph-wide read down over one unreadable node.
|
|
70
|
+
if (node.outcome_reason === 'declined')
|
|
71
|
+
return { ...base, kind: 'failure', reason: 'declined', declined: detail?.declined ?? null };
|
|
71
72
|
return { ...base, kind: 'failure', reason: node.outcome_reason, declined: null };
|
|
72
73
|
}
|
|
73
74
|
/** Project a durable delivery row without exposing its execution coordinates or stderr tail. */
|
package/package.json
CHANGED
package/runtime.lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@north-light/crouter",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.291",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@north-light/crouter",
|
|
9
|
-
"version": "0.3.
|
|
9
|
+
"version": "0.3.291",
|
|
10
10
|
"hasInstallScript": true,
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"workspaces": [
|
|
@@ -4244,17 +4244,17 @@
|
|
|
4244
4244
|
},
|
|
4245
4245
|
"packages/crouter-api": {
|
|
4246
4246
|
"name": "@north-light/crouter-api",
|
|
4247
|
-
"version": "0.3.
|
|
4247
|
+
"version": "0.3.291",
|
|
4248
4248
|
"license": "UNLICENSED"
|
|
4249
4249
|
},
|
|
4250
4250
|
"packages/crouter-env-docker": {
|
|
4251
4251
|
"name": "@north-light/crouter-env-docker",
|
|
4252
|
-
"version": "0.3.
|
|
4252
|
+
"version": "0.3.291",
|
|
4253
4253
|
"license": "UNLICENSED"
|
|
4254
4254
|
},
|
|
4255
4255
|
"packages/crouter-sdk": {
|
|
4256
4256
|
"name": "@north-light/crouter-sdk",
|
|
4257
|
-
"version": "0.3.
|
|
4257
|
+
"version": "0.3.291",
|
|
4258
4258
|
"license": "UNLICENSED",
|
|
4259
4259
|
"dependencies": {
|
|
4260
4260
|
"@north-light/crouter-api": "*"
|