@cotal-ai/runtime 0.48.2 → 0.50.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/host-starvation.d.ts +183 -0
- package/dist/host-starvation.d.ts.map +1 -0
- package/dist/host-starvation.js +329 -0
- package/dist/host-starvation.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -6
- package/dist/index.js.map +1 -1
- package/dist/mesh-handler.d.ts +125 -3
- package/dist/mesh-handler.d.ts.map +1 -1
- package/dist/mesh-handler.js +305 -9
- package/dist/mesh-handler.js.map +1 -1
- package/dist/migrate.js +13 -0
- package/dist/migrate.js.map +1 -1
- package/dist/run-command.d.ts +22 -1
- package/dist/run-command.d.ts.map +1 -1
- package/dist/run-command.js +142 -14
- package/dist/run-command.js.map +1 -1
- package/dist/run-effect-host.d.ts +2 -2
- package/dist/run-effect-host.d.ts.map +1 -1
- package/dist/run-effect-host.js +9 -3
- package/dist/run-effect-host.js.map +1 -1
- package/dist/run-host.d.ts +7 -0
- package/dist/run-host.d.ts.map +1 -1
- package/dist/run-host.js +25 -3
- package/dist/run-host.js.map +1 -1
- package/dist/run-wait-host.d.ts +2 -1
- package/dist/run-wait-host.d.ts.map +1 -1
- package/dist/run-wait-host.js +10 -2
- package/dist/run-wait-host.js.map +1 -1
- package/package.json +7 -4
package/dist/mesh-handler.d.ts
CHANGED
|
@@ -1,15 +1,23 @@
|
|
|
1
|
-
import { type CheckpointRef, type CheckpointSettleFact, type EpCaller } from "@cotal-ai/core";
|
|
1
|
+
import { type CheckpointRef, type CheckpointSettleFact, type EpCaller, type RunAdmissionView } from "@cotal-ai/core";
|
|
2
2
|
import type { NatsConnection } from "@nats-io/transport-node";
|
|
3
3
|
import type { JetStreamClient, JetStreamManager } from "@nats-io/jetstream";
|
|
4
4
|
import { type KV } from "@nats-io/kv";
|
|
5
|
-
import { type AskRequest, type AgentHandleValue, type ChannelHandleValue, type ConclaveRequest, type WaitRequest, type CheckpointRaw, type CheckpointRequest, type EffectContext, type JournalEntry, type MonitorRequest, type NotifyRequest, type SleepRequest, type SpawnRequest, type TurnRequest, type TurnResultValue } from "@cotal-ai/lang";
|
|
5
|
+
import { EffectError, type AskRequest, type AgentHandleValue, type ChannelHandleValue, type ConclaveRequest, type WaitRequest, type CheckpointRaw, type CheckpointRequest, type EffectContext, type JournalEntry, type MonitorRequest, type NotifyRequest, type ObserveRequest, type SleepRequest, type SpawnRequest, type TurnRequest, type TurnResultValue } from "@cotal-ai/lang";
|
|
6
6
|
import type { RunPauseHost } from "./run-pause-host.js";
|
|
7
7
|
import type { RunWaitHost } from "./run-wait-host.js";
|
|
8
|
+
import { type LoopLagObserver } from "./host-starvation.js";
|
|
8
9
|
import type { RunScopeAuthority } from "./run-scope-authority.js";
|
|
9
10
|
export interface RunMeshServices {
|
|
10
11
|
readonly pauses: RunPauseHost;
|
|
11
12
|
readonly waits: RunWaitHost;
|
|
12
13
|
readonly authority: RunScopeAuthority;
|
|
14
|
+
/**
|
|
15
|
+
* The run's ADMISSION (SPEC 14.8), re-read leader-served at every channel effect this handler
|
|
16
|
+
* performs on its own connection: a conclave's registration and membership writes, checked
|
|
17
|
+
* AFTER a generated channel name is derived. The wait host holds the same reader for the
|
|
18
|
+
* channel reads it mediates. A mediated run with no reader admits no channel effect.
|
|
19
|
+
*/
|
|
20
|
+
readonly admission: () => Promise<RunAdmissionView>;
|
|
13
21
|
}
|
|
14
22
|
/** Who this handler acts as, and where. All of it is the DRIVER's identity, not the program's. */
|
|
15
23
|
export interface MeshHandlerBinding {
|
|
@@ -94,7 +102,33 @@ export declare class MeshHandler {
|
|
|
94
102
|
private readonly watcher;
|
|
95
103
|
private readonly clock;
|
|
96
104
|
private readonly services?;
|
|
97
|
-
|
|
105
|
+
/**
|
|
106
|
+
* How this handler learns whether its own process was scheduled (#1508). Injected so a suite
|
|
107
|
+
* can drive a starved loop deterministically; the default is the process-wide observer, which
|
|
108
|
+
* is the only honest source outside a test.
|
|
109
|
+
*/
|
|
110
|
+
private readonly lag;
|
|
111
|
+
/**
|
|
112
|
+
* Where the operator notice for an absorbed starvation goes (#1508). A daemon routes it to its
|
|
113
|
+
* own log rather than stderr, and a suite counts it: an absorbed starvation is otherwise
|
|
114
|
+
* INVISIBLE, and a cell asserting "the sleep completed" cannot tell a completion that survived
|
|
115
|
+
* starvation from one that was never starved at all.
|
|
116
|
+
*/
|
|
117
|
+
private readonly onStarved;
|
|
118
|
+
constructor(nc: NatsConnection, kv: KV, js: JetStreamClient, jsm: JetStreamManager, binding: MeshHandlerBinding, watcher: SettleWatcher, clock?: () => number, services?: RunMeshServices | undefined,
|
|
119
|
+
/**
|
|
120
|
+
* How this handler learns whether its own process was scheduled (#1508). Injected so a suite
|
|
121
|
+
* can drive a starved loop deterministically; the default is the process-wide observer, which
|
|
122
|
+
* is the only honest source outside a test.
|
|
123
|
+
*/
|
|
124
|
+
lag?: LoopLagObserver,
|
|
125
|
+
/**
|
|
126
|
+
* Where the operator notice for an absorbed starvation goes (#1508). A daemon routes it to its
|
|
127
|
+
* own log rather than stderr, and a suite counts it: an absorbed starvation is otherwise
|
|
128
|
+
* INVISIBLE, and a cell asserting "the sleep completed" cannot tell a completion that survived
|
|
129
|
+
* starvation from one that was never starved at all.
|
|
130
|
+
*/
|
|
131
|
+
onStarved?: (note: string) => void);
|
|
98
132
|
/**
|
|
99
133
|
* The resolved manager service, memoized as a PROMISE so concurrent branches share one describe
|
|
100
134
|
* round-trip — and dropped on failure, so a resolve that lost to a manager restart is retried by
|
|
@@ -102,6 +136,49 @@ export declare class MeshHandler {
|
|
|
102
136
|
*/
|
|
103
137
|
private managerService;
|
|
104
138
|
private manager;
|
|
139
|
+
/**
|
|
140
|
+
* One manager call, with a SPEC 13.2 bind refusal REPAIRED rather than raised.
|
|
141
|
+
*
|
|
142
|
+
* A run resolves the manager on the class rail and binds the incarnation that answered its
|
|
143
|
+
* describe. The invoke is a second, independent trip through the same anycast queue, so in a
|
|
144
|
+
* space with more than one manager it routinely reaches another member, and that member refuses
|
|
145
|
+
* before dispatching. The refusal is honest for one command and destructive for a run: it says
|
|
146
|
+
* the command did not run and its remedy is to re-issue, but raised as the effect's own failure
|
|
147
|
+
* it ends the run and consumes the run id and its journal (#1638).
|
|
148
|
+
*
|
|
149
|
+
* So a refusal the responder MARKS as pre-effect is re-issued instead of returned. It is a first
|
|
150
|
+
* attempt and not a second: the marker together with `not-executed` is the responder's own
|
|
151
|
+
* statement that no effect of the command exists, which is what {@link replyRefusedBeforeEffect}
|
|
152
|
+
* checks, and it is the same licence core's `Endpoint.invokeService` re-issues on. The stale
|
|
153
|
+
* class handle is dropped first, so the re-issue re-describes rather than rebinding the
|
|
154
|
+
* incarnation that was just refused.
|
|
155
|
+
*
|
|
156
|
+
* BOUNDED, because a re-issue draws the same queue again. The describe and the invoke stay two
|
|
157
|
+
* independent trips, so a space of m managers still splits (m-1)/m of the time and the repair
|
|
158
|
+
* converges geometrically rather than deterministically; after {@link BIND_SPLIT_REISSUES} of
|
|
159
|
+
* them the refusal surfaces unchanged, still stating that the command did not run. What removes
|
|
160
|
+
* the residual is addressing one instance, and the run's caller holds no instance-rail grant for
|
|
161
|
+
* a command its program did not place (SPEC 13.9, `run-driver-grants.ts`), so that is a wider
|
|
162
|
+
* change than this one.
|
|
163
|
+
*
|
|
164
|
+
* A PINNED handle is never repaired. It addresses one instance by name, so a refusal from it is
|
|
165
|
+
* that incarnation answering about itself, and re-resolving onto the class rail would reinstate
|
|
166
|
+
* the anycast fallback #1616 removed.
|
|
167
|
+
*/
|
|
168
|
+
private invokeManager;
|
|
169
|
+
/**
|
|
170
|
+
* #1616 item 5 — PHASE A, RESOLVE ON THE HOST THAT WILL LAUNCH. A directory is a fact about one
|
|
171
|
+
* filesystem, so the only process that can canonicalize it is the manager instance that will
|
|
172
|
+
* `chdir` into it. This asks the PINNED instance for the canonical form and returns it together
|
|
173
|
+
* with the identity that answered, so phase B dispatches the resolved path and the journal records
|
|
174
|
+
* which host resolved it. There is deliberately NO envelope `id`: a resolve binds no goal, takes
|
|
175
|
+
* no reservation and allocates nothing, so a retry or a crash between the phases costs nothing.
|
|
176
|
+
*
|
|
177
|
+
* EVERY failure direction is a REFUSAL. A path the target cannot resolve is not passed through as
|
|
178
|
+
* the raw string: the raw string would launch somewhere plausible on the manager's own root, which
|
|
179
|
+
* is the fail-open outcome this repair exists to remove.
|
|
180
|
+
*/
|
|
181
|
+
private resolveCwd;
|
|
105
182
|
/** The branded goal-fact context over this handler's own connection, memoized the same way. */
|
|
106
183
|
private actions;
|
|
107
184
|
private actionCtx;
|
|
@@ -263,6 +340,24 @@ export declare class MeshHandler {
|
|
|
263
340
|
* and `null` is the whole answer.
|
|
264
341
|
*/
|
|
265
342
|
sleep(req: SleepRequest, ctx: EffectContext): Promise<null>;
|
|
343
|
+
/**
|
|
344
|
+
* `waitUntil`'s cadence, as a durable pause nobody answers.
|
|
345
|
+
*
|
|
346
|
+
* THE SAME PLANE AS `sleep`, for the reason `sleep` gives for reusing the checkpoint plane: a
|
|
347
|
+
* durable pause with a deadline, a token that survives a crash and a one-use settle is what this
|
|
348
|
+
* needs, and a second timer mechanism would be a second thing to get wrong. What differs is that
|
|
349
|
+
* a `waitUntil` parks MANY times under one step, so each observation's pause takes its own
|
|
350
|
+
* DERIVED token (`observe-<n>`), exactly as an ask's re-attempts and a wait's second deadline do.
|
|
351
|
+
* Deriving rather than remembering is what makes it recoverable: a resumed run re-derives the
|
|
352
|
+
* same token from the request id and the attempt index, and re-attaches to the pause the crashed
|
|
353
|
+
* attempt armed instead of arming a second one.
|
|
354
|
+
*
|
|
355
|
+
* THIS HANDLER NEVER OBSERVES ANYTHING. The probe is the program's and the interpreter calls it;
|
|
356
|
+
* all that happens here is the waiting. So there is nothing to bind and nothing to read back:
|
|
357
|
+
* the observations are the journal's, written by the interpreter, and this returns only whether
|
|
358
|
+
* there was time left.
|
|
359
|
+
*/
|
|
360
|
+
observe(req: ObserveRequest, ctx: EffectContext): Promise<boolean>;
|
|
266
361
|
/**
|
|
267
362
|
* `checkpoint` is the same durable pause with somebody expected to answer it.
|
|
268
363
|
*
|
|
@@ -595,6 +690,7 @@ export declare class MeshHandler {
|
|
|
595
690
|
* raised rather than waited on.
|
|
596
691
|
*/
|
|
597
692
|
private arm;
|
|
693
|
+
private armOnce;
|
|
598
694
|
/** Push a live deadline out — the idle window restarting. The heartbeat CAS-advances the
|
|
599
695
|
* generation before replacing the timer, so a fire from the old one no-ops rather than racing. */
|
|
600
696
|
private push;
|
|
@@ -635,6 +731,7 @@ export declare class MeshHandler {
|
|
|
635
731
|
* already in the past.
|
|
636
732
|
*/
|
|
637
733
|
private settle;
|
|
734
|
+
private settleOnce;
|
|
638
735
|
/** Reject with `Cancelled` the moment this branch's signal fires, then claim the pause so its
|
|
639
736
|
* armed schedule cannot fire into a run that has moved on. The claim also writes the one-use
|
|
640
737
|
* settle, which is what lets an abandoned `awaitSettle` poll loop see a fact and end. */
|
|
@@ -665,6 +762,31 @@ export declare function readSupervise(raw: unknown, persona: string): AgentSuper
|
|
|
665
762
|
/** The manager `spawn` args a {@link SpawnRequest} submits: persona names the persona file
|
|
666
763
|
* (`name`), `join` becomes the seat's channel subscriptions. `permits` stay on the run (they
|
|
667
764
|
* bind at `turn`); `supervise` travels because the manager is who restarts the process. */
|
|
765
|
+
/**
|
|
766
|
+
* #1616 proof item 5 — ALIAS NORMALIZATION POLICY. One clone reached through a symlink and through
|
|
767
|
+
* its realpath is ONE writable directory, and the single-writer rule keys on identity, so the two
|
|
768
|
+
* forms must collapse before any claim is taken. THE CANONICAL FORM IS THE REALPATH: it is the form
|
|
769
|
+
* the kernel and the child's own `process.cwd()` report, so a claim keyed on it matches what any
|
|
770
|
+
* concurrent run or imperative spawn path observes, whichever alias that caller typed. The symlink
|
|
771
|
+
* path is NOT canonical — normalizing toward it would require resolving every other alias to it,
|
|
772
|
+
* which has no unique answer. Resolution is done ONCE, on the serving host, before the claim and
|
|
773
|
+
* before launch; an unresolvable path is a refusal, never a pass-through of the raw string.
|
|
774
|
+
*/
|
|
775
|
+
export declare function canonicalCwd(cwd: string): string;
|
|
776
|
+
/** What phase A establishes and the step journal keeps: the canonical directory as the SERVING host
|
|
777
|
+
* stated it, plus the authoritative identity that stated it. Phase B dispatches `cwd` from here. */
|
|
778
|
+
export interface CwdResolution {
|
|
779
|
+
cwd: string;
|
|
780
|
+
endpoint: string;
|
|
781
|
+
instanceId: string;
|
|
782
|
+
host?: string;
|
|
783
|
+
}
|
|
784
|
+
/** The single named refusal every phase-A failure direction produces: the target does not serve
|
|
785
|
+
* `resolve-cwd`, refuses the path, or answers with something that is not an absolute directory.
|
|
786
|
+
* `L4000` is the host declining the request, and it is raised before any submission, so nothing is
|
|
787
|
+
* bound, allocated or launched. There is no raw-path arm: a fall-back to the caller's string is
|
|
788
|
+
* fail-OPEN, and launching somewhere plausible is the outcome being removed. */
|
|
789
|
+
export declare function cwdResolutionRefusal(persona: string, instanceId: string, cwd: string, cause: string): EffectError;
|
|
668
790
|
export declare function spawnArgs(req: SpawnRequest): Record<string, unknown>;
|
|
669
791
|
/**
|
|
670
792
|
* RE-ARM the timers of every pause this run is still holding, under THIS driver's coordinates.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh-handler.d.ts","sourceRoot":"","sources":["../src/mesh-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mesh-handler.d.ts","sourceRoot":"","sources":["../src/mesh-handler.ts"],"names":[],"mappings":"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"}
|