@monoes/monomindcli 2.16.1 → 2.16.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/.claude/helpers/handlers/edit-handler.cjs +14 -12
- package/.claude/helpers/handlers/route-handler.cjs +6 -0
- package/.claude/helpers/monograph-freshen.cjs +31 -113
- package/.claude/helpers/utils/monograph-resolve.cjs +497 -0
- package/.claude/helpers/utils/monograph.cjs +8 -51
- package/README.md +1 -1
- package/dist/src/commands/doctor-hook-monograph-checks.d.ts +8 -0
- package/dist/src/commands/doctor-hook-monograph-checks.d.ts.map +1 -0
- package/dist/src/commands/doctor-hook-monograph-checks.js +79 -0
- package/dist/src/commands/doctor-hook-monograph-checks.js.map +1 -0
- package/dist/src/commands/doctor.d.ts.map +1 -1
- package/dist/src/commands/doctor.js +4 -1
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/monograph.d.ts.map +1 -1
- package/dist/src/commands/monograph.js +16 -1
- package/dist/src/commands/monograph.js.map +1 -1
- package/dist/src/orgrt/bash-timeout.d.ts +14 -0
- package/dist/src/orgrt/bash-timeout.d.ts.map +1 -0
- package/dist/src/orgrt/bash-timeout.js +18 -0
- package/dist/src/orgrt/bash-timeout.js.map +1 -0
- package/dist/src/orgrt/block-recheck.d.ts +30 -0
- package/dist/src/orgrt/block-recheck.d.ts.map +1 -0
- package/dist/src/orgrt/block-recheck.js +81 -0
- package/dist/src/orgrt/block-recheck.js.map +1 -0
- package/dist/src/orgrt/completion-gate.d.ts +4 -0
- package/dist/src/orgrt/completion-gate.d.ts.map +1 -1
- package/dist/src/orgrt/completion-gate.js +22 -2
- package/dist/src/orgrt/completion-gate.js.map +1 -1
- package/dist/src/orgrt/daemon.d.ts.map +1 -1
- package/dist/src/orgrt/daemon.js +6 -4
- package/dist/src/orgrt/daemon.js.map +1 -1
- package/dist/src/orgrt/decisions.d.ts +1 -1
- package/dist/src/orgrt/decisions.d.ts.map +1 -1
- package/dist/src/orgrt/decisions.js +14 -6
- package/dist/src/orgrt/decisions.js.map +1 -1
- package/dist/src/orgrt/mailbox.d.ts +14 -0
- package/dist/src/orgrt/mailbox.d.ts.map +1 -1
- package/dist/src/orgrt/mailbox.js +31 -1
- package/dist/src/orgrt/mailbox.js.map +1 -1
- package/dist/src/orgrt/sandbox-fault.d.ts +16 -6
- package/dist/src/orgrt/sandbox-fault.d.ts.map +1 -1
- package/dist/src/orgrt/sandbox-fault.js +78 -33
- package/dist/src/orgrt/sandbox-fault.js.map +1 -1
- package/dist/src/orgrt/session.d.ts +4 -3
- package/dist/src/orgrt/session.d.ts.map +1 -1
- package/dist/src/orgrt/session.js +24 -13
- package/dist/src/orgrt/session.js.map +1 -1
- package/dist/src/orgrt/task-dag.d.ts +8 -2
- package/dist/src/orgrt/task-dag.d.ts.map +1 -1
- package/dist/src/orgrt/task-dag.js +10 -4
- package/dist/src/orgrt/task-dag.js.map +1 -1
- package/dist/src/orgrt/types.d.ts +11 -0
- package/dist/src/orgrt/types.d.ts.map +1 -1
- package/dist/src/orgrt/types.js +18 -0
- package/dist/src/orgrt/types.js.map +1 -1
- package/dist/src/utils/resource-governor.d.ts.map +1 -1
- package/dist/src/utils/resource-governor.js +35 -2
- package/dist/src/utils/resource-governor.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/.claude/skills/monodesign/SKILL.md +0 -257
- package/.claude/skills/monodesign/adapt.md +0 -53
- package/.claude/skills/monodesign/agents/monodesign-asset-producer.md +0 -100
- package/.claude/skills/monodesign/agents/monodesign-manual-edit-applier.md +0 -103
- package/.claude/skills/monodesign/animate.md +0 -65
- package/.claude/skills/monodesign/audit.md +0 -89
- package/.claude/skills/monodesign/bolder.md +0 -50
- package/.claude/skills/monodesign/clarify.md +0 -64
- package/.claude/skills/monodesign/colorize.md +0 -68
- package/.claude/skills/monodesign/craft.md +0 -51
- package/.claude/skills/monodesign/critique.md +0 -66
- package/.claude/skills/monodesign/delight.md +0 -47
- package/.claude/skills/monodesign/distill.md +0 -56
- package/.claude/skills/monodesign/document.md +0 -83
- package/.claude/skills/monodesign/extract.md +0 -74
- package/.claude/skills/monodesign/harden.md +0 -65
- package/.claude/skills/monodesign/init.md +0 -30
- package/.claude/skills/monodesign/layout.md +0 -36
- package/.claude/skills/monodesign/live.md +0 -34
- package/.claude/skills/monodesign/onboard.md +0 -50
- package/.claude/skills/monodesign/optimize.md +0 -64
- package/.claude/skills/monodesign/overdrive.md +0 -56
- package/.claude/skills/monodesign/polish.md +0 -68
- package/.claude/skills/monodesign/quieter.md +0 -57
- package/.claude/skills/monodesign/reference/adapt.md +0 -312
- package/.claude/skills/monodesign/reference/adapt.native.md +0 -58
- package/.claude/skills/monodesign/reference/android.md +0 -40
- package/.claude/skills/monodesign/reference/animate.md +0 -203
- package/.claude/skills/monodesign/reference/antipatterns-catalog.md +0 -410
- package/.claude/skills/monodesign/reference/audit.md +0 -135
- package/.claude/skills/monodesign/reference/audit.native.md +0 -139
- package/.claude/skills/monodesign/reference/bolder.md +0 -120
- package/.claude/skills/monodesign/reference/brand-workflow.md +0 -180
- package/.claude/skills/monodesign/reference/brand.md +0 -108
- package/.claude/skills/monodesign/reference/clarify.md +0 -288
- package/.claude/skills/monodesign/reference/codex.md +0 -105
- package/.claude/skills/monodesign/reference/cognitive-load.md +0 -106
- package/.claude/skills/monodesign/reference/color-and-contrast.md +0 -105
- package/.claude/skills/monodesign/reference/colorize.md +0 -257
- package/.claude/skills/monodesign/reference/component-specs.md +0 -260
- package/.claude/skills/monodesign/reference/component-states.md +0 -274
- package/.claude/skills/monodesign/reference/component-system.md +0 -358
- package/.claude/skills/monodesign/reference/copy-formulas.md +0 -160
- package/.claude/skills/monodesign/reference/craft.md +0 -123
- package/.claude/skills/monodesign/reference/critique.md +0 -780
- package/.claude/skills/monodesign/reference/delight.md +0 -302
- package/.claude/skills/monodesign/reference/design-principles.md +0 -246
- package/.claude/skills/monodesign/reference/distill.md +0 -111
- package/.claude/skills/monodesign/reference/document.md +0 -429
- package/.claude/skills/monodesign/reference/extract.md +0 -69
- package/.claude/skills/monodesign/reference/harden.md +0 -347
- package/.claude/skills/monodesign/reference/heuristics-scoring.md +0 -234
- package/.claude/skills/monodesign/reference/hooks.md +0 -92
- package/.claude/skills/monodesign/reference/image-prompts.md +0 -130
- package/.claude/skills/monodesign/reference/init.md +0 -221
- package/.claude/skills/monodesign/reference/interaction-design.md +0 -189
- package/.claude/skills/monodesign/reference/ios.md +0 -45
- package/.claude/skills/monodesign/reference/layout.md +0 -185
- package/.claude/skills/monodesign/reference/live.md +0 -710
- package/.claude/skills/monodesign/reference/motion-design.md +0 -109
- package/.claude/skills/monodesign/reference/onboard.md +0 -234
- package/.claude/skills/monodesign/reference/optimize.md +0 -258
- package/.claude/skills/monodesign/reference/overdrive.md +0 -130
- package/.claude/skills/monodesign/reference/personas.md +0 -179
- package/.claude/skills/monodesign/reference/polish.md +0 -241
- package/.claude/skills/monodesign/reference/pre-delivery-checklist.md +0 -108
- package/.claude/skills/monodesign/reference/product.md +0 -60
- package/.claude/skills/monodesign/reference/quieter.md +0 -99
- package/.claude/skills/monodesign/reference/responsive-design.md +0 -114
- package/.claude/skills/monodesign/reference/shape.md +0 -165
- package/.claude/skills/monodesign/reference/spatial-design.md +0 -100
- package/.claude/skills/monodesign/reference/teach.md +0 -10
- package/.claude/skills/monodesign/reference/token-architecture.md +0 -222
- package/.claude/skills/monodesign/reference/typeset.md +0 -301
- package/.claude/skills/monodesign/reference/typography.md +0 -159
- package/.claude/skills/monodesign/reference/ux-research.md +0 -143
- package/.claude/skills/monodesign/reference/ux-rules.md +0 -211
- package/.claude/skills/monodesign/reference/ux-writing.md +0 -107
- package/.claude/skills/monodesign/scripts/command-metadata.json +0 -94
- package/.claude/skills/monodesign/scripts/context-signals.mjs +0 -260
- package/.claude/skills/monodesign/scripts/context.mjs +0 -1065
- package/.claude/skills/monodesign/scripts/critique-storage.mjs +0 -416
- package/.claude/skills/monodesign/scripts/detect-csp.mjs +0 -193
- package/.claude/skills/monodesign/scripts/detect.mjs +0 -33
- package/.claude/skills/monodesign/scripts/detector/browser/injected/index.mjs +0 -1960
- package/.claude/skills/monodesign/scripts/detector/cli/main.mjs +0 -321
- package/.claude/skills/monodesign/scripts/detector/design-system.mjs +0 -814
- package/.claude/skills/monodesign/scripts/detector/detect-antipatterns-browser.js +0 -5628
- package/.claude/skills/monodesign/scripts/detector/detect-antipatterns.mjs +0 -50
- package/.claude/skills/monodesign/scripts/detector/engines/browser/detect-url.mjs +0 -259
- package/.claude/skills/monodesign/scripts/detector/engines/browser/drivers.mjs +0 -339
- package/.claude/skills/monodesign/scripts/detector/engines/regex/detect-text.mjs +0 -636
- package/.claude/skills/monodesign/scripts/detector/engines/static-html/css-cascade.mjs +0 -1016
- package/.claude/skills/monodesign/scripts/detector/engines/static-html/detect-html.mjs +0 -253
- package/.claude/skills/monodesign/scripts/detector/engines/visual/screenshot-contrast.mjs +0 -198
- package/.claude/skills/monodesign/scripts/detector/findings.mjs +0 -12
- package/.claude/skills/monodesign/scripts/detector/fix/css-regions.mjs +0 -181
- package/.claude/skills/monodesign/scripts/detector/fix/fixers.mjs +0 -373
- package/.claude/skills/monodesign/scripts/detector/fix/index.mjs +0 -426
- package/.claude/skills/monodesign/scripts/detector/node/file-system.mjs +0 -198
- package/.claude/skills/monodesign/scripts/detector/profile/profiler.mjs +0 -166
- package/.claude/skills/monodesign/scripts/detector/registry/antipatterns.mjs +0 -563
- package/.claude/skills/monodesign/scripts/detector/rules/checks.mjs +0 -3024
- package/.claude/skills/monodesign/scripts/detector/shared/color.mjs +0 -124
- package/.claude/skills/monodesign/scripts/detector/shared/constants.mjs +0 -101
- package/.claude/skills/monodesign/scripts/detector/shared/fonts.mjs +0 -30
- package/.claude/skills/monodesign/scripts/detector/shared/inline-ignores.mjs +0 -148
- package/.claude/skills/monodesign/scripts/detector/shared/page.mjs +0 -7
- package/.claude/skills/monodesign/scripts/hook-admin.mjs +0 -694
- package/.claude/skills/monodesign/scripts/hook-before-edit.mjs +0 -516
- package/.claude/skills/monodesign/scripts/hook-lib.mjs +0 -1785
- package/.claude/skills/monodesign/scripts/hook.mjs +0 -61
- package/.claude/skills/monodesign/scripts/lib/design-parser.mjs +0 -809
- package/.claude/skills/monodesign/scripts/lib/is-generated.mjs +0 -69
- package/.claude/skills/monodesign/scripts/lib/monodesign-config.mjs +0 -640
- package/.claude/skills/monodesign/scripts/lib/monodesign-paths.mjs +0 -129
- package/.claude/skills/monodesign/scripts/lib/provider.mjs +0 -4
- package/.claude/skills/monodesign/scripts/lib/target-args.mjs +0 -42
- package/.claude/skills/monodesign/scripts/live/browser-script-parts.mjs +0 -50
- package/.claude/skills/monodesign/scripts/live/completion.mjs +0 -19
- package/.claude/skills/monodesign/scripts/live/event-validation.mjs +0 -137
- package/.claude/skills/monodesign/scripts/live/insert-ui.mjs +0 -458
- package/.claude/skills/monodesign/scripts/live/manual-apply.mjs +0 -939
- package/.claude/skills/monodesign/scripts/live/manual-edit-routes.mjs +0 -357
- package/.claude/skills/monodesign/scripts/live/manual-edits-buffer.mjs +0 -152
- package/.claude/skills/monodesign/scripts/live/session-store.mjs +0 -293
- package/.claude/skills/monodesign/scripts/live/svelte-component.mjs +0 -826
- package/.claude/skills/monodesign/scripts/live/sveltekit-adapter.mjs +0 -279
- package/.claude/skills/monodesign/scripts/live/ui-core.mjs +0 -180
- package/.claude/skills/monodesign/scripts/live/vocabulary.mjs +0 -36
- package/.claude/skills/monodesign/scripts/live-accept.mjs +0 -812
- package/.claude/skills/monodesign/scripts/live-browser-dom.js +0 -147
- package/.claude/skills/monodesign/scripts/live-browser-session.js +0 -124
- package/.claude/skills/monodesign/scripts/live-browser.js +0 -11213
- package/.claude/skills/monodesign/scripts/live-commit-manual-edits.mjs +0 -1241
- package/.claude/skills/monodesign/scripts/live-complete.mjs +0 -75
- package/.claude/skills/monodesign/scripts/live-copy-edit-agent.mjs +0 -683
- package/.claude/skills/monodesign/scripts/live-discard-manual-edits.mjs +0 -51
- package/.claude/skills/monodesign/scripts/live-inject.mjs +0 -596
- package/.claude/skills/monodesign/scripts/live-insert.mjs +0 -272
- package/.claude/skills/monodesign/scripts/live-manual-edit-evidence.mjs +0 -363
- package/.claude/skills/monodesign/scripts/live-poll.mjs +0 -384
- package/.claude/skills/monodesign/scripts/live-resume.mjs +0 -94
- package/.claude/skills/monodesign/scripts/live-server.mjs +0 -1210
- package/.claude/skills/monodesign/scripts/live-status.mjs +0 -61
- package/.claude/skills/monodesign/scripts/live-target.mjs +0 -30
- package/.claude/skills/monodesign/scripts/live-wrap.mjs +0 -884
- package/.claude/skills/monodesign/scripts/live.mjs +0 -297
- package/.claude/skills/monodesign/scripts/modern-screenshot.umd.js +0 -14
- package/.claude/skills/monodesign/scripts/palette.mjs +0 -635
- package/.claude/skills/monodesign/scripts/pin.mjs +0 -221
- package/.claude/skills/monodesign/shape.md +0 -71
- package/.claude/skills/monodesign/teach.md +0 -18
- package/.claude/skills/monodesign/typeset.md +0 -59
|
@@ -5,6 +5,7 @@ import { existsSync, mkdirSync, readFileSync, realpathSync, renameSync, writeFil
|
|
|
5
5
|
import { join, resolve } from 'node:path';
|
|
6
6
|
import { decisionModelConfigured } from '../decision/jev.js';
|
|
7
7
|
import { suggestTaskSkills } from '../decision/picks.js';
|
|
8
|
+
import { blockRecheckMs } from './block-recheck.js';
|
|
8
9
|
import { checkTaskEvidence, declaresExpectExit, expectSuffix, } from './completion-gate.js';
|
|
9
10
|
import { activeRoleCount } from './daemon.js';
|
|
10
11
|
import { checkLoadoutSelection, taskTag } from './loadouts.js';
|
|
@@ -297,7 +298,7 @@ export function dagCancelTask(daemon, org, role, taskId, reason) {
|
|
|
297
298
|
return JSON.stringify({ error: err.message });
|
|
298
299
|
}
|
|
299
300
|
}
|
|
300
|
-
export function dagBlockTask(daemon, org, role, taskId, untilIso, reason) {
|
|
301
|
+
export function dagBlockTask(daemon, org, role, taskId, untilIso, reason, recheckAfterMinutes) {
|
|
301
302
|
const running = daemon.orgs.get(org);
|
|
302
303
|
if (!running?.taskDag)
|
|
303
304
|
return JSON.stringify({ error: 'org not running' });
|
|
@@ -305,7 +306,8 @@ export function dagBlockTask(daemon, org, role, taskId, untilIso, reason) {
|
|
|
305
306
|
if (Number.isNaN(untilMs))
|
|
306
307
|
return JSON.stringify({ error: `"${untilIso}" is not a valid ISO date/time` });
|
|
307
308
|
try {
|
|
308
|
-
const
|
|
309
|
+
const every = blockRecheckMs(running.def?.run_config.block_recheck_minutes, recheckAfterMinutes);
|
|
310
|
+
const task = running.taskDag.block(taskId, untilMs, reason, every);
|
|
309
311
|
running.bus.emit({
|
|
310
312
|
type: 'status',
|
|
311
313
|
from: role,
|
|
@@ -317,6 +319,7 @@ export function dagBlockTask(daemon, org, role, taskId, untilIso, reason) {
|
|
|
317
319
|
blocked: taskId,
|
|
318
320
|
until: new Date(untilMs).toISOString(),
|
|
319
321
|
status: task.status,
|
|
322
|
+
nextRecheck: new Date(task.recheckAt ?? untilMs).toISOString(),
|
|
320
323
|
});
|
|
321
324
|
}
|
|
322
325
|
catch (err) {
|
|
@@ -439,11 +442,15 @@ export function dagCompleteTask(daemon, org, role, taskId, result, evidence) {
|
|
|
439
442
|
msg: `task ${taskId} is already ${task.status} — close refused`,
|
|
440
443
|
data: { taskId, status: task.status, open: open.map((t) => t.id) },
|
|
441
444
|
});
|
|
445
|
+
// A retry of the role's own close that worked: say it worked, or it keeps retrying.
|
|
446
|
+
const retry = task.status === 'done' && task.assignee === role && !open.length;
|
|
442
447
|
return JSON.stringify({
|
|
443
|
-
error:
|
|
444
|
-
(
|
|
445
|
-
|
|
446
|
-
|
|
448
|
+
error: retry
|
|
449
|
+
? `org_task_done refused: task ${taskId} is already done ("${task.title}") — your earlier org_task_done for it was accepted, so nothing else is needed. Do not call org_task_done for it again.`
|
|
450
|
+
: `org_task_done refused: task ${taskId} is already ${task.status} ("${task.title}") — closing it again would notify its creator about work that was reported long ago. ` +
|
|
451
|
+
(open.length
|
|
452
|
+
? `Your open task(s): ${open.map((t) => `${t.id} ("${t.title}")`).join(', ')}. Close the one this work is for, by its id.`
|
|
453
|
+
: 'You have no open task — if this work belongs to a new one, ask for it to be created rather than re-closing a finished task.'),
|
|
447
454
|
});
|
|
448
455
|
}
|
|
449
456
|
// ADR-O001 D6: keep the latest evidence the ASSIGNEE submitted, accepted or
|
|
@@ -465,6 +472,7 @@ export function dagCompleteTask(daemon, org, role, taskId, result, evidence) {
|
|
|
465
472
|
heads: localHeads(workspace),
|
|
466
473
|
isKnownCommit: (sha) => isKnownCommit(workspace, sha),
|
|
467
474
|
...(pinned?.worktree ? { worktreeExists: existsSync(pinned.worktree) } : {}),
|
|
475
|
+
worktreeLabel: evidence?.worktree,
|
|
468
476
|
caller: role,
|
|
469
477
|
assignee: task.assignee,
|
|
470
478
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decisions.js","sourceRoot":"","sources":["../../../src/orgrt/decisions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"decisions.js","sourceRoot":"","sources":["../../../src/orgrt/decisions.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,9 @@ export declare class Mailbox {
|
|
|
53
53
|
private lastStreamEndValue?;
|
|
54
54
|
/** True while stream() or waitForMessage() is parked on an empty queue. */
|
|
55
55
|
private parked;
|
|
56
|
+
/** #331: the runner is inside a turn — from a yield (or runner activity)
|
|
57
|
+
* until its result. See observeTurn(). */
|
|
58
|
+
private turnLive;
|
|
56
59
|
/** The role has nothing to process: it is parked waiting for mail, either
|
|
57
60
|
* inside stream() between turns or in waitForMessage() with its process
|
|
58
61
|
* down (run_config.session_idle_exit_ms). Read by the no-progress alarm —
|
|
@@ -98,6 +101,17 @@ export declare class Mailbox {
|
|
|
98
101
|
* restart loop).
|
|
99
102
|
*/
|
|
100
103
|
stream(sessionId?: string, opts?: StreamOptions): AsyncGenerator<OrgUserMessage>;
|
|
104
|
+
/** What the runner is doing, from the type of each message it emits: a
|
|
105
|
+
* 'result' settles the turn; 'assistant'/'tool_result' mean one is running
|
|
106
|
+
* (also one the runner started from a queued message after a result).
|
|
107
|
+
*
|
|
108
|
+
* #331: stream() must not END during a turn. The Claude SDK writes each
|
|
109
|
+
* yielded message to the CLI's stdin at once, pulls for the next one right
|
|
110
|
+
* away, and closes stdin when the stream ends — and tool permission
|
|
111
|
+
* requests and in-process MCP tool calls travel over that same channel, so
|
|
112
|
+
* every one of them then fails with "Stream closed". The idle exit and the
|
|
113
|
+
* task boundary therefore wait for the turn to settle. */
|
|
114
|
+
observeTurn(type: string): void;
|
|
101
115
|
/** Why the most recent stream() returned early, if it did: 'boundary'
|
|
102
116
|
* (stopBefore rejected the next message) or 'idle' (idleExitMs elapsed). */
|
|
103
117
|
get lastStreamEnd(): 'boundary' | 'idle' | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mailbox.d.ts","sourceRoot":"","sources":["../../../src/orgrt/mailbox.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,kBAAkB,EAAE,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAcD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE5E;AAED,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC5B,6EAA6E;IAC7E,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAO;IACxC;;6EAEyE;IACzE,MAAM,CAAC,QAAQ,CAAC,eAAe,4BAA4B;IAC3D,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,IAAI,CAA6B;IACzC,OAAO,CAAC,MAAM,CAAS;IACvB;;gFAE4E;IAC5E,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,qFAAqF;IACrF,OAAO,CAAC,UAAU,CAAK;IACvB;uFACmF;IACnF,OAAO,CAAC,YAAY,CAAK;IACzB;;;;uDAImD;IACnD,OAAO,CAAC,QAAQ,CAAuB;IACvC;;;sEAGkE;IAClE,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,kBAAkB,CAAC,CAAsB;IACjD,2EAA2E;IAC3E,OAAO,CAAC,MAAM,CAAS;
|
|
1
|
+
{"version":3,"file":"mailbox.d.ts","sourceRoot":"","sources":["../../../src/orgrt/mailbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,6 +50,9 @@ export class Mailbox {
|
|
|
50
50
|
lastStreamEndValue;
|
|
51
51
|
/** True while stream() or waitForMessage() is parked on an empty queue. */
|
|
52
52
|
parked = false;
|
|
53
|
+
/** #331: the runner is inside a turn — from a yield (or runner activity)
|
|
54
|
+
* until its result. See observeTurn(). */
|
|
55
|
+
turnLive = false;
|
|
53
56
|
/** The role has nothing to process: it is parked waiting for mail, either
|
|
54
57
|
* inside stream() between turns or in waitForMessage() with its process
|
|
55
58
|
* down (run_config.session_idle_exit_ms). Read by the no-progress alarm —
|
|
@@ -148,6 +151,7 @@ export class Mailbox {
|
|
|
148
151
|
// crash-retry path, if at all) already had its chance to act on it.
|
|
149
152
|
this.inFlight = null;
|
|
150
153
|
this.parked = false;
|
|
154
|
+
this.turnLive = false;
|
|
151
155
|
while (true) {
|
|
152
156
|
while (this.queue.length > 0) {
|
|
153
157
|
if (gen !== this.generation)
|
|
@@ -159,11 +163,14 @@ export class Mailbox {
|
|
|
159
163
|
// the session that owns it. Never applied to the first message —
|
|
160
164
|
// the caller chose this session FOR that message.
|
|
161
165
|
if (yielded && opts.stopBefore?.(this.queue[0])) {
|
|
166
|
+
if (this.turnLive)
|
|
167
|
+
break; // held until the turn settles (#331)
|
|
162
168
|
this.lastStreamEndValue = 'boundary';
|
|
163
169
|
return;
|
|
164
170
|
}
|
|
165
171
|
const content = this.queue.shift();
|
|
166
172
|
yielded = true;
|
|
173
|
+
this.turnLive = true;
|
|
167
174
|
if (!content.startsWith(Mailbox.CONTINUE_PREFIX))
|
|
168
175
|
this.consumedReal++;
|
|
169
176
|
this.inFlight = content;
|
|
@@ -196,14 +203,37 @@ export class Mailbox {
|
|
|
196
203
|
return;
|
|
197
204
|
this.parked = false;
|
|
198
205
|
if (!woke) {
|
|
206
|
+
this.wake = null;
|
|
207
|
+
if (this.turnLive)
|
|
208
|
+
continue; // busy, not idle (#331)
|
|
199
209
|
// D3: idle long enough — end the stream so the role's process can
|
|
200
210
|
// exit; the next push waits in the queue for a resumed session.
|
|
201
|
-
this.wake = null;
|
|
202
211
|
this.lastStreamEndValue = 'idle';
|
|
203
212
|
return;
|
|
204
213
|
}
|
|
205
214
|
}
|
|
206
215
|
}
|
|
216
|
+
/** What the runner is doing, from the type of each message it emits: a
|
|
217
|
+
* 'result' settles the turn; 'assistant'/'tool_result' mean one is running
|
|
218
|
+
* (also one the runner started from a queued message after a result).
|
|
219
|
+
*
|
|
220
|
+
* #331: stream() must not END during a turn. The Claude SDK writes each
|
|
221
|
+
* yielded message to the CLI's stdin at once, pulls for the next one right
|
|
222
|
+
* away, and closes stdin when the stream ends — and tool permission
|
|
223
|
+
* requests and in-process MCP tool calls travel over that same channel, so
|
|
224
|
+
* every one of them then fails with "Stream closed". The idle exit and the
|
|
225
|
+
* task boundary therefore wait for the turn to settle. */
|
|
226
|
+
observeTurn(type) {
|
|
227
|
+
if (type === 'assistant' || type === 'tool_result') {
|
|
228
|
+
this.turnLive = true;
|
|
229
|
+
}
|
|
230
|
+
else if (type === 'result') {
|
|
231
|
+
this.turnLive = false;
|
|
232
|
+
// A parked stream re-arms its idle timer from now.
|
|
233
|
+
this.wake?.();
|
|
234
|
+
this.wake = null;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
207
237
|
/** Why the most recent stream() returned early, if it did: 'boundary'
|
|
208
238
|
* (stopBefore rejected the next message) or 'idle' (idleExitMs elapsed). */
|
|
209
239
|
get lastStreamEnd() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mailbox.js","sourceRoot":"","sources":["../../../src/orgrt/mailbox.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;2DAU2D;AAC3D,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC;AACrE,MAAM,UAAU,wBAAwB,CAAC,MAA0B;IACjE,OAAO,MAAM,KAAK,SAAS,IAAI,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAClE,CAAC;AAUD;;;;GAIG;AACH,MAAM,OAAO,OAAO;IACV,MAAM,CAAU,SAAS,GAAG,GAAG,CAAC;IACxC;;6EAEyE;IACzE,MAAM,CAAU,eAAe,GAAG,wBAAwB,CAAC;IACnD,KAAK,GAAa,EAAE,CAAC;IACrB,IAAI,GAAwB,IAAI,CAAC;IACjC,MAAM,GAAG,KAAK,CAAC;IACvB;;gFAE4E;IACpE,gBAAgB,CAAU;IAClC,qFAAqF;IAC7E,UAAU,GAAG,CAAC,CAAC;IACvB;uFACmF;IAC3E,YAAY,GAAG,CAAC,CAAC;IACzB;;;;uDAImD;IAC3C,QAAQ,GAAkB,IAAI,CAAC;IACvC;;;sEAGkE;IAC1D,QAAQ,GAAG,KAAK,CAAC;IACjB,kBAAkB,CAAuB;IACjD,2EAA2E;IACnE,MAAM,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"mailbox.js","sourceRoot":"","sources":["../../../src/orgrt/mailbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,14 +5,24 @@ import type { OrgBus } from './bus.js';
|
|
|
5
5
|
* that silently lost Bash for ~7 minutes). A new runner process builds a new
|
|
6
6
|
* sandbox, so ending the process is the recovery. */
|
|
7
7
|
export declare function isSandboxFault(m: Pick<AgentMessage, 'tool' | 'text'>): boolean;
|
|
8
|
+
/** #331: a tool result that is the runner's tool-permission channel failing,
|
|
9
|
+
* not the tool: the CLI could not ask the SDK host whether the call may run,
|
|
10
|
+
* because the stdio stream it asks over is closed. Every later org tool,
|
|
11
|
+
* Read, and Bash call that needs a decision fails the same way, while Bash
|
|
12
|
+
* allowed by a static rule keeps working (2.16.1 release run). The stream
|
|
13
|
+
* never reopens in that process, so ending it is the recovery. */
|
|
14
|
+
export declare function isChannelFault(m: Pick<AgentMessage, 'tool' | 'text'>): boolean;
|
|
15
|
+
export type ProcessFault = 'sandbox' | 'channel';
|
|
8
16
|
/** Consecutive faulted Bash results in one process before it is ended. */
|
|
9
17
|
export declare const SANDBOX_FAULTS_BEFORE_RESTART = 2;
|
|
10
|
-
/** Process restarts per task session before the coordinator
|
|
18
|
+
/** Process restarts per task session and fault kind before the coordinator
|
|
19
|
+
* is told instead. */
|
|
11
20
|
export declare const MAX_SANDBOX_RESTARTS = 2;
|
|
12
21
|
/** Thrown out of the session's message loop to end the runner process. */
|
|
13
|
-
export declare class
|
|
22
|
+
export declare class ProcessFaultError extends Error {
|
|
14
23
|
readonly sessionId: string | undefined;
|
|
15
|
-
|
|
24
|
+
readonly kind: ProcessFault;
|
|
25
|
+
constructor(sessionId: string | undefined, kind?: ProcessFault);
|
|
16
26
|
}
|
|
17
27
|
interface Surface {
|
|
18
28
|
bus: OrgBus;
|
|
@@ -21,8 +31,8 @@ interface Surface {
|
|
|
21
31
|
coordinator?: string;
|
|
22
32
|
deliver: (from: string, to: string, subject: string, body: string) => Promise<string>;
|
|
23
33
|
}
|
|
24
|
-
/** Per role session loop: counts restarts per session key (task). */
|
|
25
|
-
export declare class
|
|
34
|
+
/** Per role session loop: counts restarts per session key (task) and kind. */
|
|
35
|
+
export declare class FaultRestarts {
|
|
26
36
|
private readonly s;
|
|
27
37
|
private used;
|
|
28
38
|
private surfaced;
|
|
@@ -33,7 +43,7 @@ export declare class SandboxRestarts {
|
|
|
33
43
|
};
|
|
34
44
|
/** Called once the process is gone: records the restart and returns the
|
|
35
45
|
* message the restarted session opens with. */
|
|
36
|
-
restarted(key: string): string;
|
|
46
|
+
restarted(key: string, kind?: ProcessFault): string;
|
|
37
47
|
private surface;
|
|
38
48
|
}
|
|
39
49
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-fault.d.ts","sourceRoot":"","sources":["../../../src/orgrt/sandbox-fault.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGvC;;;sDAGsD;AACtD,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,OAAO,CAE9E;AAED,0EAA0E;AAC1E,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C
|
|
1
|
+
{"version":3,"file":"sandbox-fault.d.ts","sourceRoot":"","sources":["../../../src/orgrt/sandbox-fault.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGvC;;;sDAGsD;AACtD,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,OAAO,CAE9E;AAED;;;;;mEAKmE;AACnE,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,OAAO,CAE9E;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC;AAEjD,0EAA0E;AAC1E,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C;uBACuB;AACvB,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAqCtC,0EAA0E;AAC1E,qBAAa,iBAAkB,SAAQ,KAAK;IAExC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;IACtC,QAAQ,CAAC,IAAI,EAAE,YAAY;IAF7B,YACW,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,IAAI,GAAE,YAAwB,EAQxC;CACF;AAED,UAAU,OAAO;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACvF;AAED,8EAA8E;AAC9E,qBAAa,aAAa;IAIZ,OAAO,CAAC,QAAQ,CAAC,CAAC;IAH9B,OAAO,CAAC,IAAI,CAA6B;IACzC,OAAO,CAAC,QAAQ,CAAqB;IAErC,YAA6B,CAAC,EAAE,OAAO,EAAI;IAE3C,8CAA8C;IAC9C,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;KAAE,CAgCpF;IAED;oDACgD;IAChD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,YAAwB,GAAG,MAAM,CAW7D;IAED,OAAO,CAAC,OAAO;CAoBhB"}
|
|
@@ -7,21 +7,56 @@ import { Mailbox } from './mailbox.js';
|
|
|
7
7
|
export function isSandboxFault(m) {
|
|
8
8
|
return m.tool === 'Bash' && (m.text ?? '').startsWith('bwrap: ');
|
|
9
9
|
}
|
|
10
|
+
/** #331: a tool result that is the runner's tool-permission channel failing,
|
|
11
|
+
* not the tool: the CLI could not ask the SDK host whether the call may run,
|
|
12
|
+
* because the stdio stream it asks over is closed. Every later org tool,
|
|
13
|
+
* Read, and Bash call that needs a decision fails the same way, while Bash
|
|
14
|
+
* allowed by a static rule keeps working (2.16.1 release run). The stream
|
|
15
|
+
* never reopens in that process, so ending it is the recovery. */
|
|
16
|
+
export function isChannelFault(m) {
|
|
17
|
+
return /^Tool permission request failed: (?:\w+: )?Stream closed/.test(m.text ?? '');
|
|
18
|
+
}
|
|
10
19
|
/** Consecutive faulted Bash results in one process before it is ended. */
|
|
11
20
|
export const SANDBOX_FAULTS_BEFORE_RESTART = 2;
|
|
12
|
-
/** Process restarts per task session before the coordinator
|
|
21
|
+
/** Process restarts per task session and fault kind before the coordinator
|
|
22
|
+
* is told instead. */
|
|
13
23
|
export const MAX_SANDBOX_RESTARTS = 2;
|
|
24
|
+
const FAULTS = {
|
|
25
|
+
sandbox: {
|
|
26
|
+
before: SANDBOX_FAULTS_BEFORE_RESTART,
|
|
27
|
+
seen: 'Bash sandbox failed to start',
|
|
28
|
+
restarted: 'Bash sandbox kept failing',
|
|
29
|
+
exhausted: 'Bash sandbox still failing',
|
|
30
|
+
continuation: `Your shell's sandbox failed to start ("bwrap: …") on consecutive Bash calls, so your process was restarted with a fresh one. Continue your in-progress task from where you left off, re-running the command that failed.`,
|
|
31
|
+
subject: 'Bash sandbox keeps failing',
|
|
32
|
+
body: (role, key) => `The OS sandbox for "${role}"'s Bash tool failed to start on consecutive calls (${key}) and ${MAX_SANDBOX_RESTARTS} process restarts did not fix it, so its shell commands are not running. Reassign the work, or have an operator check the role's sandbox (policy.sandbox) before relying on its results.`,
|
|
33
|
+
},
|
|
34
|
+
// One is enough: the channel does not come back in the same process.
|
|
35
|
+
channel: {
|
|
36
|
+
before: 1,
|
|
37
|
+
seen: 'tool permission channel closed',
|
|
38
|
+
restarted: 'tool permission channel closed',
|
|
39
|
+
exhausted: 'tool permission channel still closing',
|
|
40
|
+
continuation: `Your tool permission channel closed ("Tool permission request failed: … Stream closed"), so your process was restarted with a fresh one. Continue your in-progress task from where you left off, re-running the tool call that failed — org tools such as org_send and org_task_done work again.`,
|
|
41
|
+
subject: 'Tool permission channel keeps closing',
|
|
42
|
+
body: (role, key) => `The tool permission channel of "${role}" closed mid-task (${key}) and ${MAX_SANDBOX_RESTARTS} process restarts did not fix it, so its org tools (org_send, org_task_done, org_task_block) and permission-checked tool calls are failing. Reassign the work, or have an operator restart the role before relying on its results.`,
|
|
43
|
+
},
|
|
44
|
+
};
|
|
14
45
|
/** Thrown out of the session's message loop to end the runner process. */
|
|
15
|
-
export class
|
|
46
|
+
export class ProcessFaultError extends Error {
|
|
16
47
|
sessionId;
|
|
17
|
-
|
|
18
|
-
|
|
48
|
+
kind;
|
|
49
|
+
constructor(sessionId, kind = 'sandbox') {
|
|
50
|
+
super(kind === 'sandbox'
|
|
51
|
+
? `sandbox failed to start on ${SANDBOX_FAULTS_BEFORE_RESTART} consecutive Bash calls`
|
|
52
|
+
: 'tool permission channel closed');
|
|
19
53
|
this.sessionId = sessionId;
|
|
20
|
-
this.
|
|
54
|
+
this.kind = kind;
|
|
55
|
+
this.name = 'ProcessFaultError';
|
|
21
56
|
}
|
|
22
57
|
}
|
|
23
|
-
/** Per role session loop: counts restarts per session key (task). */
|
|
24
|
-
export class
|
|
58
|
+
/** Per role session loop: counts restarts per session key (task) and kind. */
|
|
59
|
+
export class FaultRestarts {
|
|
25
60
|
s;
|
|
26
61
|
used = new Map();
|
|
27
62
|
surfaced = new Set();
|
|
@@ -30,56 +65,66 @@ export class SandboxRestarts {
|
|
|
30
65
|
}
|
|
31
66
|
/** One runner process's watcher for `key`. */
|
|
32
67
|
watch(key) {
|
|
33
|
-
|
|
68
|
+
const consecutive = { sandbox: 0, channel: 0 };
|
|
34
69
|
return {
|
|
35
70
|
observe: (m, sessionId) => {
|
|
36
|
-
if (m.type !== 'tool_result'
|
|
71
|
+
if (m.type !== 'tool_result')
|
|
37
72
|
return;
|
|
38
|
-
|
|
39
|
-
|
|
73
|
+
const kind = isSandboxFault(m)
|
|
74
|
+
? 'sandbox'
|
|
75
|
+
: isChannelFault(m)
|
|
76
|
+
? 'channel'
|
|
77
|
+
: undefined;
|
|
78
|
+
if (m.tool === 'Bash' && kind !== 'sandbox')
|
|
79
|
+
consecutive.sandbox = 0;
|
|
80
|
+
if (!kind)
|
|
40
81
|
return;
|
|
41
|
-
|
|
42
|
-
consecutive++;
|
|
82
|
+
const n = ++consecutive[kind];
|
|
43
83
|
this.s.bus.emit({
|
|
44
84
|
type: 'audit',
|
|
45
85
|
from: this.s.roleId,
|
|
46
|
-
reason:
|
|
47
|
-
msg:
|
|
48
|
-
data: {
|
|
86
|
+
reason: `${kind}-fault`,
|
|
87
|
+
msg: `${FAULTS[kind].seen}: ${(m.text ?? '').split('\n')[0].slice(0, 300)}`,
|
|
88
|
+
data: {
|
|
89
|
+
taskKey: key,
|
|
90
|
+
consecutive: n,
|
|
91
|
+
...(m.tool ? { tool: m.tool } : {}),
|
|
92
|
+
...(m.tool_use_id ? { call_id: m.tool_use_id } : {}),
|
|
93
|
+
},
|
|
49
94
|
});
|
|
50
|
-
if (
|
|
95
|
+
if (n < FAULTS[kind].before)
|
|
51
96
|
return;
|
|
52
|
-
consecutive = 0;
|
|
53
|
-
if ((this.used.get(key) ?? 0) < MAX_SANDBOX_RESTARTS)
|
|
54
|
-
throw new
|
|
55
|
-
this.surface(key);
|
|
97
|
+
consecutive[kind] = 0;
|
|
98
|
+
if ((this.used.get(`${kind}:${key}`) ?? 0) < MAX_SANDBOX_RESTARTS)
|
|
99
|
+
throw new ProcessFaultError(sessionId, kind);
|
|
100
|
+
this.surface(key, kind);
|
|
56
101
|
},
|
|
57
102
|
};
|
|
58
103
|
}
|
|
59
104
|
/** Called once the process is gone: records the restart and returns the
|
|
60
105
|
* message the restarted session opens with. */
|
|
61
|
-
restarted(key) {
|
|
62
|
-
const n = (this.used.get(key) ?? 0) + 1;
|
|
63
|
-
this.used.set(key
|
|
106
|
+
restarted(key, kind = 'sandbox') {
|
|
107
|
+
const n = (this.used.get(`${kind}:${key}`) ?? 0) + 1;
|
|
108
|
+
this.used.set(`${kind}:${key}`, n);
|
|
64
109
|
this.s.bus.emit({
|
|
65
110
|
type: 'status',
|
|
66
111
|
from: this.s.roleId,
|
|
67
|
-
reason:
|
|
68
|
-
msg:
|
|
112
|
+
reason: `${kind}-restart`,
|
|
113
|
+
msg: `${FAULTS[kind].restarted} — process restarted for ${key} (${n}/${MAX_SANDBOX_RESTARTS})`,
|
|
69
114
|
data: { taskKey: key, restarts: n, max: MAX_SANDBOX_RESTARTS },
|
|
70
115
|
});
|
|
71
|
-
return `${Mailbox.CONTINUE_PREFIX}
|
|
116
|
+
return `${Mailbox.CONTINUE_PREFIX} ${FAULTS[kind].continuation}`;
|
|
72
117
|
}
|
|
73
|
-
surface(key) {
|
|
74
|
-
if (this.surfaced.has(key))
|
|
118
|
+
surface(key, kind) {
|
|
119
|
+
if (this.surfaced.has(`${kind}:${key}`))
|
|
75
120
|
return;
|
|
76
|
-
this.surfaced.add(key);
|
|
121
|
+
this.surfaced.add(`${kind}:${key}`);
|
|
77
122
|
const { bus, roleId, coordinator, deliver } = this.s;
|
|
78
123
|
bus.emit({
|
|
79
124
|
type: 'audit',
|
|
80
125
|
from: roleId,
|
|
81
|
-
reason:
|
|
82
|
-
msg:
|
|
126
|
+
reason: `${kind}-fault-exhausted`,
|
|
127
|
+
msg: `${FAULTS[kind].exhausted} for ${key} after ${MAX_SANDBOX_RESTARTS} restarts${coordinator ? ` — told "${coordinator}"` : ''}`,
|
|
83
128
|
data: {
|
|
84
129
|
taskKey: key,
|
|
85
130
|
restarts: MAX_SANDBOX_RESTARTS,
|
|
@@ -88,7 +133,7 @@ export class SandboxRestarts {
|
|
|
88
133
|
});
|
|
89
134
|
if (!coordinator)
|
|
90
135
|
return;
|
|
91
|
-
deliver(roleId, coordinator,
|
|
136
|
+
deliver(roleId, coordinator, FAULTS[kind].subject, FAULTS[kind].body(roleId, key)).catch(() => { });
|
|
92
137
|
}
|
|
93
138
|
}
|
|
94
139
|
//# sourceMappingURL=sandbox-fault.js.map
|