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.
@@ -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":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,EAAE,KAAK,EAAmB,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AACtE,OAAO,EACL,kBAAkB,EAClB,+BAA+B,EAC/B,SAAS,GACV,MAAM,uBAAuB,CAAC;AAC/B,oEAAoE;AACpE,uEAAuE;AACvE,2EAA2E;AAC3E,yEAAyE;AACzE,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,SAAS,GACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,0EAA0E;AAC1E,yEAAyE;AACzE,6DAA6D;AAC7D,uEAAuE;AACvE,sEAAsE;AACtE,uEAAuE;AACvE,8CAA8C;AAC9C,EAAE;AACF,sEAAsE;AACtE,6CAA6C;AAC7C,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC;IAC1B,yJAAyJ;IACzJ,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,EAAS;IAC7B,sEAAsE;IACtE,+BAA+B;IAC/B,gBAAgB,EAAE,KAAK;IACvB,mBAAmB,EAAE,MAAM;CAC5B,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAS,iBAAiB;IACxB,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAClC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAC9B,QAAQ,CAAC,IAAI,EAAE;QACb,GAAG,OAAO;QACV,SAAS,CAAC,KAAK;YACb,IAAI,GAAG,IAAI,CAAC;YACZ,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;KACF,CAAC,CACL,CAAC;IACF,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC;AAED,YAAY,CAAC;IACX,EAAE,EAAE,WAAW;IACf,SAAS,EAAE,MAAM;IACjB,WAAW,EACT,sEAAsE;QACtE,wEAAwE;IAC1E,YAAY,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,GAAG,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4BAA4B;aAC1C;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;gBAC9B,OAAO,EAAE,MAAM;aAChB;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,+DAA+D;oBAC/D,qEAAqE;aACxE;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,WAAW,EACT,8DAA8D;aACjE;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,kBAAkB;gBAC3B,WAAW,EAAE,mCAAmC;aACjD;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,mDAAmD;aACjE;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EACT,0EAA0E;aAC7E;YACD,IAAI,EAAE,aAAa,CAAC,IAAI;SACzB;QACD,QAAQ,EAAE,CAAC,KAAK,CAAC;KAClB;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACvB,UAAU,EAAE;gBACV,IAAI,EAAE,SAAS;gBACf,WAAW,EACT,mIAAmI;aACtI;YACD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACzB;KACF;IACD,WAAW,EAAE,QAAQ;IACrB,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QAC5B,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAEhC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAa,CAAC;QACjC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CACb,6CAA6C,MAAM,CAAC,QAAQ,GAAG,CAChE,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,0EAA0E;QAC1E,2BAA2B;QAC3B,MAAM,cAAc,GAAG,SAAS,CAAC,+BAA+B,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,CAAC,cAAc,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC;QAErE,MAAM,MAAM,GAAG,CAAE,MAAM,CAAC,MAAiB,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACnE,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAA0B,CAAC;QAC/C,MAAM,WAAW,GACd,MAAM,CAAC,WAAkC,IAAI,kBAAkB,CAAC;QACnE,MAAM,YAAY,GACf,MAAM,CAAC,OAA8C,IAAI,EAAE,CAAC;QAC/D,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,WAAW;YAC3B,GAAG,YAAY;SAChB,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,CAAC,SAA+B,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,IAAI,CAAC,GAAG,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,EACnE,MAAM,CACP,CAAC;QAEF,qEAAqE;QACrE,0DAA0D;QAC1D,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,uEAAuE;QACvE,yEAAyE;QACzE,yEAAyE;QACzE,MAAM,WAAW,GAAG,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnE,yEAAyE;QACzE,qEAAqE;QACrE,uEAAuE;QACvE,uEAAuE;QACvE,yDAAyD;QACzD,IAAI,GAAa,CAAC;QAClB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAC5B,MAAM,EACN;gBACE,MAAM;gBACN,IAAI;gBACJ,OAAO;gBACP,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,EACD;gBACE,YAAY;gBACZ,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAC7B,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO;gBACrD,+DAA+D;gBAC/D,qBAAqB;gBACrB,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAClB,WAAW,CACT,CAAC,EACD,CAAsC,CACP;aACpC,CACF,CAAC;YACF,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;YACtB,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;gBACrC,MAAM,IAAI,GACR,CAAC,GAAG,CAAC,IAAI,KAAK,cAAc;oBAC1B,GAAG,CAAC,IAAI,KAAK,wBAAwB,CAAC;oBACxC,CAAC,cAAc;oBACb,CAAC,CAAC,uCAAuC;oBACzC,CAAC,CAAC,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CACb,uDAAuD,GAAG,CAAC,OAAO,GAAG,IAAI,EAAE,CAC5E,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAI,GAAa,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;YACrD,qEAAqE;YACrE,mEAAmE;YACnE,mEAAmE;YACnE,gEAAgE;YAChE,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnB,MAAM,IAAI,qBAAqB,CAC7B,kCAAkC,WAAW,mFAAmF,MAAM,EAAE,EACxI,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;QAC1D,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,wEAAwE;QACxE,uEAAuE;QACvE,sEAAsE;QACtE,6BAA6B;QAC7B,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAI,GAAa,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;YACrD,MAAM,IAAI,qBAAqB,CAC7B,kCAAkC,WAAW,iBAAiB,GAAG,CAAC,MAAM,6FAA6F,MAAM,EAAE,EAC7K,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,uEAAuE;YACvE,yEAAyE;YACzE,GAAG,CAAC,SAAS,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;YAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI;SACvE,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AAEH,iDAAiD;AACjD,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -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(toCapture);
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: "tool_error",
2253
+ haltCategory: isHttpFailureFromTool(step.tool, stepError)
2254
+ ? categoriseHaltReason(stepError)
2255
+ : "tool_error",
2230
2256
  }
2231
2257
  : {}),
2232
2258
  ...(stepOutput !== undefined ? { output: stepOutput } : {}),