@tinycloud/courier 0.2.0-beta.31 → 0.2.0-beta.33
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 +76 -8
- package/dist/args.js +1 -1
- package/dist/args.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/keys.d.ts +3 -0
- package/dist/keys.js +3 -0
- package/dist/keys.js.map +1 -1
- package/dist/main.js +12 -3
- package/dist/main.js.map +1 -1
- package/dist/service.d.ts +34 -0
- package/dist/service.js +124 -0
- package/dist/service.js.map +1 -0
- package/dist/wake.d.ts +60 -0
- package/dist/wake.js +206 -0
- package/dist/wake.js.map +1 -1
- package/dist/watch-cmd.d.ts +10 -0
- package/dist/watch-cmd.js +191 -10
- package/dist/watch-cmd.js.map +1 -1
- package/dist/watch.d.ts +41 -2
- package/dist/watch.js +244 -59
- package/dist/watch.js.map +1 -1
- package/package.json +2 -2
package/dist/watch.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { defer } from './defer.js';
|
|
2
|
-
import { decodeTime } from 'ulid';
|
|
2
|
+
import { decodeTime, ulid } from 'ulid';
|
|
3
3
|
import { errInfo, CourierError } from './errors.js';
|
|
4
4
|
import { k, PREFIX } from './keys.js';
|
|
5
|
-
import { isRecord, messageView, taskView } from './a2a.js';
|
|
5
|
+
import { isRecord, messageView, oneLine, taskView } from './a2a.js';
|
|
6
6
|
import { commitReceipts, selectUndelivered } from './inbox.js';
|
|
7
|
-
import { getJson, listAll, putCreate, putMatch, putOverwrite } from './store.js';
|
|
7
|
+
import { del, getJson, listAll, putCreate, putMatch, putOverwrite } from './store.js';
|
|
8
8
|
/** Spec §8. inform and receipts never wake; a message with no valid intent is delivered but never wakes. */
|
|
9
9
|
const WAKE_INTENTS = new Set(['request', 'ask', 'answer', 'update']);
|
|
10
10
|
const TERMINAL_TASK_STATES = new Set([
|
|
@@ -12,6 +12,17 @@ const TERMINAL_TASK_STATES = new Set([
|
|
|
12
12
|
]);
|
|
13
13
|
const WAKEN_MEMORY = 500;
|
|
14
14
|
const WAKE_RETRY_MS = 60_000;
|
|
15
|
+
/** Delay between starting a re-opened subscription and its catch-up list, so the stream is live first. */
|
|
16
|
+
const RECONNECT_CATCH_UP_MS = 2000;
|
|
17
|
+
/** Adapter runs are capped at 30 min in total (`--wake-timeout`, one deadline across all its calls). This profile's own claim is respected 35 min unless its holder is provably gone; another profile's or machine's, 45. */
|
|
18
|
+
const OWN_CLAIM_LEASE_MS = 35 * 60_000;
|
|
19
|
+
/** Another profile or machine: the same plus a margin for clock skew (`at` is the claimer's own clock). */
|
|
20
|
+
const FOREIGN_CLAIM_LEASE_MS = 45 * 60_000;
|
|
21
|
+
/** A thread another watcher is waking is looked at again after this. */
|
|
22
|
+
const CLAIM_SKIP_MS = 30_000;
|
|
23
|
+
const DAY_MS = 24 * 3600 * 1000;
|
|
24
|
+
/** The subject is peer-controlled text that reaches state, prompts and environments: one line, control characters removed, capped. */
|
|
25
|
+
const MAX_SUBJECT = 200;
|
|
15
26
|
/** Thread and message ids come from key names the peer controls; they reach prompts and argv, so only ULID-like ids pass. */
|
|
16
27
|
const SAFE_ID = /^[0-9A-Za-z_-]{1,64}$/;
|
|
17
28
|
export const WATCH_DEFAULTS = { debounceMs: 30_000, pollMs: 60_000, ticketSeconds: 25 };
|
|
@@ -30,6 +41,16 @@ export function sentAtOf(messageId) {
|
|
|
30
41
|
return '';
|
|
31
42
|
}
|
|
32
43
|
}
|
|
44
|
+
/** Signal 0 only probes: ESRCH = gone, EPERM = alive but not ours. */
|
|
45
|
+
function pidAlive(pid) {
|
|
46
|
+
try {
|
|
47
|
+
process.kill(pid, 0);
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
return error.code === 'EPERM';
|
|
52
|
+
}
|
|
53
|
+
}
|
|
33
54
|
function sleep(ms, signal) {
|
|
34
55
|
const { promise, resolve } = defer();
|
|
35
56
|
if (signal.aborted)
|
|
@@ -49,6 +70,15 @@ export class Watcher {
|
|
|
49
70
|
state = emptyWatchState();
|
|
50
71
|
retryAt = new Map();
|
|
51
72
|
waking = new Set();
|
|
73
|
+
/** Unique to this run: a claim with this id is this process's own. */
|
|
74
|
+
runId = ulid();
|
|
75
|
+
profileId;
|
|
76
|
+
pid;
|
|
77
|
+
isAlive;
|
|
78
|
+
lastClaimPrune = 0;
|
|
79
|
+
/** Set when another watcher is writing this profile's state: this one stops and `run` throws it. */
|
|
80
|
+
fatalError;
|
|
81
|
+
onFatal;
|
|
52
82
|
/** Etag of me/state/watch.json as this watcher last saw it: null = absent, undefined = unknown (fetch before writing). */
|
|
53
83
|
stateEtag;
|
|
54
84
|
taskCache = new Map();
|
|
@@ -60,6 +90,9 @@ export class Watcher {
|
|
|
60
90
|
this.deps = deps;
|
|
61
91
|
this.opts = opts;
|
|
62
92
|
this.now = deps.now ?? Date.now;
|
|
93
|
+
this.profileId = deps.holder?.profileId ?? this.runId;
|
|
94
|
+
this.pid = deps.holder?.pid ?? process.pid;
|
|
95
|
+
this.isAlive = deps.holder?.isAlive ?? pidAlive;
|
|
63
96
|
}
|
|
64
97
|
// ---------- state ----------
|
|
65
98
|
async loadState() {
|
|
@@ -92,8 +125,7 @@ export class Watcher {
|
|
|
92
125
|
}
|
|
93
126
|
catch (error) {
|
|
94
127
|
if (error instanceof CourierError && error.code === 'conflict') {
|
|
95
|
-
this.
|
|
96
|
-
throw new CourierError('state-conflict', 'me/state/watch.json changed under this watcher; is a second `watch` running for this profile?');
|
|
128
|
+
throw this.stateConflict('me/state/watch.json was changed by another process; a second `watch` is running for this profile. This watcher is stopping.');
|
|
97
129
|
}
|
|
98
130
|
throw error;
|
|
99
131
|
}
|
|
@@ -102,6 +134,103 @@ export class Watcher {
|
|
|
102
134
|
this.stateQueue = run.catch(() => undefined);
|
|
103
135
|
return run;
|
|
104
136
|
}
|
|
137
|
+
/** Another watcher owns this profile's state. Carrying on would double-wake and overwrite its pending wakes: stop. */
|
|
138
|
+
stateConflict(message) {
|
|
139
|
+
const conflict = new CourierError('state-conflict', message);
|
|
140
|
+
this.fatalError ??= conflict;
|
|
141
|
+
this.onFatal?.();
|
|
142
|
+
return conflict;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* One create-only marker per wake (keyed by the first message or approval it carries), so a second watcher that
|
|
146
|
+
* runs while this one's wake is in flight cannot wake the same thing. The marker names its holder
|
|
147
|
+
* (`profile`, `run`, `pid`):
|
|
148
|
+
* - this run's own marker: reuse it;
|
|
149
|
+
* - same profile and machine, holder pid gone or equal to ours (restart, crash, reboot, pid 1 in a container): take it over at once;
|
|
150
|
+
* - same profile and machine, holder pid alive and different: another watcher is running now: skip the thread (the
|
|
151
|
+
* state etag stops the loser when it writes state), unless the claim outlived the own lease (pid reuse);
|
|
152
|
+
* - another profile or machine: skip until the lease (plus clock-skew margin) runs out, then take it over.
|
|
153
|
+
* Returns false when the thread must be skipped this tick. Markers are deleted when the adapter fails.
|
|
154
|
+
*/
|
|
155
|
+
async claimWake(peer, threadId, firstId) {
|
|
156
|
+
const { selfKv, log } = this.deps;
|
|
157
|
+
const key = k.wakeClaim(peer, threadId, firstId);
|
|
158
|
+
const claim = { v: 1, profile: this.profileId, run: this.runId, pid: this.pid, at: new Date(this.now()).toISOString() };
|
|
159
|
+
for (let attempt = 0; attempt < 2; attempt++) {
|
|
160
|
+
try {
|
|
161
|
+
await putCreate(selfKv, key, claim);
|
|
162
|
+
return true;
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
if (!(error instanceof CourierError && error.code === 'conflict'))
|
|
166
|
+
throw error;
|
|
167
|
+
}
|
|
168
|
+
const existing = await getJson(selfKv, key);
|
|
169
|
+
if (!existing)
|
|
170
|
+
continue; // released between our two calls
|
|
171
|
+
const held = existing.value;
|
|
172
|
+
let takeOver;
|
|
173
|
+
if (held.run === this.runId)
|
|
174
|
+
return true;
|
|
175
|
+
const age = typeof held.at === 'string' ? this.now() - Date.parse(held.at) : Infinity;
|
|
176
|
+
if (held.profile === this.profileId) {
|
|
177
|
+
// Same profile, same machine, so the same clock. A pid proves liveness only while it is not reused: a live pid
|
|
178
|
+
// that is not a watcher (pid reuse, another user's process), or this very pid number (pid 1 in a container
|
|
179
|
+
// after a restart), would otherwise stall the thread, so the own-profile lease is the backstop.
|
|
180
|
+
if (typeof held.pid !== 'number')
|
|
181
|
+
takeOver = 'no-pid';
|
|
182
|
+
else if (held.pid === this.pid)
|
|
183
|
+
takeOver = 'same-pid';
|
|
184
|
+
else if (!this.isAlive(held.pid))
|
|
185
|
+
takeOver = 'holder-dead';
|
|
186
|
+
else if (!(age < OWN_CLAIM_LEASE_MS))
|
|
187
|
+
takeOver = 'own-lease-expired';
|
|
188
|
+
}
|
|
189
|
+
else if (!(age < FOREIGN_CLAIM_LEASE_MS)) {
|
|
190
|
+
takeOver = 'lease-expired';
|
|
191
|
+
}
|
|
192
|
+
if (takeOver && existing.etag) {
|
|
193
|
+
try {
|
|
194
|
+
await putMatch(selfKv, key, claim, existing.etag);
|
|
195
|
+
log('claim-taken-over', { peer, threadId, reason: takeOver });
|
|
196
|
+
return true;
|
|
197
|
+
}
|
|
198
|
+
catch (error) {
|
|
199
|
+
if (!(error instanceof CourierError && error.code === 'conflict'))
|
|
200
|
+
throw error;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
break;
|
|
204
|
+
}
|
|
205
|
+
log('claimed-elsewhere', { peer, threadId, messageId: firstId });
|
|
206
|
+
return false;
|
|
207
|
+
}
|
|
208
|
+
/** Drops this run's own claim (best effort): a failed wake must not keep the thread from being woken. */
|
|
209
|
+
async releaseClaim(peer, threadId, firstId) {
|
|
210
|
+
const key = k.wakeClaim(peer, threadId, firstId);
|
|
211
|
+
try {
|
|
212
|
+
const existing = await getJson(this.deps.selfKv, key);
|
|
213
|
+
if (existing?.value.run === this.runId)
|
|
214
|
+
await del(this.deps.selfKv, key);
|
|
215
|
+
}
|
|
216
|
+
catch (error) {
|
|
217
|
+
this.deps.log('sync-error', { source: 'claim-release', ...errInfo(error) });
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
/** Claim markers are only needed while a double wake is possible; drop those older than two days. */
|
|
221
|
+
async pruneClaims() {
|
|
222
|
+
try {
|
|
223
|
+
for (const key of await listAll(this.deps.selfKv, k.wakeClaimsPrefix)) {
|
|
224
|
+
const id = /\/([^/]+)\.json$/.exec(key)?.[1];
|
|
225
|
+
const sentAt = id ? Date.parse(sentAtOf(id)) : NaN;
|
|
226
|
+
if (Number.isFinite(sentAt) && this.now() - sentAt > 2 * DAY_MS)
|
|
227
|
+
await del(this.deps.selfKv, key);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
catch (error) {
|
|
231
|
+
this.deps.log('sync-error', { source: 'claims', ...errInfo(error) });
|
|
232
|
+
}
|
|
233
|
+
}
|
|
105
234
|
// ---------- catch-up and delivery ----------
|
|
106
235
|
/** Serialises syncs per peer; a request that arrives mid-sync reruns once after it. */
|
|
107
236
|
async sync(peer, via) {
|
|
@@ -164,7 +293,7 @@ export class Watcher {
|
|
|
164
293
|
const subjects = new Map();
|
|
165
294
|
for (const threadId of new Set(delivered.map((d) => d.threadId))) {
|
|
166
295
|
const meta = await getJson(peerKv, `${PREFIX}/to/${mailbox}/threads/${threadId}/meta.json`).catch(() => undefined);
|
|
167
|
-
subjects.set(threadId, isRecord(meta?.value) && typeof meta.value.subject === 'string' ? meta.value.subject : '(no subject)');
|
|
296
|
+
subjects.set(threadId, isRecord(meta?.value) && typeof meta.value.subject === 'string' ? oneLine(meta.value.subject, MAX_SUBJECT) : '(no subject)');
|
|
168
297
|
}
|
|
169
298
|
const at = this.now();
|
|
170
299
|
for (const item of delivered) {
|
|
@@ -218,6 +347,8 @@ export class Watcher {
|
|
|
218
347
|
async mirrorThreadItem(peer, peerKv, key) {
|
|
219
348
|
const meta = /\/threads\/([^/]+)\/meta\.json$/.exec(key);
|
|
220
349
|
if (meta) {
|
|
350
|
+
if (!SAFE_ID.test(meta[1]))
|
|
351
|
+
return;
|
|
221
352
|
if (this.metaMirrored.has(key))
|
|
222
353
|
return;
|
|
223
354
|
const got = await getJson(peerKv, key);
|
|
@@ -228,7 +359,7 @@ export class Watcher {
|
|
|
228
359
|
return;
|
|
229
360
|
}
|
|
230
361
|
const task = /\/threads\/([^/]+)\/task\/([^/]+)\.json$/.exec(key);
|
|
231
|
-
if (!task)
|
|
362
|
+
if (!task || !SAFE_ID.test(task[1]) || !SAFE_ID.test(task[2]))
|
|
232
363
|
return;
|
|
233
364
|
const cached = this.taskCache.get(key);
|
|
234
365
|
if (cached?.terminal)
|
|
@@ -265,6 +396,8 @@ export class Watcher {
|
|
|
265
396
|
// ---------- wake ----------
|
|
266
397
|
/** Wake every thread whose debounce has elapsed (`force`: all of them now). Threads wake in parallel, one wake per thread at a time. */
|
|
267
398
|
async tick(force = false) {
|
|
399
|
+
if (this.fatalError)
|
|
400
|
+
return;
|
|
268
401
|
const at = this.now();
|
|
269
402
|
const runs = [];
|
|
270
403
|
for (const [key, pending] of Object.entries(this.state.pending)) {
|
|
@@ -283,16 +416,39 @@ export class Watcher {
|
|
|
283
416
|
// Messages that land while the wake runs stay pending for the next one, so wake exactly this snapshot.
|
|
284
417
|
const messages = [...pending.messages];
|
|
285
418
|
const woken = messages.map((m) => m.messageId);
|
|
419
|
+
const oldestSentAt = messages[0]?.sentAt ?? '';
|
|
420
|
+
// The per-wake claim goes first: a watcher that loses it skips the thread without having written the state, which
|
|
421
|
+
// would otherwise make the watcher that legitimately owns the wake fail its next conditional write. Then the
|
|
422
|
+
// state write: a stale second watcher fails that conditional write and stops before it can wake.
|
|
423
|
+
const claimId = woken[0];
|
|
424
|
+
if (!(await this.claimWake(pending.peer, pending.threadId, claimId))) {
|
|
425
|
+
this.retryAt.set(key, at + CLAIM_SKIP_MS);
|
|
426
|
+
return;
|
|
427
|
+
}
|
|
428
|
+
try {
|
|
429
|
+
await this.mutate(() => { });
|
|
430
|
+
}
|
|
431
|
+
catch (error) {
|
|
432
|
+
await this.releaseClaim(pending.peer, pending.threadId, claimId);
|
|
433
|
+
throw error;
|
|
434
|
+
}
|
|
435
|
+
const startedAt = this.now();
|
|
436
|
+
// `waking` is when the adapter is invoked: the send-to-wake latency. `woke` follows when the adapter returns.
|
|
437
|
+
this.deps.log('waking', {
|
|
438
|
+
peer: pending.peer, threadId: pending.threadId, messageIds: woken,
|
|
439
|
+
oldestSentAt: oldestSentAt || null,
|
|
440
|
+
wakeLatencyMs: oldestSentAt ? startedAt - Date.parse(oldestSentAt) : null,
|
|
441
|
+
});
|
|
286
442
|
try {
|
|
287
443
|
await this.deps.wake({ peer: pending.peer, threadId: pending.threadId, subject: pending.subject, messages });
|
|
288
444
|
}
|
|
289
445
|
catch (error) {
|
|
290
446
|
this.retryAt.set(key, at + WAKE_RETRY_MS);
|
|
291
447
|
this.deps.log('wake-error', { peer: pending.peer, threadId: pending.threadId, ...errInfo(error) });
|
|
448
|
+
// The attempt failed, so the thread is not being woken: release the claim (a restart must not wait for it).
|
|
449
|
+
await this.releaseClaim(pending.peer, pending.threadId, claimId);
|
|
292
450
|
return;
|
|
293
451
|
}
|
|
294
|
-
this.retryAt.delete(key);
|
|
295
|
-
const oldestSentAt = messages[0]?.sentAt ?? '';
|
|
296
452
|
await this.mutate(() => {
|
|
297
453
|
const current = this.state.pending[key];
|
|
298
454
|
if (current) {
|
|
@@ -302,10 +458,11 @@ export class Watcher {
|
|
|
302
458
|
}
|
|
303
459
|
this.state.woken = [...this.state.woken, ...woken].slice(-WAKEN_MEMORY);
|
|
304
460
|
});
|
|
461
|
+
// Only now, with the wake recorded, is the retry hold-off cleared.
|
|
462
|
+
this.retryAt.delete(key);
|
|
305
463
|
this.deps.log('woke', {
|
|
306
464
|
peer: pending.peer, threadId: pending.threadId, messageIds: woken,
|
|
307
|
-
|
|
308
|
-
wakeLatencyMs: oldestSentAt ? this.now() - Date.parse(oldestSentAt) : null,
|
|
465
|
+
runMs: this.now() - startedAt,
|
|
309
466
|
});
|
|
310
467
|
}
|
|
311
468
|
// ---------- run loop ----------
|
|
@@ -313,65 +470,91 @@ export class Watcher {
|
|
|
313
470
|
await Promise.all(this.deps.loadPeers().map((peer) => this.sync(peer, via)));
|
|
314
471
|
await this.syncApprovals(via);
|
|
315
472
|
}
|
|
316
|
-
/**
|
|
317
|
-
|
|
473
|
+
/**
|
|
474
|
+
* Runs until `signal` aborts. With `once`, does one catch-up and wakes everything immediately. Throws
|
|
475
|
+
* `state-conflict` (after stopping everything) if another watcher is writing this profile's state.
|
|
476
|
+
*/
|
|
477
|
+
async run(external, options = {}) {
|
|
318
478
|
const { log } = this.deps;
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
479
|
+
const stop = new AbortController();
|
|
480
|
+
const signal = stop.signal;
|
|
481
|
+
const onExternalAbort = () => stop.abort();
|
|
482
|
+
external.addEventListener('abort', onExternalAbort, { once: true });
|
|
483
|
+
if (external.aborted)
|
|
484
|
+
stop.abort();
|
|
485
|
+
this.onFatal = () => stop.abort();
|
|
326
486
|
const supervisors = new Map();
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
487
|
+
let ticker;
|
|
488
|
+
try {
|
|
489
|
+
await this.loadState();
|
|
490
|
+
log('start', { debounceMs: this.opts.debounceMs, pollMs: this.opts.pollMs, ticketSeconds: this.opts.ticketSeconds, once: Boolean(options.once) });
|
|
491
|
+
await this.pruneClaims();
|
|
492
|
+
this.lastClaimPrune = this.now();
|
|
493
|
+
const reconcile = () => {
|
|
494
|
+
const desired = new Map();
|
|
495
|
+
for (const peer of this.deps.loadPeers()) {
|
|
496
|
+
if (peer.status !== 'paired' || !peer.inbound || !peer.theirHandleForMe)
|
|
497
|
+
continue;
|
|
498
|
+
// The id carries the delegation CID: a renewed delegation restarts the subscription.
|
|
499
|
+
desired.set(`peer:${peer.handle}:${peer.inbound.cid}`, {
|
|
500
|
+
sub: { space: peer.spaceId, service: 'kv', pathPrefix: `${PREFIX}/to/${peer.theirHandleForMe}` },
|
|
501
|
+
hooks: () => this.deps.peerHooks(peer),
|
|
502
|
+
onEvent: () => void this.sync(peer, 'hook'),
|
|
503
|
+
});
|
|
504
|
+
}
|
|
505
|
+
desired.set('approvals', {
|
|
506
|
+
sub: { space: this.deps.spaceId, service: 'kv', pathPrefix: k.approvalsPrefix },
|
|
507
|
+
hooks: async () => this.deps.selfHooks,
|
|
508
|
+
onEvent: () => void this.syncApprovals('hook'),
|
|
337
509
|
});
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
});
|
|
344
|
-
for (const [id, controller] of supervisors) {
|
|
345
|
-
if (!desired.has(id)) {
|
|
346
|
-
controller.abort();
|
|
347
|
-
supervisors.delete(id);
|
|
510
|
+
for (const [id, controller] of supervisors) {
|
|
511
|
+
if (!desired.has(id)) {
|
|
512
|
+
controller.abort();
|
|
513
|
+
supervisors.delete(id);
|
|
514
|
+
}
|
|
348
515
|
}
|
|
516
|
+
for (const [id, source] of desired) {
|
|
517
|
+
if (supervisors.has(id))
|
|
518
|
+
continue;
|
|
519
|
+
const controller = new AbortController();
|
|
520
|
+
supervisors.set(id, controller);
|
|
521
|
+
void this.supervise(id, source.sub, source.hooks, source.onEvent, controller.signal);
|
|
522
|
+
}
|
|
523
|
+
};
|
|
524
|
+
if (options.once) {
|
|
525
|
+
await this.pollOnce('startup');
|
|
526
|
+
await this.tick(true);
|
|
349
527
|
}
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
continue;
|
|
353
|
-
const controller = new AbortController();
|
|
354
|
-
supervisors.set(id, controller);
|
|
355
|
-
void this.supervise(id, source.sub, source.hooks, source.onEvent, controller.signal);
|
|
356
|
-
}
|
|
357
|
-
};
|
|
358
|
-
reconcile();
|
|
359
|
-
const ticker = setInterval(() => void this.tick().catch((e) => log('wake-error', errInfo(e))), 1000);
|
|
360
|
-
try {
|
|
361
|
-
while (!signal.aborted) {
|
|
362
|
-
await sleep(this.opts.pollMs, signal);
|
|
363
|
-
if (signal.aborted)
|
|
364
|
-
break;
|
|
528
|
+
else {
|
|
529
|
+
// Open the subscriptions first, then catch up: a write between the two is seen by one or the other.
|
|
365
530
|
reconcile();
|
|
366
|
-
await
|
|
531
|
+
await sleep(RECONNECT_CATCH_UP_MS, signal);
|
|
532
|
+
if (!signal.aborted)
|
|
533
|
+
await this.pollOnce('startup');
|
|
534
|
+
ticker = setInterval(() => void this.tick().catch((e) => log('wake-error', errInfo(e))), 1000);
|
|
535
|
+
while (!signal.aborted) {
|
|
536
|
+
await sleep(this.opts.pollMs, signal);
|
|
537
|
+
if (signal.aborted)
|
|
538
|
+
break;
|
|
539
|
+
reconcile();
|
|
540
|
+
await this.pollOnce('poll');
|
|
541
|
+
if (this.now() - this.lastClaimPrune > 3600_000) {
|
|
542
|
+
this.lastClaimPrune = this.now();
|
|
543
|
+
await this.pruneClaims();
|
|
544
|
+
}
|
|
545
|
+
}
|
|
367
546
|
}
|
|
368
547
|
}
|
|
369
548
|
finally {
|
|
370
549
|
clearInterval(ticker);
|
|
371
550
|
for (const controller of supervisors.values())
|
|
372
551
|
controller.abort();
|
|
552
|
+
external.removeEventListener('abort', onExternalAbort);
|
|
553
|
+
this.onFatal = undefined;
|
|
373
554
|
log('stop');
|
|
374
555
|
}
|
|
556
|
+
if (this.fatalError)
|
|
557
|
+
throw this.fatalError;
|
|
375
558
|
}
|
|
376
559
|
/** One hook subscription. A refused ticket (revoked or expired delegation) backs off; the poll covers meanwhile. */
|
|
377
560
|
async supervise(id, sub, hooks, onEvent, signal) {
|
|
@@ -380,10 +563,12 @@ export class Watcher {
|
|
|
380
563
|
while (!signal.aborted) {
|
|
381
564
|
try {
|
|
382
565
|
this.deps.log('hook-subscribe', { source: id.split(':').slice(0, 2).join(':'), ttlSeconds: this.opts.ticketSeconds });
|
|
383
|
-
// Spec §8.2: catch up on every (re)connect, since hooks have no replay.
|
|
384
|
-
//
|
|
566
|
+
// Spec §8.2: catch up on every (re)connect, since hooks have no replay. The catch-up runs after the
|
|
567
|
+
// subscription below has been started, so a write in between is seen by one or the other. (The SDK's own
|
|
568
|
+
// ticket reopen is invisible here; the poll covers those gaps.)
|
|
385
569
|
if (opened)
|
|
386
|
-
|
|
570
|
+
void sleep(RECONNECT_CATCH_UP_MS, signal).then(() => { if (!signal.aborted)
|
|
571
|
+
onEvent(); });
|
|
387
572
|
opened = true;
|
|
388
573
|
const service = await hooks();
|
|
389
574
|
for await (const event of service.subscribe([sub], { ttlSeconds: this.opts.ticketSeconds, signal })) {
|
package/dist/watch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../src/watch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../src/watch.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tinycloud/courier",
|
|
3
|
-
"version": "0.2.0-beta.
|
|
3
|
+
"version": "0.2.0-beta.33",
|
|
4
4
|
"description": "Courier: agent-to-agent threads over TinyCloud (CLI, library and agent skill)",
|
|
5
5
|
"author": "TinyCloud, Inc.",
|
|
6
6
|
"type": "module",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"test:live": "tsc -p tsconfig.json && node scripts/happy-path.mjs"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@tinycloud/node-sdk": "3.3.0-beta.
|
|
33
|
+
"@tinycloud/node-sdk": "3.3.0-beta.34",
|
|
34
34
|
"ulid": "^3.0.2"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|