@senpi/runtime 3.0.186 → 3.0.190
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/dist/actions/llm-decision/openclaw-llm-decision.d.ts +1 -1
- package/dist/actions/llm-decision/openclaw-llm-decision.js +1 -1
- package/dist/approvals/telemetry.d.ts +3 -2
- package/dist/approvals/telemetry.d.ts.map +1 -1
- package/dist/approvals/telemetry.js.map +1 -1
- package/dist/approvals/tool-approval-gate.d.ts +9 -3
- package/dist/approvals/tool-approval-gate.d.ts.map +1 -1
- package/dist/approvals/tool-approval-gate.js +18 -5
- package/dist/approvals/tool-approval-gate.js.map +1 -1
- package/dist/approvals/turn-context.d.ts +43 -18
- package/dist/approvals/turn-context.d.ts.map +1 -1
- package/dist/approvals/turn-context.js +67 -24
- package/dist/approvals/turn-context.js.map +1 -1
- package/dist/cli/guide-commands.d.ts.map +1 -1
- package/dist/cli/guide-commands.js +8 -1
- package/dist/cli/guide-commands.js.map +1 -1
- package/dist/cli/senpi-commands.d.ts.map +1 -1
- package/dist/cli/senpi-commands.js +12 -2
- package/dist/cli/senpi-commands.js.map +1 -1
- package/dist/deploy/box-cap.d.ts +7 -0
- package/dist/deploy/box-cap.d.ts.map +1 -0
- package/dist/deploy/box-cap.js +13 -0
- package/dist/deploy/box-cap.js.map +1 -0
- package/dist/deploy/funding.d.ts +13 -1
- package/dist/deploy/funding.d.ts.map +1 -1
- package/dist/deploy/funding.js +13 -4
- package/dist/deploy/funding.js.map +1 -1
- package/dist/deploy/job.d.ts +2 -0
- package/dist/deploy/job.d.ts.map +1 -1
- package/dist/deploy/job.js +2 -2
- package/dist/deploy/job.js.map +1 -1
- package/dist/deploy/messages.d.ts +14 -0
- package/dist/deploy/messages.d.ts.map +1 -1
- package/dist/deploy/messages.js +59 -25
- package/dist/deploy/messages.js.map +1 -1
- package/dist/deploy/orchestrator.d.ts +23 -1
- package/dist/deploy/orchestrator.d.ts.map +1 -1
- package/dist/deploy/orchestrator.js +87 -30
- package/dist/deploy/orchestrator.js.map +1 -1
- package/dist/deploy/package.d.ts +14 -1
- package/dist/deploy/package.d.ts.map +1 -1
- package/dist/deploy/package.js +37 -2
- package/dist/deploy/package.js.map +1 -1
- package/dist/deploy/register.d.ts +3 -0
- package/dist/deploy/register.d.ts.map +1 -1
- package/dist/deploy/register.js +50 -33
- package/dist/deploy/register.js.map +1 -1
- package/dist/dsl/monitor/dsl-failure-events.d.ts +38 -2
- package/dist/dsl/monitor/dsl-failure-events.d.ts.map +1 -1
- package/dist/dsl/monitor/dsl-failure-events.js +67 -4
- package/dist/dsl/monitor/dsl-failure-events.js.map +1 -1
- package/dist/dsl/monitor/process-one-position.d.ts.map +1 -1
- package/dist/dsl/monitor/process-one-position.js +25 -1
- package/dist/dsl/monitor/process-one-position.js.map +1 -1
- package/dist/index.d.ts +9 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +527 -158
- package/dist/index.js.map +1 -1
- package/dist/runtime/auto-update/coordinator.d.ts +19 -2
- package/dist/runtime/auto-update/coordinator.d.ts.map +1 -1
- package/dist/runtime/auto-update/coordinator.js +104 -20
- package/dist/runtime/auto-update/coordinator.js.map +1 -1
- package/dist/runtime/auto-update/gateway-restart.d.ts +2 -2
- package/dist/runtime/auto-update/gateway-restart.js +1 -1
- package/dist/runtime/auto-update/idle-gate.d.ts +45 -9
- package/dist/runtime/auto-update/idle-gate.d.ts.map +1 -1
- package/dist/runtime/auto-update/idle-gate.js +26 -14
- package/dist/runtime/auto-update/idle-gate.js.map +1 -1
- package/dist/runtime/auto-update/register-idle-gate.d.ts +1 -1
- package/dist/runtime/auto-update/register-idle-gate.d.ts.map +1 -1
- package/dist/runtime/auto-update/register-idle-gate.js +8 -4
- package/dist/runtime/auto-update/register-idle-gate.js.map +1 -1
- package/dist/runtime/auto-update/run-update-command.d.ts +1 -1
- package/dist/runtime/auto-update/run-update-command.js +1 -1
- package/dist/runtime/auto-update/types.d.ts +2 -1
- package/dist/runtime/auto-update/types.d.ts.map +1 -1
- package/dist/runtime/auto-update/types.js.map +1 -1
- package/dist/runtime/auto-update/update-schedule.d.ts +14 -4
- package/dist/runtime/auto-update/update-schedule.d.ts.map +1 -1
- package/dist/runtime/auto-update/update-schedule.js +21 -5
- package/dist/runtime/auto-update/update-schedule.js.map +1 -1
- package/dist/runtime/boot-skip.d.ts +18 -0
- package/dist/runtime/boot-skip.d.ts.map +1 -1
- package/dist/runtime/boot-skip.js +25 -0
- package/dist/runtime/boot-skip.js.map +1 -1
- package/dist/runtime/lifecycle-events.d.ts +2 -2
- package/dist/runtime/lifecycle-events.d.ts.map +1 -1
- package/dist/runtime/lifecycle-events.js.map +1 -1
- package/dist/runtime/lifecycle-reaper.d.ts +11 -6
- package/dist/runtime/lifecycle-reaper.d.ts.map +1 -1
- package/dist/runtime/lifecycle-reaper.js +25 -15
- package/dist/runtime/lifecycle-reaper.js.map +1 -1
- package/dist/runtime/notifications.d.ts +10 -0
- package/dist/runtime/notifications.d.ts.map +1 -1
- package/dist/runtime/notifications.js +17 -6
- package/dist/runtime/notifications.js.map +1 -1
- package/dist/runtime/process-state.d.ts +168 -0
- package/dist/runtime/process-state.d.ts.map +1 -0
- package/dist/runtime/process-state.js +81 -0
- package/dist/runtime/process-state.js.map +1 -0
- package/dist/runtime/reconcile-state.d.ts.map +1 -1
- package/dist/runtime/reconcile-state.js +18 -4
- package/dist/runtime/reconcile-state.js.map +1 -1
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +4 -1
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/runtime/strategy-registry.d.ts +16 -0
- package/dist/runtime/strategy-registry.d.ts.map +1 -1
- package/dist/runtime/strategy-registry.js +7 -3
- package/dist/runtime/strategy-registry.js.map +1 -1
- package/dist/runtime/update-apply-deps.d.ts +5 -3
- package/dist/runtime/update-apply-deps.d.ts.map +1 -1
- package/dist/runtime/update-apply-deps.js +15 -3
- package/dist/runtime/update-apply-deps.js.map +1 -1
- package/dist/scanners/external/scaffold/preflight.py +492 -12
- package/dist/senpi/__tests__/helpers/fake-paper-mcp.d.ts +44 -0
- package/dist/senpi/__tests__/helpers/fake-paper-mcp.d.ts.map +1 -0
- package/dist/senpi/__tests__/helpers/fake-paper-mcp.js +129 -0
- package/dist/senpi/__tests__/helpers/fake-paper-mcp.js.map +1 -0
- package/dist/senpi/client.d.ts +40 -2
- package/dist/senpi/client.d.ts.map +1 -1
- package/dist/senpi/client.js +82 -15
- package/dist/senpi/client.js.map +1 -1
- package/dist/senpi/paper.d.ts +28 -0
- package/dist/senpi/paper.d.ts.map +1 -0
- package/dist/senpi/paper.js +35 -0
- package/dist/senpi/paper.js.map +1 -0
- package/dist/senpi/strategy-status.d.ts.map +1 -1
- package/dist/senpi/strategy-status.js +2 -0
- package/dist/senpi/strategy-status.js.map +1 -1
- package/dist/senpi/types.d.ts +8 -1
- package/dist/senpi/types.d.ts.map +1 -1
- package/dist/telemetry/box-memory.d.ts +29 -0
- package/dist/telemetry/box-memory.d.ts.map +1 -0
- package/dist/telemetry/box-memory.js +113 -0
- package/dist/telemetry/box-memory.js.map +1 -0
- package/dist/telemetry/metrics.d.ts +22 -1
- package/dist/telemetry/metrics.d.ts.map +1 -1
- package/dist/telemetry/metrics.js +83 -1
- package/dist/telemetry/metrics.js.map +1 -1
- package/dist/telemetry/spans/span-hooks.d.ts +1 -1
- package/dist/telemetry/spans/span-hooks.d.ts.map +1 -1
- package/dist/telemetry/spans/span-hooks.js +5 -2
- package/dist/telemetry/spans/span-hooks.js.map +1 -1
- package/dist/telemetry/trace-identity.d.ts.map +1 -1
- package/dist/telemetry/trace-identity.js +2 -0
- package/dist/telemetry/trace-identity.js.map +1 -1
- package/dist/test-setup.js +7 -1
- package/dist/test-setup.js.map +1 -1
- package/dist/tool-surface/crib-hook.d.ts.map +1 -1
- package/dist/tool-surface/crib-hook.js +8 -0
- package/dist/tool-surface/crib-hook.js.map +1 -1
- package/dist/tool-surface/crib-sheet.d.ts +1 -1
- package/dist/tool-surface/crib-sheet.js +1 -1
- package/dist/tool-surface/mcp-tool-source.d.ts +1 -1
- package/dist/tool-surface/mcp-tool-source.js +2 -2
- package/dist/universe/package-universe.js +1 -1
- package/dist/universe/package-universe.js.map +1 -1
- package/dist/utils/event-catalog.d.ts +34 -4
- package/dist/utils/event-catalog.d.ts.map +1 -1
- package/dist/utils/event-catalog.js +6 -0
- package/dist/utils/event-catalog.js.map +1 -1
- package/dist/validate/codes.d.ts +2 -0
- package/dist/validate/codes.d.ts.map +1 -1
- package/dist/validate/codes.js +6 -0
- package/dist/validate/codes.js.map +1 -1
- package/dist/validate/live-stage.d.ts +12 -0
- package/dist/validate/live-stage.d.ts.map +1 -1
- package/dist/validate/live-stage.js +16 -0
- package/dist/validate/live-stage.js.map +1 -1
- package/dist/widgets/tool.d.ts +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idle-gate.js","sourceRoot":"","sources":["../../../src/runtime/auto-update/idle-gate.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"idle-gate.js","sourceRoot":"","sources":["../../../src/runtime/auto-update/idle-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* events (R2). Kept apart from `idle-gate.ts` so the gate itself stays pure
|
|
4
4
|
* and host-neutral.
|
|
5
5
|
*
|
|
6
|
-
* Sources, as on OpenClaw 2026.10.10
|
|
6
|
+
* Sources, as on OpenClaw 2026.10.10:
|
|
7
7
|
* - `before_prompt_build` hook context (`PluginHookAgentContext`: `runId`,
|
|
8
8
|
* `sessionKey`, `trigger`, `inputProvenance`) classifies a run; lifecycle
|
|
9
9
|
* `start` events carry no trigger (`src/plugins/hook-agent-context.types.ts`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-idle-gate.d.ts","sourceRoot":"","sources":["../../../src/runtime/auto-update/register-idle-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"register-idle-gate.d.ts","sourceRoot":"","sources":["../../../src/runtime/auto-update/register-idle-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,0DAA0D;AAC1D,MAAM,WAAW,eAAe;IAC9B,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnG,sHAAsH;IACtH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE;YACP,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,KAAK,OAAO,CAAC;SAChE,CAAC;KACH,CAAC;CACH;AAED,UAAU,UAAU;IAClB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAMD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAC5C,GAAG,EAAE,eAAe,CAAC;IACrB,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,GAAG,OAAO,CA8EV;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,MAAM,CAAC;CACxB,GAAG,MAAM,CAYT"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
let previousUnsubscribe;
|
|
1
|
+
import { runtimeProcessState } from "../process-state.js";
|
|
3
2
|
function rec(value) {
|
|
4
3
|
return value && typeof value === "object" ? value : undefined;
|
|
5
4
|
}
|
|
@@ -57,7 +56,12 @@ export function registerIdleGateHooks(params) {
|
|
|
57
56
|
return false;
|
|
58
57
|
if (api.registrationMode !== undefined && api.registrationMode !== "full")
|
|
59
58
|
return false;
|
|
60
|
-
// A second registration in the same process replaces the first listener.
|
|
59
|
+
// A second full registration in the same process replaces the first listener. The handle is
|
|
60
|
+
// process state, not module scope: a 10.x plugin reload evaluates this module again, and a
|
|
61
|
+
// module-scope handle would start empty and leave the old listener (and its gate) subscribed.
|
|
62
|
+
const processState = runtimeProcessState();
|
|
63
|
+
const previousUnsubscribe = processState.idleGateUnsubscribe;
|
|
64
|
+
processState.idleGateUnsubscribe = undefined;
|
|
61
65
|
if (typeof previousUnsubscribe === "function") {
|
|
62
66
|
try {
|
|
63
67
|
previousUnsubscribe();
|
|
@@ -66,7 +70,7 @@ export function registerIdleGateHooks(params) {
|
|
|
66
70
|
// ignore
|
|
67
71
|
}
|
|
68
72
|
}
|
|
69
|
-
|
|
73
|
+
processState.idleGateUnsubscribe = onAgentEvent((event) => {
|
|
70
74
|
guard("lifecycle", () => {
|
|
71
75
|
const e = rec(event);
|
|
72
76
|
if (!e || e.stream !== "lifecycle")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-idle-gate.js","sourceRoot":"","sources":["../../../src/runtime/auto-update/register-idle-gate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"register-idle-gate.js","sourceRoot":"","sources":["../../../src/runtime/auto-update/register-idle-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* On an OpenClaw 10.x host it refuses before running anything: 10.10 refuses
|
|
5
5
|
* `plugins update` while the gateway runs ("Plugin updates require the Gateway
|
|
6
|
-
* to be stopped", `openclaw-worktrees/v2026.10.10
|
|
6
|
+
* to be stopped", `openclaw-worktrees/v2026.10.10/src/cli/plugins-update-command.ts`)
|
|
7
7
|
* and its consent prompt needs a TTY, so the call could only fail. The 10.x
|
|
8
8
|
* path is restart-to-apply: the coordinator writes the install marker and the
|
|
9
9
|
* senpi-agent wrapper installs with the gateway down. The coordinator does not
|
|
@@ -29,7 +29,7 @@ const SAFE_NPM_NAME = /^(?:@[A-Za-z0-9._-]+\/)?[A-Za-z0-9._-]+(?:@[A-Za-z0-9][A-
|
|
|
29
29
|
*
|
|
30
30
|
* On an OpenClaw 10.x host it refuses before running anything: 10.10 refuses
|
|
31
31
|
* `plugins update` while the gateway runs ("Plugin updates require the Gateway
|
|
32
|
-
* to be stopped", `openclaw-worktrees/v2026.10.10
|
|
32
|
+
* to be stopped", `openclaw-worktrees/v2026.10.10/src/cli/plugins-update-command.ts`)
|
|
33
33
|
* and its consent prompt needs a TTY, so the call could only fail. The 10.x
|
|
34
34
|
* path is restart-to-apply: the coordinator writes the install marker and the
|
|
35
35
|
* senpi-agent wrapper installs with the gateway down. The coordinator does not
|
|
@@ -139,7 +139,8 @@ export interface AutoUpdateSnapshot {
|
|
|
139
139
|
/**
|
|
140
140
|
* OpenClaw 10.x only: why the pending update has not been applied yet, while `lastAction` is
|
|
141
141
|
* `pending-idle:<v>`. `spread` while the box waits for its offset; otherwise the idle gate's
|
|
142
|
-
* blockers (`user-run`, `user-queued`, `approval`, `order`, `recent-message
|
|
142
|
+
* blockers (`user-run`, `user-queued`, `approval`, `order`, `deploy`, `recent-message`,
|
|
143
|
+
* `recent-start`). Empty otherwise.
|
|
143
144
|
*/
|
|
144
145
|
pendingBlockers: string[];
|
|
145
146
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runtime/auto-update/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runtime/auto-update/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/runtime/auto-update/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/runtime/auto-update/types.ts"],"names":[],"mappings":"AA4KA,0EAA0E;AAC1E,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAE/D,SAAS,MAAM,CAAC,KAAc,EAAE,QAAiB;IAC/C,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACvD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc,EAAE,QAAgB;IAChD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAChF,CAAC;AAED,SAAS,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IACpD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,MAAM,GAAG,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;IACvE,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;QAClC,IAAI;QACJ,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC;QAC7E,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC;QAC9E,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC;QACxC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC;QACxC,2BAA2B;QAC3B,UAAU,EAAE,KAAK;QACjB,qBAAqB,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC;QACjF,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QAC7E,kBAAkB,EAAE,OAAO,GAAG,CAAC,kBAAkB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;KACpG,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAC1C,cAAsB,EACtB,aAA6B;IAE7B,OAAO;QACL,sBAAsB,EAAE,cAAc;QACtC,qBAAqB,EAAE,cAAc;QACrC,aAAa,EAAE,EAAE;QACjB,mBAAmB,EAAE,CAAC;QACtB,aAAa;QACb,iBAAiB,EAAE,SAAS;QAC5B,wBAAwB,EAAE,EAAE;KAC7B,CAAC;AACJ,CAAC"}
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* limiter is 1/min per user). So each box waits a deterministic offset derived
|
|
7
7
|
* from its MID within a 6 h window, plus ±10 min of jitter, after it first sees
|
|
8
8
|
* a new version. If it never finds an idle moment, it forces the update 24 h
|
|
9
|
-
* after it became eligible, inside a fixed 03:00–05:00 UTC
|
|
10
|
-
* the forced path goes through the gateway's own restart deferral, so a reply
|
|
9
|
+
* after it became eligible, at its own moment inside a fixed 03:00–05:00 UTC
|
|
10
|
+
* quiet window. Even the forced path goes through the gateway's own restart deferral, so a reply
|
|
11
11
|
* in progress still finishes.
|
|
12
12
|
*
|
|
13
13
|
* Every function here is pure.
|
|
@@ -22,6 +22,11 @@ export declare const UPDATE_MAX_DEFERRAL_MS: number;
|
|
|
22
22
|
export declare const UPDATE_QUIET_START_HOUR_UTC = 3;
|
|
23
23
|
/** Quiet window end, UTC hour (exclusive). */
|
|
24
24
|
export declare const UPDATE_QUIET_END_HOUR_UTC = 5;
|
|
25
|
+
/**
|
|
26
|
+
* Width of the per-box forced moment inside the quiet window. 10 min short of the 2 h window, so a
|
|
27
|
+
* box re-reading its gate every 3 min always gets a read after its moment and before the window ends.
|
|
28
|
+
*/
|
|
29
|
+
export declare const UPDATE_FORCE_SPREAD_MS: number;
|
|
25
30
|
/**
|
|
26
31
|
* 32-bit FNV-1a over the UTF-8 bytes of `input`.
|
|
27
32
|
*
|
|
@@ -49,9 +54,14 @@ export declare function jitterMs(rand: () => number): number;
|
|
|
49
54
|
export declare function eligibleAt(firstSeenAt: number, mid: string, rand: () => number): number;
|
|
50
55
|
/** Whether `now` falls inside the 03:00–05:00 UTC quiet window. */
|
|
51
56
|
export declare function isInQuietWindow(now: number): boolean;
|
|
57
|
+
/** The box's deterministic delay after the quiet window opens before it may force an update. */
|
|
58
|
+
export declare function forceOffsetMs(mid: string): number;
|
|
52
59
|
/**
|
|
53
60
|
* Whether a busy box must update anyway: at least 24 h past `eligibleAtMs`
|
|
54
|
-
* **and** inside the quiet window
|
|
61
|
+
* **and** inside the quiet window **and** past the box's own moment in it, so
|
|
62
|
+
* every overdue box does not restart in the window's first minutes.
|
|
63
|
+
*
|
|
64
|
+
* @param mid - The box's stable identity; without one the moment is the window's start.
|
|
55
65
|
*/
|
|
56
|
-
export declare function mustForce(now: number, eligibleAtMs: number): boolean;
|
|
66
|
+
export declare function mustForce(now: number, eligibleAtMs: number, mid?: string): boolean;
|
|
57
67
|
//# sourceMappingURL=update-schedule.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-schedule.d.ts","sourceRoot":"","sources":["../../../src/runtime/auto-update/update-schedule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,0CAA0C;AAC1C,eAAO,MAAM,uBAAuB,QAAkB,CAAC;AACvD,2DAA2D;AAC3D,eAAO,MAAM,gBAAgB,QAAc,CAAC;AAC5C,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,QAAmB,CAAC;AACvD,gDAAgD;AAChD,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAC7C,8CAA8C;AAC9C,eAAO,MAAM,yBAAyB,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"update-schedule.d.ts","sourceRoot":"","sources":["../../../src/runtime/auto-update/update-schedule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,0CAA0C;AAC1C,eAAO,MAAM,uBAAuB,QAAkB,CAAC;AACvD,2DAA2D;AAC3D,eAAO,MAAM,gBAAgB,QAAc,CAAC;AAC5C,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,QAAmB,CAAC;AACvD,gDAAgD;AAChD,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAC7C,8CAA8C;AAC9C,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAe,CAAC;AAEnD;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAO7C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,MAAM,GAAG,MAAM,CAEvF;AAED,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGpD;AAED,gGAAgG;AAChG,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAKlF"}
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* limiter is 1/min per user). So each box waits a deterministic offset derived
|
|
7
7
|
* from its MID within a 6 h window, plus ±10 min of jitter, after it first sees
|
|
8
8
|
* a new version. If it never finds an idle moment, it forces the update 24 h
|
|
9
|
-
* after it became eligible, inside a fixed 03:00–05:00 UTC
|
|
10
|
-
* the forced path goes through the gateway's own restart deferral, so a reply
|
|
9
|
+
* after it became eligible, at its own moment inside a fixed 03:00–05:00 UTC
|
|
10
|
+
* quiet window. Even the forced path goes through the gateway's own restart deferral, so a reply
|
|
11
11
|
* in progress still finishes.
|
|
12
12
|
*
|
|
13
13
|
* Every function here is pure.
|
|
@@ -22,6 +22,11 @@ export const UPDATE_MAX_DEFERRAL_MS = 24 * 60 * 60_000;
|
|
|
22
22
|
export const UPDATE_QUIET_START_HOUR_UTC = 3;
|
|
23
23
|
/** Quiet window end, UTC hour (exclusive). */
|
|
24
24
|
export const UPDATE_QUIET_END_HOUR_UTC = 5;
|
|
25
|
+
/**
|
|
26
|
+
* Width of the per-box forced moment inside the quiet window. 10 min short of the 2 h window, so a
|
|
27
|
+
* box re-reading its gate every 3 min always gets a read after its moment and before the window ends.
|
|
28
|
+
*/
|
|
29
|
+
export const UPDATE_FORCE_SPREAD_MS = 110 * 60_000;
|
|
25
30
|
/**
|
|
26
31
|
* 32-bit FNV-1a over the UTF-8 bytes of `input`.
|
|
27
32
|
*
|
|
@@ -65,11 +70,22 @@ export function isInQuietWindow(now) {
|
|
|
65
70
|
const hour = new Date(now).getUTCHours();
|
|
66
71
|
return hour >= UPDATE_QUIET_START_HOUR_UTC && hour < UPDATE_QUIET_END_HOUR_UTC;
|
|
67
72
|
}
|
|
73
|
+
/** The box's deterministic delay after the quiet window opens before it may force an update. */
|
|
74
|
+
export function forceOffsetMs(mid) {
|
|
75
|
+
return fnv1a32(mid) % UPDATE_FORCE_SPREAD_MS;
|
|
76
|
+
}
|
|
68
77
|
/**
|
|
69
78
|
* Whether a busy box must update anyway: at least 24 h past `eligibleAtMs`
|
|
70
|
-
* **and** inside the quiet window
|
|
79
|
+
* **and** inside the quiet window **and** past the box's own moment in it, so
|
|
80
|
+
* every overdue box does not restart in the window's first minutes.
|
|
81
|
+
*
|
|
82
|
+
* @param mid - The box's stable identity; without one the moment is the window's start.
|
|
71
83
|
*/
|
|
72
|
-
export function mustForce(now, eligibleAtMs) {
|
|
73
|
-
|
|
84
|
+
export function mustForce(now, eligibleAtMs, mid) {
|
|
85
|
+
if (now < eligibleAtMs + UPDATE_MAX_DEFERRAL_MS || !isInQuietWindow(now))
|
|
86
|
+
return false;
|
|
87
|
+
const date = new Date(now);
|
|
88
|
+
const opensAt = Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), UPDATE_QUIET_START_HOUR_UTC);
|
|
89
|
+
return mid === undefined || now - opensAt >= forceOffsetMs(mid);
|
|
74
90
|
}
|
|
75
91
|
//# sourceMappingURL=update-schedule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-schedule.js","sourceRoot":"","sources":["../../../src/runtime/auto-update/update-schedule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,0CAA0C;AAC1C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;AACvD,2DAA2D;AAC3D,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,MAAM,CAAC;AAC5C,+EAA+E;AAC/E,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;AACvD,gDAAgD;AAChD,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAC7C,8CAA8C;AAC9C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"update-schedule.js","sourceRoot":"","sources":["../../../src/runtime/auto-update/update-schedule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,0CAA0C;AAC1C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;AACvD,2DAA2D;AAC3D,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,MAAM,CAAC;AAC5C,+EAA+E;AAC/E,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;AACvD,gDAAgD;AAChD,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAC7C,8CAA8C;AAC9C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAC3C;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,GAAG,MAAM,CAAC;AAEnD;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;QAC9C,IAAI,IAAI,IAAI,CAAC;QACb,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,uBAAuB,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAkB;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,WAAmB,EAAE,GAAW,EAAE,IAAkB;IAC7E,OAAO,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACzC,OAAO,IAAI,IAAI,2BAA2B,IAAI,IAAI,GAAG,yBAAyB,CAAC;AACjF,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC;AAC/C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,GAAW,EAAE,YAAoB,EAAE,GAAY;IACvE,IAAI,GAAG,GAAG,YAAY,GAAG,sBAAsB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACvF,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,2BAA2B,CAAC,CAAC;IACpH,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,OAAO,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -62,6 +62,24 @@ export type BootStatusRead = {
|
|
|
62
62
|
* rows without an address are dropped rather than keyed on "".
|
|
63
63
|
*/
|
|
64
64
|
export declare function readBootWalletStatuses(wallets: readonly string[], read: (wallets: string[], signal: AbortSignal) => Promise<readonly WalletStatusRow[]>, timeoutMs?: number): Promise<BootStatusRead>;
|
|
65
|
+
/** {@link readWalletStatusesByWorld}: what each world's read answered, and which worlds failed. */
|
|
66
|
+
export interface WorldStatusRead {
|
|
67
|
+
statuses: Map<string, string>;
|
|
68
|
+
strategyIds: Map<string, string>;
|
|
69
|
+
/** Wallets whose world was read successfully. A wallet outside it is UNKNOWN, never absent. */
|
|
70
|
+
answered: Set<string>;
|
|
71
|
+
failures: Array<{
|
|
72
|
+
paper: boolean;
|
|
73
|
+
walletCount: number;
|
|
74
|
+
reason: "timeout" | "error";
|
|
75
|
+
message: string;
|
|
76
|
+
}>;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* {@link readBootWalletStatuses} once per world: live wallets on one bounded read, paper wallets on
|
|
80
|
+
* another, so a world that cannot be read (an MCP without the paper router) never blinds the other.
|
|
81
|
+
*/
|
|
82
|
+
export declare function readWalletStatusesByWorld(wallets: readonly string[], read: (wallets: string[], signal: AbortSignal) => Promise<readonly WalletStatusRow[]>, timeoutMs?: number): Promise<WorldStatusRead>;
|
|
65
83
|
export declare function partitionByWalletStatus(entries: readonly InstalledRuntimeEntry[], statusByWallet: ReadonlyMap<string, string> | null): {
|
|
66
84
|
boot: InstalledRuntimeEntry[];
|
|
67
85
|
skipped: SkippedDeadWallet[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boot-skip.d.ts","sourceRoot":"","sources":["../../src/runtime/boot-skip.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"boot-skip.d.ts","sourceRoot":"","sources":["../../src/runtime/boot-skip.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpE;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAUlD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,IAAI,MAAM,CAE9E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,EAAE,CAMtG;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,4DAA4D;AAC5D,MAAM,WAAW,eAAe;IAC9B,gGAAgG;IAChG,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,qBAAqB,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC7E;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhE;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC,EACrF,SAAS,GAAE,MAAoC,GAC9C,OAAO,CAAC,cAAc,CAAC,CA0BzB;AAED,mGAAmG;AACnG,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,+FAA+F;IAC/F,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxG;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC,EACrF,SAAS,GAAE,MAAoC,GAC9C,OAAO,CAAC,eAAe,CAAC,CAe1B;AAQD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,SAAS,qBAAqB,EAAE,EACzC,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GACjD;IAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;IAAC,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAUjE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE7D"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* as before. A transient read must never keep a live strategy down.
|
|
10
10
|
*/
|
|
11
11
|
import { isDead } from "../senpi/strategy-status.js";
|
|
12
|
+
import { isPaperAddress } from "../senpi/paper.js";
|
|
12
13
|
/**
|
|
13
14
|
* Bound on the boot status read. It runs before the boot loop, so a hung MCP server would otherwise
|
|
14
15
|
* hold every runtime on the box — live ones included — for the transport's own read timeout. Past
|
|
@@ -86,6 +87,30 @@ export async function readBootWalletStatuses(wallets, read, timeoutMs = BOOT_STA
|
|
|
86
87
|
clearTimeout(timer);
|
|
87
88
|
}
|
|
88
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* {@link readBootWalletStatuses} once per world: live wallets on one bounded read, paper wallets on
|
|
92
|
+
* another, so a world that cannot be read (an MCP without the paper router) never blinds the other.
|
|
93
|
+
*/
|
|
94
|
+
export async function readWalletStatusesByWorld(wallets, read, timeoutMs = BOOT_STATUS_READ_TIMEOUT_MS) {
|
|
95
|
+
const out = { statuses: new Map(), strategyIds: new Map(), answered: new Set(), failures: [] };
|
|
96
|
+
for (const paper of [false, true]) {
|
|
97
|
+
const world = wallets.filter((w) => isPaperAddress(w) === paper);
|
|
98
|
+
if (world.length === 0)
|
|
99
|
+
continue;
|
|
100
|
+
const result = await readBootWalletStatuses(world, read, timeoutMs);
|
|
101
|
+
if (!result.ok) {
|
|
102
|
+
out.failures.push({ paper, walletCount: world.length, reason: result.reason, message: result.message });
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
for (const wallet of world)
|
|
106
|
+
out.answered.add(wallet);
|
|
107
|
+
for (const [wallet, status] of result.statuses)
|
|
108
|
+
out.statuses.set(wallet, status);
|
|
109
|
+
for (const [wallet, id] of result.strategyIds)
|
|
110
|
+
out.strategyIds.set(wallet, id);
|
|
111
|
+
}
|
|
112
|
+
return out;
|
|
113
|
+
}
|
|
89
114
|
class BootStatusTimeout extends Error {
|
|
90
115
|
constructor(timeoutMs) {
|
|
91
116
|
super(`strategy status read did not answer within ${timeoutMs}ms`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boot-skip.js","sourceRoot":"","sources":["../../src/runtime/boot-skip.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"boot-skip.js","sourceRoot":"","sources":["../../src/runtime/boot-skip.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* The scanner-summary funnel selection is reused from {@link buildScannerSummary}
|
|
7
7
|
* — no reimplementation of the drop classification.
|
|
8
8
|
*/
|
|
9
|
-
import { EVENT_NAME, type ReapReason, type ReapSkipReason, type ReapTrigger } from "../utils/event-catalog.js";
|
|
9
|
+
import { EVENT_NAME, type ReapDeleteReason, type ReapReason, type ReapSkipReason, type ReapTrigger } from "../utils/event-catalog.js";
|
|
10
10
|
import type { EmittableEvent } from "../actions/event-derivation.js";
|
|
11
11
|
/**
|
|
12
12
|
* `scanner.summary` from the same scanner-run payload the scanner-complete handler emits.
|
|
@@ -66,7 +66,7 @@ export interface RuntimeDeletedInput {
|
|
|
66
66
|
/** Whether a running handle was stopped as part of the delete (vs a never-booted registration). */
|
|
67
67
|
readonly hadLiveHandle: boolean;
|
|
68
68
|
/** Set only when the lifecycle reaper (not an operator, agent or deploy) removed the runtime. */
|
|
69
|
-
readonly deleteReason?:
|
|
69
|
+
readonly deleteReason?: ReapDeleteReason;
|
|
70
70
|
}
|
|
71
71
|
/**
|
|
72
72
|
* `runtime.deleted` — a runtime removed from the registry via `senpi.deleteRuntime`. The discriminator
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle-events.d.ts","sourceRoot":"","sources":["../../src/runtime/lifecycle-events.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EACL,UAAU,EAGV,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,WAAW,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAKrE;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC,OAAO,UAAU,CAAC,cAAc,CAAC,GAAG,IAAI,CAoCjI;AAED,MAAM,WAAW,mBAAmB;IAClC,uGAAuG;IACvG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,yHAAyH;IACzH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,0FAA0F;IAC1F,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpD,2GAA2G;IAC3G,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,mBAAmB,GAAG,cAAc,CAAC,OAAO,UAAU,CAAC,cAAc,CAAC,CA6BrH;AAED,uDAAuD;AACvD,wBAAgB,wBAAwB,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,OAAO,UAAU,CAAC,cAAc,CAAC,CAYjL;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,qGAAqG;IACrG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,mBAAmB,GAAG,cAAc,CAAC,OAAO,UAAU,CAAC,cAAc,CAAC,CAarH;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,qGAAqG;IACrG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,mGAAmG;IACnG,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,iGAAiG;IACjG,QAAQ,CAAC,YAAY,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"lifecycle-events.d.ts","sourceRoot":"","sources":["../../src/runtime/lifecycle-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle-events.js","sourceRoot":"","sources":["../../src/runtime/lifecycle-events.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,UAAU,EACV,UAAU,
|
|
1
|
+
{"version":3,"file":"lifecycle-events.js","sourceRoot":"","sources":["../../src/runtime/lifecycle-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,9 @@
|
|
|
8
8
|
* The reaper reads strategy status for every registered wallet and removes the runtimes whose
|
|
9
9
|
* strategy the platform reports gone.
|
|
10
10
|
*
|
|
11
|
-
* Safety invariant — deletion needs POSITIVE evidence: `CLOSED` from a successful read
|
|
12
|
-
*
|
|
11
|
+
* Safety invariant — deletion needs POSITIVE evidence: `CLOSED` from a successful read, or `FAILED`
|
|
12
|
+
* for a simulation's paper wallet (no real money, and paper-service never resets a FAILED strategy).
|
|
13
|
+
* Those are the only things the reaper ever deletes on.
|
|
13
14
|
* Any other dead status (`dead_not_closed`: FAILED, and the INACTIVE/TERMINATED/CLOSING_DONE names
|
|
14
15
|
* `isDead` also accepts) is reported and never deleted. Only CLOSED means a close ran: strategy-manager
|
|
15
16
|
* reaches it through the offboarding flow, which closes the positions first. FAILED is written by
|
|
@@ -23,7 +24,7 @@
|
|
|
23
24
|
* without a usable wallet never delete anything.
|
|
24
25
|
*/
|
|
25
26
|
import type { EmittableEvent } from "../actions/event-derivation.js";
|
|
26
|
-
import type { ReapTrigger } from "../utils/event-catalog.js";
|
|
27
|
+
import type { ReapDeleteReason, ReapTrigger } from "../utils/event-catalog.js";
|
|
27
28
|
import { type WalletStatusRow } from "./boot-skip.js";
|
|
28
29
|
/**
|
|
29
30
|
* What `runtime list` says about a runtime's strategy, as last read.
|
|
@@ -52,7 +53,7 @@ export type ReapDecision =
|
|
|
52
53
|
status: string;
|
|
53
54
|
} | {
|
|
54
55
|
action: "reap";
|
|
55
|
-
reason:
|
|
56
|
+
reason: ReapDeleteReason;
|
|
56
57
|
status: string;
|
|
57
58
|
}
|
|
58
59
|
/** Missing from a successful answer: reported, never deleted. */
|
|
@@ -143,13 +144,17 @@ export interface LifecycleReaperDeps {
|
|
|
143
144
|
wallet?: string;
|
|
144
145
|
}>;
|
|
145
146
|
}>;
|
|
146
|
-
/**
|
|
147
|
+
/**
|
|
148
|
+
* One `strategy_list` read for these (lower-cased) wallets, all of one world: the reaper reads
|
|
149
|
+
* live and paper wallets separately, so one world's failed read never blinds the other. Throws on
|
|
150
|
+
* any failure.
|
|
151
|
+
*/
|
|
147
152
|
readStatuses(wallets: string[], signal: AbortSignal): Promise<readonly WalletStatusRow[]>;
|
|
148
153
|
/**
|
|
149
154
|
* Remove one runtime. `wallet` is the lower-cased wallet the decision was made about; the delete
|
|
150
155
|
* refuses (`ok: false`) if the row under `id` no longer carries it or an install/deploy is running.
|
|
151
156
|
*/
|
|
152
|
-
deleteRuntime(id: string, reason:
|
|
157
|
+
deleteRuntime(id: string, reason: ReapDeleteReason, wallet: string): Promise<ReaperDeleteResult>;
|
|
153
158
|
emit(build: () => EmittableEvent | null): void;
|
|
154
159
|
/** Delete candidates (true) or only report them (false). */
|
|
155
160
|
enforce: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle-reaper.d.ts","sourceRoot":"","sources":["../../src/runtime/lifecycle-reaper.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"lifecycle-reaper.d.ts","sourceRoot":"","sources":["../../src/runtime/lifecycle-reaper.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,9 @@
|
|
|
8
8
|
* The reaper reads strategy status for every registered wallet and removes the runtimes whose
|
|
9
9
|
* strategy the platform reports gone.
|
|
10
10
|
*
|
|
11
|
-
* Safety invariant — deletion needs POSITIVE evidence: `CLOSED` from a successful read
|
|
12
|
-
*
|
|
11
|
+
* Safety invariant — deletion needs POSITIVE evidence: `CLOSED` from a successful read, or `FAILED`
|
|
12
|
+
* for a simulation's paper wallet (no real money, and paper-service never resets a FAILED strategy).
|
|
13
|
+
* Those are the only things the reaper ever deletes on.
|
|
13
14
|
* Any other dead status (`dead_not_closed`: FAILED, and the INACTIVE/TERMINATED/CLOSING_DONE names
|
|
14
15
|
* `isDead` also accepts) is reported and never deleted. Only CLOSED means a close ran: strategy-manager
|
|
15
16
|
* reaches it through the offboarding flow, which closes the positions first. FAILED is written by
|
|
@@ -23,7 +24,8 @@
|
|
|
23
24
|
* without a usable wallet never delete anything.
|
|
24
25
|
*/
|
|
25
26
|
import { isClosing, isDead } from "../senpi/strategy-status.js";
|
|
26
|
-
import {
|
|
27
|
+
import { isPaperAddress } from "../senpi/paper.js";
|
|
28
|
+
import { isTrackableWallet, readWalletStatusesByWorld, trackableWalletKeys, } from "./boot-skip.js";
|
|
27
29
|
import { buildReapCandidateEvent, buildReapSkippedEvent, buildReapUnknownWalletEvent, } from "./lifecycle-events.js";
|
|
28
30
|
/** The one status the reaper deletes on; see the module doc for why the other dead ones are held. */
|
|
29
31
|
const REAPABLE_STATUS = "CLOSED";
|
|
@@ -40,9 +42,12 @@ export function decideReap(entry, answer) {
|
|
|
40
42
|
if (status === undefined)
|
|
41
43
|
return { action: "hold", reason: "wallet_absent" };
|
|
42
44
|
if (isDead(status)) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
if (status.toUpperCase() === REAPABLE_STATUS)
|
|
46
|
+
return { action: "reap", reason: "closed_status", status };
|
|
47
|
+
if (status.toUpperCase() === "FAILED" && isPaperAddress(entry.wallet)) {
|
|
48
|
+
return { action: "reap", reason: "paper_failed_status", status };
|
|
49
|
+
}
|
|
50
|
+
return { action: "hold", reason: "dead_not_closed", status };
|
|
46
51
|
}
|
|
47
52
|
if (isClosing(status))
|
|
48
53
|
return { action: "keep", lifecycle: "closing", status };
|
|
@@ -261,27 +266,32 @@ export function createLifecycleReaper(deps) {
|
|
|
261
266
|
const wallets = trackableWalletKeys(scoped);
|
|
262
267
|
if (wallets.length === 0 || cancelled())
|
|
263
268
|
return;
|
|
264
|
-
const read = await
|
|
265
|
-
|
|
269
|
+
const read = await readWalletStatusesByWorld(wallets, deps.readStatuses, deps.readTimeoutMs);
|
|
270
|
+
for (const failure of read.failures) {
|
|
266
271
|
deps.logger.warn("[senpi-runtime][reaper] strategy status unreadable; nothing removed this pass", {
|
|
267
272
|
trigger,
|
|
268
|
-
reason:
|
|
269
|
-
err:
|
|
273
|
+
reason: failure.reason,
|
|
274
|
+
err: failure.message,
|
|
275
|
+
paper: failure.paper,
|
|
270
276
|
});
|
|
271
277
|
deps.emit(() => buildReapSkippedEvent({
|
|
272
|
-
skipReason:
|
|
278
|
+
skipReason: failure.reason === "timeout" ? "read_timeout" : "read_failed",
|
|
273
279
|
trigger,
|
|
274
|
-
walletCount:
|
|
280
|
+
walletCount: failure.walletCount,
|
|
275
281
|
}));
|
|
276
|
-
return;
|
|
277
282
|
}
|
|
278
|
-
|
|
279
|
-
|
|
283
|
+
const { statuses, answered } = read;
|
|
284
|
+
if (answered.size === 0)
|
|
285
|
+
return;
|
|
286
|
+
recordStatuses([...answered], statuses);
|
|
287
|
+
const answer = { statuses };
|
|
280
288
|
for (const entry of scoped) {
|
|
281
289
|
if (cancelled())
|
|
282
290
|
return;
|
|
283
291
|
if (!isTrackableWallet(entry.wallet))
|
|
284
292
|
continue;
|
|
293
|
+
if (!answered.has(entry.wallet.trim().toLowerCase()))
|
|
294
|
+
continue;
|
|
285
295
|
const decision = decideReap(entry, answer);
|
|
286
296
|
if (decision.action === "reap") {
|
|
287
297
|
await reap({ id: entry.id, wallet: entry.wallet }, decision, trigger);
|