@substrat-run/kernel 0.83.0 → 0.85.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,47 @@
1
+ import { type Instant } from '@substrat-run/contracts';
2
+ import type { Clock } from './scope-host.js';
3
+ /**
4
+ * Test and replay clocks (#812) — the reason `ctx.now()` is injected rather than
5
+ * read.
6
+ *
7
+ * Shipped from the kernel rather than a test package for the same reason
8
+ * `UNSAFE_allowAllChecker` is: the seam belongs with the type it implements, and
9
+ * a vertical's own scenario suite needs it without taking a dependency on our
10
+ * test tooling. Nothing here is unsafe — a host given a fixed clock behaves
11
+ * exactly as it would at that moment.
12
+ *
13
+ * What this makes testable that was not: anything whose behaviour is a function
14
+ * of elapsed time. An absence request going stale, a metering period rolling, a
15
+ * cart hold lapsing. Before the seam existed those were either asserted against
16
+ * the wall clock — which means asserting nothing, since the interesting branch
17
+ * never runs in a 40ms test — or quietly left unasserted.
18
+ */
19
+ /** A clock stopped at one instant. Every read returns it. */
20
+ export declare function frozenClock(at: string | Date): Clock;
21
+ /**
22
+ * A clock a test moves ON PURPOSE.
23
+ *
24
+ * Time passes when the test says so and never otherwise, which is what turns
25
+ * "wait for the hold to lapse" from a `setTimeout` that makes the suite slow and
26
+ * flaky into an assertion that is exact and instant:
27
+ *
28
+ * ```ts
29
+ * const clock = manualClock('2026-01-01T09:00:00.000Z');
30
+ * const host = new SqliteScopeHost({ dir, clock: clock.read });
31
+ * await stub.invoke('shop/add-to-cart', { variantId, qty: 1 });
32
+ * clock.advance(20 * 60_000); // the hold's 15 minutes have passed
33
+ * expect(await stub.invoke('shop/cart')).toMatchObject({ lines: [] });
34
+ * ```
35
+ */
36
+ export interface ManualClock {
37
+ /** Pass this as the host's `clock`. */
38
+ read: Clock;
39
+ /** The instant the clock currently reads. */
40
+ now(): Instant;
41
+ /** Move forward (or back, with a negative value) by milliseconds. */
42
+ advance(ms: number): Instant;
43
+ /** Jump to an exact instant. */
44
+ set(at: string | Date): Instant;
45
+ }
46
+ export declare function manualClock(start?: string | Date): ManualClock;
47
+ //# sourceMappingURL=clock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clock.d.ts","sourceRoot":"","sources":["../src/clock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;;;;;;;;GAeG;AAEH,6DAA6D;AAC7D,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAGpD;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,IAAI,EAAE,KAAK,CAAC;IACZ,6CAA6C;IAC7C,GAAG,IAAI,OAAO,CAAC;IACf,qEAAqE;IACrE,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,gCAAgC;IAChC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;CACjC;AAED,wBAAgB,WAAW,CAAC,KAAK,GAAE,MAAM,GAAG,IAAiC,GAAG,WAAW,CAY1F"}
package/dist/clock.js ADDED
@@ -0,0 +1,36 @@
1
+ import { instant } from '@substrat-run/contracts';
2
+ /**
3
+ * Test and replay clocks (#812) — the reason `ctx.now()` is injected rather than
4
+ * read.
5
+ *
6
+ * Shipped from the kernel rather than a test package for the same reason
7
+ * `UNSAFE_allowAllChecker` is: the seam belongs with the type it implements, and
8
+ * a vertical's own scenario suite needs it without taking a dependency on our
9
+ * test tooling. Nothing here is unsafe — a host given a fixed clock behaves
10
+ * exactly as it would at that moment.
11
+ *
12
+ * What this makes testable that was not: anything whose behaviour is a function
13
+ * of elapsed time. An absence request going stale, a metering period rolling, a
14
+ * cart hold lapsing. Before the seam existed those were either asserted against
15
+ * the wall clock — which means asserting nothing, since the interesting branch
16
+ * never runs in a 40ms test — or quietly left unasserted.
17
+ */
18
+ /** A clock stopped at one instant. Every read returns it. */
19
+ export function frozenClock(at) {
20
+ const value = instant.parse(typeof at === 'string' ? at : at.toISOString());
21
+ return () => value;
22
+ }
23
+ export function manualClock(start = '2026-01-01T00:00:00.000Z') {
24
+ let current = instant.parse(typeof start === 'string' ? start : start.toISOString());
25
+ const set = (at) => {
26
+ current = instant.parse(typeof at === 'string' ? at : at.toISOString());
27
+ return current;
28
+ };
29
+ return {
30
+ read: () => current,
31
+ now: () => current,
32
+ advance: (ms) => set(new Date(Date.parse(current) + ms)),
33
+ set,
34
+ };
35
+ }
36
+ //# sourceMappingURL=clock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clock.js","sourceRoot":"","sources":["../src/clock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAgB,MAAM,yBAAyB,CAAC;AAGhE;;;;;;;;;;;;;;;GAeG;AAEH,6DAA6D;AAC7D,MAAM,UAAU,WAAW,CAAC,EAAiB;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5E,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC;AACrB,CAAC;AA4BD,MAAM,UAAU,WAAW,CAAC,KAAK,GAAkB,0BAA0B;IAC3E,IAAI,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACrF,MAAM,GAAG,GAAG,CAAC,EAAiB,EAAW,EAAE;QACzC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACxE,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IACF,OAAO;QACL,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO;QACnB,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO;QAClB,OAAO,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAChE,GAAG;KACJ,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type { AccessLogFilter, AttachmentUploadInput, AuditLogFilter, BlobStoreProvisionInput, BlobStoreRecord, ConsumerHandler, ExecutorDeadLetter, ExecutorDrainReport, ExecutorHandler, ExecutorRetryPolicy, ConnectorConnection, ScopedConnectorConnection, ConnectorContext, ConnectorHandler, ConnectorOptions, ConnectorRequestInit, ConnectorResponse, FetchLike, GuardPredicate, HostAdmin, MigrateScopeOutcome, MigrationFrontier, ModuleRegistration, ConsumersOf, EventContract, EventPayloadOf, EventTypeOf, TypedConsumerHandler, TypedConsumers, OpenedAttachment, OperationContext, OperationHandler, OpsFailureFilter, OpsFailureInput, ProvisionScopeInput, RoleFilter, ScheduleRegistration, ScheduleRunReport, ScopeAttachments, ScopedSql, ScopeFilter, ScopeHost, ScopeStub, ScopeStubOptions, SqlMigration, SqlValue, TenantBlobStore, TenantRelationalStore, TenantStoreProvisionInput, TenantStoreRecord, } from './scope-host.js';
1
+ export type { AccessLogFilter, AttachmentUploadInput, AuditLogFilter, BlobStoreProvisionInput, BlobStoreRecord, ConsumerHandler, ExecutorDeadLetter, ExecutorDrainReport, ExecutorHandler, ExecutorRetryPolicy, ConnectorConnection, ScopedConnectorConnection, ConnectorContext, ConnectorHandler, ConnectorOptions, ConnectorRequestInit, ConnectorResponse, Clock, FetchLike, GuardPredicate, HostAdmin, MigrateScopeOutcome, MigrationFrontier, ModuleRegistration, ConsumersOf, EventContract, EventPayloadOf, EventTypeOf, TypedConsumerHandler, TypedConsumers, OpenedAttachment, OperationContext, PageParams, OperationHandler, OpsFailureFilter, OpsFailureInput, ProvisionScopeInput, RoleFilter, ScheduleRegistration, ScheduleRunReport, ScopeAttachments, ScopedSql, ScopeFilter, ScopeHost, ScopeStub, ScopeStubOptions, SqlMigration, SqlValue, TenantBlobStore, TenantRelationalStore, TenantStoreProvisionInput, TenantStoreRecord, } from './scope-host.js';
2
2
  export { attachmentBlobKey, consumersFor, entitlementDenial, backoffAt, parseValidationRecords, resolveRetryPolicy, OPS_FAILURE_RETENTION_DAYS, } from './scope-host.js';
3
3
  export { isSecretBoxConfigured, SecretBoxUnconfiguredError, unconfiguredSecretBox, webCryptoSecretBox, } from './secret-box.js';
4
4
  export type { SealedSecret, SecretBox } from './secret-box.js';
@@ -15,13 +15,17 @@ export { createAtomic } from './sub-transaction.js';
15
15
  export type { RunSub, AtomicMarks } from './sub-transaction.js';
16
16
  export { DEFAULT_SEARCH_LIMIT, MAX_SEARCH_LIMIT, MIN_SEARCH_TERM, NotSearchable, SEARCH_INDEX_PREFIX, SearchTermTooShort, isSearchIndexTable, searchIndexDdl, searchIndexMigrations, searchIndexPlans, searchLimit, searchMatchExpression, searchPlansByEntityType, searchQuery, } from './search-index.js';
17
17
  export type { SearchHit, SearchIndexPlan, SearchOptions, SearchTokenizer, SearchableDeclaration, } from './search-index.js';
18
+ export { FilterNotDeclared, LIST_INDEX_PREFIX, NotListable, SortNotDeclared, cursorOf, isListIndexName, listIndexColumns, listIndexDdl, listIndexMigrations, listIndexPlans, listPlansByEntityType, listQuery, splitCursor, } from './list-index.js';
19
+ export type { ComposedListQuery, ListDeclaration, ListIndexPlan, ListQueryParams, } from './list-index.js';
20
+ export { frozenClock, manualClock } from './clock.js';
21
+ export type { ManualClock } from './clock.js';
18
22
  export { ulid } from './ulid.js';
19
23
  export { assertReadOnlyQuery } from './read-only-sql.js';
20
24
  export { readRoutedNode, RouterAssertionError } from './routed-node.js';
21
25
  export type { RoutedNode, HeaderReader } from './routed-node.js';
22
26
  export { assertPlatformCall, PlatformCallError, PLATFORM_SECRET_HEADER, PLATFORM_REQUEST_HEADER, CONNECTOR_ATTACHMENT_RECORD_HEADER, } from './platform-call.js';
23
27
  export { PLATFORM_REQUEST_COLUMNS, platformRequestHistoryQuery, } from './platform-request-query.js';
24
- export { isTerminalProviderError, providerErrorStatus, RETRYABLE_CLIENT_STATUSES, } from './provider-error.js';
28
+ export { isTerminalDispatchFailure, isTerminalProviderError, providerErrorStatus, RETRYABLE_CLIENT_STATUSES, } from './provider-error.js';
25
29
  export { runPlatformSweep, startPlatformSweeper } from './platform-sweep.js';
26
30
  export type { AccessLogSink, AccessLogSweepReport, ConnectorSweeper, MigrationSweepReport, PlatformSweepOptions, PlatformSweepReport, PlatformSweeperHandle, ScheduleSweepReport, StartPlatformSweeperOptions, } from './platform-sweep.js';
27
31
  export { MIGRATION_FLAG_THRESHOLD, migrationFleet, migrationProgress, migrationSummary, scopeMigrationState, } from './migration-progress.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,uBAAuB,EACvB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EACL,oCAAoC,EACpC,sBAAsB,EACtB,mBAAmB,EACnB,UAAU,EACV,MAAM,EACN,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EACL,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACrB,uBAAuB,EACvB,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,eAAe,EACf,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,kCAAkC,GACnC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EACV,qBAAqB,EACrB,UAAU,EACV,eAAe,EACf,gBAAgB,GACjB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -7,12 +7,14 @@ export { assertAllowed, denyAllChecker, PermissionDenied, UNSAFE_allowAllChecker
7
7
  export { asPrincipal } from './permission-checker.js';
8
8
  export { createAtomic } from './sub-transaction.js';
9
9
  export { DEFAULT_SEARCH_LIMIT, MAX_SEARCH_LIMIT, MIN_SEARCH_TERM, NotSearchable, SEARCH_INDEX_PREFIX, SearchTermTooShort, isSearchIndexTable, searchIndexDdl, searchIndexMigrations, searchIndexPlans, searchLimit, searchMatchExpression, searchPlansByEntityType, searchQuery, } from './search-index.js';
10
+ export { FilterNotDeclared, LIST_INDEX_PREFIX, NotListable, SortNotDeclared, cursorOf, isListIndexName, listIndexColumns, listIndexDdl, listIndexMigrations, listIndexPlans, listPlansByEntityType, listQuery, splitCursor, } from './list-index.js';
11
+ export { frozenClock, manualClock } from './clock.js';
10
12
  export { ulid } from './ulid.js';
11
13
  export { assertReadOnlyQuery } from './read-only-sql.js';
12
14
  export { readRoutedNode, RouterAssertionError } from './routed-node.js';
13
15
  export { assertPlatformCall, PlatformCallError, PLATFORM_SECRET_HEADER, PLATFORM_REQUEST_HEADER, CONNECTOR_ATTACHMENT_RECORD_HEADER, } from './platform-call.js';
14
16
  export { PLATFORM_REQUEST_COLUMNS, platformRequestHistoryQuery, } from './platform-request-query.js';
15
- export { isTerminalProviderError, providerErrorStatus, RETRYABLE_CLIENT_STATUSES, } from './provider-error.js';
17
+ export { isTerminalDispatchFailure, isTerminalProviderError, providerErrorStatus, RETRYABLE_CLIENT_STATUSES, } from './provider-error.js';
16
18
  export { runPlatformSweep, startPlatformSweeper } from './platform-sweep.js';
17
19
  export { MIGRATION_FLAG_THRESHOLD, migrationFleet, migrationProgress, migrationSummary, scopeMigrationState, } from './migration-progress.js';
18
20
  export { foldMeterReading } from './meters.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoDA,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,oCAAoC,EACpC,sBAAsB,EACtB,mBAAmB,EACnB,UAAU,EACV,MAAM,EACN,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EACL,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACrB,uBAAuB,EACvB,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExE,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,kCAAkC,GACnC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAY7E,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAsDA,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,oCAAoC,EACpC,sBAAsB,EACtB,mBAAmB,EACnB,UAAU,EACV,MAAM,EACN,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EACL,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACrB,uBAAuB,EACvB,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,SAAS,EACT,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExE,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,kCAAkC,GACnC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAY7E,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,198 @@
1
+ /**
2
+ * List indexes and the queries that use them, derived from a paged read's
3
+ * `paged.over` declaration (#811, K-18).
4
+ *
5
+ * K-18 promised *"engine list APIs accept registry-declared filter/sort
6
+ * predicates with correct pagination and counts, the kernel composing the join
7
+ * inside the scope DB"* and nothing implemented it. This is that, and it takes
8
+ * the same shape `searchables` took in #827 for the same reasons.
9
+ *
10
+ * ## Why the kernel owns this rather than a helper in contracts
11
+ *
12
+ * A fragment builder in `@substrat-run/contracts` could emit a correct
13
+ * `WHERE status = ?` and a correct keyset comparison. It could not create the
14
+ * INDEX behind either, because contracts sits below the migration machinery and
15
+ * has no way to reach a scope's DDL. A declared filter with no index is a table
16
+ * scan that passes every test, survives review, and degrades when one tenant's
17
+ * table grows — the same delayed bug an unbounded list read is.
18
+ *
19
+ * That is what K-18 means by filter, sort key and index being *one declared
20
+ * thing*: the third one is the reason it has to be here.
21
+ *
22
+ * ## What is derived, and what stays the handler's
23
+ *
24
+ * | Kernel | Handler |
25
+ * |---|---|
26
+ * | `WHERE` from declared filters, `ORDER BY` from the chosen sort, the keyset comparison, `LIMIT`, and the `COUNT` over the same `WHERE` | The projection, and any hydration — a `toWorkOrder`, a per-row aggregate, a second query for children |
27
+ * | The indexes behind those, emitted as migrations and refused if unindexable | The permission check, which nothing on `ctx` ever does |
28
+ *
29
+ * The handler still writes its own `SELECT`, so this is not the generated-CRUD
30
+ * layer `generated-verticals.md` §4 says does not exist: it invents no routes and
31
+ * no handlers. It stops eleven call sites hand-writing the same cursor branch and
32
+ * the same duplicated count `WHERE`.
33
+ *
34
+ * ## The tie-break, which is not optional
35
+ *
36
+ * A keyset walk over a NON-UNIQUE column drops and duplicates rows: order
37
+ * `status ASC` with a cursor of `'open'` and every remaining `open` row is
38
+ * skipped, because `status > 'open'` excludes its own ties. So every walk here
39
+ * is over `(sortColumn, idColumn)` and the cursor is composite — which is the
40
+ * `|`-joined form `pagination.ts` already pins ("first part always `|`-free").
41
+ * Where the sort column IS the id, the pair collapses and the cursor is the bare
42
+ * value, unchanged from what shipped.
43
+ */
44
+ import type { SqlMigration } from './scope-host.js';
45
+ /**
46
+ * One paged read's kernel-composed half, as the kernel needs it.
47
+ *
48
+ * `table` and `idColumn` are not authored — the same `manifestEntities()`-shaped
49
+ * enrichment `searchables` gets fills them in from the entity registry, so there
50
+ * is no second statement of where a work order lives to drift from the first.
51
+ */
52
+ export interface ListDeclaration {
53
+ /** The entity whose table the walk runs over. */
54
+ readonly entityType: string;
55
+ /** Columns a caller may sort by. The first is the default. */
56
+ readonly sortable: readonly string[];
57
+ /** Columns a caller may filter by equality on. */
58
+ readonly filterable?: readonly string[];
59
+ /** Filled in from the registry. */
60
+ readonly table?: string;
61
+ readonly idColumn?: string;
62
+ }
63
+ /** A resolved list declaration: everything the DDL and the query need. */
64
+ export interface ListIndexPlan {
65
+ readonly moduleId: string;
66
+ readonly entityType: string;
67
+ readonly table: string;
68
+ readonly idColumn: string;
69
+ readonly sortable: readonly string[];
70
+ readonly filterable: readonly string[];
71
+ /** The index-name stem. Kernel-owned, so it carries the reserved prefix. */
72
+ readonly indexStem: string;
73
+ }
74
+ /** The prefix every derived list index carries. */
75
+ export declare const LIST_INDEX_PREFIX = "_substrat_list_";
76
+ /** Is this index one the kernel derived for a paged read? */
77
+ export declare function isListIndexName(name: string): boolean;
78
+ /** Raised for an entity type no registered module declares as a paged list. */
79
+ export declare class NotListable extends Error {
80
+ readonly entityType: string;
81
+ constructor(entityType: string);
82
+ }
83
+ /** Raised for a `?sort=` naming a column the declaration does not offer. */
84
+ export declare class SortNotDeclared extends Error {
85
+ readonly entityType: string;
86
+ readonly requested: string;
87
+ readonly declared: readonly string[];
88
+ constructor(entityType: string, requested: string, declared: readonly string[]);
89
+ }
90
+ /** Raised for a filter naming a column the declaration does not offer. */
91
+ export declare class FilterNotDeclared extends Error {
92
+ readonly entityType: string;
93
+ readonly requested: string;
94
+ readonly declared: readonly string[];
95
+ constructor(entityType: string, requested: string, declared: readonly string[]);
96
+ }
97
+ /**
98
+ * Resolve one module's declarations into plans.
99
+ *
100
+ * Refuses rather than skips, for the reason `searchIndexPlans` does: a
101
+ * declaration the author believes is live that silently is not produces a list
102
+ * that pages wrongly with no error anywhere.
103
+ */
104
+ export declare function listIndexPlans(moduleId: string, lists: readonly ListDeclaration[] | undefined): ListIndexPlan[];
105
+ /**
106
+ * The index columns for one walk: the sort, then the tie-break, prefixed by a
107
+ * filter when the walk narrows by one.
108
+ *
109
+ * **One index per (filter, sort) pair, plus one per bare sort** — deliberately
110
+ * not every subset of the filters. `S × 2^F` indexes is a combinatorial answer
111
+ * to a question nobody asked: two filters applied together use the leftmost
112
+ * index and narrow the rest by scan, which for a filtered page is the right
113
+ * trade against paying write amplification on every insert forever.
114
+ *
115
+ * Stated rather than left implicit because it is a real limit: a list whose
116
+ * two-filter combination is hot wants a hand-written index, and knowing that is
117
+ * how somebody adds one.
118
+ */
119
+ export declare function listIndexColumns(plan: ListIndexPlan): {
120
+ name: string;
121
+ columns: string[];
122
+ }[];
123
+ /**
124
+ * The DDL for one plan's indexes.
125
+ *
126
+ * Drop-then-create, like the search index and for the same reason: the version
127
+ * below is the declaration itself, so a changed declaration re-runs this and has
128
+ * to produce indexes matching the NEW declaration rather than accumulating the
129
+ * old ones. An index is derived data; nothing is lost by dropping it.
130
+ */
131
+ export declare function listIndexDdl(plan: ListIndexPlan): string;
132
+ /**
133
+ * The migrations that provision a module's declared list indexes, journaled like
134
+ * any other so a scope applies them once and a changed declaration re-applies.
135
+ *
136
+ * **The version IS the declaration**, as it is for search: everything that
137
+ * decides the DDL appears in the version string, so adding a sort produces a new
138
+ * version and re-runs while changing nothing does not. Legible in
139
+ * `_substrat_migrations`, which is the one place an operator reads when a scope
140
+ * is stuck.
141
+ *
142
+ * Appended AFTER the module's own migrations by the adapter, which is what makes
143
+ * the table exist by the time `CREATE INDEX` names it.
144
+ */
145
+ export declare function listIndexMigrations(moduleId: string, lists: readonly ListDeclaration[] | undefined): SqlMigration[];
146
+ /**
147
+ * Index the plans by entity type for a whole scope, refusing an ambiguity — the
148
+ * same refusal `searchPlansByEntityType` makes, because `ctx.page('customer', …)`
149
+ * meaning different rows depending on registration order is the kind of fact
150
+ * that stays true in tests and changes in production.
151
+ */
152
+ export declare function listPlansByEntityType(modules: readonly {
153
+ readonly id: string;
154
+ readonly lists?: readonly ListDeclaration[];
155
+ }[]): Map<string, ListIndexPlan>;
156
+ /** What a caller asks for. Everything optional but the limit, which the host defaults. */
157
+ export interface ListQueryParams {
158
+ readonly limit: number;
159
+ readonly sort?: string;
160
+ readonly order?: 'asc' | 'desc';
161
+ readonly cursor?: string;
162
+ readonly filters?: Readonly<Record<string, unknown>>;
163
+ }
164
+ /** A composed read: the page query, and the count over the same `WHERE`. */
165
+ export interface ComposedListQuery {
166
+ readonly sql: string;
167
+ readonly params: unknown[];
168
+ readonly countSql: string;
169
+ readonly countParams: unknown[];
170
+ /** The column the walk ordered by — what the cursor's first part came from. */
171
+ readonly sortColumn: string;
172
+ readonly order: 'asc' | 'desc';
173
+ }
174
+ /**
175
+ * Split a composite cursor into its sort value and its tie-break id.
176
+ *
177
+ * The first part is `|`-free by construction (`pagination.ts`), so the split is
178
+ * on the FIRST separator and a sort value containing `|` still round-trips as
179
+ * long as the id does not — which it cannot, being a ULID.
180
+ */
181
+ export declare function splitCursor(cursor: string): {
182
+ value: string;
183
+ id: string | undefined;
184
+ };
185
+ /** Build the cursor a row hands to the next page. */
186
+ export declare function cursorOf(row: Record<string, unknown>, sortColumn: string, idColumn: string): string;
187
+ /**
188
+ * Compose the page query and its count.
189
+ *
190
+ * The two share one `WHERE` **by construction** rather than by being written
191
+ * twice in the same style — which is the defect `CountedPage` warns about ("a
192
+ * count of the whole table beside a filtered page is a number that is wrong in a
193
+ * way nobody notices until a customer does"). The count deliberately drops the
194
+ * CURSOR clause: a total counts the filtered set, not the part of it after the
195
+ * current page.
196
+ */
197
+ export declare function listQuery(plan: ListIndexPlan, params: ListQueryParams): ComposedListQuery;
198
+ //# sourceMappingURL=list-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-index.d.ts","sourceRoot":"","sources":["../src/list-index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,281 @@
1
+ /** The prefix every derived list index carries. */
2
+ export const LIST_INDEX_PREFIX = '_substrat_list_';
3
+ /** Is this index one the kernel derived for a paged read? */
4
+ export function isListIndexName(name) {
5
+ return name.startsWith(LIST_INDEX_PREFIX);
6
+ }
7
+ /**
8
+ * SQL identifiers reach the DDL by interpolation — there is no parameter form
9
+ * for a table or column name — so every one is checked first. Same reasoning as
10
+ * `search-index.ts`: a declaration is still a string somebody typed, and "it came
11
+ * from the manifest" is exactly the reasoning that makes an injection a surprise.
12
+ */
13
+ const IDENTIFIER = /^[A-Za-z_][A-Za-z0-9_]*$/;
14
+ function assertIdentifier(kind, value, where) {
15
+ if (!IDENTIFIER.test(value)) {
16
+ throw new Error(`list: ${where} names ${kind} '${value}', which is not a plain SQL identifier`);
17
+ }
18
+ return value;
19
+ }
20
+ /** `@acme/vertical` → `acme_vertical`: an id is not an identifier, an index name needs one. */
21
+ function slug(value) {
22
+ return value
23
+ .replace(/[^A-Za-z0-9]+/g, '_')
24
+ .replace(/^_+|_+$/g, '')
25
+ .toLowerCase();
26
+ }
27
+ /** Raised for an entity type no registered module declares as a paged list. */
28
+ export class NotListable extends Error {
29
+ entityType;
30
+ constructor(entityType) {
31
+ super(`list: '${entityType}' declares no paged list — add \`paged.over\` to the operation ` +
32
+ 'that reads it before paging through the kernel');
33
+ this.entityType = entityType;
34
+ this.name = 'NotListable';
35
+ }
36
+ }
37
+ /** Raised for a `?sort=` naming a column the declaration does not offer. */
38
+ export class SortNotDeclared extends Error {
39
+ entityType;
40
+ requested;
41
+ declared;
42
+ constructor(entityType, requested, declared) {
43
+ super(`list: '${requested}' is not a declared sort for '${entityType}' — ` +
44
+ `choose one of (${declared.join(', ')})`);
45
+ this.entityType = entityType;
46
+ this.requested = requested;
47
+ this.declared = declared;
48
+ this.name = 'SortNotDeclared';
49
+ }
50
+ }
51
+ /** Raised for a filter naming a column the declaration does not offer. */
52
+ export class FilterNotDeclared extends Error {
53
+ entityType;
54
+ requested;
55
+ declared;
56
+ constructor(entityType, requested, declared) {
57
+ super(`list: '${requested}' is not a declared filter for '${entityType}' — ` +
58
+ (declared.length
59
+ ? `choose one of (${declared.join(', ')})`
60
+ : 'it declares no filters at all'));
61
+ this.entityType = entityType;
62
+ this.requested = requested;
63
+ this.declared = declared;
64
+ this.name = 'FilterNotDeclared';
65
+ }
66
+ }
67
+ /**
68
+ * Resolve one module's declarations into plans.
69
+ *
70
+ * Refuses rather than skips, for the reason `searchIndexPlans` does: a
71
+ * declaration the author believes is live that silently is not produces a list
72
+ * that pages wrongly with no error anywhere.
73
+ */
74
+ export function listIndexPlans(moduleId, lists) {
75
+ if (!lists?.length)
76
+ return [];
77
+ const plans = [];
78
+ for (const decl of lists) {
79
+ const where = `${moduleId} lists['${decl.entityType}']`;
80
+ if (!decl.table) {
81
+ throw new Error(`list: ${where} carries no table — declare paged lists through \`manifestLists()\` ` +
82
+ 'so the entity registry supplies it, rather than by hand');
83
+ }
84
+ if (!decl.sortable.length) {
85
+ throw new Error(`list: ${where} declares no sortable column — a keyset walk has nothing to order by`);
86
+ }
87
+ const table = assertIdentifier('a table', decl.table, where);
88
+ const idColumn = assertIdentifier('an id column', decl.idColumn ?? 'id', where);
89
+ const sortable = decl.sortable.map((c) => assertIdentifier('a sort column', c, where));
90
+ const filterable = (decl.filterable ?? []).map((c) => assertIdentifier('a filter column', c, where));
91
+ if (new Set(sortable).size !== sortable.length) {
92
+ throw new Error(`list: ${where} repeats a sortable column — (${sortable.join(', ')})`);
93
+ }
94
+ if (new Set(filterable).size !== filterable.length) {
95
+ throw new Error(`list: ${where} repeats a filterable column — (${filterable.join(', ')})`);
96
+ }
97
+ plans.push({
98
+ moduleId,
99
+ entityType: decl.entityType,
100
+ table,
101
+ idColumn,
102
+ sortable,
103
+ filterable,
104
+ indexStem: `${LIST_INDEX_PREFIX}${slug(moduleId)}_${slug(decl.entityType)}`,
105
+ });
106
+ }
107
+ return plans;
108
+ }
109
+ /**
110
+ * The index columns for one walk: the sort, then the tie-break, prefixed by a
111
+ * filter when the walk narrows by one.
112
+ *
113
+ * **One index per (filter, sort) pair, plus one per bare sort** — deliberately
114
+ * not every subset of the filters. `S × 2^F` indexes is a combinatorial answer
115
+ * to a question nobody asked: two filters applied together use the leftmost
116
+ * index and narrow the rest by scan, which for a filtered page is the right
117
+ * trade against paying write amplification on every insert forever.
118
+ *
119
+ * Stated rather than left implicit because it is a real limit: a list whose
120
+ * two-filter combination is hot wants a hand-written index, and knowing that is
121
+ * how somebody adds one.
122
+ */
123
+ export function listIndexColumns(plan) {
124
+ const out = [];
125
+ for (const sort of plan.sortable) {
126
+ // The tie-break collapses when the sort column IS the id — indexing
127
+ // `(id, id)` would be a wider index describing the same order.
128
+ const walk = sort === plan.idColumn ? [sort] : [sort, plan.idColumn];
129
+ // Sorting by the id alone needs no index of ours: the id column is the
130
+ // entity's primary key by construction (`primaryKeyOf` resolved it), and
131
+ // SQLite already indexes that. Emitting one would pay write amplification on
132
+ // every insert for a second copy of an index that exists.
133
+ if (walk.length > 1) {
134
+ out.push({ name: `${plan.indexStem}_${slug(sort)}`, columns: walk });
135
+ }
136
+ for (const filter of plan.filterable) {
137
+ if (filter === sort)
138
+ continue;
139
+ out.push({
140
+ name: `${plan.indexStem}_${slug(filter)}_${slug(sort)}`,
141
+ columns: [filter, ...walk],
142
+ });
143
+ }
144
+ }
145
+ return out;
146
+ }
147
+ /**
148
+ * The DDL for one plan's indexes.
149
+ *
150
+ * Drop-then-create, like the search index and for the same reason: the version
151
+ * below is the declaration itself, so a changed declaration re-runs this and has
152
+ * to produce indexes matching the NEW declaration rather than accumulating the
153
+ * old ones. An index is derived data; nothing is lost by dropping it.
154
+ */
155
+ export function listIndexDdl(plan) {
156
+ const lines = [];
157
+ for (const idx of listIndexColumns(plan)) {
158
+ lines.push(`DROP INDEX IF EXISTS ${idx.name};`);
159
+ lines.push(`CREATE INDEX ${idx.name} ON ${plan.table} (${idx.columns.join(', ')});`);
160
+ }
161
+ return lines.join('\n');
162
+ }
163
+ /**
164
+ * The migrations that provision a module's declared list indexes, journaled like
165
+ * any other so a scope applies them once and a changed declaration re-applies.
166
+ *
167
+ * **The version IS the declaration**, as it is for search: everything that
168
+ * decides the DDL appears in the version string, so adding a sort produces a new
169
+ * version and re-runs while changing nothing does not. Legible in
170
+ * `_substrat_migrations`, which is the one place an operator reads when a scope
171
+ * is stuck.
172
+ *
173
+ * Appended AFTER the module's own migrations by the adapter, which is what makes
174
+ * the table exist by the time `CREATE INDEX` names it.
175
+ */
176
+ export function listIndexMigrations(moduleId, lists) {
177
+ return listIndexPlans(moduleId, lists).map((plan) => ({
178
+ version: `list/${plan.entityType}:${plan.sortable.join('+')}:${plan.filterable.join('+')}`,
179
+ sql: listIndexDdl(plan),
180
+ }));
181
+ }
182
+ /**
183
+ * Index the plans by entity type for a whole scope, refusing an ambiguity — the
184
+ * same refusal `searchPlansByEntityType` makes, because `ctx.page('customer', …)`
185
+ * meaning different rows depending on registration order is the kind of fact
186
+ * that stays true in tests and changes in production.
187
+ */
188
+ export function listPlansByEntityType(modules) {
189
+ const byType = new Map();
190
+ for (const mod of modules) {
191
+ for (const plan of listIndexPlans(mod.id, mod.lists)) {
192
+ const existing = byType.get(plan.entityType);
193
+ if (existing) {
194
+ throw new Error(`list: '${plan.entityType}' declares a paged list in both '${existing.moduleId}' and ` +
195
+ `'${plan.moduleId}' — one entity type, one walk; rename one`);
196
+ }
197
+ byType.set(plan.entityType, plan);
198
+ }
199
+ }
200
+ return byType;
201
+ }
202
+ /**
203
+ * Split a composite cursor into its sort value and its tie-break id.
204
+ *
205
+ * The first part is `|`-free by construction (`pagination.ts`), so the split is
206
+ * on the FIRST separator and a sort value containing `|` still round-trips as
207
+ * long as the id does not — which it cannot, being a ULID.
208
+ */
209
+ export function splitCursor(cursor) {
210
+ const at = cursor.indexOf('|');
211
+ if (at === -1)
212
+ return { value: cursor, id: undefined };
213
+ return { value: cursor.slice(0, at), id: cursor.slice(at + 1) };
214
+ }
215
+ /** Build the cursor a row hands to the next page. */
216
+ export function cursorOf(row, sortColumn, idColumn) {
217
+ const value = String(row[sortColumn] ?? '');
218
+ if (sortColumn === idColumn)
219
+ return value;
220
+ return `${value}|${String(row[idColumn] ?? '')}`;
221
+ }
222
+ /**
223
+ * Compose the page query and its count.
224
+ *
225
+ * The two share one `WHERE` **by construction** rather than by being written
226
+ * twice in the same style — which is the defect `CountedPage` warns about ("a
227
+ * count of the whole table beside a filtered page is a number that is wrong in a
228
+ * way nobody notices until a customer does"). The count deliberately drops the
229
+ * CURSOR clause: a total counts the filtered set, not the part of it after the
230
+ * current page.
231
+ */
232
+ export function listQuery(plan, params) {
233
+ const sortColumn = params.sort ?? plan.sortable[0];
234
+ if (!plan.sortable.includes(sortColumn)) {
235
+ throw new SortNotDeclared(plan.entityType, sortColumn, plan.sortable);
236
+ }
237
+ const order = params.order ?? 'asc';
238
+ const filters = Object.entries(params.filters ?? {}).filter(([, v]) => v !== undefined);
239
+ const where = [];
240
+ const args = [];
241
+ for (const [column, value] of filters) {
242
+ if (!plan.filterable.includes(column)) {
243
+ throw new FilterNotDeclared(plan.entityType, column, plan.filterable);
244
+ }
245
+ where.push(`${column} = ?`);
246
+ args.push(value);
247
+ }
248
+ // The count runs over the filters ALONE — the cursor narrows a page, not the set.
249
+ const countWhere = where.length ? ` WHERE ${where.join(' AND ')}` : '';
250
+ const countParams = [...args];
251
+ const cmp = order === 'asc' ? '>' : '<';
252
+ if (params.cursor !== undefined && params.cursor !== '') {
253
+ const { value, id } = splitCursor(params.cursor);
254
+ if (sortColumn === plan.idColumn || id === undefined) {
255
+ where.push(`${sortColumn} ${cmp} ?`);
256
+ args.push(value);
257
+ }
258
+ else {
259
+ // Keyset over (sort, id): strictly past the sort value, or level with it
260
+ // and strictly past the id. Written out rather than as a row-value
261
+ // comparison — SQLite supports `(a,b) > (?,?)` only from 3.15 and the
262
+ // expanded form plans identically against the same index.
263
+ where.push(`(${sortColumn} ${cmp} ? OR (${sortColumn} = ? AND ${plan.idColumn} ${cmp} ?))`);
264
+ args.push(value, value, id);
265
+ }
266
+ }
267
+ const whereClause = where.length ? ` WHERE ${where.join(' AND ')}` : '';
268
+ const direction = order === 'asc' ? 'ASC' : 'DESC';
269
+ const orderBy = sortColumn === plan.idColumn
270
+ ? ` ORDER BY ${sortColumn} ${direction}`
271
+ : ` ORDER BY ${sortColumn} ${direction}, ${plan.idColumn} ${direction}`;
272
+ return {
273
+ sql: `SELECT * FROM ${plan.table}${whereClause}${orderBy} LIMIT ?`,
274
+ params: [...args, params.limit],
275
+ countSql: `SELECT COUNT(*) AS n FROM ${plan.table}${countWhere}`,
276
+ countParams,
277
+ sortColumn,
278
+ order,
279
+ };
280
+ }
281
+ //# sourceMappingURL=list-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-index.js","sourceRoot":"","sources":["../src/list-index.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import { type PlatformRequestFilter } from '@substrat-run/contracts';
11
11
  * HTTP query string on one of those paths. Values are bound, never interpolated.
12
12
  */
13
13
  /** Every column of `_substrat_platform_requests`, in the order the row mappers expect. */
14
- export declare const PLATFORM_REQUEST_COLUMNS = "id, kind, payload, requested_by, status, attempts, last_error, result, requested_at, settled_at";
14
+ export declare const PLATFORM_REQUEST_COLUMNS = "id, kind, payload, requested_by, status, attempts, last_error, last_failure, result, requested_at, settled_at";
15
15
  export declare function platformRequestHistoryQuery(filter?: PlatformRequestFilter): {
16
16
  sql: string;
17
17
  params: (string | number)[];
@@ -1 +1 @@
1
- {"version":3,"file":"platform-request-query.d.ts","sourceRoot":"","sources":["../src/platform-request-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;;;GAUG;AAEH,0FAA0F;AAC1F,eAAO,MAAM,wBAAwB,oGAC8D,CAAC;AAEpG,wBAAgB,2BAA2B,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CAC7B,CAoBA"}
1
+ {"version":3,"file":"platform-request-query.d.ts","sourceRoot":"","sources":["../src/platform-request-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;;;GAUG;AAEH,0FAA0F;AAC1F,eAAO,MAAM,wBAAwB,kHAC4E,CAAC;AAElH,wBAAgB,2BAA2B,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CAC7B,CAoBA"}
@@ -11,7 +11,7 @@ import { DEFAULT_PLATFORM_REQUEST_HISTORY_LIMIT, platformRequestFilter, } from '
11
11
  * HTTP query string on one of those paths. Values are bound, never interpolated.
12
12
  */
13
13
  /** Every column of `_substrat_platform_requests`, in the order the row mappers expect. */
14
- export const PLATFORM_REQUEST_COLUMNS = 'id, kind, payload, requested_by, status, attempts, last_error, result, requested_at, settled_at';
14
+ export const PLATFORM_REQUEST_COLUMNS = 'id, kind, payload, requested_by, status, attempts, last_error, last_failure, result, requested_at, settled_at';
15
15
  export function platformRequestHistoryQuery(filter) {
16
16
  const f = platformRequestFilter.parse(filter ?? {});
17
17
  const where = [];
@@ -1 +1 @@
1
- {"version":3,"file":"platform-request-query.js","sourceRoot":"","sources":["../src/platform-request-query.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sCAAsC,EACtC,qBAAqB,GAEtB,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;;;GAUG;AAEH,0FAA0F;AAC1F,MAAM,CAAC,MAAM,wBAAwB,GACnC,iGAAiG,CAAC;AAEpG,MAAM,UAAU,2BAA2B,CAAC,MAA8B;IAIxE,MAAM,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,sCAAsC,CAAC,CAAC;IAC/D,OAAO;QACL,GAAG,EACD,UAAU,wBAAwB,mCAAmC;YACrE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,2BAA2B;QAC7B,MAAM;KACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"platform-request-query.js","sourceRoot":"","sources":["../src/platform-request-query.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sCAAsC,EACtC,qBAAqB,GAEtB,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;;;GAUG;AAEH,0FAA0F;AAC1F,MAAM,CAAC,MAAM,wBAAwB,GACnC,+GAA+G,CAAC;AAElH,MAAM,UAAU,2BAA2B,CAAC,MAA8B;IAIxE,MAAM,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,sCAAsC,CAAC,CAAC;IAC/D,OAAO;QACL,GAAG,EACD,UAAU,wBAAwB,mCAAmC;YACrE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,2BAA2B;QAC7B,MAAM;KACP,CAAC;AACJ,CAAC"}
@@ -1,18 +1,3 @@
1
- /**
2
- * Is a failed outbound call worth trying again? (#618)
3
- *
4
- * The platform retries a connector delivery by re-draining its `connector:<provider>` intent,
5
- * and until now every failure looked the same to that loop: a throw meant "transient", so a
6
- * provider answering `409 requires valid personal number field` was retried a hundred times
7
- * over two days. That answer is not a fault to wait out — it is the provider telling the
8
- * CALLER its request is wrong, and attempt 101 carries the identical bytes.
9
- *
10
- * The rule lives in the kernel rather than in any one connector because both ends need it:
11
- * a connector decides what status to raise, the drain decides whether to keep the intent
12
- * drainable, and they must not disagree. It is deliberately STRUCTURAL — any error carrying a
13
- * numeric `status` — so the drain never has to import a provider's error class to classify it,
14
- * and a connector gets the behaviour by raising the status it already knows.
15
- */
16
1
  /**
17
2
  * 4xx statuses that are nevertheless worth retrying: the provider is refusing this attempt,
18
3
  * not the request. Timeouts and locks clear on their own; a rate limit is an instruction to
@@ -27,9 +12,27 @@ export declare const RETRYABLE_CLIENT_STATUSES: ReadonlySet<number>;
27
12
  */
28
13
  export declare function providerErrorStatus(error: unknown): number | undefined;
29
14
  /**
30
- * The provider refused the REQUEST a 4xx that will refuse the identical request forever.
31
- * A 5xx is the provider's own fault and stays retryable; so does anything without a status,
32
- * because "we could not tell" must never settle a delivery terminally.
15
+ * Is this delivery over?the DRAIN's question, and the only one that decides retries.
16
+ *
17
+ * A non-retryable 4xx, whoever raised it: attempt 101 carries the identical bytes past the
18
+ * identical check. Deliberately blind to WHO refused, because terminality does not depend on
19
+ * it — our own `validation_failed` is as final as the provider's 409, and both statuses come
20
+ * from the same structural read (`SubstratError` carries its catalog status; a connector's
21
+ * error carries the provider's).
22
+ */
23
+ export declare function isTerminalDispatchFailure(error: unknown): boolean;
24
+ /**
25
+ * The PROVIDER refused the request — a 4xx that came back over the wire, not one we raised.
26
+ *
27
+ * The exclusion is the whole point (#841). This predicate reads a bare numeric `status`, and
28
+ * every `SubstratError` carries one from the problem catalog — so a `permission denied:
29
+ * protocol:read` raised on our own side of egress answered `true` here, and the drain
30
+ * captioned it "a client error the provider will refuse identically on retry". Scrive never
31
+ * saw that request. An operator who reads that sentence goes and audits their Scrive account.
32
+ *
33
+ * Terminality was never the part that was wrong, so it did not move: see
34
+ * {@link isTerminalDispatchFailure}, which is what the drain now asks. This one answers only
35
+ * "may we quote this as the provider's words", and one of ours never may.
33
36
  */
34
37
  export declare function isTerminalProviderError(error: unknown): boolean;
35
38
  //# sourceMappingURL=provider-error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-error.d.ts","sourceRoot":"","sources":["../src/provider-error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAAiC,CAAC;AAE5F;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAItE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAG/D"}
1
+ {"version":3,"file":"provider-error.d.ts","sourceRoot":"","sources":["../src/provider-error.ts"],"names":[],"mappings":"AAiBA;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAAiC,CAAC;AAE5F;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAItE;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGjE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE/D"}
@@ -13,6 +13,7 @@
13
13
  * numeric `status` — so the drain never has to import a provider's error class to classify it,
14
14
  * and a connector gets the behaviour by raising the status it already knows.
15
15
  */
16
+ import { isSubstratError } from '@substrat-run/contracts';
16
17
  /**
17
18
  * 4xx statuses that are nevertheless worth retrying: the provider is refusing this attempt,
18
19
  * not the request. Timeouts and locks clear on their own; a rate limit is an instruction to
@@ -32,12 +33,32 @@ export function providerErrorStatus(error) {
32
33
  return typeof status === 'number' && Number.isFinite(status) ? status : undefined;
33
34
  }
34
35
  /**
35
- * The provider refused the REQUEST a 4xx that will refuse the identical request forever.
36
- * A 5xx is the provider's own fault and stays retryable; so does anything without a status,
37
- * because "we could not tell" must never settle a delivery terminally.
36
+ * Is this delivery over?the DRAIN's question, and the only one that decides retries.
37
+ *
38
+ * A non-retryable 4xx, whoever raised it: attempt 101 carries the identical bytes past the
39
+ * identical check. Deliberately blind to WHO refused, because terminality does not depend on
40
+ * it — our own `validation_failed` is as final as the provider's 409, and both statuses come
41
+ * from the same structural read (`SubstratError` carries its catalog status; a connector's
42
+ * error carries the provider's).
38
43
  */
39
- export function isTerminalProviderError(error) {
44
+ export function isTerminalDispatchFailure(error) {
40
45
  const status = providerErrorStatus(error);
41
46
  return status !== undefined && status >= 400 && status < 500 && !RETRYABLE_CLIENT_STATUSES.has(status);
42
47
  }
48
+ /**
49
+ * The PROVIDER refused the request — a 4xx that came back over the wire, not one we raised.
50
+ *
51
+ * The exclusion is the whole point (#841). This predicate reads a bare numeric `status`, and
52
+ * every `SubstratError` carries one from the problem catalog — so a `permission denied:
53
+ * protocol:read` raised on our own side of egress answered `true` here, and the drain
54
+ * captioned it "a client error the provider will refuse identically on retry". Scrive never
55
+ * saw that request. An operator who reads that sentence goes and audits their Scrive account.
56
+ *
57
+ * Terminality was never the part that was wrong, so it did not move: see
58
+ * {@link isTerminalDispatchFailure}, which is what the drain now asks. This one answers only
59
+ * "may we quote this as the provider's words", and one of ours never may.
60
+ */
61
+ export function isTerminalProviderError(error) {
62
+ return !isSubstratError(error) && isTerminalDispatchFailure(error);
63
+ }
43
64
  //# sourceMappingURL=provider-error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-error.js","sourceRoot":"","sources":["../src/provider-error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAwB,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAE5F;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,MAAM,GAAI,KAA8B,CAAC,MAAM,CAAC;IACtD,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACpF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzG,CAAC"}
1
+ {"version":3,"file":"provider-error.js","sourceRoot":"","sources":["../src/provider-error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAwB,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAE5F;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,MAAM,GAAI,KAA8B,CAAC,MAAM,CAAC;IACtD,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACpF,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzG,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,yBAAyB,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC"}
@@ -1,6 +1,25 @@
1
- import type { AdminAction, ListPage, Connection, ConnectionFilter, ConnectionId, ConnectionGrant, ConnectionGrantRecord, ConnectionSecret, CreateConnectionInput, OpenConnection, ProjectedConnectionGrant, ProjectedConnectionKey, AccessLogEntry, BindHostnameInput, AdminLogEntry, OpsFailureEntry, CapabilityGrant, CreateTenantInput, Decision, DomainEvent, DomainEventInput, PlatformRequestInput, PlatformRequestId, PlatformRequest, PlatformRequestFilter, PlatformRequestStatus, EntitlementGrant, EntitlementGrantInput, EntitlementView, MeterReading, EntityRef, IdentityLink, IdentityPool, Jurisdiction, ModuleId, ModuleManifest, ScheduleSpec, SystemGrant, CreateOrgInput, Node, Org, OrgId, OrgMembership, PermissionKey, PlatformActorId, ChannelName, ChannelHistoryEntry, DnsRecord, HostnameBinding, HostnameStatus, PromotionAcknowledgement, PublishVersionInput, RegisterVerticalInput, VerticalServingState, RouteTarget, DirectoryDump, PrincipalId, ResolvedIdentity, RoleAssignment, RoleDefinition, QueryScopeInput, ReadScopeTableInput, Scope, ScopeDump, SubjectShredReceipt, ScopeQueryResult, ScopeId, ScopeStatus, ScopeTable, ScopeTablePage, StorageShape, Tenant, TenantId, TenantRole, TenantStoreHandle, AttachmentRecord, BlobStoreHandle, Visibility, Vertical, VerticalChannel, VerticalVersion, TenantStatus } from '@substrat-run/contracts';
1
+ import type { AdminAction, ListPage, Connection, ConnectionFilter, ConnectionId, ConnectionGrant, ConnectionGrantRecord, ConnectionSecret, CreateConnectionInput, OpenConnection, ProjectedConnectionGrant, ProjectedConnectionKey, AccessLogEntry, BindHostnameInput, AdminLogEntry, OpsFailureEntry, CapabilityGrant, CreateTenantInput, Decision, Instant, DomainEvent, DomainEventInput, PlatformRequestInput, PlatformRequestId, PlatformRequest, PlatformRequestFilter, PlatformRequestStatus, PlatformRequestFailure, EntitlementGrant, EntitlementGrantInput, EntitlementView, MeterReading, EntityRef, IdentityLink, IdentityPool, Jurisdiction, ModuleId, ModuleManifest, ScheduleSpec, SystemGrant, CreateOrgInput, Node, Org, OrgId, OrgMembership, PermissionKey, PlatformActorId, ChannelName, ChannelHistoryEntry, DnsRecord, HostnameBinding, HostnameStatus, PromotionAcknowledgement, PublishVersionInput, RegisterVerticalInput, VerticalServingState, RouteTarget, DirectoryDump, PrincipalId, ResolvedIdentity, RoleAssignment, RoleDefinition, QueryScopeInput, ReadScopeTableInput, Scope, ScopeDump, SubjectShredReceipt, ScopeQueryResult, ScopeId, ScopeStatus, ScopeTable, ScopeTablePage, StorageShape, Tenant, TenantId, TenantRole, TenantStoreHandle, AttachmentRecord, BlobStoreHandle, Visibility, Vertical, VerticalChannel, VerticalVersion, TenantStatus, Page, CountedPage } from '@substrat-run/contracts';
2
2
  import type { SealedSecret } from './secret-box.js';
3
3
  import type { SearchHit, SearchOptions } from './search-index.js';
4
+ /**
5
+ * What a caller asks a paged read for (#811).
6
+ *
7
+ * `filters` is a plain record because the DECLARATION is what constrains it: an
8
+ * undeclared key is refused by `listQuery` rather than typed away here, so the
9
+ * refusal names the column and lists the ones that exist — which a structural
10
+ * type could not do for a hand-written manifest.
11
+ */
12
+ export interface PageParams {
13
+ /** Defaulted to `LIST_PAGE_DEFAULT` and capped at `LIST_PAGE_MAX` by `ctx.page`. */
14
+ readonly limit?: number;
15
+ /** One of the declared `sortable` columns. Defaults to the first. */
16
+ readonly sort?: string;
17
+ readonly order?: 'asc' | 'desc';
18
+ readonly cursor?: string;
19
+ readonly filters?: Readonly<Record<string, unknown>>;
20
+ /** Also count the filtered set — the declaration's `total`, passed through. */
21
+ readonly total?: boolean;
22
+ }
4
23
  /**
5
24
  * The scope-host contract — the adapter seam (§5.1 of the design doc).
6
25
  *
@@ -29,6 +48,34 @@ export interface OperationContext {
29
48
  readonly scopeId: ScopeId;
30
49
  readonly principal: PrincipalId;
31
50
  readonly sql: ScopedSql;
51
+ /**
52
+ * The operation's instant (#812) — the ONLY clock module code may read.
53
+ *
54
+ * Module code has no other one: `new Date()` and `Date.now()` are R6
55
+ * violations, the same way `node:*` is an R2 one. Reaching for the wall clock
56
+ * directly is how 95 call sites came to stamp rows the kernel could not see,
57
+ * and how anything genuinely time-dependent — an absence window, a metering
58
+ * period, a booking hold — became untestable except against real time.
59
+ *
60
+ * **Stable for the whole invocation.** Every call within one operation returns
61
+ * the same instant, so two rows written in one transaction cannot disagree
62
+ * about when they were written, and an event agrees with the row it describes.
63
+ * That is a promise about the value, not an optimisation: it is what lets a
64
+ * frozen clock make a scenario deterministic rather than merely slower.
65
+ *
66
+ * Read at the top of the operation, not lazily — the host stamps it when the
67
+ * context is built, so the value is the instant the operation BEGAN, not the
68
+ * instant a particular line ran.
69
+ *
70
+ * ```ts
71
+ * const now = ctx.now();
72
+ * ctx.sql.exec('INSERT INTO shop_carts (id, owner, created_at) VALUES (?, ?, ?)', [id, owner, now]);
73
+ * ```
74
+ *
75
+ * Injectable host-side (`clock` on the host options, the same seam as `fetch`),
76
+ * which is what a frozen-clock test and a deterministic replay both need.
77
+ */
78
+ now(): Instant;
32
79
  /** Envelope is stamped kernel-side (id, occurredAt, tenant, scope, actor); input is validated. */
33
80
  emit(event: DomainEventInput): void;
34
81
  /**
@@ -92,6 +139,38 @@ export interface OperationContext {
92
139
  * standing in for a misconfiguration.
93
140
  */
94
141
  search(entityType: string, term: string, options?: SearchOptions): SearchHit[];
142
+ /**
143
+ * Read one PAGE of a declared entity (#811, K-18) — the kernel-composed half of
144
+ * a paged read.
145
+ *
146
+ * Composes the `WHERE` from the operation's declared `filterable` columns, the
147
+ * `ORDER BY` from the caller's choice among `sortable`, the keyset comparison,
148
+ * the `LIMIT`, and — when the declaration asks for a total — the `COUNT` over
149
+ * that same `WHERE`. It reads the indexes it also provisioned, so a declared
150
+ * filter is an indexed one rather than a table scan waiting for a big tenant.
151
+ *
152
+ * Returns **rows**, wrapped in a page. The projection stays the module's: map
153
+ * with `mapPage` to keep the cursor and total while re-shaping the entries.
154
+ *
155
+ * ```ts
156
+ * const page = ctx.page<OrderRow>('workorder', {
157
+ * limit, cursor: input.cursor, sort: input.sort, filters: { status: input.status },
158
+ * });
159
+ * return mapPage(page, toWorkOrder);
160
+ * ```
161
+ *
162
+ * **This does not check permission** — nothing on `ctx` does, and a paged read
163
+ * is not an exception. The operation's own `assertAllowed` still comes first.
164
+ * A read that filters per ROW after the fact (a portal walk) cannot use this at
165
+ * all: a page of 20 filtered down to 3 is not a page, and the honest shape is an
166
+ * over-fetch loop the handler owns.
167
+ *
168
+ * Throws `NotListable` for an entity no operation declared `paged.over` on,
169
+ * `SortNotDeclared` for a `?sort=` outside the vocabulary, and
170
+ * `FilterNotDeclared` for a filter outside it — never a silently-ignored
171
+ * parameter, which is how a caller comes to believe a filter is applied.
172
+ */
173
+ page<T>(entityType: string, params: PageParams): Page<T> | CountedPage<T>;
95
174
  /**
96
175
  * Read one of the tenant's currently-held entitlements at request time (#304) — the
97
176
  * sanctioned way a hosted vertical gates a feature or enforces its own quota WITHOUT a
@@ -381,6 +460,22 @@ export interface ScheduleRunReport {
381
460
  export interface FetchLike {
382
461
  (input: string, init?: ConnectorRequestInit): Promise<ConnectorResponse>;
383
462
  }
463
+ /**
464
+ * The host's clock (#812) — what `ctx.now()` reads.
465
+ *
466
+ * Injectable for the same reason `FetchLike` is: the thing outside the process
467
+ * that a test cannot otherwise control. A host given no clock reads the wall
468
+ * clock, which is every production path; a test hands in a frozen or scripted
469
+ * one and gets a scenario that asserts the interesting case instead of avoiding
470
+ * it.
471
+ *
472
+ * Returns an `Instant` rather than a number so there is exactly one timestamp
473
+ * format on the way in, and the host never has to guess whether it was handed
474
+ * seconds or milliseconds.
475
+ */
476
+ export interface Clock {
477
+ (): Instant;
478
+ }
384
479
  export interface ConnectorRequestInit {
385
480
  method?: string;
386
481
  headers?: Record<string, string>;
@@ -2344,6 +2439,8 @@ export interface ScopeHost {
2344
2439
  status: PlatformRequestStatus;
2345
2440
  result?: unknown;
2346
2441
  lastError?: string | null;
2442
+ /** WHO refused (#841). Omitted by a caller too old to attribute — stored as NULL. */
2443
+ failure?: PlatformRequestFailure | null;
2347
2444
  }): Promise<void>;
2348
2445
  /** Bare operation registration (tests, glue). Names are module-namespaced: 'workorder/create'. */
2349
2446
  defineOperation<I, O>(name: string, handler: OperationHandler<I, O>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"scope-host.d.ts","sourceRoot":"","sources":["../src/scope-host.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,wBAAwB,EACxB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,WAAW,EACX,cAAc,EACd,IAAI,EACJ,GAAG,EACH,KAAK,EACL,aAAa,EACb,aAAa,EACb,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,cAAc,EACd,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,KAAK,EACL,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAChB,OAAO,EACP,WAAW,EACX,UAAU,EACV,cAAc,EACd,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,QAAQ,EACR,eAAe,EACf,eAAe,EACf,YAAY,EACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElE;;;;;;;;;;;;;;GAcG;AAEH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;AAEpE,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;IACpF,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,QAAQ,EAAE,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACtE;AAED,iGAAiG;AACjG,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IACxB,kGAAkG;IAClG,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC;;;;;;;;;OASG;IACH,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,iBAAiB,CAAC;IAClE;;;;;;;;;;;;;;;;OAgBG;IACH,gBAAgB,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,eAAe,EAAE,CAAC;IACpE,0FAA0F;IAC1F,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,EAAE,CAAC;IAC/E;;;;;;;;;OASG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAC1D,6FAA6F;IAC7F,YAAY,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7E;;;;;OAKG;IACH,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IAChD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3F,qEAAqE;IACrE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACjD;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,IAAI,CACvD,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,CAAC,KACL,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEpB,4EAA4E;AAC5E,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC5E;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;OASG;IACH,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED,MAAM,WAAW,YAAY;IAC3B,qFAAqF;IACrF,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAEtE;;;;;;;GAOG;AACH;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAElG;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE7F;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAChD;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,SAAS;IACxB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC1E;AACD,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AACD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB;;;;;OAKG;IACH,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;CACrC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD;;;;;;;;;;OAUG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC/E;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACvE;;;;;;;;;;;;;OAaG;IACH,MAAM,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACnC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/C;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;;;;;OAQG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;CAClE;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnG,yCAAyC;AACzC,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IAC3D,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,+EAA+E;AAC/E,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAM7F;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EACpC,IAAI,EAAE,IAAI,GACT,MAAM,CAIR;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,GAAG,EAAE,gBAAgB,EACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,KAAK,EAAE,OAAO,KACX,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpD,CAAC;AAEF,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,GACnG,CAAC,GACD,KAAK,CAAC;AAEV,KAAK,SAAS,CAAC,CAAC,SAAS,SAAS,aAAa,EAAE,IAAI,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE9F,kDAAkD;AAClD,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,SAAS,aAAa,EAAE,IAAI,MAAM,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;AAE1F,iEAAiE;AACjE,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,SAAS,aAAa,EAAE,EAAE,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3G;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,CACpC,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,KACjD,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B,KAAK,SAAS,CAAC,CAAC,SAAS,SAAS,aAAa,EAAE,IAAI,mBAAmB,CACtE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;IAAE,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CAAC,kBAAkB,CAAC,CACrF,CAAC;AAEF;;;;GAIG;AACH,KAAK,kBAAkB,CAAC,CAAC,SAAS,SAAS,aAAa,EAAE,EAAE,OAAO,SAAS,MAAM,IAAI;KACnF,CAAC,IAAI,MAAM,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACnF,KAAK,GACL,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM;CAC7B,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtB,KAAK,iBAAiB,CAAC,CAAC,SAAS,SAAS,aAAa,EAAE,EAAE,OAAO,SAAS,MAAM,IAAI,OAAO,CAC1F,kBAAkB,CAAC,CAAC,EAAE,OAAO,CAAC,EAC9B,OAAO,CACR,CAAC;AAEF;;;GAGG;AACH,KAAK,YAAY,CAAC,CAAC,SAAS,SAAS,aAAa,EAAE,EAAE,OAAO,SAAS,MAAM,IAAI;IAC9E,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC;CAC9B,SAAS,CAAC,KAAK,CAAC,GACb,OAAO,GACP;IAAE,QAAQ,EAAE,CAAC,IAAI,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC;CAAE,CAAC;AAEnF,sEAAsE;AACtE,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,SAAS,aAAa,EAAE,IAAI;IAC/D,QAAQ,EAAE,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC5E,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,SAAS,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,GACnF,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAC/B,cAAc,CAAC,CAAC,CAAC,CAAC;AAEtB;;;;;;;;;;;;;;;;GAgBG;AACH,KAAK,WAAW,CAAC,CAAC,SAAS,SAAS,aAAa,EAAE,EAAE,CAAC,IAAI;IACxD,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK;CACvG,CAAC;AAEF,wBAAgB,YAAY,CAAC,KAAK,CAAC,CAAC,SAAS,SAAS,aAAa,EAAE,MAC3D,KAAK,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,KAAG,CAAC,CAC/F;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,SAAS,aAAa,EAAE,GAAG,EAAE;IACzE,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9D;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC7C;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,SAAS;IACxB,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5F;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAE9E,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E;;;;;;;;OAQG;IACH,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,KAAK,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,2FAA2F;IAC3F;;;;;;;;;OASG;IACH,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF;;;;;;;;OAQG;IACH,oBAAoB,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACnG;;;;;;;;;;OAUG;IACH,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzE,UAAU,CACR,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,aAAa,EACzB,IAAI,EAAE,IAAI,EACV,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,SAAS,CACP,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,WAAW,EACtB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB;;;;;;;;;;;OAWG;IACH,YAAY,CACV,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,WAAW,EACtB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB;;;;;;OAMG;IACH,WAAW,CACT,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GACrC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAI5B;;;;;;;;;OASG;IACH,SAAS,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,QAAQ,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACrE,MAAM,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;IAI3F;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtF,0FAA0F;IAC1F,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE5E;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClF,sFAAsF;IACtF,YAAY,CACV,KAAK,EAAE,eAAe,EACtB,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,QAAQ,GACd,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAE9B;;;;;;;;;;;;;OAaG;IACH,UAAU,CACR,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;IAExC;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,0FAA0F;IAC1F,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtF;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxF;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE;;;;;;;OAOG;IACH,0BAA0B,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElG;;;;;;;;OAQG;IACH,4BAA4B,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpG;;;;;;;;;OASG;IACH,sBAAsB,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9F;;;;;;;;;OASG;IACH,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE;;;;;;;;;;;;OAYG;IACH,cAAc,CACZ,KAAK,EAAE,eAAe,EACtB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,wBAAwB,GACrC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,gEAAgE;IAChE,YAAY,CACV,KAAK,EAAE,eAAe,EACtB,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,QAAQ,GACd,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAE9B;;;;;OAKG;IACH,kBAAkB,CAChB,KAAK,EAAE,eAAe,EACtB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,WAAW,EACrB,IAAI,CAAC,EAAE,QAAQ,GACd,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAIlC;;;;;;;;;;;;OAYG;IACH,gBAAgB,CACd,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;IAWjB,uFAAuF;IACvF,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IACpG;;;;;OAKG;IACH,kBAAkB,CAChB,KAAK,EAAE,eAAe,EACtB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB;;;;OAIG;IACH,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzG;;;;;;;OAOG;IACH,kBAAkB,CAChB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GAAG,IAAI,GACxB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;OAMG;IACH,iBAAiB,CACf,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;OAMG;IACH,uBAAuB,CACrB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC,CAAC;IACvE;;;;;;;OAOG;IACH,WAAW,CACT,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAC/C,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAIpC;;;;;;;;OAQG;IACH,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,iBAAiB,CACf,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB;;;;;;;OAOG;IACH,mBAAmB,CACjB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE;QACN,MAAM,EAAE,cAAc,CAAC;QACvB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,iBAAiB,EAAE,SAAS,EAAE,CAAC;KAChC,GACA,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB;;;;;;;;;OASG;IACH,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE;;;;;;;;OAQG;IACH,aAAa,CACX,KAAK,EAAE,eAAe,EACtB,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,cAAc,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,QAAQ,GACX,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAE9B;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAIpE;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E;;;;;;;;OAQG;IACH,eAAe,CACb,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvF;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACxE,SAAS,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAmBnF,0FAA0F;IAC1F,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3E;;;;;OAKG;IACH,gBAAgB,CACd,KAAK,EAAE,eAAe,EACtB,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAChC;;;;OAIG;IACH,cAAc,CACZ,KAAK,EAAE,eAAe,EACtB,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAC9B;;;;;;;;OAQG;IACH,cAAc,CACZ,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IAkB9B,mFAAmF;IACnF,eAAe,CACb,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACzB;;;;;OAKG;IACH,cAAc,CACZ,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,cAAc,CAAC,CAAC;IAE3B;;;;;;;;;;;OAWG;IACH,UAAU,CACR,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE7B;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAO9F;;;;;;;;;;OAUG;IACH,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAEhE;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAQ7E;;;;;;;;;;OAUG;IACH,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3F,sEAAsE;IACtE,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1F,0BAA0B;IAC1B,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5F,sEAAsE;IACtE,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1F;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5F;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,SAAS,CACP,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7C,OAAO,CAAC,IAAI,CAAC,CAAC;IAsBjB;;;;;;;;;;;;OAYG;IACH,mBAAmB,CACjB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,SAAS;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,GACzD,OAAO,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAEpC;;;;;;;OAOG;IACH,mBAAmB,CACjB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,SAAS;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,EAAE,GAC5D,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAE9B;;;;;;;;;;;;;;;;;;OAkBG;IACH,YAAY,CACV,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAUhC;;;;;;OAMG;IACH,gBAAgB,CACd,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,MAAM,EACtB,IAAI,CAAC,EAAE,qBAAqB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,8EAA8E;IAC9E,iBAAiB,CACf,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC1F;;;;;;;;;;;;;;;;;;;OAmBG;IACH,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAS5F;;;;;;;;;;;;OAYG;IAGH;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAElC;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtF;;;;;;;;;;;;;;;;;;;OAmBG;IACH,oBAAoB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAExE;;;;;;OAMG;IACH,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAE/F,oEAAoE;IACpE,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAE1F;;;;;;;OAOG;IACH,sBAAsB,CACpB,KAAK,EAAE,eAAe,EACtB,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,gBAAgB,EACxB,SAAS,CAAC,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;OAKG;IACH,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1E;;;;;;;;;;;;;;;OAeG;IACH,cAAc,CACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IAEvC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3G;;;;;;;;;;;;;;;;;OAiBG;IACH,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAC/E;;;;;;;;;;;;;OAaG;IACH,kBAAkB,CAChB,EAAE,EAAE,YAAY,EAChB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC,CAAC;IAE9C,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzE;;;;;;;;;OASG;IACH,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElG;;;;;;OAMG;IACH,oBAAoB,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IAE7F;;;;;;;;OAQG;IACH,mBAAmB,CACjB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEvB;;;;;;;;OAQG;IACH,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAEvF;;;;;;;OAOG;IACH,eAAe,CACb,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAEzC;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAEpF;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD;;;;;OAKG;IACH,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAE/F;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEvF;;;;;;;;;;;;;OAaG;IACH,oBAAoB,CAClB,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB;;;;;;;;OAQG;IACH,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACxE;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mGAAmG;IACnG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;2FAE2F;AAC3F,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,QAAQ,CAAC;IACnB,yFAAyF;IACzF,QAAQ,EAAE,MAAM,CAAC;IACjB,qFAAqF;IACrF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7F,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,QAAQ,EAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9E,yFAAyF;IACzF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;2FAC2F;AAC3F,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,QAAQ,CAAC;IACnB,uFAAuF;IACvF,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnF,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC7E,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,6CAA6C;IAC7C,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACzC;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAE/E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,EAAE,GACjD,MAAM,CAMR;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,EAAE,CAWlF;AAED;;wEAEwE;AACxE,MAAM,WAAW,qBAAqB;IACpC,6EAA6E;IAC7E,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,2EAA2E;AAC3E,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,gBAAgB,CAAC;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChE,kFAAkF;IAClF,IAAI,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACrD,oFAAoF;IACpF,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC7D,6FAA6F;IAC7F,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;CAChE;AAED;;;GAGG;AACH,MAAM,WAAW,UAAW,SAAQ,QAAQ;IAC1C,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,yEAAyE;AACzE,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,oFAAoF;IACpF,MAAM,CAAC,EAAE,WAAW,GAAG,WAAW,EAAE,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,eAAe,CAAC;IACvB,4FAA4F;IAC5F,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,qFAAqF;AACrF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,oCAAoC;IACpC,MAAM,CAAC,EAAE,WAAW,GAAG,WAAW,EAAE,CAAC;IACrC,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB;;;;;;OAMG;IACH,QAAQ,CACN,SAAS,EAAE,WAAW,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,SAAS,CAAC,CAAC;IAEtB;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElF;;;;;;;;;;;OAWG;IACH,oBAAoB,CAClB,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE9B;;;;;;OAMG;IACH,eAAe,CAAC,MAAM,EAAE,iBAAiB,GAAG,qBAAqB,CAAC;IAElE;;;;;;;OAOG;IACH,kBAAkB,CAChB,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,eAAe,CAAC,CAAC;IAE5B;;;;;;;;;;;;OAYG;IACH,WAAW,CACT,SAAS,EAAE,WAAW,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE7B;;;;;;;;;;;;;;OAcG;IACH,WAAW,CACT,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,mBAAmB,EAC1B,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;;;;OAUG;IACH,YAAY,CACV,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;;;;OAUG;IACH,aAAa,CACX,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5F,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAE1B,sFAAsF;IACtF,cAAc,CAAC,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAEvD;;;;;;;;;;;;;;;;;;OAkBG;IACH,gBAAgB,CACd,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,eAAe,EACxB,KAAK,CAAC,EAAE,mBAAmB,GAC1B,IAAI,CAAC;IAER;;;;;;;;;;;;;;;;;;;OAmBG;IACH,iBAAiB,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAEpF;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,uBAAuB,CACrB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,OAAO;IAChB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAC7B,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE7B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,uBAAuB,CACrB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAEvC;;;;;;;;;;;;;;;;OAgBG;IACH,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAE7F;;;;;;OAMG;IACH,mBAAmB,IAAI,oBAAoB,EAAE,CAAC;IAE9C;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAEtG;;;;;;;;;OASG;IACH,iBAAiB,CACf,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE,gBAAgB,GACzB,IAAI,CAAC;IAER;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAE7E;;;;;;;;;;;OAWG;IACH,iBAAiB,CACf,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;OAIG;IACH,iBAAiB,IAAI,iBAAiB,CAAC;IAEvC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjF;;;OAGG;IACH,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAEzF;;;;;OAKG;IACH,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAEvF;;;;;;;;;;;OAWG;IACH,0BAA0B,CACxB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAE9B;;;;;OAKG;IACH,qBAAqB,CACnB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,iBAAiB,EACrB,OAAO,EAAE;QAAE,MAAM,EAAE,qBAAqB,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GACtF,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,kGAAkG;IAClG,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IAE3E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB"}
1
+ {"version":3,"file":"scope-host.d.ts","sourceRoot":"","sources":["../src/scope-host.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scope-host.js","sourceRoot":"","sources":["../src/scope-host.ts"],"names":[],"mappings":"AA0pBA;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAA2B;IAC5D,OAAO;QACL,WAAW,EAAE,KAAK,EAAE,WAAW,IAAI,CAAC;QACpC,WAAW,EAAE,KAAK,EAAE,WAAW,IAAI,KAAK;QACxC,UAAU,EAAE,KAAK,EAAE,UAAU,IAAI,OAAO;KACzC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CACvB,QAAgB,EAChB,KAAoC,EACpC,IAAU;IAEV,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;IACnE,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;AAC3D,CAAC;AAqJD,MAAM,UAAU,YAAY;IAC1B,OAAO,CAAoC,QAA+C,EAAK,EAAE,CAAC,QAAQ,CAAC;AAC7G,CAAC;AAk2CD;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,YAAoB;IACrE,OAAO,SAAS,OAAO,QAAQ,YAAY,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,WAAmB,EACnB,IAAkD;IAElD,MAAM,SAAS,GACb,IAAI,CAAC,MAAM,KAAK,CAAC;QACf,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7E,OAAO,2BAA2B,SAAS,4BAA4B,WAAW,aAAa,SAAS,EAAE,CAAC;AAC7G,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAA8B;IACnE,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,6EAA6E;QAC7E,kFAAkF;QAClF,0DAA0D;QAC1D,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAmFD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"scope-host.js","sourceRoot":"","sources":["../src/scope-host.ts"],"names":[],"mappings":"AA+vBA;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAA2B;IAC5D,OAAO;QACL,WAAW,EAAE,KAAK,EAAE,WAAW,IAAI,CAAC;QACpC,WAAW,EAAE,KAAK,EAAE,WAAW,IAAI,KAAK;QACxC,UAAU,EAAE,KAAK,EAAE,UAAU,IAAI,OAAO;KACzC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CACvB,QAAgB,EAChB,KAAoC,EACpC,IAAU;IAEV,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;IACnE,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;AAC3D,CAAC;AAqJD,MAAM,UAAU,YAAY;IAC1B,OAAO,CAAoC,QAA+C,EAAK,EAAE,CAAC,QAAQ,CAAC;AAC7G,CAAC;AAk2CD;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,YAAoB;IACrE,OAAO,SAAS,OAAO,QAAQ,YAAY,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,WAAmB,EACnB,IAAkD;IAElD,MAAM,SAAS,GACb,IAAI,CAAC,MAAM,KAAK,CAAC;QACf,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7E,OAAO,2BAA2B,SAAS,4BAA4B,WAAW,aAAa,SAAS,EAAE,CAAC;AAC7G,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAA8B;IACnE,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,6EAA6E;QAC7E,kFAAkF;QAClF,0DAA0D;QAC1D,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAmFD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@substrat-run/kernel",
3
- "version": "0.83.0",
3
+ "version": "0.85.0",
4
4
  "description": "Substrat kernel contracts and services — pure TypeScript, no platform imports (D-14)",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
@@ -22,7 +22,7 @@
22
22
  "dist"
23
23
  ],
24
24
  "dependencies": {
25
- "@substrat-run/contracts": "^0.83.0"
25
+ "@substrat-run/contracts": "^0.85.0"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@types/node": "^22.0.0",