@torkbot/sledge 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-ledger-engine.js","sourceRoot":"","sources":["../../src/ledger/database-ledger-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,233 @@
1
+ import type { Static, TSchema } from "@sinclair/typebox";
2
+ import type { RuntimeClock, RuntimeScheduler } from "../runtime/contracts.ts";
3
+ /**
4
+ * Optional knobs for producer-side event emission.
5
+ */
6
+ export type EmitOptions = {
7
+ readonly dedupeKey?: string;
8
+ };
9
+ /**
10
+ * Optional knobs for event->work materialization.
11
+ */
12
+ export type EnqueueOptions = {
13
+ readonly availableAtMs?: number;
14
+ };
15
+ /**
16
+ * One query contract definition.
17
+ */
18
+ export type QuerySchema<TParamsSchema extends TSchema, TResultSchema extends TSchema> = {
19
+ readonly params: TParamsSchema;
20
+ readonly result: TResultSchema;
21
+ };
22
+ type AnyQuerySchema = QuerySchema<TSchema, TSchema>;
23
+ /**
24
+ * Index input schema keyed in model definitions.
25
+ */
26
+ export type IndexerDefinition<TInputSchema extends TSchema> = TInputSchema;
27
+ /**
28
+ * Query contract keyed in model definitions.
29
+ */
30
+ export type QueryDefinition<TParamsSchema extends TSchema, TResultSchema extends TSchema> = QuerySchema<TParamsSchema, TResultSchema>;
31
+ /**
32
+ * Durable event envelope shared by projectors and materializers.
33
+ */
34
+ export type EventEnvelope<TEvents extends Record<string, TSchema>, TEventName extends keyof TEvents> = {
35
+ readonly eventId: number;
36
+ readonly tsMs: number;
37
+ readonly eventName: TEventName;
38
+ readonly payload: Static<TEvents[TEventName]>;
39
+ readonly causationEventId: number | null;
40
+ readonly dedupeKey: string | null;
41
+ };
42
+ /**
43
+ * Queue work payload passed into one handler attempt.
44
+ */
45
+ export type QueueWorkItem<TQueues extends Record<string, TSchema>, TQueueName extends keyof TQueues> = {
46
+ readonly workId: number;
47
+ readonly queueName: TQueueName;
48
+ readonly payload: Static<TQueues[TQueueName]>;
49
+ readonly attempt: number;
50
+ readonly sourceEventId: number;
51
+ };
52
+ /**
53
+ * Queue work lease metadata for one active work attempt.
54
+ */
55
+ export interface LeaseHold extends AsyncDisposable {
56
+ /**
57
+ * Cancellation signal for the held lease. This aliases the parent lease
58
+ * signal so call sites can thread `leaseHold.signal` and make the hold scope
59
+ * visibly meaningful in code.
60
+ */
61
+ readonly signal: AbortSignal;
62
+ }
63
+ export interface WorkLease<TQueues extends Record<string, TSchema>, TQueueName extends keyof TQueues> {
64
+ readonly workId: number;
65
+ readonly queueName: TQueueName;
66
+ readonly sourceEventId: number;
67
+ readonly attempt: number;
68
+ readonly leaseId: string;
69
+ readonly leaseAcquiredAtMs: number;
70
+ readonly leaseExpiresAtMs: number;
71
+ readonly signal: AbortSignal;
72
+ /**
73
+ * Hold and actively renew this lease until the returned scope is disposed.
74
+ *
75
+ * Handlers should use `await using` for long-running operations (LLM streams,
76
+ * external API calls, etc.) to prevent lease expiry while still allowing
77
+ * cooperative cancellation through `signal`.
78
+ */
79
+ hold(): LeaseHold;
80
+ }
81
+ /**
82
+ * Runtime implementations bound to index and query schema contracts.
83
+ */
84
+ export type LedgerImplementations<TIndexers extends Record<string, TSchema>, TQueries extends Record<string, AnyQuerySchema>> = {
85
+ readonly indexers: {
86
+ readonly [TIndexName in keyof TIndexers]: (input: Static<TIndexers[TIndexName]>) => void | Promise<void>;
87
+ };
88
+ readonly queries: {
89
+ readonly [TQueryName in keyof TQueries]: (params: Static<TQueries[TQueryName]["params"]>) => unknown | Promise<unknown>;
90
+ };
91
+ };
92
+ /**
93
+ * Runtime actions available while handling one queue work attempt.
94
+ */
95
+ export interface QueueActions<TEvents extends Record<string, TSchema>, TQueries extends Record<string, AnyQuerySchema>> {
96
+ emit<const TEventName extends keyof TEvents>(eventName: TEventName, event: Static<TEvents[TEventName]>, options?: EmitOptions): void;
97
+ query<const TQueryName extends keyof TQueries>(queryName: TQueryName, params: Static<TQueries[TQueryName]["params"]>): Promise<Static<TQueries[TQueryName]["result"]>>;
98
+ }
99
+ /**
100
+ * Runtime actions available while projecting an event into indexes.
101
+ */
102
+ export interface ProjectionActions<TIndexers extends Record<string, TSchema>> {
103
+ index<const TIndexName extends keyof TIndexers>(indexName: TIndexName, input: Static<TIndexers[TIndexName]>): Promise<void>;
104
+ }
105
+ /**
106
+ * Explicit completion result for one queue work attempt.
107
+ */
108
+ export type QueueHandlerOutcome = {
109
+ readonly outcome: "ack";
110
+ } | {
111
+ readonly outcome: "retry";
112
+ readonly error: string;
113
+ readonly retryAtMs?: number;
114
+ } | {
115
+ readonly outcome: "dead_letter";
116
+ readonly error: string;
117
+ };
118
+ /**
119
+ * Ledger model definition surface.
120
+ */
121
+ export interface LedgerModel<TEvents extends Record<string, TSchema>, TQueues extends Record<string, TSchema>, TIndexers extends Record<string, TSchema>, TQueries extends Record<string, AnyQuerySchema>> {
122
+ readonly events: TEvents;
123
+ readonly queues: TQueues;
124
+ readonly indexers: TIndexers;
125
+ readonly queries: TQueries;
126
+ }
127
+ /**
128
+ * Event->work materialization function.
129
+ */
130
+ export type MaterializerFunction<TEvents extends Record<string, TSchema>, TEventName extends keyof TEvents, TQueues extends Record<string, TSchema>> = (input: {
131
+ readonly event: EventEnvelope<TEvents, TEventName>;
132
+ readonly actions: {
133
+ readonly enqueue: <const TQueueName extends keyof TQueues>(queueName: TQueueName, payload: Static<TQueues[TQueueName]>, options?: EnqueueOptions) => void;
134
+ };
135
+ }) => void | Promise<void>;
136
+ /**
137
+ * Event->index projection function.
138
+ */
139
+ export type ProjectorFunction<TEvents extends Record<string, TSchema>, TEventName extends keyof TEvents, TIndexers extends Record<string, TSchema>> = (input: {
140
+ readonly event: EventEnvelope<TEvents, TEventName>;
141
+ readonly actions: ProjectionActions<TIndexers>;
142
+ }) => void | Promise<void>;
143
+ /**
144
+ * Queue work handler function.
145
+ */
146
+ export type QueueHandlerFunction<TEvents extends Record<string, TSchema>, TQueues extends Record<string, TSchema>, TQueueName extends keyof TQueues, TQueries extends Record<string, AnyQuerySchema>> = (input: {
147
+ readonly work: QueueWorkItem<TQueues, TQueueName>;
148
+ readonly lease: WorkLease<TQueues, TQueueName>;
149
+ readonly actions: QueueActions<TEvents, TQueries>;
150
+ }) => QueueHandlerOutcome | Promise<QueueHandlerOutcome>;
151
+ /**
152
+ * Builder API used to register model behavior.
153
+ */
154
+ export interface LedgerBuilder<TEvents extends Record<string, TSchema>, TQueues extends Record<string, TSchema>, TIndexers extends Record<string, TSchema>, TQueries extends Record<string, AnyQuerySchema>> {
155
+ project<const TEventName extends keyof TEvents>(eventName: TEventName, projector: ProjectorFunction<TEvents, TEventName, TIndexers>): this;
156
+ materialize<const TEventName extends keyof TEvents>(eventName: TEventName, materializer: MaterializerFunction<TEvents, TEventName, TQueues>): this;
157
+ handle<const TQueueName extends keyof TQueues>(queueName: TQueueName, handler: QueueHandlerFunction<TEvents, TQueues, TQueueName, TQueries>): this;
158
+ }
159
+ /**
160
+ * Registration callback used to define model behavior.
161
+ */
162
+ export type RegisterFunction<TEvents extends Record<string, TSchema>, TQueues extends Record<string, TSchema>, TIndexers extends Record<string, TSchema>, TQueries extends Record<string, AnyQuerySchema>> = (builder: LedgerBuilder<TEvents, TQueues, TIndexers, TQueries>) => void;
163
+ /**
164
+ * Running ledger runtime surface.
165
+ */
166
+ export interface Ledger<TEvents extends Record<string, TSchema>, TQueries extends Record<string, AnyQuerySchema>> extends AsyncDisposable {
167
+ emit<const TEventName extends keyof TEvents>(eventName: TEventName, event: Static<TEvents[TEventName]>, options?: EmitOptions): Promise<void>;
168
+ query<const TQueryName extends keyof TQueries>(queryName: TQueryName, params: Static<TQueries[TQueryName]["params"]>): Promise<Static<TQueries[TQueryName]["result"]>>;
169
+ close(): Promise<void>;
170
+ }
171
+ /**
172
+ * Runtime dependencies injected into ledger orchestration.
173
+ */
174
+ export type LedgerTiming = {
175
+ readonly clock: RuntimeClock;
176
+ readonly scheduler: RuntimeScheduler;
177
+ };
178
+ /**
179
+ * SQLite contention retry tuning for busy lock conflicts.
180
+ */
181
+ export type BusyRetryPolicy = {
182
+ /**
183
+ * Maximum number of retries after a SQLITE_BUSY conflict before failing.
184
+ */
185
+ readonly maxBusyRetries?: number;
186
+ /**
187
+ * Upper bound for exponential backoff between SQLITE_BUSY retries.
188
+ */
189
+ readonly maxBusyRetryDelayMs?: number;
190
+ };
191
+ export type BoundLedgerModel<TEvents extends Record<string, TSchema>, TQueues extends Record<string, TSchema>, TIndexers extends Record<string, TSchema>, TQueries extends Record<string, AnyQuerySchema>> = {
192
+ readonly model: LedgerModel<TEvents, TQueues, TIndexers, TQueries>;
193
+ readonly register: RegisterFunction<TEvents, TQueues, TIndexers, TQueries>;
194
+ readonly implementations: LedgerImplementations<TIndexers, TQueries>;
195
+ };
196
+ export type DefinedLedgerModel<TEvents extends Record<string, TSchema>, TQueues extends Record<string, TSchema>, TIndexers extends Record<string, TSchema>, TQueries extends Record<string, AnyQuerySchema>> = {
197
+ readonly model: LedgerModel<TEvents, TQueues, TIndexers, TQueries>;
198
+ readonly register: RegisterFunction<TEvents, TQueues, TIndexers, TQueries>;
199
+ bind(implementations: LedgerImplementations<TIndexers, TQueries>): BoundLedgerModel<TEvents, TQueues, TIndexers, TQueries>;
200
+ };
201
+ export declare function defineLedgerModel<const TEvents extends Record<string, TSchema>, const TQueues extends Record<string, TSchema>, const TIndexers extends Record<string, TSchema>, const TQueries extends Record<string, AnyQuerySchema>>(input: {
202
+ readonly events: TEvents;
203
+ readonly queues: TQueues;
204
+ readonly indexers: TIndexers;
205
+ readonly queries: TQueries;
206
+ readonly register: RegisterFunction<TEvents, TQueues, TIndexers, TQueries>;
207
+ }): DefinedLedgerModel<TEvents, TQueues, TIndexers, TQueries>;
208
+ /**
209
+ * Backend runtime factory capability.
210
+ */
211
+ export interface LedgerEngineFactory {
212
+ openLedger<TEvents extends Record<string, TSchema>, TQueues extends Record<string, TSchema>, TIndexers extends Record<string, TSchema>, TQueries extends Record<string, AnyQuerySchema>>(input: {
213
+ readonly boundModel: BoundLedgerModel<TEvents, TQueues, TIndexers, TQueries>;
214
+ readonly timing: LedgerTiming;
215
+ readonly leaseMs?: number;
216
+ readonly defaultRetryDelayMs?: number;
217
+ readonly maxInFlight?: number;
218
+ readonly maxBusyRetries?: number;
219
+ readonly maxBusyRetryDelayMs?: number;
220
+ }): Ledger<TEvents, TQueries>;
221
+ }
222
+ export declare function createLedger<const TEvents extends Record<string, TSchema>, const TQueues extends Record<string, TSchema>, const TIndexers extends Record<string, TSchema>, const TQueries extends Record<string, AnyQuerySchema>>(input: {
223
+ readonly boundModel: BoundLedgerModel<TEvents, TQueues, TIndexers, TQueries>;
224
+ readonly engineFactory: LedgerEngineFactory;
225
+ readonly timing: LedgerTiming;
226
+ readonly leaseMs?: number;
227
+ readonly defaultRetryDelayMs?: number;
228
+ readonly maxInFlight?: number;
229
+ readonly maxBusyRetries?: number;
230
+ readonly maxBusyRetryDelayMs?: number;
231
+ }): Ledger<TEvents, TQueries>;
232
+ export {};
233
+ //# sourceMappingURL=ledger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../src/ledger/ledger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ export function defineLedgerModel(input) {
2
+ const model = {
3
+ events: input.events,
4
+ queues: input.queues,
5
+ indexers: input.indexers,
6
+ queries: input.queries,
7
+ };
8
+ return {
9
+ model,
10
+ register: input.register,
11
+ bind: (implementations) => {
12
+ return {
13
+ model,
14
+ register: input.register,
15
+ implementations,
16
+ };
17
+ },
18
+ };
19
+ }
20
+ export function createLedger(input) {
21
+ return input.engineFactory.openLedger({
22
+ boundModel: input.boundModel,
23
+ timing: input.timing,
24
+ leaseMs: input.leaseMs,
25
+ defaultRetryDelayMs: input.defaultRetryDelayMs,
26
+ maxInFlight: input.maxInFlight,
27
+ maxBusyRetries: input.maxBusyRetries,
28
+ maxBusyRetryDelayMs: input.maxBusyRetryDelayMs,
29
+ });
30
+ }
31
+ //# sourceMappingURL=ledger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../src/ledger/ledger.ts"],"names":[],"mappings":"AA4UA,MAAM,UAAU,iBAAiB,CAK/B,KAMD;IACC,MAAM,KAAK,GAAuD;QAChE,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;IAEF,OAAO;QACL,KAAK;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,IAAI,EAAE,CAAC,eAAe,EAAE,EAAE;YACxB,OAAO;gBACL,KAAK;gBACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,eAAe;aAChB,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AA2BD,MAAM,UAAU,YAAY,CAK1B,KASD;IACC,OAAO,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC;QACpC,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;KAC/C,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { Database } from "@tursodatabase/database";
2
+ import type { TSchema } from "@sinclair/typebox";
3
+ import type { Ledger, BoundLedgerModel, LedgerTiming, QuerySchema } from "./ledger.ts";
4
+ type AnyIndexerDef = TSchema;
5
+ type AnyQueryDef = QuerySchema<TSchema, TSchema>;
6
+ type CreateTursoLedgerInput<TEvents extends Record<string, TSchema>, TQueues extends Record<string, TSchema>, TIndexers extends Record<string, AnyIndexerDef>, TQueries extends Record<string, AnyQueryDef>> = {
7
+ readonly database: Database;
8
+ readonly boundModel: BoundLedgerModel<TEvents, TQueues, TIndexers, TQueries>;
9
+ readonly timing: LedgerTiming;
10
+ readonly leaseMs?: number;
11
+ readonly defaultRetryDelayMs?: number;
12
+ readonly maxInFlight?: number;
13
+ readonly maxBusyRetries?: number;
14
+ readonly maxBusyRetryDelayMs?: number;
15
+ };
16
+ export declare function createTursoLedger<const TEvents extends Record<string, TSchema>, const TQueues extends Record<string, TSchema>, const TIndexers extends Record<string, AnyIndexerDef>, const TQueries extends Record<string, AnyQueryDef>>(input: CreateTursoLedgerInput<TEvents, TQueues, TIndexers, TQueries>): Ledger<TEvents, TQueries>;
17
+ export {};
18
+ //# sourceMappingURL=turso-ledger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turso-ledger.d.ts","sourceRoot":"","sources":["../../src/ledger/turso-ledger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,KAAK,EACV,MAAM,EACN,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACZ,MAAM,aAAa,CAAC;AAOrB,KAAK,aAAa,GAAG,OAAO,CAAC;AAC7B,KAAK,WAAW,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAEjD,KAAK,sBAAsB,CACzB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC/C,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAC1C;IACF,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC7E,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC,CAAC;AAEF,wBAAgB,iBAAiB,CAC/B,KAAK,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,KAAK,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,KAAK,CAAC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACrD,KAAK,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EAElD,KAAK,EAAE,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,GACnE,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAkB3B"}
@@ -0,0 +1,50 @@
1
+ import { createDatabaseLedger, } from "./database-ledger-engine.js";
2
+ export function createTursoLedger(input) {
3
+ const sharedInput = {
4
+ database: wrapTursoPromiseDatabase(input.database),
5
+ boundModel: input.boundModel,
6
+ timing: input.timing,
7
+ leaseMs: input.leaseMs,
8
+ defaultRetryDelayMs: input.defaultRetryDelayMs,
9
+ maxInFlight: input.maxInFlight,
10
+ maxBusyRetries: input.maxBusyRetries,
11
+ maxBusyRetryDelayMs: input.maxBusyRetryDelayMs,
12
+ };
13
+ return createDatabaseLedger(sharedInput);
14
+ }
15
+ function wrapTursoPromiseDatabase(database) {
16
+ return {
17
+ exec: async (sql) => {
18
+ await database.exec(sql);
19
+ },
20
+ prepare: (sql) => {
21
+ const statement = database.prepare(sql);
22
+ return {
23
+ run: async (...params) => await statement.run(...params),
24
+ get: async (...params) => {
25
+ const row = await statement.get(...params);
26
+ if (row === undefined) {
27
+ return undefined;
28
+ }
29
+ if (typeof row !== "object" || row === null || Array.isArray(row)) {
30
+ throw new Error("expected row object from turso statement.get");
31
+ }
32
+ return row;
33
+ },
34
+ all: async (...params) => {
35
+ const rows = await statement.all(...params);
36
+ return rows.map((row) => {
37
+ if (typeof row !== "object" || row === null || Array.isArray(row)) {
38
+ throw new Error("expected row object from turso statement.all");
39
+ }
40
+ return row;
41
+ });
42
+ },
43
+ };
44
+ },
45
+ close: async () => {
46
+ await database.close();
47
+ },
48
+ };
49
+ }
50
+ //# sourceMappingURL=turso-ledger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turso-ledger.js","sourceRoot":"","sources":["../../src/ledger/turso-ledger.ts"],"names":[],"mappings":"AASA,OAAO,EACL,oBAAoB,GAGrB,MAAM,6BAA6B,CAAC;AAqBrC,MAAM,UAAU,iBAAiB,CAM/B,KAAoE;IAEpE,MAAM,WAAW,GAKb;QACF,QAAQ,EAAE,wBAAwB,CAAC,KAAK,CAAC,QAAQ,CAAC;QAClD,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;KAC/C,CAAC;IAEF,OAAO,oBAAoB,CAAC,WAAW,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,wBAAwB,CAAC,QAAkB;IAClD,OAAO;QACL,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAClB,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACf,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAExC,OAAO;gBACL,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;gBACxD,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,EAAE;oBACvB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;oBAE3C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;wBACtB,OAAO,SAAS,CAAC;oBACnB,CAAC;oBAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;wBAClE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;oBAClE,CAAC;oBAED,OAAO,GAA8B,CAAC;gBACxC,CAAC;gBACD,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,EAAE;oBACvB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;oBAE5C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;wBACtB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;4BAClE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;wBAClE,CAAC;wBAED,OAAO,GAA8B,CAAC;oBACxC,CAAC,CAAC,CAAC;gBACL,CAAC;aACF,CAAC;QACJ,CAAC;QACD,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Time source used by runtime implementations.
3
+ *
4
+ * Implementations should depend on this abstraction rather than `Date.now()`
5
+ * directly so tests can run with deterministic virtual time.
6
+ */
7
+ export interface RuntimeClock {
8
+ nowMs(): number;
9
+ }
10
+ /**
11
+ * Handle returned by runtime scheduling primitives.
12
+ */
13
+ export interface RuntimeScheduledTask {
14
+ cancel(): void;
15
+ }
16
+ /**
17
+ * Scheduling abstraction used by runtime polling and heartbeat loops.
18
+ *
19
+ * Implementations can back this with real timers in production and virtual
20
+ * schedulers in tests.
21
+ */
22
+ export interface RuntimeScheduler {
23
+ scheduleOnce(delayMs: number, task: () => void): RuntimeScheduledTask;
24
+ scheduleRepeating(everyMs: number, task: () => void): RuntimeScheduledTask;
25
+ }
26
+ //# sourceMappingURL=contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/runtime/contracts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,IAAI,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,IAAI,IAAI,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,oBAAoB,CAAC;IACtE,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,oBAAoB,CAAC;CAC5E"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/runtime/contracts.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import type { RuntimeClock, RuntimeScheduledTask, RuntimeScheduler } from "./contracts.ts";
2
+ /**
3
+ * Production runtime clock implementation based on system wall time.
4
+ */
5
+ export declare class SystemRuntimeClock implements RuntimeClock {
6
+ nowMs(): number;
7
+ }
8
+ /**
9
+ * Production runtime scheduler backed by Node.js timers.
10
+ */
11
+ export declare class NodeRuntimeScheduler implements RuntimeScheduler {
12
+ scheduleOnce(delayMs: number, task: () => void): RuntimeScheduledTask;
13
+ scheduleRepeating(everyMs: number, task: () => void): RuntimeScheduledTask;
14
+ }
15
+ //# sourceMappingURL=node-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/node-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAExB;;GAEG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACrD,KAAK,IAAI,MAAM;CAGhB;AAcD;;GAEG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,oBAAoB;IAQrE,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,oBAAoB;CAO3E"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Production runtime clock implementation based on system wall time.
3
+ */
4
+ export class SystemRuntimeClock {
5
+ nowMs() {
6
+ return Date.now();
7
+ }
8
+ }
9
+ class NodeScheduledTask {
10
+ #cancel;
11
+ constructor(cancel) {
12
+ this.#cancel = cancel;
13
+ }
14
+ cancel() {
15
+ this.#cancel();
16
+ }
17
+ }
18
+ /**
19
+ * Production runtime scheduler backed by Node.js timers.
20
+ */
21
+ export class NodeRuntimeScheduler {
22
+ scheduleOnce(delayMs, task) {
23
+ const handle = setTimeout(task, delayMs);
24
+ return new NodeScheduledTask(() => {
25
+ clearTimeout(handle);
26
+ });
27
+ }
28
+ scheduleRepeating(everyMs, task) {
29
+ const handle = setInterval(task, everyMs);
30
+ return new NodeScheduledTask(() => {
31
+ clearInterval(handle);
32
+ });
33
+ }
34
+ }
35
+ //# sourceMappingURL=node-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-runtime.js","sourceRoot":"","sources":["../../src/runtime/node-runtime.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAC7B,KAAK;QACH,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;CACF;AAED,MAAM,iBAAiB;IACZ,OAAO,CAAa;IAE7B,YAAY,MAAkB;QAC5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAC/B,YAAY,CAAC,OAAe,EAAE,IAAgB;QAC5C,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEzC,OAAO,IAAI,iBAAiB,CAAC,GAAG,EAAE;YAChC,YAAY,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,OAAe,EAAE,IAAgB;QACjD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE1C,OAAO,IAAI,iBAAiB,CAAC,GAAG,EAAE;YAChC,aAAa,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,28 @@
1
+ import type { RuntimeClock, RuntimeScheduledTask, RuntimeScheduler } from "./contracts.ts";
2
+ declare class VirtualRuntimeClock implements RuntimeClock {
3
+ #private;
4
+ constructor(nowMs: number);
5
+ nowMs(): number;
6
+ advanceByMs(ms: number): void;
7
+ }
8
+ declare class VirtualRuntimeScheduler implements RuntimeScheduler {
9
+ #private;
10
+ constructor(clock: VirtualRuntimeClock);
11
+ scheduleOnce(delayMs: number, task: () => void): RuntimeScheduledTask;
12
+ scheduleRepeating(everyMs: number, task: () => void): RuntimeScheduledTask;
13
+ runDue(): void;
14
+ }
15
+ /**
16
+ * Deterministic runtime harness for contract and integration tests.
17
+ */
18
+ export declare class VirtualRuntimeHarness {
19
+ #private;
20
+ constructor(nowMs: number);
21
+ get clock(): VirtualRuntimeClock;
22
+ get scheduler(): VirtualRuntimeScheduler;
23
+ nowMs(): number;
24
+ advanceByMs(ms: number): Promise<void>;
25
+ flush(): Promise<void>;
26
+ }
27
+ export {};
28
+ //# sourceMappingURL=virtual-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"virtual-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/virtual-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAExB,cAAM,mBAAoB,YAAW,YAAY;;gBAGnC,KAAK,EAAE,MAAM;IAIzB,KAAK,IAAI,MAAM;IAIf,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;CAG9B;AAUD,cAAM,uBAAwB,YAAW,gBAAgB;;gBAM3C,KAAK,EAAE,mBAAmB;IAItC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,oBAAoB;IAIrE,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,oBAAoB;IAI1E,MAAM,IAAI,IAAI;CA8Ef;AAED;;GAEG;AACH,qBAAa,qBAAqB;;gBAIpB,KAAK,EAAE,MAAM;IAKzB,IAAI,KAAK,IAAI,mBAAmB,CAE/B;IAED,IAAI,SAAS,IAAI,uBAAuB,CAEvC;IAED,KAAK,IAAI,MAAM;IAIT,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAO7B"}