@astrale-os/kernel-client 0.5.1 → 0.6.0-beta.10
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/auth/auth.d.ts +18 -0
- package/dist/auth/auth.js +15 -0
- package/dist/auth/authorization.d.ts +13 -0
- package/dist/auth/authorization.js +17 -0
- package/dist/auth/credential.d.ts +19 -0
- package/dist/auth/credential.js +21 -0
- package/dist/auth/identity.d.ts +14 -0
- package/dist/auth/identity.js +15 -0
- package/dist/auth/index.d.ts +6 -16
- package/dist/auth/index.js +5 -10
- package/dist/auth/provision.d.ts +8 -0
- package/dist/auth/provision.js +10 -0
- package/dist/client/admission.d.ts +4 -0
- package/dist/client/admission.js +34 -0
- package/dist/client/client.d.ts +24 -109
- package/dist/client/client.js +80 -381
- package/dist/client/credential.d.ts +12 -0
- package/dist/client/credential.js +51 -0
- package/dist/client/index.d.ts +6 -0
- package/dist/client/index.js +4 -0
- package/dist/client/request.d.ts +26 -0
- package/dist/client/request.js +100 -0
- package/dist/client/result.d.ts +35 -0
- package/dist/client/result.js +28 -0
- package/dist/client/routing-control.d.ts +10 -0
- package/dist/client/routing-control.js +23 -0
- package/dist/errors/client-error.d.ts +3 -0
- package/dist/errors/client-error.js +8 -0
- package/dist/errors/index.d.ts +7 -6
- package/dist/errors/index.js +7 -4
- package/dist/errors/miss-error.d.ts +8 -0
- package/dist/errors/miss-error.js +10 -0
- package/dist/errors/protocol-error.d.ts +9 -0
- package/dist/errors/protocol-error.js +9 -0
- package/dist/errors/response-error.d.ts +11 -0
- package/dist/errors/response-error.js +16 -0
- package/dist/errors/session-error.d.ts +8 -20
- package/dist/errors/session-error.js +6 -22
- package/dist/errors/stale-route-error.d.ts +9 -0
- package/dist/errors/stale-route-error.js +12 -0
- package/dist/errors/transport-error.d.ts +30 -0
- package/dist/errors/transport-error.js +18 -0
- package/dist/graph/domain/binding.d.ts +22 -0
- package/dist/graph/domain/binding.js +123 -0
- package/dist/graph/domain/domain.typecheck.d.ts +1 -0
- package/dist/graph/domain/domain.typecheck.js +139 -0
- package/dist/graph/domain/index.d.ts +3 -0
- package/dist/graph/domain/index.js +1 -0
- package/dist/graph/domain/model.d.ts +18 -0
- package/dist/graph/domain/model.js +1 -0
- package/dist/graph/domain/page.d.ts +23 -0
- package/dist/graph/domain/page.js +42 -0
- package/dist/graph/domain/project.d.ts +8 -0
- package/dist/graph/domain/project.js +120 -0
- package/dist/graph/domain/provenance.d.ts +6 -0
- package/dist/graph/domain/provenance.js +11 -0
- package/dist/graph/errors.d.ts +8 -0
- package/dist/graph/errors.js +14 -0
- package/dist/graph/graph.d.ts +26 -0
- package/dist/graph/graph.js +18 -0
- package/dist/graph/index.d.ts +8 -26
- package/dist/graph/index.js +6 -21
- package/dist/graph/mutation.d.ts +5 -0
- package/dist/graph/mutation.js +17 -0
- package/dist/graph/page/index.d.ts +2 -0
- package/dist/graph/page/index.js +1 -0
- package/dist/graph/page/neighbors.d.ts +9 -0
- package/dist/graph/page/neighbors.js +34 -0
- package/dist/graph/page/page.d.ts +37 -0
- package/dist/graph/page/page.js +55 -0
- package/dist/graph/page-contract.d.ts +13 -0
- package/dist/graph/page-contract.js +1 -0
- package/dist/graph/provenance.d.ts +12 -0
- package/dist/graph/provenance.js +37 -0
- package/dist/graph/query.d.ts +4 -0
- package/dist/graph/query.js +69 -0
- package/dist/graph/read.d.ts +6 -0
- package/dist/graph/read.js +17 -0
- package/dist/index.d.ts +6 -25
- package/dist/index.js +6 -21
- package/dist/pacer/batcher/batcher.d.ts +7 -0
- package/dist/pacer/batcher/batcher.js +13 -0
- package/dist/pacer/batcher/defaults.d.ts +2 -0
- package/dist/pacer/batcher/defaults.js +2 -0
- package/dist/pacer/batcher/index.d.ts +1 -0
- package/dist/pacer/batcher/index.js +1 -0
- package/dist/pacer/index.d.ts +4 -10
- package/dist/pacer/index.js +4 -11
- package/dist/pacer/limiter/defaults.d.ts +2 -0
- package/dist/pacer/limiter/defaults.js +2 -0
- package/dist/pacer/limiter/index.d.ts +1 -0
- package/dist/pacer/limiter/index.js +1 -0
- package/dist/pacer/limiter/limiter.d.ts +7 -0
- package/dist/pacer/limiter/limiter.js +14 -0
- package/dist/pacer/queue/defaults.d.ts +1 -0
- package/dist/pacer/queue/defaults.js +1 -0
- package/dist/pacer/queue/index.d.ts +1 -0
- package/dist/pacer/queue/index.js +1 -0
- package/dist/pacer/queue/queue.d.ts +6 -0
- package/dist/pacer/queue/queue.js +12 -0
- package/dist/pacer/retry/defaults.d.ts +6 -0
- package/dist/pacer/retry/defaults.js +16 -0
- package/dist/pacer/retry/index.d.ts +1 -0
- package/dist/pacer/retry/index.js +1 -0
- package/dist/pacer/retry/retry.d.ts +9 -0
- package/dist/pacer/retry/retry.js +55 -0
- package/dist/pool/index.d.ts +2 -4
- package/dist/pool/index.js +0 -2
- package/dist/pool/pool.d.ts +19 -59
- package/dist/pool/pool.js +46 -64
- package/dist/pool/target.d.ts +15 -0
- package/dist/pool/target.js +49 -0
- package/dist/schema/admission.d.ts +12 -0
- package/dist/schema/admission.js +17 -0
- package/dist/schema/contracts.d.ts +12 -0
- package/dist/schema/contracts.js +1 -0
- package/dist/schema/index.d.ts +3 -16
- package/dist/schema/index.js +2 -12
- package/dist/schema/introspection.d.ts +5 -0
- package/dist/schema/introspection.js +15 -0
- package/dist/schema/operation.d.ts +5 -0
- package/dist/schema/operation.js +9 -0
- package/dist/schema/schema.d.ts +19 -0
- package/dist/schema/schema.js +43 -0
- package/dist/session/bound.d.ts +42 -9
- package/dist/session/bound.js +70 -37
- package/dist/session/context/control.d.ts +5 -0
- package/dist/session/context/control.js +17 -0
- package/dist/session/context/index.d.ts +4 -0
- package/dist/session/context/index.js +4 -0
- package/dist/session/context/limits.d.ts +7 -0
- package/dist/session/context/limits.js +18 -0
- package/dist/session/context/operation.d.ts +19 -0
- package/dist/session/context/operation.js +72 -0
- package/dist/session/context/policy.d.ts +11 -0
- package/dist/session/context/policy.js +69 -0
- package/dist/session/discovery/bundle.d.ts +17 -0
- package/dist/session/discovery/bundle.js +55 -0
- package/dist/session/discovery/discovery.d.ts +19 -0
- package/dist/session/discovery/discovery.js +55 -0
- package/dist/session/discovery/index.d.ts +20 -0
- package/dist/session/discovery/index.js +15 -0
- package/dist/session/discovery/publication.d.ts +23 -0
- package/dist/session/discovery/publication.js +123 -0
- package/dist/session/discovery/snapshot.d.ts +12 -0
- package/dist/session/discovery/snapshot.js +3 -0
- package/dist/session/discovery/transport.d.ts +6 -0
- package/dist/session/discovery/transport.js +13 -0
- package/dist/session/index.d.ts +10 -16
- package/dist/session/index.js +3 -9
- package/dist/session/reference.d.ts +36 -0
- package/dist/session/reference.js +74 -0
- package/dist/session/routing/auth.d.ts +18 -0
- package/dist/session/routing/auth.js +39 -0
- package/dist/session/routing/cache.d.ts +20 -0
- package/dist/session/routing/cache.js +115 -0
- package/dist/session/routing/dispatch.d.ts +34 -0
- package/dist/session/routing/dispatch.js +137 -0
- package/dist/session/routing/envelope.d.ts +13 -0
- package/dist/session/routing/envelope.js +35 -0
- package/dist/session/routing/expectation.d.ts +6 -0
- package/dist/session/routing/expectation.js +1 -0
- package/dist/session/routing/index.d.ts +6 -0
- package/dist/session/routing/index.js +5 -0
- package/dist/session/routing/request.d.ts +8 -0
- package/dist/session/routing/request.js +25 -0
- package/dist/session/session.d.ts +67 -0
- package/dist/session/session.js +257 -0
- package/dist/session/session.typecheck.d.ts +1 -0
- package/dist/session/session.typecheck.js +31 -0
- package/dist/session/views/catalog.d.ts +15 -0
- package/dist/session/views/catalog.js +70 -0
- package/dist/session/views/index.d.ts +2 -0
- package/dist/session/views/index.js +2 -0
- package/dist/session/views/resolve.d.ts +11 -0
- package/dist/session/views/resolve.js +13 -0
- package/dist/store/entity-index.d.ts +22 -0
- package/dist/store/entity-index.js +94 -0
- package/dist/store/index.d.ts +1 -26
- package/dist/store/index.js +1 -19
- package/dist/store/memory.d.ts +46 -97
- package/dist/store/memory.js +346 -763
- package/dist/store/mutation.d.ts +5 -0
- package/dist/store/mutation.js +34 -0
- package/dist/store/observe.d.ts +3 -0
- package/dist/store/observe.js +17 -0
- package/dist/store/optimistic.d.ts +12 -0
- package/dist/store/optimistic.js +43 -0
- package/dist/store/query-key.d.ts +5 -0
- package/dist/store/query-key.js +22 -0
- package/dist/store/shape.d.ts +25 -0
- package/dist/store/shape.js +29 -0
- package/dist/store/store.d.ts +68 -0
- package/dist/store/store.js +144 -0
- package/dist/store/store.typecheck.d.ts +1 -0
- package/dist/store/store.typecheck.js +40 -0
- package/dist/transport/auto/decision.d.ts +22 -0
- package/dist/transport/auto/decision.js +48 -0
- package/dist/transport/auto/fallback.d.ts +16 -0
- package/dist/transport/auto/fallback.js +75 -0
- package/dist/transport/auto/index.d.ts +2 -0
- package/dist/transport/auto/index.js +2 -0
- package/dist/transport/auto/transport.d.ts +37 -0
- package/dist/transport/auto/transport.js +140 -0
- package/dist/transport/auto/warning.d.ts +13 -0
- package/dist/transport/auto/warning.js +18 -0
- package/dist/transport/deadline.d.ts +11 -0
- package/dist/transport/deadline.js +39 -0
- package/dist/transport/failure.d.ts +7 -0
- package/dist/transport/failure.js +9 -0
- package/dist/transport/http/index.d.ts +1 -0
- package/dist/transport/http/index.js +1 -0
- package/dist/transport/http/response.d.ts +8 -0
- package/dist/transport/http/response.js +79 -0
- package/dist/transport/http/stream.d.ts +26 -0
- package/dist/transport/http/stream.js +214 -0
- package/dist/transport/http/transport.d.ts +32 -0
- package/dist/transport/http/transport.js +343 -0
- package/dist/transport/index.d.ts +2 -8
- package/dist/transport/index.js +1 -6
- package/dist/transport/transport.d.ts +34 -0
- package/dist/transport/transport.js +1 -0
- package/dist/transport/websocket/connection.d.ts +38 -0
- package/dist/transport/websocket/connection.js +284 -0
- package/dist/transport/websocket/exchange.d.ts +46 -0
- package/dist/transport/websocket/exchange.js +300 -0
- package/dist/transport/websocket/index.d.ts +1 -0
- package/dist/transport/websocket/index.js +1 -0
- package/dist/transport/websocket/transport.d.ts +46 -0
- package/dist/transport/websocket/transport.js +164 -0
- package/package.json +41 -35
- package/dist/auth/addressing.d.ts +0 -32
- package/dist/auth/addressing.d.ts.map +0 -1
- package/dist/auth/addressing.js +0 -36
- package/dist/auth/addressing.js.map +0 -1
- package/dist/auth/api.d.ts +0 -70
- package/dist/auth/api.d.ts.map +0 -1
- package/dist/auth/api.js +0 -36
- package/dist/auth/api.js.map +0 -1
- package/dist/auth/batch.d.ts +0 -18
- package/dist/auth/batch.d.ts.map +0 -1
- package/dist/auth/batch.js +0 -25
- package/dist/auth/batch.js.map +0 -1
- package/dist/auth/composition.d.ts +0 -27
- package/dist/auth/composition.d.ts.map +0 -1
- package/dist/auth/composition.js +0 -83
- package/dist/auth/composition.js.map +0 -1
- package/dist/auth/defaults.d.ts +0 -3
- package/dist/auth/defaults.d.ts.map +0 -1
- package/dist/auth/defaults.js +0 -3
- package/dist/auth/defaults.js.map +0 -1
- package/dist/auth/index.d.ts.map +0 -1
- package/dist/auth/index.js.map +0 -1
- package/dist/auth/minting.d.ts +0 -35
- package/dist/auth/minting.d.ts.map +0 -1
- package/dist/auth/minting.js +0 -31
- package/dist/auth/minting.js.map +0 -1
- package/dist/auth/permissions.d.ts +0 -55
- package/dist/auth/permissions.d.ts.map +0 -1
- package/dist/auth/permissions.js +0 -47
- package/dist/auth/permissions.js.map +0 -1
- package/dist/auth/principal.d.ts +0 -19
- package/dist/auth/principal.d.ts.map +0 -1
- package/dist/auth/principal.js +0 -46
- package/dist/auth/principal.js.map +0 -1
- package/dist/auth/shorthands.d.ts +0 -19
- package/dist/auth/shorthands.d.ts.map +0 -1
- package/dist/auth/shorthands.js +0 -27
- package/dist/auth/shorthands.js.map +0 -1
- package/dist/client/batch.d.ts +0 -26
- package/dist/client/batch.d.ts.map +0 -1
- package/dist/client/batch.js +0 -8
- package/dist/client/batch.js.map +0 -1
- package/dist/client/bound.d.ts +0 -27
- package/dist/client/bound.d.ts.map +0 -1
- package/dist/client/bound.js +0 -14
- package/dist/client/bound.js.map +0 -1
- package/dist/client/client.d.ts.map +0 -1
- package/dist/client/client.js.map +0 -1
- package/dist/client/config.d.ts +0 -112
- package/dist/client/config.d.ts.map +0 -1
- package/dist/client/config.js +0 -10
- package/dist/client/config.js.map +0 -1
- package/dist/client/fn-map.d.ts +0 -61
- package/dist/client/fn-map.d.ts.map +0 -1
- package/dist/client/fn-map.js +0 -2
- package/dist/client/fn-map.js.map +0 -1
- package/dist/client/freeze.d.ts +0 -32
- package/dist/client/freeze.d.ts.map +0 -1
- package/dist/client/freeze.js +0 -42
- package/dist/client/freeze.js.map +0 -1
- package/dist/client/hooks.d.ts +0 -49
- package/dist/client/hooks.d.ts.map +0 -1
- package/dist/client/hooks.js +0 -2
- package/dist/client/hooks.js.map +0 -1
- package/dist/errors/errors.d.ts +0 -156
- package/dist/errors/errors.d.ts.map +0 -1
- package/dist/errors/errors.js +0 -238
- package/dist/errors/errors.js.map +0 -1
- package/dist/errors/guards.d.ts +0 -39
- package/dist/errors/guards.d.ts.map +0 -1
- package/dist/errors/guards.js +0 -127
- package/dist/errors/guards.js.map +0 -1
- package/dist/errors/index.d.ts.map +0 -1
- package/dist/errors/index.js.map +0 -1
- package/dist/errors/session-error.d.ts.map +0 -1
- package/dist/errors/session-error.js.map +0 -1
- package/dist/graph/api.d.ts +0 -85
- package/dist/graph/api.d.ts.map +0 -1
- package/dist/graph/api.js +0 -66
- package/dist/graph/api.js.map +0 -1
- package/dist/graph/index.d.ts.map +0 -1
- package/dist/graph/index.js.map +0 -1
- package/dist/graph/mutate/builder.d.ts +0 -108
- package/dist/graph/mutate/builder.d.ts.map +0 -1
- package/dist/graph/mutate/builder.js +0 -127
- package/dist/graph/mutate/builder.js.map +0 -1
- package/dist/graph/mutate/index.d.ts +0 -5
- package/dist/graph/mutate/index.d.ts.map +0 -1
- package/dist/graph/mutate/index.js +0 -3
- package/dist/graph/mutate/index.js.map +0 -1
- package/dist/graph/mutate/shorthands.d.ts +0 -42
- package/dist/graph/mutate/shorthands.d.ts.map +0 -1
- package/dist/graph/mutate/shorthands.js +0 -65
- package/dist/graph/mutate/shorthands.js.map +0 -1
- package/dist/graph/named.d.ts +0 -38
- package/dist/graph/named.d.ts.map +0 -1
- package/dist/graph/named.js +0 -47
- package/dist/graph/named.js.map +0 -1
- package/dist/graph/query/builder.d.ts +0 -116
- package/dist/graph/query/builder.d.ts.map +0 -1
- package/dist/graph/query/builder.js +0 -136
- package/dist/graph/query/builder.js.map +0 -1
- package/dist/graph/query/edge-ref.d.ts +0 -13
- package/dist/graph/query/edge-ref.d.ts.map +0 -1
- package/dist/graph/query/edge-ref.js +0 -56
- package/dist/graph/query/edge-ref.js.map +0 -1
- package/dist/graph/query/edges.d.ts +0 -10
- package/dist/graph/query/edges.d.ts.map +0 -1
- package/dist/graph/query/edges.js +0 -11
- package/dist/graph/query/edges.js.map +0 -1
- package/dist/graph/query/errors.d.ts +0 -31
- package/dist/graph/query/errors.d.ts.map +0 -1
- package/dist/graph/query/errors.js +0 -28
- package/dist/graph/query/errors.js.map +0 -1
- package/dist/graph/query/filter.d.ts +0 -50
- package/dist/graph/query/filter.d.ts.map +0 -1
- package/dist/graph/query/filter.js +0 -32
- package/dist/graph/query/filter.js.map +0 -1
- package/dist/graph/query/index.d.ts +0 -12
- package/dist/graph/query/index.d.ts.map +0 -1
- package/dist/graph/query/index.js +0 -7
- package/dist/graph/query/index.js.map +0 -1
- package/dist/graph/query/lower.d.ts +0 -30
- package/dist/graph/query/lower.d.ts.map +0 -1
- package/dist/graph/query/lower.js +0 -171
- package/dist/graph/query/lower.js.map +0 -1
- package/dist/graph/query/shorthands.d.ts +0 -34
- package/dist/graph/query/shorthands.d.ts.map +0 -1
- package/dist/graph/query/shorthands.js +0 -71
- package/dist/graph/query/shorthands.js.map +0 -1
- package/dist/graph/query/traverse.d.ts +0 -59
- package/dist/graph/query/traverse.d.ts.map +0 -1
- package/dist/graph/query/traverse.js +0 -144
- package/dist/graph/query/traverse.js.map +0 -1
- package/dist/graph/reconcile/execute.d.ts +0 -8
- package/dist/graph/reconcile/execute.d.ts.map +0 -1
- package/dist/graph/reconcile/execute.js +0 -56
- package/dist/graph/reconcile/execute.js.map +0 -1
- package/dist/graph/reconcile/index.d.ts +0 -5
- package/dist/graph/reconcile/index.d.ts.map +0 -1
- package/dist/graph/reconcile/index.js +0 -3
- package/dist/graph/reconcile/index.js.map +0 -1
- package/dist/graph/reconcile/input.d.ts +0 -80
- package/dist/graph/reconcile/input.d.ts.map +0 -1
- package/dist/graph/reconcile/input.js +0 -5
- package/dist/graph/reconcile/input.js.map +0 -1
- package/dist/graph/reconcile/normalize.d.ts +0 -3
- package/dist/graph/reconcile/normalize.d.ts.map +0 -1
- package/dist/graph/reconcile/normalize.js +0 -144
- package/dist/graph/reconcile/normalize.js.map +0 -1
- package/dist/graph/reconcile/result.d.ts +0 -19
- package/dist/graph/reconcile/result.d.ts.map +0 -1
- package/dist/graph/reconcile/result.js +0 -95
- package/dist/graph/reconcile/result.js.map +0 -1
- package/dist/graph/reconcile/scope.d.ts +0 -6
- package/dist/graph/reconcile/scope.d.ts.map +0 -1
- package/dist/graph/reconcile/scope.js +0 -69
- package/dist/graph/reconcile/scope.js.map +0 -1
- package/dist/graph/result/envelope.d.ts +0 -37
- package/dist/graph/result/envelope.d.ts.map +0 -1
- package/dist/graph/result/envelope.js +0 -59
- package/dist/graph/result/envelope.js.map +0 -1
- package/dist/graph/result/index.d.ts +0 -6
- package/dist/graph/result/index.d.ts.map +0 -1
- package/dist/graph/result/index.js +0 -4
- package/dist/graph/result/index.js.map +0 -1
- package/dist/graph/result/next.d.ts +0 -16
- package/dist/graph/result/next.d.ts.map +0 -1
- package/dist/graph/result/next.js +0 -77
- package/dist/graph/result/next.js.map +0 -1
- package/dist/graph/result/paged.d.ts +0 -30
- package/dist/graph/result/paged.d.ts.map +0 -1
- package/dist/graph/result/paged.js +0 -41
- package/dist/graph/result/paged.js.map +0 -1
- package/dist/graph/wire.d.ts +0 -33
- package/dist/graph/wire.d.ts.map +0 -1
- package/dist/graph/wire.js +0 -16
- package/dist/graph/wire.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/pacer/batcher.d.ts +0 -11
- package/dist/pacer/batcher.d.ts.map +0 -1
- package/dist/pacer/batcher.js +0 -15
- package/dist/pacer/batcher.js.map +0 -1
- package/dist/pacer/defaults.d.ts +0 -18
- package/dist/pacer/defaults.d.ts.map +0 -1
- package/dist/pacer/defaults.js +0 -18
- package/dist/pacer/defaults.js.map +0 -1
- package/dist/pacer/index.d.ts.map +0 -1
- package/dist/pacer/index.js.map +0 -1
- package/dist/pacer/queue.d.ts +0 -11
- package/dist/pacer/queue.d.ts.map +0 -1
- package/dist/pacer/queue.js +0 -15
- package/dist/pacer/queue.js.map +0 -1
- package/dist/pacer/rate-limiter.d.ts +0 -11
- package/dist/pacer/rate-limiter.d.ts.map +0 -1
- package/dist/pacer/rate-limiter.js +0 -15
- package/dist/pacer/rate-limiter.js.map +0 -1
- package/dist/pacer/retry.d.ts +0 -14
- package/dist/pacer/retry.d.ts.map +0 -1
- package/dist/pacer/retry.js +0 -50
- package/dist/pacer/retry.js.map +0 -1
- package/dist/pool/errors.d.ts +0 -13
- package/dist/pool/errors.d.ts.map +0 -1
- package/dist/pool/errors.js +0 -16
- package/dist/pool/errors.js.map +0 -1
- package/dist/pool/index.d.ts.map +0 -1
- package/dist/pool/index.js.map +0 -1
- package/dist/pool/pool.d.ts.map +0 -1
- package/dist/pool/pool.js.map +0 -1
- package/dist/schema/bound/binder.d.ts +0 -49
- package/dist/schema/bound/binder.d.ts.map +0 -1
- package/dist/schema/bound/binder.js +0 -195
- package/dist/schema/bound/binder.js.map +0 -1
- package/dist/schema/bound/bound-node.d.ts +0 -105
- package/dist/schema/bound/bound-node.d.ts.map +0 -1
- package/dist/schema/bound/bound-node.js +0 -128
- package/dist/schema/bound/bound-node.js.map +0 -1
- package/dist/schema/bound/index.d.ts +0 -10
- package/dist/schema/bound/index.d.ts.map +0 -1
- package/dist/schema/bound/index.js +0 -5
- package/dist/schema/bound/index.js.map +0 -1
- package/dist/schema/bound/view.d.ts +0 -44
- package/dist/schema/bound/view.d.ts.map +0 -1
- package/dist/schema/bound/view.js +0 -117
- package/dist/schema/bound/view.js.map +0 -1
- package/dist/schema/bound/write-props.d.ts +0 -38
- package/dist/schema/bound/write-props.d.ts.map +0 -1
- package/dist/schema/bound/write-props.js +0 -2
- package/dist/schema/bound/write-props.js.map +0 -1
- package/dist/schema/call-args.d.ts +0 -6
- package/dist/schema/call-args.d.ts.map +0 -1
- package/dist/schema/call-args.js +0 -21
- package/dist/schema/call-args.js.map +0 -1
- package/dist/schema/class-proxy.d.ts +0 -11
- package/dist/schema/class-proxy.d.ts.map +0 -1
- package/dist/schema/class-proxy.js +0 -46
- package/dist/schema/class-proxy.js.map +0 -1
- package/dist/schema/extract.d.ts +0 -24
- package/dist/schema/extract.d.ts.map +0 -1
- package/dist/schema/extract.js +0 -45
- package/dist/schema/extract.js.map +0 -1
- package/dist/schema/from-entries.d.ts +0 -12
- package/dist/schema/from-entries.d.ts.map +0 -1
- package/dist/schema/from-entries.js +0 -39
- package/dist/schema/from-entries.js.map +0 -1
- package/dist/schema/index.d.ts.map +0 -1
- package/dist/schema/index.js.map +0 -1
- package/dist/schema/known-dispatch.d.ts +0 -6
- package/dist/schema/known-dispatch.d.ts.map +0 -1
- package/dist/schema/known-dispatch.js +0 -39
- package/dist/schema/known-dispatch.js.map +0 -1
- package/dist/schema/node-proxy.d.ts +0 -21
- package/dist/schema/node-proxy.d.ts.map +0 -1
- package/dist/schema/node-proxy.js +0 -75
- package/dist/schema/node-proxy.js.map +0 -1
- package/dist/schema/persistence.d.ts +0 -31
- package/dist/schema/persistence.d.ts.map +0 -1
- package/dist/schema/persistence.js +0 -2
- package/dist/schema/persistence.js.map +0 -1
- package/dist/schema/proxy-types.d.ts +0 -131
- package/dist/schema/proxy-types.d.ts.map +0 -1
- package/dist/schema/proxy-types.js +0 -2
- package/dist/schema/proxy-types.js.map +0 -1
- package/dist/schema/registry.d.ts +0 -50
- package/dist/schema/registry.d.ts.map +0 -1
- package/dist/schema/registry.js +0 -110
- package/dist/schema/registry.js.map +0 -1
- package/dist/schema/resolve.d.ts +0 -26
- package/dist/schema/resolve.d.ts.map +0 -1
- package/dist/schema/resolve.js +0 -27
- package/dist/schema/resolve.js.map +0 -1
- package/dist/schema/typed-client.d.ts +0 -10
- package/dist/schema/typed-client.d.ts.map +0 -1
- package/dist/schema/typed-client.js +0 -26
- package/dist/schema/typed-client.js.map +0 -1
- package/dist/schema/types.d.ts +0 -9
- package/dist/schema/types.d.ts.map +0 -1
- package/dist/schema/types.js +0 -2
- package/dist/schema/types.js.map +0 -1
- package/dist/session/bound.d.ts.map +0 -1
- package/dist/session/bound.js.map +0 -1
- package/dist/session/client-session.d.ts +0 -72
- package/dist/session/client-session.d.ts.map +0 -1
- package/dist/session/client-session.js +0 -673
- package/dist/session/client-session.js.map +0 -1
- package/dist/session/config.d.ts +0 -168
- package/dist/session/config.d.ts.map +0 -1
- package/dist/session/config.js +0 -2
- package/dist/session/config.js.map +0 -1
- package/dist/session/delegation/cache.d.ts +0 -139
- package/dist/session/delegation/cache.d.ts.map +0 -1
- package/dist/session/delegation/cache.js +0 -256
- package/dist/session/delegation/cache.js.map +0 -1
- package/dist/session/delegation/errors.d.ts +0 -44
- package/dist/session/delegation/errors.d.ts.map +0 -1
- package/dist/session/delegation/errors.js +0 -62
- package/dist/session/delegation/errors.js.map +0 -1
- package/dist/session/delegation/policy.d.ts +0 -183
- package/dist/session/delegation/policy.d.ts.map +0 -1
- package/dist/session/delegation/policy.js +0 -114
- package/dist/session/delegation/policy.js.map +0 -1
- package/dist/session/delegation/utils.d.ts +0 -4
- package/dist/session/delegation/utils.d.ts.map +0 -1
- package/dist/session/delegation/utils.js +0 -12
- package/dist/session/delegation/utils.js.map +0 -1
- package/dist/session/delegation-mint.d.ts +0 -13
- package/dist/session/delegation-mint.d.ts.map +0 -1
- package/dist/session/delegation-mint.js +0 -39
- package/dist/session/delegation-mint.js.map +0 -1
- package/dist/session/dispatch-routes.d.ts +0 -27
- package/dist/session/dispatch-routes.d.ts.map +0 -1
- package/dist/session/dispatch-routes.js +0 -77
- package/dist/session/dispatch-routes.js.map +0 -1
- package/dist/session/errors/index.d.ts +0 -6
- package/dist/session/errors/index.d.ts.map +0 -1
- package/dist/session/errors/index.js +0 -8
- package/dist/session/errors/index.js.map +0 -1
- package/dist/session/errors/session-errors.d.ts +0 -52
- package/dist/session/errors/session-errors.d.ts.map +0 -1
- package/dist/session/errors/session-errors.js +0 -70
- package/dist/session/errors/session-errors.js.map +0 -1
- package/dist/session/forward.d.ts +0 -15
- package/dist/session/forward.d.ts.map +0 -1
- package/dist/session/forward.js +0 -40
- package/dist/session/forward.js.map +0 -1
- package/dist/session/helpers.d.ts +0 -23
- package/dist/session/helpers.d.ts.map +0 -1
- package/dist/session/helpers.js +0 -56
- package/dist/session/helpers.js.map +0 -1
- package/dist/session/hooks.d.ts +0 -140
- package/dist/session/hooks.d.ts.map +0 -1
- package/dist/session/hooks.js +0 -2
- package/dist/session/hooks.js.map +0 -1
- package/dist/session/index.d.ts.map +0 -1
- package/dist/session/index.js.map +0 -1
- package/dist/session/redirect/errors.d.ts +0 -45
- package/dist/session/redirect/errors.d.ts.map +0 -1
- package/dist/session/redirect/errors.js +0 -52
- package/dist/session/redirect/errors.js.map +0 -1
- package/dist/session/redirect/policy.d.ts +0 -79
- package/dist/session/redirect/policy.d.ts.map +0 -1
- package/dist/session/redirect/policy.js +0 -69
- package/dist/session/redirect/policy.js.map +0 -1
- package/dist/session/types.d.ts +0 -54
- package/dist/session/types.d.ts.map +0 -1
- package/dist/session/types.js +0 -2
- package/dist/session/types.js.map +0 -1
- package/dist/store/canonicalize.d.ts +0 -44
- package/dist/store/canonicalize.d.ts.map +0 -1
- package/dist/store/canonicalize.js +0 -0
- package/dist/store/canonicalize.js.map +0 -1
- package/dist/store/entities.d.ts +0 -81
- package/dist/store/entities.d.ts.map +0 -1
- package/dist/store/entities.js +0 -202
- package/dist/store/entities.js.map +0 -1
- package/dist/store/index.d.ts.map +0 -1
- package/dist/store/index.js.map +0 -1
- package/dist/store/invalidate.d.ts +0 -66
- package/dist/store/invalidate.d.ts.map +0 -1
- package/dist/store/invalidate.js +0 -117
- package/dist/store/invalidate.js.map +0 -1
- package/dist/store/memory.d.ts.map +0 -1
- package/dist/store/memory.js.map +0 -1
- package/dist/store/overlay.d.ts +0 -118
- package/dist/store/overlay.d.ts.map +0 -1
- package/dist/store/overlay.js +0 -237
- package/dist/store/overlay.js.map +0 -1
- package/dist/store/schedule.d.ts +0 -31
- package/dist/store/schedule.d.ts.map +0 -1
- package/dist/store/schedule.js +0 -76
- package/dist/store/schedule.js.map +0 -1
- package/dist/store/shapes.d.ts +0 -92
- package/dist/store/shapes.d.ts.map +0 -1
- package/dist/store/shapes.js +0 -369
- package/dist/store/shapes.js.map +0 -1
- package/dist/store/types.d.ts +0 -168
- package/dist/store/types.d.ts.map +0 -1
- package/dist/store/types.js +0 -7
- package/dist/store/types.js.map +0 -1
- package/dist/transport/binary.d.ts +0 -15
- package/dist/transport/binary.d.ts.map +0 -1
- package/dist/transport/binary.js +0 -2
- package/dist/transport/binary.js.map +0 -1
- package/dist/transport/contract.d.ts +0 -58
- package/dist/transport/contract.d.ts.map +0 -1
- package/dist/transport/contract.js +0 -11
- package/dist/transport/contract.js.map +0 -1
- package/dist/transport/fetch.d.ts +0 -31
- package/dist/transport/fetch.d.ts.map +0 -1
- package/dist/transport/fetch.js +0 -78
- package/dist/transport/fetch.js.map +0 -1
- package/dist/transport/http-envelope.d.ts +0 -49
- package/dist/transport/http-envelope.d.ts.map +0 -1
- package/dist/transport/http-envelope.js +0 -418
- package/dist/transport/http-envelope.js.map +0 -1
- package/dist/transport/http-routed.d.ts +0 -61
- package/dist/transport/http-routed.d.ts.map +0 -1
- package/dist/transport/http-routed.js +0 -409
- package/dist/transport/http-routed.js.map +0 -1
- package/dist/transport/index.d.ts.map +0 -1
- package/dist/transport/index.js.map +0 -1
- package/dist/transport/request-id.d.ts +0 -9
- package/dist/transport/request-id.d.ts.map +0 -1
- package/dist/transport/request-id.js +0 -12
- package/dist/transport/request-id.js.map +0 -1
- package/dist/transport/ws-envelope.d.ts +0 -74
- package/dist/transport/ws-envelope.d.ts.map +0 -1
- package/dist/transport/ws-envelope.js +0 -567
- package/dist/transport/ws-envelope.js.map +0 -1
- package/dist/util/race-signal.d.ts +0 -12
- package/dist/util/race-signal.d.ts.map +0 -1
- package/dist/util/race-signal.js +0 -34
- package/dist/util/race-signal.js.map +0 -1
- package/dist/wire/controller.d.ts +0 -38
- package/dist/wire/controller.d.ts.map +0 -1
- package/dist/wire/controller.js +0 -38
- package/dist/wire/controller.js.map +0 -1
- package/dist/wire/index.d.ts +0 -7
- package/dist/wire/index.d.ts.map +0 -1
- package/dist/wire/index.js +0 -4
- package/dist/wire/index.js.map +0 -1
- package/dist/wire/meta.d.ts +0 -81
- package/dist/wire/meta.d.ts.map +0 -1
- package/dist/wire/meta.js +0 -44
- package/dist/wire/meta.js.map +0 -1
- package/dist/wire/sse.d.ts +0 -67
- package/dist/wire/sse.d.ts.map +0 -1
- package/dist/wire/sse.js +0 -170
- package/dist/wire/sse.js.map +0 -1
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import type { CallRedirection } from '@astrale-os/kernel-api';
|
|
2
|
-
/**
|
|
3
|
-
* Hop record ClientSession threads through every policy call. Each entry is a
|
|
4
|
-
* URL the call dispatched to and the timestamp at which it was reached;
|
|
5
|
-
* the initial target is `hops[0]`, the current hop is `hops[hops.length-1]`.
|
|
6
|
-
*/
|
|
7
|
-
export type RedirectHop = {
|
|
8
|
-
url: string;
|
|
9
|
-
at: number;
|
|
10
|
-
};
|
|
11
|
-
/**
|
|
12
|
-
* Policy decision returned by `RedirectPolicy.decide`.
|
|
13
|
-
*
|
|
14
|
-
* `{ follow: true }` follows to `redirection.url`. `{ follow: false,
|
|
15
|
-
* reason }` causes ClientSession to throw `RedirectRefusedError(redirection,
|
|
16
|
-
* reason)`.
|
|
17
|
-
*/
|
|
18
|
-
export type RedirectDecision = {
|
|
19
|
-
follow: true;
|
|
20
|
-
} | {
|
|
21
|
-
follow: false;
|
|
22
|
-
reason: string;
|
|
23
|
-
};
|
|
24
|
-
/**
|
|
25
|
-
* Decision surface for ClientSession's redirect follow loop. Spec §9.4.
|
|
26
|
-
*
|
|
27
|
-
* Owns ONLY the follow/refuse decision and reason attribution. Does NOT
|
|
28
|
-
* own the follow loop (ClientSession does, §8.1), hop-cap enforcement (ClientSession
|
|
29
|
-
* checks before calling `decide`), audience derivation (that's
|
|
30
|
-
* `DelegationPolicy`, §9.3), or schema persistence (ClientSession sequences it).
|
|
31
|
-
*/
|
|
32
|
-
export interface RedirectPolicy {
|
|
33
|
-
/**
|
|
34
|
-
* Decide whether to follow. `signal` propagates the caller's abort —
|
|
35
|
-
* implementations that await UI input MUST race against it.
|
|
36
|
-
*/
|
|
37
|
-
decide(redirection: CallRedirection, hops: ReadonlyArray<RedirectHop>, correlationId: string, signal: AbortSignal | undefined): RedirectDecision | Promise<RedirectDecision>;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Follow every redirect. Default when `ClientSessionConfig.redirect` is absent.
|
|
41
|
-
*
|
|
42
|
-
* Consumers who want to gate redirects on a URL allowlist use
|
|
43
|
-
* `allowlistPolicy`; consumers who want to prompt the user per hop use
|
|
44
|
-
* `promptPolicy`; consumers who want to refuse every redirect use
|
|
45
|
-
* `strictPolicy`.
|
|
46
|
-
*/
|
|
47
|
-
export declare function allowAllPolicy(): RedirectPolicy;
|
|
48
|
-
/**
|
|
49
|
-
* Refuse every redirect. Opt-in — when a consumer wants cross-kernel
|
|
50
|
-
* follow blocked entirely and every redirect surfaced as a
|
|
51
|
-
* `RedirectRefusedError`.
|
|
52
|
-
*/
|
|
53
|
-
export declare function strictPolicy(): RedirectPolicy;
|
|
54
|
-
/**
|
|
55
|
-
* Follow only URLs that the `allow` predicate returns true for.
|
|
56
|
-
*
|
|
57
|
-
* ```ts
|
|
58
|
-
* allowlistPolicy({
|
|
59
|
-
* allow: (url) => new URL(url).host.endsWith('.trusted.kernel'),
|
|
60
|
-
* })
|
|
61
|
-
* ```
|
|
62
|
-
*/
|
|
63
|
-
export declare function allowlistPolicy(opts: {
|
|
64
|
-
allow: (url: string) => boolean;
|
|
65
|
-
}): RedirectPolicy;
|
|
66
|
-
/**
|
|
67
|
-
* Ask the consumer for each redirect. The returned policy races the UI
|
|
68
|
-
* `onPrompt` call against the caller's `signal`, so aborting the
|
|
69
|
-
* top-level `session.call` cancels the prompt.
|
|
70
|
-
*
|
|
71
|
-
* `allow`, when provided, is a fast-path predicate that skips the
|
|
72
|
-
* prompt (for pre-approved URLs). Returning `false` from `allow` falls
|
|
73
|
-
* through to `onPrompt`.
|
|
74
|
-
*/
|
|
75
|
-
export declare function promptPolicy(opts: {
|
|
76
|
-
onPrompt: (redirection: CallRedirection, hops: ReadonlyArray<RedirectHop>) => Promise<boolean>;
|
|
77
|
-
allow?: (url: string) => boolean;
|
|
78
|
-
}): RedirectPolicy;
|
|
79
|
-
//# sourceMappingURL=policy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/session/redirect/policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAI7D;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAA;AAErD;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAEnF;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,MAAM,CACJ,WAAW,EAAE,eAAe,EAC5B,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,EAChC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,WAAW,GAAG,SAAS,GAC9B,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAChD;AAID;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,cAAc,CAI/C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,cAAc,CAI7C;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;CAAE,GAAG,cAAc,CAOzF;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE;IACjC,QAAQ,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC9F,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;CACjC,GAAG,cAAc,CAajB"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { raceAgainstSignal } from '../../util/race-signal.js';
|
|
2
|
-
// ─── Factories ───────────────────────────────────────────────────────────────
|
|
3
|
-
/**
|
|
4
|
-
* Follow every redirect. Default when `ClientSessionConfig.redirect` is absent.
|
|
5
|
-
*
|
|
6
|
-
* Consumers who want to gate redirects on a URL allowlist use
|
|
7
|
-
* `allowlistPolicy`; consumers who want to prompt the user per hop use
|
|
8
|
-
* `promptPolicy`; consumers who want to refuse every redirect use
|
|
9
|
-
* `strictPolicy`.
|
|
10
|
-
*/
|
|
11
|
-
export function allowAllPolicy() {
|
|
12
|
-
return {
|
|
13
|
-
decide: () => ({ follow: true }),
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Refuse every redirect. Opt-in — when a consumer wants cross-kernel
|
|
18
|
-
* follow blocked entirely and every redirect surfaced as a
|
|
19
|
-
* `RedirectRefusedError`.
|
|
20
|
-
*/
|
|
21
|
-
export function strictPolicy() {
|
|
22
|
-
return {
|
|
23
|
-
decide: () => ({ follow: false, reason: 'strict policy refuses all redirects' }),
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Follow only URLs that the `allow` predicate returns true for.
|
|
28
|
-
*
|
|
29
|
-
* ```ts
|
|
30
|
-
* allowlistPolicy({
|
|
31
|
-
* allow: (url) => new URL(url).host.endsWith('.trusted.kernel'),
|
|
32
|
-
* })
|
|
33
|
-
* ```
|
|
34
|
-
*/
|
|
35
|
-
export function allowlistPolicy(opts) {
|
|
36
|
-
return {
|
|
37
|
-
decide: (redirection) => {
|
|
38
|
-
if (opts.allow(redirection.url))
|
|
39
|
-
return { follow: true };
|
|
40
|
-
return { follow: false, reason: `URL not in allowlist: ${redirection.url}` };
|
|
41
|
-
},
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Ask the consumer for each redirect. The returned policy races the UI
|
|
46
|
-
* `onPrompt` call against the caller's `signal`, so aborting the
|
|
47
|
-
* top-level `session.call` cancels the prompt.
|
|
48
|
-
*
|
|
49
|
-
* `allow`, when provided, is a fast-path predicate that skips the
|
|
50
|
-
* prompt (for pre-approved URLs). Returning `false` from `allow` falls
|
|
51
|
-
* through to `onPrompt`.
|
|
52
|
-
*/
|
|
53
|
-
export function promptPolicy(opts) {
|
|
54
|
-
return {
|
|
55
|
-
decide: async (redirection, hops, _correlationId, signal) => {
|
|
56
|
-
if (opts.allow?.(redirection.url))
|
|
57
|
-
return { follow: true };
|
|
58
|
-
// Short-circuit a pre-aborted signal before opening the prompt —
|
|
59
|
-
// otherwise the consumer's UI flashes for a call the caller already cancelled.
|
|
60
|
-
if (signal?.aborted)
|
|
61
|
-
throw signal.reason instanceof Error ? signal.reason : new Error('aborted');
|
|
62
|
-
const accepted = await raceAgainstSignal(opts.onPrompt(redirection, hops), signal);
|
|
63
|
-
if (accepted)
|
|
64
|
-
return { follow: true };
|
|
65
|
-
return { follow: false, reason: `consumer declined redirect → ${redirection.url}` };
|
|
66
|
-
},
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
//# sourceMappingURL=policy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/session/redirect/policy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAuC7D,gFAAgF;AAEhF;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO;QACL,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KACjC,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO;QACL,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,qCAAqC,EAAE,CAAC;KACjF,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,IAAyC;IACvE,OAAO;QACL,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE;YACtB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC;gBAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;YACxD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,WAAW,CAAC,GAAG,EAAE,EAAE,CAAA;QAC9E,CAAC;KACF,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,IAG5B;IACC,OAAO;QACL,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE;YAC1D,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC;gBAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;YAC1D,iEAAiE;YACjE,+EAA+E;YAC/E,IAAI,MAAM,EAAE,OAAO;gBACjB,MAAM,MAAM,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAA;YAC7E,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;YAClF,IAAI,QAAQ;gBAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;YACrC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,gCAAgC,WAAW,CAAC,GAAG,EAAE,EAAE,CAAA;QACrF,CAAC;KACF,CAAA;AACH,CAAC"}
|
package/dist/session/types.d.ts
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import type { CredentialInput } from '@astrale-os/kernel-core';
|
|
2
|
-
import type { UnresolvedIdentityExpr } from '@astrale-os/kernel-core/expression';
|
|
3
|
-
import type { Schema } from '@astrale-os/kernel-dsl';
|
|
4
|
-
import type { AuthApi } from '../auth/index.js';
|
|
5
|
-
import type { BinaryFns, CallFns, FnMap, SignalFns, StreamFns } from '../client/fn-map.js';
|
|
6
|
-
import type { GraphApi } from '../graph/index.js';
|
|
7
|
-
import type { SchemaBoundView } from '../schema/bound/index.js';
|
|
8
|
-
import type { ClassNames, ClassProxy, NodeProxy } from '../schema/proxy-types.js';
|
|
9
|
-
import type { SchemaRegistry } from '../schema/registry.js';
|
|
10
|
-
import type { FunctionSchema } from '../schema/types.js';
|
|
11
|
-
import type { BinaryResponse } from '../transport/binary.js';
|
|
12
|
-
import type { ClientSessionCallOptions } from './config.js';
|
|
13
|
-
/**
|
|
14
|
-
* Credential-bound view over a `ClientSession`. Mirrors `BoundClientView` but over
|
|
15
|
-
* the orchestration surface — dispatch primitives return the unwrapped
|
|
16
|
-
* post-orchestration shape, not the discriminated `Send*Result` union.
|
|
17
|
-
*
|
|
18
|
-
* The `GraphApi` read/write sugar is flattened directly onto the view — the
|
|
19
|
-
* surface the shell/SDK previously reached via `.graph` — bound to this view's
|
|
20
|
-
* credential.
|
|
21
|
-
*
|
|
22
|
-
* The control plane rides alongside as the namespaced `auth` ({@link AuthApi}),
|
|
23
|
-
* dispatched with this same credential.
|
|
24
|
-
*/
|
|
25
|
-
export type BoundClientSessionView<M extends FnMap> = GraphApi & {
|
|
26
|
-
readonly default: string;
|
|
27
|
-
readonly registry: SchemaRegistry;
|
|
28
|
-
readonly auth: AuthApi;
|
|
29
|
-
call<K extends CallFns<M>>(method: K, params: M[K]['params'], opts?: ClientSessionCallOptions): Promise<M[K]['result']>;
|
|
30
|
-
stream<K extends StreamFns<M>>(method: K, params: M[K]['params'], opts?: ClientSessionCallOptions): Promise<AsyncIterable<M[K]['result']>>;
|
|
31
|
-
binary<K extends BinaryFns<M>>(method: K, params: M[K]['params'], opts?: ClientSessionCallOptions): Promise<BinaryResponse>;
|
|
32
|
-
signal<K extends SignalFns<M>>(method: K, params: M[K]['params'], opts?: ClientSessionCallOptions): void;
|
|
33
|
-
describe(method: string): FunctionSchema | undefined;
|
|
34
|
-
withSchema<S extends Schema>(schema: S): SchemaBoundView<S, M>;
|
|
35
|
-
as(credential: CredentialInput | (() => CredentialInput), opts?: BoundClientSessionOptions): BoundClientSessionView<M>;
|
|
36
|
-
};
|
|
37
|
-
export type BoundClientSessionOptions = {
|
|
38
|
-
/** Default next-hop delegation used by this bound view unless a call overrides it. */
|
|
39
|
-
delegation?: UnresolvedIdentityExpr;
|
|
40
|
-
};
|
|
41
|
-
/**
|
|
42
|
-
* Schema-typed proxy dispatched through ClientSession: followed redirects are
|
|
43
|
-
* transparent; refused redirects throw `RedirectRefusedError`.
|
|
44
|
-
*
|
|
45
|
-
* `node` / `static` cover `call` / `stream` / `binary`. Signals remain on
|
|
46
|
-
* `session.signal<K>` — the awaitable-only proxy doesn't mix sync-void and
|
|
47
|
-
* `Promise<R>` shapes.
|
|
48
|
-
*/
|
|
49
|
-
export interface SchemaTypedClientSession<S extends Schema> {
|
|
50
|
-
node<K extends ClassNames<S>>(className: K, nodeId: string): NodeProxy<S, K>;
|
|
51
|
-
static<K extends ClassNames<S>>(className: K): ClassProxy<S, K>;
|
|
52
|
-
readonly schema: S;
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/session/types.ts"],"names":[],"mappings":"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"}
|
package/dist/session/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/session/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shape keying (FRONTEND §5.4).
|
|
3
|
-
*
|
|
4
|
-
* A shape's identity is the canonical form of its query AST, scoped to a
|
|
5
|
-
* principal. `canonicalizeAST` strips page cursors, normalizes defaults, and
|
|
6
|
-
* fixes field order so two spellings of the same read collapse to one key;
|
|
7
|
-
* `shapeKey` additionally re-anchors roots to resolved node ids so a relative
|
|
8
|
-
* path and an `@<id>` addressing the same root never fragment the cache.
|
|
9
|
-
*/
|
|
10
|
-
import type { PathLike, QueryASTInput } from '@astrale-os/kernel-core';
|
|
11
|
-
import type { GatherBuilder, QuerySource } from '../graph/index.js';
|
|
12
|
-
/** The inputs the replica accepts for a read — the same the raw floor takes. */
|
|
13
|
-
export type ShapeInput = QueryASTInput | ((q: QuerySource) => GatherBuilder) | PathLike;
|
|
14
|
-
/** Resolve a raw root address to a node id, or `undefined` when unresolved. */
|
|
15
|
-
export type RootResolver = (raw: string) => string | undefined;
|
|
16
|
-
/** Normalize any {@link ShapeInput} to a raw-string AST value (page state intact). */
|
|
17
|
-
export declare function shapeInputToAST(input: ShapeInput): QueryASTInput;
|
|
18
|
-
/**
|
|
19
|
-
* Canonicalize an AST (FRONTEND §5.4 steps 1–2): drop every `page.cursor`
|
|
20
|
-
* (keep `limit`), default an omitted move `depth` to 1, drop a redundant
|
|
21
|
-
* single-hop gather `depth`, dedupe + sort roots, and rebuild every object in
|
|
22
|
-
* a fixed field order. The result is a re-runnable, comparison-stable AST.
|
|
23
|
-
*/
|
|
24
|
-
export declare function canonicalizeAST(ast: QueryASTInput): QueryASTInput;
|
|
25
|
-
/**
|
|
26
|
-
* The scoped, re-anchored shape key. Roots resolvable through `resolveRoot`
|
|
27
|
-
* collapse to their `@<id>` form (input-form and id-form share one key);
|
|
28
|
-
* unresolved roots stay in raw input form (a provisional identity until a
|
|
29
|
-
* first evaluation resolves them, per §5.4 step 3).
|
|
30
|
-
*/
|
|
31
|
-
export declare function shapeKey(ast: QueryASTInput, scope: string, resolveRoot?: RootResolver): string;
|
|
32
|
-
/**
|
|
33
|
-
* Drop every page `cursor` from an AST's expands (keeping `limit`), leaving the
|
|
34
|
-
* page-1 base. A shape's `baseAst` must be cursor-free so a refetch replays from
|
|
35
|
-
* the start; the continuation lives exclusively in the shape's `contAst`.
|
|
36
|
-
*/
|
|
37
|
-
export declare function stripCursors(ast: QueryASTInput): QueryASTInput;
|
|
38
|
-
/**
|
|
39
|
-
* JSON with object keys sorted recursively — a stable serialization regardless
|
|
40
|
-
* of insertion order, so the canonical AST hashes identically however it was
|
|
41
|
-
* assembled. Arrays keep their (already-canonicalized) order.
|
|
42
|
-
*/
|
|
43
|
-
export declare function stableStringify(value: unknown): string;
|
|
44
|
-
//# sourceMappingURL=canonicalize.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"canonicalize.d.ts","sourceRoot":"","sources":["../../src/store/canonicalize.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAItE,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAInE,gFAAgF;AAChF,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,KAAK,aAAa,CAAC,GAAG,QAAQ,CAAA;AAEvF,+EAA+E;AAC/E,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;AAM9D,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,aAAa,CAIhE;AAMD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,aAAa,CAOjE;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,YAAY,GAAG,MAAM,CAU9F;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,aAAa,CAa9D;AAyCD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAUtD"}
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"canonicalize.js","sourceRoot":"","sources":["../../src/store/canonicalize.ts"],"names":[],"mappings":"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"}
|
package/dist/store/entities.d.ts
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* EntityStore (FRONTEND §5.1) — the normalized confirmed store.
|
|
3
|
-
*
|
|
4
|
-
* Nodes keyed by `NodeId`, edges by `toEdgeKey`, with secondary indexes (path
|
|
5
|
-
* incl. alias sidecar, class, endpoint) mirroring kernel-core's `Graph`. Deletes
|
|
6
|
-
* leave a TOMBSTONE so a stale overlapping read cannot resurrect them. Merge
|
|
7
|
-
* ordering is by an integer `seq` — an INTERIM local logical clock stamped by
|
|
8
|
-
* the memory (result-arrival order), since the wire carries no journal seq /
|
|
9
|
-
* entity rev yet (§6.1/§6.2 blockers); `seq`-wins with the delete carve-out.
|
|
10
|
-
*/
|
|
11
|
-
import type { EdgeKey, GraphEdgeWire, GraphNodeWire } from '../graph/index.js';
|
|
12
|
-
/** A confirmed node record: the wire plus the `seq` of the result that delivered it. */
|
|
13
|
-
export interface NodeRecord {
|
|
14
|
-
readonly wire: GraphNodeWire;
|
|
15
|
-
readonly seq: number;
|
|
16
|
-
}
|
|
17
|
-
/** A confirmed edge record: the wire plus its delivering `seq`. */
|
|
18
|
-
export interface EdgeRecord {
|
|
19
|
-
readonly wire: GraphEdgeWire;
|
|
20
|
-
readonly seq: number;
|
|
21
|
-
}
|
|
22
|
-
type NodeId = GraphNodeWire['id'];
|
|
23
|
-
/** A `function.get` result as the store integrates it. */
|
|
24
|
-
export interface ResultLike {
|
|
25
|
-
readonly nodes: readonly GraphNodeWire[];
|
|
26
|
-
readonly edges: readonly GraphEdgeWire[];
|
|
27
|
-
readonly aliases?: ReadonlyArray<readonly [NodeId, string]>;
|
|
28
|
-
}
|
|
29
|
-
export declare class EntityStore {
|
|
30
|
-
private readonly nodes;
|
|
31
|
-
private readonly edges;
|
|
32
|
-
private readonly nodeTombstones;
|
|
33
|
-
private readonly edgeTombstones;
|
|
34
|
-
private readonly byPath;
|
|
35
|
-
private readonly byClass;
|
|
36
|
-
private readonly byEndpoint;
|
|
37
|
-
/** Alias paths sidecar-indexed per node id, so deindex/gc can undo them. */
|
|
38
|
-
private readonly aliasPaths;
|
|
39
|
-
private _version;
|
|
40
|
-
/** Bumps on every mutation — a cheap change signal for snapshot caches. */
|
|
41
|
-
get version(): number;
|
|
42
|
-
/** The live record for `id`, or `undefined` when absent or tombstoned. */
|
|
43
|
-
node(id: NodeId): NodeRecord | undefined;
|
|
44
|
-
edge(key: EdgeKey): EdgeRecord | undefined;
|
|
45
|
-
isNodeTombstoned(id: NodeId): boolean;
|
|
46
|
-
isEdgeTombstoned(key: EdgeKey): boolean;
|
|
47
|
-
/** All live node ids reachable at the given path (primary + alias forms). */
|
|
48
|
-
nodeIdsByPath(raw: string): NodeId[];
|
|
49
|
-
/** First live node id at `raw`, or `undefined`. The store's root resolver. */
|
|
50
|
-
resolvePathToId(raw: string): NodeId | undefined;
|
|
51
|
-
nodeIdsByClass(raw: string): NodeId[];
|
|
52
|
-
/** Live edge keys incident to a node at path `raw` (either endpoint). */
|
|
53
|
-
edgeKeysByEndpoint(raw: string): EdgeKey[];
|
|
54
|
-
/**
|
|
55
|
-
* Fold a read result into the confirmed store at `seq`. Tombstoned entities
|
|
56
|
-
* are NOT resurrected (the delete carve-out); everything else upserts under
|
|
57
|
-
* `seq`-wins. Aliases from the sidecar extend the path index (multi-key).
|
|
58
|
-
*/
|
|
59
|
-
integrate(result: ResultLike, seq: number): void;
|
|
60
|
-
/** Confirm a created/updated node: clear any tombstone and set the record. */
|
|
61
|
-
confirmNode(wire: GraphNodeWire, seq: number): void;
|
|
62
|
-
confirmEdge(wire: GraphEdgeWire, seq: number): void;
|
|
63
|
-
/** Tombstone a node (remembered so a stale read cannot resurrect it). */
|
|
64
|
-
tombstoneNode(id: NodeId, now: number): void;
|
|
65
|
-
tombstoneEdge(key: EdgeKey, now: number): void;
|
|
66
|
-
/**
|
|
67
|
-
* Drop entities unreachable from every retained shape, and sweep tombstones
|
|
68
|
-
* older than `tombstoneTtlMs`. Reachability is supplied by the ShapeStore.
|
|
69
|
-
*/
|
|
70
|
-
gc(reachableNodes: ReadonlySet<NodeId>, reachableEdges: ReadonlySet<EdgeKey>, now: number, tombstoneTtlMs: number): void;
|
|
71
|
-
private upsertNode;
|
|
72
|
-
private upsertEdge;
|
|
73
|
-
private indexNode;
|
|
74
|
-
private deindexNode;
|
|
75
|
-
private indexEdge;
|
|
76
|
-
private deindexEdge;
|
|
77
|
-
private addToIndex;
|
|
78
|
-
private removeFromIndex;
|
|
79
|
-
}
|
|
80
|
-
export {};
|
|
81
|
-
//# sourceMappingURL=entities.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../src/store/entities.ts"],"names":[],"mappings":"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"}
|
package/dist/store/entities.js
DELETED
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* EntityStore (FRONTEND §5.1) — the normalized confirmed store.
|
|
3
|
-
*
|
|
4
|
-
* Nodes keyed by `NodeId`, edges by `toEdgeKey`, with secondary indexes (path
|
|
5
|
-
* incl. alias sidecar, class, endpoint) mirroring kernel-core's `Graph`. Deletes
|
|
6
|
-
* leave a TOMBSTONE so a stale overlapping read cannot resurrect them. Merge
|
|
7
|
-
* ordering is by an integer `seq` — an INTERIM local logical clock stamped by
|
|
8
|
-
* the memory (result-arrival order), since the wire carries no journal seq /
|
|
9
|
-
* entity rev yet (§6.1/§6.2 blockers); `seq`-wins with the delete carve-out.
|
|
10
|
-
*/
|
|
11
|
-
import { edgeKey } from '../graph/index.js';
|
|
12
|
-
export class EntityStore {
|
|
13
|
-
nodes = new Map();
|
|
14
|
-
edges = new Map();
|
|
15
|
-
nodeTombstones = new Map();
|
|
16
|
-
edgeTombstones = new Map();
|
|
17
|
-
byPath = new Map();
|
|
18
|
-
byClass = new Map();
|
|
19
|
-
byEndpoint = new Map();
|
|
20
|
-
/** Alias paths sidecar-indexed per node id, so deindex/gc can undo them. */
|
|
21
|
-
aliasPaths = new Map();
|
|
22
|
-
_version = 0;
|
|
23
|
-
/** Bumps on every mutation — a cheap change signal for snapshot caches. */
|
|
24
|
-
get version() {
|
|
25
|
-
return this._version;
|
|
26
|
-
}
|
|
27
|
-
// ── Reads ──────────────────────────────────────────────────────────────────
|
|
28
|
-
/** The live record for `id`, or `undefined` when absent or tombstoned. */
|
|
29
|
-
node(id) {
|
|
30
|
-
return this.nodeTombstones.has(id) ? undefined : this.nodes.get(id);
|
|
31
|
-
}
|
|
32
|
-
edge(key) {
|
|
33
|
-
return this.edgeTombstones.has(key) ? undefined : this.edges.get(key);
|
|
34
|
-
}
|
|
35
|
-
isNodeTombstoned(id) {
|
|
36
|
-
return this.nodeTombstones.has(id);
|
|
37
|
-
}
|
|
38
|
-
isEdgeTombstoned(key) {
|
|
39
|
-
return this.edgeTombstones.has(key);
|
|
40
|
-
}
|
|
41
|
-
/** All live node ids reachable at the given path (primary + alias forms). */
|
|
42
|
-
nodeIdsByPath(raw) {
|
|
43
|
-
return [...(this.byPath.get(raw) ?? [])].filter((id) => !this.nodeTombstones.has(id));
|
|
44
|
-
}
|
|
45
|
-
/** First live node id at `raw`, or `undefined`. The store's root resolver. */
|
|
46
|
-
resolvePathToId(raw) {
|
|
47
|
-
return this.nodeIdsByPath(raw)[0];
|
|
48
|
-
}
|
|
49
|
-
nodeIdsByClass(raw) {
|
|
50
|
-
return [...(this.byClass.get(raw) ?? [])].filter((id) => !this.nodeTombstones.has(id));
|
|
51
|
-
}
|
|
52
|
-
/** Live edge keys incident to a node at path `raw` (either endpoint). */
|
|
53
|
-
edgeKeysByEndpoint(raw) {
|
|
54
|
-
return [...(this.byEndpoint.get(raw) ?? [])].filter((k) => !this.edgeTombstones.has(k));
|
|
55
|
-
}
|
|
56
|
-
// ── Integration (reads) ──────────────────────────────────────────────────────
|
|
57
|
-
/**
|
|
58
|
-
* Fold a read result into the confirmed store at `seq`. Tombstoned entities
|
|
59
|
-
* are NOT resurrected (the delete carve-out); everything else upserts under
|
|
60
|
-
* `seq`-wins. Aliases from the sidecar extend the path index (multi-key).
|
|
61
|
-
*/
|
|
62
|
-
integrate(result, seq) {
|
|
63
|
-
for (const wire of result.nodes) {
|
|
64
|
-
if (this.nodeTombstones.has(wire.id))
|
|
65
|
-
continue;
|
|
66
|
-
this.upsertNode(wire, seq);
|
|
67
|
-
}
|
|
68
|
-
for (const [id, path] of result.aliases ?? []) {
|
|
69
|
-
if (this.nodeTombstones.has(id) || path === this.nodes.get(id)?.wire.path)
|
|
70
|
-
continue;
|
|
71
|
-
this.addToIndex(this.byPath, path, id);
|
|
72
|
-
let paths = this.aliasPaths.get(id);
|
|
73
|
-
if (paths === undefined)
|
|
74
|
-
this.aliasPaths.set(id, (paths = new Set()));
|
|
75
|
-
paths.add(path);
|
|
76
|
-
}
|
|
77
|
-
for (const wire of result.edges) {
|
|
78
|
-
const key = edgeKey(wire);
|
|
79
|
-
if (this.edgeTombstones.has(key))
|
|
80
|
-
continue;
|
|
81
|
-
this.upsertEdge(key, wire, seq);
|
|
82
|
-
}
|
|
83
|
-
this._version++;
|
|
84
|
-
}
|
|
85
|
-
// ── Confirmation (committed mutation deltas — §6.3 future path) ───────────────
|
|
86
|
-
// NOT on the Tier-0 write path: SAFE MODE (§5.7) writes confirmed state ONLY
|
|
87
|
-
// from server read responses (`integrate`), reconciling every write by
|
|
88
|
-
// refetch. These land a real server delta once the wire carries one (§6.3).
|
|
89
|
-
/** Confirm a created/updated node: clear any tombstone and set the record. */
|
|
90
|
-
confirmNode(wire, seq) {
|
|
91
|
-
this.nodeTombstones.delete(wire.id);
|
|
92
|
-
this.upsertNode(wire, seq);
|
|
93
|
-
this._version++;
|
|
94
|
-
}
|
|
95
|
-
confirmEdge(wire, seq) {
|
|
96
|
-
const key = edgeKey(wire);
|
|
97
|
-
this.edgeTombstones.delete(key);
|
|
98
|
-
this.upsertEdge(key, wire, seq);
|
|
99
|
-
this._version++;
|
|
100
|
-
}
|
|
101
|
-
/** Tombstone a node (remembered so a stale read cannot resurrect it). */
|
|
102
|
-
tombstoneNode(id, now) {
|
|
103
|
-
const existing = this.nodes.get(id);
|
|
104
|
-
if (existing)
|
|
105
|
-
this.deindexNode(id, existing.wire);
|
|
106
|
-
this.nodes.delete(id);
|
|
107
|
-
this.nodeTombstones.set(id, now);
|
|
108
|
-
this._version++;
|
|
109
|
-
}
|
|
110
|
-
tombstoneEdge(key, now) {
|
|
111
|
-
const existing = this.edges.get(key);
|
|
112
|
-
if (existing)
|
|
113
|
-
this.deindexEdge(key, existing.wire);
|
|
114
|
-
this.edges.delete(key);
|
|
115
|
-
this.edgeTombstones.set(key, now);
|
|
116
|
-
this._version++;
|
|
117
|
-
}
|
|
118
|
-
// ── GC ───────────────────────────────────────────────────────────────────────
|
|
119
|
-
/**
|
|
120
|
-
* Drop entities unreachable from every retained shape, and sweep tombstones
|
|
121
|
-
* older than `tombstoneTtlMs`. Reachability is supplied by the ShapeStore.
|
|
122
|
-
*/
|
|
123
|
-
gc(reachableNodes, reachableEdges, now, tombstoneTtlMs) {
|
|
124
|
-
for (const [id, rec] of this.nodes) {
|
|
125
|
-
if (!reachableNodes.has(id)) {
|
|
126
|
-
this.deindexNode(id, rec.wire);
|
|
127
|
-
this.nodes.delete(id);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
for (const [key, rec] of this.edges) {
|
|
131
|
-
if (!reachableEdges.has(key)) {
|
|
132
|
-
this.deindexEdge(key, rec.wire);
|
|
133
|
-
this.edges.delete(key);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
for (const [id, at] of this.nodeTombstones) {
|
|
137
|
-
if (now - at > tombstoneTtlMs)
|
|
138
|
-
this.nodeTombstones.delete(id);
|
|
139
|
-
}
|
|
140
|
-
for (const [key, at] of this.edgeTombstones) {
|
|
141
|
-
if (now - at > tombstoneTtlMs)
|
|
142
|
-
this.edgeTombstones.delete(key);
|
|
143
|
-
}
|
|
144
|
-
this._version++;
|
|
145
|
-
}
|
|
146
|
-
// ── Internals ────────────────────────────────────────────────────────────────
|
|
147
|
-
upsertNode(wire, seq) {
|
|
148
|
-
const existing = this.nodes.get(wire.id);
|
|
149
|
-
if (existing && seq < existing.seq)
|
|
150
|
-
return;
|
|
151
|
-
if (existing)
|
|
152
|
-
this.deindexNode(wire.id, existing.wire);
|
|
153
|
-
this.nodes.set(wire.id, { wire, seq });
|
|
154
|
-
this.indexNode(wire.id, wire);
|
|
155
|
-
}
|
|
156
|
-
upsertEdge(key, wire, seq) {
|
|
157
|
-
const existing = this.edges.get(key);
|
|
158
|
-
if (existing && seq < existing.seq)
|
|
159
|
-
return;
|
|
160
|
-
if (existing)
|
|
161
|
-
this.deindexEdge(key, existing.wire);
|
|
162
|
-
this.edges.set(key, { wire, seq });
|
|
163
|
-
this.indexEdge(key, wire);
|
|
164
|
-
}
|
|
165
|
-
indexNode(id, wire) {
|
|
166
|
-
this.addToIndex(this.byPath, wire.path, id);
|
|
167
|
-
this.addToIndex(this.byClass, wire.class, id);
|
|
168
|
-
}
|
|
169
|
-
deindexNode(id, wire) {
|
|
170
|
-
this.removeFromIndex(this.byPath, wire.path, id);
|
|
171
|
-
this.removeFromIndex(this.byClass, wire.class, id);
|
|
172
|
-
const aliases = this.aliasPaths.get(id);
|
|
173
|
-
if (aliases !== undefined) {
|
|
174
|
-
for (const path of aliases)
|
|
175
|
-
this.removeFromIndex(this.byPath, path, id);
|
|
176
|
-
this.aliasPaths.delete(id);
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
indexEdge(key, wire) {
|
|
180
|
-
this.addToIndex(this.byEndpoint, wire.source, key);
|
|
181
|
-
this.addToIndex(this.byEndpoint, wire.target, key);
|
|
182
|
-
}
|
|
183
|
-
deindexEdge(key, wire) {
|
|
184
|
-
this.removeFromIndex(this.byEndpoint, wire.source, key);
|
|
185
|
-
this.removeFromIndex(this.byEndpoint, wire.target, key);
|
|
186
|
-
}
|
|
187
|
-
addToIndex(index, at, value) {
|
|
188
|
-
let set = index.get(at);
|
|
189
|
-
if (!set)
|
|
190
|
-
index.set(at, (set = new Set()));
|
|
191
|
-
set.add(value);
|
|
192
|
-
}
|
|
193
|
-
removeFromIndex(index, at, value) {
|
|
194
|
-
const set = index.get(at);
|
|
195
|
-
if (!set)
|
|
196
|
-
return;
|
|
197
|
-
set.delete(value);
|
|
198
|
-
if (set.size === 0)
|
|
199
|
-
index.delete(at);
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
//# sourceMappingURL=entities.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entities.js","sourceRoot":"","sources":["../../src/store/entities.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,EACL,eAAe,EACf,eAAe,EACf,QAAQ,EACR,eAAe,EACf,YAAY,GACb,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AACtD,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE5E,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAClG,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3E,YAAY,EACV,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACb,SAAS,EACT,QAAQ,GACT,MAAM,YAAY,CAAA"}
|
package/dist/store/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,EACL,eAAe,EACf,eAAe,EACf,QAAQ,EACR,eAAe,EACf,YAAY,GACb,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAG3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAGtD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA"}
|