stitchkit 0.100.0 → 0.100.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.
Files changed (79) hide show
  1. package/CHANGELOG.md +93 -1
  2. package/dist/agent-runtime/invocation-attempt.d.ts +6 -0
  3. package/dist/agent-runtime/invocation-attempt.d.ts.map +1 -1
  4. package/dist/agent-runtime/invocation-payload.d.ts +2 -0
  5. package/dist/agent-runtime/invocation-payload.d.ts.map +1 -1
  6. package/dist/agent-runtime/invocation-read.d.ts.map +1 -1
  7. package/dist/agent-runtime/invocations.d.ts +6 -0
  8. package/dist/agent-runtime/invocations.d.ts.map +1 -1
  9. package/dist/agent-runtime/projections.d.ts.map +1 -1
  10. package/dist/agent-runtime/schedule-dispatch.d.ts +9 -2
  11. package/dist/agent-runtime/schedule-dispatch.d.ts.map +1 -1
  12. package/dist/agent-runtime/schedule-records.d.ts +8 -2
  13. package/dist/agent-runtime/schedule-records.d.ts.map +1 -1
  14. package/dist/agent-runtime/schedules.d.ts +5 -0
  15. package/dist/agent-runtime/schedules.d.ts.map +1 -1
  16. package/dist/agent-runtime/sqlite-events.d.ts.map +1 -1
  17. package/dist/agent-runtime/store-create.d.ts.map +1 -1
  18. package/dist/agent-runtime/store-driver-contract.d.ts +9 -0
  19. package/dist/agent-runtime/store-driver-contract.d.ts.map +1 -1
  20. package/dist/agent-runtime/store-event-once.d.ts +9 -1
  21. package/dist/agent-runtime/store-event-once.d.ts.map +1 -1
  22. package/dist/agent-runtime/store-memory.d.ts.map +1 -1
  23. package/dist/agent-runtime/store.d.ts +6 -0
  24. package/dist/agent-runtime/store.d.ts.map +1 -1
  25. package/dist/application/change-subscription.d.ts.map +1 -1
  26. package/dist/application/notification-delivery.d.ts +24 -1
  27. package/dist/application/notification-delivery.d.ts.map +1 -1
  28. package/dist/application/notification-outbox-state.d.ts +4 -0
  29. package/dist/application/notification-outbox-state.d.ts.map +1 -1
  30. package/dist/application/notification-outbox.d.ts.map +1 -1
  31. package/dist/application/process-lifecycle-transitions.d.ts +13 -2
  32. package/dist/application/process-lifecycle-transitions.d.ts.map +1 -1
  33. package/dist/application/process-lifecycle.d.ts +2 -1
  34. package/dist/application/process-lifecycle.d.ts.map +1 -1
  35. package/dist/application/watch-hub-core.d.ts +14 -79
  36. package/dist/application/watch-hub-core.d.ts.map +1 -1
  37. package/dist/application/watch-hub-source.d.ts +98 -0
  38. package/dist/application/watch-hub-source.d.ts.map +1 -0
  39. package/dist/browser/session-credentials.d.ts +6 -0
  40. package/dist/browser/session-credentials.d.ts.map +1 -1
  41. package/dist/browser/session.d.ts +3 -1
  42. package/dist/browser/session.d.ts.map +1 -1
  43. package/dist/entrypoints/agent-runtime/harness.js +1 -1
  44. package/dist/entrypoints/agent-runtime/sqlite/bun.js +2 -2
  45. package/dist/entrypoints/agent-runtime/sqlite/node.js +2 -2
  46. package/dist/entrypoints/agent-runtime/testing.js +2 -2
  47. package/dist/entrypoints/agent-runtime.js +53 -19
  48. package/dist/entrypoints/application/diagnostic-journal.js +1 -1
  49. package/dist/entrypoints/application.d.ts +2 -2
  50. package/dist/entrypoints/application.d.ts.map +1 -1
  51. package/dist/entrypoints/application.js +285 -193
  52. package/dist/entrypoints/files.js +8 -2
  53. package/dist/entrypoints/index.js +33 -6
  54. package/dist/entrypoints/live.js +16 -12
  55. package/dist/entrypoints/node.js +1 -1
  56. package/dist/entrypoints/server.js +4 -4
  57. package/dist/{index-s84he4v7.js → index-10x2hbx0.js} +4 -1
  58. package/dist/{index-js7gqrb1.js → index-c6bxbsnc.js} +5 -1
  59. package/dist/{index-y9qn426m.js → index-eaysmdtq.js} +10 -1
  60. package/dist/{index-xwhjjw2x.js → index-f4fx2tza.js} +119 -49
  61. package/dist/{index-p3vsv1fb.js → index-hadmp193.js} +14 -5
  62. package/dist/{index-0b1cnze2.js → index-vqr7f7v8.js} +31 -15
  63. package/dist/internal/coalesced-task.d.ts +2 -0
  64. package/dist/internal/coalesced-task.d.ts.map +1 -1
  65. package/dist/internal/process-instance.d.ts.map +1 -1
  66. package/dist/internal/with-exclusive-lock.d.ts.map +1 -1
  67. package/dist/server/realtime.d.ts.map +1 -1
  68. package/llms/agent-runtime.2.txt +13 -5
  69. package/llms/agent-runtime.3.txt +9 -4
  70. package/llms/agent-runtime.txt +8 -3
  71. package/llms/application.2.txt +47 -6
  72. package/llms/application.txt +18 -27
  73. package/llms/live.txt +2 -1
  74. package/llms/server.3.txt +22 -0
  75. package/llms/stitchkit.3.txt +9 -5
  76. package/llms/upgrading-0.74.0-0.100.0.txt +15 -3
  77. package/llms-full.txt +118 -29
  78. package/llms.txt +5 -5
  79. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"process-lifecycle.d.ts","sourceRoot":"","sources":["../../src/application/process-lifecycle.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,EAEnB,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,SAAS,EAKf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACrE,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC,kEAAkE;IAClE,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IACxC,cAAc,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7E,OAAO,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACxC,IAAI,IAAI,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC;IACzC,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC;CACvF;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAC3B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,oBAAoB,KACvB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,4BAA4B,GACnC,sBAAsB,CAsGxB;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,KAAK,IAAI,OAAO,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAA;KAAE,CAAC,CAAC;CAC9D;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,sBAAsB,EAC9B,MAAM,EAAE,6BAA6B,GACpC,uBAAuB,CAsCzB"}
1
+ {"version":3,"file":"process-lifecycle.d.ts","sourceRoot":"","sources":["../../src/application/process-lifecycle.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,EAEnB,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,SAAS,EAKd,KAAK,oBAAoB,EAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACrE,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC,kEAAkE;IAClE,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IACxC,cAAc,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7E,OAAO,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACxC,IAAI,IAAI,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC;IACzC,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC;CACvF;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IACrD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAC3B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,oBAAoB,KACvB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,4BAA4B,GACnC,sBAAsB,CAuGxB;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,KAAK,IAAI,OAAO,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAA;KAAE,CAAC,CAAC;CAC9D;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,sBAAsB,EAC9B,MAAM,EAAE,6BAA6B,GACpC,uBAAuB,CAsCzB"}
@@ -1,47 +1,11 @@
1
- import { type CoalescedTask } from '../internal/coalesced-task.js';
2
- import { type WatchHave, type WatchKey, type WatchStateFrame, type WatchValueFrame } from '../live/watch-contract.js';
1
+ /**
2
+ * The watch hub's machinery: one shared source per watched read, its pump and
3
+ * retry, the frames each subscriber is sent — whole values or differences
4
+ * against what it holds — and the release of a source nobody watches.
5
+ */
6
+ import { type WatchKey, type WatchStateFrame } from '../live/watch-contract.js';
3
7
  import type { AttachedWatcher, WatchAdmissionScope, WatchHubConfig, WatchOperation, WatchSubscriber } from './watch-hub.js';
4
- interface Source {
5
- readonly id: string;
6
- readonly scope?: string;
7
- readonly key: WatchKey;
8
- readonly operation: WatchOperation;
9
- readonly args: unknown;
10
- readonly subscribers: Set<WatchSubscriber>;
11
- readonly unsubscribes: (() => void)[];
12
- revision: number;
13
- value?: unknown;
14
- signature?: string;
15
- fingerprint?: string;
16
- /**
17
- * Superseded values by revision, oldest first, under a byte ceiling.
18
- *
19
- * Insertion order is the eviction order, which is why this is a `Map` and not
20
- * an object: the oldest revision is the one least likely to still be anyone's
21
- * baseline.
22
- */
23
- readonly history: Map<number, {
24
- value: unknown;
25
- fingerprint: string;
26
- bytes: number;
27
- }>;
28
- historyBytes: number;
29
- /**
30
- * The revision each subscriber is known to hold — the base its next difference
31
- * is taken against.
32
- *
33
- * "Known to hold" means delivered without throwing, not acknowledged. There is
34
- * no ack on this protocol and adding one would put a round trip in front of
35
- * every frame; the socket is ordered and reliable while it is up, and when it
36
- * is not the subscriber re-declares what it has in `open`. A frame whose
37
- * delivery threw does not advance the baseline, so the next one is taken
38
- * against what actually arrived.
39
- */
40
- readonly baselines: Map<WatchSubscriber, number>;
41
- readonly task: CoalescedTask;
42
- state: WatchStateFrame;
43
- release?: ReturnType<typeof setTimeout>;
44
- }
8
+ import { type Source } from './watch-hub-source.js';
45
9
  /**
46
10
  * The hub's shared sources and what each subscriber holds. A class because
47
11
  * every step — acquire, pump, publish, deliver, release — reads and writes the
@@ -50,7 +14,7 @@ interface Source {
50
14
  export declare class WatchHubCore {
51
15
  readonly config: WatchHubConfig;
52
16
  readonly sources: Map<string, Source>;
53
- readonly held: Map<WatchSubscriber, Set<string>>;
17
+ readonly held: Map<WatchSubscriber, Map<string, string>>;
54
18
  readonly maxWatches: number;
55
19
  readonly holdMs: number;
56
20
  readonly deltaMemoryBytes: number;
@@ -71,47 +35,18 @@ export declare class WatchHubCore {
71
35
  */
72
36
  tell(key: WatchKey, send: () => void): boolean;
73
37
  announceState(source: Source, state: WatchStateFrame): void;
74
- /**
75
- * Remember the value a subscriber may still be holding, under the byte ceiling.
76
- *
77
- * Called with the value being *superseded*, because that is the only one a
78
- * difference can be taken against: the current value is `source.value` and
79
- * needs no memory.
80
- */
81
- remember(source: Source, revision: number, value: unknown, fingerprint: string): void;
82
- /**
83
- * The frame this one subscriber should receive — a difference when it saves,
84
- * the value when it does not.
85
- *
86
- * The choice is per subscriber and it has to be: eight panels on one key can
87
- * each be holding a different revision, one of them having just joined with
88
- * nothing at all. A single broadcast frame would have to be the value, which
89
- * is the behaviour this replaces.
90
- */
91
- frameFor(source: Source, subscriber: WatchSubscriber): WatchValueFrame;
92
- /**
93
- * Believe a reconnecting subscriber about what it holds, as far as the
94
- * fingerprint goes.
95
- *
96
- * The revision it names is a hint about *where* to look; the fingerprint is
97
- * what decides. They are checked in that order against the current value first
98
- * — the common case is a page that came back to an answer that never moved —
99
- * and then against the superseded values still in memory.
100
- *
101
- * A fingerprint that matches nothing is not an error and is not announced: the
102
- * subscriber simply has no baseline, and the next frame is the whole value,
103
- * which is exactly right for a client holding something this hub cannot
104
- * reconstruct.
105
- */
106
- adoptBaseline(source: Source, subscriber: WatchSubscriber, have: WatchHave): void;
107
38
  deliver(source: Source, subscriber: WatchSubscriber): boolean;
108
39
  publish(source: Source, value: unknown, fingerprint: string): void;
109
40
  readSource(source: Source): Promise<void>;
110
41
  readFailed(source: Source, error: unknown): void;
111
- acquire(operation: WatchOperation, key: WatchKey, args: unknown, scope?: string): Source;
42
+ acquire(operation: WatchOperation, routed: WatchKey, args: unknown, scope?: string): Source;
112
43
  release(source: Source): void;
44
+ /**
45
+ * Take one subscriber's route off a source; the subscriber leaves the source
46
+ * with its last route.
47
+ */
48
+ unroute(source: Source, subscriber: WatchSubscriber, route: string): void;
113
49
  attach(subscriber: WatchSubscriber, scope?: WatchAdmissionScope): AttachedWatcher;
114
50
  close(): void;
115
51
  }
116
- export {};
117
52
  //# sourceMappingURL=watch-hub-core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"watch-hub-core.d.ts","sourceRoot":"","sources":["../../src/application/watch-hub-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watch-hub-core.d.ts","sourceRoot":"","sources":["../../src/application/watch-hub-core.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,eAAe,EAAkB,MAAM,wBAAwB,CAAC;AAC7F,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,eAAe,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAKL,KAAK,MAAM,EAEZ,MAAM,oBAAoB,CAAC;AAI5B;;;;GAIG;AACH,qBAAa,YAAY;IAWX,QAAQ,CAAC,MAAM,EAAE,cAAc;IAV3C,QAAQ,CAAC,OAAO,sBAA6B;IAC7C,QAAQ,CAAC,IAAI,4CAAmD;IAChE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,KAAK,SAAK;IACV,MAAM,UAAS;IACf,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;IAE1C,YAAqB,MAAM,EAAE,cAAc,EAuB1C;IAED;;;;;;;;;OASG;IACH,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,OAAO,CAW7C;IAED,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI,CAO1D;IAED,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,GAAG,OAAO,CAQ5D;IAED,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAcjE;IAEK,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU9C;IAED,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAgB/C;IAED,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAyC1F;IAED,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAsB5B;IAED;;;OAGG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAQxE;IAED,MAAM,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,mBAAmB,GAAG,eAAe,CAoHhF;IAED,KAAK,IAAI,IAAI,CAyCZ;CACF"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * What a watch source remembers about its value — the current revision, the
3
+ * superseded ones still worth a difference, and what each subscriber holds —
4
+ * and the frame each subscriber is sent from it.
5
+ */
6
+ import type { CoalescedTask } from '../internal/coalesced-task.js';
7
+ import type { WatchHave, WatchKey, WatchStateFrame, WatchValueFrame } from '../live/watch-contract.js';
8
+ import type { WatchOperation, WatchSubscriber } from './watch-hub.js';
9
+ export interface Source {
10
+ readonly id: string;
11
+ readonly scope?: string;
12
+ readonly key: WatchKey;
13
+ readonly operation: WatchOperation;
14
+ readonly args: unknown;
15
+ readonly subscribers: Set<WatchSubscriber>;
16
+ /**
17
+ * The keys each subscriber opened this source under. A session-scoped key
18
+ * carries the client's `instance`, which routes frames and never divides the
19
+ * source: one scope, one question, one read (ADR 0153, ADR 0208).
20
+ */
21
+ readonly routes: Map<WatchSubscriber, Map<string, WatchKey>>;
22
+ readonly unsubscribes: (() => void)[];
23
+ revision: number;
24
+ value?: unknown;
25
+ signature?: string;
26
+ fingerprint?: string;
27
+ /**
28
+ * Superseded values by revision, oldest first, under a byte ceiling.
29
+ *
30
+ * Insertion order is the eviction order, which is why this is a `Map` and not
31
+ * an object: the oldest revision is the one least likely to still be anyone's
32
+ * baseline.
33
+ */
34
+ readonly history: Map<number, {
35
+ value: unknown;
36
+ fingerprint: string;
37
+ bytes: number;
38
+ }>;
39
+ historyBytes: number;
40
+ /**
41
+ * The revision each subscriber is known to hold — the base its next difference
42
+ * is taken against.
43
+ *
44
+ * "Known to hold" means delivered without throwing, not acknowledged. There is
45
+ * no ack on this protocol and adding one would put a round trip in front of
46
+ * every frame; the socket is ordered and reliable while it is up, and when it
47
+ * is not the subscriber re-declares what it has in `open`. A frame whose
48
+ * delivery threw does not advance the baseline, so the next one is taken
49
+ * against what actually arrived.
50
+ */
51
+ readonly baselines: Map<WatchSubscriber, number>;
52
+ readonly task: CoalescedTask;
53
+ state: WatchStateFrame;
54
+ release?: ReturnType<typeof setTimeout>;
55
+ }
56
+ /**
57
+ * Remember the value a subscriber may still be holding, under the byte ceiling.
58
+ *
59
+ * Called with the value being *superseded*, because that is the only one a
60
+ * difference can be taken against: the current value is `source.value` and
61
+ * needs no memory.
62
+ */
63
+ export declare function remember(source: Source, deltaMemoryBytes: number, revision: number, value: unknown, fingerprint: string): void;
64
+ /**
65
+ * The frame this one subscriber should receive — a difference when it saves,
66
+ * the value when it does not.
67
+ *
68
+ * The choice is per subscriber and it has to be: eight panels on one key can
69
+ * each be holding a different revision, one of them having just joined with
70
+ * nothing at all. A single broadcast frame would have to be the value, which
71
+ * is the behaviour this replaces.
72
+ */
73
+ export declare function fullFrame(source: Source): WatchValueFrame;
74
+ export declare function frameFor(source: Source, subscriber: WatchSubscriber): WatchValueFrame;
75
+ /**
76
+ * Believe a reconnecting subscriber about what it holds, as far as the
77
+ * fingerprint goes.
78
+ *
79
+ * The revision it names is a hint about *where* to look; the fingerprint is
80
+ * what decides. They are checked in that order against the current value first
81
+ * — the common case is a page that came back to an answer that never moved —
82
+ * and then against the superseded values still in memory.
83
+ *
84
+ * A fingerprint that matches nothing is not an error and is not announced: the
85
+ * subscriber simply has no baseline, and the next frame is the whole value,
86
+ * which is exactly right for a client holding something this hub cannot
87
+ * reconstruct.
88
+ */
89
+ export declare function adoptBaseline(source: Source, subscriber: WatchSubscriber, have: WatchHave): void;
90
+ /**
91
+ * The identity of a value, order-independent and synchronous.
92
+ *
93
+ * The same digest the watch key is built from, over `{ value }` rather than over
94
+ * arguments — one implementation, because two hashes that had to agree across a
95
+ * socket and were written twice would eventually not.
96
+ */
97
+ export declare function valueFingerprint(value: unknown): string;
98
+ //# sourceMappingURL=watch-hub-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch-hub-source.d.ts","sourceRoot":"","sources":["../../src/application/watch-hub-source.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,KAAK,EACV,SAAS,EACT,QAAQ,EACR,eAAe,EACf,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnE,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7D,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtF,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;CACzC;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,MAAM,GAClB,IAAI,CAWN;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CASzD;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,GAAG,eAAe,CAwBrF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,eAAe,EAC3B,IAAI,EAAE,SAAS,GACd,IAAI,CAeN;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEvD"}
@@ -8,6 +8,12 @@ export interface SessionCredentialsConfig<TSession, TCredentials> {
8
8
  };
9
9
  readonly maxPendingWrites?: number;
10
10
  readonly refreshTimeoutMs?: number;
11
+ /**
12
+ * How long one `storage.write` or `storage.clear` may hold the queue
13
+ * (default 30 s). A hung write would otherwise keep `logout()` from ever
14
+ * clearing what is persisted.
15
+ */
16
+ readonly storageTimeoutMs?: number;
11
17
  }
12
18
  export interface SessionCredentials<TSession, TCredentials> {
13
19
  login(session: TSession, credentials: TCredentials): Promise<SessionOperation<TSession>>;
@@ -1 +1 @@
1
- {"version":3,"file":"session-credentials.d.ts","sourceRoot":"","sources":["../../src/browser/session-credentials.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAE1F,MAAM,WAAW,wBAAwB,CAAC,QAAQ,EAAE,YAAY;IAC9D,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,CAChB,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,EAClC,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE;QAChB,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;KACxB,CAAC;IACF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB,CAAC,QAAQ,EAAE,YAAY;IACxD,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzF,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC;IAC1D,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACvE;AAED,6FAA6F;AAC7F,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,YAAY,EAC7D,MAAM,EAAE,wBAAwB,CAAC,QAAQ,EAAE,YAAY,CAAC,GACvD,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAyE5C"}
1
+ {"version":3,"file":"session-credentials.d.ts","sourceRoot":"","sources":["../../src/browser/session-credentials.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAE1F,MAAM,WAAW,wBAAwB,CAAC,QAAQ,EAAE,YAAY;IAC9D,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,CAChB,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,EAClC,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE;QAChB,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;KACxB,CAAC;IACF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB,CAAC,QAAQ,EAAE,YAAY;IACxD,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzF,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC;IAC1D,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACvE;AAED,6FAA6F;AAC7F,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,YAAY,EAC7D,MAAM,EAAE,wBAAwB,CAAC,QAAQ,EAAE,YAAY,CAAC,GACvD,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CA+G5C"}
@@ -1,7 +1,9 @@
1
1
  import type { ClientFetch } from './transport.js';
2
2
  /** An operation's originating login has ended. Never an auth-refresh instruction. */
3
3
  export declare class SessionExpiredError extends Error {
4
- constructor();
4
+ constructor(options?: {
5
+ cause?: unknown;
6
+ });
5
7
  }
6
8
  export interface SessionOperation<T> {
7
9
  readonly context: T;
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/browser/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,qFAAqF;AACrF,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,cAGC;CACF;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,OAAO,IAAI,OAAO,CAAC;IACnB,aAAa,IAAI,IAAI,CAAC;IACtB,0FAA0F;IAC1F,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACxD,qFAAqF;IACrF,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;IACvC,yFAAyF;IACzF,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,WAAW,GAAG,WAAW,CAAC;CACzE;AAED,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACzC,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;IACb,OAAO,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC/B,8DAA8D;IAC9D,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CAC/C;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAkFvD"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/browser/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,qFAAqF;AACrF,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAGxC;CACF;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,OAAO,IAAI,OAAO,CAAC;IACnB,aAAa,IAAI,IAAI,CAAC;IACtB,0FAA0F;IAC1F,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACxD,qFAAqF;IACrF,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;IACvC,yFAAyF;IACzF,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,WAAW,GAAG,WAAW,CAAC;CACzE;AAED,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACzC,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;IACb,OAAO,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC/B,8DAA8D;IAC9D,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CAC/C;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAoFvD"}
@@ -6,7 +6,7 @@ import {
6
6
  composeAgentPrompt,
7
7
  createAgentRuntime,
8
8
  createAgentRuntimeEventSink
9
- } from "../../index-xwhjjw2x.js";
9
+ } from "../../index-f4fx2tza.js";
10
10
  import"../../index-83bdg97s.js";
11
11
  import"../../index-y64k3s0h.js";
12
12
  import {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  createSqliteAgentRuntimeStore,
3
3
  initializeAgentRuntimeSqlite
4
- } from "../../../index-y9qn426m.js";
4
+ } from "../../../index-eaysmdtq.js";
5
5
  import"../../../index-crykmqkr.js";
6
- import"../../../index-0b1cnze2.js";
6
+ import"../../../index-vqr7f7v8.js";
7
7
  import"../../../index-cyktc4bp.js";
8
8
  import"../../../index-gtj3zc53.js";
9
9
  import"../../../index-k5hsfc3j.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  createSqliteAgentRuntimeStore,
3
3
  initializeAgentRuntimeSqlite
4
- } from "../../../index-y9qn426m.js";
4
+ } from "../../../index-eaysmdtq.js";
5
5
  import"../../../index-crykmqkr.js";
6
- import"../../../index-0b1cnze2.js";
6
+ import"../../../index-vqr7f7v8.js";
7
7
  import"../../../index-cyktc4bp.js";
8
8
  import"../../../index-gtj3zc53.js";
9
9
  import"../../../index-k5hsfc3j.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createMemoryAgentRuntimeStore
3
- } from "../../index-s84he4v7.js";
4
- import"../../index-0b1cnze2.js";
3
+ } from "../../index-10x2hbx0.js";
4
+ import"../../index-vqr7f7v8.js";
5
5
  import {
6
6
  decodeAgentConversationArchive
7
7
  } from "../../index-cyktc4bp.js";
@@ -29,7 +29,7 @@ import {
29
29
  renderAgentStateSlots,
30
30
  repairedSearchCall,
31
31
  selectAgentHistory
32
- } from "../index-xwhjjw2x.js";
32
+ } from "../index-f4fx2tza.js";
33
33
  import"../index-83bdg97s.js";
34
34
  import {
35
35
  AgentAdmissionEventSchema,
@@ -83,7 +83,7 @@ import {
83
83
  } from "../index-qmy6zq75.js";
84
84
  import {
85
85
  createMemoryAgentRuntimeStore
86
- } from "../index-s84he4v7.js";
86
+ } from "../index-10x2hbx0.js";
87
87
  import {
88
88
  ACTIVE_AGENT_RUN_STATES,
89
89
  AgentAdmissionReceiptSchema,
@@ -96,7 +96,7 @@ import {
96
96
  AgentStoredRunSchema,
97
97
  createAgentRuntimeStore,
98
98
  purgeAgentConversation
99
- } from "../index-0b1cnze2.js";
99
+ } from "../index-vqr7f7v8.js";
100
100
  import {
101
101
  AcceptInputAndAssignRunSchema,
102
102
  AcquireAgentRunSchema,
@@ -1810,11 +1810,14 @@ var RuntimeSummarySchema = z7.object({
1810
1810
  }).strict();
1811
1811
  var agentSummaryProjection = defineAgentProjection({
1812
1812
  name: "summary",
1813
- version: 1,
1813
+ version: 2,
1814
1814
  schema: RuntimeSummarySchema,
1815
1815
  initial: () => ({ eventCount: 0, lastSeq: 0 }),
1816
1816
  fold: (state, event) => {
1817
- const request = event.kind === "provider/request" ? z7.object({ modelId: z7.string().optional() }).passthrough().safeParse(event.payload) : undefined;
1817
+ const request = event.kind === "provider/request" ? z7.object({
1818
+ modelId: z7.string().optional(),
1819
+ sent: z7.object({ modelId: z7.string() }).passthrough().optional()
1820
+ }).passthrough().transform((payload) => ({ modelId: payload.modelId ?? payload.sent?.modelId })).safeParse(event.payload) : undefined;
1818
1821
  return {
1819
1822
  eventCount: state.eventCount + 1,
1820
1823
  lastSeq: event.seq,
@@ -2112,8 +2115,16 @@ function holdsClaim(raw, firing, at) {
2112
2115
  }).parse(raw);
2113
2116
  return row.state === "scheduled" && row.claim_owner === firing.owner && row.claim_until !== null && row.claim_until > at && row.occurrence === firing.schedule.occurrence && row.next_at === firing.schedule.nextAt;
2114
2117
  }
2115
- async function recordDispatchFailure(sqlite, firing, reason, terminal = false) {
2118
+ var MAX_FAILURE_REASON = 1000;
2119
+ function nextSlot(schedule, observedAt, intervalMs) {
2120
+ const due = new Date(schedule.nextAt).getTime();
2121
+ const slots = Math.max(1, Math.floor((observedAt.getTime() - due) / intervalMs) + 1);
2122
+ return new Date(due + slots * intervalMs).toISOString();
2123
+ }
2124
+ async function recordDispatchFailure(sqlite, firing, reason, maxAttempts, explicitlyTerminal = false) {
2116
2125
  const { schedule, occurrence } = firing;
2126
+ const characters = Array.from(reason);
2127
+ const message = characters.length > MAX_FAILURE_REASON ? `${characters.slice(0, MAX_FAILURE_REASON).join("")}…` : reason;
2117
2128
  await sqlite.transaction(async (scope) => {
2118
2129
  const at = firing.now().toISOString();
2119
2130
  const raw = scope.database.prepare(`
@@ -2123,17 +2134,43 @@ async function recordDispatchFailure(sqlite, firing, reason, terminal = false) {
2123
2134
  if (!holdsClaim(raw, firing, at))
2124
2135
  return;
2125
2136
  const attempts = Math.min((schedule.attempts ?? 0) + 1, Number.MAX_SAFE_INTEGER);
2137
+ const exhausted = !explicitlyTerminal && attempts >= maxAttempts;
2138
+ if (exhausted && schedule.kind === "every" && schedule.intervalMs) {
2139
+ const nextAt = nextSlot(schedule, firing.now(), schedule.intervalMs);
2140
+ scope.database.prepare(`
2141
+ UPDATE stitchkit_agent_runtime_schedules
2142
+ SET state = 'scheduled', occurrence = ?, next_at = ?, retry_at = NULL, attempts = 0,
2143
+ last_error = ?, claim_owner = NULL, claim_until = NULL, updated_at = ? WHERE id = ?
2144
+ `).run(occurrence, nextAt, message, at, schedule.id);
2145
+ await scope.appendEvent({
2146
+ conversationId: schedule.conversationId,
2147
+ kind: "schedule/failed",
2148
+ occurredAt: at,
2149
+ payload: {
2150
+ id: schedule.id,
2151
+ occurrence,
2152
+ message,
2153
+ attempts,
2154
+ retryAt: null,
2155
+ terminal: false,
2156
+ skipped: true,
2157
+ nextAt
2158
+ }
2159
+ });
2160
+ return;
2161
+ }
2162
+ const terminal = explicitlyTerminal || exhausted;
2126
2163
  const retryAt = terminal ? null : new Date(new Date(at).getTime() + Math.min(60000, 1000 * 2 ** Math.min(attempts - 1, 6))).toISOString();
2127
2164
  scope.database.prepare(`
2128
2165
  UPDATE stitchkit_agent_runtime_schedules
2129
2166
  SET state = ?, retry_at = ?, attempts = ?, last_error = ?,
2130
2167
  claim_owner = NULL, claim_until = NULL, updated_at = ? WHERE id = ?
2131
- `).run(terminal ? "failed" : "scheduled", retryAt, attempts, reason, at, schedule.id);
2168
+ `).run(terminal ? "failed" : "scheduled", retryAt, attempts, message, at, schedule.id);
2132
2169
  await scope.appendEvent({
2133
2170
  conversationId: schedule.conversationId,
2134
2171
  kind: "schedule/failed",
2135
2172
  occurredAt: at,
2136
- payload: { id: schedule.id, occurrence, message: reason, attempts, retryAt, terminal }
2173
+ payload: { id: schedule.id, occurrence, message, attempts, retryAt, terminal }
2137
2174
  });
2138
2175
  });
2139
2176
  }
@@ -2143,12 +2180,7 @@ async function settleFiring(sqlite, firing, lateByMs) {
2143
2180
  await sqlite.transaction(async (scope) => {
2144
2181
  const observedAt = firing.now();
2145
2182
  const at = observedAt.toISOString();
2146
- let nextAt = schedule.nextAt;
2147
- if (schedule.kind === "every" && schedule.intervalMs) {
2148
- const due = new Date(schedule.nextAt).getTime();
2149
- const slots = Math.max(1, Math.floor((observedAt.getTime() - due) / schedule.intervalMs) + 1);
2150
- nextAt = new Date(due + slots * schedule.intervalMs).toISOString();
2151
- }
2183
+ const nextAt = schedule.kind === "every" && schedule.intervalMs ? nextSlot(schedule, observedAt, schedule.intervalMs) : schedule.nextAt;
2152
2184
  const raw = scope.database.prepare(`
2153
2185
  SELECT state, claim_owner, claim_until, occurrence, next_at
2154
2186
  FROM stitchkit_agent_runtime_schedules WHERE id = ?
@@ -2237,15 +2269,15 @@ async function dispatchSchedule(context, schedule) {
2237
2269
  })
2238
2270
  ]);
2239
2271
  const firing = { schedule, occurrence, now: context.now, owner };
2240
- if (outcome === undefined) {
2272
+ const failure = AgentScheduleDeliveryOutcomeSchema.safeParse(outcome);
2273
+ if (!failure.success) {
2241
2274
  await settleFiring(context.sqlite, firing, lateByMs);
2242
2275
  } else {
2243
- const failure = AgentScheduleDeliveryOutcomeSchema.parse(outcome);
2244
- await recordDispatchFailure(context.sqlite, firing, failure.reason, failure.status === "terminal");
2276
+ await recordDispatchFailure(context.sqlite, firing, failure.data.reason, context.maxAttempts, failure.data.status === "terminal");
2245
2277
  }
2246
2278
  } catch (error) {
2247
2279
  if (!context.signal.aborted) {
2248
- await recordDispatchFailure(context.sqlite, { schedule, occurrence, now: context.now, owner }, error instanceof Error ? error.message : String(error));
2280
+ await recordDispatchFailure(context.sqlite, { schedule, occurrence, now: context.now, owner }, error instanceof Error ? error.message : String(error), context.maxAttempts);
2249
2281
  }
2250
2282
  } finally {
2251
2283
  context.clearTimer(timer);
@@ -2255,6 +2287,7 @@ async function dispatchSchedule(context, schedule) {
2255
2287
 
2256
2288
  // src/agent-runtime/schedules.ts
2257
2289
  function createAgentScheduleService(input) {
2290
+ const maxAttempts = z11.number().int().min(1).parse(input.maxAttempts ?? 1000);
2258
2291
  const now = input.now ?? (() => new Date);
2259
2292
  const database = input.sqlite.database;
2260
2293
  const setTimer = input.setTimer ?? ((callback, delay) => setTimeout(callback, delay));
@@ -2317,7 +2350,8 @@ function createAgentScheduleService(input) {
2317
2350
  now,
2318
2351
  setTimer,
2319
2352
  clearTimer,
2320
- signal: lifecycle.signal
2353
+ signal: lifecycle.signal,
2354
+ maxAttempts
2321
2355
  }, schedule)));
2322
2356
  const failed = results.find((result) => result.status === "rejected");
2323
2357
  if (failed?.status === "rejected")
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  attemptExclusiveLock
3
- } from "../../index-js7gqrb1.js";
3
+ } from "../../index-c6bxbsnc.js";
4
4
  import {
5
5
  DiagnosticJournalCloseResultSchema,
6
6
  DiagnosticJournalFrameSchema,
@@ -11,10 +11,10 @@ export { type ApplicationAdmission, ApplicationAdmissionError, type ApplicationC
11
11
  export { defineKeyspace, type KeyspaceBackend, type KeyspaceChange, type KeyspaceDeclaration, type KeyspaceResourceConfig, keyspaceResource, memoryKeyspaceBackend, type OpenedKeyspace, type OpenKeyspace, openKeyspace, } from '../application/keyspace.js';
12
12
  export { type SqliteKeyspaceBackendConfig, sqliteKeyspaceBackend, } from '../application/keyspace-sqlite.js';
13
13
  export { type ApplicationSnapshotSink, type ApplicationSnapshotSinkConfig, type ApplicationSnapshotSinkError, type ApplicationSnapshotSinkStatus, ApplicationSnapshotSinkStatusSchema, createApplicationSnapshotSink, type RevisionedApplicationSnapshot, } from '../application/latest-sink.js';
14
- export { type NotificationDeliveryConfig, type NotificationDeliveryState, NotificationDeliveryStateSchema, } from '../application/notification-delivery.js';
14
+ export { type NotificationDeliveryConfig, type NotificationDeliveryState, NotificationDeliveryStateSchema, NotificationPlanVersionError, type NotificationProjection, } from '../application/notification-delivery.js';
15
15
  export { createNotificationOutbox, type DroppedNotification, type EnqueueNotification, type NotificationFailureClassification, type NotificationOutbox, type NotificationOutboxConfig, type NotificationOutboxItem, type NotificationOutboxReceipt, type NotificationOutboxResource, type NotificationOutboxResourceConfig, type NotificationOutboxState, type NotificationSend, notificationOutboxResource, notificationOutboxStateSchema, } from '../application/notification-outbox.js';
16
16
  export { createProcessLifecycleLedger, type LifecycleLedgerResource, type LifecycleLedgerResourceConfig, lifecycleLedgerResource, type ProcessLifecycleLedger, type ProcessLifecycleLedgerConfig, } from '../application/process-lifecycle.js';
17
- export { type DrainingFact, type LifecycleRun, LifecycleRunSchema, type LifecycleState, LifecycleStateSchema, type LifecycleTermination, LifecycleTerminationSchema, type LifecycleTransition, type PreviousExit, PreviousExitSchema, type ProcessLifecycleFact, type ReadyFact, type SameVersionOverlap, type ShutdownFact, type StartFact, type TransitionRunInput, type TransitionShutdownInput, type TransitionStartInput, transitionProcessDraining, transitionProcessReady, transitionProcessShutdown, transitionProcessStart, } from '../application/process-lifecycle-transitions.js';
17
+ export { type DrainingFact, type LifecycleRun, LifecycleRunSchema, type LifecycleState, LifecycleStateSchema, type LifecycleTermination, LifecycleTerminationSchema, type LifecycleTransition, type PreviousExit, PreviousExitSchema, type ProcessLifecycleFact, type ReadyFact, type SameVersionOverlap, type ShutdownFact, type StartFact, type TransitionRunInput, type TransitionShutdownInput, type TransitionStartInput, transitionProcessDraining, transitionProcessReady, transitionProcessShutdown, transitionProcessStart, type VersionChangeOverlap, } from '../application/process-lifecycle-transitions.js';
18
18
  export { defineManagedResource, type ManagedResource, type ManagedResourceAdmission, type ManagedResourceContext, type ManagedResourceDependency, type ManagedResourcePublished, type ManagedResourcePublishesNoValue, type ManagedResourceStartResult, managedResourceDependencyId, } from '../application/resource.js';
19
19
  export { createRevisionSignal, type RevisionSignal, type RevisionSignalAdvanceResult, RevisionSignalAdvanceResultSchema, type RevisionSignalClock, type RevisionSignalConfig, type RevisionSignalSnapshot, RevisionSignalSnapshotSchema, type RevisionSignalState, RevisionSignalStateSchema, type RevisionSignalTimer, type RevisionSignalWaitOptions, type RevisionSignalWaitOutcome, RevisionSignalWaitOutcomeSchema, type RevisionSignalWaitResult, RevisionSignalWaitResultSchema, } from '../application/revision-signal.js';
20
20
  export { createManagedSchedule, type ManagedSchedule, type ManagedScheduleClock, type ManagedScheduleConfig, type ManagedScheduleDescriptor, ManagedScheduleDescriptorSchema, type ManagedScheduleErrorPolicy, ManagedScheduleErrorPolicySchema, type ManagedScheduleOverlap, ManagedScheduleOverlapSchema, type ManagedScheduleRunContext, type ManagedScheduleStatus, ManagedScheduleStatusSchema, type ManagedScheduleTimer, } from '../application/schedule.js';
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/entrypoints/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/entrypoints/application.ts"],"names":[],"mappings":"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"}