@powerhousedao/reactor 6.0.0-dev.25 → 6.0.0-dev.251
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/dist/index.d.ts +4594 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10037 -0
- package/dist/index.js.map +1 -0
- package/package.json +26 -20
- package/dist/src/actions/index.d.ts +0 -24
- package/dist/src/actions/index.d.ts.map +0 -1
- package/dist/src/actions/index.js +0 -76
- package/dist/src/actions/index.js.map +0 -1
- package/dist/src/cache/buffer/ring-buffer.d.ts +0 -37
- package/dist/src/cache/buffer/ring-buffer.d.ts.map +0 -1
- package/dist/src/cache/buffer/ring-buffer.js +0 -69
- package/dist/src/cache/buffer/ring-buffer.js.map +0 -1
- package/dist/src/cache/document-meta-cache-types.d.ts +0 -114
- package/dist/src/cache/document-meta-cache-types.d.ts.map +0 -1
- package/dist/src/cache/document-meta-cache-types.js +0 -2
- package/dist/src/cache/document-meta-cache-types.js.map +0 -1
- package/dist/src/cache/document-meta-cache.d.ts +0 -30
- package/dist/src/cache/document-meta-cache.d.ts.map +0 -1
- package/dist/src/cache/document-meta-cache.js +0 -128
- package/dist/src/cache/document-meta-cache.js.map +0 -1
- package/dist/src/cache/index.d.ts +0 -3
- package/dist/src/cache/index.d.ts.map +0 -1
- package/dist/src/cache/index.js +0 -2
- package/dist/src/cache/index.js.map +0 -1
- package/dist/src/cache/kysely-operation-index.d.ts +0 -16
- package/dist/src/cache/kysely-operation-index.d.ts.map +0 -1
- package/dist/src/cache/kysely-operation-index.js +0 -265
- package/dist/src/cache/kysely-operation-index.js.map +0 -1
- package/dist/src/cache/kysely-write-cache.d.ts +0 -134
- package/dist/src/cache/kysely-write-cache.d.ts.map +0 -1
- package/dist/src/cache/kysely-write-cache.js +0 -388
- package/dist/src/cache/kysely-write-cache.js.map +0 -1
- package/dist/src/cache/lru/lru-tracker.d.ts +0 -15
- package/dist/src/cache/lru/lru-tracker.d.ts.map +0 -1
- package/dist/src/cache/lru/lru-tracker.js +0 -96
- package/dist/src/cache/lru/lru-tracker.js.map +0 -1
- package/dist/src/cache/operation-index-types.d.ts +0 -51
- package/dist/src/cache/operation-index-types.d.ts.map +0 -1
- package/dist/src/cache/operation-index-types.js +0 -4
- package/dist/src/cache/operation-index-types.js.map +0 -1
- package/dist/src/cache/write/interfaces.d.ts +0 -83
- package/dist/src/cache/write/interfaces.d.ts.map +0 -1
- package/dist/src/cache/write/interfaces.js +0 -2
- package/dist/src/cache/write/interfaces.js.map +0 -1
- package/dist/src/cache/write-cache-types.d.ts +0 -42
- package/dist/src/cache/write-cache-types.d.ts.map +0 -1
- package/dist/src/cache/write-cache-types.js +0 -2
- package/dist/src/cache/write-cache-types.js.map +0 -1
- package/dist/src/client/reactor-client.d.ts +0 -121
- package/dist/src/client/reactor-client.d.ts.map +0 -1
- package/dist/src/client/reactor-client.js +0 -425
- package/dist/src/client/reactor-client.js.map +0 -1
- package/dist/src/client/types.d.ts +0 -253
- package/dist/src/client/types.d.ts.map +0 -1
- package/dist/src/client/types.js +0 -14
- package/dist/src/client/types.js.map +0 -1
- package/dist/src/core/reactor-builder.d.ts +0 -47
- package/dist/src/core/reactor-builder.d.ts.map +0 -1
- package/dist/src/core/reactor-builder.js +0 -231
- package/dist/src/core/reactor-builder.js.map +0 -1
- package/dist/src/core/reactor-client-builder.d.ts +0 -49
- package/dist/src/core/reactor-client-builder.d.ts.map +0 -1
- package/dist/src/core/reactor-client-builder.js +0 -123
- package/dist/src/core/reactor-client-builder.js.map +0 -1
- package/dist/src/core/reactor.d.ts +0 -116
- package/dist/src/core/reactor.d.ts.map +0 -1
- package/dist/src/core/reactor.js +0 -986
- package/dist/src/core/reactor.js.map +0 -1
- package/dist/src/core/types.d.ts +0 -277
- package/dist/src/core/types.d.ts.map +0 -1
- package/dist/src/core/types.js +0 -2
- package/dist/src/core/types.js.map +0 -1
- package/dist/src/core/utils.d.ts +0 -59
- package/dist/src/core/utils.d.ts.map +0 -1
- package/dist/src/core/utils.js +0 -171
- package/dist/src/core/utils.js.map +0 -1
- package/dist/src/events/event-bus.d.ts +0 -8
- package/dist/src/events/event-bus.d.ts.map +0 -1
- package/dist/src/events/event-bus.js +0 -53
- package/dist/src/events/event-bus.js.map +0 -1
- package/dist/src/events/interfaces.d.ts +0 -27
- package/dist/src/events/interfaces.d.ts.map +0 -1
- package/dist/src/events/interfaces.js +0 -2
- package/dist/src/events/interfaces.js.map +0 -1
- package/dist/src/events/types.d.ts +0 -69
- package/dist/src/events/types.d.ts.map +0 -1
- package/dist/src/events/types.js +0 -28
- package/dist/src/events/types.js.map +0 -1
- package/dist/src/executor/interfaces.d.ts +0 -49
- package/dist/src/executor/interfaces.d.ts.map +0 -1
- package/dist/src/executor/interfaces.js +0 -2
- package/dist/src/executor/interfaces.js.map +0 -1
- package/dist/src/executor/simple-job-executor-manager.d.ts +0 -34
- package/dist/src/executor/simple-job-executor-manager.d.ts.map +0 -1
- package/dist/src/executor/simple-job-executor-manager.js +0 -236
- package/dist/src/executor/simple-job-executor-manager.js.map +0 -1
- package/dist/src/executor/simple-job-executor.d.ts +0 -80
- package/dist/src/executor/simple-job-executor.d.ts.map +0 -1
- package/dist/src/executor/simple-job-executor.js +0 -898
- package/dist/src/executor/simple-job-executor.js.map +0 -1
- package/dist/src/executor/types.d.ts +0 -93
- package/dist/src/executor/types.d.ts.map +0 -1
- package/dist/src/executor/types.js +0 -11
- package/dist/src/executor/types.js.map +0 -1
- package/dist/src/executor/util.d.ts +0 -74
- package/dist/src/executor/util.d.ts.map +0 -1
- package/dist/src/executor/util.js +0 -184
- package/dist/src/executor/util.js.map +0 -1
- package/dist/src/index.d.ts +0 -53
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -62
- package/dist/src/index.js.map +0 -1
- package/dist/src/job-tracker/in-memory-job-tracker.d.ts +0 -26
- package/dist/src/job-tracker/in-memory-job-tracker.d.ts.map +0 -1
- package/dist/src/job-tracker/in-memory-job-tracker.js +0 -112
- package/dist/src/job-tracker/in-memory-job-tracker.js.map +0 -1
- package/dist/src/job-tracker/index.d.ts +0 -3
- package/dist/src/job-tracker/index.d.ts.map +0 -1
- package/dist/src/job-tracker/index.js +0 -2
- package/dist/src/job-tracker/index.js.map +0 -1
- package/dist/src/job-tracker/interfaces.d.ts +0 -41
- package/dist/src/job-tracker/interfaces.d.ts.map +0 -1
- package/dist/src/job-tracker/interfaces.js +0 -2
- package/dist/src/job-tracker/interfaces.js.map +0 -1
- package/dist/src/logging/console.d.ts +0 -23
- package/dist/src/logging/console.d.ts.map +0 -1
- package/dist/src/logging/console.js +0 -108
- package/dist/src/logging/console.js.map +0 -1
- package/dist/src/logging/types.d.ts +0 -12
- package/dist/src/logging/types.d.ts.map +0 -1
- package/dist/src/logging/types.js +0 -2
- package/dist/src/logging/types.js.map +0 -1
- package/dist/src/processors/index.d.ts +0 -3
- package/dist/src/processors/index.d.ts.map +0 -1
- package/dist/src/processors/index.js +0 -2
- package/dist/src/processors/index.js.map +0 -1
- package/dist/src/processors/processor-manager.d.ts +0 -38
- package/dist/src/processors/processor-manager.d.ts.map +0 -1
- package/dist/src/processors/processor-manager.js +0 -165
- package/dist/src/processors/processor-manager.js.map +0 -1
- package/dist/src/processors/types.d.ts +0 -63
- package/dist/src/processors/types.d.ts.map +0 -1
- package/dist/src/processors/types.js +0 -2
- package/dist/src/processors/types.js.map +0 -1
- package/dist/src/processors/utils.d.ts +0 -10
- package/dist/src/processors/utils.d.ts.map +0 -1
- package/dist/src/processors/utils.js +0 -59
- package/dist/src/processors/utils.js.map +0 -1
- package/dist/src/queue/interfaces.d.ts +0 -103
- package/dist/src/queue/interfaces.d.ts.map +0 -1
- package/dist/src/queue/interfaces.js +0 -2
- package/dist/src/queue/interfaces.js.map +0 -1
- package/dist/src/queue/job-execution-handle.d.ts +0 -25
- package/dist/src/queue/job-execution-handle.d.ts.map +0 -1
- package/dist/src/queue/job-execution-handle.js +0 -62
- package/dist/src/queue/job-execution-handle.js.map +0 -1
- package/dist/src/queue/queue.d.ts +0 -81
- package/dist/src/queue/queue.d.ts.map +0 -1
- package/dist/src/queue/queue.js +0 -384
- package/dist/src/queue/queue.js.map +0 -1
- package/dist/src/queue/types.d.ts +0 -73
- package/dist/src/queue/types.d.ts.map +0 -1
- package/dist/src/queue/types.js +0 -19
- package/dist/src/queue/types.js.map +0 -1
- package/dist/src/read-models/base-read-model.d.ts +0 -60
- package/dist/src/read-models/base-read-model.d.ts.map +0 -1
- package/dist/src/read-models/base-read-model.js +0 -143
- package/dist/src/read-models/base-read-model.js.map +0 -1
- package/dist/src/read-models/coordinator.d.ts +0 -39
- package/dist/src/read-models/coordinator.d.ts.map +0 -1
- package/dist/src/read-models/coordinator.js +0 -72
- package/dist/src/read-models/coordinator.js.map +0 -1
- package/dist/src/read-models/document-view.d.ts +0 -24
- package/dist/src/read-models/document-view.d.ts.map +0 -1
- package/dist/src/read-models/document-view.js +0 -356
- package/dist/src/read-models/document-view.js.map +0 -1
- package/dist/src/read-models/interfaces.d.ts +0 -29
- package/dist/src/read-models/interfaces.d.ts.map +0 -1
- package/dist/src/read-models/interfaces.js +0 -2
- package/dist/src/read-models/interfaces.js.map +0 -1
- package/dist/src/read-models/types.d.ts +0 -47
- package/dist/src/read-models/types.d.ts.map +0 -1
- package/dist/src/read-models/types.js +0 -2
- package/dist/src/read-models/types.js.map +0 -1
- package/dist/src/registry/implementation.d.ts +0 -70
- package/dist/src/registry/implementation.d.ts.map +0 -1
- package/dist/src/registry/implementation.js +0 -216
- package/dist/src/registry/implementation.js.map +0 -1
- package/dist/src/registry/index.d.ts +0 -3
- package/dist/src/registry/index.d.ts.map +0 -1
- package/dist/src/registry/index.js +0 -2
- package/dist/src/registry/index.js.map +0 -1
- package/dist/src/registry/interfaces.d.ts +0 -100
- package/dist/src/registry/interfaces.d.ts.map +0 -1
- package/dist/src/registry/interfaces.js +0 -2
- package/dist/src/registry/interfaces.js.map +0 -1
- package/dist/src/shared/awaiter.d.ts +0 -35
- package/dist/src/shared/awaiter.d.ts.map +0 -1
- package/dist/src/shared/awaiter.js +0 -123
- package/dist/src/shared/awaiter.js.map +0 -1
- package/dist/src/shared/consistency-tracker.d.ts +0 -48
- package/dist/src/shared/consistency-tracker.d.ts.map +0 -1
- package/dist/src/shared/consistency-tracker.js +0 -123
- package/dist/src/shared/consistency-tracker.js.map +0 -1
- package/dist/src/shared/drive-url.d.ts +0 -15
- package/dist/src/shared/drive-url.d.ts.map +0 -1
- package/dist/src/shared/drive-url.js +0 -17
- package/dist/src/shared/drive-url.js.map +0 -1
- package/dist/src/shared/errors.d.ts +0 -41
- package/dist/src/shared/errors.d.ts.map +0 -1
- package/dist/src/shared/errors.js +0 -75
- package/dist/src/shared/errors.js.map +0 -1
- package/dist/src/shared/factories.d.ts +0 -16
- package/dist/src/shared/factories.d.ts.map +0 -1
- package/dist/src/shared/factories.js +0 -33
- package/dist/src/shared/factories.js.map +0 -1
- package/dist/src/shared/types.d.ts +0 -140
- package/dist/src/shared/types.d.ts.map +0 -1
- package/dist/src/shared/types.js +0 -38
- package/dist/src/shared/types.js.map +0 -1
- package/dist/src/shared/utils.d.ts +0 -3
- package/dist/src/shared/utils.d.ts.map +0 -1
- package/dist/src/shared/utils.js +0 -8
- package/dist/src/shared/utils.js.map +0 -1
- package/dist/src/signer/passthrough-signer.d.ts +0 -12
- package/dist/src/signer/passthrough-signer.d.ts.map +0 -1
- package/dist/src/signer/passthrough-signer.js +0 -19
- package/dist/src/signer/passthrough-signer.js.map +0 -1
- package/dist/src/signer/types.d.ts +0 -17
- package/dist/src/signer/types.d.ts.map +0 -1
- package/dist/src/signer/types.js +0 -2
- package/dist/src/signer/types.js.map +0 -1
- package/dist/src/storage/consistency-aware-legacy-storage.d.ts +0 -33
- package/dist/src/storage/consistency-aware-legacy-storage.d.ts.map +0 -1
- package/dist/src/storage/consistency-aware-legacy-storage.js +0 -65
- package/dist/src/storage/consistency-aware-legacy-storage.js.map +0 -1
- package/dist/src/storage/index.d.ts +0 -4
- package/dist/src/storage/index.d.ts.map +0 -1
- package/dist/src/storage/index.js +0 -3
- package/dist/src/storage/index.js.map +0 -1
- package/dist/src/storage/interfaces.d.ts +0 -453
- package/dist/src/storage/interfaces.d.ts.map +0 -1
- package/dist/src/storage/interfaces.js +0 -19
- package/dist/src/storage/interfaces.js.map +0 -1
- package/dist/src/storage/kysely/document-indexer.d.ts +0 -28
- package/dist/src/storage/kysely/document-indexer.d.ts.map +0 -1
- package/dist/src/storage/kysely/document-indexer.js +0 -350
- package/dist/src/storage/kysely/document-indexer.js.map +0 -1
- package/dist/src/storage/kysely/keyframe-store.d.ts +0 -15
- package/dist/src/storage/kysely/keyframe-store.d.ts.map +0 -1
- package/dist/src/storage/kysely/keyframe-store.js +0 -64
- package/dist/src/storage/kysely/keyframe-store.js.map +0 -1
- package/dist/src/storage/kysely/store.d.ts +0 -16
- package/dist/src/storage/kysely/store.d.ts.map +0 -1
- package/dist/src/storage/kysely/store.js +0 -246
- package/dist/src/storage/kysely/store.js.map +0 -1
- package/dist/src/storage/kysely/sync-cursor-storage.d.ts +0 -13
- package/dist/src/storage/kysely/sync-cursor-storage.d.ts.map +0 -1
- package/dist/src/storage/kysely/sync-cursor-storage.js +0 -93
- package/dist/src/storage/kysely/sync-cursor-storage.js.map +0 -1
- package/dist/src/storage/kysely/sync-remote-storage.d.ts +0 -13
- package/dist/src/storage/kysely/sync-remote-storage.d.ts.map +0 -1
- package/dist/src/storage/kysely/sync-remote-storage.js +0 -133
- package/dist/src/storage/kysely/sync-remote-storage.js.map +0 -1
- package/dist/src/storage/kysely/types.d.ts +0 -135
- package/dist/src/storage/kysely/types.d.ts.map +0 -1
- package/dist/src/storage/kysely/types.js +0 -2
- package/dist/src/storage/kysely/types.js.map +0 -1
- package/dist/src/storage/migrations/001_create_operation_table.d.ts +0 -3
- package/dist/src/storage/migrations/001_create_operation_table.d.ts.map +0 -1
- package/dist/src/storage/migrations/001_create_operation_table.js +0 -41
- package/dist/src/storage/migrations/001_create_operation_table.js.map +0 -1
- package/dist/src/storage/migrations/002_create_keyframe_table.d.ts +0 -3
- package/dist/src/storage/migrations/002_create_keyframe_table.d.ts.map +0 -1
- package/dist/src/storage/migrations/002_create_keyframe_table.js +0 -27
- package/dist/src/storage/migrations/002_create_keyframe_table.js.map +0 -1
- package/dist/src/storage/migrations/003_create_document_table.d.ts +0 -3
- package/dist/src/storage/migrations/003_create_document_table.d.ts.map +0 -1
- package/dist/src/storage/migrations/003_create_document_table.js +0 -10
- package/dist/src/storage/migrations/003_create_document_table.js.map +0 -1
- package/dist/src/storage/migrations/004_create_document_relationship_table.d.ts +0 -3
- package/dist/src/storage/migrations/004_create_document_relationship_table.d.ts.map +0 -1
- package/dist/src/storage/migrations/004_create_document_relationship_table.js +0 -35
- package/dist/src/storage/migrations/004_create_document_relationship_table.js.map +0 -1
- package/dist/src/storage/migrations/005_create_indexer_state_table.d.ts +0 -3
- package/dist/src/storage/migrations/005_create_indexer_state_table.d.ts.map +0 -1
- package/dist/src/storage/migrations/005_create_indexer_state_table.js +0 -10
- package/dist/src/storage/migrations/005_create_indexer_state_table.js.map +0 -1
- package/dist/src/storage/migrations/006_create_document_snapshot_table.d.ts +0 -3
- package/dist/src/storage/migrations/006_create_document_snapshot_table.d.ts.map +0 -1
- package/dist/src/storage/migrations/006_create_document_snapshot_table.js +0 -49
- package/dist/src/storage/migrations/006_create_document_snapshot_table.js.map +0 -1
- package/dist/src/storage/migrations/007_create_slug_mapping_table.d.ts +0 -3
- package/dist/src/storage/migrations/007_create_slug_mapping_table.d.ts.map +0 -1
- package/dist/src/storage/migrations/007_create_slug_mapping_table.js +0 -24
- package/dist/src/storage/migrations/007_create_slug_mapping_table.js.map +0 -1
- package/dist/src/storage/migrations/008_create_view_state_table.d.ts +0 -3
- package/dist/src/storage/migrations/008_create_view_state_table.d.ts.map +0 -1
- package/dist/src/storage/migrations/008_create_view_state_table.js +0 -10
- package/dist/src/storage/migrations/008_create_view_state_table.js.map +0 -1
- package/dist/src/storage/migrations/009_create_operation_index_tables.d.ts +0 -3
- package/dist/src/storage/migrations/009_create_operation_index_tables.d.ts.map +0 -1
- package/dist/src/storage/migrations/009_create_operation_index_tables.js +0 -50
- package/dist/src/storage/migrations/009_create_operation_index_tables.js.map +0 -1
- package/dist/src/storage/migrations/010_create_sync_tables.d.ts +0 -3
- package/dist/src/storage/migrations/010_create_sync_tables.d.ts.map +0 -1
- package/dist/src/storage/migrations/010_create_sync_tables.js +0 -43
- package/dist/src/storage/migrations/010_create_sync_tables.js.map +0 -1
- package/dist/src/storage/migrations/index.d.ts +0 -3
- package/dist/src/storage/migrations/index.d.ts.map +0 -1
- package/dist/src/storage/migrations/index.js +0 -3
- package/dist/src/storage/migrations/index.js.map +0 -1
- package/dist/src/storage/migrations/migrator.d.ts +0 -6
- package/dist/src/storage/migrations/migrator.d.ts.map +0 -1
- package/dist/src/storage/migrations/migrator.js +0 -78
- package/dist/src/storage/migrations/migrator.js.map +0 -1
- package/dist/src/storage/migrations/run-migrations.d.ts +0 -2
- package/dist/src/storage/migrations/run-migrations.d.ts.map +0 -1
- package/dist/src/storage/migrations/run-migrations.js +0 -58
- package/dist/src/storage/migrations/run-migrations.js.map +0 -1
- package/dist/src/storage/migrations/types.d.ts +0 -9
- package/dist/src/storage/migrations/types.d.ts.map +0 -1
- package/dist/src/storage/migrations/types.js +0 -2
- package/dist/src/storage/migrations/types.js.map +0 -1
- package/dist/src/storage/txn.d.ts +0 -15
- package/dist/src/storage/txn.d.ts.map +0 -1
- package/dist/src/storage/txn.js +0 -42
- package/dist/src/storage/txn.js.map +0 -1
- package/dist/src/subs/default-error-handler.d.ts +0 -13
- package/dist/src/subs/default-error-handler.d.ts.map +0 -1
- package/dist/src/subs/default-error-handler.js +0 -27
- package/dist/src/subs/default-error-handler.js.map +0 -1
- package/dist/src/subs/react-subscription-manager.d.ts +0 -45
- package/dist/src/subs/react-subscription-manager.d.ts.map +0 -1
- package/dist/src/subs/react-subscription-manager.js +0 -185
- package/dist/src/subs/react-subscription-manager.js.map +0 -1
- package/dist/src/subs/subscription-notification-read-model.d.ts +0 -17
- package/dist/src/subs/subscription-notification-read-model.d.ts.map +0 -1
- package/dist/src/subs/subscription-notification-read-model.js +0 -62
- package/dist/src/subs/subscription-notification-read-model.js.map +0 -1
- package/dist/src/subs/types.d.ts +0 -64
- package/dist/src/subs/types.d.ts.map +0 -1
- package/dist/src/subs/types.js +0 -2
- package/dist/src/subs/types.js.map +0 -1
- package/dist/src/sync/channels/composite-channel-factory.d.ts +0 -32
- package/dist/src/sync/channels/composite-channel-factory.d.ts.map +0 -1
- package/dist/src/sync/channels/composite-channel-factory.js +0 -88
- package/dist/src/sync/channels/composite-channel-factory.js.map +0 -1
- package/dist/src/sync/channels/gql-channel-factory.d.ts +0 -27
- package/dist/src/sync/channels/gql-channel-factory.d.ts.map +0 -1
- package/dist/src/sync/channels/gql-channel-factory.js +0 -77
- package/dist/src/sync/channels/gql-channel-factory.js.map +0 -1
- package/dist/src/sync/channels/gql-channel.d.ts +0 -120
- package/dist/src/sync/channels/gql-channel.d.ts.map +0 -1
- package/dist/src/sync/channels/gql-channel.js +0 -436
- package/dist/src/sync/channels/gql-channel.js.map +0 -1
- package/dist/src/sync/channels/index.d.ts +0 -6
- package/dist/src/sync/channels/index.d.ts.map +0 -1
- package/dist/src/sync/channels/index.js +0 -6
- package/dist/src/sync/channels/index.js.map +0 -1
- package/dist/src/sync/channels/polling-channel.d.ts +0 -39
- package/dist/src/sync/channels/polling-channel.d.ts.map +0 -1
- package/dist/src/sync/channels/polling-channel.js +0 -72
- package/dist/src/sync/channels/polling-channel.js.map +0 -1
- package/dist/src/sync/channels/utils.d.ts +0 -30
- package/dist/src/sync/channels/utils.d.ts.map +0 -1
- package/dist/src/sync/channels/utils.js +0 -96
- package/dist/src/sync/channels/utils.js.map +0 -1
- package/dist/src/sync/errors.d.ts +0 -10
- package/dist/src/sync/errors.d.ts.map +0 -1
- package/dist/src/sync/errors.js +0 -17
- package/dist/src/sync/errors.js.map +0 -1
- package/dist/src/sync/index.d.ts +0 -12
- package/dist/src/sync/index.d.ts.map +0 -1
- package/dist/src/sync/index.js +0 -9
- package/dist/src/sync/index.js.map +0 -1
- package/dist/src/sync/interfaces.d.ts +0 -182
- package/dist/src/sync/interfaces.d.ts.map +0 -1
- package/dist/src/sync/interfaces.js +0 -2
- package/dist/src/sync/interfaces.js.map +0 -1
- package/dist/src/sync/mailbox.d.ts +0 -21
- package/dist/src/sync/mailbox.d.ts.map +0 -1
- package/dist/src/sync/mailbox.js +0 -59
- package/dist/src/sync/mailbox.js.map +0 -1
- package/dist/src/sync/sync-builder.d.ts +0 -19
- package/dist/src/sync/sync-builder.d.ts.map +0 -1
- package/dist/src/sync/sync-builder.js +0 -39
- package/dist/src/sync/sync-builder.js.map +0 -1
- package/dist/src/sync/sync-manager.d.ts +0 -37
- package/dist/src/sync/sync-manager.d.ts.map +0 -1
- package/dist/src/sync/sync-manager.js +0 -267
- package/dist/src/sync/sync-manager.js.map +0 -1
- package/dist/src/sync/sync-operation.d.ts +0 -28
- package/dist/src/sync/sync-operation.d.ts.map +0 -1
- package/dist/src/sync/sync-operation.js +0 -63
- package/dist/src/sync/sync-operation.js.map +0 -1
- package/dist/src/sync/types.d.ts +0 -62
- package/dist/src/sync/types.d.ts.map +0 -1
- package/dist/src/sync/types.js +0 -16
- package/dist/src/sync/types.js.map +0 -1
- package/dist/src/sync/utils.d.ts +0 -36
- package/dist/src/sync/utils.d.ts.map +0 -1
- package/dist/src/sync/utils.js +0 -78
- package/dist/src/sync/utils.js.map +0 -1
- package/dist/src/utils/reshuffle.d.ts +0 -40
- package/dist/src/utils/reshuffle.d.ts.map +0 -1
- package/dist/src/utils/reshuffle.js +0 -70
- package/dist/src/utils/reshuffle.js.map +0 -1
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import { OperationEventTypes, } from "../events/types.js";
|
|
2
|
-
import { JobStatus } from "./types.js";
|
|
3
|
-
/**
|
|
4
|
-
* Checks if a job status is terminal (job has finished).
|
|
5
|
-
* WRITE_COMPLETED is not terminal - it's an intermediate state.
|
|
6
|
-
* Only READ_MODELS_READY and FAILED are truly terminal.
|
|
7
|
-
*/
|
|
8
|
-
function isTerminalStatus(status) {
|
|
9
|
-
return status === JobStatus.READ_MODELS_READY || status === JobStatus.FAILED;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Event-driven implementation of IJobAwaiter.
|
|
13
|
-
* Subscribes to operation events to detect job completion without polling.
|
|
14
|
-
*/
|
|
15
|
-
export class JobAwaiter {
|
|
16
|
-
eventBus;
|
|
17
|
-
getJobStatus;
|
|
18
|
-
pendingJobs = new Map();
|
|
19
|
-
unsubscribers = [];
|
|
20
|
-
constructor(eventBus, getJobStatus) {
|
|
21
|
-
this.eventBus = eventBus;
|
|
22
|
-
this.getJobStatus = getJobStatus;
|
|
23
|
-
this.subscribeToEvents();
|
|
24
|
-
}
|
|
25
|
-
subscribeToEvents() {
|
|
26
|
-
this.unsubscribers.push(this.eventBus.subscribe(OperationEventTypes.OPERATION_WRITTEN, async (_type, event) => {
|
|
27
|
-
await this.handleOperationWritten(event);
|
|
28
|
-
}));
|
|
29
|
-
this.unsubscribers.push(this.eventBus.subscribe(OperationEventTypes.OPERATIONS_READY, async (_type, event) => {
|
|
30
|
-
await this.handleOperationsReady(event);
|
|
31
|
-
}));
|
|
32
|
-
this.unsubscribers.push(this.eventBus.subscribe(OperationEventTypes.JOB_FAILED, async (_type, event) => {
|
|
33
|
-
await this.handleJobFailed(event);
|
|
34
|
-
}));
|
|
35
|
-
}
|
|
36
|
-
shutdown() {
|
|
37
|
-
for (const unsubscribe of this.unsubscribers) {
|
|
38
|
-
unsubscribe();
|
|
39
|
-
}
|
|
40
|
-
this.unsubscribers = [];
|
|
41
|
-
for (const [, waiters] of this.pendingJobs) {
|
|
42
|
-
for (const waiter of waiters) {
|
|
43
|
-
waiter.reject(new Error("JobAwaiter destroyed"));
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
this.pendingJobs.clear();
|
|
47
|
-
}
|
|
48
|
-
async waitForJob(jobId, signal) {
|
|
49
|
-
if (signal?.aborted) {
|
|
50
|
-
throw new Error("Operation aborted");
|
|
51
|
-
}
|
|
52
|
-
const currentStatus = await this.getJobStatus(jobId, signal);
|
|
53
|
-
if (isTerminalStatus(currentStatus.status)) {
|
|
54
|
-
return currentStatus;
|
|
55
|
-
}
|
|
56
|
-
const promise = new Promise((resolve, reject) => {
|
|
57
|
-
const waiter = { resolve, reject, signal };
|
|
58
|
-
const existingWaiters = this.pendingJobs.get(jobId) || [];
|
|
59
|
-
existingWaiters.push(waiter);
|
|
60
|
-
this.pendingJobs.set(jobId, existingWaiters);
|
|
61
|
-
if (signal) {
|
|
62
|
-
const abortHandler = () => {
|
|
63
|
-
const waiters = this.pendingJobs.get(jobId);
|
|
64
|
-
if (waiters) {
|
|
65
|
-
const index = waiters.indexOf(waiter);
|
|
66
|
-
if (index !== -1) {
|
|
67
|
-
waiters.splice(index, 1);
|
|
68
|
-
if (waiters.length === 0) {
|
|
69
|
-
this.pendingJobs.delete(jobId);
|
|
70
|
-
}
|
|
71
|
-
waiter.reject(new Error("Operation aborted"));
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
signal.addEventListener("abort", abortHandler, { once: true });
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
return promise;
|
|
79
|
-
}
|
|
80
|
-
async handleOperationWritten(event) {
|
|
81
|
-
const jobId = event.jobId;
|
|
82
|
-
await this.checkAndResolveWaiters(jobId);
|
|
83
|
-
}
|
|
84
|
-
async handleOperationsReady(event) {
|
|
85
|
-
const jobId = event.jobId;
|
|
86
|
-
await this.checkAndResolveWaiters(jobId);
|
|
87
|
-
}
|
|
88
|
-
async handleJobFailed(event) {
|
|
89
|
-
await this.checkAndResolveWaiters(event.jobId);
|
|
90
|
-
}
|
|
91
|
-
async checkAndResolveWaiters(jobId) {
|
|
92
|
-
const waiters = this.pendingJobs.get(jobId);
|
|
93
|
-
if (!waiters || waiters.length === 0) {
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
try {
|
|
97
|
-
const activeWaiters = waiters.filter((w) => !w.signal?.aborted);
|
|
98
|
-
if (activeWaiters.length === 0) {
|
|
99
|
-
this.pendingJobs.delete(jobId);
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
const jobInfo = await this.getJobStatus(jobId, activeWaiters[0].signal);
|
|
103
|
-
if (isTerminalStatus(jobInfo.status)) {
|
|
104
|
-
this.pendingJobs.delete(jobId);
|
|
105
|
-
for (const waiter of activeWaiters) {
|
|
106
|
-
waiter.resolve(jobInfo);
|
|
107
|
-
}
|
|
108
|
-
for (const waiter of waiters) {
|
|
109
|
-
if (waiter.signal?.aborted) {
|
|
110
|
-
waiter.reject(new Error("Operation aborted"));
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
catch (error) {
|
|
116
|
-
this.pendingJobs.delete(jobId);
|
|
117
|
-
for (const waiter of waiters) {
|
|
118
|
-
waiter.reject(error instanceof Error ? error : new Error(String(error)));
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
//# sourceMappingURL=awaiter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"awaiter.js","sourceRoot":"","sources":["../../../src/shared/awaiter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import type { ConsistencyCoordinate, ConsistencyKey } from "./types.js";
|
|
2
|
-
export interface IConsistencyTracker {
|
|
3
|
-
/**
|
|
4
|
-
* Updates the tracker with new operation indexes.
|
|
5
|
-
* When multiple coordinates have the same key, keeps the highest operationIndex.
|
|
6
|
-
* Resolves any pending waiters whose coordinates are now satisfied.
|
|
7
|
-
*/
|
|
8
|
-
update(coordinates: ConsistencyCoordinate[]): void;
|
|
9
|
-
/**
|
|
10
|
-
* Returns the latest operation index for a given key, or undefined if not tracked.
|
|
11
|
-
*/
|
|
12
|
-
getLatest(key: ConsistencyKey): number | undefined;
|
|
13
|
-
/**
|
|
14
|
-
* Returns a promise that resolves when all coordinates are satisfied.
|
|
15
|
-
* Rejects if the timeout is reached or the signal is aborted.
|
|
16
|
-
*/
|
|
17
|
-
waitFor(coordinates: ConsistencyCoordinate[], timeoutMs?: number, signal?: AbortSignal): Promise<void>;
|
|
18
|
-
/**
|
|
19
|
-
* Returns a serializable snapshot of the current state.
|
|
20
|
-
*/
|
|
21
|
-
serialize(): Array<[ConsistencyKey, number]>;
|
|
22
|
-
/**
|
|
23
|
-
* Restores state from a serialized snapshot.
|
|
24
|
-
*/
|
|
25
|
-
hydrate(entries: Array<[ConsistencyKey, number]>): void;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Creates a consistency key from documentId, scope, and branch.
|
|
29
|
-
*/
|
|
30
|
-
export declare function makeConsistencyKey(documentId: string, scope: string, branch: string): ConsistencyKey;
|
|
31
|
-
/**
|
|
32
|
-
* Tracks operation indexes for documents and provides read-after-write consistency guarantees.
|
|
33
|
-
* Maintains an in-memory map of the latest operation index for each (documentId, scope, branch) tuple.
|
|
34
|
-
*/
|
|
35
|
-
export declare class ConsistencyTracker implements IConsistencyTracker {
|
|
36
|
-
private state;
|
|
37
|
-
private waiters;
|
|
38
|
-
update(coordinates: ConsistencyCoordinate[]): void;
|
|
39
|
-
getLatest(key: ConsistencyKey): number | undefined;
|
|
40
|
-
waitFor(coordinates: ConsistencyCoordinate[], timeoutMs?: number, signal?: AbortSignal): Promise<void>;
|
|
41
|
-
serialize(): Array<[ConsistencyKey, number]>;
|
|
42
|
-
hydrate(entries: Array<[ConsistencyKey, number]>): void;
|
|
43
|
-
private deduplicateCoordinates;
|
|
44
|
-
private areCoordinatesSatisfied;
|
|
45
|
-
private checkWaiters;
|
|
46
|
-
private removeWaiter;
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=consistency-tracker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"consistency-tracker.d.ts","sourceRoot":"","sources":["../../../src/shared/consistency-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAExE,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,MAAM,CAAC,WAAW,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC;IAEnD;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;IAEnD;;;OAGG;IACH,OAAO,CACL,WAAW,EAAE,qBAAqB,EAAE,EACpC,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;OAEG;IACH,SAAS,IAAI,KAAK,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAE7C;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;CACzD;AAUD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,cAAc,CAEhB;AAED;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,mBAAmB;IAC5D,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,OAAO,CAAgB;IAE/B,MAAM,CAAC,WAAW,EAAE,qBAAqB,EAAE,GAAG,IAAI;IAmBlD,SAAS,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;IAIlD,OAAO,CACL,WAAW,EAAE,qBAAqB,EAAE,EACpC,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC;IAoChB,SAAS,IAAI,KAAK,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAI5C,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI;IAOvD,OAAO,CAAC,sBAAsB;IAsB9B,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,YAAY;CASrB"}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Creates a consistency key from documentId, scope, and branch.
|
|
3
|
-
*/
|
|
4
|
-
export function makeConsistencyKey(documentId, scope, branch) {
|
|
5
|
-
return `${documentId}:${scope}:${branch}`;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Tracks operation indexes for documents and provides read-after-write consistency guarantees.
|
|
9
|
-
* Maintains an in-memory map of the latest operation index for each (documentId, scope, branch) tuple.
|
|
10
|
-
*/
|
|
11
|
-
export class ConsistencyTracker {
|
|
12
|
-
state = new Map();
|
|
13
|
-
waiters = [];
|
|
14
|
-
update(coordinates) {
|
|
15
|
-
const deduplicated = this.deduplicateCoordinates(coordinates);
|
|
16
|
-
for (let i = 0; i < deduplicated.length; i++) {
|
|
17
|
-
const coord = deduplicated[i];
|
|
18
|
-
const key = makeConsistencyKey(coord.documentId, coord.scope, coord.branch);
|
|
19
|
-
const current = this.state.get(key);
|
|
20
|
-
if (current === undefined || coord.operationIndex > current) {
|
|
21
|
-
this.state.set(key, coord.operationIndex);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
this.checkWaiters();
|
|
25
|
-
}
|
|
26
|
-
getLatest(key) {
|
|
27
|
-
return this.state.get(key);
|
|
28
|
-
}
|
|
29
|
-
waitFor(coordinates, timeoutMs, signal) {
|
|
30
|
-
if (signal?.aborted) {
|
|
31
|
-
return Promise.reject(new Error("Operation aborted"));
|
|
32
|
-
}
|
|
33
|
-
if (this.areCoordinatesSatisfied(coordinates)) {
|
|
34
|
-
return Promise.resolve();
|
|
35
|
-
}
|
|
36
|
-
return new Promise((resolve, reject) => {
|
|
37
|
-
const waiter = {
|
|
38
|
-
coordinates,
|
|
39
|
-
resolve,
|
|
40
|
-
reject,
|
|
41
|
-
signal,
|
|
42
|
-
};
|
|
43
|
-
if (timeoutMs !== undefined) {
|
|
44
|
-
waiter.timeoutId = setTimeout(() => {
|
|
45
|
-
this.removeWaiter(waiter);
|
|
46
|
-
reject(new Error(`Consistency wait timed out after ${timeoutMs}ms`));
|
|
47
|
-
}, timeoutMs);
|
|
48
|
-
}
|
|
49
|
-
if (signal) {
|
|
50
|
-
const abortHandler = () => {
|
|
51
|
-
this.removeWaiter(waiter);
|
|
52
|
-
reject(new Error("Operation aborted"));
|
|
53
|
-
};
|
|
54
|
-
signal.addEventListener("abort", abortHandler, { once: true });
|
|
55
|
-
}
|
|
56
|
-
this.waiters.push(waiter);
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
serialize() {
|
|
60
|
-
return Array.from(this.state.entries());
|
|
61
|
-
}
|
|
62
|
-
hydrate(entries) {
|
|
63
|
-
this.state.clear();
|
|
64
|
-
for (const [key, index] of entries) {
|
|
65
|
-
this.state.set(key, index);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
deduplicateCoordinates(coordinates) {
|
|
69
|
-
const map = new Map();
|
|
70
|
-
for (let i = 0; i < coordinates.length; i++) {
|
|
71
|
-
const coord = coordinates[i];
|
|
72
|
-
const key = makeConsistencyKey(coord.documentId, coord.scope, coord.branch);
|
|
73
|
-
const existing = map.get(key);
|
|
74
|
-
if (!existing || coord.operationIndex > existing.operationIndex) {
|
|
75
|
-
map.set(key, coord);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return Array.from(map.values());
|
|
79
|
-
}
|
|
80
|
-
areCoordinatesSatisfied(coordinates) {
|
|
81
|
-
for (let i = 0; i < coordinates.length; i++) {
|
|
82
|
-
const coord = coordinates[i];
|
|
83
|
-
const key = makeConsistencyKey(coord.documentId, coord.scope, coord.branch);
|
|
84
|
-
const latest = this.state.get(key);
|
|
85
|
-
if (latest === undefined || latest < coord.operationIndex) {
|
|
86
|
-
return false;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
return true;
|
|
90
|
-
}
|
|
91
|
-
checkWaiters() {
|
|
92
|
-
const satisfiedWaiters = [];
|
|
93
|
-
const unsatisfiedWaiters = [];
|
|
94
|
-
for (const waiter of this.waiters) {
|
|
95
|
-
if (waiter.signal?.aborted) {
|
|
96
|
-
continue;
|
|
97
|
-
}
|
|
98
|
-
if (this.areCoordinatesSatisfied(waiter.coordinates)) {
|
|
99
|
-
satisfiedWaiters.push(waiter);
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
unsatisfiedWaiters.push(waiter);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
this.waiters = unsatisfiedWaiters;
|
|
106
|
-
for (const waiter of satisfiedWaiters) {
|
|
107
|
-
if (waiter.timeoutId !== undefined) {
|
|
108
|
-
clearTimeout(waiter.timeoutId);
|
|
109
|
-
}
|
|
110
|
-
waiter.resolve();
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
removeWaiter(waiter) {
|
|
114
|
-
const index = this.waiters.indexOf(waiter);
|
|
115
|
-
if (index !== -1) {
|
|
116
|
-
this.waiters.splice(index, 1);
|
|
117
|
-
}
|
|
118
|
-
if (waiter.timeoutId !== undefined) {
|
|
119
|
-
clearTimeout(waiter.timeoutId);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
//# sourceMappingURL=consistency-tracker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"consistency-tracker.js","sourceRoot":"","sources":["../../../src/shared/consistency-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export interface ParsedDriveUrl {
|
|
2
|
-
url: string;
|
|
3
|
-
driveId: string;
|
|
4
|
-
graphqlEndpoint: string;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* Parse a drive URL to extract drive ID and construct GraphQL endpoint.
|
|
8
|
-
* e.g., "http://localhost:4001/d/abc123" -> { driveId: "abc123", graphqlEndpoint: "http://localhost:4001/graphql/r" }
|
|
9
|
-
*/
|
|
10
|
-
export declare function parseDriveUrl(url: string): ParsedDriveUrl;
|
|
11
|
-
/**
|
|
12
|
-
* Extract drive ID from a drive URL.
|
|
13
|
-
*/
|
|
14
|
-
export declare function driveIdFromUrl(url: string): string;
|
|
15
|
-
//# sourceMappingURL=drive-url.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drive-url.d.ts","sourceRoot":"","sources":["../../../src/shared/drive-url.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAKzD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Parse a drive URL to extract drive ID and construct GraphQL endpoint.
|
|
3
|
-
* e.g., "http://localhost:4001/d/abc123" -> { driveId: "abc123", graphqlEndpoint: "http://localhost:4001/graphql/r" }
|
|
4
|
-
*/
|
|
5
|
-
export function parseDriveUrl(url) {
|
|
6
|
-
const parsedUrl = new URL(url);
|
|
7
|
-
const driveId = url.split("/").pop() ?? "";
|
|
8
|
-
const graphqlEndpoint = `${parsedUrl.protocol}//${parsedUrl.host}/graphql/r`;
|
|
9
|
-
return { url, driveId, graphqlEndpoint };
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Extract drive ID from a drive URL.
|
|
13
|
-
*/
|
|
14
|
-
export function driveIdFromUrl(url) {
|
|
15
|
-
return url.split("/").pop() ?? "";
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=drive-url.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drive-url.js","sourceRoot":"","sources":["../../../src/shared/drive-url.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IAC3C,MAAM,eAAe,GAAG,GAAG,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,IAAI,YAAY,CAAC;IAC7E,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;AACpC,CAAC"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Error thrown when attempting to access a deleted document.
|
|
3
|
-
*/
|
|
4
|
-
export declare class DocumentDeletedError extends Error {
|
|
5
|
-
readonly documentId: string;
|
|
6
|
-
readonly deletedAtUtcIso: string | null;
|
|
7
|
-
constructor(documentId: string, deletedAtUtcIso?: string | null);
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Error thrown when attempting to add operations before CREATE_DOCUMENT.
|
|
11
|
-
*/
|
|
12
|
-
export declare class CreateDocumentRequiredError extends Error {
|
|
13
|
-
readonly documentId: string;
|
|
14
|
-
readonly scope: string;
|
|
15
|
-
constructor(documentId: string, scope: string);
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Error thrown when an operation has an invalid signature.
|
|
19
|
-
*/
|
|
20
|
-
export declare class InvalidSignatureError extends Error {
|
|
21
|
-
readonly documentId: string;
|
|
22
|
-
readonly reason: string;
|
|
23
|
-
constructor(documentId: string, reason: string);
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Error thrown when attempting to downgrade a document version.
|
|
27
|
-
*/
|
|
28
|
-
export declare class DowngradeNotSupportedError extends Error {
|
|
29
|
-
readonly documentType: string;
|
|
30
|
-
readonly fromVersion: number;
|
|
31
|
-
readonly toVersion: number;
|
|
32
|
-
constructor(documentType: string, fromVersion: number, toVersion: number);
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Error thrown when an upgrade manifest is required but not registered.
|
|
36
|
-
*/
|
|
37
|
-
export declare class UpgradeManifestNotFoundError extends Error {
|
|
38
|
-
readonly documentType: string;
|
|
39
|
-
constructor(documentType: string);
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/shared/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEnC,UAAU,EAAE,MAAM,EAAE,eAAe,GAAE,MAAM,GAAG,IAAW;CAYtE;AAED;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,KAAK,EAAE,MAAM,CAAC;gBAElB,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAU9C;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAQ/C;AAED;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAEtB,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAWzE;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,SAAgB,YAAY,EAAE,MAAM,CAAC;gBAEzB,YAAY,EAAE,MAAM;CAOjC"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Error thrown when attempting to access a deleted document.
|
|
3
|
-
*/
|
|
4
|
-
export class DocumentDeletedError extends Error {
|
|
5
|
-
documentId;
|
|
6
|
-
deletedAtUtcIso;
|
|
7
|
-
constructor(documentId, deletedAtUtcIso = null) {
|
|
8
|
-
const message = deletedAtUtcIso
|
|
9
|
-
? `Document ${documentId} was deleted at ${deletedAtUtcIso}`
|
|
10
|
-
: `Document ${documentId} has been deleted`;
|
|
11
|
-
super(message);
|
|
12
|
-
this.name = "DocumentDeletedError";
|
|
13
|
-
this.documentId = documentId;
|
|
14
|
-
this.deletedAtUtcIso = deletedAtUtcIso;
|
|
15
|
-
Error.captureStackTrace(this, DocumentDeletedError);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Error thrown when attempting to add operations before CREATE_DOCUMENT.
|
|
20
|
-
*/
|
|
21
|
-
export class CreateDocumentRequiredError extends Error {
|
|
22
|
-
documentId;
|
|
23
|
-
scope;
|
|
24
|
-
constructor(documentId, scope) {
|
|
25
|
-
const message = `Document ${documentId} requires a CREATE_DOCUMENT operation at revision 0 in the "document" scope before operations can be added to scope "${scope}"`;
|
|
26
|
-
super(message);
|
|
27
|
-
this.name = "CreateDocumentRequiredError";
|
|
28
|
-
this.documentId = documentId;
|
|
29
|
-
this.scope = scope;
|
|
30
|
-
Error.captureStackTrace(this, CreateDocumentRequiredError);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Error thrown when an operation has an invalid signature.
|
|
35
|
-
*/
|
|
36
|
-
export class InvalidSignatureError extends Error {
|
|
37
|
-
documentId;
|
|
38
|
-
reason;
|
|
39
|
-
constructor(documentId, reason) {
|
|
40
|
-
super(`Invalid signature in document ${documentId}: ${reason}`);
|
|
41
|
-
this.name = "InvalidSignatureError";
|
|
42
|
-
this.documentId = documentId;
|
|
43
|
-
this.reason = reason;
|
|
44
|
-
Error.captureStackTrace(this, InvalidSignatureError);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Error thrown when attempting to downgrade a document version.
|
|
49
|
-
*/
|
|
50
|
-
export class DowngradeNotSupportedError extends Error {
|
|
51
|
-
documentType;
|
|
52
|
-
fromVersion;
|
|
53
|
-
toVersion;
|
|
54
|
-
constructor(documentType, fromVersion, toVersion) {
|
|
55
|
-
super(`Downgrade not supported for ${documentType}: cannot upgrade from version ${fromVersion} to ${toVersion}`);
|
|
56
|
-
this.name = "DowngradeNotSupportedError";
|
|
57
|
-
this.documentType = documentType;
|
|
58
|
-
this.fromVersion = fromVersion;
|
|
59
|
-
this.toVersion = toVersion;
|
|
60
|
-
Error.captureStackTrace(this, DowngradeNotSupportedError);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Error thrown when an upgrade manifest is required but not registered.
|
|
65
|
-
*/
|
|
66
|
-
export class UpgradeManifestNotFoundError extends Error {
|
|
67
|
-
documentType;
|
|
68
|
-
constructor(documentType) {
|
|
69
|
-
super(`No upgrade manifest registered for document type: ${documentType}`);
|
|
70
|
-
this.name = "UpgradeManifestNotFoundError";
|
|
71
|
-
this.documentType = documentType;
|
|
72
|
-
Error.captureStackTrace(this, UpgradeManifestNotFoundError);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/shared/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7B,UAAU,CAAS;IACnB,eAAe,CAAgB;IAE/C,YAAY,UAAkB,EAAE,kBAAiC,IAAI;QACnE,MAAM,OAAO,GAAG,eAAe;YAC7B,CAAC,CAAC,YAAY,UAAU,mBAAmB,eAAe,EAAE;YAC5D,CAAC,CAAC,YAAY,UAAU,mBAAmB,CAAC;QAE9C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QAEvC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;IACtD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IACpC,UAAU,CAAS;IACnB,KAAK,CAAS;IAE9B,YAAY,UAAkB,EAAE,KAAa;QAC3C,MAAM,OAAO,GAAG,YAAY,UAAU,wHAAwH,KAAK,GAAG,CAAC;QAEvK,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;IAC7D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9B,UAAU,CAAS;IACnB,MAAM,CAAS;IAE/B,YAAY,UAAkB,EAAE,MAAc;QAC5C,KAAK,CAAC,iCAAiC,UAAU,KAAK,MAAM,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IACvD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IACnC,YAAY,CAAS;IACrB,WAAW,CAAS;IACpB,SAAS,CAAS;IAElC,YAAY,YAAoB,EAAE,WAAmB,EAAE,SAAiB;QACtE,KAAK,CACH,+BAA+B,YAAY,iCAAiC,WAAW,OAAO,SAAS,EAAE,CAC1G,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;IAC5D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACrC,YAAY,CAAS;IAErC,YAAY,YAAoB;QAC9B,KAAK,CAAC,qDAAqD,YAAY,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;IAC9D,CAAC;CACF"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { ShutdownStatus } from "./types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Factory method to create a ShutdownStatus object
|
|
4
|
-
*
|
|
5
|
-
* @param isShutdown - Initial shutdown state
|
|
6
|
-
* @returns A ShutdownStatus object with a getter for the shutdown state
|
|
7
|
-
*/
|
|
8
|
-
export declare function createShutdownStatus(isShutdown: boolean): ShutdownStatus;
|
|
9
|
-
/**
|
|
10
|
-
* Factory method to create a ShutdownStatus that can be updated
|
|
11
|
-
*
|
|
12
|
-
* @param initialState - Initial shutdown state (default: false)
|
|
13
|
-
* @returns A tuple of [ShutdownStatus, setter function]
|
|
14
|
-
*/
|
|
15
|
-
export declare function createMutableShutdownStatus(initialState?: boolean): [ShutdownStatus, (value: boolean) => void];
|
|
16
|
-
//# sourceMappingURL=factories.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../../src/shared/factories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,OAAO,GAAG,cAAc,CAQxE;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,YAAY,UAAQ,GACnB,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,CAc5C"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Factory method to create a ShutdownStatus object
|
|
3
|
-
*
|
|
4
|
-
* @param isShutdown - Initial shutdown state
|
|
5
|
-
* @returns A ShutdownStatus object with a getter for the shutdown state
|
|
6
|
-
*/
|
|
7
|
-
export function createShutdownStatus(isShutdown) {
|
|
8
|
-
const shutdownState = isShutdown;
|
|
9
|
-
return {
|
|
10
|
-
get isShutdown() {
|
|
11
|
-
return shutdownState;
|
|
12
|
-
},
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Factory method to create a ShutdownStatus that can be updated
|
|
17
|
-
*
|
|
18
|
-
* @param initialState - Initial shutdown state (default: false)
|
|
19
|
-
* @returns A tuple of [ShutdownStatus, setter function]
|
|
20
|
-
*/
|
|
21
|
-
export function createMutableShutdownStatus(initialState = false) {
|
|
22
|
-
let shutdownState = initialState;
|
|
23
|
-
const status = {
|
|
24
|
-
get isShutdown() {
|
|
25
|
-
return shutdownState;
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
const setShutdown = (value) => {
|
|
29
|
-
shutdownState = value;
|
|
30
|
-
};
|
|
31
|
-
return [status, setShutdown];
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=factories.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"factories.js","sourceRoot":"","sources":["../../../src/shared/factories.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAmB;IACtD,MAAM,aAAa,GAAG,UAAU,CAAC;IAEjC,OAAO;QACL,IAAI,UAAU;YACZ,OAAO,aAAa,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CACzC,YAAY,GAAG,KAAK;IAEpB,IAAI,aAAa,GAAG,YAAY,CAAC;IAEjC,MAAM,MAAM,GAAmB;QAC7B,IAAI,UAAU;YACZ,OAAO,aAAa,CAAC;QACvB,CAAC;KACF,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,EAAE;QACrC,aAAa,GAAG,KAAK,CAAC;IACxB,CAAC,CAAC;IAEF,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAC/B,CAAC"}
|