@bluewombat/runtime 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +100 -24
  2. package/SPECS.md +16 -3
  3. package/dist/cli.js +4 -3
  4. package/dist/cli.js.map +1 -1
  5. package/dist/config/find-config.d.ts +2 -2
  6. package/dist/config/find-config.js +2 -2
  7. package/dist/config/load-config.d.ts +1 -1
  8. package/dist/config/load-config.d.ts.map +1 -1
  9. package/dist/config/load-config.js +17 -14
  10. package/dist/config/load-config.js.map +1 -1
  11. package/dist/loop/authority.d.ts +2 -3
  12. package/dist/loop/authority.d.ts.map +1 -1
  13. package/dist/loop/authority.js +40 -20
  14. package/dist/loop/authority.js.map +1 -1
  15. package/dist/loop/describe.d.ts +1 -1
  16. package/dist/loop/describe.d.ts.map +1 -1
  17. package/dist/loop/describe.js +25 -20
  18. package/dist/loop/describe.js.map +1 -1
  19. package/dist/loop/open-host.js +1 -1
  20. package/dist/loop/open-host.js.map +1 -1
  21. package/dist/loop/process-tree.d.ts +19 -0
  22. package/dist/loop/process-tree.d.ts.map +1 -0
  23. package/dist/loop/process-tree.js +137 -0
  24. package/dist/loop/process-tree.js.map +1 -0
  25. package/dist/loop/report.d.ts.map +1 -1
  26. package/dist/loop/report.js +29 -7
  27. package/dist/loop/report.js.map +1 -1
  28. package/dist/loop/run-slot.d.ts +23 -0
  29. package/dist/loop/run-slot.d.ts.map +1 -0
  30. package/dist/loop/run-slot.js +78 -0
  31. package/dist/loop/run-slot.js.map +1 -0
  32. package/dist/loop/tick.js +1 -1
  33. package/dist/loop/tick.js.map +1 -1
  34. package/dist/loop/transformers.d.ts +8 -0
  35. package/dist/loop/transformers.d.ts.map +1 -1
  36. package/dist/loop/transformers.js +5 -0
  37. package/dist/loop/transformers.js.map +1 -1
  38. package/dist/operator/init.d.ts.map +1 -1
  39. package/dist/operator/init.js +2 -1
  40. package/dist/operator/init.js.map +1 -1
  41. package/package.json +16 -15
@@ -1,6 +1,6 @@
1
- import { spawnSync } from "node:child_process";
2
- import { featureWorkspacePath, subjectOf } from "@bluewombat/conductor";
1
+ import { subjectOf } from "@bluewombat/conductor";
3
2
  import { describe } from "./describe.js";
3
+ import { runSlot } from "./run-slot.js";
4
4
  /**
5
5
  * The Authority, as Host wires it.
6
6
  *
@@ -26,7 +26,7 @@ export function openAuthority(input) {
26
26
  // The name the strategy gave this feature's Child. What the Publisher
27
27
  // does with it — push it, copy it, upload it — is the Publisher's business.
28
28
  const ref = refOf(offer.ref);
29
- const published = publish({
29
+ const published = await publish({
30
30
  argv: publishArgv,
31
31
  cwd: workLineStable,
32
32
  id: offer.key,
@@ -36,19 +36,25 @@ export function openAuthority(input) {
36
36
  env: input.env,
37
37
  });
38
38
  if (!published.ok) {
39
+ input.journal?.append({
40
+ event: "submit-refused",
41
+ key: offer.key,
42
+ by: "publisher",
43
+ reason: published.reason,
44
+ });
39
45
  return { outcome: "refused", reason: published.reason };
40
46
  }
41
47
  // The Project's own words for what it submits, when it has a slot for
42
48
  // them; the Authority puts them where its kind of Submission is read.
43
49
  // Asked in the feature workspace, where the whole change is.
44
50
  let description;
45
- if (input.describe !== undefined && input.workspaceRoot !== undefined) {
46
- const asked = describe(input.describe, {
51
+ if (input.describe !== undefined) {
52
+ const asked = await describe(input.describe, {
47
53
  id: offer.key,
48
54
  title: offer.title ?? offer.key,
49
55
  intention: offer.intention ?? "",
50
56
  target: workLineTarget,
51
- cwd: featureWorkspacePath(input.workspaceRoot, offer.key),
57
+ cwd: offer.workspace,
52
58
  });
53
59
  if (asked.ok) {
54
60
  description = asked.description;
@@ -57,8 +63,11 @@ export function openAuthority(input) {
57
63
  input.journal?.append({ event: "describe-skipped", id: offer.key, detail: asked.detail });
58
64
  }
59
65
  }
60
- return await submit({
61
- ...offer,
66
+ // The workspace is Host's own business: the manager is told what it
67
+ // can use — the published name — and never a path on this machine.
68
+ const { workspace: _local, ...request } = offer;
69
+ const submitted = await submit({
70
+ ...request,
62
71
  ref: published.ref,
63
72
  target: workLineTarget,
64
73
  // What the Submission lists as its work: one line per Subtask, the way
@@ -66,6 +75,15 @@ export function openAuthority(input) {
66
75
  ...(offer.steps === undefined ? {} : { steps: offer.steps.map(subjectOf) }),
67
76
  ...(description === undefined ? {} : { description }),
68
77
  });
78
+ if (submitted.outcome === "refused") {
79
+ input.journal?.append({
80
+ event: "submit-refused",
81
+ key: offer.key,
82
+ by: "authority",
83
+ reason: submitted.reason,
84
+ });
85
+ }
86
+ return submitted;
69
87
  },
70
88
  async fold(asked) {
71
89
  return await fold(asked);
@@ -79,23 +97,24 @@ export function openAuthority(input) {
79
97
  * that cannot run at all is a refusal like any other here — the Submission does
80
98
  * not happen, the reason reaches the tracker, and the next pass tries again.
81
99
  */
82
- function publish(input) {
100
+ async function publish(input) {
83
101
  const [command, ...rest] = input.argv;
84
102
  if (command === undefined) {
85
103
  return { ok: false, reason: "No Publisher is configured, so nothing can be submitted." };
86
104
  }
87
- const run = spawnSync(command, [...rest, "--id", input.id, "--ref", input.ref, "--target", input.target], {
105
+ const run = await runSlot({
106
+ command,
107
+ args: [...rest, "--id", input.id, "--ref", input.ref, "--target", input.target],
88
108
  cwd: input.cwd,
89
- encoding: "utf8",
90
- timeout: input.timeoutMs,
109
+ timeoutMs: input.timeoutMs,
91
110
  env: { ...process.env, ...input.env },
92
111
  });
93
112
  if (run.error !== undefined) {
94
113
  return { ok: false, reason: `Publisher could not run: ${run.error.message}` };
95
114
  }
96
- const answer = lastJsonLine(run.stdout ?? "");
115
+ const answer = lastJsonLine(run.stdout);
97
116
  if (answer === undefined) {
98
- const detail = `${run.stderr ?? ""}`.trim().slice(-1000);
117
+ const detail = run.stderr.trim().slice(-1000);
99
118
  return {
100
119
  ok: false,
101
120
  reason: `Publisher stdout is not a JSON object.${detail.length > 0 ? ` ${detail}` : ""}`,
@@ -138,23 +157,24 @@ function lastJsonLine(stdout) {
138
157
  * judge reads, the other reads back what the judge accepted. `git fetch` is one
139
158
  * way to do that, not the only one, so neither belongs in Host.
140
159
  */
141
- export function refreshWorkLine(input) {
160
+ export async function refreshWorkLine(input) {
142
161
  const [command, ...rest] = input.refreshArgv;
143
162
  if (command === undefined) {
144
163
  return { ok: false, detail: "No Refresher is configured." };
145
164
  }
146
- const run = spawnSync(command, [...rest, "--target", input.workLineTarget], {
165
+ const run = await runSlot({
166
+ command,
167
+ args: [...rest, "--target", input.workLineTarget],
147
168
  cwd: input.workLineStable,
148
- encoding: "utf8",
149
- timeout: input.timeoutMs,
169
+ timeoutMs: input.timeoutMs,
150
170
  env: { ...process.env, ...input.env },
151
171
  });
152
172
  if (run.error !== undefined) {
153
173
  return { ok: false, detail: `Refresher could not run: ${run.error.message}` };
154
174
  }
155
- const answer = lastJsonLine(run.stdout ?? "");
175
+ const answer = lastJsonLine(run.stdout);
156
176
  if (answer === undefined) {
157
- const detail = `${run.stderr ?? ""}`.trim().slice(-500);
177
+ const detail = run.stderr.trim().slice(-500);
158
178
  return { ok: false, detail: `Refresher stdout is not a JSON object. ${detail}`.trim() };
159
179
  }
160
180
  if (answer.ok === true) {
@@ -1 +1 @@
1
- {"version":3,"file":"authority.js","sourceRoot":"","sources":["../../src/loop/authority.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authority.js","sourceRoot":"","sources":["../../src/loop/authority.ts"],"names":[],"mappings":"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"}
@@ -36,5 +36,5 @@ export type DescribeAnswer = {
36
36
  ok: false;
37
37
  detail: string;
38
38
  };
39
- export declare function describe(slot: PassSpec, input: DescribeInput): DescribeAnswer;
39
+ export declare function describe(slot: PassSpec, input: DescribeInput): Promise<DescribeAnswer>;
40
40
  //# sourceMappingURL=describe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../src/loop/describe.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpG,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,GAAG,cAAc,CAuC7E"}
1
+ {"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../src/loop/describe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGnD;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpG,wBAAsB,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAwC5F"}
@@ -1,31 +1,36 @@
1
- import { spawnSync } from "node:child_process";
2
- export function describe(slot, input) {
1
+ import { runSlot } from "./run-slot.js";
2
+ export async function describe(slot, input) {
3
3
  const [command, ...rest] = slot.cmd;
4
4
  if (command === undefined) {
5
5
  return { ok: false, detail: "the Describer has no command" };
6
6
  }
7
- const run = spawnSync(command, [
8
- ...rest,
9
- "--id",
10
- input.id,
11
- // A Describer keeping a record of its turn files it under the feature,
12
- // the way every other slot does. Without this its transcripts land in
13
- // `no-context/` and the feature has to be read back out of the filename.
14
- "--context",
15
- input.id,
16
- "--title",
17
- input.title,
18
- "--intention",
19
- input.intention,
20
- "--target",
21
- input.target,
22
- ], { cwd: input.cwd, encoding: "utf8", timeout: slot.timeoutMs });
7
+ const run = await runSlot({
8
+ command,
9
+ args: [
10
+ ...rest,
11
+ "--id",
12
+ input.id,
13
+ // A Describer keeping a record of its turn files it under the feature,
14
+ // the way every other slot does. Without this its transcripts land in
15
+ // `no-context/` and the feature has to be read back out of the filename.
16
+ "--context",
17
+ input.id,
18
+ "--title",
19
+ input.title,
20
+ "--intention",
21
+ input.intention,
22
+ "--target",
23
+ input.target,
24
+ ],
25
+ cwd: input.cwd,
26
+ timeoutMs: slot.timeoutMs,
27
+ });
23
28
  if (run.error !== undefined) {
24
29
  return { ok: false, detail: `Describer could not run: ${run.error.message}` };
25
30
  }
26
- const answer = lastJsonLine(run.stdout ?? "");
31
+ const answer = lastJsonLine(run.stdout);
27
32
  if (answer === undefined) {
28
- const detail = `${run.stderr ?? ""}`.trim().slice(-500);
33
+ const detail = run.stderr.trim().slice(-500);
29
34
  return { ok: false, detail: `Describer stdout is not a JSON object. ${detail}`.trim() };
30
35
  }
31
36
  const subject = typeof answer.subject === "string" ? answer.subject.trim() : "";
@@ -1 +1 @@
1
- {"version":3,"file":"describe.js","sourceRoot":"","sources":["../../src/loop/describe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"describe.js","sourceRoot":"","sources":["../../src/loop/describe.ts"],"names":[],"mappings":"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"}
@@ -149,6 +149,7 @@ export async function openHost(options, deps = {}) {
149
149
  isolation: resolved.strategy.isolation,
150
150
  fold: resolved.strategy.fold,
151
151
  timeoutMs: options.timeoutMs,
152
+ interruptFlag,
152
153
  maxUnits: DEFAULT_MAX_UNITS,
153
154
  maxFeatureBytes: DEFAULT_MAX_FEATURE_BYTES,
154
155
  });
@@ -177,7 +178,6 @@ export async function openHost(options, deps = {}) {
177
178
  describe: options.authority.describeArgv === undefined
178
179
  ? undefined
179
180
  : { cmd: options.authority.describeArgv, timeoutMs: options.timeoutMs },
180
- workspaceRoot: options.workspaceRoot,
181
181
  journal,
182
182
  })
183
183
  : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"open-host.js","sourceRoot":"","sources":["../../src/loop/open-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open-host.js","sourceRoot":"","sources":["../../src/loop/open-host.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { type ChildProcess } from "node:child_process";
2
+ /** Spread into the options of `spawn`: the child leads its own group. */
3
+ export declare function ownGroup(): {
4
+ detached: boolean;
5
+ };
6
+ /**
7
+ * Remember a running child so it does not outlive this process: a group of its
8
+ * own no longer shares the terminal's Ctrl-C, nor dies by accident with us.
9
+ * Forgotten on its own once it closes.
10
+ */
11
+ export declare function track(child: ChildProcess): void;
12
+ /**
13
+ * SIGKILL to the child's whole group and to every descendant, wherever its
14
+ * group; to the child alone where there are no groups. Once per child.
15
+ */
16
+ export declare function killTree(child: ChildProcess): void;
17
+ /** `killTree`, then the pipes are cut after the grace period. Once per child. */
18
+ export declare function killAndCut(child: ChildProcess): void;
19
+ //# sourceMappingURL=process-tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-tree.d.ts","sourceRoot":"","sources":["../../src/loop/process-tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAgB,MAAM,oBAAoB,CAAC;AAoCrE,yEAAyE;AACzE,wBAAgB,QAAQ,IAAI;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAe/C;AAiCD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CA8BlD;AAED,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CASpD"}
@@ -0,0 +1,137 @@
1
+ import { execFileSync } from "node:child_process";
2
+ // Canonical source of every `process-tree.ts` in this repository. Edit it here,
3
+ // then run `node scripts/check-process-tree.mjs --write`; `npm run lint` fails
4
+ // when a copy differs. A package stands alone, so each carries its own copy.
5
+ //
6
+ // The rule it keeps: whoever starts a child and owns its deadline — a
7
+ // supervisor — starts it as the leader of its own process group, and ends it by
8
+ // signalling that group. A child is rarely alone: a producer is `node producer`
9
+ // → `node agent` → the vendor CLI → its shells. Killing only the first leaves
10
+ // the rest running, holding the pipes open, until they end on their own; the
11
+ // deadline then means nothing and a finished job is reported as lost.
12
+ //
13
+ // A layer in the middle of such a chain (a producer, an agent runner) is not a
14
+ // supervisor: it starts its child in its own group, so the supervisor's signal
15
+ // reaches it too.
16
+ //
17
+ // The group is not the whole tree. A vendor CLI may start each shell command
18
+ // in a group of its own (cursor-agent does), out of the group's reach. So the
19
+ // descendants are read from `ps` first — once their parent dies they are
20
+ // re-parented and the link is lost — and each is killed too.
21
+ /** Windows has no process groups: there a child is killed alone. */
22
+ const OWN_GROUP = process.platform !== "win32";
23
+ /**
24
+ * After a kill the pipes are cut this long afterwards, so a grandchild that
25
+ * left the group (setsid) and still holds one cannot hold the outcome back.
26
+ */
27
+ const PIPE_GRACE_MS = 2_000;
28
+ const live = new Set();
29
+ /** Already killed: a supervisor polling its interrupt asks again every tick. */
30
+ const ended = new WeakSet();
31
+ let exitHookInstalled = false;
32
+ /** Spread into the options of `spawn`: the child leads its own group. */
33
+ export function ownGroup() {
34
+ return { detached: OWN_GROUP };
35
+ }
36
+ /**
37
+ * Remember a running child so it does not outlive this process: a group of its
38
+ * own no longer shares the terminal's Ctrl-C, nor dies by accident with us.
39
+ * Forgotten on its own once it closes.
40
+ */
41
+ export function track(child) {
42
+ if (OWN_GROUP && !exitHookInstalled) {
43
+ exitHookInstalled = true;
44
+ process.on("exit", () => {
45
+ for (const running of live) {
46
+ killTree(running);
47
+ }
48
+ });
49
+ }
50
+ live.add(child);
51
+ const forget = () => {
52
+ live.delete(child);
53
+ };
54
+ child.once("close", forget);
55
+ child.once("error", forget);
56
+ }
57
+ /**
58
+ * Every process below `pid`, as `ps` lists them now. Empty where `ps` cannot be
59
+ * read: the group kill still stands.
60
+ */
61
+ function descendants(pid) {
62
+ let table;
63
+ try {
64
+ table = execFileSync("ps", ["-A", "-o", "pid=,ppid="], {
65
+ encoding: "utf8",
66
+ stdio: ["ignore", "pipe", "ignore"],
67
+ });
68
+ }
69
+ catch {
70
+ return [];
71
+ }
72
+ const childrenOf = new Map();
73
+ for (const line of table.split("\n")) {
74
+ const match = /^\s*(\d+)\s+(\d+)\s*$/.exec(line);
75
+ if (match !== null) {
76
+ const parent = Number(match[2]);
77
+ childrenOf.set(parent, [...(childrenOf.get(parent) ?? []), Number(match[1])]);
78
+ }
79
+ }
80
+ const found = [];
81
+ let frontier = [pid];
82
+ while (frontier.length > 0) {
83
+ frontier = frontier.flatMap((each) => childrenOf.get(each) ?? []);
84
+ found.push(...frontier);
85
+ }
86
+ return found;
87
+ }
88
+ /**
89
+ * SIGKILL to the child's whole group and to every descendant, wherever its
90
+ * group; to the child alone where there are no groups. Once per child.
91
+ */
92
+ export function killTree(child) {
93
+ if (ended.has(child)) {
94
+ return;
95
+ }
96
+ ended.add(child);
97
+ if (OWN_GROUP && child.pid !== undefined) {
98
+ const below = descendants(child.pid);
99
+ let grouped = true;
100
+ try {
101
+ process.kill(-child.pid, "SIGKILL");
102
+ }
103
+ catch {
104
+ // no such group: the child itself, below
105
+ grouped = false;
106
+ }
107
+ for (const pid of below) {
108
+ try {
109
+ process.kill(pid, "SIGKILL");
110
+ }
111
+ catch {
112
+ // already gone, with the group
113
+ }
114
+ }
115
+ if (grouped) {
116
+ return;
117
+ }
118
+ }
119
+ try {
120
+ child.kill("SIGKILL");
121
+ }
122
+ catch {
123
+ // already gone
124
+ }
125
+ }
126
+ /** `killTree`, then the pipes are cut after the grace period. Once per child. */
127
+ export function killAndCut(child) {
128
+ if (ended.has(child)) {
129
+ return;
130
+ }
131
+ killTree(child);
132
+ setTimeout(() => {
133
+ child.stdout?.destroy();
134
+ child.stderr?.destroy();
135
+ }, PIPE_GRACE_MS).unref();
136
+ }
137
+ //# sourceMappingURL=process-tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-tree.js","sourceRoot":"","sources":["../../src/loop/process-tree.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/loop/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAa,MAAM,uBAAuB,CAAC;AAC/F,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAkB,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAM5C;;;GAGG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAsCf;AA2BD,wBAAsB,cAAc,CAClC,KAAK,EAAE,iBAAiB,EACxB,GAAG,EAAE,gBAAgB,EACrB,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAqHf;AA2HD,wBAAgB,aAAa,CAAC,SAAS,EAAE,gBAAgB,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,CAajG;AAED,wBAAsB,UAAU,CAC9B,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,EAC3F,MAAM,EAAE;IACN,KAAK,EAAE,SAAS,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GACA,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,gBAAgB,EAC3B,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACjB,IAAI,CAoBN"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/loop/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAa,MAAM,uBAAuB,CAAC;AAC/F,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAkB,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAM5C;;;GAGG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAsCf;AA2BD,wBAAsB,cAAc,CAClC,KAAK,EAAE,iBAAiB,EACxB,GAAG,EAAE,gBAAgB,EACrB,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAqHf;AA4ID,wBAAgB,aAAa,CAAC,SAAS,EAAE,gBAAgB,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,CAajG;AAED,wBAAsB,UAAU,CAC9B,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,EAC3F,MAAM,EAAE;IACN,KAAK,EAAE,SAAS,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GACA,OAAO,CAAC,IAAI,CAAC,CAwBf;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,gBAAgB,EAC3B,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACjB,IAAI,CAoBN"}
@@ -160,7 +160,7 @@ export async function reportAfterRun(input, run, aggregate) {
160
160
  eventId,
161
161
  fields: {
162
162
  stage: "submitting",
163
- reason: "The Submission was refused and no attempt is left.",
163
+ reason: submittedReason(aggregate, input.options.maxRefusals ?? DEFAULT_MAX_REFUSALS),
164
164
  ...((aggregate.escalation?.report ?? aggregate.submission?.last_report) === undefined
165
165
  ? {}
166
166
  : {
@@ -181,6 +181,22 @@ export async function reportAfterRun(input, run, aggregate) {
181
181
  return;
182
182
  }
183
183
  }
184
+ /**
185
+ * One escalation kind covers three stops: the offer refused before any
186
+ * Submission existed (the Publisher could not push, the Authority would not
187
+ * open one), a republish refused, and a judgement that sent it back once too
188
+ * often. Say only what the ledger shows; the Trace says who refused and why.
189
+ */
190
+ function submittedReason(aggregate, maxRefusals) {
191
+ const submission = aggregate.submission;
192
+ if (submission === undefined) {
193
+ return "The work could not be submitted.";
194
+ }
195
+ // The refusal that stopped it is never recorded as one (open-conductor).
196
+ return submission.refusals + 1 >= maxRefusals
197
+ ? "The Submission was refused and no attempt is left."
198
+ : "The Submission was refused.";
199
+ }
184
200
  /** `<key>:escalated:<round>:<kind>[:<subtask>]` — the same escalation hashes the same after a restart. */
185
201
  function escalationId(key, aggregate, kind) {
186
202
  const round = aggregate.resumes ?? 0;
@@ -312,6 +328,9 @@ export async function pushReport(input, report) {
312
328
  if (report.eventId !== undefined && input.said?.has(report.eventId)) {
313
329
  return;
314
330
  }
331
+ // How long the tracker took, kept either way: a report is awaited where the
332
+ // work is, and one that hung for minutes looked like nothing at all.
333
+ const started = Date.now();
315
334
  const ok = await input.manager.report({
316
335
  event: report.event,
317
336
  key: report.key,
@@ -319,12 +338,15 @@ export async function pushReport(input, report) {
319
338
  fields: report.fields,
320
339
  ...(report.eventId === undefined ? {} : { eventId: report.eventId }),
321
340
  });
322
- if (ok) {
323
- input.reported.push(report.event);
324
- input.journal.append({ event: "reported", key: report.key, reported: report.event });
325
- if (report.eventId !== undefined) {
326
- input.said?.add(report.eventId);
327
- }
341
+ const ms = Date.now() - started;
342
+ if (!ok) {
343
+ input.journal.append({ event: "report-declined", key: report.key, reported: report.event, ms });
344
+ return;
345
+ }
346
+ input.reported.push(report.event);
347
+ input.journal.append({ event: "reported", key: report.key, reported: report.event, ms });
348
+ if (report.eventId !== undefined) {
349
+ input.said?.add(report.eventId);
328
350
  }
329
351
  }
330
352
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/loop/report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/loop/report.ts"],"names":[],"mappings":"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"}