@powersync/service-core 0.0.0-dev-20260602073133 → 0.0.0-dev-20260909133214
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +152 -4
- package/dist/api/RouteAPI.d.ts +42 -14
- package/dist/api/diagnostics.d.ts +12 -1
- package/dist/api/diagnostics.js +36 -22
- package/dist/api/diagnostics.js.map +1 -1
- package/dist/entry/commands/compact-action.js +30 -22
- package/dist/entry/commands/compact-action.js.map +1 -1
- package/dist/metrics/metrics-interfaces.d.ts +5 -1
- package/dist/metrics/metrics-interfaces.js.map +1 -1
- package/dist/metrics/open-telemetry/MetricAttributeFilteringExporter.d.ts +36 -0
- package/dist/metrics/open-telemetry/MetricAttributeFilteringExporter.js +70 -0
- package/dist/metrics/open-telemetry/MetricAttributeFilteringExporter.js.map +1 -0
- package/dist/metrics/open-telemetry/OpenTelemetryMetricsFactory.js +6 -1
- package/dist/metrics/open-telemetry/OpenTelemetryMetricsFactory.js.map +1 -1
- package/dist/metrics/open-telemetry/util.js +7 -3
- package/dist/metrics/open-telemetry/util.js.map +1 -1
- package/dist/modules/AbstractModule.d.ts +6 -2
- package/dist/modules/AbstractModule.js.map +1 -1
- package/dist/replication/AbstractReplicator.d.ts +31 -7
- package/dist/replication/AbstractReplicator.js +168 -74
- package/dist/replication/AbstractReplicator.js.map +1 -1
- package/dist/replication/ReplicationModule.d.ts +3 -3
- package/dist/replication/ReplicationModule.js.map +1 -1
- package/dist/routes/RouterEngine.d.ts +1 -0
- package/dist/routes/RouterEngine.js +6 -1
- package/dist/routes/RouterEngine.js.map +1 -1
- package/dist/routes/configure-fastify.d.ts +104 -56
- package/dist/routes/configure-fastify.js +15 -2
- package/dist/routes/configure-fastify.js.map +1 -1
- package/dist/routes/endpoints/admin.d.ts +42 -24
- package/dist/routes/endpoints/admin.js +49 -36
- package/dist/routes/endpoints/admin.js.map +1 -1
- package/dist/routes/endpoints/checkpointing.d.ts +62 -0
- package/dist/routes/endpoints/checkpointing.js +65 -7
- package/dist/routes/endpoints/checkpointing.js.map +1 -1
- package/dist/routes/endpoints/socket-route.js +3 -2
- package/dist/routes/endpoints/socket-route.js.map +1 -1
- package/dist/routes/endpoints/sync-rules.js +25 -14
- package/dist/routes/endpoints/sync-rules.js.map +1 -1
- package/dist/routes/endpoints/sync-stream.js +1 -1
- package/dist/routes/endpoints/sync-stream.js.map +1 -1
- package/dist/runner/teardown.js +8 -8
- package/dist/runner/teardown.js.map +1 -1
- package/dist/storage/BucketStorageBatch.d.ts +64 -17
- package/dist/storage/BucketStorageBatch.js.map +1 -1
- package/dist/storage/BucketStorageFactory.d.ts +50 -31
- package/dist/storage/BucketStorageFactory.js +10 -20
- package/dist/storage/BucketStorageFactory.js.map +1 -1
- package/dist/storage/CheckpointChecksumInvalidatedError.d.ts +12 -0
- package/dist/storage/CheckpointChecksumInvalidatedError.js +17 -0
- package/dist/storage/CheckpointChecksumInvalidatedError.js.map +1 -0
- package/dist/storage/ChecksumCache.d.ts +11 -6
- package/dist/storage/ChecksumCache.js +5 -4
- package/dist/storage/ChecksumCache.js.map +1 -1
- package/dist/storage/ParsedSyncConfigSet.d.ts +23 -0
- package/dist/storage/ParsedSyncConfigSet.js +2 -0
- package/dist/storage/ParsedSyncConfigSet.js.map +1 -0
- package/dist/storage/PersistedReplicationStream.d.ts +32 -0
- package/dist/storage/PersistedReplicationStream.js +26 -0
- package/dist/storage/PersistedReplicationStream.js.map +1 -0
- package/dist/storage/PersistedSyncConfigContent.d.ts +65 -0
- package/dist/storage/PersistedSyncConfigContent.js +138 -0
- package/dist/storage/PersistedSyncConfigContent.js.map +1 -0
- package/dist/storage/PersistedSyncConfigStatus.d.ts +13 -0
- package/dist/storage/PersistedSyncConfigStatus.js +2 -0
- package/dist/storage/PersistedSyncConfigStatus.js.map +1 -0
- package/dist/storage/ReplicationEventPayload.d.ts +6 -1
- package/dist/storage/SourceEntity.d.ts +13 -2
- package/dist/storage/SourceTable.d.ts +53 -4
- package/dist/storage/SourceTable.js +62 -7
- package/dist/storage/SourceTable.js.map +1 -1
- package/dist/storage/SourceTableReconciler.d.ts +83 -0
- package/dist/storage/SourceTableReconciler.js +95 -0
- package/dist/storage/SourceTableReconciler.js.map +1 -0
- package/dist/storage/StorageVersionConfig.d.ts +4 -0
- package/dist/storage/StorageVersionConfig.js +10 -1
- package/dist/storage/StorageVersionConfig.js.map +1 -1
- package/dist/storage/SyncRulesBucketStorage.d.ts +162 -26
- package/dist/storage/SyncRulesBucketStorage.js +3 -0
- package/dist/storage/SyncRulesBucketStorage.js.map +1 -1
- package/dist/storage/WriteCheckpointAPI.d.ts +85 -6
- package/dist/storage/WriteCheckpointAPI.js +33 -0
- package/dist/storage/WriteCheckpointAPI.js.map +1 -1
- package/dist/storage/implementation/BucketDefinitionMapping.d.ts +133 -0
- package/dist/storage/implementation/BucketDefinitionMapping.js +351 -0
- package/dist/storage/implementation/BucketDefinitionMapping.js.map +1 -0
- package/dist/storage/implementation/IncrementalReprocessingCompatibility.d.ts +6 -0
- package/dist/storage/implementation/IncrementalReprocessingCompatibility.js +31 -0
- package/dist/storage/implementation/IncrementalReprocessingCompatibility.js.map +1 -0
- package/dist/storage/implementation/IncrementalReprocessingSyncConfigLog.d.ts +17 -0
- package/dist/storage/implementation/IncrementalReprocessingSyncConfigLog.js +70 -0
- package/dist/storage/implementation/IncrementalReprocessingSyncConfigLog.js.map +1 -0
- package/dist/storage/implementation/ReplicationStreamStorageIds.d.ts +15 -0
- package/dist/storage/implementation/ReplicationStreamStorageIds.js +20 -0
- package/dist/storage/implementation/ReplicationStreamStorageIds.js.map +1 -0
- package/dist/storage/storage-index.d.ts +10 -1
- package/dist/storage/storage-index.js +10 -1
- package/dist/storage/storage-index.js.map +1 -1
- package/dist/storage/storage-metrics.js +120 -4
- package/dist/storage/storage-metrics.js.map +1 -1
- package/dist/sync/BucketChecksumState.d.ts +12 -2
- package/dist/sync/BucketChecksumState.js +69 -21
- package/dist/sync/BucketChecksumState.js.map +1 -1
- package/dist/sync/RequestTracker.d.ts +7 -0
- package/dist/sync/RequestTracker.js +12 -0
- package/dist/sync/RequestTracker.js.map +1 -1
- package/dist/sync/sync.js +184 -43
- package/dist/sync/sync.js.map +1 -1
- package/dist/sync/util.d.ts +5 -0
- package/dist/sync/util.js +19 -1
- package/dist/sync/util.js.map +1 -1
- package/dist/system/ServiceContext.d.ts +2 -0
- package/dist/system/ServiceContext.js +2 -0
- package/dist/system/ServiceContext.js.map +1 -1
- package/dist/tracing/PerformanceTracer.d.ts +23 -1
- package/dist/tracing/PerformanceTracer.js +11 -0
- package/dist/tracing/PerformanceTracer.js.map +1 -1
- package/dist/util/checkpointing.d.ts +4 -8
- package/dist/util/checkpointing.js +1 -16
- package/dist/util/checkpointing.js.map +1 -1
- package/dist/util/config/compound-config-collector.js +23 -2
- package/dist/util/config/compound-config-collector.js.map +1 -1
- package/dist/util/config/defaults.d.ts +2 -0
- package/dist/util/config/defaults.js +2 -0
- package/dist/util/config/defaults.js.map +1 -1
- package/dist/util/config/sync-rules/impl/base64-sync-rules-collector.js +1 -0
- package/dist/util/config/sync-rules/impl/base64-sync-rules-collector.js.map +1 -1
- package/dist/util/config/sync-rules/impl/filesystem-sync-rules-collector.js +1 -0
- package/dist/util/config/sync-rules/impl/filesystem-sync-rules-collector.js.map +1 -1
- package/dist/util/config/sync-rules/sync-rules-provider.d.ts +2 -0
- package/dist/util/config/sync-rules/sync-rules-provider.js +3 -0
- package/dist/util/config/sync-rules/sync-rules-provider.js.map +1 -1
- package/dist/util/config/types.d.ts +4 -1
- package/dist/util/lsn.d.ts +4 -0
- package/dist/util/lsn.js +10 -0
- package/dist/util/lsn.js.map +1 -1
- package/dist/util/protocol-types.d.ts +4 -4
- package/dist/util/protocol-types.js +3 -2
- package/dist/util/protocol-types.js.map +1 -1
- package/dist/util/util-index.d.ts +1 -0
- package/dist/util/util-index.js +1 -0
- package/dist/util/util-index.js.map +1 -1
- package/dist/util/utils.d.ts +3 -2
- package/dist/util/utils.js +17 -2
- package/dist/util/utils.js.map +1 -1
- package/dist/util/write-checkpoint-batcher.d.ts +19 -0
- package/dist/util/write-checkpoint-batcher.js +100 -0
- package/dist/util/write-checkpoint-batcher.js.map +1 -0
- package/package.json +7 -7
- package/src/api/RouteAPI.ts +43 -14
- package/src/api/diagnostics.ts +45 -26
- package/src/entry/commands/compact-action.ts +37 -23
- package/src/metrics/metrics-interfaces.ts +6 -1
- package/src/metrics/open-telemetry/MetricAttributeFilteringExporter.ts +85 -0
- package/src/metrics/open-telemetry/OpenTelemetryMetricsFactory.ts +7 -2
- package/src/metrics/open-telemetry/util.ts +7 -3
- package/src/modules/AbstractModule.ts +6 -2
- package/src/replication/AbstractReplicator.ts +212 -78
- package/src/replication/ReplicationModule.ts +2 -3
- package/src/routes/RouterEngine.ts +7 -1
- package/src/routes/configure-fastify.ts +25 -2
- package/src/routes/endpoints/admin.ts +75 -51
- package/src/routes/endpoints/checkpointing.ts +79 -8
- package/src/routes/endpoints/socket-route.ts +3 -2
- package/src/routes/endpoints/sync-rules.ts +26 -14
- package/src/routes/endpoints/sync-stream.ts +1 -1
- package/src/runner/teardown.ts +8 -8
- package/src/storage/BucketStorageBatch.ts +65 -18
- package/src/storage/BucketStorageFactory.ts +73 -46
- package/src/storage/CheckpointChecksumInvalidatedError.ts +17 -0
- package/src/storage/ChecksumCache.ts +27 -14
- package/src/storage/ParsedSyncConfigSet.ts +25 -0
- package/src/storage/PersistedReplicationStream.ts +55 -0
- package/src/storage/PersistedSyncConfigContent.ts +207 -0
- package/src/storage/PersistedSyncConfigStatus.ts +14 -0
- package/src/storage/ReplicationEventPayload.ts +6 -1
- package/src/storage/SourceEntity.ts +12 -2
- package/src/storage/SourceTable.ts +96 -8
- package/src/storage/SourceTableReconciler.ts +188 -0
- package/src/storage/StorageVersionConfig.ts +11 -1
- package/src/storage/SyncRulesBucketStorage.ts +189 -27
- package/src/storage/WriteCheckpointAPI.ts +140 -6
- package/src/storage/implementation/BucketDefinitionMapping.ts +539 -0
- package/src/storage/implementation/IncrementalReprocessingCompatibility.ts +41 -0
- package/src/storage/implementation/IncrementalReprocessingSyncConfigLog.ts +126 -0
- package/src/storage/implementation/ReplicationStreamStorageIds.ts +21 -0
- package/src/storage/storage-index.ts +11 -1
- package/src/storage/storage-metrics.ts +154 -8
- package/src/sync/BucketChecksumState.ts +105 -21
- package/src/sync/RequestTracker.ts +20 -0
- package/src/sync/sync.ts +214 -50
- package/src/sync/util.ts +33 -8
- package/src/system/ServiceContext.ts +7 -0
- package/src/tracing/PerformanceTracer.ts +41 -1
- package/src/util/checkpointing.ts +4 -22
- package/src/util/config/compound-config-collector.ts +31 -1
- package/src/util/config/defaults.ts +2 -0
- package/src/util/config/sync-rules/impl/base64-sync-rules-collector.ts +1 -0
- package/src/util/config/sync-rules/impl/filesystem-sync-rules-collector.ts +1 -0
- package/src/util/config/sync-rules/sync-rules-provider.ts +5 -0
- package/src/util/config/types.ts +4 -1
- package/src/util/lsn.ts +9 -0
- package/src/util/protocol-types.ts +3 -2
- package/src/util/util-index.ts +1 -0
- package/src/util/utils.ts +16 -2
- package/src/util/write-checkpoint-batcher.ts +142 -0
- package/test/src/AbstractReplicator.test.ts +177 -0
- package/test/src/MetricAttributeFilteringExporter.test.ts +96 -0
- package/test/src/PersistedSyncConfigContent.test.ts +152 -0
- package/test/src/checksum_cache.test.ts +22 -0
- package/test/src/config.test.ts +142 -0
- package/test/src/diagnostics.test.ts +87 -34
- package/test/src/module-loader.test.ts +33 -1
- package/test/src/routes/admin.test.ts +188 -18
- package/test/src/routes/checkpointing.test.ts +54 -0
- package/test/src/routes/mocks.ts +6 -2
- package/test/src/routes/stream.test.ts +123 -2
- package/test/src/source-table-reconciler.test.ts +244 -0
- package/test/src/storage/SourceTable.test.ts +92 -0
- package/test/src/storage-metrics.test.ts +148 -0
- package/test/src/sync/BucketChecksumState.test.ts +98 -12
- package/test/src/sync/util.test.ts +28 -1
- package/test/src/util/checkpointing.test.ts +249 -0
- package/test/src/util/utils.test.ts +23 -0
- package/tsconfig.json +1 -4
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/storage/PersistedSyncRulesContent.d.ts +0 -59
- package/dist/storage/PersistedSyncRulesContent.js +0 -100
- package/dist/storage/PersistedSyncRulesContent.js.map +0 -1
- package/src/storage/PersistedSyncRulesContent.ts +0 -174
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DataSourceConfig } from '@powersync/service-types/dist/config/PowerSyncConfig.js';
|
|
2
1
|
import * as t from 'ts-codec';
|
|
2
|
+
import * as types from '@powersync/service-types';
|
|
3
3
|
import * as api from '../api/api-index.js';
|
|
4
4
|
import * as modules from '../modules/modules-index.js';
|
|
5
5
|
import * as system from '../system/system-index.js';
|
|
@@ -13,7 +13,7 @@ export interface ConnectionTestResult {
|
|
|
13
13
|
/**
|
|
14
14
|
* Provides a common interface for testing the connection to a DataSource.
|
|
15
15
|
*/
|
|
16
|
-
export interface ConnectionTester<TConfig extends DataSourceConfig> {
|
|
16
|
+
export interface ConnectionTester<TConfig extends types.configFile.DataSourceConfig> {
|
|
17
17
|
/**
|
|
18
18
|
* Confirm if a connection can be established to the datasource for the provided datasource configuration
|
|
19
19
|
* @param config
|
|
@@ -28,7 +28,7 @@ export interface ReplicationModuleOptions extends modules.AbstractModuleOptions
|
|
|
28
28
|
* A replication module describes all the functionality that PowerSync requires to
|
|
29
29
|
* replicate data from a DataSource. Whenever a new data source is added to powersync this class should be extended.
|
|
30
30
|
*/
|
|
31
|
-
export declare abstract class ReplicationModule<TConfig extends DataSourceConfig> extends modules.AbstractModule implements ConnectionTester<TConfig> {
|
|
31
|
+
export declare abstract class ReplicationModule<TConfig extends types.configFile.DataSourceConfig> extends modules.AbstractModule implements ConnectionTester<TConfig> {
|
|
32
32
|
protected type: string;
|
|
33
33
|
protected configSchema: t.AnyCodec;
|
|
34
34
|
protected decodedConfig: TConfig | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReplicationModule.js","sourceRoot":"","sources":["../../src/replication/ReplicationModule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ReplicationModule.js","sourceRoot":"","sources":["../../src/replication/ReplicationModule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,OAAO,KAAK,OAAO,MAAM,6BAA6B,CAAC;AA2BvD;;;GAGG;AACH,MAAM,OAAgB,iBACpB,SAAQ,OAAO,CAAC,cAAc;IAGpB,IAAI,CAAS;IACb,YAAY,CAAa;IACzB,aAAa,CAAsB;IAE7C;;;OAGG;IACH,YAAsB,OAAiC;QACrD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC3C,CAAC;IAuBD;;OAEG;IACI,KAAK,CAAC,UAAU,CAAC,OAA8B;QACpD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YACvC,gEAAgE;YAChE,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/G,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YAC3B,6CAA6C;YAC7C,OAAO;QACT,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,OAAO,CACjB,iCAAiC,IAAI,CAAC,IAAI,2DAA2D,CACtG,CAAC;QACJ,CAAC;QAED,MAAM,kBAAkB,GAAG,cAAc,CAAC,CAAC,CAAY,CAAC;QACxD,yEAAyE;QACzE,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;QAEtC,OAAO,CAAC,iBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAES,YAAY,CAAC,MAAe;QACpC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAEO,cAAc,CAAC,MAAe;QACpC,MAAM,SAAS,GAAG,MAAM;aACrB,eAAe;QACd,4DAA4D;QAC5D,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE;YACtC,eAAe,EAAE,IAAI;YACrB,OAAO,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC;SACvC,CAAC,CACH;aACA,SAAS,EAAE,CAAC;QAEf,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEzC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,IAAI,mBAAmB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IAES,YAAY,CAAC,cAAsB;QAC3C,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,cAAc,EAAE,CAAC;IAC1C,CAAC;CACF"}
|
|
@@ -19,17 +19,22 @@ export class RouterEngine {
|
|
|
19
19
|
this.closed = false;
|
|
20
20
|
this.routes = {
|
|
21
21
|
api_routes: [],
|
|
22
|
+
checkpointing_routes: [],
|
|
22
23
|
stream_routes: [],
|
|
23
24
|
socket_routes: []
|
|
24
25
|
};
|
|
25
26
|
}
|
|
26
27
|
registerRoutes(routes) {
|
|
27
28
|
this.routes.api_routes.push(...(routes.api_routes ?? []));
|
|
29
|
+
this.routes.checkpointing_routes.push(...(routes.checkpointing_routes ?? []));
|
|
28
30
|
this.routes.stream_routes.push(...(routes.stream_routes ?? []));
|
|
29
31
|
this.routes.socket_routes.push(...(routes.socket_routes ?? []));
|
|
30
32
|
}
|
|
31
33
|
get hasRoutes() {
|
|
32
|
-
return (this.routes.api_routes.length > 0 ||
|
|
34
|
+
return (this.routes.api_routes.length > 0 ||
|
|
35
|
+
this.routes.checkpointing_routes.length > 0 ||
|
|
36
|
+
this.routes.stream_routes.length > 0 ||
|
|
37
|
+
this.routes.socket_routes.length > 0);
|
|
33
38
|
}
|
|
34
39
|
registerAPI(api) {
|
|
35
40
|
if (this.api) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouterEngine.js","sourceRoot":"","sources":["../../src/routes/RouterEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"RouterEngine.js","sourceRoot":"","sources":["../../src/routes/RouterEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ export type RouteRegistrationOptions = {
|
|
|
16
16
|
*/
|
|
17
17
|
export type RouteDefinitions = {
|
|
18
18
|
api?: Partial<RouteRegistrationOptions>;
|
|
19
|
+
checkpointing?: Partial<RouteRegistrationOptions>;
|
|
19
20
|
sync_stream?: Partial<RouteRegistrationOptions>;
|
|
20
21
|
};
|
|
21
22
|
export type FastifyServerConfig = {
|
|
@@ -101,8 +102,8 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
101
102
|
ts?: string | undefined;
|
|
102
103
|
}[];
|
|
103
104
|
id: string;
|
|
104
|
-
postgres_uri: string;
|
|
105
105
|
connected: boolean;
|
|
106
|
+
postgres_uri: string;
|
|
106
107
|
}[];
|
|
107
108
|
active_sync_rules?: {
|
|
108
109
|
errors: {
|
|
@@ -144,6 +145,7 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
144
145
|
safe_wal_size?: number | undefined;
|
|
145
146
|
max_slot_wal_keep_size?: number | undefined;
|
|
146
147
|
}[];
|
|
148
|
+
version_label?: string | null | undefined;
|
|
147
149
|
content?: string | undefined;
|
|
148
150
|
} | undefined;
|
|
149
151
|
deploying_sync_rules?: {
|
|
@@ -186,6 +188,7 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
186
188
|
safe_wal_size?: number | undefined;
|
|
187
189
|
max_slot_wal_keep_size?: number | undefined;
|
|
188
190
|
}[];
|
|
191
|
+
version_label?: string | null | undefined;
|
|
189
192
|
content?: string | undefined;
|
|
190
193
|
} | undefined;
|
|
191
194
|
}, import("./router.js").Context, import("./router.js").RequestEndpointHandlerPayload<{
|
|
@@ -204,8 +207,8 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
204
207
|
ts?: string | undefined;
|
|
205
208
|
}[];
|
|
206
209
|
id: string;
|
|
207
|
-
postgres_uri: string;
|
|
208
210
|
connected: boolean;
|
|
211
|
+
postgres_uri: string;
|
|
209
212
|
}[];
|
|
210
213
|
active_sync_rules?: {
|
|
211
214
|
errors: {
|
|
@@ -247,6 +250,7 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
247
250
|
safe_wal_size?: number | undefined;
|
|
248
251
|
max_slot_wal_keep_size?: number | undefined;
|
|
249
252
|
}[];
|
|
253
|
+
version_label?: string | null | undefined;
|
|
250
254
|
content?: string | undefined;
|
|
251
255
|
} | undefined;
|
|
252
256
|
deploying_sync_rules?: {
|
|
@@ -289,6 +293,7 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
289
293
|
safe_wal_size?: number | undefined;
|
|
290
294
|
max_slot_wal_keep_size?: number | undefined;
|
|
291
295
|
}[];
|
|
296
|
+
version_label?: string | null | undefined;
|
|
292
297
|
content?: string | undefined;
|
|
293
298
|
} | undefined;
|
|
294
299
|
}>> & {
|
|
@@ -318,8 +323,8 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
318
323
|
ts?: string | undefined;
|
|
319
324
|
}[];
|
|
320
325
|
id: string;
|
|
321
|
-
postgres_uri: string;
|
|
322
326
|
connected: boolean;
|
|
327
|
+
postgres_uri: string;
|
|
323
328
|
}[];
|
|
324
329
|
active_sync_rules?: {
|
|
325
330
|
errors: {
|
|
@@ -361,6 +366,7 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
361
366
|
safe_wal_size?: number | undefined;
|
|
362
367
|
max_slot_wal_keep_size?: number | undefined;
|
|
363
368
|
}[];
|
|
369
|
+
version_label?: string | null | undefined;
|
|
364
370
|
content?: string | undefined;
|
|
365
371
|
} | undefined;
|
|
366
372
|
deploying_sync_rules?: {
|
|
@@ -403,6 +409,7 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
403
409
|
safe_wal_size?: number | undefined;
|
|
404
410
|
max_slot_wal_keep_size?: number | undefined;
|
|
405
411
|
}[];
|
|
412
|
+
version_label?: string | null | undefined;
|
|
406
413
|
content?: string | undefined;
|
|
407
414
|
} | undefined;
|
|
408
415
|
}>;
|
|
@@ -425,8 +432,8 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
425
432
|
}[];
|
|
426
433
|
id?: string | undefined;
|
|
427
434
|
}[];
|
|
428
|
-
defaultConnectionTag: string;
|
|
429
435
|
defaultSchema: string;
|
|
436
|
+
defaultConnectionTag: string;
|
|
430
437
|
}, import("./router.js").Context, import("./router.js").RequestEndpointHandlerPayload<{}, import("./router.js").Context, import("./router.js").BasicRouterRequest>, import("@powersync/lib-services-framework").EndpointHandler<import("./router.js").RequestEndpointHandlerPayload<{}, import("./router.js").Context, import("./router.js").BasicRouterRequest>, {
|
|
431
438
|
connections: {
|
|
432
439
|
tag: string;
|
|
@@ -446,8 +453,8 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
446
453
|
}[];
|
|
447
454
|
id?: string | undefined;
|
|
448
455
|
}[];
|
|
449
|
-
defaultConnectionTag: string;
|
|
450
456
|
defaultSchema: string;
|
|
457
|
+
defaultConnectionTag: string;
|
|
451
458
|
}>> & {
|
|
452
459
|
path: string;
|
|
453
460
|
method: import("@powersync/lib-services-framework").HTTPMethod.POST;
|
|
@@ -478,8 +485,8 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
478
485
|
}[];
|
|
479
486
|
id?: string | undefined;
|
|
480
487
|
}[];
|
|
481
|
-
defaultConnectionTag: string;
|
|
482
488
|
defaultSchema: string;
|
|
489
|
+
defaultConnectionTag: string;
|
|
483
490
|
}>;
|
|
484
491
|
}) | (import("@powersync/lib-services-framework").Endpoint<{}, {
|
|
485
492
|
connections: {
|
|
@@ -526,8 +533,6 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
526
533
|
connections: {
|
|
527
534
|
id: string;
|
|
528
535
|
tag: string;
|
|
529
|
-
slot_name: string;
|
|
530
|
-
initial_replication_done: boolean;
|
|
531
536
|
tables: {
|
|
532
537
|
name: string;
|
|
533
538
|
schema: string;
|
|
@@ -545,6 +550,8 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
545
550
|
}[];
|
|
546
551
|
pattern?: string | undefined;
|
|
547
552
|
}[];
|
|
553
|
+
slot_name: string;
|
|
554
|
+
initial_replication_done: boolean;
|
|
548
555
|
last_lsn?: string | undefined;
|
|
549
556
|
last_keepalive_ts?: string | undefined;
|
|
550
557
|
last_checkpoint_ts?: string | undefined;
|
|
@@ -553,6 +560,7 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
553
560
|
safe_wal_size?: number | undefined;
|
|
554
561
|
max_slot_wal_keep_size?: number | undefined;
|
|
555
562
|
}[];
|
|
563
|
+
version_label?: string | null | undefined;
|
|
556
564
|
content?: string | undefined;
|
|
557
565
|
}, import("./router.js").Context, import("./router.js").RequestEndpointHandlerPayload<{
|
|
558
566
|
sync_rules: string;
|
|
@@ -571,8 +579,6 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
571
579
|
connections: {
|
|
572
580
|
id: string;
|
|
573
581
|
tag: string;
|
|
574
|
-
slot_name: string;
|
|
575
|
-
initial_replication_done: boolean;
|
|
576
582
|
tables: {
|
|
577
583
|
name: string;
|
|
578
584
|
schema: string;
|
|
@@ -590,6 +596,8 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
590
596
|
}[];
|
|
591
597
|
pattern?: string | undefined;
|
|
592
598
|
}[];
|
|
599
|
+
slot_name: string;
|
|
600
|
+
initial_replication_done: boolean;
|
|
593
601
|
last_lsn?: string | undefined;
|
|
594
602
|
last_keepalive_ts?: string | undefined;
|
|
595
603
|
last_checkpoint_ts?: string | undefined;
|
|
@@ -598,6 +606,7 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
598
606
|
safe_wal_size?: number | undefined;
|
|
599
607
|
max_slot_wal_keep_size?: number | undefined;
|
|
600
608
|
}[];
|
|
609
|
+
version_label?: string | null | undefined;
|
|
601
610
|
content?: string | undefined;
|
|
602
611
|
}>> & {
|
|
603
612
|
path: string;
|
|
@@ -627,8 +636,6 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
627
636
|
connections: {
|
|
628
637
|
id: string;
|
|
629
638
|
tag: string;
|
|
630
|
-
slot_name: string;
|
|
631
|
-
initial_replication_done: boolean;
|
|
632
639
|
tables: {
|
|
633
640
|
name: string;
|
|
634
641
|
schema: string;
|
|
@@ -646,6 +653,8 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
646
653
|
}[];
|
|
647
654
|
pattern?: string | undefined;
|
|
648
655
|
}[];
|
|
656
|
+
slot_name: string;
|
|
657
|
+
initial_replication_done: boolean;
|
|
649
658
|
last_lsn?: string | undefined;
|
|
650
659
|
last_keepalive_ts?: string | undefined;
|
|
651
660
|
last_checkpoint_ts?: string | undefined;
|
|
@@ -654,52 +663,9 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
654
663
|
safe_wal_size?: number | undefined;
|
|
655
664
|
max_slot_wal_keep_size?: number | undefined;
|
|
656
665
|
}[];
|
|
666
|
+
version_label?: string | null | undefined;
|
|
657
667
|
content?: string | undefined;
|
|
658
668
|
}>;
|
|
659
|
-
}) | (import("@powersync/lib-services-framework").Endpoint<{
|
|
660
|
-
client_id?: string | undefined;
|
|
661
|
-
}, {
|
|
662
|
-
checkpoint: bigint;
|
|
663
|
-
}, import("./router.js").Context, import("./router.js").RequestEndpointHandlerPayload<{
|
|
664
|
-
client_id?: string | undefined;
|
|
665
|
-
}, import("./router.js").Context, import("./router.js").BasicRouterRequest>, import("@powersync/lib-services-framework").EndpointHandler<import("./router.js").RequestEndpointHandlerPayload<{
|
|
666
|
-
client_id?: string | undefined;
|
|
667
|
-
}, import("./router.js").Context, import("./router.js").BasicRouterRequest>, {
|
|
668
|
-
checkpoint: bigint;
|
|
669
|
-
}>> & {
|
|
670
|
-
path: string;
|
|
671
|
-
method: import("@powersync/lib-services-framework").HTTPMethod.GET;
|
|
672
|
-
authorize: (payload: import("./router.js").RequestEndpointHandlerPayload) => Promise<import("@powersync/lib-services-framework").AuthorizationResponse>;
|
|
673
|
-
validator: import("@powersync/lib-services-framework").MicroValidator<{
|
|
674
|
-
client_id?: string | undefined;
|
|
675
|
-
}, string[]>;
|
|
676
|
-
handler: (payload: import("./router.js").RequestEndpointHandlerPayload<{
|
|
677
|
-
client_id?: string | undefined;
|
|
678
|
-
}, import("./router.js").Context, import("./router.js").BasicRouterRequest>) => Promise<{
|
|
679
|
-
checkpoint: bigint;
|
|
680
|
-
}>;
|
|
681
|
-
}) | (import("@powersync/lib-services-framework").Endpoint<{
|
|
682
|
-
client_id?: string | undefined;
|
|
683
|
-
}, {
|
|
684
|
-
write_checkpoint: string;
|
|
685
|
-
}, import("./router.js").Context, import("./router.js").RequestEndpointHandlerPayload<{
|
|
686
|
-
client_id?: string | undefined;
|
|
687
|
-
}, import("./router.js").Context, import("./router.js").BasicRouterRequest>, import("@powersync/lib-services-framework").EndpointHandler<import("./router.js").RequestEndpointHandlerPayload<{
|
|
688
|
-
client_id?: string | undefined;
|
|
689
|
-
}, import("./router.js").Context, import("./router.js").BasicRouterRequest>, {
|
|
690
|
-
write_checkpoint: string;
|
|
691
|
-
}>> & {
|
|
692
|
-
path: string;
|
|
693
|
-
method: import("@powersync/lib-services-framework").HTTPMethod.GET;
|
|
694
|
-
authorize: (payload: import("./router.js").RequestEndpointHandlerPayload) => Promise<import("@powersync/lib-services-framework").AuthorizationResponse>;
|
|
695
|
-
validator: import("@powersync/lib-services-framework").MicroValidator<{
|
|
696
|
-
client_id?: string | undefined;
|
|
697
|
-
}, string[]>;
|
|
698
|
-
handler: (payload: import("./router.js").RequestEndpointHandlerPayload<{
|
|
699
|
-
client_id?: string | undefined;
|
|
700
|
-
}, import("./router.js").Context, import("./router.js").BasicRouterRequest>) => Promise<{
|
|
701
|
-
write_checkpoint: string;
|
|
702
|
-
}>;
|
|
703
669
|
}) | (import("@powersync/lib-services-framework").Endpoint<unknown, import("@powersync/lib-services-framework").RouterResponse<{
|
|
704
670
|
ready: boolean;
|
|
705
671
|
started: boolean;
|
|
@@ -805,6 +771,88 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
805
771
|
max_queue_depth: number;
|
|
806
772
|
};
|
|
807
773
|
};
|
|
774
|
+
checkpointing: {
|
|
775
|
+
routes: ((import("@powersync/lib-services-framework").Endpoint<{
|
|
776
|
+
client_id?: string | undefined;
|
|
777
|
+
}, {
|
|
778
|
+
checkpoint: bigint;
|
|
779
|
+
}, import("./router.js").Context, import("./router.js").RequestEndpointHandlerPayload<{
|
|
780
|
+
client_id?: string | undefined;
|
|
781
|
+
}, import("./router.js").Context, import("./router.js").BasicRouterRequest>, import("@powersync/lib-services-framework").EndpointHandler<import("./router.js").RequestEndpointHandlerPayload<{
|
|
782
|
+
client_id?: string | undefined;
|
|
783
|
+
}, import("./router.js").Context, import("./router.js").BasicRouterRequest>, {
|
|
784
|
+
checkpoint: bigint;
|
|
785
|
+
}>> & {
|
|
786
|
+
path: string;
|
|
787
|
+
method: import("@powersync/lib-services-framework").HTTPMethod.GET;
|
|
788
|
+
authorize: (payload: import("./router.js").RequestEndpointHandlerPayload) => Promise<import("@powersync/lib-services-framework").AuthorizationResponse>;
|
|
789
|
+
validator: import("@powersync/lib-services-framework").MicroValidator<{
|
|
790
|
+
client_id?: string | undefined;
|
|
791
|
+
}, string[]>;
|
|
792
|
+
handler: (payload: import("./router.js").RequestEndpointHandlerPayload<{
|
|
793
|
+
client_id?: string | undefined;
|
|
794
|
+
}, import("./router.js").Context, import("./router.js").BasicRouterRequest>) => Promise<{
|
|
795
|
+
checkpoint: bigint;
|
|
796
|
+
}>;
|
|
797
|
+
}) | (import("@powersync/lib-services-framework").Endpoint<{
|
|
798
|
+
client_id?: string | undefined;
|
|
799
|
+
}, {
|
|
800
|
+
write_checkpoint: string;
|
|
801
|
+
}, import("./router.js").Context, import("./router.js").RequestEndpointHandlerPayload<{
|
|
802
|
+
client_id?: string | undefined;
|
|
803
|
+
}, import("./router.js").Context, import("./router.js").BasicRouterRequest>, import("@powersync/lib-services-framework").EndpointHandler<import("./router.js").RequestEndpointHandlerPayload<{
|
|
804
|
+
client_id?: string | undefined;
|
|
805
|
+
}, import("./router.js").Context, import("./router.js").BasicRouterRequest>, {
|
|
806
|
+
write_checkpoint: string;
|
|
807
|
+
}>> & {
|
|
808
|
+
path: string;
|
|
809
|
+
method: import("@powersync/lib-services-framework").HTTPMethod.GET;
|
|
810
|
+
authorize: (payload: import("./router.js").RequestEndpointHandlerPayload) => Promise<import("@powersync/lib-services-framework").AuthorizationResponse>;
|
|
811
|
+
validator: import("@powersync/lib-services-framework").MicroValidator<{
|
|
812
|
+
client_id?: string | undefined;
|
|
813
|
+
}, string[]>;
|
|
814
|
+
handler: (payload: import("./router.js").RequestEndpointHandlerPayload<{
|
|
815
|
+
client_id?: string | undefined;
|
|
816
|
+
}, import("./router.js").Context, import("./router.js").BasicRouterRequest>) => Promise<{
|
|
817
|
+
write_checkpoint: string;
|
|
818
|
+
}>;
|
|
819
|
+
}) | (import("@powersync/lib-services-framework").Endpoint<{
|
|
820
|
+
client_id: string;
|
|
821
|
+
checkpoint_request_id: string | number | bigint;
|
|
822
|
+
}, {
|
|
823
|
+
checkpoint_request_id: string;
|
|
824
|
+
}, import("./router.js").Context, import("./router.js").RequestEndpointHandlerPayload<{
|
|
825
|
+
client_id: string;
|
|
826
|
+
checkpoint_request_id: string | number | bigint;
|
|
827
|
+
}, import("./router.js").Context, import("./router.js").BasicRouterRequest>, import("@powersync/lib-services-framework").EndpointHandler<import("./router.js").RequestEndpointHandlerPayload<{
|
|
828
|
+
client_id: string;
|
|
829
|
+
checkpoint_request_id: string | number | bigint;
|
|
830
|
+
}, import("./router.js").Context, import("./router.js").BasicRouterRequest>, {
|
|
831
|
+
checkpoint_request_id: string;
|
|
832
|
+
}>> & {
|
|
833
|
+
path: string;
|
|
834
|
+
method: import("@powersync/lib-services-framework").HTTPMethod.POST;
|
|
835
|
+
authorize: (payload: import("./router.js").RequestEndpointHandlerPayload) => Promise<import("@powersync/lib-services-framework").AuthorizationResponse>;
|
|
836
|
+
validator: {
|
|
837
|
+
validate(params: {
|
|
838
|
+
client_id: string;
|
|
839
|
+
checkpoint_request_id: string | number | bigint;
|
|
840
|
+
}): import("@powersync/lib-services-framework").ValidationLeft<string[]> | {
|
|
841
|
+
valid: true;
|
|
842
|
+
};
|
|
843
|
+
};
|
|
844
|
+
handler: (request: import("./router.js").RequestEndpointHandlerPayload<{
|
|
845
|
+
client_id: string;
|
|
846
|
+
checkpoint_request_id: string | number | bigint;
|
|
847
|
+
}, import("./router.js").Context, import("./router.js").BasicRouterRequest>) => Promise<{
|
|
848
|
+
checkpoint_request_id: string;
|
|
849
|
+
}>;
|
|
850
|
+
}))[];
|
|
851
|
+
queue_options: {
|
|
852
|
+
concurrency: number;
|
|
853
|
+
max_queue_depth: number;
|
|
854
|
+
};
|
|
855
|
+
};
|
|
808
856
|
sync_stream: {
|
|
809
857
|
routes: (import("@powersync/lib-services-framework").Endpoint<{
|
|
810
858
|
parameters?: Record<string, any> | undefined;
|
|
@@ -7,12 +7,20 @@ import { SYNC_STREAM_ROUTES } from './endpoints/sync-stream.js';
|
|
|
7
7
|
import { createRequestQueueHook } from './hooks.js';
|
|
8
8
|
export const DEFAULT_ROUTE_OPTIONS = {
|
|
9
9
|
api: {
|
|
10
|
-
routes: [...ADMIN_ROUTES, ...
|
|
10
|
+
routes: [...ADMIN_ROUTES, ...SYNC_RULES_ROUTES, ...PROBES_ROUTES],
|
|
11
11
|
queue_options: {
|
|
12
12
|
concurrency: 10,
|
|
13
13
|
max_queue_depth: 20
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
|
+
checkpointing: {
|
|
17
|
+
routes: [...CHECKPOINT_ROUTES],
|
|
18
|
+
queue_options: {
|
|
19
|
+
// Note that the values here has an effect on WriteCheckpointBatcher
|
|
20
|
+
concurrency: 100,
|
|
21
|
+
max_queue_depth: 100
|
|
22
|
+
}
|
|
23
|
+
},
|
|
16
24
|
sync_stream: {
|
|
17
25
|
routes: [...SYNC_STREAM_ROUTES],
|
|
18
26
|
queue_options: {
|
|
@@ -35,6 +43,7 @@ export function configureFastifyServer(server, options) {
|
|
|
35
43
|
};
|
|
36
44
|
// Set on the outer server so both child scopes inherit.
|
|
37
45
|
registerFastifyErrorHandler(server);
|
|
46
|
+
registerFastifyNotFoundHandler(server);
|
|
38
47
|
/**
|
|
39
48
|
* Fastify creates an encapsulated context for each `.register` call.
|
|
40
49
|
* Creating a separate context here to separate the concurrency limits for Admin APIs
|
|
@@ -43,10 +52,14 @@ export function configureFastifyServer(server, options) {
|
|
|
43
52
|
*/
|
|
44
53
|
server.register(async function (childContext) {
|
|
45
54
|
registerFastifyRoutes(childContext, generateContext, routes.api?.routes ?? DEFAULT_ROUTE_OPTIONS.api.routes);
|
|
46
|
-
registerFastifyNotFoundHandler(childContext);
|
|
47
55
|
// Limit the active concurrent requests
|
|
48
56
|
childContext.addHook('onRequest', createRequestQueueHook(routes.api?.queue_options ?? DEFAULT_ROUTE_OPTIONS.api.queue_options));
|
|
49
57
|
});
|
|
58
|
+
server.register(async function (childContext) {
|
|
59
|
+
registerFastifyRoutes(childContext, generateContext, routes.checkpointing?.routes ?? DEFAULT_ROUTE_OPTIONS.checkpointing.routes);
|
|
60
|
+
// Limit the active concurrent requests
|
|
61
|
+
childContext.addHook('onRequest', createRequestQueueHook(routes.checkpointing?.queue_options ?? DEFAULT_ROUTE_OPTIONS.checkpointing.queue_options));
|
|
62
|
+
});
|
|
50
63
|
// Create a separate context for concurrency queueing
|
|
51
64
|
server.register(async function (childContext) {
|
|
52
65
|
registerFastifyRoutes(childContext, generateContext, routes.sync_stream?.routes ?? DEFAULT_ROUTE_OPTIONS.sync_stream.routes);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configure-fastify.js","sourceRoot":"","sources":["../../src/routes/configure-fastify.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAA4B,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"configure-fastify.js","sourceRoot":"","sources":["../../src/routes/configure-fastify.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAA4B,MAAM,YAAY,CAAC;AA2B9E,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,GAAG,EAAE;QACH,MAAM,EAAE,CAAC,GAAG,YAAY,EAAE,GAAG,iBAAiB,EAAE,GAAG,aAAa,CAAC;QACjE,aAAa,EAAE;YACb,WAAW,EAAE,EAAE;YACf,eAAe,EAAE,EAAE;SACpB;KACF;IACD,aAAa,EAAE;QACb,MAAM,EAAE,CAAC,GAAG,iBAAiB,CAAC;QAC9B,aAAa,EAAE;YACb,oEAAoE;YACpE,WAAW,EAAE,GAAG;YAChB,eAAe,EAAE,GAAG;SACrB;KACF;IACD,WAAW,EAAE;QACX,MAAM,EAAE,CAAC,GAAG,kBAAkB,CAAC;QAC/B,aAAa,EAAE;YACb,WAAW,EAAE,GAAG;YAChB,eAAe,EAAE,CAAC;SACnB;KACF;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAA+B,EAAE,OAA4B;IAClG,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,qBAAqB,EAAE,GAAG,OAAO,CAAC;IAEpE,MAAM,eAAe,GAAoB,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QAClE,OAAO;YACL,eAAe,EAAE,eAAe;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;IACJ,CAAC,CAAC;IAEF,wDAAwD;IACxD,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACpC,8BAA8B,CAAC,MAAM,CAAC,CAAC;IAEvC;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW,YAAY;QAC1C,qBAAqB,CAAC,YAAY,EAAE,eAAe,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,IAAI,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE7G,uCAAuC;QACvC,YAAY,CAAC,OAAO,CAClB,WAAW,EACX,sBAAsB,CAAC,MAAM,CAAC,GAAG,EAAE,aAAa,IAAI,qBAAqB,CAAC,GAAG,CAAC,aAAa,CAAC,CAC7F,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW,YAAY;QAC1C,qBAAqB,CACnB,YAAY,EACZ,eAAe,EACf,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,qBAAqB,CAAC,aAAa,CAAC,MAAM,CAC3E,CAAC;QAEF,uCAAuC;QACvC,YAAY,CAAC,OAAO,CAClB,WAAW,EACX,sBAAsB,CAAC,MAAM,CAAC,aAAa,EAAE,aAAa,IAAI,qBAAqB,CAAC,aAAa,CAAC,aAAa,CAAC,CACjH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,qDAAqD;IACrD,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW,YAAY;QAC1C,qBAAqB,CACnB,YAAY,EACZ,eAAe,EACf,MAAM,CAAC,WAAW,EAAE,MAAM,IAAI,qBAAqB,CAAC,WAAW,CAAC,MAAM,CACvE,CAAC;QACF,uCAAuC;QACvC,YAAY,CAAC,OAAO,CAClB,WAAW,EACX,sBAAsB,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,IAAI,qBAAqB,CAAC,WAAW,CAAC,aAAa,CAAC,CAC7G,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|