@actana/sdk 0.3.3 → 0.4.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/README.md +2 -1
- package/dist/core-client.d.ts +18 -0
- package/dist/core-client.d.ts.map +1 -1
- package/dist/core-client.js +26 -2
- package/dist/core-client.js.map +1 -1
- package/dist/core-link-frames.d.ts +77 -1
- package/dist/core-link-frames.d.ts.map +1 -1
- package/dist/core-link-frames.js +37 -1
- package/dist/core-link-frames.js.map +1 -1
- package/dist/core-pairing-csr.d.ts +21 -0
- package/dist/core-pairing-csr.d.ts.map +1 -0
- package/dist/core-pairing-csr.js +159 -0
- package/dist/core-pairing-csr.js.map +1 -0
- package/dist/core-pairing-wire.d.ts +63 -0
- package/dist/core-pairing-wire.d.ts.map +1 -0
- package/dist/core-pairing-wire.js +22 -0
- package/dist/core-pairing-wire.js.map +1 -0
- package/dist/core-pairing.d.ts +211 -0
- package/dist/core-pairing.d.ts.map +1 -0
- package/dist/core-pairing.js +630 -0
- package/dist/core-pairing.js.map +1 -0
- package/dist/core-session.d.ts +213 -5
- package/dist/core-session.d.ts.map +1 -1
- package/dist/core-session.js +326 -28
- package/dist/core-session.js.map +1 -1
- package/package.json +1 -1
package/dist/core-session.js
CHANGED
|
@@ -158,6 +158,20 @@ export class CoreSessionStartError extends Error {
|
|
|
158
158
|
this.name = "CoreSessionStartError";
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* There is nothing running to attach to.
|
|
163
|
+
*
|
|
164
|
+
* Its own kind because it is the one failure an attach has that a start does
|
|
165
|
+
* not, and because the alternative is worse than an error: a wait against a
|
|
166
|
+
* Session whose harness has already exited has nothing that will ever report a
|
|
167
|
+
* turn, so it would hang until the caller's deadline and then blame the Core.
|
|
168
|
+
*/
|
|
169
|
+
export class CoreSessionAttachError extends Error {
|
|
170
|
+
constructor(message, options) {
|
|
171
|
+
super(message, options);
|
|
172
|
+
this.name = "CoreSessionAttachError";
|
|
173
|
+
}
|
|
174
|
+
}
|
|
161
175
|
/**
|
|
162
176
|
* One Session on one Core, driven programmatically.
|
|
163
177
|
*
|
|
@@ -171,9 +185,19 @@ export class CoreSession {
|
|
|
171
185
|
taskId;
|
|
172
186
|
/** The Core's id for this Session's PTY. */
|
|
173
187
|
ptyId;
|
|
174
|
-
/**
|
|
188
|
+
/**
|
|
189
|
+
* The harness running in it, or `null` on a Session this process did not
|
|
190
|
+
* start — {@link attach} joins a PTY that is already running, and the Core
|
|
191
|
+
* publishes no harness for one. A caller that needs the name reads it off the
|
|
192
|
+
* Task row, which is where it lives.
|
|
193
|
+
*/
|
|
175
194
|
harness;
|
|
176
|
-
/**
|
|
195
|
+
/**
|
|
196
|
+
* The command the Core was asked to start, after defaulting, or `null` on an
|
|
197
|
+
* {@link attach} — the command was decided by whoever spawned the PTY and the
|
|
198
|
+
* Core does not publish it afterwards. Null is "this side does not know",
|
|
199
|
+
* never "there was none".
|
|
200
|
+
*/
|
|
177
201
|
command;
|
|
178
202
|
/**
|
|
179
203
|
* Will anything move this Session to `running` when a turn begins (issue 84,
|
|
@@ -198,6 +222,12 @@ export class CoreSession {
|
|
|
198
222
|
*
|
|
199
223
|
* `false` on a Core too old to answer, which is the safe direction: a
|
|
200
224
|
* redundant caveat, never a silently statusless Session.
|
|
225
|
+
*
|
|
226
|
+
* `null` on an {@link attach}, which is a different thing again: the Core
|
|
227
|
+
* answers this question on a **spawn**, so a Session joined after the fact has
|
|
228
|
+
* no answer rather than a negative one. **No wait consults this field** (#289
|
|
229
|
+
* A) — turn *end* is reported by every harness family, and that is what every
|
|
230
|
+
* wait here is waiting for.
|
|
201
231
|
*/
|
|
202
232
|
reportsTurnStart;
|
|
203
233
|
client;
|
|
@@ -206,7 +236,19 @@ export class CoreSession {
|
|
|
206
236
|
dataListeners = new Set();
|
|
207
237
|
exitListeners = new Set();
|
|
208
238
|
statusListeners = new Set();
|
|
239
|
+
/**
|
|
240
|
+
* Everyone waiting for a turn to end, each with the event id it counts from.
|
|
241
|
+
* A waiter with `afterEventId: 0` takes any settled status; one carrying a
|
|
242
|
+
* delivery stamp takes only a status learned after it.
|
|
243
|
+
*/
|
|
209
244
|
idleWaiters = new Set();
|
|
245
|
+
/**
|
|
246
|
+
* This Session asked the Core for its PTY's stream, so {@link dispose} owes it
|
|
247
|
+
* a matching `ptyUnsubscribe`. False for a spawned Session: the Core
|
|
248
|
+
* subscribes the connection that spawned a PTY, inside the spawn, and nothing
|
|
249
|
+
* here asked for that.
|
|
250
|
+
*/
|
|
251
|
+
subscribedToPty = false;
|
|
210
252
|
/**
|
|
211
253
|
* The Core's last reported status, or null before one has been *observed*.
|
|
212
254
|
*
|
|
@@ -217,6 +259,18 @@ export class CoreSession {
|
|
|
217
259
|
* event after {@link start} lands here.
|
|
218
260
|
*/
|
|
219
261
|
lastStatus = null;
|
|
262
|
+
/**
|
|
263
|
+
* The event id {@link lastStatus} was learned at, or 0 when it was not learned
|
|
264
|
+
* from an event — the status {@link attach} seeded from the Task row.
|
|
265
|
+
*
|
|
266
|
+
* This is what makes a cursored wait possible (#289 A). "Has this Session
|
|
267
|
+
* settled?" answers with whatever it is sitting at, including last turn's
|
|
268
|
+
* answer; "has this Session settled **since event N**?" is the question a
|
|
269
|
+
* caller that just delivered a prompt is actually asking, and it needs a
|
|
270
|
+
* *where* as well as a *what*. A seeded status carries 0 on purpose: 0 is
|
|
271
|
+
* greater than nothing, so it can never satisfy a real cursor.
|
|
272
|
+
*/
|
|
273
|
+
lastStatusEventId = 0;
|
|
220
274
|
exit = null;
|
|
221
275
|
disposed = false;
|
|
222
276
|
/** A status read is in flight; another event arrived while it was. */
|
|
@@ -359,6 +413,110 @@ export class CoreSession {
|
|
|
359
413
|
session.ingestExit(mineExit);
|
|
360
414
|
return session;
|
|
361
415
|
}
|
|
416
|
+
/**
|
|
417
|
+
* Join a Session that is **already running**, for the length of a turn (#289).
|
|
418
|
+
*
|
|
419
|
+
* The gap this closes: {@link start} is the only way into a `CoreSession`, and
|
|
420
|
+
* it spawns. Everything this class offers a caller after the first turn — the
|
|
421
|
+
* screen, the status, the wait — was unreachable for a Session somebody else
|
|
422
|
+
* started, or that this process started and hung up on. Awaiting a follow-up
|
|
423
|
+
* turn is therefore SDK work rather than a flag on a command, and this is it.
|
|
424
|
+
*
|
|
425
|
+
* What it does, in order, and the order is the point:
|
|
426
|
+
*
|
|
427
|
+
* 1. subscribe to the event log, if nothing has, so a status change that
|
|
428
|
+
* lands during the rest of this is heard rather than missed;
|
|
429
|
+
* 2. resolve the Task's live PTY — **once**, and every write and wait made
|
|
430
|
+
* through the returned Session uses that resolution, so there is no
|
|
431
|
+
* window between delivering text and starting to wait for it;
|
|
432
|
+
* 3. wire the byte stream, the exit and the events **before** subscribing;
|
|
433
|
+
* 4. subscribe to that PTY, which is what makes the Core send this
|
|
434
|
+
* connection its bytes and its exit at all;
|
|
435
|
+
* 5. seed the screen from the Core's replay ring, and the last known status
|
|
436
|
+
* from the Session snapshot.
|
|
437
|
+
*
|
|
438
|
+
* **The seeded status carries event id 0**, which is what keeps it honest.
|
|
439
|
+
* `waitForIdle` will answer from it — that is `actana session wait` on a
|
|
440
|
+
* Session already sitting at `needs-input`, and answering immediately is
|
|
441
|
+
* right, because no turn was asked for. {@link waitForTurnEnd} with a delivery
|
|
442
|
+
* stamp will not: 0 can never be greater than a real cursor, so a wait for the
|
|
443
|
+
* turn a write starts cannot be answered by the turn before it.
|
|
444
|
+
*
|
|
445
|
+
* Rejects with {@link CoreSessionAttachError} when the Task has no live PTY —
|
|
446
|
+
* a harness that exited, or a Session id that is not one. **Only that.** A
|
|
447
|
+
* link that blinked during the subscribe, the replay or the status read
|
|
448
|
+
* rejects with an ordinary `Error`: the two are different next steps, and
|
|
449
|
+
* reporting a busy Core as a dead harness sends a caller to `resume` for a
|
|
450
|
+
* Session that is running perfectly well.
|
|
451
|
+
*/
|
|
452
|
+
static async attach(client, opts) {
|
|
453
|
+
if (opts.subscribeToEvents !== false && !client.isSubscribedToEvents()) {
|
|
454
|
+
client.subscribeEvents();
|
|
455
|
+
}
|
|
456
|
+
const { ptyId } = await client.findByTask(opts.taskId);
|
|
457
|
+
if (ptyId === null) {
|
|
458
|
+
throw new CoreSessionAttachError(`session ${opts.taskId} has no harness running — there is nothing to attach a wait to`);
|
|
459
|
+
}
|
|
460
|
+
const cols = opts.cols ?? DEFAULT_COLS;
|
|
461
|
+
const rows = opts.rows ?? DEFAULT_ROWS;
|
|
462
|
+
const terminal = new TerminalScreen({ cols, rows, scrollback: opts.scrollback });
|
|
463
|
+
const session = new CoreSession({
|
|
464
|
+
client,
|
|
465
|
+
taskId: opts.taskId,
|
|
466
|
+
ptyId,
|
|
467
|
+
// Three facts about a spawn, and this is not one. The Task row carries the
|
|
468
|
+
// harness for a caller that needs the name; the command and the turn-start
|
|
469
|
+
// answer were the Core's answer to a `spawn` frame that happened before
|
|
470
|
+
// this process was involved, and inventing either would be worse than null.
|
|
471
|
+
harness: null,
|
|
472
|
+
command: null,
|
|
473
|
+
reportsTurnStart: null,
|
|
474
|
+
terminal,
|
|
475
|
+
});
|
|
476
|
+
session.unsubscribes.push(client.onData((frame) => {
|
|
477
|
+
if (frame.ptyId === ptyId)
|
|
478
|
+
session.ingest(frame.data);
|
|
479
|
+
}), client.onExit((frame) => {
|
|
480
|
+
if (frame.ptyId === ptyId)
|
|
481
|
+
session.ingestExit(frame);
|
|
482
|
+
}), client.onEvent(({ event }) => session.onCoreEvent(event)));
|
|
483
|
+
const replay = opts.replay !== false;
|
|
484
|
+
try {
|
|
485
|
+
// **The subscribe is not part of the replay.** Until a connection
|
|
486
|
+
// subscribes, a multi-connection Core fans this PTY's output to somebody
|
|
487
|
+
// else and `onData` / `onExit` never fire here — so an attachment that
|
|
488
|
+
// skipped it would have an empty screen *and* a dead exit route, and the
|
|
489
|
+
// "an exit answers every wait" case in `settledSince` would never run. A
|
|
490
|
+
// caller that turns the replay off wants to skip the scrollback, not to
|
|
491
|
+
// be deaf.
|
|
492
|
+
//
|
|
493
|
+
// `catchUp` says a replay follows and the Core must hold the live stream
|
|
494
|
+
// until it has been served; it is set exactly when one does, because a
|
|
495
|
+
// hold nobody redeems strands the Session's output on the Core.
|
|
496
|
+
await client.ptySubscribe(ptyId, { catchUp: replay });
|
|
497
|
+
// Recorded the moment it is owed, not once the rest succeeded: a replay
|
|
498
|
+
// that throws still leaves this connection subscribed, and the `dispose`
|
|
499
|
+
// in the catch below is the only thing that will ever give it back.
|
|
500
|
+
session.subscribedToPty = true;
|
|
501
|
+
if (replay) {
|
|
502
|
+
const { data } = await client.replay(ptyId);
|
|
503
|
+
terminal.write(data);
|
|
504
|
+
}
|
|
505
|
+
await session.seedStatus();
|
|
506
|
+
}
|
|
507
|
+
catch (err) {
|
|
508
|
+
session.dispose();
|
|
509
|
+
// **Only "nothing is running" is an attach error.** A link that blinked
|
|
510
|
+
// during the subscribe, the replay or the status read is a retry, and
|
|
511
|
+
// reporting it as a harness that has exited sends the operator to
|
|
512
|
+
// `resume` for a Session that is running perfectly well. The one genuine
|
|
513
|
+
// case was decided above, before any of this ran.
|
|
514
|
+
if (err instanceof CoreSessionAttachError)
|
|
515
|
+
throw err;
|
|
516
|
+
throw new Error(`could not attach to session ${opts.taskId}: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
|
|
517
|
+
}
|
|
518
|
+
return session;
|
|
519
|
+
}
|
|
362
520
|
// ─── Programmatic I/O ──────────────────────────────────────────────────────
|
|
363
521
|
/**
|
|
364
522
|
* Write to the Session, exactly these bytes and nothing else.
|
|
@@ -380,6 +538,24 @@ export class CoreSession {
|
|
|
380
538
|
send(text) {
|
|
381
539
|
return this.client.write(this.ptyId, text);
|
|
382
540
|
}
|
|
541
|
+
/**
|
|
542
|
+
* {@link send}, with the Core stamping the delivery in its event log and
|
|
543
|
+
* answering with the id — the cursor {@link waitForTurnEnd} counts from
|
|
544
|
+
* (#289 A).
|
|
545
|
+
*
|
|
546
|
+
* Exactly the same bytes and exactly as little timing as `send`: the stamp is
|
|
547
|
+
* a fact recorded about a write that already happened, not a schedule imposed
|
|
548
|
+
* on one. A caller wanting to await the turn its text starts writes with this
|
|
549
|
+
* and waits from what it returns, and the two are one round trip apart with no
|
|
550
|
+
* window between them in which the Session could settle unobserved.
|
|
551
|
+
*
|
|
552
|
+
* `deliveryEventId` is 0 when the Core did not stamp — a write the PTY
|
|
553
|
+
* refused, a Core that predates the stamp, a PTY with no Task behind it. 0 is
|
|
554
|
+
* not a cursor: a caller that waits from it is waiting with none.
|
|
555
|
+
*/
|
|
556
|
+
deliver(text) {
|
|
557
|
+
return this.client.deliver(this.ptyId, text);
|
|
558
|
+
}
|
|
383
559
|
/**
|
|
384
560
|
* Every chunk of this Session's output, as it arrives.
|
|
385
561
|
*
|
|
@@ -462,16 +638,48 @@ export class CoreSession {
|
|
|
462
638
|
* passes a deadline it chose itself.
|
|
463
639
|
*/
|
|
464
640
|
waitForIdle(opts = {}) {
|
|
465
|
-
|
|
641
|
+
return this.waitForTurnEnd(opts);
|
|
642
|
+
}
|
|
643
|
+
/**
|
|
644
|
+
* Wait for the end of the turn that follows event `afterEventId` — the wait
|
|
645
|
+
* `session send --wait` is built on (#289 A, B).
|
|
646
|
+
*
|
|
647
|
+
* **Why a cursor.** {@link waitForIdle} answers from the status the Session is
|
|
648
|
+
* already sitting at, and for a Session that was started here that is right:
|
|
649
|
+
* it has observed no status yet, so anything it hears is this turn's. For a
|
|
650
|
+
* Session that was **already running** it is a lie waiting to be told — a
|
|
651
|
+
* harness parked on `needs-input` is settled, so a wait attached to it and
|
|
652
|
+
* started after a write would return before the harness had read a character,
|
|
653
|
+
* reporting the previous turn's answer as this one's. Passing the id the Core
|
|
654
|
+
* stamped the delivery with turns "is it settled?" into "has it settled since
|
|
655
|
+
* the thing I sent?", and only the second question has a truthful answer.
|
|
656
|
+
*
|
|
657
|
+
* `afterEventId: 0` (the default) is no cursor and is {@link waitForIdle}.
|
|
658
|
+
*
|
|
659
|
+
* Resolves on **any** of {@link SETTLED_SESSION_STATUSES}, not on `finished`
|
|
660
|
+
* alone: a turn that ended on a permission prompt, an escape or a dead harness
|
|
661
|
+
* ended, and a caller waiting for `finished` there waits forever on exactly the
|
|
662
|
+
* cases it most needs to hear about. A process exit resolves it too.
|
|
663
|
+
*
|
|
664
|
+
* Nothing here reads the byte stream, and nothing here consults
|
|
665
|
+
* {@link reportsTurnStart}. Turn end is reported by every harness family; turn
|
|
666
|
+
* *start* is not, which is why no wait is keyed on it.
|
|
667
|
+
*/
|
|
668
|
+
waitForTurnEnd(opts = {}) {
|
|
669
|
+
const afterEventId = opts.afterEventId ?? 0;
|
|
670
|
+
const settled = this.settledSince(afterEventId);
|
|
466
671
|
if (settled)
|
|
467
672
|
return Promise.resolve(settled);
|
|
468
673
|
return new Promise((resolve, reject) => {
|
|
469
674
|
let timer = null;
|
|
470
|
-
const waiter =
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
675
|
+
const waiter = {
|
|
676
|
+
afterEventId,
|
|
677
|
+
notify: (idle) => {
|
|
678
|
+
this.idleWaiters.delete(waiter);
|
|
679
|
+
if (timer)
|
|
680
|
+
clearTimeout(timer);
|
|
681
|
+
resolve(idle);
|
|
682
|
+
},
|
|
475
683
|
};
|
|
476
684
|
this.idleWaiters.add(waiter);
|
|
477
685
|
if (opts.timeoutMs && opts.timeoutMs > 0) {
|
|
@@ -509,6 +717,17 @@ export class CoreSession {
|
|
|
509
717
|
for (const off of this.unsubscribes)
|
|
510
718
|
off();
|
|
511
719
|
this.unsubscribes.length = 0;
|
|
720
|
+
if (this.subscribedToPty) {
|
|
721
|
+
this.subscribedToPty = false;
|
|
722
|
+
// The stream this attachment asked for, given back. Removing the listener
|
|
723
|
+
// stops this process reading the bytes; it does not stop the Core sending
|
|
724
|
+
// them, and an orchestrator that attaches to and disposes many Sessions on
|
|
725
|
+
// one long-lived client would otherwise leave every one of those streams
|
|
726
|
+
// running at it for the life of the client. Fire and forget on purpose:
|
|
727
|
+
// `dispose` is synchronous, nothing waits on the answer, and a link that
|
|
728
|
+
// is already gone has released the subscription by going.
|
|
729
|
+
void this.client.ptyUnsubscribe(this.ptyId).catch(() => { });
|
|
730
|
+
}
|
|
512
731
|
if (this.statusRetryTimer) {
|
|
513
732
|
clearTimeout(this.statusRetryTimer);
|
|
514
733
|
this.statusRetryTimer = null;
|
|
@@ -518,7 +737,10 @@ export class CoreSession {
|
|
|
518
737
|
// forever. `kill()` disposes, and `await session.kill()` after starting a
|
|
519
738
|
// `waitForIdle()` is an ordinary thing to write.
|
|
520
739
|
for (const waiter of [...this.idleWaiters]) {
|
|
521
|
-
waiter(this.
|
|
740
|
+
waiter.notify(this.settledSince(waiter.afterEventId) ?? {
|
|
741
|
+
status: this.lastStatus ?? "disposed",
|
|
742
|
+
exited: false,
|
|
743
|
+
});
|
|
522
744
|
}
|
|
523
745
|
this.dataListeners.clear();
|
|
524
746
|
this.exitListeners.clear();
|
|
@@ -563,7 +785,17 @@ export class CoreSession {
|
|
|
563
785
|
// `session:finished` is appended on the transition into `finished` and on
|
|
564
786
|
// nothing else, so it is the one kind that already says what happened.
|
|
565
787
|
if (event.kind === "session:finished") {
|
|
566
|
-
this.noteStatus("finished");
|
|
788
|
+
this.noteStatus("finished", event.eventId);
|
|
789
|
+
return;
|
|
790
|
+
}
|
|
791
|
+
// A `task:updated` whose payload names the status the mutation **patched**
|
|
792
|
+
// is a report about a turn, and it is exact: it needs no round trip, and it
|
|
793
|
+
// cannot be confused with a rename or an archive of a Session that happens
|
|
794
|
+
// to be sitting at a settled status. Anything else moves the last known
|
|
795
|
+
// status but never the cursor — see {@link readStatus}.
|
|
796
|
+
const patched = patchedStatusOf(event);
|
|
797
|
+
if (patched !== null) {
|
|
798
|
+
this.noteStatus(patched, event.eventId);
|
|
567
799
|
return;
|
|
568
800
|
}
|
|
569
801
|
void this.readStatus();
|
|
@@ -580,6 +812,13 @@ export class CoreSession {
|
|
|
580
812
|
* A read that fails is re-asked ({@link STATUS_READ_RETRIES}), because on
|
|
581
813
|
* `needs-input`, `interrupted` and `terminated` there is no second event to
|
|
582
814
|
* carry the news.
|
|
815
|
+
*
|
|
816
|
+
* **What it reads never advances the wait cursor** (#289 A). This path is
|
|
817
|
+
* reached for an event that did not say what it changed — a rename, an
|
|
818
|
+
* archive, a Core too old to name the patched status — and the row it reads
|
|
819
|
+
* back may be carrying the status of a turn that ended long before. Answering
|
|
820
|
+
* a cursored wait from that is the early resolution the cursor exists to
|
|
821
|
+
* prevent, so a read updates `lastStatus` and leaves the cursor where it was.
|
|
583
822
|
*/
|
|
584
823
|
async readStatus() {
|
|
585
824
|
if (this.disposed)
|
|
@@ -618,6 +857,20 @@ export class CoreSession {
|
|
|
618
857
|
}
|
|
619
858
|
}
|
|
620
859
|
}
|
|
860
|
+
/**
|
|
861
|
+
* Read the Core's current status for this Session once, at attach, at event
|
|
862
|
+
* id 0 — "what it is sitting at", never "what it did".
|
|
863
|
+
*
|
|
864
|
+
* A missing row is not an error here: the Session has a live PTY (the attach
|
|
865
|
+
* proved it), and a Core that does not list it yet will report its status like
|
|
866
|
+
* any other, through the event log this attachment is already listening to.
|
|
867
|
+
*/
|
|
868
|
+
async seedStatus() {
|
|
869
|
+
const sessions = await this.client.sessionsList();
|
|
870
|
+
const mine = sessions.find((s) => s.taskId === this.taskId);
|
|
871
|
+
if (mine)
|
|
872
|
+
this.noteStatus(mine.status, 0);
|
|
873
|
+
}
|
|
621
874
|
/** The next re-ask of a read that failed. Cleared by {@link dispose}. */
|
|
622
875
|
scheduleStatusRetry() {
|
|
623
876
|
if (this.statusRetryTimer)
|
|
@@ -631,22 +884,46 @@ export class CoreSession {
|
|
|
631
884
|
// stay alive.
|
|
632
885
|
this.statusRetryTimer.unref?.();
|
|
633
886
|
}
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
887
|
+
/**
|
|
888
|
+
* Record a status the Core reported, and where in the log it was reported.
|
|
889
|
+
*
|
|
890
|
+
* **A repeated status is still news**, which is why the cursor moves even when
|
|
891
|
+
* the string does not (#289 A). A harness that never moved its Session to
|
|
892
|
+
* `running` ends its second turn by patching `finished` onto a row that
|
|
893
|
+
* already said `finished`; the value did not change, but a turn ended, and a
|
|
894
|
+
* waiter counting from a delivery stamp is waiting for exactly that. What
|
|
895
|
+
* stays gated on a change is {@link onStatus}, which is about the value.
|
|
896
|
+
*/
|
|
897
|
+
noteStatus(status, eventId = 0) {
|
|
898
|
+
const changed = status !== this.lastStatus;
|
|
637
899
|
this.lastStatus = status;
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
900
|
+
if (eventId > this.lastStatusEventId)
|
|
901
|
+
this.lastStatusEventId = eventId;
|
|
902
|
+
if (changed) {
|
|
903
|
+
for (const cb of this.statusListeners) {
|
|
904
|
+
try {
|
|
905
|
+
cb(status);
|
|
906
|
+
}
|
|
907
|
+
catch {
|
|
908
|
+
/* same */
|
|
909
|
+
}
|
|
644
910
|
}
|
|
645
911
|
}
|
|
646
912
|
this.releaseWaiters();
|
|
647
913
|
}
|
|
648
914
|
/** What {@link waitForIdle} would answer right now, or null if it must wait. */
|
|
649
915
|
settledNow() {
|
|
916
|
+
return this.settledSince(0);
|
|
917
|
+
}
|
|
918
|
+
/**
|
|
919
|
+
* What a wait counting from `afterEventId` would answer right now, or null.
|
|
920
|
+
*
|
|
921
|
+
* An **exit** answers every wait, cursor or none: a harness whose process is
|
|
922
|
+
* gone will not report anything else, and a caller left waiting for a status
|
|
923
|
+
* after that waits forever. A status answers a cursored wait only when it was
|
|
924
|
+
* learned after the cursor — a seeded status (event id 0) never does.
|
|
925
|
+
*/
|
|
926
|
+
settledSince(afterEventId) {
|
|
650
927
|
if (this.exit) {
|
|
651
928
|
return {
|
|
652
929
|
status: this.lastStatus ?? "terminated",
|
|
@@ -654,17 +931,38 @@ export class CoreSession {
|
|
|
654
931
|
...(this.exit.exitCode === undefined ? {} : { exitCode: this.exit.exitCode }),
|
|
655
932
|
};
|
|
656
933
|
}
|
|
657
|
-
if (this.lastStatus
|
|
658
|
-
return
|
|
659
|
-
|
|
660
|
-
|
|
934
|
+
if (!this.lastStatus || !SETTLED_SESSION_STATUSES.has(this.lastStatus))
|
|
935
|
+
return null;
|
|
936
|
+
if (afterEventId > 0 && this.lastStatusEventId <= afterEventId)
|
|
937
|
+
return null;
|
|
938
|
+
return { status: this.lastStatus, exited: false };
|
|
661
939
|
}
|
|
662
940
|
releaseWaiters() {
|
|
663
|
-
const
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
941
|
+
for (const waiter of [...this.idleWaiters]) {
|
|
942
|
+
const settled = this.settledSince(waiter.afterEventId);
|
|
943
|
+
if (settled)
|
|
944
|
+
waiter.notify(settled);
|
|
945
|
+
}
|
|
946
|
+
}
|
|
947
|
+
}
|
|
948
|
+
/**
|
|
949
|
+
* The status a `task:updated` event says its mutation **patched**, or null when
|
|
950
|
+
* the event does not say (#289 A).
|
|
951
|
+
*
|
|
952
|
+
* Null is not "no status": it is "this event did not report a turn". A Core that
|
|
953
|
+
* names the patched status makes every turn end legible without a round trip; a
|
|
954
|
+
* Core that does not leaves the caller with `readStatus`, which is a fresher
|
|
955
|
+
* answer to a different question.
|
|
956
|
+
*/
|
|
957
|
+
function patchedStatusOf(event) {
|
|
958
|
+
try {
|
|
959
|
+
const payload = JSON.parse(event.payload);
|
|
960
|
+
return typeof payload.status === "string" ? payload.status : null;
|
|
961
|
+
}
|
|
962
|
+
catch {
|
|
963
|
+
// A payload this side cannot parse is a payload this side knows nothing
|
|
964
|
+
// about — the read path below covers it, which is what it is there for.
|
|
965
|
+
return null;
|
|
668
966
|
}
|
|
669
967
|
}
|
|
670
968
|
/**
|
package/dist/core-session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-session.js","sourceRoot":"","sources":["../src/core-session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core-session.js","sourceRoot":"","sources":["../src/core-session.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED