@catalyst-cloud/sdk 0.16.0 → 0.16.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/dist/events.js CHANGED
@@ -1,15 +1,19 @@
1
1
  import { mkdir, open, readFile, readdir, rename, rm, stat, truncate, watch, writeFile, } from "node:fs/promises";
2
2
  import { homedir } from "node:os";
3
3
  import { join } from "node:path";
4
+ import { EventsChannelClient, globalWebSocketFactory, } from "./events-socket.js";
4
5
  import { claimWriterLock, } from "./replica/writer-lock.js";
6
+ export { EventsChannelClient, eventsSocketUrl, } from "./events-socket.js";
5
7
  const HEAD_HEADER = "x-catalyst-event-backbone-head-seq";
6
8
  const MAX_EVENT_LINE_BYTES = 1024 * 1024;
7
9
  const DEFAULT_REQUEST_TIMEOUT_MS = 15_000;
8
- const DEFAULT_IDLE_MIN_MS = 1_000;
10
+ const DEFAULT_IDLE_MIN_MS = 5_000;
9
11
  const DEFAULT_IDLE_MAX_MS = 30_000;
10
12
  const DEFAULT_RETAIN_DAYS = 7;
11
13
  const DEFAULT_MAX_CACHE_BYTES = 256 * 1024 * 1024;
12
14
  const SEGMENT_PATTERN = /^\d{4}-\d{2}-\d{2}(?:-\d{3})?\.jsonl$/;
15
+ /** Backbone pages one catch-up may read before handing back to the loop. */
16
+ const MAX_CATCH_UP_PAGES = 20;
13
17
  export class EventHistoryGapError extends Error {
14
18
  head;
15
19
  resumeFrom;
@@ -253,6 +257,10 @@ export class CatalystEventSync {
253
257
  running = null;
254
258
  recoveredCursor = null;
255
259
  floor = -1;
260
+ socket = null;
261
+ /** The socket generation the cache last caught up under; a new one needs a backbone catch-up. */
262
+ syncedGeneration = -1;
263
+ catchUpPending = false;
256
264
  current = {
257
265
  state: "stopped",
258
266
  cursor: null,
@@ -284,7 +292,10 @@ export class CatalystEventSync {
284
292
  cursor = await this.readCurrentHead(signal);
285
293
  this.floor = cursor;
286
294
  }
287
- const result = await this.readPage(cursor, signal);
295
+ const live = this.socket?.state === "live";
296
+ const result = live
297
+ ? await this.readPushed(cursor, signal)
298
+ : { ...(await this.readPage(cursor, signal)), through: null };
288
299
  const now = this.now();
289
300
  const maxCacheBytes = this.options.maxCacheBytes ?? DEFAULT_MAX_CACHE_BYTES;
290
301
  let segment = segmentName(now);
@@ -293,6 +304,9 @@ export class CatalystEventSync {
293
304
  cursor = result.rows[result.rows.length - 1].event.sequence;
294
305
  this.recoveredCursor = cursor;
295
306
  }
307
+ // Every sequence through a pushed frame's `through` was scanned, events or not.
308
+ if (result.through !== null && result.through > cursor)
309
+ cursor = result.through;
296
310
  this.floor = await retainBoundedSegments(this.paths.directory, now, this.options.retainDays ?? DEFAULT_RETAIN_DAYS, maxCacheBytes, segment, this.floor);
297
311
  await writeJsonAtomic(this.paths.cursor, {
298
312
  version: 1,
@@ -305,6 +319,7 @@ export class CatalystEventSync {
305
319
  head: result.head,
306
320
  lastSyncAt: this.now().toISOString(),
307
321
  error: null,
322
+ transport: live ? "push" : "poll",
308
323
  };
309
324
  return { appended: result.rows.length, cursor, head: result.head };
310
325
  }
@@ -313,6 +328,7 @@ export class CatalystEventSync {
313
328
  return this.running;
314
329
  this.controller = new AbortController();
315
330
  this.running = this.loop(this.controller.signal).finally(() => {
331
+ this.closeSocket();
316
332
  if (this.current.state !== "failed")
317
333
  this.current = { ...this.current, state: "stopped" };
318
334
  this.lock?.release();
@@ -326,6 +342,7 @@ export class CatalystEventSync {
326
342
  async stop() {
327
343
  const controller = this.controller;
328
344
  if (!this.running) {
345
+ this.closeSocket();
329
346
  this.lock?.release();
330
347
  this.lock = null;
331
348
  this.current = { ...this.current, state: "stopped" };
@@ -345,12 +362,17 @@ export class CatalystEventSync {
345
362
  const maxIdle = this.options.idleMaxMs ?? DEFAULT_IDLE_MAX_MS;
346
363
  try {
347
364
  while (!signal.aborted) {
365
+ let failed = false;
348
366
  try {
367
+ const live = this.socket?.state === "live";
349
368
  const result = await this.syncOnce(signal);
350
369
  idle =
351
370
  result.appended > 0
352
371
  ? (this.options.idleMinMs ?? DEFAULT_IDLE_MIN_MS)
353
372
  : Math.min(maxIdle, idle * 2);
373
+ // A partial catch-up goes straight on to the next page.
374
+ if (live && this.catchUpPending)
375
+ continue;
354
376
  }
355
377
  catch (error) {
356
378
  if (error instanceof EventHistoryGapError ||
@@ -362,8 +384,18 @@ export class CatalystEventSync {
362
384
  error: error instanceof Error ? error.message : String(error),
363
385
  };
364
386
  idle = Math.min(maxIdle, idle * 2);
387
+ failed = true;
388
+ }
389
+ if (failed) {
390
+ // A failed read backs off whatever the socket says: a pending catch-up would otherwise
391
+ // end every wait at once and retry the backbone with no pause.
392
+ this.ensureSocket();
393
+ await this.sleeper(idle, signal);
394
+ }
395
+ else {
396
+ // While the socket is live a wait costs no request, so wait the longest; a frame ends it early.
397
+ await this.waitForChange(this.socket?.state === "live" ? maxIdle : idle, signal);
365
398
  }
366
- await this.sleeper(idle, signal);
367
399
  }
368
400
  }
369
401
  catch (error) {
@@ -377,6 +409,132 @@ export class CatalystEventSync {
377
409
  throw error;
378
410
  }
379
411
  }
412
+ /**
413
+ * Wait up to `maxMs` for something to sync: a pushed frame, or the events socket going live (which
414
+ * needs a catch-up). Opens the events socket on first call when push is on. Resolves true when a
415
+ * change ended the wait, false on timeout; rejects only when `signal` aborts. Without a socket it
416
+ * is a plain sleep, so a caller's own loop can use it either way.
417
+ */
418
+ async waitForChange(maxMs, signal) {
419
+ const socket = this.ensureSocket();
420
+ if (!socket) {
421
+ await this.sleeper(maxMs, signal);
422
+ return false;
423
+ }
424
+ if (socket.hasPending() || this.needsCatchUp(socket))
425
+ return true;
426
+ const waker = new AbortController();
427
+ const woke = socket.changed(waker.signal).then(() => true);
428
+ const slept = this.sleeper(maxMs, AbortSignal.any([signal, waker.signal])).then(() => false, (error) => {
429
+ if (signal.aborted)
430
+ throw error;
431
+ return true;
432
+ });
433
+ try {
434
+ return await Promise.race([woke, slept]);
435
+ }
436
+ finally {
437
+ waker.abort();
438
+ }
439
+ }
440
+ ensureSocket() {
441
+ if (this.socket)
442
+ return this.socket;
443
+ if (this.options.push === false)
444
+ return null;
445
+ const wsFactory = this.options.wsFactory ?? globalWebSocketFactory();
446
+ if (!wsFactory)
447
+ return null;
448
+ this.socket = new EventsChannelClient({
449
+ baseUrl: this.options.baseUrl.replace(/\/$/, ""),
450
+ auth: this.options.auth,
451
+ tenantId: this.options.tenantId,
452
+ wsFactory,
453
+ ...this.options.socket,
454
+ });
455
+ this.socket.start();
456
+ return this.socket;
457
+ }
458
+ closeSocket() {
459
+ this.socket?.stop();
460
+ this.socket = null;
461
+ this.syncedGeneration = -1;
462
+ this.catchUpPending = false;
463
+ }
464
+ needsCatchUp(socket) {
465
+ return socket.state === "live" && (socket.generation !== this.syncedGeneration || this.catchUpPending);
466
+ }
467
+ /**
468
+ * The push path. Apply buffered frames that chain from the cursor with no request. Read the backbone
469
+ * from the cursor instead when this socket generation has not caught up yet (subscribe first: the
470
+ * frames buffered meanwhile are deduped by sequence after), when a frame starts past the cursor, is
471
+ * flagged `gap`, or carries an event without its payload, or when the buffer overflowed.
472
+ */
473
+ async readPushed(cursor, signal) {
474
+ const socket = this.socket;
475
+ const batch = socket.take();
476
+ let catchUp = batch.overflowed || this.needsCatchUp(socket);
477
+ // Until this read succeeds, the next one must catch up: the frames taken here are gone.
478
+ this.catchUpPending = true;
479
+ const rows = [];
480
+ let head = this.current.head ?? cursor;
481
+ let pending = batch.frames;
482
+ let pages = 0;
483
+ for (;;) {
484
+ const applied = this.applyFrames(cursor, pending);
485
+ rows.push(...applied.rows);
486
+ cursor = applied.cursor;
487
+ head = Math.max(head, cursor);
488
+ pending = applied.rest;
489
+ if (!catchUp && !applied.broken)
490
+ break;
491
+ catchUp = false;
492
+ // Everything a frame carried is already in the backbone, so reading from the cursor covers the
493
+ // frame that broke the chain too; the frames after it are then deduped by sequence.
494
+ for (;;) {
495
+ const page = await this.readPage(cursor, signal);
496
+ pages++;
497
+ rows.push(...page.rows);
498
+ if (page.rows.length > 0)
499
+ cursor = page.rows[page.rows.length - 1].event.sequence;
500
+ head = Math.max(head, page.head);
501
+ if (page.rows.length === 0 || cursor >= page.head)
502
+ break;
503
+ if (pages >= MAX_CATCH_UP_PAGES) {
504
+ // Leave the rest to the next sync; the loop runs it at once.
505
+ return { head, through: cursor, rows };
506
+ }
507
+ }
508
+ }
509
+ this.syncedGeneration = batch.generation;
510
+ this.catchUpPending = false;
511
+ return { head, through: cursor, rows };
512
+ }
513
+ /** Apply frames that chain from `cursor`; stop at the first one that does not. */
514
+ applyFrames(cursor, frames) {
515
+ const rows = [];
516
+ for (let index = 0; index < frames.length; index++) {
517
+ const frame = frames[index];
518
+ if (frame.through <= cursor)
519
+ continue;
520
+ const fresh = frame.events.filter((value) => value?.sequence > cursor);
521
+ if (frame.gap ||
522
+ frame.after > cursor ||
523
+ fresh.some((value) => value.payloadOmitted === true))
524
+ return { cursor, rows, broken: true, rest: frames.slice(index + 1) };
525
+ for (const value of fresh) {
526
+ const event = parseEvent(value);
527
+ if (event.tenantId !== this.options.tenantId)
528
+ throw new Error("event sync: tenant mismatch");
529
+ if (event.sequence <= cursor || event.sequence > frame.through)
530
+ throw new Error("event sync: non-monotonic sequence");
531
+ rows.push({ event, line: JSON.stringify(event) });
532
+ cursor = event.sequence;
533
+ }
534
+ cursor = frame.through;
535
+ }
536
+ return { cursor, rows, broken: false, rest: [] };
537
+ }
380
538
  async request(since, signal) {
381
539
  const timeout = AbortSignal.timeout(this.options.requestTimeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS);
382
540
  const token = this.options.auth.kind === "token"
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,4 +4,6 @@ export { DEFAULT_SCOPE_NAME, CATALYST_ATTR, REPLICA_METRIC, REPLICA_LOG, REPLICA
4
4
  export { createTenantClient, memoryContractCache, normalizeBaseUrl, DEFAULT_TIMEOUT_MS, NEXT_CURSOR_HEADER, HEAD_SEQ_HEADER, TOTAL_HEADER, SCOPE_HEADER, BLOCKED_ON_ASK_TOTAL_HEADER, CONTRACT_VERSION_HEADER, type TenantClient, type TenantClientOptions, type TenantClientBaseOptions, type TenantClientFailure, type TeamWorkflowFailure, type TeamWorkflowResult, type TeamWorkflowReadiness, type TeamReadinessCheck, type TeamWorkflowSlot, type TeamWorkflowStage, type TeamWorkflowRow, type TeamWorkflowSummary, type TeamList, type TeamWorkflowView, type TeamWorkflowSaveResult, type TeamMappingRowInput, type TeamMappingSaveInput, type TeamMigrationChoice, type TeamMigrationSource, type TeamMigrationPlan, type TeamAdoptResult, type TeamUndoPreview, type TeamUndoResult, type TeamMigrationChunk, type TeamMigrationRetire, type ProjectWipLimit, type ContractCacheEntry, type ContractCacheStore, type ContractOptions, type ContractResult, type ContractFailure, pageCursor, type PageCursor, type KeysetPageMeta, type IssueListParams, type IssueListResult, type IssueGetResult, type PullListParams, type PullListResult, type PullGetResult, type ProjectListParams, type ProjectListResult, type MeResult, type TicketExecutionReport, type TicketExecutionResult, type IssueGetProjection, type IssueExecutionProjection, type ReadSelectOptions, type IssueGetOptions, type IssueExecutionOptions, type ReadSelectRefusal, type ProjectedIssueDetail, type IssueGetProjectedResult, type TicketExecutionProjectedResult, type EventQueryParams, type EventQueryCursor, type EventIndexCoverage, type QueriedEvent, type QueriedBackboneEvent, type QueriedEventStub, type EventQueryResult, type TicketRepairLoop, type IssueDetail, type WorkEligibilityReport, type WorkEligibilityResult, type DispatchQueueEnvelope, type DispatchQueueResult, type FleetActivityResult, type AgentRosterResult, type LeaseAttributionsResult, type CodingAccountsReport, type CodingAccountsResult, type CycleRow, type CyclesListResult, type SearchParams, type SearchResults, type SearchResult, type WorkflowStagesResult, type ChangesStreamResult, type ChangesListResult, type SnapshotHeadResult, type RawRequest, type RawRequestResult, type PersonalConnectionProvider, type PersonalConnectionStartResult, type PersonalConnectionStatusResult, AGENT_ROUTE_NAMES, type AgentRouteName, type AgentCallFailure, type ProxiedWriteOutcome, type ProxiedWriteBody, type IssueStateInput, type IssueStateResult, type IssueLabelInput, type IssueLabelItemResult, type IssueLabelResult, type IssueCommentInput, type IssueCommentResult, type IssueCreateInput, type IssueCreateResult, type ReactionInput, type ReactionResult, type ProxiedAttachment, type AttachmentInput, type AttachmentResult, type AttachmentsResult, type SessionPlanEntry, type SessionActivity, type SessionInput, type EnsureSessionOutcome, type SessionResult, type AskInput, type AskResult, type AskAcceptInput, type AskAcceptRefusal, type AskAcceptResult, type PortalServerAuth, type PortalServerRegisterInput, type PortalServer, type PortalServerRegisterResult, type PortalServersResult, type PortalServerRemoveResult, type ProjectRepositoryInput, type AgentMessageInput, type AgentMessageResult, type RegisteredProjectRepository, type ProjectRepositoryRegisterResult, type ProjectRepositoryRemoveResult, } from "./tenant-client.js";
5
5
  export { CONTRACT_ROUTE, TENANT_CONTRACT_KEYS, isTenantContract, readTenantContract, routeByName, teamByKey, teamForTicket, stageIdForSlot, labelIdFor, type TenantContract, type WorkflowSlot, type LabelScopeKind, type ContractLabel, type ContractStage, type ContractReadinessCheck, type ContractTeam, type ContractRoute, type ContractMergeRepository, type ContractMergeCleanPassShape, type ContractAdvanceRule, type TeamLookup, type StageLookup, type LabelLookup, } from "./tenant-contract.js";
6
6
  export type { MemberLinearIdentity, LinearIdentityOption, LinearIdentityView, LinearIdentityResult } from "./linear-identity.js";
7
+ export { isMachineInventory } from "./machine-inventory.js";
8
+ export type { Machine, MachineInventory, MachineMutation } from "./machine-inventory.js";
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -18,4 +18,5 @@ export { DEFAULT_SCOPE_NAME, CATALYST_ATTR, REPLICA_METRIC, REPLICA_LOG, REPLICA
18
18
  // cloud's (the cloud's package is private), pinned against its committed fixture in test/.
19
19
  export { createTenantClient, memoryContractCache, normalizeBaseUrl, DEFAULT_TIMEOUT_MS, NEXT_CURSOR_HEADER, HEAD_SEQ_HEADER, TOTAL_HEADER, SCOPE_HEADER, BLOCKED_ON_ASK_TOTAL_HEADER, CONTRACT_VERSION_HEADER, pageCursor, AGENT_ROUTE_NAMES, } from "./tenant-client.js";
20
20
  export { CONTRACT_ROUTE, TENANT_CONTRACT_KEYS, isTenantContract, readTenantContract, routeByName, teamByKey, teamForTicket, stageIdForSlot, labelIdFor, } from "./tenant-contract.js";
21
+ export { isMachineInventory } from "./machine-inventory.js";
21
22
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,EAAE;AACF,sGAAsG;AACtG,mGAAmG;AACnG,uBAAuB;AACvB,EAAE;AACF,+EAA+E;AAE/E,OAAO,EACL,cAAc,EACd,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,UAAU,GAOX,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,YAAY,EACZ,UAAU,EACV,UAAU,EACV,UAAU,GAWX,MAAM,YAAY,CAAC;AAEpB,sGAAsG;AACtG,qGAAqG;AACrG,qGAAqG;AACrG,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,WAAW,EACX,YAAY,EACZ,mBAAmB,GAIpB,MAAM,WAAW,CAAC;AAEnB,6FAA6F;AAC7F,sGAAsG;AACtG,sGAAsG;AACtG,oGAAoG;AACpG,2FAA2F;AAC3F,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,2BAA2B,EAC3B,uBAAuB,EAgCvB,UAAU,EAuDV,iBAAiB,GA0ClB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,SAAS,EACT,aAAa,EACb,cAAc,EACd,UAAU,GAeX,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,EAAE;AACF,sGAAsG;AACtG,mGAAmG;AACnG,uBAAuB;AACvB,EAAE;AACF,+EAA+E;AAE/E,OAAO,EACL,cAAc,EACd,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,UAAU,GAOX,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,YAAY,EACZ,UAAU,EACV,UAAU,EACV,UAAU,GAWX,MAAM,YAAY,CAAC;AAEpB,sGAAsG;AACtG,qGAAqG;AACrG,qGAAqG;AACrG,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,WAAW,EACX,YAAY,EACZ,mBAAmB,GAIpB,MAAM,WAAW,CAAC;AAEnB,6FAA6F;AAC7F,sGAAsG;AACtG,sGAAsG;AACtG,oGAAoG;AACpG,2FAA2F;AAC3F,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,2BAA2B,EAC3B,uBAAuB,EAgCvB,UAAU,EAuDV,iBAAiB,GA0ClB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,SAAS,EACT,aAAa,EACb,cAAc,EACd,UAAU,GAeX,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,33 @@
1
+ export interface Machine {
2
+ id: string;
3
+ name: string;
4
+ ownership: "self_hosted" | "catalyst";
5
+ teams: string[];
6
+ slots: number;
7
+ inUse: number;
8
+ free: number;
9
+ lastCheckInAtMs: number | null;
10
+ status: "live" | "stale";
11
+ removable: boolean;
12
+ renameable: boolean;
13
+ }
14
+ export interface MachineInventory {
15
+ account: string;
16
+ readAtMs: number;
17
+ machines: Machine[];
18
+ capacity: {
19
+ slots: number;
20
+ inUse: number;
21
+ free: number;
22
+ selfHostedSlots: number;
23
+ catalystSlots: number;
24
+ };
25
+ }
26
+ export declare function isMachineInventory(value: unknown): value is MachineInventory;
27
+ export interface MachineMutation {
28
+ ok: true;
29
+ hostId: string;
30
+ name?: string;
31
+ }
32
+ export declare function isMachineMutation(value: unknown): value is MachineMutation;
33
+ //# sourceMappingURL=machine-inventory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machine-inventory.d.ts","sourceRoot":"","sources":["../src/machine-inventory.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,aAAa,GAAG,UAAU,CAAC;IACtC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;CACrB;AACD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAsBD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAiB5E;AACD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AACD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAO1E"}
@@ -0,0 +1,38 @@
1
+ const object = (value) => value !== null && typeof value === "object" && !Array.isArray(value);
2
+ const count = (value) => typeof value === "number" && Number.isSafeInteger(value) && value >= 0;
3
+ function machine(value) {
4
+ return (object(value) &&
5
+ typeof value.id === "string" &&
6
+ typeof value.name === "string" &&
7
+ (value.ownership === "self_hosted" || value.ownership === "catalyst") &&
8
+ Array.isArray(value.teams) &&
9
+ value.teams.every((team) => typeof team === "string") &&
10
+ count(value.slots) &&
11
+ count(value.inUse) &&
12
+ count(value.free) &&
13
+ (value.lastCheckInAtMs === null || count(value.lastCheckInAtMs)) &&
14
+ (value.status === "live" || value.status === "stale") &&
15
+ typeof value.removable === "boolean" &&
16
+ typeof value.renameable === "boolean");
17
+ }
18
+ export function isMachineInventory(value) {
19
+ if (!object(value) ||
20
+ typeof value.account !== "string" ||
21
+ !count(value.readAtMs) ||
22
+ !Array.isArray(value.machines) ||
23
+ !value.machines.every(machine) ||
24
+ !object(value.capacity))
25
+ return false;
26
+ return (count(value.capacity.slots) &&
27
+ count(value.capacity.inUse) &&
28
+ count(value.capacity.free) &&
29
+ count(value.capacity.selfHostedSlots) &&
30
+ count(value.capacity.catalystSlots));
31
+ }
32
+ export function isMachineMutation(value) {
33
+ return (object(value) &&
34
+ value.ok === true &&
35
+ typeof value.hostId === "string" &&
36
+ (value.name === undefined || typeof value.name === "string"));
37
+ }
38
+ //# sourceMappingURL=machine-inventory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machine-inventory.js","sourceRoot":"","sources":["../src/machine-inventory.ts"],"names":[],"mappings":"AAyBA,MAAM,MAAM,GAAG,CAAC,KAAc,EAAoC,EAAE,CAClE,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACvE,MAAM,KAAK,GAAG,CAAC,KAAc,EAAmB,EAAE,CAChD,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACzE,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,CACL,MAAM,CAAC,KAAK,CAAC;QACb,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAC5B,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,CAAC,KAAK,CAAC,SAAS,KAAK,aAAa,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,CAAC;QACrE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;QAC9D,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;QAClB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;QAClB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;QACjB,CAAC,KAAK,CAAC,eAAe,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAChE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC;QACrD,OAAO,KAAK,CAAC,SAAS,KAAK,SAAS;QACpC,OAAO,KAAK,CAAC,UAAU,KAAK,SAAS,CACtC,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IACE,CAAC,MAAM,CAAC,KAAK,CAAC;QACd,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QACjC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;QACtB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9B,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;QAC9B,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;QAEvB,OAAO,KAAK,CAAC;IACf,OAAO,CACL,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC3B,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC3B,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC1B,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC;QACrC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CACpC,CAAC;AACJ,CAAC;AAMD,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,CACL,MAAM,CAAC,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,IAAI;QACjB,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAC7D,CAAC;AACJ,CAAC"}
package/dist/node.js CHANGED
@@ -3187,6 +3187,13 @@ var MIRROR_MIGRATIONS = {
3187
3187
  when: 1790382152574,
3188
3188
  tag: "0042_ctc1858_fleet_activity_started_at_and_class",
3189
3189
  breakpoints: true
3190
+ },
3191
+ {
3192
+ idx: 43,
3193
+ version: "6",
3194
+ when: 1791583125906,
3195
+ tag: "0043_ctc5374_processed_events_without_rowid",
3196
+ breakpoints: true
3190
3197
  }
3191
3198
  ]
3192
3199
  },
@@ -3233,12 +3240,17 @@ var MIRROR_MIGRATIONS = {
3233
3240
  "0039_unknown_nebula": "CREATE TABLE `flow_daily` (\n `repo_id` text NOT NULL,\n `day` text NOT NULL,\n `active_count` integer NOT NULL,\n `entries` integer NOT NULL,\n `exits_to_done` integer NOT NULL,\n `exits_to_canceled` integer NOT NULL,\n `stage_counts` text,\n `aging_p50_seconds` integer,\n `aging_p90_seconds` integer,\n `fleet_active_count` integer,\n `fleet_exits_to_done` integer,\n `fleet_cycle_p50_seconds` integer,\n `fleet_cycle_p90_seconds` integer,\n `interactive_active_count` integer,\n `interactive_exits_to_done` integer,\n `interactive_cycle_p50_seconds` integer,\n `interactive_cycle_p90_seconds` integer,\n `stalled_count` integer,\n `estimated_ticket_count` integer,\n `open_pr_count` integer,\n `open_pr_draft_count` integer,\n `prs_merged` integer,\n `pr_cycle_p50_seconds` integer,\n `pr_cycle_p90_seconds` integer,\n `pr_age_p50_seconds` integer,\n `pr_age_p90_seconds` integer,\n `computed_at` integer NOT NULL,\n PRIMARY KEY(`repo_id`, `day`)\n);\n--> statement-breakpoint\nCREATE INDEX `idx_flow_daily_day` ON `flow_daily` (`day`);",
3234
3241
  "0040_ctc1885_workflow_state_name_backfill": "-- CTC-1885 \u2014 re-stamp cached workflow-state NAMES from the authoritative workflow_states row, by\n-- stable state id.\n--\n-- \u2B50 Deliberately a pure DATA migration in the SHARED bundle (the 0014/0031/0037 pattern): the DO\n-- and every host / OPFS replica apply the same MIRROR_MIGRATIONS through the same runner, so each\n-- store repairs its OWN rows locally. That converges the already-stale corpus WITHOUT emitting a\n-- change_log delta per historical row (migrations bypass appendChange), so the 200k-row / 7-day ring\n-- buffer is not flooded by the very backlog this repairs, and a replica that was OFFLINE at deploy\n-- time heals itself the moment it next opens and applies the bundle.\n--\n-- The defect: `issues.state` is denormalized at issue ingest and `team_workflow_mapping.\n-- linear_state_name` at mapping projection, while `workflow_states.name` is written by the\n-- workflow-state sweep. A Linear rename (Triage -> Intake) updated only the latter, so issues kept\n-- answering the OLD name (/api/v1/issues returns the column verbatim; the board keys columns by it)\n-- and the mapping kept displaying it. Runtime cascade (this ticket's reconcile change) covers FUTURE\n-- renames; THIS migration repairs every row already stale at upgrade time, including on stores the\n-- runtime never gets to replay.\n--\n-- Matching is by STABLE ID, never by the mutable old string (the table's own header: the name is a\n-- display snapshot, never a lookup key \u2014 a same-named row under a different state id must not move):\n-- \u2022 issues: `issues.state_id` -> `workflow_states.id`. The state id is globally unique (Linear\n-- UUID), which IS the team scoping \u2014 an issue's state belongs to exactly one team's workflow.\n-- \u2022 team_workflow_mapping: `linear_state_id` AND `team_id` both resolve. The mapping's team fence\n-- is kept because a Linear-to-Linear import can re-mint ids per team (CTC-403).\n-- Both updates are guarded by `ws.name IS NOT <cached>` so already-converged rows are untouched and\n-- a replay (execReplaySafe re-runs a statement after a crash between success and tag-record) is a\n-- no-op. `IS` / `IS NOT` keep every comparison NULL-safe.\n--\n-- \u26D4 NO timestamps, revisions, or tombstones are rewritten: `updated_at`, `workflow_rev`, and\n-- `removed_at` survive exactly as stored. A state rename is provider-owned state metadata, not an\n-- issue mutation and not a tenant mapping decision; advancing those fields would corrupt freshness,\n-- board ranking, last-write-wins ordering, and the host workflow-rev receipt. Only the NAME fields\n-- converge. (Tombstoned mapping rows converge too \u2014 a dead row's display snapshot changing is\n-- unobservable and emits nothing; the runtime cascade, which DOES emit deltas, stays live-only.)\nUPDATE `issues`\n SET `state` = (SELECT `ws`.`name` FROM `workflow_states` `ws` WHERE `ws`.`id` = `issues`.`state_id`)\n WHERE EXISTS (\n SELECT 1 FROM `workflow_states` `ws`\n WHERE `ws`.`id` = `issues`.`state_id`\n AND `ws`.`name` IS NOT NULL\n AND `ws`.`name` IS NOT `issues`.`state`);\n--> statement-breakpoint\nUPDATE `team_workflow_mapping`\n SET `linear_state_name` = (SELECT `ws`.`name`\n FROM `workflow_states` `ws`\n WHERE `ws`.`id` = `team_workflow_mapping`.`linear_state_id`\n AND `ws`.`team_id` = `team_workflow_mapping`.`team_id`)\n WHERE EXISTS (\n SELECT 1 FROM `workflow_states` `ws`\n WHERE `ws`.`id` = `team_workflow_mapping`.`linear_state_id`\n AND `ws`.`team_id` = `team_workflow_mapping`.`team_id`\n AND `ws`.`name` IS NOT NULL\n AND `ws`.`name` IS NOT `team_workflow_mapping`.`linear_state_name`);\n",
3235
3242
  "0041_many_marvel_boy": '-- CTC-3123: re-key flow_daily from (repo_id, day) to (project_id, day), so a per-project Flow page\n-- never double-counts a repo that two projects share (ADR-0013\'s project_repos).\n--\n-- A table recreation, because SQLite cannot change a primary key in place. Two edits to the\n-- drizzle-kit output, both deliberate:\n-- \u2022 The copy writes `\'repo:\' || repo_id` into project_id. The repo-to-project map lives in the\n-- registry D1, not in this store, so a migration cannot know a row\'s project. The snapshot writer\n-- (apps/mirror/src/do/flow-snapshot.ts) re-stamps `repo:<owner>/<name>` rows to the real project\n-- id on its next pass. A repo with no registry project keeps the marker: still readable, never\n-- dropped, and counted by the flow route\'s `flow-daily-unkeyed-rows` log line.\n-- \u2022 No PRAGMA foreign_keys lines: flow_daily has no foreign keys, so toggling enforcement buys\n-- nothing, and no earlier migration in this bundle issues a pragma. The leading DROP of\n-- `__new_flow_daily` clears a half-built copy while flow_daily still exists. If the old table\n-- was already dropped, applyMigrations first restores the copied table\'s name before replay.\nDROP TABLE IF EXISTS `__new_flow_daily`;--> statement-breakpoint\nCREATE TABLE `__new_flow_daily` (\n `project_id` text NOT NULL,\n `repo_id` text NOT NULL,\n `day` text NOT NULL,\n `active_count` integer NOT NULL,\n `entries` integer NOT NULL,\n `exits_to_done` integer NOT NULL,\n `exits_to_canceled` integer NOT NULL,\n `stage_counts` text,\n `aging_p50_seconds` integer,\n `aging_p90_seconds` integer,\n `fleet_active_count` integer,\n `fleet_exits_to_done` integer,\n `fleet_cycle_p50_seconds` integer,\n `fleet_cycle_p90_seconds` integer,\n `interactive_active_count` integer,\n `interactive_exits_to_done` integer,\n `interactive_cycle_p50_seconds` integer,\n `interactive_cycle_p90_seconds` integer,\n `stalled_count` integer,\n `estimated_ticket_count` integer,\n `open_pr_count` integer,\n `open_pr_draft_count` integer,\n `prs_merged` integer,\n `pr_cycle_p50_seconds` integer,\n `pr_cycle_p90_seconds` integer,\n `pr_age_p50_seconds` integer,\n `pr_age_p90_seconds` integer,\n `computed_at` integer NOT NULL,\n PRIMARY KEY(`project_id`, `day`)\n);\n--> statement-breakpoint\nINSERT INTO `__new_flow_daily`("project_id", "repo_id", "day", "active_count", "entries", "exits_to_done", "exits_to_canceled", "stage_counts", "aging_p50_seconds", "aging_p90_seconds", "fleet_active_count", "fleet_exits_to_done", "fleet_cycle_p50_seconds", "fleet_cycle_p90_seconds", "interactive_active_count", "interactive_exits_to_done", "interactive_cycle_p50_seconds", "interactive_cycle_p90_seconds", "stalled_count", "estimated_ticket_count", "open_pr_count", "open_pr_draft_count", "prs_merged", "pr_cycle_p50_seconds", "pr_cycle_p90_seconds", "pr_age_p50_seconds", "pr_age_p90_seconds", "computed_at") SELECT \'repo:\' || "repo_id", "repo_id", "day", "active_count", "entries", "exits_to_done", "exits_to_canceled", "stage_counts", "aging_p50_seconds", "aging_p90_seconds", "fleet_active_count", "fleet_exits_to_done", "fleet_cycle_p50_seconds", "fleet_cycle_p90_seconds", "interactive_active_count", "interactive_exits_to_done", "interactive_cycle_p50_seconds", "interactive_cycle_p90_seconds", "stalled_count", "estimated_ticket_count", "open_pr_count", "open_pr_draft_count", "prs_merged", "pr_cycle_p50_seconds", "pr_cycle_p90_seconds", "pr_age_p50_seconds", "pr_age_p90_seconds", "computed_at" FROM `flow_daily`;--> statement-breakpoint\nDROP TABLE `flow_daily`;--> statement-breakpoint\nALTER TABLE `__new_flow_daily` RENAME TO `flow_daily`;--> statement-breakpoint\nCREATE INDEX `idx_flow_daily_day` ON `flow_daily` (`day`);\n',
3236
- "0042_ctc1858_fleet_activity_started_at_and_class": "ALTER TABLE `fleet_activity` ADD `started_at` integer;--> statement-breakpoint\nALTER TABLE `fleet_activity` ADD `duration_ms` integer;--> statement-breakpoint\nALTER TABLE `fleet_activity` ADD `container_class` text;"
3243
+ "0042_ctc1858_fleet_activity_started_at_and_class": "ALTER TABLE `fleet_activity` ADD `started_at` integer;--> statement-breakpoint\nALTER TABLE `fleet_activity` ADD `duration_ms` integer;--> statement-breakpoint\nALTER TABLE `fleet_activity` ADD `container_class` text;",
3244
+ "0043_ctc5374_processed_events_without_rowid": '-- CTC-5374: rebuild processed_events as a WITHOUT ROWID table, so a webhook\'s dedup marker writes 2\n-- rows (the row in its primary-key b-tree, plus idx_processed_events_source_received) instead of 3\n-- (a rowid row, a separate primary-key index, and the source index). Measured 2026-10-09: about\n-- 113k rows written a day saved across tenant-0 and tenant-3.\n--\n-- Hand-written (drizzle-kit cannot declare WITHOUT ROWID), on the 0041 recreation pattern:\n-- \u2022 The copy keeps only the last 7 days, plus each source\'s newest row so computeFreshness\'s\n-- max(received_at) per source never turns null. GitHub redelivers only deliveries from the past\n-- 3 days and Linear retries within hours, so an older marker can never dedup anything. This is a\n-- one-time prune: nothing deletes from this table afterwards, because a recurring expiry would\n-- write 2 rows per delete and cost more than WITHOUT ROWID saves.\n-- \u2022 received_at is epoch milliseconds (MirrorDO\'s ingest and fleet-activity\'s coordination insert).\n-- \u2022 The leading DROP of `__new_processed_events` clears a half-built copy while processed_events\n-- still exists. If the old table was already dropped, applyMigrations first restores the copied\n-- table\'s name before replay.\nDROP TABLE IF EXISTS `__new_processed_events`;--> statement-breakpoint\nCREATE TABLE `__new_processed_events` (\n `delivery_id` text PRIMARY KEY NOT NULL,\n `source` text,\n `event_type` text,\n `received_at` integer\n) WITHOUT ROWID;\n--> statement-breakpoint\nINSERT INTO `__new_processed_events`("delivery_id", "source", "event_type", "received_at") SELECT "delivery_id", "source", "event_type", "received_at" FROM `processed_events` AS p WHERE p."received_at" >= (CAST(strftime(\'%s\', \'now\') AS INTEGER) - 7 * 86400) * 1000 OR p."received_at" = (SELECT max(q."received_at") FROM `processed_events` AS q WHERE q."source" = p."source");--> statement-breakpoint\nDROP TABLE `processed_events`;--> statement-breakpoint\nALTER TABLE `__new_processed_events` RENAME TO `processed_events`;--> statement-breakpoint\nCREATE INDEX `idx_processed_events_source_received` ON `processed_events` (`source`,`received_at`);\n'
3237
3245
  }
3238
3246
  };
3239
3247
 
3240
3248
  // node_modules/@catalyst-cloud/schema/src/migrate.ts
3241
3249
  var STATEMENT_BREAKPOINT = "--> statement-breakpoint";
3250
+ var RECREATED_TABLES = {
3251
+ "0041_many_marvel_boy": "flow_daily",
3252
+ "0043_ctc5374_processed_events_without_rowid": "processed_events"
3253
+ };
3242
3254
  var LEDGER_DDL = "CREATE TABLE IF NOT EXISTS __drizzle_migrations (id INTEGER PRIMARY KEY AUTOINCREMENT, hash TEXT NOT NULL, created_at INTEGER)";
3243
3255
  function applyMigrations(db, bundle = MIRROR_MIGRATIONS, now = Date.now()) {
3244
3256
  db.exec(LEDGER_DDL);
@@ -3254,14 +3266,15 @@ function applyMigrations(db, bundle = MIRROR_MIGRATIONS, now = Date.now()) {
3254
3266
  if (sql2 === void 0) {
3255
3267
  throw new Error(`applyMigrations: journal tag "${entry.tag}" has no SQL in the bundle`);
3256
3268
  }
3257
- if (entry.tag === "0041_many_marvel_boy") {
3269
+ const recreated = RECREATED_TABLES[entry.tag];
3270
+ if (recreated !== void 0) {
3258
3271
  const tables = new Set(
3259
3272
  db.query(
3260
- "SELECT name FROM sqlite_master WHERE type = 'table' AND name IN ('flow_daily', '__new_flow_daily')"
3273
+ `SELECT name FROM sqlite_master WHERE type = 'table' AND name IN ('${recreated}', '__new_${recreated}')`
3261
3274
  ).map((row) => String(row.name))
3262
3275
  );
3263
- if (!tables.has("flow_daily") && tables.has("__new_flow_daily")) {
3264
- db.exec("ALTER TABLE `__new_flow_daily` RENAME TO `flow_daily`");
3276
+ if (!tables.has(recreated) && tables.has(`__new_${recreated}`)) {
3277
+ db.exec(`ALTER TABLE \`__new_${recreated}\` RENAME TO \`${recreated}\``);
3265
3278
  }
3266
3279
  }
3267
3280
  for (const raw of sql2.split(STATEMENT_BREAKPOINT)) {
@@ -5073,18 +5086,10 @@ var currentStateEventTypes = {
5073
5086
  }
5074
5087
  };
5075
5088
  var telemetryEventTypes = {
5076
- "catalyst.mirror.request.summary": {
5077
- reason: "CTC-4063 \u2014 one request per route and verified caller. Sampling would discard the distribution required for per-key usage.",
5078
- sampling: { kind: "always" }
5079
- },
5080
5089
  "telemetry.ingest.tenant-forged": {
5081
5090
  reason: "CTC-2788 \u2014 a gateway payload named a tenant other than its token's on `account_id` or `catalyst.tenant`, and the gateway overwrote it. Rare by construction: a current runner image emits `catalyst.tenant` equal to its own tenant, so this fires only on a stale or wrong token, or on a deliberate forgery. Each occurrence is independently actionable (which tenant held the token, which tenant was claimed, which signal), so it is never sampled away.",
5082
5091
  sampling: { kind: "always" }
5083
5092
  },
5084
- "telemetry.ingest.scope-forged": {
5085
- reason: "CTC-2789 \u2014 a gateway payload claimed `catalyst.scope` itself (e.g. `platform`), and the gateway overwrote it to `tenant`, the only scope a tenant credential can ever write. Rare by construction: no producer in this repo sets the attribute, so this fires only on a stale image or a deliberate forgery. Each occurrence is independently actionable (which tenant held the token, which scope was claimed, which signal), so it is never sampled away.",
5086
- sampling: { kind: "always" }
5087
- },
5088
5093
  "account.ratelimit.sampled": {
5089
5094
  reason: "A periodic provider rate-limit budget reading \u2014 a gauge, not a state transition."
5090
5095
  },
@@ -5388,18 +5393,6 @@ var telemetryEventTypes = {
5388
5393
  },
5389
5394
  "worktree.salvage.skipped": {
5390
5395
  reason: "14,391 lines/mo \u2014 logged on every recovery pass that finds nothing to salvage (mirrors the recovery.skipped.* retry-storm shape). worktree.salvage.created is the durable fact when a salvage actually happens."
5391
- },
5392
- "setup.run": {
5393
- reason: "CTC-1175 \u2014 one point per setup-run terminalization (complete or failed), carrying the server-derived durationMs (completedAt - createdAt). Each occurrence is individually meaningful (one run's outcome), the same phase.lifecycle posture \u2014 always, never sampled away.",
5394
- sampling: { kind: "always" }
5395
- },
5396
- "setup.cache": {
5397
- reason: "CTC-1175 \u2014 one point per resolveSetupCache verdict (hit/miss/integrity_failure) \u2014 the server's own cache-layer decision, never caller-supplied. Individually meaningful per repo/declaration scope, not a rollup-only gauge.",
5398
- sampling: { kind: "always" }
5399
- },
5400
- "setup.extract": {
5401
- reason: "CTC-1175 \u2014 one point per runner-side snapshot-extract observation (restored/absent/integrity_failure/toolchain_refused/capacity_exceeded), carrying the runner-measured extract duration. Individually meaningful per run, not a rollup gauge.",
5402
- sampling: { kind: "always" }
5403
5396
  }
5404
5397
  };
5405
5398
  var DURABLE_EVENT_TYPES = keysOf(durableEventTypes);