@senpi/runtime 3.0.186 → 3.0.187
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 +2 -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 +8 -0
- package/dist/cli/senpi-commands.js.map +1 -1
- package/dist/deploy/register.d.ts +1 -0
- package/dist/deploy/register.d.ts.map +1 -1
- package/dist/deploy/register.js +2 -1
- 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 +10 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +484 -146
- 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/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/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/senpi/client.d.ts +5 -1
- package/dist/senpi/client.d.ts.map +1 -1
- package/dist/senpi/client.js +20 -7
- package/dist/senpi/client.js.map +1 -1
- package/dist/telemetry/metrics.d.ts +1 -1
- package/dist/telemetry/metrics.d.ts.map +1 -1
- package/dist/telemetry/metrics.js +1 -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.js +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/utils/event-catalog.d.ts +27 -1
- 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/widgets/tool.d.ts +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
|
@@ -52,13 +52,14 @@ export const MAX_APPLY_ATTEMPTS = 3;
|
|
|
52
52
|
export const PENDING_IDLE_RECHECK_MS = 3 * 60_000;
|
|
53
53
|
/**
|
|
54
54
|
* The only idle-gate blockers the 24 h forced restart may override: a busy
|
|
55
|
-
* user (`user-run`, `recent-message`)
|
|
55
|
+
* user (`user-run`, `recent-message`) and a gate that just started
|
|
56
|
+
* (`recent-start`, no known activity at all). Every other blocker holds it, money
|
|
56
57
|
* first: an order call in flight (the restart would cut it), an open trade
|
|
57
58
|
* approval (it would be cancelled), a running `senpi deploy` (it would leave a
|
|
58
59
|
* funded wallet with no runtime), a queued user message, and a gate that
|
|
59
60
|
* threw (it cannot rule any of those out).
|
|
60
61
|
*/
|
|
61
|
-
const FORCE_MAY_OVERRIDE = new Set(["user-run", "recent-message"]);
|
|
62
|
+
const FORCE_MAY_OVERRIDE = new Set(["user-run", "recent-message", "recent-start"]);
|
|
62
63
|
/** Whether every blocker in `blockers` is one the forced restart may override. */
|
|
63
64
|
function onlyOverridable(blockers) {
|
|
64
65
|
return blockers.every((b) => FORCE_MAY_OVERRIDE.has(b));
|
|
@@ -120,6 +121,8 @@ export class AutoUpdateCoordinator {
|
|
|
120
121
|
lastDeferredKey = null;
|
|
121
122
|
/** The install-results report the last {@link start} began; see {@link whenInstallResultsReported}. */
|
|
122
123
|
installResultsReport = Promise.resolve();
|
|
124
|
+
/** The 10.x `auto_update.applied` report the last {@link start} began; see {@link whenAppliedReported}. */
|
|
125
|
+
appliedReport = Promise.resolve();
|
|
123
126
|
constructor(options) {
|
|
124
127
|
this.options = options;
|
|
125
128
|
this.now = options.now ?? Date.now;
|
|
@@ -203,7 +206,8 @@ export class AutoUpdateCoordinator {
|
|
|
203
206
|
};
|
|
204
207
|
const firstSeenAt = state.pendingUpdate?.firstSeenAt;
|
|
205
208
|
const pendingMs = sinceMs(firstSeenAt);
|
|
206
|
-
|
|
209
|
+
const applyMs = sinceMs(pending.requestedAt);
|
|
210
|
+
this.appliedReport = this.reportApplied(() => this.emitEvent(EVENT_NAME.autoUpdateApplied, "info", {
|
|
207
211
|
body: `Update applied: ${pending.fromVersion} -> v${pending.toVersion} (${pending.mode})`,
|
|
208
212
|
attributes: eventAttrs({
|
|
209
213
|
"senpi.auto_update.from_version": pending.fromVersion,
|
|
@@ -211,10 +215,10 @@ export class AutoUpdateCoordinator {
|
|
|
211
215
|
"senpi.auto_update.restart_mode": pending.mode,
|
|
212
216
|
"senpi.auto_update.requested_at": pending.requestedAt,
|
|
213
217
|
"senpi.auto_update.first_seen_at": pendingMs === undefined ? undefined : firstSeenAt,
|
|
214
|
-
"senpi.auto_update.apply_ms":
|
|
218
|
+
"senpi.auto_update.apply_ms": applyMs,
|
|
215
219
|
"senpi.auto_update.pending_ms": pendingMs,
|
|
216
220
|
}),
|
|
217
|
-
});
|
|
221
|
+
}));
|
|
218
222
|
}
|
|
219
223
|
state.pendingRestart = undefined;
|
|
220
224
|
}
|
|
@@ -236,6 +240,36 @@ export class AutoUpdateCoordinator {
|
|
|
236
240
|
}
|
|
237
241
|
return action;
|
|
238
242
|
}
|
|
243
|
+
/**
|
|
244
|
+
* Emit the 10.x `auto_update.applied` once the OTel SDK that `register()` started is up, then
|
|
245
|
+
* flush. It fires right after boot, when the global LoggerProvider may still be the no-op one,
|
|
246
|
+
* and the pending restart is already cleared, so a dropped event would never be sent again. A
|
|
247
|
+
* late or failed init still emits: the gateway log keeps the line either way.
|
|
248
|
+
*/
|
|
249
|
+
async reportApplied(emit) {
|
|
250
|
+
const telemetry = this.options.installResultsTelemetry;
|
|
251
|
+
if (!telemetry) {
|
|
252
|
+
emit();
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
try {
|
|
256
|
+
await telemetry.ready();
|
|
257
|
+
}
|
|
258
|
+
catch {
|
|
259
|
+
// Telemetry must not break the coordinator.
|
|
260
|
+
}
|
|
261
|
+
emit();
|
|
262
|
+
try {
|
|
263
|
+
await telemetry.flush();
|
|
264
|
+
}
|
|
265
|
+
catch {
|
|
266
|
+
// Telemetry must not break the coordinator.
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
/** Resolves when the `applied` report begun by the last {@link start}, if any, has finished. */
|
|
270
|
+
whenAppliedReported() {
|
|
271
|
+
return this.appliedReport;
|
|
272
|
+
}
|
|
239
273
|
/**
|
|
240
274
|
* Resolves when the install-results report begun by the last {@link start} has finished.
|
|
241
275
|
* `start` does not wait for it: the report waits for the OTel SDK first.
|
|
@@ -529,7 +563,10 @@ export class AutoUpdateCoordinator {
|
|
|
529
563
|
const now = this.now();
|
|
530
564
|
const gate = this.applyGate(now, Date.parse(pending.eligibleAt));
|
|
531
565
|
if (!gate.open) {
|
|
532
|
-
// Still waiting; a blocker set that changed since the last poll is a new deferred
|
|
566
|
+
// Still waiting; a blocker set that changed since the last poll is a new deferred,
|
|
567
|
+
// and the status snapshot reads the same set.
|
|
568
|
+
this.pendingBlockers = gate.blockers;
|
|
569
|
+
this.snapshot = this.buildSnapshot(this.snapshot.health, this.snapshot.lastAction, this.snapshot.lastError);
|
|
533
570
|
this.noteDeferred(pending, pending.version, gate.blockers);
|
|
534
571
|
this.scheduleIdleRecheck(token);
|
|
535
572
|
return;
|
|
@@ -550,7 +587,7 @@ export class AutoUpdateCoordinator {
|
|
|
550
587
|
// Forcing overrides a busy user, never money in motion (FORCE_MAY_OVERRIDE).
|
|
551
588
|
const forced = !decision.idle &&
|
|
552
589
|
onlyOverridable(decision.blockers) &&
|
|
553
|
-
mustForce(now, Number.isFinite(eligibleMs) ? eligibleMs : now);
|
|
590
|
+
mustForce(now, Number.isFinite(eligibleMs) ? eligibleMs : now, this.options.mid);
|
|
554
591
|
return { open: decision.idle || forced, forced, blockers: [...decision.blockers] };
|
|
555
592
|
}
|
|
556
593
|
/**
|
|
@@ -634,6 +671,43 @@ export class AutoUpdateCoordinator {
|
|
|
634
671
|
// time that would let the next release skip the spread.
|
|
635
672
|
if (updateType === "none") {
|
|
636
673
|
state.pendingUpdate = undefined;
|
|
674
|
+
// 5.x: `latest` was rolled back to the loaded version while a newer
|
|
675
|
+
// install sits on disk unloaded. Reinstall `latest` so the next restart
|
|
676
|
+
// cannot load the pulled release. It is already loaded: no restart.
|
|
677
|
+
const newerOnDisk = [state.lastAppliedVersion, state.pendingRestart?.toVersion].some((v) => v !== undefined && parseSemver(v) !== null && classifyUpdate(latest, v) !== "none");
|
|
678
|
+
if (!this.options.modernHost &&
|
|
679
|
+
state.effectiveMode === "auto-apply" &&
|
|
680
|
+
latest === this.options.currentVersion &&
|
|
681
|
+
newerOnDisk) {
|
|
682
|
+
this.options.logger.warn(`[senpi-auto-update] latest was rolled back to the loaded v${latest} while a newer install is on disk; reinstalling v${latest}`);
|
|
683
|
+
try {
|
|
684
|
+
await this.runUpdateCommand(spec);
|
|
685
|
+
}
|
|
686
|
+
catch (err) {
|
|
687
|
+
// Same report as a normal install failure; the tick's catch counts it and backs off.
|
|
688
|
+
this.reportInstallFailed(latest, err);
|
|
689
|
+
throw err;
|
|
690
|
+
}
|
|
691
|
+
state.lastAppliedVersion = undefined;
|
|
692
|
+
state.pendingRestart = undefined;
|
|
693
|
+
state.lastLoggedAwaitingRestartVersion = undefined;
|
|
694
|
+
this.snapshot = this.buildSnapshot("healthy", `reinstalled-loaded:${latest}`);
|
|
695
|
+
return;
|
|
696
|
+
}
|
|
697
|
+
// 10.x: a restart was requested for a release `latest` no longer names.
|
|
698
|
+
// The A12 wrapper installs whatever the marker says on the next gateway
|
|
699
|
+
// spawn, for any reason, so drop the request and the marker; otherwise
|
|
700
|
+
// the pulled release still loads. Nothing is installed on 10.x.
|
|
701
|
+
const pendingTarget = state.pendingRestart?.toVersion;
|
|
702
|
+
if (this.options.modernHost &&
|
|
703
|
+
pendingTarget !== undefined &&
|
|
704
|
+
parseSemver(pendingTarget) !== null &&
|
|
705
|
+
classifyUpdate(latest, pendingTarget) !== "none") {
|
|
706
|
+
this.options.logger.warn(`[senpi-auto-update] latest was rolled back to v${latest} while a restart for v${pendingTarget} is pending; cancelling it and clearing the update marker`);
|
|
707
|
+
state.pendingRestart = undefined;
|
|
708
|
+
state.lastLoggedAwaitingRestartVersion = undefined;
|
|
709
|
+
await this.clearMarkerQuietly();
|
|
710
|
+
}
|
|
637
711
|
this.snapshot = this.buildSnapshot("healthy", `no-update:${latest}`);
|
|
638
712
|
return;
|
|
639
713
|
}
|
|
@@ -663,9 +737,11 @@ export class AutoUpdateCoordinator {
|
|
|
663
737
|
}
|
|
664
738
|
// The latch fix: a persisted target equal to `latest` means a restart was
|
|
665
739
|
// requested for it and the loaded version is still behind (classifyUpdate
|
|
666
|
-
// above said so). That is trusted only while the request is recent.
|
|
667
|
-
|
|
668
|
-
|
|
740
|
+
// above said so). That is trusted only while the request is recent. On 5.x
|
|
741
|
+
// the runtime installs, so `lastAppliedVersion` names the target; a stale
|
|
742
|
+
// `pendingRestart` from an earlier install must not latch a rolled-back
|
|
743
|
+
// `latest`. On 10.x only `pendingRestart` names it.
|
|
744
|
+
if (state.lastAppliedVersion === latest || (this.options.modernHost && state.pendingRestart?.toVersion === latest)) {
|
|
669
745
|
if (this.restartStillPending(state) || this.awaitingManualRestart(state)) {
|
|
670
746
|
this.handleAlreadyAppliedAwaitingRestart(state, latest);
|
|
671
747
|
return;
|
|
@@ -1014,6 +1090,23 @@ export class AutoUpdateCoordinator {
|
|
|
1014
1090
|
state.lastNotifiedUpdateVersion = latest;
|
|
1015
1091
|
this.snapshot = this.buildSnapshot("healthy", `update-notified:${kind}:${latest}`);
|
|
1016
1092
|
}
|
|
1093
|
+
/**
|
|
1094
|
+
* The `auto_update.install_failed` event and warn line for an install of
|
|
1095
|
+
* `latest` that threw. Shared by the normal install and the 5.x reinstall of
|
|
1096
|
+
* a rolled-back `latest`; the caller rethrows to the tick's catch.
|
|
1097
|
+
*/
|
|
1098
|
+
reportInstallFailed(latest, err) {
|
|
1099
|
+
const reason = formatErr(err);
|
|
1100
|
+
this.emitEvent(EVENT_NAME.autoUpdateInstallFailed, "error", {
|
|
1101
|
+
body: `Install failed: ${this.options.currentVersion} -> v${latest}: ${reason}`,
|
|
1102
|
+
attributes: eventAttrs({
|
|
1103
|
+
"senpi.auto_update.to_version": latest,
|
|
1104
|
+
}),
|
|
1105
|
+
error: err,
|
|
1106
|
+
});
|
|
1107
|
+
this.options.logger.warn(`[senpi-auto-update] Senpi auto-update failed: ${this.options.currentVersion} -> ${latest}. ` +
|
|
1108
|
+
`Reason: ${reason}. Will retry after backoff.`);
|
|
1109
|
+
}
|
|
1017
1110
|
/**
|
|
1018
1111
|
* Install the update, evaluate restart capability, then either trigger a
|
|
1019
1112
|
* gateway restart or log that a manual restart is needed.
|
|
@@ -1041,16 +1134,7 @@ export class AutoUpdateCoordinator {
|
|
|
1041
1134
|
await this.runUpdateCommand(spec);
|
|
1042
1135
|
}
|
|
1043
1136
|
catch (err) {
|
|
1044
|
-
|
|
1045
|
-
this.emitEvent(EVENT_NAME.autoUpdateInstallFailed, "error", {
|
|
1046
|
-
body: `Install failed: ${this.options.currentVersion} -> v${latest}: ${reason}`,
|
|
1047
|
-
attributes: eventAttrs({
|
|
1048
|
-
"senpi.auto_update.to_version": latest,
|
|
1049
|
-
}),
|
|
1050
|
-
error: err,
|
|
1051
|
-
});
|
|
1052
|
-
this.options.logger.warn(`[senpi-auto-update] Senpi auto-update failed: ${this.options.currentVersion} -> ${latest}. ` +
|
|
1053
|
-
`Reason: ${reason}. Will retry after backoff.`);
|
|
1137
|
+
this.reportInstallFailed(latest, err);
|
|
1054
1138
|
throw err;
|
|
1055
1139
|
}
|
|
1056
1140
|
// Step 2: record success before evaluating restart (no runtimes stopped yet).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/runtime/auto-update/coordinator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/runtime/auto-update/coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,7 +62,7 @@ export declare function triggerGatewayRestartViaConfigBump(options: {
|
|
|
62
62
|
}): Promise<void>;
|
|
63
63
|
/**
|
|
64
64
|
* `api.runtime.config.mutateConfigFile` as the runtime uses it (OpenClaw 10.x,
|
|
65
|
-
* `openclaw-worktrees/v2026.10.10
|
|
65
|
+
* `openclaw-worktrees/v2026.10.10/src/plugins/runtime/types-core.ts`).
|
|
66
66
|
* Only the `restart` follow-up is used.
|
|
67
67
|
*/
|
|
68
68
|
export type MutateConfigFile = (params: {
|
|
@@ -101,7 +101,7 @@ export declare function evaluateModernRestartCapability(inputs: ModernRestartCap
|
|
|
101
101
|
*
|
|
102
102
|
* The gateway defers the restart until running work finishes (500 ms polls,
|
|
103
103
|
* then an admission fence, forced after 300 s:
|
|
104
|
-
* `openclaw-worktrees/v2026.10.10
|
|
104
|
+
* `openclaw-worktrees/v2026.10.10/src/infra/restart.ts`), so a reply in
|
|
105
105
|
* progress completes before the process exits.
|
|
106
106
|
*
|
|
107
107
|
* @throws From the mutator when `plugins.entries.<pluginId>.config` is
|
|
@@ -173,7 +173,7 @@ export function evaluateModernRestartCapability(inputs) {
|
|
|
173
173
|
*
|
|
174
174
|
* The gateway defers the restart until running work finishes (500 ms polls,
|
|
175
175
|
* then an admission fence, forced after 300 s:
|
|
176
|
-
* `openclaw-worktrees/v2026.10.10
|
|
176
|
+
* `openclaw-worktrees/v2026.10.10/src/infra/restart.ts`), so a reply in
|
|
177
177
|
* progress completes before the process exits.
|
|
178
178
|
*
|
|
179
179
|
* @throws From the mutator when `plugins.entries.<pluginId>.config` is
|
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
* being cut. Its job is to keep the ~70 s outage away from a user who is in a
|
|
8
8
|
* conversation or money in motion: no user turn running or queued, no trade
|
|
9
9
|
* approval waiting for an answer, no money call in flight, no `senpi deploy`
|
|
10
|
-
* job running,
|
|
10
|
+
* job running, no user message in the last 15 min, and a gateway process at least
|
|
11
|
+
* that old: the activity above lives in memory, so a new process cannot call
|
|
12
|
+
* itself idle until it has watched the box for that long.
|
|
11
13
|
*
|
|
12
14
|
* The gate is pure state plus a decision. It does no I/O, registers nothing
|
|
13
15
|
* and reads no clock of its own: callers pass `now` to every method. That keeps
|
|
@@ -15,7 +17,7 @@
|
|
|
15
17
|
* expose {@link UpdateIdleGate.isIdle} on 5.x hosts as well as 10.x.
|
|
16
18
|
*/
|
|
17
19
|
/** Why the box is not idle, in the order {@link UpdateIdleGate.isIdle} lists them. */
|
|
18
|
-
export type IdleBlocker = "user-run" | "user-queued" | "approval" | "order" | "deploy" | "recent-message";
|
|
20
|
+
export type IdleBlocker = "user-run" | "user-queued" | "approval" | "order" | "deploy" | "recent-message" | "recent-start";
|
|
19
21
|
/** The gate's answer at one moment. `blockers` is empty exactly when `idle` is true. */
|
|
20
22
|
export interface IdleDecision {
|
|
21
23
|
idle: boolean;
|
|
@@ -56,13 +58,49 @@ export interface UpdateIdleGateOptions {
|
|
|
56
58
|
queuedTtlMs?: number;
|
|
57
59
|
/** A user message this recent blocks (the conversation is open; the next message is likely). */
|
|
58
60
|
recentMessageMs?: number;
|
|
61
|
+
/**
|
|
62
|
+
* When the gateway process started (not this gate: a plugin reload builds a new gate in the same
|
|
63
|
+
* process, and must not restart the hold). For `recentMessageMs` after it the box is not idle (`recent-start`): a user may be mid-conversation
|
|
64
|
+
* across the restart, and an update restart right after it would be their second outage.
|
|
65
|
+
* Omitted, the gate has no such hold.
|
|
66
|
+
*/
|
|
67
|
+
startedAt?: number;
|
|
68
|
+
/**
|
|
69
|
+
* Where the gate keeps the runs, subagents and user messages it has seen. Omitted, the gate
|
|
70
|
+
* makes its own. `index.ts` passes the process's {@link IdleGateActivity}, so a 10.x plugin
|
|
71
|
+
* reload, which builds a new gate in the same process, keeps a running user turn, a queued
|
|
72
|
+
* message and the last-message time.
|
|
73
|
+
*/
|
|
74
|
+
activity?: IdleGateActivity;
|
|
59
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* The activity a gate has seen. Plain data with no methods, so a gate built by a fresh module
|
|
78
|
+
* copy (a 10.x plugin reload) can carry on with what an earlier gate recorded.
|
|
79
|
+
*/
|
|
80
|
+
export interface IdleGateActivity {
|
|
81
|
+
runs: Map<string, TrackedRun>;
|
|
82
|
+
subagents: Map<string, TrackedSubagent>;
|
|
83
|
+
/** Arrival times of user messages whose run has not started yet. */
|
|
84
|
+
queued: number[];
|
|
85
|
+
lastUserMessageAt: number | undefined;
|
|
86
|
+
}
|
|
87
|
+
/** An empty {@link IdleGateActivity}. */
|
|
88
|
+
export declare function createIdleGateActivity(): IdleGateActivity;
|
|
60
89
|
/** Default: drop a run with no end after 2 h. */
|
|
61
90
|
export declare const IDLE_STALE_RUN_MS: number;
|
|
62
91
|
/** Default: a received message counts as queued for 60 s. */
|
|
63
92
|
export declare const IDLE_QUEUED_TTL_MS = 60000;
|
|
64
93
|
/** Default: no user message for 15 min. */
|
|
65
94
|
export declare const IDLE_RECENT_MESSAGE_MS: number;
|
|
95
|
+
export interface TrackedRun {
|
|
96
|
+
startedAt: number;
|
|
97
|
+
/** `undefined` until a hook context classified the run. */
|
|
98
|
+
user: boolean | undefined;
|
|
99
|
+
sessionKey?: string;
|
|
100
|
+
}
|
|
101
|
+
export interface TrackedSubagent {
|
|
102
|
+
startedAt: number;
|
|
103
|
+
}
|
|
66
104
|
/**
|
|
67
105
|
* Whether a run is one the user is waiting on: the hook context's `trigger` is
|
|
68
106
|
* `"user"`, or its input provenance is `external_user`. Heartbeat, cron,
|
|
@@ -92,15 +130,13 @@ export declare function isUserTriggeredRun(info: RunOriginInfo): boolean;
|
|
|
92
130
|
*/
|
|
93
131
|
export declare class UpdateIdleGate implements IdleGateReader {
|
|
94
132
|
private readonly options;
|
|
95
|
-
private readonly
|
|
96
|
-
private readonly subagents;
|
|
97
|
-
/** Arrival times of user messages whose run has not started yet. */
|
|
98
|
-
private queued;
|
|
99
|
-
private lastUserMessageAt;
|
|
133
|
+
private readonly activity;
|
|
100
134
|
private readonly staleRunMs;
|
|
101
135
|
private readonly queuedTtlMs;
|
|
102
136
|
private readonly recentMessageMs;
|
|
103
137
|
constructor(options?: UpdateIdleGateOptions);
|
|
138
|
+
private get runs();
|
|
139
|
+
private get subagents();
|
|
104
140
|
/** A run's lifecycle started. It does not block until a hook classifies it as a user run. */
|
|
105
141
|
onRunStart(runId: unknown, sessionKey: unknown, now: number): void;
|
|
106
142
|
/**
|
|
@@ -127,8 +163,8 @@ export declare class UpdateIdleGate implements IdleGateReader {
|
|
|
127
163
|
/**
|
|
128
164
|
* The idle decision at `now`. Idle only when no user run (or user subagent)
|
|
129
165
|
* is active, no user message is queued, no approval is pending, no order
|
|
130
|
-
* call is in flight, and the last user message
|
|
131
|
-
* `recentMessageMs` old. A counter that throws counts as its blocker: an
|
|
166
|
+
* call is in flight, and the last user message and the gate's start are at
|
|
167
|
+
* least `recentMessageMs` old. A counter that throws counts as its blocker: an
|
|
132
168
|
* unknown state is never idle.
|
|
133
169
|
*/
|
|
134
170
|
isIdle(now: number): IdleDecision;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idle-gate.d.ts","sourceRoot":"","sources":["../../../src/runtime/auto-update/idle-gate.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"idle-gate.d.ts","sourceRoot":"","sources":["../../../src/runtime/auto-update/idle-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
* being cut. Its job is to keep the ~70 s outage away from a user who is in a
|
|
8
8
|
* conversation or money in motion: no user turn running or queued, no trade
|
|
9
9
|
* approval waiting for an answer, no money call in flight, no `senpi deploy`
|
|
10
|
-
* job running,
|
|
10
|
+
* job running, no user message in the last 15 min, and a gateway process at least
|
|
11
|
+
* that old: the activity above lives in memory, so a new process cannot call
|
|
12
|
+
* itself idle until it has watched the box for that long.
|
|
11
13
|
*
|
|
12
14
|
* The gate is pure state plus a decision. It does no I/O, registers nothing
|
|
13
15
|
* and reads no clock of its own: callers pass `now` to every method. That keeps
|
|
@@ -15,6 +17,10 @@
|
|
|
15
17
|
* expose {@link UpdateIdleGate.isIdle} on 5.x hosts as well as 10.x.
|
|
16
18
|
*/
|
|
17
19
|
import { isChildSession } from "../../approvals/turn-context.js";
|
|
20
|
+
/** An empty {@link IdleGateActivity}. */
|
|
21
|
+
export function createIdleGateActivity() {
|
|
22
|
+
return { runs: new Map(), subagents: new Map(), queued: [], lastUserMessageAt: undefined };
|
|
23
|
+
}
|
|
18
24
|
/** Default: drop a run with no end after 2 h. */
|
|
19
25
|
export const IDLE_STALE_RUN_MS = 2 * 60 * 60_000;
|
|
20
26
|
/** Default: a received message counts as queued for 60 s. */
|
|
@@ -57,11 +63,7 @@ export function isUserTriggeredRun(info) {
|
|
|
57
63
|
*/
|
|
58
64
|
export class UpdateIdleGate {
|
|
59
65
|
options;
|
|
60
|
-
|
|
61
|
-
subagents = new Map();
|
|
62
|
-
/** Arrival times of user messages whose run has not started yet. */
|
|
63
|
-
queued = [];
|
|
64
|
-
lastUserMessageAt;
|
|
66
|
+
activity;
|
|
65
67
|
staleRunMs;
|
|
66
68
|
queuedTtlMs;
|
|
67
69
|
recentMessageMs;
|
|
@@ -70,6 +72,13 @@ export class UpdateIdleGate {
|
|
|
70
72
|
this.staleRunMs = options.staleRunMs ?? IDLE_STALE_RUN_MS;
|
|
71
73
|
this.queuedTtlMs = options.queuedTtlMs ?? IDLE_QUEUED_TTL_MS;
|
|
72
74
|
this.recentMessageMs = options.recentMessageMs ?? IDLE_RECENT_MESSAGE_MS;
|
|
75
|
+
this.activity = options.activity ?? createIdleGateActivity();
|
|
76
|
+
}
|
|
77
|
+
get runs() {
|
|
78
|
+
return this.activity.runs;
|
|
79
|
+
}
|
|
80
|
+
get subagents() {
|
|
81
|
+
return this.activity.subagents;
|
|
73
82
|
}
|
|
74
83
|
/** A run's lifecycle started. It does not block until a hook classifies it as a user run. */
|
|
75
84
|
onRunStart(runId, sessionKey, now) {
|
|
@@ -104,7 +113,7 @@ export class UpdateIdleGate {
|
|
|
104
113
|
run.sessionKey ??= asString(info.sessionKey);
|
|
105
114
|
if (user && run.user !== true) {
|
|
106
115
|
this.dropExpiredQueued(now);
|
|
107
|
-
this.queued.shift();
|
|
116
|
+
this.activity.queued.shift();
|
|
108
117
|
}
|
|
109
118
|
// Once a user run, always a user run: a later hook with a thinner context
|
|
110
119
|
// must not downgrade it.
|
|
@@ -141,14 +150,14 @@ export class UpdateIdleGate {
|
|
|
141
150
|
}
|
|
142
151
|
/** A user message arrived (`message_received`). */
|
|
143
152
|
onUserMessage(now) {
|
|
144
|
-
this.lastUserMessageAt = now;
|
|
145
|
-
this.queued.push(now);
|
|
153
|
+
this.activity.lastUserMessageAt = now;
|
|
154
|
+
this.activity.queued.push(now);
|
|
146
155
|
}
|
|
147
156
|
/**
|
|
148
157
|
* The idle decision at `now`. Idle only when no user run (or user subagent)
|
|
149
158
|
* is active, no user message is queued, no approval is pending, no order
|
|
150
|
-
* call is in flight, and the last user message
|
|
151
|
-
* `recentMessageMs` old. A counter that throws counts as its blocker: an
|
|
159
|
+
* call is in flight, and the last user message and the gate's start are at
|
|
160
|
+
* least `recentMessageMs` old. A counter that throws counts as its blocker: an
|
|
152
161
|
* unknown state is never idle.
|
|
153
162
|
*/
|
|
154
163
|
isIdle(now) {
|
|
@@ -158,7 +167,7 @@ export class UpdateIdleGate {
|
|
|
158
167
|
const userRun = [...this.runs.values()].some((r) => r.user === true) || this.subagents.size > 0;
|
|
159
168
|
if (userRun)
|
|
160
169
|
blockers.push("user-run");
|
|
161
|
-
if (this.queued.length > 0)
|
|
170
|
+
if (this.activity.queued.length > 0)
|
|
162
171
|
blockers.push("user-queued");
|
|
163
172
|
if (safeCount(this.options.pendingApprovals) > 0)
|
|
164
173
|
blockers.push("approval");
|
|
@@ -166,13 +175,16 @@ export class UpdateIdleGate {
|
|
|
166
175
|
blockers.push("order");
|
|
167
176
|
if (safeFlag(this.options.deploysInFlight))
|
|
168
177
|
blockers.push("deploy");
|
|
169
|
-
if (this.lastUserMessageAt !== undefined && now - this.lastUserMessageAt < this.recentMessageMs) {
|
|
178
|
+
if (this.activity.lastUserMessageAt !== undefined && now - this.activity.lastUserMessageAt < this.recentMessageMs) {
|
|
170
179
|
blockers.push("recent-message");
|
|
171
180
|
}
|
|
181
|
+
if (this.options.startedAt !== undefined && now - this.options.startedAt < this.recentMessageMs) {
|
|
182
|
+
blockers.push("recent-start");
|
|
183
|
+
}
|
|
172
184
|
return { idle: blockers.length === 0, blockers };
|
|
173
185
|
}
|
|
174
186
|
dropExpiredQueued(now) {
|
|
175
|
-
this.queued = this.queued.filter((at) => now - at < this.queuedTtlMs);
|
|
187
|
+
this.activity.queued = this.activity.queued.filter((at) => now - at < this.queuedTtlMs);
|
|
176
188
|
}
|
|
177
189
|
dropStale(now) {
|
|
178
190
|
for (const [id, run] of this.runs) {
|