patchwork-os 1.2.0-beta.2.canary.820 → 1.2.0-beta.2.canary.823
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/README.md +18 -8
- package/dist/recipes/chainedRunner.d.ts +6 -0
- package/dist/recipes/chainedRunner.js +74 -6
- package/dist/recipes/chainedRunner.js.map +1 -1
- package/dist/recipes/haltCategory.d.ts +1 -1
- package/dist/recipes/haltCategory.js +23 -0
- package/dist/recipes/haltCategory.js.map +1 -1
- package/dist/recipes/tools/fanOut.js +23 -7
- package/dist/recipes/tools/fanOut.js.map +1 -1
- package/dist/recipes/tools/http.js +9 -0
- package/dist/recipes/tools/http.js.map +1 -1
- package/dist/recipes/tools/httpOutcome.d.ts +70 -0
- package/dist/recipes/tools/httpOutcome.js +136 -0
- package/dist/recipes/tools/httpOutcome.js.map +1 -0
- package/dist/recipes/uncertainOutcome.d.ts +2 -0
- package/dist/recipes/uncertainOutcome.js +7 -0
- package/dist/recipes/uncertainOutcome.js.map +1 -1
- package/dist/recipes/yamlRunner.js +31 -5
- package/dist/recipes/yamlRunner.js.map +1 -1
- package/dist/workers/shadowObserver.d.ts +1 -0
- package/dist/workers/shadowObserver.js +8 -0
- package/dist/workers/shadowObserver.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fanOut.js","sourceRoot":"","sources":["../../../src/recipes/tools/fanOut.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fanOut.js","sourceRoot":"","sources":["../../../src/recipes/tools/fanOut.ts"],"names":[],"mappings":"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"}
|
|
@@ -119,6 +119,10 @@ registerTool({
|
|
|
119
119
|
properties: {
|
|
120
120
|
status: { type: "number" },
|
|
121
121
|
ok: { type: "boolean" },
|
|
122
|
+
redirected: {
|
|
123
|
+
type: "boolean",
|
|
124
|
+
description: "Present (true) only when a redirect was followed: the status then describes the redirect target, not the request that was posted.",
|
|
125
|
+
},
|
|
122
126
|
body: { type: "string" },
|
|
123
127
|
},
|
|
124
128
|
},
|
|
@@ -174,6 +178,7 @@ registerTool({
|
|
|
174
178
|
// The connection is pinned to the address resolved here (IPv4 to match
|
|
175
179
|
// the dispatcher), so undici never re-resolves the name.
|
|
176
180
|
let res;
|
|
181
|
+
let redirects = 0;
|
|
177
182
|
try {
|
|
178
183
|
const result = await safeFetch(parsed, {
|
|
179
184
|
method,
|
|
@@ -189,6 +194,7 @@ registerTool({
|
|
|
189
194
|
fetchImpl: (u, i) => undiciFetch(u, i),
|
|
190
195
|
});
|
|
191
196
|
res = result.response;
|
|
197
|
+
redirects = result.redirects;
|
|
192
198
|
}
|
|
193
199
|
catch (err) {
|
|
194
200
|
if (err instanceof OutboundHttpError) {
|
|
@@ -227,6 +233,9 @@ registerTool({
|
|
|
227
233
|
return JSON.stringify({
|
|
228
234
|
status: res.status,
|
|
229
235
|
ok: res.ok,
|
|
236
|
+
// Only when it happened, so the common shape is unchanged. A 303 turns
|
|
237
|
+
// the POST into a GET, so a final 4xx then says nothing about the write.
|
|
238
|
+
...(redirects > 0 && { redirected: true }),
|
|
230
239
|
body: text.length > 8192 ? `${text.slice(0, 8192)}…[truncated]` : text,
|
|
231
240
|
});
|
|
232
241
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/recipes/tools/http.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/recipes/tools/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* httpOutcome — what an `http.post` response means for the STEP that sent it.
|
|
3
|
+
*
|
|
4
|
+
* `http.post` returns `{status, ok, body}` for every final response, and both
|
|
5
|
+
* runners fail a step only when a tool returns `{ok: false, error: <string>}`.
|
|
6
|
+
* A refusal carries no top-level `error` (the target's own error travels
|
|
7
|
+
* inside `body`, as a string), so a 422 that created nothing used to be
|
|
8
|
+
* recorded as a successful step in a clean run.
|
|
9
|
+
*
|
|
10
|
+
* This module is the ONE interpretation of that shape. Both runners, both
|
|
11
|
+
* replay paths, `fan_out` and the trust fold call it, so they cannot drift.
|
|
12
|
+
* Because it reads the `status` the tool has always returned, a response
|
|
13
|
+
* recorded before this module existed is classified the same way on replay.
|
|
14
|
+
*
|
|
15
|
+
* Deliberately specific to `http.post`. It does NOT teach the runners that any
|
|
16
|
+
* `{ok: false}` output is a failure; other tools keep their own contracts.
|
|
17
|
+
*
|
|
18
|
+
* Two claims, and no more:
|
|
19
|
+
* - `http_rejected`: a 4xx answered by the URL that was posted to. The
|
|
20
|
+
* target refused the request. That still does not say nothing changed.
|
|
21
|
+
* - `http_unverified`: every other non-2xx, including a 4xx that arrived
|
|
22
|
+
* AFTER a redirect. The target reported an error and the resulting
|
|
23
|
+
* business state is NOT VERIFIED. A 5xx can arrive after the write was
|
|
24
|
+
* applied, and a 303 turns the POST into a GET whose 401 says nothing
|
|
25
|
+
* about the write that preceded it, so neither is ever described as
|
|
26
|
+
* "rejected" or "nothing happened".
|
|
27
|
+
* A 2xx is left alone. That does not make it proof of a completed business
|
|
28
|
+
* outcome (202 Accepted means processing has not finished); it only means the
|
|
29
|
+
* target did not report a failure.
|
|
30
|
+
*
|
|
31
|
+
* Neither failure is ever retried automatically. `http.post` is not
|
|
32
|
+
* idempotent, and repeating a request that may already have been applied is
|
|
33
|
+
* the one thing a truthful failure must not cause.
|
|
34
|
+
*/
|
|
35
|
+
export declare const HTTP_REJECTED = "http_rejected";
|
|
36
|
+
export declare const HTTP_UNVERIFIED = "http_unverified";
|
|
37
|
+
export type HttpFailureCode = typeof HTTP_REJECTED | typeof HTTP_UNVERIFIED;
|
|
38
|
+
export interface HttpStepFailure {
|
|
39
|
+
code: HttpFailureCode;
|
|
40
|
+
status: number;
|
|
41
|
+
/**
|
|
42
|
+
* The step's error text. Starts with `<code>:` so the halt categoriser, the
|
|
43
|
+
* retry loops and the trust fold can recognise it from the persisted
|
|
44
|
+
* sentence alone. The run log keeps the sentence, not a structured field.
|
|
45
|
+
*/
|
|
46
|
+
message: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Classify a result produced by `http.post`. `null` for any other tool, for a
|
|
50
|
+
* 2xx, or for anything that is not a recognisable `{status}` response, in
|
|
51
|
+
* which case the caller's existing handling applies unchanged.
|
|
52
|
+
*/
|
|
53
|
+
export declare function classifyHttpStepResult(tool: string | undefined, result: unknown): HttpStepFailure | null;
|
|
54
|
+
/**
|
|
55
|
+
* What a failed `http.post` leaves in the run row: its status and the start of
|
|
56
|
+
* the target's answer. Anything that is not a recognisable response is
|
|
57
|
+
* returned unchanged.
|
|
58
|
+
*/
|
|
59
|
+
export declare function httpFailureEvidence(result: unknown): unknown;
|
|
60
|
+
/** True when an error string carries one of this module's codes. Text only:
|
|
61
|
+
* callers that decide anything should use `isHttpFailureFromTool`. */
|
|
62
|
+
export declare function isHttpStepFailure(error: string | undefined): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* True when a step's error is an HTTP failure this module produced. Keyed on
|
|
65
|
+
* the TOOL as well as the text: any other tool can surface a third party's
|
|
66
|
+
* message verbatim, and a target that answered "http_rejected: …" must not be
|
|
67
|
+
* able to switch off a retry, or exempt a genuine failure from the trust
|
|
68
|
+
* fold.
|
|
69
|
+
*/
|
|
70
|
+
export declare function isHttpFailureFromTool(tool: string | undefined, error: string | undefined): boolean;
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* httpOutcome — what an `http.post` response means for the STEP that sent it.
|
|
3
|
+
*
|
|
4
|
+
* `http.post` returns `{status, ok, body}` for every final response, and both
|
|
5
|
+
* runners fail a step only when a tool returns `{ok: false, error: <string>}`.
|
|
6
|
+
* A refusal carries no top-level `error` (the target's own error travels
|
|
7
|
+
* inside `body`, as a string), so a 422 that created nothing used to be
|
|
8
|
+
* recorded as a successful step in a clean run.
|
|
9
|
+
*
|
|
10
|
+
* This module is the ONE interpretation of that shape. Both runners, both
|
|
11
|
+
* replay paths, `fan_out` and the trust fold call it, so they cannot drift.
|
|
12
|
+
* Because it reads the `status` the tool has always returned, a response
|
|
13
|
+
* recorded before this module existed is classified the same way on replay.
|
|
14
|
+
*
|
|
15
|
+
* Deliberately specific to `http.post`. It does NOT teach the runners that any
|
|
16
|
+
* `{ok: false}` output is a failure; other tools keep their own contracts.
|
|
17
|
+
*
|
|
18
|
+
* Two claims, and no more:
|
|
19
|
+
* - `http_rejected`: a 4xx answered by the URL that was posted to. The
|
|
20
|
+
* target refused the request. That still does not say nothing changed.
|
|
21
|
+
* - `http_unverified`: every other non-2xx, including a 4xx that arrived
|
|
22
|
+
* AFTER a redirect. The target reported an error and the resulting
|
|
23
|
+
* business state is NOT VERIFIED. A 5xx can arrive after the write was
|
|
24
|
+
* applied, and a 303 turns the POST into a GET whose 401 says nothing
|
|
25
|
+
* about the write that preceded it, so neither is ever described as
|
|
26
|
+
* "rejected" or "nothing happened".
|
|
27
|
+
* A 2xx is left alone. That does not make it proof of a completed business
|
|
28
|
+
* outcome (202 Accepted means processing has not finished); it only means the
|
|
29
|
+
* target did not report a failure.
|
|
30
|
+
*
|
|
31
|
+
* Neither failure is ever retried automatically. `http.post` is not
|
|
32
|
+
* idempotent, and repeating a request that may already have been applied is
|
|
33
|
+
* the one thing a truthful failure must not cause.
|
|
34
|
+
*/
|
|
35
|
+
export const HTTP_REJECTED = "http_rejected";
|
|
36
|
+
export const HTTP_UNVERIFIED = "http_unverified";
|
|
37
|
+
const HTTP_TOOL = "http.post";
|
|
38
|
+
/** The only tools whose `http_*` errors this module produced: `http.post`,
|
|
39
|
+
* and `fan_out`, which classifies its `http.post` iterations. */
|
|
40
|
+
const HTTP_FAILURE_TOOLS = new Set([HTTP_TOOL, "fan_out"]);
|
|
41
|
+
/**
|
|
42
|
+
* Classify a result produced by `http.post`. `null` for any other tool, for a
|
|
43
|
+
* 2xx, or for anything that is not a recognisable `{status}` response, in
|
|
44
|
+
* which case the caller's existing handling applies unchanged.
|
|
45
|
+
*/
|
|
46
|
+
export function classifyHttpStepResult(tool, result) {
|
|
47
|
+
if (tool !== HTTP_TOOL)
|
|
48
|
+
return null;
|
|
49
|
+
let parsed = result;
|
|
50
|
+
if (typeof result === "string") {
|
|
51
|
+
try {
|
|
52
|
+
parsed = JSON.parse(result);
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (parsed === null || typeof parsed !== "object")
|
|
59
|
+
return null;
|
|
60
|
+
const { status, redirected } = parsed;
|
|
61
|
+
if (typeof status !== "number" || !Number.isInteger(status))
|
|
62
|
+
return null;
|
|
63
|
+
if (status >= 200 && status < 300)
|
|
64
|
+
return null;
|
|
65
|
+
if (status >= 400 && status < 500 && redirected !== true) {
|
|
66
|
+
return {
|
|
67
|
+
code: HTTP_REJECTED,
|
|
68
|
+
status,
|
|
69
|
+
message: `${HTTP_REJECTED}: the target rejected the request (HTTP ${status}); not retried`,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
const answer = redirected === true
|
|
73
|
+
? `the target answered HTTP ${status} after a redirect`
|
|
74
|
+
: `the target reported an error (HTTP ${status})`;
|
|
75
|
+
return {
|
|
76
|
+
code: HTTP_UNVERIFIED,
|
|
77
|
+
status,
|
|
78
|
+
message: `${HTTP_UNVERIFIED}: ${answer}; the resulting business state has not been verified; not retried`,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
/** Body characters kept as evidence of a failed response. Small enough that,
|
|
82
|
+
* even fully JSON-escaped (6x), the capture stays under the run log's 8 KB
|
|
83
|
+
* cap: a capture over it is replaced by a truncation envelope, which loses
|
|
84
|
+
* `status`, which replay and the trust fold both need. */
|
|
85
|
+
const EVIDENCE_BODY_CHARS = 1024;
|
|
86
|
+
/**
|
|
87
|
+
* What a failed `http.post` leaves in the run row: its status and the start of
|
|
88
|
+
* the target's answer. Anything that is not a recognisable response is
|
|
89
|
+
* returned unchanged.
|
|
90
|
+
*/
|
|
91
|
+
export function httpFailureEvidence(result) {
|
|
92
|
+
let parsed = result;
|
|
93
|
+
if (typeof result === "string") {
|
|
94
|
+
try {
|
|
95
|
+
parsed = JSON.parse(result);
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
return result;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
if (parsed === null || typeof parsed !== "object")
|
|
102
|
+
return result;
|
|
103
|
+
const { status, body, redirected } = parsed;
|
|
104
|
+
if (typeof status !== "number")
|
|
105
|
+
return result;
|
|
106
|
+
const text = typeof body === "string" ? body : "";
|
|
107
|
+
return {
|
|
108
|
+
status,
|
|
109
|
+
ok: false,
|
|
110
|
+
...(redirected === true && { redirected: true }),
|
|
111
|
+
body: text.length > EVIDENCE_BODY_CHARS
|
|
112
|
+
? `${text.slice(0, EVIDENCE_BODY_CHARS)}…[truncated]`
|
|
113
|
+
: text,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
/** True when an error string carries one of this module's codes. Text only:
|
|
117
|
+
* callers that decide anything should use `isHttpFailureFromTool`. */
|
|
118
|
+
export function isHttpStepFailure(error) {
|
|
119
|
+
if (!error)
|
|
120
|
+
return false;
|
|
121
|
+
return (error.startsWith(`${HTTP_REJECTED}:`) ||
|
|
122
|
+
error.startsWith(`${HTTP_UNVERIFIED}:`));
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* True when a step's error is an HTTP failure this module produced. Keyed on
|
|
126
|
+
* the TOOL as well as the text: any other tool can surface a third party's
|
|
127
|
+
* message verbatim, and a target that answered "http_rejected: …" must not be
|
|
128
|
+
* able to switch off a retry, or exempt a genuine failure from the trust
|
|
129
|
+
* fold.
|
|
130
|
+
*/
|
|
131
|
+
export function isHttpFailureFromTool(tool, error) {
|
|
132
|
+
return (tool !== undefined &&
|
|
133
|
+
HTTP_FAILURE_TOOLS.has(tool) &&
|
|
134
|
+
isHttpStepFailure(error));
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=httpOutcome.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpOutcome.js","sourceRoot":"","sources":["../../../src/recipes/tools/httpOutcome.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,3 +63,5 @@ export declare function markUncertainOutcome<E extends Error>(err: E): E & Uncer
|
|
|
63
63
|
* runners keep retrying those exactly as before.
|
|
64
64
|
*/
|
|
65
65
|
export declare function isUncertainOutcome(value: unknown): boolean;
|
|
66
|
+
/** One retry boundary for transport uncertainty and answered HTTP writes. */
|
|
67
|
+
export declare function mustNotRetryWrite(tool: string | undefined, error: unknown, answeredWriteFailure?: boolean): boolean;
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
* It is a marker for NON-retriability, not a new retry exception: nothing in
|
|
29
29
|
* here decides that a write is safe to re-issue.
|
|
30
30
|
*/
|
|
31
|
+
import { isHttpFailureFromTool } from "./tools/httpOutcome.js";
|
|
31
32
|
export const OUTCOME_UNCERTAIN_CODE = "outcome_uncertain";
|
|
32
33
|
export const OUTCOME_UNCERTAIN_TOKEN = `${OUTCOME_UNCERTAIN_CODE}:`;
|
|
33
34
|
/**
|
|
@@ -89,4 +90,10 @@ export function isUncertainOutcome(value) {
|
|
|
89
90
|
}
|
|
90
91
|
return false;
|
|
91
92
|
}
|
|
93
|
+
/** One retry boundary for transport uncertainty and answered HTTP writes. */
|
|
94
|
+
export function mustNotRetryWrite(tool, error, answeredWriteFailure = false) {
|
|
95
|
+
return (answeredWriteFailure ||
|
|
96
|
+
isUncertainOutcome(error) ||
|
|
97
|
+
isHttpFailureFromTool(tool, typeof error === "string" ? error : undefined));
|
|
98
|
+
}
|
|
92
99
|
//# sourceMappingURL=uncertainOutcome.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uncertainOutcome.js","sourceRoot":"","sources":["../../src/recipes/uncertainOutcome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAA4B,CAAC;AACnE,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,sBAAsB,GAAY,CAAC;AAO7E;;;;GAIG;AACH,MAAM,OAAO,qBACX,SAAQ,KAAK;IAGJ,OAAO,GAAG,WAAoB,CAAC;IAC/B,IAAI,GAAG,sBAAsB,CAAC;IACvC,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CACH,OAAO,CAAC,UAAU,CAAC,uBAAuB,CAAC;YACzC,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,GAAG,uBAAuB,IAAI,OAAO,EAAE,EAC3C,OAAO,CACR,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAAM;IAEN,MAAM,MAAM,GAAG,GAA8C,CAAC;IAC9D,MAAM,CAAC,OAAO,GAAG,WAAW,CAAC;IAC7B,MAAM,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,OAAO,GAAG,GAAG,uBAAuB,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;IAC/D,CAAC;IACD,OAAO,MAAoC,CAAC;AAC9C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IAC9E,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,GAAG,GAAG,KAOX,CAAC;IACF,IAAI,GAAG,CAAC,OAAO,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,GAAG,CAAC,IAAI,KAAK,sBAAsB;QAAE,OAAO,IAAI,CAAC;IACrD,IAAI,GAAG,CAAC,SAAS,KAAK,sBAAsB;QAAE,OAAO,IAAI,CAAC;IAC1D,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACpE,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"uncertainOutcome.js","sourceRoot":"","sources":["../../src/recipes/uncertainOutcome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAA4B,CAAC;AACnE,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,sBAAsB,GAAY,CAAC;AAO7E;;;;GAIG;AACH,MAAM,OAAO,qBACX,SAAQ,KAAK;IAGJ,OAAO,GAAG,WAAoB,CAAC;IAC/B,IAAI,GAAG,sBAAsB,CAAC;IACvC,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CACH,OAAO,CAAC,UAAU,CAAC,uBAAuB,CAAC;YACzC,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,GAAG,uBAAuB,IAAI,OAAO,EAAE,EAC3C,OAAO,CACR,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAAM;IAEN,MAAM,MAAM,GAAG,GAA8C,CAAC;IAC9D,MAAM,CAAC,OAAO,GAAG,WAAW,CAAC;IAC7B,MAAM,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,OAAO,GAAG,GAAG,uBAAuB,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;IAC/D,CAAC;IACD,OAAO,MAAoC,CAAC;AAC9C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IAC9E,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,GAAG,GAAG,KAOX,CAAC;IACF,IAAI,GAAG,CAAC,OAAO,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,GAAG,CAAC,IAAI,KAAK,sBAAsB;QAAE,OAAO,IAAI,CAAC;IACrD,IAAI,GAAG,CAAC,SAAS,KAAK,sBAAsB;QAAE,OAAO,IAAI,CAAC;IAC1D,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACpE,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,iBAAiB,CAC/B,IAAwB,EACxB,KAAc,EACd,oBAAoB,GAAG,KAAK;IAE5B,OAAO,CACL,oBAAoB;QACpB,kBAAkB,CAAC,KAAK,CAAC;QACzB,qBAAqB,CAAC,IAAI,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAC3E,CAAC;AACJ,CAAC"}
|
|
@@ -75,13 +75,14 @@ import { registerRun, unregisterRun } from "./runRegistry.js";
|
|
|
75
75
|
import { captureForRunlog, detectSilentFail, redactSecretsForPrompt, } from "./stepObservation.js";
|
|
76
76
|
// Import tool registry and trigger tool self-registration
|
|
77
77
|
import { applyToolOutputContext, executeTool, getTool, hasTool, registerPluginTools, } from "./toolRegistry.js";
|
|
78
|
+
import { classifyHttpStepResult, httpFailureEvidence, isHttpFailureFromTool, } from "./tools/httpOutcome.js";
|
|
78
79
|
import { evaluateWhen } from "./whenGuard.js";
|
|
79
80
|
import { resolveWorkspaceRoot } from "./workspaceRoot.js";
|
|
80
81
|
import "./tools/index.js";
|
|
81
82
|
import { patchworkPath } from "../patchworkHome.js";
|
|
82
83
|
import { sharedBoundaryReceiptLog, } from "../privacy/boundaryReceiptLog.js";
|
|
83
84
|
import { recordPrivacyShadow } from "../privacy/shadowLog.js";
|
|
84
|
-
import { isUncertainOutcome } from "./uncertainOutcome.js";
|
|
85
|
+
import { isUncertainOutcome, mustNotRetryWrite } from "./uncertainOutcome.js";
|
|
85
86
|
/**
|
|
86
87
|
* Bundled-templates directory used as a third allowed root for nested-recipe
|
|
87
88
|
* lookups (`recipe:` references with explicit paths). Resolved once at module
|
|
@@ -1998,6 +1999,16 @@ export async function runYamlRecipe(recipe, deps = {}, seedContext = {}) {
|
|
|
1998
1999
|
// itself is skipped. See RunnerDeps.mockedOutputs's doc comment.
|
|
1999
2000
|
if (deps.mockedOutputs?.has(stepId)) {
|
|
2000
2001
|
result = deps.mockedOutputs.get(stepId) ?? null;
|
|
2002
|
+
// A replayed http.post response is interpreted exactly as a live one,
|
|
2003
|
+
// including a response captured before httpOutcome existed: it reads
|
|
2004
|
+
// the `status` the tool has always returned. This branch sends
|
|
2005
|
+
// nothing. (A step with no usable capture is never run live under
|
|
2006
|
+
// replay: it is refused below; see replayBoundary.ts.)
|
|
2007
|
+
if (result !== null) {
|
|
2008
|
+
const httpFailure = classifyHttpStepResult(step.tool, result);
|
|
2009
|
+
if (httpFailure)
|
|
2010
|
+
stepError = httpFailure.message;
|
|
2011
|
+
}
|
|
2001
2012
|
}
|
|
2002
2013
|
else if (deps.replayOnly === true) {
|
|
2003
2014
|
// Replay boundary (replayBoundary.ts, layer 2): no capture for this
|
|
@@ -2074,6 +2085,13 @@ export async function runYamlRecipe(recipe, deps = {}, seedContext = {}) {
|
|
|
2074
2085
|
/* non-JSON result is fine */
|
|
2075
2086
|
}
|
|
2076
2087
|
}
|
|
2088
|
+
// http.post reports a refusal as `{status, ok: false, body}` with no
|
|
2089
|
+
// `error`, which the convention above cannot see. See httpOutcome.
|
|
2090
|
+
if (!stepError && result !== null) {
|
|
2091
|
+
const httpFailure = classifyHttpStepResult(step.tool, result);
|
|
2092
|
+
if (httpFailure)
|
|
2093
|
+
stepError = httpFailure.message;
|
|
2094
|
+
}
|
|
2077
2095
|
// Silent-fail detection: tools that return string placeholders
|
|
2078
2096
|
// (`(git branches unavailable)`, `[agent step skipped: ...]`)
|
|
2079
2097
|
// or empty list-tool error shapes (`{count:0,error:"..."}`)
|
|
@@ -2108,7 +2126,8 @@ export async function runYamlRecipe(recipe, deps = {}, seedContext = {}) {
|
|
|
2108
2126
|
// attempt needs an affirmative basis that it is safe, and "no
|
|
2109
2127
|
// response" is the opposite of one. Same shape as the timeout
|
|
2110
2128
|
// rule below; checked first because it is the stronger fact.
|
|
2111
|
-
if (thrownOutcomeUncertain)
|
|
2129
|
+
if (mustNotRetryWrite(step.tool, thrownError, thrownOutcomeUncertain) ||
|
|
2130
|
+
mustNotRetryWrite(step.tool, stepError))
|
|
2112
2131
|
break;
|
|
2113
2132
|
// Audit 2026-06-10 recipe-runners-2: do NOT retry on a step_timeout.
|
|
2114
2133
|
// The timed-out attempt's underlying tool call keeps running in the
|
|
@@ -2206,8 +2225,11 @@ export async function runYamlRecipe(recipe, deps = {}, seedContext = {}) {
|
|
|
2206
2225
|
// by key; passed a raw string it's a structural no-op, so a tool
|
|
2207
2226
|
// whose JSON output legitimately contains a `token`/`password`
|
|
2208
2227
|
// field would otherwise be written to runs.jsonl unredacted.
|
|
2228
|
+
// A failed http.post keeps its captured `status` and `body` too: they
|
|
2229
|
+
// are the evidence of what the target said, and replay needs them.
|
|
2209
2230
|
if (stepOutput === undefined &&
|
|
2210
|
-
finalStatus === "ok"
|
|
2231
|
+
(finalStatus === "ok" ||
|
|
2232
|
+
isHttpFailureFromTool(step.tool, stepError)) &&
|
|
2211
2233
|
result !== null) {
|
|
2212
2234
|
let toCapture = result;
|
|
2213
2235
|
try {
|
|
@@ -2216,7 +2238,9 @@ export async function runYamlRecipe(recipe, deps = {}, seedContext = {}) {
|
|
|
2216
2238
|
catch {
|
|
2217
2239
|
/* not JSON — capture the raw string as-is */
|
|
2218
2240
|
}
|
|
2219
|
-
stepOutput = captureForRunlog(
|
|
2241
|
+
stepOutput = captureForRunlog(isHttpFailureFromTool(step.tool, stepError)
|
|
2242
|
+
? httpFailureEvidence(toCapture)
|
|
2243
|
+
: toCapture);
|
|
2220
2244
|
}
|
|
2221
2245
|
stepResults.push({
|
|
2222
2246
|
id: stepId,
|
|
@@ -2226,7 +2250,9 @@ export async function runYamlRecipe(recipe, deps = {}, seedContext = {}) {
|
|
|
2226
2250
|
...(finalStatus === "error" && stepError
|
|
2227
2251
|
? {
|
|
2228
2252
|
haltReason: `Tool "${step.tool ?? "?"}" in step "${stepId}" reported an error${retryNote}: ${stepError}`,
|
|
2229
|
-
haltCategory:
|
|
2253
|
+
haltCategory: isHttpFailureFromTool(step.tool, stepError)
|
|
2254
|
+
? categoriseHaltReason(stepError)
|
|
2255
|
+
: "tool_error",
|
|
2230
2256
|
}
|
|
2231
2257
|
: {}),
|
|
2232
2258
|
...(stepOutput !== undefined ? { output: stepOutput } : {}),
|