syncorejs 0.2.1 → 0.2.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 (135) hide show
  1. package/README.md +2 -1
  2. package/dist/_vendor/cli/app.d.mts.map +1 -1
  3. package/dist/_vendor/cli/app.mjs +323 -42
  4. package/dist/_vendor/cli/app.mjs.map +1 -1
  5. package/dist/_vendor/cli/context.mjs +27 -9
  6. package/dist/_vendor/cli/context.mjs.map +1 -1
  7. package/dist/_vendor/cli/doctor.mjs +513 -46
  8. package/dist/_vendor/cli/doctor.mjs.map +1 -1
  9. package/dist/_vendor/cli/messages.mjs +5 -4
  10. package/dist/_vendor/cli/messages.mjs.map +1 -1
  11. package/dist/_vendor/cli/project.mjs +110 -12
  12. package/dist/_vendor/cli/project.mjs.map +1 -1
  13. package/dist/_vendor/cli/render.mjs +57 -9
  14. package/dist/_vendor/cli/render.mjs.map +1 -1
  15. package/dist/_vendor/cli/targets.mjs +4 -3
  16. package/dist/_vendor/cli/targets.mjs.map +1 -1
  17. package/dist/_vendor/core/cli.d.mts +13 -3
  18. package/dist/_vendor/core/cli.d.mts.map +1 -1
  19. package/dist/_vendor/core/cli.mjs +242 -91
  20. package/dist/_vendor/core/cli.mjs.map +1 -1
  21. package/dist/_vendor/core/devtools-auth.mjs +60 -0
  22. package/dist/_vendor/core/devtools-auth.mjs.map +1 -0
  23. package/dist/_vendor/core/index.d.mts +5 -3
  24. package/dist/_vendor/core/index.mjs +22 -2
  25. package/dist/_vendor/core/index.mjs.map +1 -1
  26. package/dist/_vendor/core/runtime/components.d.mts +111 -0
  27. package/dist/_vendor/core/runtime/components.d.mts.map +1 -0
  28. package/dist/_vendor/core/runtime/components.mjs +186 -0
  29. package/dist/_vendor/core/runtime/components.mjs.map +1 -0
  30. package/dist/_vendor/core/runtime/devtools.d.mts +4 -4
  31. package/dist/_vendor/core/runtime/devtools.d.mts.map +1 -1
  32. package/dist/_vendor/core/runtime/devtools.mjs +52 -41
  33. package/dist/_vendor/core/runtime/devtools.mjs.map +1 -1
  34. package/dist/_vendor/core/runtime/functions.d.mts +10 -10
  35. package/dist/_vendor/core/runtime/functions.d.mts.map +1 -1
  36. package/dist/_vendor/core/runtime/functions.mjs +2 -2
  37. package/dist/_vendor/core/runtime/functions.mjs.map +1 -1
  38. package/dist/_vendor/core/runtime/internal/engines/devtoolsEngine.mjs +77 -0
  39. package/dist/_vendor/core/runtime/internal/engines/devtoolsEngine.mjs.map +1 -0
  40. package/dist/_vendor/core/runtime/internal/engines/executionEngine.mjs +617 -0
  41. package/dist/_vendor/core/runtime/internal/engines/executionEngine.mjs.map +1 -0
  42. package/dist/_vendor/core/runtime/internal/engines/reactivityEngine.mjs +186 -0
  43. package/dist/_vendor/core/runtime/internal/engines/reactivityEngine.mjs.map +1 -0
  44. package/dist/_vendor/core/runtime/internal/engines/schedulerEngine.mjs +220 -0
  45. package/dist/_vendor/core/runtime/internal/engines/schedulerEngine.mjs.map +1 -0
  46. package/dist/_vendor/core/runtime/internal/engines/schemaEngine.mjs +203 -0
  47. package/dist/_vendor/core/runtime/internal/engines/schemaEngine.mjs.map +1 -0
  48. package/dist/_vendor/core/runtime/internal/engines/shared.mjs +177 -0
  49. package/dist/_vendor/core/runtime/internal/engines/shared.mjs.map +1 -0
  50. package/dist/_vendor/core/runtime/internal/engines/storageEngine.mjs +144 -0
  51. package/dist/_vendor/core/runtime/internal/engines/storageEngine.mjs.map +1 -0
  52. package/dist/_vendor/core/runtime/internal/runtimeKernel.mjs +220 -0
  53. package/dist/_vendor/core/runtime/internal/runtimeKernel.mjs.map +1 -0
  54. package/dist/_vendor/core/runtime/internal/runtimeStatus.mjs +32 -0
  55. package/dist/_vendor/core/runtime/internal/runtimeStatus.mjs.map +1 -0
  56. package/dist/_vendor/core/runtime/internal/systemMeta.mjs +61 -0
  57. package/dist/_vendor/core/runtime/internal/systemMeta.mjs.map +1 -0
  58. package/dist/_vendor/core/runtime/internal/transactionCoordinator.mjs +37 -0
  59. package/dist/_vendor/core/runtime/internal/transactionCoordinator.mjs.map +1 -0
  60. package/dist/_vendor/core/runtime/runtime.d.mts +159 -205
  61. package/dist/_vendor/core/runtime/runtime.d.mts.map +1 -1
  62. package/dist/_vendor/core/runtime/runtime.mjs +16 -1371
  63. package/dist/_vendor/core/runtime/runtime.mjs.map +1 -1
  64. package/dist/_vendor/core/transport.d.mts +111 -0
  65. package/dist/_vendor/core/transport.d.mts.map +1 -0
  66. package/dist/_vendor/core/transport.mjs +419 -0
  67. package/dist/_vendor/core/transport.mjs.map +1 -0
  68. package/dist/_vendor/devtools-protocol/index.d.ts +39 -1
  69. package/dist/_vendor/devtools-protocol/index.d.ts.map +1 -1
  70. package/dist/_vendor/devtools-protocol/index.js +25 -9
  71. package/dist/_vendor/devtools-protocol/index.js.map +1 -1
  72. package/dist/_vendor/next/index.d.ts +1 -1
  73. package/dist/_vendor/next/index.d.ts.map +1 -1
  74. package/dist/_vendor/next/index.js +31 -13
  75. package/dist/_vendor/next/index.js.map +1 -1
  76. package/dist/_vendor/platform-expo/index.d.ts +12 -12
  77. package/dist/_vendor/platform-expo/index.d.ts.map +1 -1
  78. package/dist/_vendor/platform-expo/index.js +4 -2
  79. package/dist/_vendor/platform-expo/index.js.map +1 -1
  80. package/dist/_vendor/platform-expo/react.d.ts.map +1 -1
  81. package/dist/_vendor/platform-expo/react.js +11 -10
  82. package/dist/_vendor/platform-expo/react.js.map +1 -1
  83. package/dist/_vendor/platform-node/index.d.mts +23 -19
  84. package/dist/_vendor/platform-node/index.d.mts.map +1 -1
  85. package/dist/_vendor/platform-node/index.mjs +13 -5
  86. package/dist/_vendor/platform-node/index.mjs.map +1 -1
  87. package/dist/_vendor/platform-node/ipc-react.d.mts.map +1 -1
  88. package/dist/_vendor/platform-node/ipc-react.mjs +15 -2
  89. package/dist/_vendor/platform-node/ipc-react.mjs.map +1 -1
  90. package/dist/_vendor/platform-node/ipc.d.mts +11 -35
  91. package/dist/_vendor/platform-node/ipc.d.mts.map +1 -1
  92. package/dist/_vendor/platform-node/ipc.mjs +3 -273
  93. package/dist/_vendor/platform-node/ipc.mjs.map +1 -1
  94. package/dist/_vendor/platform-web/external-change.d.ts +2 -1
  95. package/dist/_vendor/platform-web/external-change.d.ts.map +1 -1
  96. package/dist/_vendor/platform-web/external-change.js +2 -1
  97. package/dist/_vendor/platform-web/external-change.js.map +1 -1
  98. package/dist/_vendor/platform-web/index.d.ts +21 -21
  99. package/dist/_vendor/platform-web/index.d.ts.map +1 -1
  100. package/dist/_vendor/platform-web/index.js +44 -7
  101. package/dist/_vendor/platform-web/index.js.map +1 -1
  102. package/dist/_vendor/platform-web/react.d.ts.map +1 -1
  103. package/dist/_vendor/platform-web/react.js +29 -13
  104. package/dist/_vendor/platform-web/react.js.map +1 -1
  105. package/dist/_vendor/platform-web/worker.d.ts +11 -35
  106. package/dist/_vendor/platform-web/worker.d.ts.map +1 -1
  107. package/dist/_vendor/platform-web/worker.js +3 -267
  108. package/dist/_vendor/platform-web/worker.js.map +1 -1
  109. package/dist/_vendor/react/index.d.ts +36 -20
  110. package/dist/_vendor/react/index.d.ts.map +1 -1
  111. package/dist/_vendor/react/index.js +279 -57
  112. package/dist/_vendor/react/index.js.map +1 -1
  113. package/dist/_vendor/schema/definition.d.ts +48 -63
  114. package/dist/_vendor/schema/definition.d.ts.map +1 -1
  115. package/dist/_vendor/schema/definition.js +22 -39
  116. package/dist/_vendor/schema/definition.js.map +1 -1
  117. package/dist/_vendor/schema/index.d.ts +4 -4
  118. package/dist/_vendor/schema/index.js +2 -2
  119. package/dist/_vendor/schema/planner.d.ts +19 -2
  120. package/dist/_vendor/schema/planner.d.ts.map +1 -1
  121. package/dist/_vendor/schema/planner.js +79 -3
  122. package/dist/_vendor/schema/planner.js.map +1 -1
  123. package/dist/_vendor/schema/validators.d.ts +141 -121
  124. package/dist/_vendor/schema/validators.d.ts.map +1 -1
  125. package/dist/_vendor/schema/validators.js +300 -42
  126. package/dist/_vendor/schema/validators.js.map +1 -1
  127. package/dist/_vendor/svelte/index.d.ts +47 -19
  128. package/dist/_vendor/svelte/index.d.ts.map +1 -1
  129. package/dist/_vendor/svelte/index.js +250 -20
  130. package/dist/_vendor/svelte/index.js.map +1 -1
  131. package/dist/components.d.ts +2 -0
  132. package/dist/components.js +2 -0
  133. package/dist/index.d.ts +3 -2
  134. package/dist/index.js +2 -1
  135. package/package.json +8 -3
@@ -1,13 +1,15 @@
1
- import { FunctionArgsFromDefinition, FunctionKindFromDefinition, FunctionReference, FunctionResultFromDefinition, MisfirePolicy, RecurringJobDefinition, RecurringSchedule, SyncoreFunctionKind } from "./functions.mjs";
2
- import { InferDocument, InferTableInput, SyncoreSchema, Validator } from "../../schema/index.d.ts";
1
+ import { FunctionArgs, FunctionArgsFromDefinition, FunctionKindFromDefinition, FunctionReference, FunctionResultFromDefinition, MisfirePolicy, RecurringJobDefinition, RecurringSchedule, SyncoreFunctionKind } from "./functions.mjs";
2
+ import { ResolvedSyncoreComponent, SyncoreComponentFunctionMetadata } from "./components.mjs";
3
+ import { AnyTableDefinition, InferDocument, InferTableInput, SyncoreSchemaDefinition, TableIndexFields, TableIndexNames, TableSearchIndexConfig, TableSearchIndexNames, Validator } from "../../schema/index.d.ts";
3
4
  import { SyncoreActiveQueryInfo, SyncoreDevtoolsEvent, SyncoreDevtoolsEventOrigin, SyncoreRuntimeSummary } from "../../devtools-protocol/index.d.ts";
4
5
 
5
6
  //#region src/runtime/runtime.d.ts
6
7
  interface RegisteredSyncoreFunction {
7
8
  kind: SyncoreFunctionKind;
8
- argsValidator: Validator<unknown>;
9
- returnsValidator?: Validator<unknown>;
9
+ argsValidator: Validator<unknown, unknown, string>;
10
+ returnsValidator?: Validator<unknown, unknown, string>;
10
11
  handler: RegisteredSyncoreHandler;
12
+ __syncoreComponent?: SyncoreComponentFunctionMetadata;
11
13
  }
12
14
  interface SyncoreFunctionRegistry {
13
15
  readonly [name: string]: RegisteredSyncoreFunction | undefined;
@@ -37,13 +39,34 @@ type SearchQuery = {
37
39
  searchText: string;
38
40
  filters: QueryCondition[];
39
41
  };
40
- type DevtoolsEventMeta = {
41
- origin?: SyncoreDevtoolsEventOrigin;
42
- };
43
42
  interface RunResult {
44
43
  changes: number;
45
44
  lastInsertRowid?: number | string;
46
45
  }
46
+ interface CapabilityDescriptor {
47
+ name: string;
48
+ version: number;
49
+ features?: string[];
50
+ metadata?: Record<string, unknown>;
51
+ optional?: boolean;
52
+ }
53
+ type ImpactScope = "runtime.summary" | "runtime.activeQueries" | "schema.tables" | "scheduler.jobs" | `table:${string}` | `row:${string}:${string}` | `storage:${string}`;
54
+ type ImpactSet = ReadonlySet<ImpactScope>;
55
+ interface ExecutionResult<TResult = unknown> {
56
+ result: TResult;
57
+ changedTables: Set<string>;
58
+ storageChanges: Array<{
59
+ storageId: string;
60
+ reason: Extract<SyncoreExternalChangeReason, "storage-put" | "storage-delete">;
61
+ }>;
62
+ scheduledJobs: string[];
63
+ devtoolsEvents: SyncoreDevtoolsEvent[];
64
+ externalChangeRequests: Array<{
65
+ scope: SyncoreExternalChangeScope;
66
+ reason: SyncoreExternalChangeReason;
67
+ changedScopes: ImpactScope[];
68
+ }>;
69
+ }
47
70
  interface SyncoreSqlDriver {
48
71
  exec(sql: string): Promise<void>;
49
72
  run(sql: string, params?: unknown[]): Promise<RunResult>;
@@ -61,6 +84,7 @@ interface SyncoreExternalChangeEvent {
61
84
  reason: SyncoreExternalChangeReason;
62
85
  timestamp: number;
63
86
  revision?: string;
87
+ changedScopes?: ImpactScope[];
64
88
  changedTables?: string[];
65
89
  storageIds?: string[];
66
90
  }
@@ -73,10 +97,11 @@ interface SyncoreExternalChangeApplier {
73
97
  applyExternalChange(event: SyncoreExternalChangeEvent): Promise<{
74
98
  databaseChanged: boolean;
75
99
  storageChanged: boolean;
100
+ changedScopes: ImpactScope[];
76
101
  }>;
77
102
  }
78
103
  /**
79
- * The binary or text payload written through Syncore storage APIs.
104
+ * The payload used when writing a new object through Syncore storage APIs.
80
105
  */
81
106
  interface StorageWriteInput {
82
107
  data: Uint8Array | ArrayBuffer | string;
@@ -84,7 +109,7 @@ interface StorageWriteInput {
84
109
  fileName?: string;
85
110
  }
86
111
  /**
87
- * Metadata about an object stored through Syncore storage APIs.
112
+ * Metadata describing a stored object managed by the Syncore storage adapter.
88
113
  */
89
114
  interface StorageObject {
90
115
  id: string;
@@ -101,13 +126,17 @@ interface SyncoreStorageAdapter {
101
126
  }
102
127
  interface DevtoolsSink {
103
128
  emit(event: SyncoreDevtoolsEvent): void;
104
- attachRuntime?(runtime: SyncoreRuntime<AnySyncoreSchema>): void;
129
+ attachRuntime?(runtime: SyncoreRuntime<SyncoreDataModel>): void;
105
130
  }
106
131
  interface DevtoolsLiveQuerySnapshot {
107
132
  summary: SyncoreRuntimeSummary;
108
133
  activeQueries: SyncoreActiveQueryInfo[];
109
134
  schemaTables: Array<{
110
135
  name: string;
136
+ displayName?: string;
137
+ owner: "root" | "component";
138
+ componentPath?: string;
139
+ componentName?: string;
111
140
  fields: Array<{
112
141
  name: string;
113
142
  type: string;
@@ -121,11 +150,12 @@ interface DevtoolsLiveQuerySnapshot {
121
150
  documentCount: number;
122
151
  }>;
123
152
  }
124
- type DevtoolsLiveQueryScope = "all" | "runtime.summary" | "runtime.activeQueries" | "schema.tables" | "scheduler.jobs" | `table:${string}`;
153
+ type DevtoolsLiveQueryScope = "all" | "runtime.summary" | "runtime.activeQueries" | "schema.tables" | "scheduler.jobs" | `table:${string}` | `storage:${string}`;
125
154
  interface SchedulerOptions {
126
155
  pollIntervalMs?: number;
127
156
  recurringJobs?: RecurringJobDefinition[];
128
157
  }
158
+ type SyncoreResolvedComponents = readonly ResolvedSyncoreComponent[];
129
159
  interface UpdateScheduledJobOptions {
130
160
  id: string;
131
161
  schedule: RecurringSchedule;
@@ -136,31 +166,21 @@ interface UpdateScheduledJobOptions {
136
166
  interface SyncoreCapabilities {
137
167
  [name: string]: unknown;
138
168
  }
139
- interface SyncoreExperimentalPluginContext<TSchema extends AnySyncoreSchema> {
140
- runtimeId: string;
141
- platform: string;
142
- schema: TSchema;
143
- driver: SyncoreSqlDriver;
144
- storage: SyncoreStorageAdapter;
145
- scheduler?: SchedulerOptions;
146
- devtools?: DevtoolsSink;
147
- emitDevtools(event: SyncoreDevtoolsEvent): void;
148
- }
149
- interface SyncoreExperimentalPlugin<TSchema extends AnySyncoreSchema> {
150
- name: string;
151
- capabilities?: SyncoreCapabilities | ((context: SyncoreExperimentalPluginContext<TSchema>) => SyncoreCapabilities | void);
152
- onStart?(context: SyncoreExperimentalPluginContext<TSchema>): Promise<void> | void;
153
- onStop?(context: SyncoreExperimentalPluginContext<TSchema>): Promise<void> | void;
169
+ interface SyncoreDataModel<TTables extends SyncoreSchemaDefinition = SyncoreSchemaDefinition> {
170
+ readonly tables: TTables;
171
+ getTable(tableName: Extract<keyof TTables, string>): TTables[Extract<keyof TTables, string>];
172
+ tableNames(): Array<Extract<keyof TTables, string>>;
154
173
  }
155
- interface SyncoreRuntimeOptions<TSchema extends AnySyncoreSchema> {
174
+ interface SyncoreRuntimeOptions<TSchema extends SyncoreDataModel> {
156
175
  schema: TSchema;
157
176
  functions: SyncoreFunctionRegistry;
177
+ components?: SyncoreResolvedComponents;
158
178
  driver: SyncoreSqlDriver;
159
179
  storage: SyncoreStorageAdapter;
160
180
  externalChangeSignal?: SyncoreExternalChangeSignal;
161
181
  externalChangeApplier?: SyncoreExternalChangeApplier;
162
182
  capabilities?: SyncoreCapabilities;
163
- experimentalPlugins?: Array<SyncoreExperimentalPlugin<TSchema>>;
183
+ capabilityDescriptors?: CapabilityDescriptor[];
164
184
  platform?: string;
165
185
  devtools?: DevtoolsSink;
166
186
  scheduler?: SchedulerOptions;
@@ -170,283 +190,217 @@ interface PaginationOptions {
170
190
  numItems: number;
171
191
  }
172
192
  interface PaginationResult<TItem> {
173
- /** The current page of results. */
174
193
  page: TItem[];
175
- /** The cursor to pass to the next page request, or `null` when finished. */
176
194
  cursor: string | null;
177
- /** Whether there are no more pages to read. */
178
195
  isDone: boolean;
179
196
  }
197
+ type SyncoreRuntimeStatusKind = "starting" | "ready" | "recovering" | "unavailable" | "error";
198
+ type SyncoreRuntimeStatusReason = "booting" | "rehydrating" | "worker-restarting" | "worker-unavailable" | "ipc-unavailable" | "runtime-unavailable" | "disposed";
199
+ interface SyncoreRuntimeStatus {
200
+ kind: SyncoreRuntimeStatusKind;
201
+ reason?: SyncoreRuntimeStatusReason;
202
+ error?: Error;
203
+ }
204
+ type SyncoreQueryStatus = "loading" | "success" | "error" | "skipped";
205
+ interface SyncoreQueryState<TData> {
206
+ data: TData | undefined;
207
+ error: Error | undefined;
208
+ status: SyncoreQueryStatus;
209
+ runtimeStatus: SyncoreRuntimeStatus;
210
+ isLoading: boolean;
211
+ isError: boolean;
212
+ isReady: boolean;
213
+ }
214
+ type SyncoreQueryRequest<TReference extends FunctionReference<"query"> = FunctionReference<"query">> = (Record<never, never> extends FunctionArgs<TReference> ? {
215
+ query: TReference;
216
+ args?: FunctionArgs<TReference>;
217
+ } : {
218
+ query: TReference;
219
+ args: FunctionArgs<TReference>;
220
+ }) & {
221
+ skip?: boolean;
222
+ };
223
+ type SyncoreQueriesRequest = Record<string, SyncoreQueryRequest>;
224
+ type SyncorePaginatedQueryStatus = "loading" | "ready" | "loadingMore" | "exhausted" | "error";
225
+ interface UsePaginatedQueryResult<TItem> {
226
+ results: TItem[];
227
+ pages: PaginationResult<TItem>[];
228
+ status: SyncorePaginatedQueryStatus;
229
+ error: Error | undefined;
230
+ isLoading: boolean;
231
+ isLoadingMore: boolean;
232
+ hasMore: boolean;
233
+ cursor: string | null;
234
+ runtimeStatus: SyncoreRuntimeStatus;
235
+ loadMore(numItems?: number): Promise<void> | void;
236
+ }
180
237
  interface SyncoreWatch<TValue> {
181
- /** Subscribe to updates for this query watch. */
182
238
  onUpdate(callback: () => void): () => void;
183
- /** Read the latest local query result, if one is available. */
184
239
  localQueryResult(): TValue | undefined;
185
- /** Read the latest local query error, if one is available. */
186
240
  localQueryError(): Error | undefined;
187
- /** Dispose the watch if the implementation exposes explicit cleanup. */
188
241
  dispose?(): void;
189
242
  }
190
243
  interface FilterBuilder {
191
- /** Match documents whose field is exactly equal to a value. */
192
244
  eq(field: string, value: unknown): QueryExpression;
193
- /** Match documents whose field is greater than a value. */
194
245
  gt(field: string, value: unknown): QueryExpression;
195
- /** Match documents whose field is greater than or equal to a value. */
196
246
  gte(field: string, value: unknown): QueryExpression;
197
- /** Match documents whose field is less than a value. */
198
247
  lt(field: string, value: unknown): QueryExpression;
199
- /** Match documents whose field is less than or equal to a value. */
200
248
  lte(field: string, value: unknown): QueryExpression;
201
- /** Combine several filter expressions with logical AND. */
202
249
  and(...expressions: QueryExpression[]): QueryExpression;
203
- /** Combine several filter expressions with logical OR. */
204
250
  or(...expressions: QueryExpression[]): QueryExpression;
205
251
  }
206
- interface IndexRangeBuilder {
207
- /** Constrain an indexed field to an exact value. */
208
- eq(field: string, value: unknown): IndexRangeBuilder;
209
- /** Constrain an indexed field to values greater than a value. */
210
- gt(field: string, value: unknown): IndexRangeBuilder;
211
- /** Constrain an indexed field to values greater than or equal to a value. */
212
- gte(field: string, value: unknown): IndexRangeBuilder;
213
- /** Constrain an indexed field to values less than a value. */
214
- lt(field: string, value: unknown): IndexRangeBuilder;
215
- /** Constrain an indexed field to values less than or equal to a value. */
216
- lte(field: string, value: unknown): IndexRangeBuilder;
217
- /** Finish building the index range. */
252
+ interface IndexRangeBuilder<TFieldName extends string = string> {
253
+ eq(field: TFieldName, value: unknown): IndexRangeBuilder<TFieldName>;
254
+ gt(field: TFieldName, value: unknown): IndexRangeBuilder<TFieldName>;
255
+ gte(field: TFieldName, value: unknown): IndexRangeBuilder<TFieldName>;
256
+ lt(field: TFieldName, value: unknown): IndexRangeBuilder<TFieldName>;
257
+ lte(field: TFieldName, value: unknown): IndexRangeBuilder<TFieldName>;
218
258
  build(): QueryCondition[];
219
259
  }
220
- interface SearchIndexBuilder {
221
- /** Set the text field and text to search for. */
222
- search(field: string, value: string): SearchIndexBuilder;
223
- /** Add an equality filter alongside the text search. */
224
- eq(field: string, value: unknown): SearchIndexBuilder;
225
- /** Finish building the search query. */
260
+ interface SearchIndexBuilder<TSearchField extends string = string, TFilterField extends string = string> {
261
+ search(field: TSearchField, value: string): SearchIndexBuilder<TSearchField, TFilterField>;
262
+ eq(field: TFilterField, value: unknown): SearchIndexBuilder<TSearchField, TFilterField>;
226
263
  build(): SearchQuery;
227
264
  }
228
- type AnySyncoreSchema = SyncoreSchema<any>;
229
- type TableNames<TSchema extends AnySyncoreSchema> = Extract<keyof TSchema["tables"], string>;
230
- type DocumentForTable<TSchema extends AnySyncoreSchema, TTableName extends TableNames<TSchema>> = InferDocument<TSchema["tables"][TTableName]>;
231
- type InsertValueForTable<TSchema extends AnySyncoreSchema, TTableName extends TableNames<TSchema>> = InferTableInput<TSchema["tables"][TTableName]>;
265
+ type TableNames<TSchema extends SyncoreDataModel> = Extract<keyof TSchema["tables"], string>;
266
+ type DocumentForTable<TSchema extends SyncoreDataModel, TTableName extends TableNames<TSchema>> = InferDocument<TSchema["tables"][TTableName]>;
267
+ type InsertValueForTable<TSchema extends SyncoreDataModel, TTableName extends TableNames<TSchema>> = InferTableInput<TSchema["tables"][TTableName]>;
268
+ type OptionalPropertyNames<TValue> = TValue extends object ? { [TKey in keyof TValue]-?: Omit<TValue, TKey> extends TValue ? TKey : never }[keyof TValue] : never;
269
+ type PatchValue<TValue> = TValue extends object ? { [TKey in keyof TValue]?: TKey extends OptionalPropertyNames<TValue> ? TValue[TKey] | undefined : TValue[TKey] } : never;
270
+ type PatchValueForTable<TSchema extends SyncoreDataModel, TTableName extends TableNames<TSchema>> = PatchValue<InsertValueForTable<TSchema, TTableName>>;
232
271
  type OptionalArgsTuple<TArgs> = Record<never, never> extends TArgs ? [args?: TArgs] : [args: TArgs];
233
- interface SyncoreDatabaseReader<TSchema extends AnySyncoreSchema = AnySyncoreSchema> {
234
- /** Read a single document by table name and id. */
272
+ interface SyncoreDatabaseReader<TSchema extends SyncoreDataModel = SyncoreDataModel> {
235
273
  get<TTableName extends TableNames<TSchema>>(table: TTableName, id: string): Promise<DocumentForTable<TSchema, TTableName> | null>;
236
- /** Start building a table query. */
237
- query<TTableName extends TableNames<TSchema>>(table: TTableName): QueryBuilder<DocumentForTable<TSchema, TTableName>>;
238
- /** Run raw SQL against the local Syncore database. */
274
+ query<TTableName extends TableNames<TSchema>>(table: TTableName): QueryBuilder<TSchema["tables"][TTableName], DocumentForTable<TSchema, TTableName>>;
239
275
  raw<TValue = unknown>(sql: string, params?: unknown[]): Promise<TValue[]>;
240
276
  }
241
- interface SyncoreDatabaseWriter<TSchema extends AnySyncoreSchema = AnySyncoreSchema> extends SyncoreDatabaseReader<TSchema> {
242
- /** Insert a new document into a table and return its generated id. */
277
+ interface SyncoreDatabaseWriter<TSchema extends SyncoreDataModel = SyncoreDataModel> extends SyncoreDatabaseReader<TSchema> {
243
278
  insert<TTableName extends TableNames<TSchema>>(table: TTableName, value: InsertValueForTable<TSchema, TTableName>): Promise<string>;
244
- /** Apply a partial update to an existing document. */
245
- patch<TTableName extends TableNames<TSchema>>(table: TTableName, id: string, value: Partial<InsertValueForTable<TSchema, TTableName>>): Promise<void>;
246
- /** Replace an existing document with a full new value. */
279
+ patch<TTableName extends TableNames<TSchema>>(table: TTableName, id: string, value: PatchValueForTable<TSchema, TTableName>): Promise<void>;
247
280
  replace<TTableName extends TableNames<TSchema>>(table: TTableName, id: string, value: InsertValueForTable<TSchema, TTableName>): Promise<void>;
248
- /** Delete a document from a table. */
249
281
  delete<TTableName extends TableNames<TSchema>>(table: TTableName, id: string): Promise<void>;
250
282
  }
251
283
  /**
252
- * The storage API exposed inside Syncore runtime contexts.
284
+ * Storage operations exposed to Syncore functions and clients.
253
285
  */
254
286
  interface SyncoreStorageApi {
255
- /** Store a file-like payload locally and return its generated id. */
256
287
  put(input: StorageWriteInput): Promise<string>;
257
- /** Read metadata for a stored object. */
258
288
  get(id: string): Promise<StorageObject | null>;
259
- /** Read the stored bytes for an object. */
260
289
  read(id: string): Promise<Uint8Array | null>;
261
- /** Delete a stored object. */
262
290
  delete(id: string): Promise<void>;
263
291
  }
264
292
  interface SchedulerApi {
265
- /** Schedule a mutation or action to run after a delay. */
266
293
  runAfter<TArgs, TResult>(delayMs: number, functionReference: FunctionReference<"mutation" | "action", TArgs, TResult>, ...args: [...OptionalArgsTuple<TArgs>, misfirePolicy?: MisfirePolicy]): Promise<string>;
267
- /** Schedule a mutation or action to run at a specific time. */
268
294
  runAt<TArgs, TResult>(timestamp: number | Date, functionReference: FunctionReference<"mutation" | "action", TArgs, TResult>, ...args: [...OptionalArgsTuple<TArgs>, misfirePolicy?: MisfirePolicy]): Promise<string>;
269
- /** Cancel a previously scheduled job. */
270
295
  cancel(id: string): Promise<void>;
271
296
  }
272
297
  /**
273
- * The context object available inside Syncore queries.
298
+ * Context available inside Syncore query handlers.
274
299
  */
275
- interface QueryCtx<TSchema extends AnySyncoreSchema = AnySyncoreSchema> {
276
- /** Read-only database access for this query. */
300
+ interface QueryCtx<TSchema extends SyncoreDataModel = SyncoreDataModel> {
277
301
  db: SyncoreDatabaseReader<TSchema>;
278
- /** Local file/blob storage for this runtime. */
279
302
  storage: SyncoreStorageApi;
280
- /** Optional adapter or plugin capabilities exposed by the runtime. */
281
303
  capabilities?: Readonly<SyncoreCapabilities>;
282
- /** Call another Syncore query from inside this query. */
304
+ capabilityDescriptors?: ReadonlyArray<CapabilityDescriptor>;
305
+ component?: {
306
+ path: string;
307
+ name: string;
308
+ version: string;
309
+ capabilities: readonly string[];
310
+ };
283
311
  runQuery<TArgs, TResult>(reference: FunctionReference<"query", TArgs, TResult>, ...args: OptionalArgsTuple<TArgs>): Promise<TResult>;
284
312
  }
285
313
  /**
286
- * The context object available inside Syncore mutations.
314
+ * Context available inside Syncore mutation handlers.
287
315
  */
288
- interface MutationCtx<TSchema extends AnySyncoreSchema = AnySyncoreSchema> extends QueryCtx<TSchema> {
316
+ interface MutationCtx<TSchema extends SyncoreDataModel = SyncoreDataModel> extends QueryCtx<TSchema> {
289
317
  db: SyncoreDatabaseWriter<TSchema>;
290
- /** Schedule future work from this mutation. */
291
318
  scheduler: SchedulerApi;
292
- /** Call another mutation from inside this mutation. */
293
319
  runMutation<TArgs, TResult>(reference: FunctionReference<"mutation", TArgs, TResult>, ...args: OptionalArgsTuple<TArgs>): Promise<TResult>;
294
- /** Call an action from this mutation. */
295
320
  runAction<TArgs, TResult>(reference: FunctionReference<"action", TArgs, TResult>, ...args: OptionalArgsTuple<TArgs>): Promise<TResult>;
296
321
  }
297
322
  /**
298
- * The context object available inside Syncore actions.
323
+ * Context available inside Syncore action handlers.
299
324
  */
300
- interface ActionCtx<TSchema extends AnySyncoreSchema = AnySyncoreSchema> extends QueryCtx<TSchema> {
301
- /** Schedule future work from this action. */
325
+ interface ActionCtx<TSchema extends SyncoreDataModel = SyncoreDataModel> extends QueryCtx<TSchema> {
302
326
  scheduler: SchedulerApi;
303
- /** Call a mutation from this action. */
304
327
  runMutation<TArgs, TResult>(reference: FunctionReference<"mutation", TArgs, TResult>, ...args: OptionalArgsTuple<TArgs>): Promise<TResult>;
305
- /** Call another action from this action. */
306
328
  runAction<TArgs, TResult>(reference: FunctionReference<"action", TArgs, TResult>, ...args: OptionalArgsTuple<TArgs>): Promise<TResult>;
307
329
  }
308
330
  /**
309
- * The typed client API exposed by a Syncore runtime.
331
+ * Client API for invoking Syncore queries, mutations, actions, and watches.
310
332
  */
311
333
  interface SyncoreClient {
312
- /** Fetch a query result once. */
313
334
  query<TArgs, TResult>(reference: FunctionReference<"query", TArgs, TResult>, ...args: OptionalArgsTuple<TArgs>): Promise<TResult>;
314
- /** Execute a mutation. */
315
335
  mutation<TArgs, TResult>(reference: FunctionReference<"mutation", TArgs, TResult>, ...args: OptionalArgsTuple<TArgs>): Promise<TResult>;
316
- /** Execute an action. */
317
336
  action<TArgs, TResult>(reference: FunctionReference<"action", TArgs, TResult>, ...args: OptionalArgsTuple<TArgs>): Promise<TResult>;
318
- /** Subscribe to a query and receive reactive updates. */
319
337
  watchQuery<TArgs, TResult>(reference: FunctionReference<"query", TArgs, TResult>, ...args: OptionalArgsTuple<TArgs>): SyncoreWatch<TResult>;
338
+ watchRuntimeStatus(): SyncoreWatch<SyncoreRuntimeStatus>;
320
339
  }
340
+ interface SyncoreRuntimeAdmin<TSchema extends SyncoreDataModel = SyncoreDataModel> {
341
+ prepareForDirectAccess(): Promise<void>;
342
+ createClient(): SyncoreClient;
343
+ runQuery<TArgs, TResult>(reference: FunctionReference<"query", TArgs, TResult>, args?: JsonObject, meta?: DevtoolsEventMeta): Promise<TResult>;
344
+ runMutation<TArgs, TResult>(reference: FunctionReference<"mutation", TArgs, TResult>, args?: JsonObject, meta?: DevtoolsEventMeta): Promise<TResult>;
345
+ runAction<TArgs, TResult>(reference: FunctionReference<"action", TArgs, TResult>, args?: JsonObject, meta?: DevtoolsEventMeta): Promise<TResult>;
346
+ runDevtoolsMutation<TResult>(callback: (ctx: {
347
+ db: SyncoreDatabaseWriter<TSchema>;
348
+ }) => Promise<TResult>, meta?: DevtoolsEventMeta): Promise<TResult>;
349
+ getRuntimeSummary(): SyncoreRuntimeSummary;
350
+ getActiveQueryInfos(): SyncoreActiveQueryInfo[];
351
+ getRuntimeId(): string;
352
+ getDriverDatabasePath(): string | undefined;
353
+ subscribeToDevtoolsEvents(listener: (event: SyncoreDevtoolsEvent) => void): () => void;
354
+ subscribeToDevtoolsInvalidations(listener: (scopes: Set<DevtoolsLiveQueryScope>) => void): () => void;
355
+ notifyDevtoolsScopes(scopes: Iterable<DevtoolsLiveQueryScope>): void;
356
+ forceRefreshDevtools(reason: string, scopes?: Iterable<ImpactScope>, meta?: DevtoolsEventMeta): Promise<void>;
357
+ cancelScheduledJob(id: string): Promise<boolean>;
358
+ updateScheduledJob(options: UpdateScheduledJobOptions): Promise<boolean>;
359
+ }
360
+ type DevtoolsEventMeta = {
361
+ origin?: SyncoreDevtoolsEventOrigin;
362
+ };
321
363
  /**
322
- * A composable builder for Syncore table queries.
364
+ * Chainable query builder returned by `ctx.db.query(...)`.
323
365
  */
324
- interface QueryBuilder<TDocument> {
325
- /** Query through a named index instead of scanning the whole table. */
326
- withIndex(indexName: string, builder?: (range: IndexRangeBuilder) => IndexRangeBuilder): this;
327
- /** Query through a named search index for text search. */
328
- withSearchIndex(indexName: string, builder: (search: SearchIndexBuilder) => SearchIndexBuilder): this;
329
- /** Set the result ordering. */
366
+ interface QueryBuilder<TTable extends AnyTableDefinition, TDocument = InferDocument<TTable>> {
367
+ withIndex<TIndexName extends TableIndexNames<TTable>>(indexName: TIndexName, builder?: (range: IndexRangeBuilder<TableIndexFields<TTable, TIndexName>[number]>) => IndexRangeBuilder<TableIndexFields<TTable, TIndexName>[number]>): this;
368
+ withSearchIndex<TIndexName extends TableSearchIndexNames<TTable>>(indexName: TIndexName, builder: (search: SearchIndexBuilder<TableSearchIndexConfig<TTable, TIndexName>["searchField"], TableSearchIndexConfig<TTable, TIndexName>["filterFields"]>) => SearchIndexBuilder<TableSearchIndexConfig<TTable, TIndexName>["searchField"], TableSearchIndexConfig<TTable, TIndexName>["filterFields"]>): this;
330
369
  order(order: "asc" | "desc"): this;
331
- /** Add a filter expression to the query. */
332
370
  filter(builder: (filter: FilterBuilder) => QueryExpression): this;
333
- /** Collect all matching documents. */
334
371
  collect(): Promise<TDocument[]>;
335
- /** Collect up to a fixed number of matching documents. */
336
372
  take(count: number): Promise<TDocument[]>;
337
- /** Return the first matching document, or `null` if none exist. */
338
373
  first(): Promise<TDocument | null>;
339
- /** Return one matching document and throw if multiple rows match. */
340
374
  unique(): Promise<TDocument | null>;
341
- /** Read a paginated slice of documents using a cursor. */
342
375
  paginate(options: PaginationOptions): Promise<PaginationResult<TDocument>>;
343
376
  }
344
377
  /**
345
- * The local Syncore runtime that owns the database, storage, scheduler, and function execution.
378
+ * Local-first Syncore runtime that hosts your schema, functions, and storage.
346
379
  */
347
- declare class SyncoreRuntime<TSchema extends AnySyncoreSchema> {
380
+ declare class SyncoreRuntime<TSchema extends SyncoreDataModel> {
348
381
  private readonly options;
349
- private readonly runtimeId;
350
- private readonly platform;
351
- private readonly capabilities;
352
- private readonly experimentalPlugins;
353
- private readonly activeQueries;
354
- private readonly disabledSearchIndexes;
355
- private readonly recentEvents;
356
- private readonly devtoolsListeners;
357
- private readonly devtoolsInvalidationListeners;
358
- private readonly externalChangeSourceId;
359
- private detachExternalChangeListener;
360
- private pendingExternalChangePromise;
361
- private queuedExternalChange;
362
- private schedulerTimer;
363
- private readonly recurringJobs;
364
- private readonly schedulerPollIntervalMs;
365
- private readonly driverDatabasePath;
366
- private prepared;
367
- private started;
382
+ private readonly kernel;
368
383
  constructor(options: SyncoreRuntimeOptions<TSchema>);
369
- /**
370
- * Start the local Syncore runtime.
371
- */
372
384
  start(): Promise<void>;
373
385
  prepareForDirectAccess(): Promise<void>;
374
- /**
375
- * Stop the local Syncore runtime and release any open resources.
376
- */
377
386
  stop(): Promise<void>;
378
- /**
379
- * Create a typed client for calling this runtime from the same process.
380
- */
381
387
  createClient(): SyncoreClient;
382
- getDevtoolsLiveQuerySnapshot(): Promise<DevtoolsLiveQuerySnapshot>;
383
- getRuntimeSummary(): SyncoreRuntimeSummary;
384
- getActiveQueryInfos(): SyncoreActiveQueryInfo[];
385
- getDriverDatabasePath(): string | undefined;
386
- cancelScheduledJob(id: string): Promise<boolean>;
387
- updateScheduledJob(options: UpdateScheduledJobOptions): Promise<boolean>;
388
- subscribeToDevtoolsEvents(listener: (event: SyncoreDevtoolsEvent) => void): () => void;
389
- subscribeToDevtoolsInvalidations(listener: (scopes: Set<DevtoolsLiveQueryScope>) => void): () => void;
390
- notifyDevtoolsScopes(scopes: Iterable<DevtoolsLiveQueryScope>): void;
391
- runDevtoolsMutation<TResult>(callback: (ctx: {
392
- db: SyncoreDatabaseWriter<TSchema>;
393
- }) => Promise<TResult>, meta?: DevtoolsEventMeta): Promise<TResult>;
394
- forceRefreshDevtools(reason: string, meta?: DevtoolsEventMeta): Promise<void>;
395
- getRuntimeId(): string;
388
+ getAdmin(): SyncoreRuntimeAdmin<TSchema>;
396
389
  runQuery<TArgs, TResult>(reference: FunctionReference<"query", TArgs, TResult>, args?: JsonObject, meta?: DevtoolsEventMeta): Promise<TResult>;
397
390
  runMutation<TArgs, TResult>(reference: FunctionReference<"mutation", TArgs, TResult>, args?: JsonObject, meta?: DevtoolsEventMeta): Promise<TResult>;
398
391
  runAction<TArgs, TResult>(reference: FunctionReference<"action", TArgs, TResult>, args?: JsonObject, meta?: DevtoolsEventMeta): Promise<TResult>;
399
392
  watchQuery<TArgs, TResult>(reference: FunctionReference<"query", TArgs, TResult>, args?: JsonObject): SyncoreWatch<TResult>;
400
- private executeQueryBuilder;
401
- private invokeFunction;
402
- private createContext;
403
- private createDatabaseReader;
404
- private createDatabaseWriter;
405
- private createStorageApi;
406
- private createSchedulerApi;
407
- private notifySchedulerJobsChanged;
408
- private ensureSystemTables;
409
- private reconcileStorageState;
410
- private applySchema;
411
- private scheduleJob;
412
- private syncRecurringJobs;
413
- private processDueJobs;
414
- private advanceOrFinalizeJob;
415
- private refreshInvalidatedQueries;
416
- private rerunActiveQuery;
417
- private handleExternalChangeEvent;
418
- private processExternalChangeResult;
419
- private publishExternalChange;
420
- private publishStorageChanges;
421
- private refreshAllActiveQueries;
422
- private getSchemaTablesForDevtools;
423
- private collectQueryDependencies;
424
- private resolveFunction;
425
- private validateDocument;
426
- private deserializeDocument;
427
- private syncSearchIndexes;
428
- private removeSearchIndexes;
429
- private renderExpression;
430
- private renderCondition;
431
- private createActiveQueryKey;
432
- private emitDevtools;
433
- private createPluginContext;
434
- private buildCapabilities;
435
- private runPluginHook;
436
- private findSearchIndexKeyForStatement;
437
- private getTableDefinition;
438
393
  }
439
394
  declare function createFunctionReference<TKind extends SyncoreFunctionKind, TArgs = Record<never, never>, TResult = unknown>(kind: TKind, name: string): FunctionReference<TKind, TArgs, TResult>;
440
395
  /**
441
- * Create a typed function reference from a concrete Syncore function definition.
442
- *
443
- * Generated code uses this helper to preserve function arg and result inference.
396
+ * Create a function reference from an existing Syncore function definition
397
+ * while preserving its inferred args and result types.
444
398
  */
445
399
  declare function createFunctionReferenceFor<TDefinition extends {
446
400
  kind: SyncoreFunctionKind;
447
- argsValidator: Validator<unknown>;
448
- returnsValidator?: Validator<unknown>;
401
+ argsValidator: Validator<unknown, unknown, string>;
402
+ returnsValidator?: Validator<unknown, unknown, string>;
449
403
  }>(kind: FunctionKindFromDefinition<TDefinition>, name: string): FunctionReference<FunctionKindFromDefinition<TDefinition>, FunctionArgsFromDefinition<TDefinition>, FunctionResultFromDefinition<TDefinition>>;
450
404
  //#endregion
451
- export { ActionCtx, AnySyncoreSchema, ComparisonOperator, DevtoolsLiveQueryScope, DevtoolsLiveQuerySnapshot, DevtoolsSink, DocumentForTable, FilterBuilder, IndexRangeBuilder, InsertValueForTable, JsonObject, MutationCtx, PaginationOptions, PaginationResult, QueryBuilder, QueryCondition, QueryCtx, QueryExpression, RegisteredSyncoreFunction, RegisteredSyncoreHandler, RunResult, SchedulerApi, SchedulerOptions, SearchIndexBuilder, SearchQuery, StorageObject, StorageWriteInput, SyncoreCapabilities, SyncoreClient, SyncoreDatabaseReader, SyncoreDatabaseWriter, SyncoreExperimentalPlugin, SyncoreExperimentalPluginContext, SyncoreExternalChangeApplier, SyncoreExternalChangeEvent, SyncoreExternalChangeReason, SyncoreExternalChangeScope, SyncoreExternalChangeSignal, SyncoreFunctionRegistry, SyncoreRuntime, SyncoreRuntimeOptions, SyncoreSqlDriver, SyncoreStorageAdapter, SyncoreStorageApi, SyncoreWatch, TableNames, UpdateScheduledJobOptions, createFunctionReference, createFunctionReferenceFor };
405
+ export { ActionCtx, CapabilityDescriptor, ComparisonOperator, DevtoolsLiveQueryScope, DevtoolsLiveQuerySnapshot, DevtoolsSink, DocumentForTable, ExecutionResult, FilterBuilder, ImpactScope, ImpactSet, IndexRangeBuilder, InsertValueForTable, JsonObject, MutationCtx, PaginationOptions, PaginationResult, PatchValueForTable, QueryBuilder, QueryCondition, QueryCtx, QueryExpression, RegisteredSyncoreFunction, RegisteredSyncoreHandler, RunResult, SchedulerApi, SchedulerOptions, SearchIndexBuilder, SearchQuery, StorageObject, StorageWriteInput, SyncoreCapabilities, SyncoreClient, SyncoreDataModel, SyncoreDatabaseReader, SyncoreDatabaseWriter, SyncoreExternalChangeApplier, SyncoreExternalChangeEvent, SyncoreExternalChangeReason, SyncoreExternalChangeScope, SyncoreExternalChangeSignal, SyncoreFunctionRegistry, SyncorePaginatedQueryStatus, SyncoreQueriesRequest, SyncoreQueryRequest, SyncoreQueryState, SyncoreQueryStatus, SyncoreResolvedComponents, SyncoreRuntime, SyncoreRuntimeAdmin, SyncoreRuntimeOptions, SyncoreRuntimeStatus, SyncoreRuntimeStatusKind, SyncoreRuntimeStatusReason, SyncoreSqlDriver, SyncoreStorageAdapter, SyncoreStorageApi, SyncoreWatch, TableNames, UpdateScheduledJobOptions, UsePaginatedQueryResult, createFunctionReference, createFunctionReferenceFor };
452
406
  //# sourceMappingURL=runtime.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.mts","names":[],"sources":["../../src/runtime/runtime.ts"],"mappings":";;;;;UAoCiB,yBAAA;EACf,IAAA,EAAM,mBAAA;EACN,aAAA,EAAe,SAAA;EACf,gBAAA,GAAmB,SAAA;EACnB,OAAA,EAAS,wBAAA;AAAA;AAAA,UAGM,uBAAA;EAAA,UACL,IAAA,WAAe,yBAAA;AAAA;AAAA,KAEf,wBAAA;EACV,cAAA,CAAe,GAAA,WAAc,IAAA;AAAA;AAAA,KAGnB,UAAA,GAAa,MAAA;AAAA,KAQb,kBAAA;AAAA,KAEA,cAAA;EACV,KAAA;EACA,QAAA,EAAU,kBAAA;EACV,KAAA;AAAA;AAAA,KAGU,eAAA;EACN,IAAA;EAAmB,SAAA,EAAW,cAAA;AAAA;EAC9B,IAAA;EAAa,WAAA,EAAa,eAAA;AAAA;EAC1B,IAAA;EAAY,WAAA,EAAa,eAAA;AAAA;AAAA,KAEnB,WAAA;EACV,WAAA;EACA,UAAA;EACA,OAAA,EAAS,cAAA;AAAA;AAAA,KAiBN,iBAAA;EACH,MAAA,GAAS,0BAAA;AAAA;AAAA,UAoCM,SAAA;EACf,OAAA;EACA,eAAA;AAAA;AAAA,UAGe,gBAAA;EACf,IAAA,CAAK,GAAA,WAAc,OAAA;EACnB,GAAA,CAAI,GAAA,UAAa,MAAA,eAAqB,OAAA,CAAQ,SAAA;EAC9C,GAAA,IAAO,GAAA,UAAa,MAAA,eAAqB,OAAA,CAAQ,CAAA;EACjD,GAAA,IAAO,GAAA,UAAa,MAAA,eAAqB,OAAA,CAAQ,CAAA;EACjD,eAAA,IAAmB,QAAA,QAAgB,OAAA,CAAQ,CAAA,IAAK,OAAA,CAAQ,CAAA;EACxD,aAAA,IAAiB,IAAA,UAAc,QAAA,QAAgB,OAAA,CAAQ,CAAA,IAAK,OAAA,CAAQ,CAAA;EACpE,KAAA,KAAU,OAAA;AAAA;AAAA,KAGA,0BAAA;AAAA,KAEA,2BAAA;AAAA,UAMK,0BAAA;EACf,QAAA;EACA,KAAA,EAAO,0BAAA;EACP,MAAA,EAAQ,2BAAA;EACR,SAAA;EACA,QAAA;EACA,aAAA;EACA,UAAA;AAAA;AAAA,UAGe,2BAAA;EACf,SAAA,CAAU,QAAA,GAAW,KAAA,EAAO,0BAAA;EAC5B,OAAA,CAAQ,KAAA,EAAO,0BAAA,UAAoC,OAAA;EACnD,KAAA,YAAiB,OAAA;AAAA;AAAA,UAGF,4BAAA;EACf,mBAAA,CAAoB,KAAA,EAAO,0BAAA,GAA6B,OAAA;IACtD,eAAA;IACA,cAAA;EAAA;AAAA;;;AAnGJ;UA0GiB,iBAAA;EACf,IAAA,EAAM,UAAA,GAAa,WAAA;EACnB,WAAA;EACA,QAAA;AAAA;;;;UAMe,aAAA;EACf,EAAA;EACA,IAAA;EACA,IAAA;EACA,WAAA;AAAA;AAAA,UAGe,qBAAA;EACf,GAAA,CAAI,EAAA,UAAY,KAAA,EAAO,iBAAA,GAAoB,OAAA,CAAQ,aAAA;EACnD,GAAA,CAAI,EAAA,WAAa,OAAA,CAAQ,aAAA;EACzB,IAAA,CAAK,EAAA,WAAa,OAAA,CAAQ,UAAA;EAC1B,MAAA,CAAO,EAAA,WAAa,OAAA;EACpB,IAAA,KAAS,OAAA,CAAQ,aAAA;AAAA;AAAA,UAGF,YAAA;EACf,IAAA,CAAK,KAAA,EAAO,oBAAA;EACZ,aAAA,EAAe,OAAA,EAAS,cAAA,CAAe,gBAAA;AAAA;AAAA,UAGxB,yBAAA;EACf,OAAA,EAAS,qBAAA;EACT,aAAA,EAAe,sBAAA;EACf,YAAA,EAAc,KAAA;IACZ,IAAA;IACA,MAAA,EAAQ,KAAA;MACN,IAAA;MACA,IAAA;MACA,QAAA;IAAA;IAEF,OAAA,EAAS,KAAA;MACP,IAAA;MACA,MAAA;MACA,MAAA;IAAA;IAEF,aAAA;EAAA;AAAA;AAAA,KAIQ,sBAAA;AAAA,UAQK,gBAAA;EACf,cAAA;EACA,aAAA,GAAgB,sBAAA;AAAA;AAAA,UAGD,yBAAA;EACf,EAAA;EACA,QAAA,EAAU,iBAAA;EACV,IAAA,EAAM,UAAA;EACN,aAAA,EAAe,aAAA;EACf,KAAA;AAAA;AAAA,UAGe,mBAAA;EAAA,CACd,IAAA;AAAA;AAAA,UAGc,gCAAA,iBACC,gBAAA;EAEhB,SAAA;EACA,QAAA;EACA,MAAA,EAAQ,OAAA;EACR,MAAA,EAAQ,gBAAA;EACR,OAAA,EAAS,qBAAA;EACT,SAAA,GAAY,gBAAA;EACZ,QAAA,GAAW,YAAA;EACX,YAAA,CAAa,KAAA,EAAO,oBAAA;AAAA;AAAA,UAGL,yBAAA,iBAA0C,gBAAA;EACzD,IAAA;EACA,YAAA,GACI,mBAAA,KAEE,OAAA,EAAS,gCAAA,CAAiC,OAAA,MACvC,mBAAA;EACT,OAAA,EACE,OAAA,EAAS,gCAAA,CAAiC,OAAA,IACzC,OAAA;EACH,MAAA,EACE,OAAA,EAAS,gCAAA,CAAiC,OAAA,IACzC,OAAA;AAAA;AAAA,UAGY,qBAAA,iBAAsC,gBAAA;EACrD,MAAA,EAAQ,OAAA;EACR,SAAA,EAAW,uBAAA;EACX,MAAA,EAAQ,gBAAA;EACR,OAAA,EAAS,qBAAA;EACT,oBAAA,GAAuB,2BAAA;EACvB,qBAAA,GAAwB,4BAAA;EACxB,YAAA,GAAe,mBAAA;EACf,mBAAA,GAAsB,KAAA,CAAM,yBAAA,CAA0B,OAAA;EACtD,QAAA;EACA,QAAA,GAAW,YAAA;EACX,SAAA,GAAY,gBAAA;AAAA;AAAA,UAGG,iBAAA;EACf,MAAA;EACA,QAAA;AAAA;AAAA,UAGe,gBAAA;EA/IoB;EAiJnC,IAAA,EAAM,KAAA;EAlJN;EAqJA,MAAA;EApJA;EAuJA,MAAA;AAAA;AAAA,UAGe,YAAA;EAvJf;EAyJA,QAAA,CAAS,QAAA;EAxJC;EA2JV,gBAAA,IAAoB,MAAA;EAxJL;EA2Jf,eAAA,IAAmB,KAAA;;EAGnB,OAAA;AAAA;AAAA,UAGe,aAAA;EA9JE;EAgKjB,EAAA,CAAG,KAAA,UAAe,KAAA,YAAiB,eAAA;EAhKX;EAmKxB,EAAA,CAAG,KAAA,UAAe,KAAA,YAAiB,eAAA;EArKP;EAwK5B,GAAA,CAAI,KAAA,UAAe,KAAA,YAAiB,eAAA;EAxK1B;EA2KV,EAAA,CAAG,KAAA,UAAe,KAAA,YAAiB,eAAA;EA1KpB;EA6Kf,GAAA,CAAI,KAAA,UAAe,KAAA,YAAiB,eAAA;EA7Ke;EAgLnD,GAAA,IAAO,WAAA,EAAa,eAAA,KAAoB,eAAA;EA/KvB;EAkLjB,EAAA,IAAM,WAAA,EAAa,eAAA,KAAoB,eAAA;AAAA;AAAA,UAGxB,iBAAA;EAlL4B;EAoL3C,EAAA,CAAG,KAAA,UAAe,KAAA,YAAiB,iBAAA;EAnL4B;EAsL/D,EAAA,CAAG,KAAA,UAAe,KAAA,YAAiB,iBAAA;EAtLR;EAyL3B,GAAA,CAAI,KAAA,UAAe,KAAA,YAAiB,iBAAA;EAzLoB;EA4LxD,EAAA,CAAG,KAAA,UAAe,KAAA,YAAiB,iBAAA;EA1LjC;EA6LF,GAAA,CAAI,KAAA,UAAe,KAAA,YAAiB,iBAAA;EA7LpB;EAgMhB,KAAA,IAAS,cAAA;AAAA;AAAA,UAGM,kBAAA;EA3Le;EA6L9B,MAAA,CAAO,KAAA,UAAe,KAAA,WAAgB,kBAAA;EA7LhC;EAgMN,EAAA,CAAG,KAAA,UAAe,KAAA,YAAiB,kBAAA;EA/LnC;EAkMA,KAAA,IAAS,WAAA;AAAA;AAAA,KAMC,gBAAA,GAAmB,aAAA;AAAA,KAEnB,UAAA,iBAA2B,gBAAA,IAAoB,OAAA,OACnD,OAAA;AAAA,KAII,gBAAA,iBACM,gBAAA,qBACG,UAAA,CAAW,OAAA,KAC5B,aAAA,CAAc,OAAA,WAAkB,UAAA;AAAA,KAExB,mBAAA,iBACM,gBAAA,qBACG,UAAA,CAAW,OAAA,KAC5B,eAAA,CAAgB,OAAA,WAAkB,UAAA;AAAA,KAEjC,iBAAA,UACH,MAAA,uBAA6B,KAAA,IAAS,IAAA,GAAO,KAAA,KAAU,IAAA,EAAM,KAAA;AAAA,UAE9C,qBAAA,iBACC,gBAAA,GAAmB,gBAAA;EApNnC;EAuNA,GAAA,oBAAuB,UAAA,CAAW,OAAA,GAChC,KAAA,EAAO,UAAA,EACP,EAAA,WACC,OAAA,CAAQ,gBAAA,CAAiB,OAAA,EAAS,UAAA;EAxNrC;EA2NA,KAAA,oBAAyB,UAAA,CAAW,OAAA,GAClC,KAAA,EAAO,UAAA,GACN,YAAA,CAAa,gBAAA,CAAiB,OAAA,EAAS,UAAA;EA7N/B;EAgOX,GAAA,mBAAsB,GAAA,UAAa,MAAA,eAAqB,OAAA,CAAQ,MAAA;AAAA;AAAA,UAGjD,qBAAA,iBACC,gBAAA,GAAmB,gBAAA,UAC3B,qBAAA,CAAsB,OAAA;EAjOP;EAmOvB,MAAA,oBAA0B,UAAA,CAAW,OAAA,GACnC,KAAA,EAAO,UAAA,EACP,KAAA,EAAO,mBAAA,CAAoB,OAAA,EAAS,UAAA,IACnC,OAAA;EAtOwC;EAyO3C,KAAA,oBAAyB,UAAA,CAAW,OAAA,GAClC,KAAA,EAAO,UAAA,EACP,EAAA,UACA,KAAA,EAAO,OAAA,CAAQ,mBAAA,CAAoB,OAAA,EAAS,UAAA,KAC3C,OAAA;EA5Oc;EA+OjB,OAAA,oBAA2B,UAAA,CAAW,OAAA,GACpC,KAAA,EAAO,UAAA,EACP,EAAA,UACA,KAAA,EAAO,mBAAA,CAAoB,OAAA,EAAS,UAAA,IACnC,OAAA;EAlPe;EAqPlB,MAAA,oBAA0B,UAAA,CAAW,OAAA,GACnC,KAAA,EAAO,UAAA,EACP,EAAA,WACC,OAAA;AAAA;;;;UAMY,iBAAA;EAhQX;EAkQJ,GAAA,CAAI,KAAA,EAAO,iBAAA,GAAoB,OAAA;EAlQf;EAqQhB,GAAA,CAAI,EAAA,WAAa,OAAA,CAAQ,aAAA;EArQ0B;EAwQnD,IAAA,CAAK,EAAA,WAAa,OAAA,CAAQ,UAAA;EAvQtB;EA0QJ,MAAA,CAAO,EAAA,WAAa,OAAA;AAAA;AAAA,UAGL,YAAA;EA5QV;EA8QL,QAAA,iBACE,OAAA,UACA,iBAAA,EAAmB,iBAAA,wBAAyC,KAAA,EAAO,OAAA,MAChE,IAAA,MAAU,iBAAA,CAAkB,KAAA,GAAQ,aAAA,GAAgB,aAAA,IACtD,OAAA;EAlRuB;EAqR1B,KAAA,iBACE,SAAA,WAAoB,IAAA,EACpB,iBAAA,EAAmB,iBAAA,wBAAyC,KAAA,EAAO,OAAA,MAChE,IAAA,MAAU,iBAAA,CAAkB,KAAA,GAAQ,aAAA,GAAgB,aAAA,IACtD,OAAA;EAxRI;EA2RP,MAAA,CAAO,EAAA,WAAa,OAAA;AAAA;;;;UAML,QAAA,iBAAyB,gBAAA,GAAmB,gBAAA;EA7R5C;EA+Rf,EAAA,EAAI,qBAAA,CAAsB,OAAA;;EAG1B,OAAA,EAAS,iBAAA;EAhS8B;EAmSvC,YAAA,GAAe,QAAA,CAAS,mBAAA;EAnSc;EAsStC,QAAA,iBACE,SAAA,EAAW,iBAAA,UAA2B,KAAA,EAAO,OAAA,MAC1C,IAAA,EAAM,iBAAA,CAAkB,KAAA,IAC1B,OAAA,CAAQ,OAAA;AAAA;;;;UAMI,WAAA,iBACC,gBAAA,GAAmB,gBAAA,UAC3B,QAAA,CAAS,OAAA;EACjB,EAAA,EAAI,qBAAA,CAAsB,OAAA;EAlTX;EAqTf,SAAA,EAAW,YAAA;EArT6C;EAwTxD,WAAA,iBACE,SAAA,EAAW,iBAAA,aAA8B,KAAA,EAAO,OAAA,MAC7C,IAAA,EAAM,iBAAA,CAAkB,KAAA,IAC1B,OAAA,CAAQ,OAAA;EAxT6B;EA2TxC,SAAA,iBACE,SAAA,EAAW,iBAAA,WAA4B,KAAA,EAAO,OAAA,MAC3C,IAAA,EAAM,iBAAA,CAAkB,KAAA,IAC1B,OAAA,CAAQ,OAAA;AAAA;;;;UAMI,SAAA,iBACC,gBAAA,GAAmB,gBAAA,UAC3B,QAAA,CAAS,OAAA;EAnUE;EAqUnB,SAAA,EAAW,YAAA;EAvUX;EA0UA,WAAA,iBACE,SAAA,EAAW,iBAAA,aAA8B,KAAA,EAAO,OAAA,MAC7C,IAAA,EAAM,iBAAA,CAAkB,KAAA,IAC1B,OAAA,CAAQ,OAAA;EA5UX;EA+UA,SAAA,iBACE,SAAA,EAAW,iBAAA,WAA4B,KAAA,EAAO,OAAA,MAC3C,IAAA,EAAM,iBAAA,CAAkB,KAAA,IAC1B,OAAA,CAAQ,OAAA;AAAA;;;;UAMI,aAAA;EApVX;EAsVJ,KAAA,iBACE,SAAA,EAAW,iBAAA,UAA2B,KAAA,EAAO,OAAA,MAC1C,IAAA,EAAM,iBAAA,CAAkB,KAAA,IAC1B,OAAA,CAAQ,OAAA;EAvVP;EA0VJ,QAAA,iBACE,SAAA,EAAW,iBAAA,aAA8B,KAAA,EAAO,OAAA,MAC7C,IAAA,EAAM,iBAAA,CAAkB,KAAA,IAC1B,OAAA,CAAQ,OAAA;EA3VA;EA8VX,MAAA,iBACE,SAAA,EAAW,iBAAA,WAA4B,KAAA,EAAO,OAAA,MAC3C,IAAA,EAAM,iBAAA,CAAkB,KAAA,IAC1B,OAAA,CAAQ,OAAA;EA/VP;EAkWJ,UAAA,iBACE,SAAA,EAAW,iBAAA,UAA2B,KAAA,EAAO,OAAA,MAC1C,IAAA,EAAM,iBAAA,CAAkB,KAAA,IAC1B,YAAA,CAAa,OAAA;AAAA;;;AA9VlB;UA2diB,YAAA;;EAEf,SAAA,CACE,SAAA,UACA,OAAA,IAAW,KAAA,EAAO,iBAAA,KAAsB,iBAAA;EA/dV;EAmehC,eAAA,CACE,SAAA,UACA,OAAA,GAAU,MAAA,EAAQ,kBAAA,KAAuB,kBAAA;EA7dZ;EAie/B,KAAA,CAAM,KAAA;EA/dgC;EAketC,MAAA,CAAO,OAAA,GAAU,MAAA,EAAQ,aAAA,KAAkB,eAAA;EAle3C;EAqeA,OAAA,IAAW,OAAA,CAAQ,SAAA;EAremB;EAwetC,IAAA,CAAK,KAAA,WAAgB,OAAA,CAAQ,SAAA;EAred;EAwef,KAAA,IAAS,OAAA,CAAQ,SAAA;;EAGjB,MAAA,IAAU,OAAA,CAAQ,SAAA;EAxeZ;EA2eN,QAAA,CAAS,OAAA,EAAS,iBAAA,GAAoB,OAAA,CAAQ,gBAAA,CAAiB,SAAA;AAAA;;;;cA6GpD,cAAA,iBAA+B,gBAAA;EAAA,iBAgCb,OAAA;EAAA,iBA/BZ,SAAA;EAAA,iBACA,QAAA;EAAA,iBACA,YAAA;EAAA,iBACA,mBAAA;EAAA,iBAGA,aAAA;EAAA,iBACA,qBAAA;EAAA,iBACA,YAAA;EAAA,iBACA,iBAAA;EAAA,iBAGA,6BAAA;EAAA,iBAGA,sBAAA;EAAA,QACT,4BAAA;EAAA,QACA,4BAAA;EAAA,QACA,oBAAA;EAAA,QAMA,cAAA;EAAA,iBACS,aAAA;EAAA,iBACA,uBAAA;EAAA,iBACA,kBAAA;EAAA,QACT,QAAA;EAAA,QACA,OAAA;cAEqB,OAAA,EAAS,qBAAA,CAAsB,OAAA;EArmBxC;;;EAonBd,KAAA,CAAA,GAAS,OAAA;EAsBT,sBAAA,CAAA,GAA0B,OAAA;EAjpBhC;;;EA+pBM,IAAA,CAAA,GAAQ,OAAA;EA5pBd;;;EAorBA,YAAA,CAAA,GAAgB,aAAA;EAaV,4BAAA,CAAA,GAAgC,OAAA,CAAQ,yBAAA;EAQ9C,iBAAA,CAAA,GAAqB,qBAAA;EAUrB,mBAAA,CAAA,GAAuB,sBAAA;EASvB,qBAAA,CAAA;EAIM,kBAAA,CAAmB,EAAA,WAAa,OAAA;EAehC,kBAAA,CAAmB,OAAA,EAAS,yBAAA,GAA4B,OAAA;EAsC9D,yBAAA,CACE,QAAA,GAAW,KAAA,EAAO,oBAAA;EAQpB,gCAAA,CACE,QAAA,GAAW,MAAA,EAAQ,GAAA,CAAI,sBAAA;EAQzB,oBAAA,CAAqB,MAAA,EAAQ,QAAA,CAAS,sBAAA;EAUhC,mBAAA,SAAA,CACJ,QAAA,GAAW,GAAA;IAAO,EAAA,EAAI,qBAAA,CAAsB,OAAA;EAAA,MAAe,OAAA,CAAQ,OAAA,GACnE,IAAA,GAAM,iBAAA,GACL,OAAA,CAAQ,OAAA;EA+CL,oBAAA,CACJ,MAAA,UACA,IAAA,GAAM,iBAAA,GACL,OAAA;EAiBH,YAAA,CAAA;EAIM,QAAA,gBAAA,CACJ,SAAA,EAAW,iBAAA,UAA2B,KAAA,EAAO,OAAA,GAC7C,IAAA,GAAM,UAAA,EACN,IAAA,GAAM,iBAAA,GACL,OAAA,CAAQ,OAAA;EAyBL,WAAA,gBAAA,CACJ,SAAA,EAAW,iBAAA,aAA8B,KAAA,EAAO,OAAA,GAChD,IAAA,GAAM,UAAA,EACN,IAAA,GAAM,iBAAA,GACL,OAAA,CAAQ,OAAA;EAgDL,SAAA,gBAAA,CACJ,SAAA,EAAW,iBAAA,WAA4B,KAAA,EAAO,OAAA,GAC9C,IAAA,GAAM,UAAA,EACN,IAAA,GAAM,iBAAA,GACL,OAAA,CAAQ,OAAA;EAoCX,UAAA,gBAAA,CACE,SAAA,EAAW,iBAAA,UAA2B,KAAA,EAAO,OAAA,GAC7C,IAAA,GAAM,UAAA,GACL,YAAA,CAAa,OAAA;EAAA,QAsDF,mBAAA;EAAA,QAgGA,cAAA;EAAA,QAmBN,aAAA;EAAA,QAiDA,oBAAA;EAAA,QAmCA,oBAAA;EAAA,QA0FA,gBAAA;EAAA,QA2FA,kBAAA;EAAA,QA2BA,0BAAA;EAAA,QAIM,kBAAA;EAAA,QAqDA,qBAAA;EAAA,QAiDA,WAAA;EAAA,QAmGA,WAAA;EAAA,QA4BA,iBAAA;EAAA,QAoCA,cAAA;EAAA,QA6DA,oBAAA;EAAA,QAyBA,yBAAA;EAAA,QAsBA,gBAAA;EAAA,QAuBA,yBAAA;EAAA,QAeA,2BAAA;EAAA,QAuCA,qBAAA;EAAA,QAUA,qBAAA;EAAA,QAkBA,uBAAA;EAAA,QAMA,0BAAA;EAAA,QAwDA,wBAAA;EAAA,QAkBN,eAAA;EAAA,QAqBA,gBAAA;EAAA,QAKA,mBAAA;EAAA,QAcM,iBAAA;EAAA,QA0BA,mBAAA;EAAA,QAgBN,gBAAA;EAAA,QAcA,eAAA;EAAA,QASA,oBAAA;EAAA,QAIA,YAAA;EAAA,QAUA,mBAAA;EAAA,QAeA,iBAAA;EAAA,QAsBM,aAAA;EAAA,QAWN,8BAAA;EAAA,QAcA,kBAAA;AAAA;AAAA,iBAkMM,uBAAA,eACA,mBAAA,UACN,MAAA,kCAAA,CAER,IAAA,EAAM,KAAA,EAAO,IAAA,WAAe,iBAAA,CAAkB,KAAA,EAAO,KAAA,EAAO,OAAA;;;;;;iBAS9C,0BAAA;EAEZ,IAAA,EAAM,mBAAA;EACN,aAAA,EAAe,SAAA;EACf,gBAAA,GAAmB,SAAA;AAAA,EAAA,CAGrB,IAAA,EAAM,0BAAA,CAA2B,WAAA,GACjC,IAAA,WACC,iBAAA,CACD,0BAAA,CAA2B,WAAA,GAC3B,0BAAA,CAA2B,WAAA,GAC3B,4BAAA,CAA6B,WAAA"}
1
+ {"version":3,"file":"runtime.d.mts","names":[],"sources":["../../src/runtime/runtime.ts"],"mappings":"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"}