@astrale-os/kernel-client 0.5.1 → 0.6.0-beta.1
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 +19 -0
- package/dist/auth/auth.d.ts.map +1 -0
- package/dist/auth/auth.js +16 -0
- package/dist/auth/auth.js.map +1 -0
- package/dist/auth/authorization.d.ts +14 -0
- package/dist/auth/authorization.d.ts.map +1 -0
- package/dist/auth/authorization.js +18 -0
- package/dist/auth/authorization.js.map +1 -0
- package/dist/auth/credential.d.ts +20 -0
- package/dist/auth/credential.d.ts.map +1 -0
- package/dist/auth/credential.js +22 -0
- package/dist/auth/credential.js.map +1 -0
- package/dist/auth/identity.d.ts +15 -0
- package/dist/auth/identity.d.ts.map +1 -0
- package/dist/auth/identity.js +16 -0
- package/dist/auth/identity.js.map +1 -0
- package/dist/auth/index.d.ts +6 -15
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +5 -9
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/provision.d.ts +9 -0
- package/dist/auth/provision.d.ts.map +1 -0
- package/dist/auth/provision.js +11 -0
- package/dist/auth/provision.js.map +1 -0
- package/dist/client/admission.d.ts +5 -0
- package/dist/client/admission.d.ts.map +1 -0
- package/dist/client/admission.js +35 -0
- package/dist/client/admission.js.map +1 -0
- package/dist/client/client.d.ts +21 -108
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +71 -380
- package/dist/client/client.js.map +1 -1
- package/dist/client/credential.d.ts +13 -0
- package/dist/client/credential.d.ts.map +1 -0
- package/dist/client/credential.js +52 -0
- package/dist/client/credential.js.map +1 -0
- package/dist/client/index.d.ts +6 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +5 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/request.d.ts +24 -0
- package/dist/client/request.d.ts.map +1 -0
- package/dist/client/request.js +83 -0
- package/dist/client/request.js.map +1 -0
- package/dist/client/result.d.ts +5 -0
- package/dist/client/result.d.ts.map +1 -0
- package/dist/client/result.js +29 -0
- package/dist/client/result.js.map +1 -0
- package/dist/client/routing-control.d.ts +11 -0
- package/dist/client/routing-control.d.ts.map +1 -0
- package/dist/client/routing-control.js +24 -0
- package/dist/client/routing-control.js.map +1 -0
- package/dist/domain/binding.d.ts +25 -0
- package/dist/domain/binding.d.ts.map +1 -0
- package/dist/domain/binding.js +50 -0
- package/dist/domain/binding.js.map +1 -0
- package/dist/domain/callable.d.ts +23 -0
- package/dist/domain/callable.d.ts.map +1 -0
- package/dist/domain/callable.js +66 -0
- package/dist/domain/callable.js.map +1 -0
- package/dist/domain/domain.typecheck.d.ts +2 -0
- package/dist/domain/domain.typecheck.d.ts.map +1 -0
- package/dist/domain/domain.typecheck.js +69 -0
- package/dist/domain/domain.typecheck.js.map +1 -0
- package/dist/domain/index.d.ts +4 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +2 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/domain/node.d.ts +10 -0
- package/dist/domain/node.d.ts.map +1 -0
- package/dist/domain/node.js +6 -0
- package/dist/domain/node.js.map +1 -0
- package/dist/errors/client-error.d.ts +4 -0
- package/dist/errors/client-error.d.ts.map +1 -0
- package/dist/errors/client-error.js +7 -0
- package/dist/errors/client-error.js.map +1 -0
- package/dist/errors/index.d.ts +6 -5
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +6 -3
- package/dist/errors/index.js.map +1 -1
- package/dist/errors/miss-error.d.ts +7 -0
- package/dist/errors/miss-error.d.ts.map +1 -0
- package/dist/errors/miss-error.js +9 -0
- package/dist/errors/miss-error.js.map +1 -0
- package/dist/errors/protocol-error.d.ts +5 -0
- package/dist/errors/protocol-error.d.ts.map +1 -0
- package/dist/errors/protocol-error.js +8 -0
- package/dist/errors/protocol-error.js.map +1 -0
- package/dist/errors/response-error.d.ts +10 -0
- package/dist/errors/response-error.d.ts.map +1 -0
- package/dist/errors/response-error.js +15 -0
- package/dist/errors/response-error.js.map +1 -0
- package/dist/errors/stale-route-error.d.ts +9 -0
- package/dist/errors/stale-route-error.d.ts.map +1 -0
- package/dist/errors/stale-route-error.js +11 -0
- package/dist/errors/stale-route-error.js.map +1 -0
- package/dist/errors/transport-error.d.ts +15 -0
- package/dist/errors/transport-error.d.ts.map +1 -0
- package/dist/errors/transport-error.js +12 -0
- package/dist/errors/transport-error.js.map +1 -0
- package/dist/graph/errors.d.ts +9 -0
- package/dist/graph/errors.d.ts.map +1 -0
- package/dist/graph/errors.js +14 -0
- package/dist/graph/errors.js.map +1 -0
- package/dist/graph/graph.d.ts +26 -0
- package/dist/graph/graph.d.ts.map +1 -0
- package/dist/graph/graph.js +19 -0
- package/dist/graph/graph.js.map +1 -0
- package/dist/graph/index.d.ts +6 -25
- package/dist/graph/index.d.ts.map +1 -1
- package/dist/graph/index.js +5 -20
- package/dist/graph/index.js.map +1 -1
- package/dist/graph/mutation.d.ts +6 -0
- package/dist/graph/mutation.d.ts.map +1 -0
- package/dist/graph/mutation.js +18 -0
- package/dist/graph/mutation.js.map +1 -0
- package/dist/graph/page/index.d.ts +3 -0
- package/dist/graph/page/index.d.ts.map +1 -0
- package/dist/graph/page/index.js +2 -0
- package/dist/graph/page/index.js.map +1 -0
- package/dist/graph/page/neighbors.d.ts +10 -0
- package/dist/graph/page/neighbors.d.ts.map +1 -0
- package/dist/graph/page/neighbors.js +35 -0
- package/dist/graph/page/neighbors.js.map +1 -0
- package/dist/graph/page/page.d.ts +34 -0
- package/dist/graph/page/page.d.ts.map +1 -0
- package/dist/graph/page/page.js +56 -0
- package/dist/graph/page/page.js.map +1 -0
- package/dist/graph/query.d.ts +5 -0
- package/dist/graph/query.d.ts.map +1 -0
- package/dist/graph/query.js +57 -0
- package/dist/graph/query.js.map +1 -0
- package/dist/graph/read.d.ts +7 -0
- package/dist/graph/read.d.ts.map +1 -0
- package/dist/graph/read.js +18 -0
- package/dist/graph/read.js.map +1 -0
- package/dist/index.d.ts +6 -24
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -20
- package/dist/index.js.map +1 -1
- package/dist/pacer/batcher/batcher.d.ts +8 -0
- package/dist/pacer/batcher/batcher.d.ts.map +1 -0
- package/dist/pacer/batcher/batcher.js +14 -0
- package/dist/pacer/batcher/batcher.js.map +1 -0
- package/dist/pacer/batcher/defaults.d.ts +3 -0
- package/dist/pacer/batcher/defaults.d.ts.map +1 -0
- package/dist/pacer/batcher/defaults.js +3 -0
- package/dist/pacer/batcher/defaults.js.map +1 -0
- package/dist/pacer/batcher/index.d.ts +2 -0
- package/dist/pacer/batcher/index.d.ts.map +1 -0
- package/dist/pacer/batcher/index.js +2 -0
- package/dist/pacer/batcher/index.js.map +1 -0
- package/dist/pacer/index.d.ts +4 -9
- package/dist/pacer/index.d.ts.map +1 -1
- package/dist/pacer/index.js +4 -10
- package/dist/pacer/index.js.map +1 -1
- package/dist/pacer/limiter/defaults.d.ts +3 -0
- package/dist/pacer/limiter/defaults.d.ts.map +1 -0
- package/dist/pacer/limiter/defaults.js +3 -0
- package/dist/pacer/limiter/defaults.js.map +1 -0
- package/dist/pacer/limiter/index.d.ts +2 -0
- package/dist/pacer/limiter/index.d.ts.map +1 -0
- package/dist/pacer/limiter/index.js +2 -0
- package/dist/pacer/limiter/index.js.map +1 -0
- package/dist/pacer/limiter/limiter.d.ts +8 -0
- package/dist/pacer/limiter/limiter.d.ts.map +1 -0
- package/dist/pacer/limiter/limiter.js +15 -0
- package/dist/pacer/limiter/limiter.js.map +1 -0
- package/dist/pacer/queue/defaults.d.ts +2 -0
- package/dist/pacer/queue/defaults.d.ts.map +1 -0
- package/dist/pacer/queue/defaults.js +2 -0
- package/dist/pacer/queue/defaults.js.map +1 -0
- package/dist/pacer/queue/index.d.ts +2 -0
- package/dist/pacer/queue/index.d.ts.map +1 -0
- package/dist/pacer/queue/index.js +2 -0
- package/dist/pacer/queue/index.js.map +1 -0
- package/dist/pacer/queue/queue.d.ts +7 -0
- package/dist/pacer/queue/queue.d.ts.map +1 -0
- package/dist/pacer/queue/queue.js +13 -0
- package/dist/pacer/queue/queue.js.map +1 -0
- package/dist/pacer/retry/defaults.d.ts +7 -0
- package/dist/pacer/retry/defaults.d.ts.map +1 -0
- package/dist/pacer/retry/defaults.js +17 -0
- package/dist/pacer/retry/defaults.js.map +1 -0
- package/dist/pacer/retry/index.d.ts +2 -0
- package/dist/pacer/retry/index.d.ts.map +1 -0
- package/dist/pacer/retry/index.js +2 -0
- package/dist/pacer/retry/index.js.map +1 -0
- package/dist/pacer/retry/retry.d.ts +10 -0
- package/dist/pacer/retry/retry.d.ts.map +1 -0
- package/dist/pacer/retry/retry.js +56 -0
- package/dist/pacer/retry/retry.js.map +1 -0
- package/dist/pool/index.d.ts +2 -3
- package/dist/pool/index.d.ts.map +1 -1
- package/dist/pool/index.js +0 -1
- package/dist/pool/index.js.map +1 -1
- package/dist/pool/pool.d.ts +19 -58
- package/dist/pool/pool.d.ts.map +1 -1
- package/dist/pool/pool.js +46 -63
- package/dist/pool/pool.js.map +1 -1
- package/dist/pool/target.d.ts +16 -0
- package/dist/pool/target.d.ts.map +1 -0
- package/dist/pool/target.js +50 -0
- package/dist/pool/target.js.map +1 -0
- package/dist/session/context/control.d.ts +6 -0
- package/dist/session/context/control.d.ts.map +1 -0
- package/dist/session/context/control.js +18 -0
- package/dist/session/context/control.js.map +1 -0
- package/dist/session/context/index.d.ts +5 -0
- package/dist/session/context/index.d.ts.map +1 -0
- package/dist/session/context/index.js +5 -0
- package/dist/session/context/index.js.map +1 -0
- package/dist/session/context/limits.d.ts +8 -0
- package/dist/session/context/limits.d.ts.map +1 -0
- package/dist/session/context/limits.js +19 -0
- package/dist/session/context/limits.js.map +1 -0
- package/dist/session/context/operation.d.ts +20 -0
- package/dist/session/context/operation.d.ts.map +1 -0
- package/dist/session/context/operation.js +70 -0
- package/dist/session/context/operation.js.map +1 -0
- package/dist/session/context/policy.d.ts +10 -0
- package/dist/session/context/policy.d.ts.map +1 -0
- package/dist/session/context/policy.js +63 -0
- package/dist/session/context/policy.js.map +1 -0
- package/dist/session/discovery/bundle.d.ts +18 -0
- package/dist/session/discovery/bundle.d.ts.map +1 -0
- package/dist/session/discovery/bundle.js +55 -0
- package/dist/session/discovery/bundle.js.map +1 -0
- package/dist/session/discovery/discovery.d.ts +27 -0
- package/dist/session/discovery/discovery.d.ts.map +1 -0
- package/dist/session/discovery/discovery.js +69 -0
- package/dist/session/discovery/discovery.js.map +1 -0
- package/dist/session/discovery/index.d.ts +24 -0
- package/dist/session/discovery/index.d.ts.map +1 -0
- package/dist/session/discovery/index.js +15 -0
- package/dist/session/discovery/index.js.map +1 -0
- package/dist/session/discovery/publication.d.ts +22 -0
- package/dist/session/discovery/publication.d.ts.map +1 -0
- package/dist/session/discovery/publication.js +124 -0
- package/dist/session/discovery/publication.js.map +1 -0
- package/dist/session/discovery/snapshot.d.ts +12 -0
- package/dist/session/discovery/snapshot.d.ts.map +1 -0
- package/dist/session/discovery/snapshot.js +4 -0
- package/dist/session/discovery/snapshot.js.map +1 -0
- package/dist/session/index.d.ts +5 -15
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +1 -8
- package/dist/session/index.js.map +1 -1
- package/dist/session/routing/auth.d.ts +19 -0
- package/dist/session/routing/auth.d.ts.map +1 -0
- package/dist/session/routing/auth.js +43 -0
- package/dist/session/routing/auth.js.map +1 -0
- package/dist/session/routing/cache.d.ts +20 -0
- package/dist/session/routing/cache.d.ts.map +1 -0
- package/dist/session/routing/cache.js +110 -0
- package/dist/session/routing/cache.js.map +1 -0
- package/dist/session/routing/dispatch.d.ts +35 -0
- package/dist/session/routing/dispatch.d.ts.map +1 -0
- package/dist/session/routing/dispatch.js +101 -0
- package/dist/session/routing/dispatch.js.map +1 -0
- package/dist/session/routing/envelope.d.ts +14 -0
- package/dist/session/routing/envelope.d.ts.map +1 -0
- package/dist/session/routing/envelope.js +36 -0
- package/dist/session/routing/envelope.js.map +1 -0
- package/dist/session/routing/index.d.ts +6 -0
- package/dist/session/routing/index.d.ts.map +1 -0
- package/dist/session/routing/index.js +6 -0
- package/dist/session/routing/index.js.map +1 -0
- package/dist/session/routing/request.d.ts +9 -0
- package/dist/session/routing/request.d.ts.map +1 -0
- package/dist/session/routing/request.js +26 -0
- package/dist/session/routing/request.js.map +1 -0
- package/dist/session/session.d.ts +56 -0
- package/dist/session/session.d.ts.map +1 -0
- package/dist/session/session.js +183 -0
- package/dist/session/session.js.map +1 -0
- package/dist/session/session.typecheck.d.ts +2 -0
- package/dist/session/session.typecheck.d.ts.map +1 -0
- package/dist/session/session.typecheck.js +10 -0
- package/dist/session/session.typecheck.js.map +1 -0
- package/dist/session/views/catalog.d.ts +16 -0
- package/dist/session/views/catalog.d.ts.map +1 -0
- package/dist/session/views/catalog.js +63 -0
- package/dist/session/views/catalog.js.map +1 -0
- package/dist/session/views/index.d.ts +3 -0
- package/dist/session/views/index.d.ts.map +1 -0
- package/dist/session/views/index.js +3 -0
- package/dist/session/views/index.js.map +1 -0
- package/dist/session/views/resolve.d.ts +13 -0
- package/dist/session/views/resolve.d.ts.map +1 -0
- package/dist/session/views/resolve.js +12 -0
- package/dist/session/views/resolve.js.map +1 -0
- package/dist/store/entity-index.d.ts +23 -0
- package/dist/store/entity-index.d.ts.map +1 -0
- package/dist/store/entity-index.js +95 -0
- package/dist/store/entity-index.js.map +1 -0
- package/dist/store/index.d.ts +1 -25
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +1 -18
- package/dist/store/index.js.map +1 -1
- package/dist/store/memory.d.ts +46 -96
- package/dist/store/memory.d.ts.map +1 -1
- package/dist/store/memory.js +346 -762
- package/dist/store/memory.js.map +1 -1
- package/dist/store/mutation.d.ts +6 -0
- package/dist/store/mutation.d.ts.map +1 -0
- package/dist/store/mutation.js +35 -0
- package/dist/store/mutation.js.map +1 -0
- package/dist/store/observe.d.ts +4 -0
- package/dist/store/observe.d.ts.map +1 -0
- package/dist/store/observe.js +18 -0
- package/dist/store/observe.js.map +1 -0
- package/dist/store/optimistic.d.ts +13 -0
- package/dist/store/optimistic.d.ts.map +1 -0
- package/dist/store/optimistic.js +44 -0
- package/dist/store/optimistic.js.map +1 -0
- package/dist/store/query-key.d.ts +6 -0
- package/dist/store/query-key.d.ts.map +1 -0
- package/dist/store/query-key.js +23 -0
- package/dist/store/query-key.js.map +1 -0
- package/dist/store/shape.d.ts +26 -0
- package/dist/store/shape.d.ts.map +1 -0
- package/dist/store/shape.js +30 -0
- package/dist/store/shape.js.map +1 -0
- package/dist/store/store.d.ts +69 -0
- package/dist/store/store.d.ts.map +1 -0
- package/dist/store/store.js +145 -0
- package/dist/store/store.js.map +1 -0
- package/dist/store/store.typecheck.d.ts +2 -0
- package/dist/store/store.typecheck.d.ts.map +1 -0
- package/dist/store/store.typecheck.js +41 -0
- package/dist/store/store.typecheck.js.map +1 -0
- package/dist/transport/auto/decision.d.ts +23 -0
- package/dist/transport/auto/decision.d.ts.map +1 -0
- package/dist/transport/auto/decision.js +49 -0
- package/dist/transport/auto/decision.js.map +1 -0
- package/dist/transport/auto/fallback.d.ts +17 -0
- package/dist/transport/auto/fallback.d.ts.map +1 -0
- package/dist/transport/auto/fallback.js +77 -0
- package/dist/transport/auto/fallback.js.map +1 -0
- package/dist/transport/auto/index.d.ts +3 -0
- package/dist/transport/auto/index.d.ts.map +1 -0
- package/dist/transport/auto/index.js +3 -0
- package/dist/transport/auto/index.js.map +1 -0
- package/dist/transport/auto/transport.d.ts +38 -0
- package/dist/transport/auto/transport.d.ts.map +1 -0
- package/dist/transport/auto/transport.js +141 -0
- package/dist/transport/auto/transport.js.map +1 -0
- package/dist/transport/auto/warning.d.ts +14 -0
- package/dist/transport/auto/warning.d.ts.map +1 -0
- package/dist/transport/auto/warning.js +19 -0
- package/dist/transport/auto/warning.js.map +1 -0
- package/dist/transport/deadline.d.ts +12 -0
- package/dist/transport/deadline.d.ts.map +1 -0
- package/dist/transport/deadline.js +40 -0
- package/dist/transport/deadline.js.map +1 -0
- package/dist/transport/http/index.d.ts +2 -0
- package/dist/transport/http/index.d.ts.map +1 -0
- package/dist/transport/http/index.js +2 -0
- package/dist/transport/http/index.js.map +1 -0
- package/dist/transport/http/response.d.ts +8 -0
- package/dist/transport/http/response.d.ts.map +1 -0
- package/dist/transport/http/response.js +79 -0
- package/dist/transport/http/response.js.map +1 -0
- package/dist/transport/http/stream.d.ts +25 -0
- package/dist/transport/http/stream.d.ts.map +1 -0
- package/dist/transport/http/stream.js +197 -0
- package/dist/transport/http/stream.js.map +1 -0
- package/dist/transport/http/transport.d.ts +33 -0
- package/dist/transport/http/transport.d.ts.map +1 -0
- package/dist/transport/http/transport.js +333 -0
- package/dist/transport/http/transport.js.map +1 -0
- package/dist/transport/index.d.ts +2 -7
- package/dist/transport/index.d.ts.map +1 -1
- package/dist/transport/index.js +1 -5
- package/dist/transport/index.js.map +1 -1
- package/dist/transport/transport.d.ts +29 -0
- package/dist/transport/transport.d.ts.map +1 -0
- package/dist/transport/transport.js +2 -0
- package/dist/transport/transport.js.map +1 -0
- package/dist/transport/websocket/connection.d.ts +38 -0
- package/dist/transport/websocket/connection.d.ts.map +1 -0
- package/dist/transport/websocket/connection.js +297 -0
- package/dist/transport/websocket/connection.js.map +1 -0
- package/dist/transport/websocket/exchange.d.ts +46 -0
- package/dist/transport/websocket/exchange.d.ts.map +1 -0
- package/dist/transport/websocket/exchange.js +288 -0
- package/dist/transport/websocket/exchange.js.map +1 -0
- package/dist/transport/websocket/index.d.ts +2 -0
- package/dist/transport/websocket/index.d.ts.map +1 -0
- package/dist/transport/websocket/index.js +2 -0
- package/dist/transport/websocket/index.js.map +1 -0
- package/dist/transport/websocket/transport.d.ts +47 -0
- package/dist/transport/websocket/transport.d.ts.map +1 -0
- package/dist/transport/websocket/transport.js +176 -0
- package/dist/transport/websocket/transport.js.map +1 -0
- package/package.json +29 -32
- 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/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/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/session-error.d.ts +0 -21
- package/dist/errors/session-error.d.ts.map +0 -1
- package/dist/errors/session-error.js +0 -25
- 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/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/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/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/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 +0 -16
- package/dist/schema/index.d.ts.map +0 -1
- package/dist/schema/index.js +0 -12
- 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 +0 -11
- package/dist/session/bound.d.ts.map +0 -1
- package/dist/session/bound.js +0 -42
- 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/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/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/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/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,44 +0,0 @@
|
|
|
1
|
-
import type { SelfIdentityExpr, UnresolvedIdentityExpr } from '@astrale-os/kernel-core/expression';
|
|
2
|
-
import { ClientSessionError } from '../../errors/session-error.js';
|
|
3
|
-
/**
|
|
4
|
-
* Delegation policy refused to mint for an audience.
|
|
5
|
-
*
|
|
6
|
-
* Thrown by ClientSession's dispatch loop when `DelegationPolicy.decide` returns
|
|
7
|
-
* `{ allow: false, reason }`. The `audience`, `delegation`, and
|
|
8
|
-
* `attestation` the call was about to mint for are preserved so a UI can
|
|
9
|
-
* re-prompt with the full context of what was being proposed. The values
|
|
10
|
-
* are **pre-refine** — if the policy conceptually considered a refined
|
|
11
|
-
* shape before refusing, the pre-refine shape is what's reported here
|
|
12
|
-
* (that's what was proposed to `decide`). Spec §9.3.1 / §10.3.
|
|
13
|
-
*/
|
|
14
|
-
export declare class DelegationRefusedError extends ClientSessionError {
|
|
15
|
-
readonly audience: string;
|
|
16
|
-
readonly delegation: UnresolvedIdentityExpr;
|
|
17
|
-
readonly attestation: SelfIdentityExpr | undefined;
|
|
18
|
-
readonly reason: string;
|
|
19
|
-
constructor(audience: string, delegation: UnresolvedIdentityExpr, attestation: SelfIdentityExpr | undefined, reason: string, options?: ErrorOptions);
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* `DelegationCache.get` dispatched a mint that threw.
|
|
23
|
-
*
|
|
24
|
-
* Wraps the underlying error (kernel auth error, network failure, etc.)
|
|
25
|
-
* as `cause`. The cache does NOT retain a failed mint — subsequent
|
|
26
|
-
* calls re-attempt minting. Spec §9.2 "don't cache rejection" + §10.3.
|
|
27
|
-
*/
|
|
28
|
-
export declare class DelegationMintError extends ClientSessionError {
|
|
29
|
-
readonly audience: string;
|
|
30
|
-
readonly delegation: UnresolvedIdentityExpr;
|
|
31
|
-
readonly attestation: SelfIdentityExpr | undefined;
|
|
32
|
-
constructor(audience: string, delegation: UnresolvedIdentityExpr, attestation: SelfIdentityExpr | undefined, options?: ErrorOptions);
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* A `DelegationPolicy.decide` implementation itself threw.
|
|
36
|
-
*
|
|
37
|
-
* Programmer error at the policy layer. Wraps the thrown error as
|
|
38
|
-
* `cause`. Consumers treating this as "refused" is safe. Spec §10.3.
|
|
39
|
-
*/
|
|
40
|
-
export declare class DelegationPolicyError extends ClientSessionError {
|
|
41
|
-
readonly audience: string | undefined;
|
|
42
|
-
constructor(audience: string | undefined, options?: ErrorOptions);
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/session/delegation/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAA;AAElG,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAElE;;;;;;;;;;GAUG;AACH,qBAAa,sBAAuB,SAAQ,kBAAkB;aAE1C,QAAQ,EAAE,MAAM;aAChB,UAAU,EAAE,sBAAsB;aAClC,WAAW,EAAE,gBAAgB,GAAG,SAAS;aACzC,MAAM,EAAE,MAAM;IAJhC,YACkB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,sBAAsB,EAClC,WAAW,EAAE,gBAAgB,GAAG,SAAS,EACzC,MAAM,EAAE,MAAM,EAC9B,OAAO,CAAC,EAAE,YAAY,EAIvB;CACF;AAED;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,kBAAkB;aAEvC,QAAQ,EAAE,MAAM;aAChB,UAAU,EAAE,sBAAsB;aAClC,WAAW,EAAE,gBAAgB,GAAG,SAAS;IAH3D,YACkB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,sBAAsB,EAClC,WAAW,EAAE,gBAAgB,GAAG,SAAS,EACzD,OAAO,CAAC,EAAE,YAAY,EAIvB;CACF;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,kBAAkB;aAEzC,QAAQ,EAAE,MAAM,GAAG,SAAS;IAD9C,YACkB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5C,OAAO,CAAC,EAAE,YAAY,EAUvB;CACF"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { ClientSessionError } from '../../errors/session-error.js';
|
|
2
|
-
/**
|
|
3
|
-
* Delegation policy refused to mint for an audience.
|
|
4
|
-
*
|
|
5
|
-
* Thrown by ClientSession's dispatch loop when `DelegationPolicy.decide` returns
|
|
6
|
-
* `{ allow: false, reason }`. The `audience`, `delegation`, and
|
|
7
|
-
* `attestation` the call was about to mint for are preserved so a UI can
|
|
8
|
-
* re-prompt with the full context of what was being proposed. The values
|
|
9
|
-
* are **pre-refine** — if the policy conceptually considered a refined
|
|
10
|
-
* shape before refusing, the pre-refine shape is what's reported here
|
|
11
|
-
* (that's what was proposed to `decide`). Spec §9.3.1 / §10.3.
|
|
12
|
-
*/
|
|
13
|
-
export class DelegationRefusedError extends ClientSessionError {
|
|
14
|
-
audience;
|
|
15
|
-
delegation;
|
|
16
|
-
attestation;
|
|
17
|
-
reason;
|
|
18
|
-
constructor(audience, delegation, attestation, reason, options) {
|
|
19
|
-
super(`Delegation refused for "${audience}": ${reason}`, 'DELEGATION_REFUSED', options);
|
|
20
|
-
this.audience = audience;
|
|
21
|
-
this.delegation = delegation;
|
|
22
|
-
this.attestation = attestation;
|
|
23
|
-
this.reason = reason;
|
|
24
|
-
this.name = 'DelegationRefusedError';
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* `DelegationCache.get` dispatched a mint that threw.
|
|
29
|
-
*
|
|
30
|
-
* Wraps the underlying error (kernel auth error, network failure, etc.)
|
|
31
|
-
* as `cause`. The cache does NOT retain a failed mint — subsequent
|
|
32
|
-
* calls re-attempt minting. Spec §9.2 "don't cache rejection" + §10.3.
|
|
33
|
-
*/
|
|
34
|
-
export class DelegationMintError extends ClientSessionError {
|
|
35
|
-
audience;
|
|
36
|
-
delegation;
|
|
37
|
-
attestation;
|
|
38
|
-
constructor(audience, delegation, attestation, options) {
|
|
39
|
-
super(`Delegation mint failed for "${audience}"`, 'DELEGATION_MINT_FAILED', options);
|
|
40
|
-
this.audience = audience;
|
|
41
|
-
this.delegation = delegation;
|
|
42
|
-
this.attestation = attestation;
|
|
43
|
-
this.name = 'DelegationMintError';
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* A `DelegationPolicy.decide` implementation itself threw.
|
|
48
|
-
*
|
|
49
|
-
* Programmer error at the policy layer. Wraps the thrown error as
|
|
50
|
-
* `cause`. Consumers treating this as "refused" is safe. Spec §10.3.
|
|
51
|
-
*/
|
|
52
|
-
export class DelegationPolicyError extends ClientSessionError {
|
|
53
|
-
audience;
|
|
54
|
-
constructor(audience, options) {
|
|
55
|
-
super(audience === undefined
|
|
56
|
-
? 'Delegation policy threw during audience derivation'
|
|
57
|
-
: `Delegation policy threw for audience "${audience}"`, 'DELEGATION_POLICY_THREW', options);
|
|
58
|
-
this.audience = audience;
|
|
59
|
-
this.name = 'DelegationPolicyError';
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/session/delegation/errors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAElE;;;;;;;;;;GAUG;AACH,MAAM,OAAO,sBAAuB,SAAQ,kBAAkB;IAE1C,QAAQ;IACR,UAAU;IACV,WAAW;IACX,MAAM;IAJxB,YACkB,QAAgB,EAChB,UAAkC,EAClC,WAAyC,EACzC,MAAc,EAC9B,OAAsB;QAEtB,KAAK,CAAC,2BAA2B,QAAQ,MAAM,MAAM,EAAE,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAA;wBANvE,QAAQ;0BACR,UAAU;2BACV,WAAW;sBACX,MAAM;QAItB,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;IACtC,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,mBAAoB,SAAQ,kBAAkB;IAEvC,QAAQ;IACR,UAAU;IACV,WAAW;IAH7B,YACkB,QAAgB,EAChB,UAAkC,EAClC,WAAyC,EACzD,OAAsB;QAEtB,KAAK,CAAC,+BAA+B,QAAQ,GAAG,EAAE,wBAAwB,EAAE,OAAO,CAAC,CAAA;wBALpE,QAAQ;0BACR,UAAU;2BACV,WAAW;QAI3B,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,qBAAsB,SAAQ,kBAAkB;IAEzC,QAAQ;IAD1B,YACkB,QAA4B,EAC5C,OAAsB;QAEtB,KAAK,CACH,QAAQ,KAAK,SAAS;YACpB,CAAC,CAAC,oDAAoD;YACtD,CAAC,CAAC,yCAAyC,QAAQ,GAAG,EACxD,yBAAyB,EACzB,OAAO,CACR,CAAA;wBATe,QAAQ;QAUxB,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF"}
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
import type { Scope, SelfIdentityExpr, UnresolvedIdentityExpr } from '@astrale-os/kernel-core/expression';
|
|
2
|
-
/**
|
|
3
|
-
* Context passed to every `DelegationPolicy` method. Carries hop history
|
|
4
|
-
* and correlation id so policies can branch on "are we on a redirect
|
|
5
|
-
* hop?" or thread the correlation id into an external audit stream
|
|
6
|
-
* without closure tracking.
|
|
7
|
-
*/
|
|
8
|
-
export type DelegationContext = {
|
|
9
|
-
/** URL the call is about to dispatch to. */
|
|
10
|
-
target: string;
|
|
11
|
-
/** Method name being dispatched. */
|
|
12
|
-
method: string;
|
|
13
|
-
/** Params the call carries. */
|
|
14
|
-
params: unknown;
|
|
15
|
-
/** Correlation id of the top-level `session.call`. */
|
|
16
|
-
correlationId: string;
|
|
17
|
-
/**
|
|
18
|
-
* Hop chain so far. `hops[0]` is the initial target; the last entry is
|
|
19
|
-
* the *current* hop being dispatched. On the first iteration of the
|
|
20
|
-
* dispatch loop the array has one element; each followed redirect
|
|
21
|
-
* appends one more before the next iteration re-runs the policy.
|
|
22
|
-
*/
|
|
23
|
-
hops: ReadonlyArray<{
|
|
24
|
-
url: string;
|
|
25
|
-
at: number;
|
|
26
|
-
}>;
|
|
27
|
-
/**
|
|
28
|
-
* Authoritative audience the kernel attached to the redirect that led to
|
|
29
|
-
* this hop (`CallRedirection.iss` — the target worker's `Identity.iss`).
|
|
30
|
-
* Present only on redirect hops (≥ 1) of a remote-bound call; absent on
|
|
31
|
-
* hop 0 and when the target node carries no identity. The default
|
|
32
|
-
* `audienceFor` prefers it over the URL-origin heuristic when set.
|
|
33
|
-
*/
|
|
34
|
-
iss?: string;
|
|
35
|
-
};
|
|
36
|
-
/**
|
|
37
|
-
* Consent decision for a single mint.
|
|
38
|
-
*
|
|
39
|
-
* - `{ allow: true }` — accept the pre-computed `(delegation, attestation)` as-is.
|
|
40
|
-
* - `{ allow: true, delegation?, attestation? }` — accept with refinement:
|
|
41
|
-
* substitute the provided field(s) before `DelegationCache.get`. The
|
|
42
|
-
* post-refine values become the cache key and what `onDelegationMint`
|
|
43
|
-
* reports. Either field is optional; the unrefined fields stay
|
|
44
|
-
* pre-computed. Refinement is one-shot — ClientSession does not re-invoke
|
|
45
|
-
* `decide` on the refined shape.
|
|
46
|
-
* - `{ allow: false, reason }` — causes ClientSession to throw
|
|
47
|
-
* `DelegationRefusedError`. The error carries the pre-refine shape.
|
|
48
|
-
*
|
|
49
|
-
* Spec §9.3 / §9.3.1. A single-branch `allow: true` with optional
|
|
50
|
-
* refinement fields is what TypeScript narrows cleanly — a two-branch
|
|
51
|
-
* union of `{ allow: true }` and `{ allow: true, delegation?, attestation? }`
|
|
52
|
-
* would be indistinguishable to the narrower and forces `as` casts at
|
|
53
|
-
* every read site.
|
|
54
|
-
*/
|
|
55
|
-
export type DelegationDecision = {
|
|
56
|
-
allow: true;
|
|
57
|
-
delegation?: UnresolvedIdentityExpr;
|
|
58
|
-
attestation?: SelfIdentityExpr;
|
|
59
|
-
} | {
|
|
60
|
-
allow: false;
|
|
61
|
-
reason: string;
|
|
62
|
-
};
|
|
63
|
-
/**
|
|
64
|
-
* Audience + delegation + attestation + consent surface. Spec §9.3.
|
|
65
|
-
*
|
|
66
|
-
* Mirrors the server-side `MintDelegationParams` triple in
|
|
67
|
-
* `kernel/ports/authentication/authentication.port.ts` one-for-one. Owns
|
|
68
|
-
* ONLY decision-layer concerns. Does NOT own the cache (that's
|
|
69
|
-
* `DelegationCache`), the mint itself (injected via cache config),
|
|
70
|
-
* credential-chaining resolution (kernel-side at mint/auth time), or
|
|
71
|
-
* iterated negotiation (`decide` is one-shot).
|
|
72
|
-
*/
|
|
73
|
-
export interface DelegationPolicy {
|
|
74
|
-
/**
|
|
75
|
-
* Map a target to an audience. Returning `undefined` skips delegation
|
|
76
|
-
* — the dispatch uses the base credential directly. Sync, cheap, pure
|
|
77
|
-
* (runs on every wire dispatch).
|
|
78
|
-
*
|
|
79
|
-
* `ctx` carries hop history and correlation id — the first three args
|
|
80
|
-
* are duplicated into `ctx` so a 3-arg policy still type-checks (the
|
|
81
|
-
* fourth arg is additive, not a breaking rename).
|
|
82
|
-
*/
|
|
83
|
-
audienceFor(target: string, method: string, params: unknown, ctx: DelegationContext): string | undefined;
|
|
84
|
-
/**
|
|
85
|
-
* Derive the `UnresolvedIdentityExpr` this mint should carry. Return
|
|
86
|
-
* `undefined` to use ClientSession's default `{ kind: 'identity', self: true }`.
|
|
87
|
-
* Invoked only when `audienceFor` returned a non-undefined audience.
|
|
88
|
-
*
|
|
89
|
-
* The full expression tree the kernel accepts — `union`, `intersect`,
|
|
90
|
-
* `exclude`, `scope`-wrapped sub-expressions, `Cred(...)` leaves. For
|
|
91
|
-
* the common "narrow self-delegation by scope" case use `scopedSelf`.
|
|
92
|
-
*
|
|
93
|
-
* Sync — delegation shape is a rule, not an I/O lookup. Consumers who
|
|
94
|
-
* need async derivation compute outside and pass
|
|
95
|
-
* `ClientSessionCallOptions.delegation`; `decide` can also refine the shape
|
|
96
|
-
* asynchronously (§9.3.1).
|
|
97
|
-
*/
|
|
98
|
-
delegationFor?(target: string, method: string, params: unknown, ctx: DelegationContext): UnresolvedIdentityExpr | undefined;
|
|
99
|
-
/**
|
|
100
|
-
* Derive the `SelfIdentityExpr` attestation for the mint's outer
|
|
101
|
-
* envelope. Return `undefined` to omit the attestation param (kernel
|
|
102
|
-
* adapter defaults it to `{ kind: 'identity', self: true }`). Invoked
|
|
103
|
-
* only when `audienceFor` returned a non-undefined audience.
|
|
104
|
-
*
|
|
105
|
-
* Attestation asserts something about the delegator; it is signed into
|
|
106
|
-
* the outer envelope as metadata and is NOT enforced at authentication.
|
|
107
|
-
* Most consumers leave this absent.
|
|
108
|
-
*/
|
|
109
|
-
attestationFor?(target: string, method: string, params: unknown, ctx: DelegationContext): SelfIdentityExpr | undefined;
|
|
110
|
-
/**
|
|
111
|
-
* Consent hook. Called AFTER `audienceFor` / `delegationFor` /
|
|
112
|
-
* `attestationFor` resolved and BEFORE `DelegationCache.get` issues the
|
|
113
|
-
* mint. Default when absent: implicit allow.
|
|
114
|
-
*
|
|
115
|
-
* `signal` propagates from the caller's `ClientSessionCallOptions.signal` —
|
|
116
|
-
* implementations that await UI input MUST race against it.
|
|
117
|
-
*
|
|
118
|
-
* May refine the mint shape (§9.3.1): returning
|
|
119
|
-
* `{ allow: true, delegation?, attestation? }` substitutes the
|
|
120
|
-
* provided field(s) before cache lookup. Plain `{ allow: true }` uses
|
|
121
|
-
* the pre-computed shape unchanged.
|
|
122
|
-
*/
|
|
123
|
-
decide?(audience: string, delegation: UnresolvedIdentityExpr, attestation: SelfIdentityExpr | undefined, ctx: DelegationContext, signal: AbortSignal | undefined): DelegationDecision | Promise<DelegationDecision>;
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Default policy: mint for any target whose origin differs from the
|
|
127
|
-
* default kernel's origin, allow implicitly.
|
|
128
|
-
*
|
|
129
|
-
* `default` is the `ClientSessionConfig.default` URL; same-origin targets skip
|
|
130
|
-
* delegation (the base credential is valid). Used when `ClientSessionConfig`
|
|
131
|
-
* omits `delegationPolicy`.
|
|
132
|
-
*/
|
|
133
|
-
export declare function allowAllDelegations(opts: {
|
|
134
|
-
default: string;
|
|
135
|
-
}): DelegationPolicy;
|
|
136
|
-
/**
|
|
137
|
-
* Allowlist: only mint for audiences `allow` returns true for. Matches
|
|
138
|
-
* `RedirectPolicy`'s `allowlistPolicy` shape for symmetry.
|
|
139
|
-
*
|
|
140
|
-
* `delegation`, when supplied, is the expression applied to every mint
|
|
141
|
-
* this policy produces; per-call overrides via `ClientSessionCallOptions.delegation`
|
|
142
|
-
* still win. Same for `attestation`.
|
|
143
|
-
*/
|
|
144
|
-
export declare function allowlistDelegations(opts: {
|
|
145
|
-
default: string;
|
|
146
|
-
allow: (audience: string) => boolean;
|
|
147
|
-
delegation?: UnresolvedIdentityExpr;
|
|
148
|
-
attestation?: SelfIdentityExpr;
|
|
149
|
-
}): DelegationPolicy;
|
|
150
|
-
/**
|
|
151
|
-
* UI prompt: ask the consumer for each new audience. Races `onPrompt`
|
|
152
|
-
* against the caller's `signal` so aborting the top-level call cancels
|
|
153
|
-
* the prompt.
|
|
154
|
-
*
|
|
155
|
-
* `allow` is a fast-path predicate (pre-approved audiences). Returning
|
|
156
|
-
* `false` from `allow` falls through to `onPrompt`.
|
|
157
|
-
*
|
|
158
|
-
* `onPrompt` receives the full mint shape (audience + delegation +
|
|
159
|
-
* attestation + ctx) so the UI can render what's actually being minted,
|
|
160
|
-
* not just the audience. This matters when the policy narrows by method:
|
|
161
|
-
* the user should see "write to partner kernel as self with READ | WRITE
|
|
162
|
-
* on nodes [X, Y]," not just "trust partner kernel."
|
|
163
|
-
*/
|
|
164
|
-
export declare function promptDelegations(opts: {
|
|
165
|
-
default: string;
|
|
166
|
-
onPrompt: (audience: string, delegation: UnresolvedIdentityExpr, attestation: SelfIdentityExpr | undefined, ctx: DelegationContext) => Promise<boolean>;
|
|
167
|
-
allow?: (audience: string) => boolean;
|
|
168
|
-
delegation?: UnresolvedIdentityExpr;
|
|
169
|
-
attestation?: SelfIdentityExpr;
|
|
170
|
-
}): DelegationPolicy;
|
|
171
|
-
/**
|
|
172
|
-
* Build `{ kind: 'scope', scopes, expr: { kind: 'identity', self: true } }`
|
|
173
|
-
* — a self-delegation narrowed to the given scope set. This is the shape
|
|
174
|
-
* that was the *entire* delegation surface in an earlier draft of the
|
|
175
|
-
* spec, now expressible as one case of the full `UnresolvedIdentityExpr`
|
|
176
|
-
* algebra.
|
|
177
|
-
*
|
|
178
|
-
* Use for the common "vary perms by method" pattern. Reach for the raw
|
|
179
|
-
* `UnresolvedIdentityExpr` constructors when composing identities
|
|
180
|
-
* (union/intersect/exclude) or chaining credentials.
|
|
181
|
-
*/
|
|
182
|
-
export declare function scopedSelf(scopes: readonly Scope[]): UnresolvedIdentityExpr;
|
|
183
|
-
//# sourceMappingURL=policy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/session/delegation/policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { raceAgainstSignal } from '../../util/race-signal.js';
|
|
2
|
-
// ─── Factories ───────────────────────────────────────────────────────────────
|
|
3
|
-
/**
|
|
4
|
-
* Default policy: mint for any target whose origin differs from the
|
|
5
|
-
* default kernel's origin, allow implicitly.
|
|
6
|
-
*
|
|
7
|
-
* `default` is the `ClientSessionConfig.default` URL; same-origin targets skip
|
|
8
|
-
* delegation (the base credential is valid). Used when `ClientSessionConfig`
|
|
9
|
-
* omits `delegationPolicy`.
|
|
10
|
-
*/
|
|
11
|
-
export function allowAllDelegations(opts) {
|
|
12
|
-
return { audienceFor: originAudienceFor(opts.default) };
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Allowlist: only mint for audiences `allow` returns true for. Matches
|
|
16
|
-
* `RedirectPolicy`'s `allowlistPolicy` shape for symmetry.
|
|
17
|
-
*
|
|
18
|
-
* `delegation`, when supplied, is the expression applied to every mint
|
|
19
|
-
* this policy produces; per-call overrides via `ClientSessionCallOptions.delegation`
|
|
20
|
-
* still win. Same for `attestation`.
|
|
21
|
-
*/
|
|
22
|
-
export function allowlistDelegations(opts) {
|
|
23
|
-
return {
|
|
24
|
-
audienceFor: originAudienceFor(opts.default),
|
|
25
|
-
...(opts.delegation !== undefined ? { delegationFor: () => opts.delegation } : {}),
|
|
26
|
-
...(opts.attestation !== undefined ? { attestationFor: () => opts.attestation } : {}),
|
|
27
|
-
decide: (audience) => {
|
|
28
|
-
if (opts.allow(audience))
|
|
29
|
-
return { allow: true };
|
|
30
|
-
return { allow: false, reason: `audience not in allowlist: ${audience}` };
|
|
31
|
-
},
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* UI prompt: ask the consumer for each new audience. Races `onPrompt`
|
|
36
|
-
* against the caller's `signal` so aborting the top-level call cancels
|
|
37
|
-
* the prompt.
|
|
38
|
-
*
|
|
39
|
-
* `allow` is a fast-path predicate (pre-approved audiences). Returning
|
|
40
|
-
* `false` from `allow` falls through to `onPrompt`.
|
|
41
|
-
*
|
|
42
|
-
* `onPrompt` receives the full mint shape (audience + delegation +
|
|
43
|
-
* attestation + ctx) so the UI can render what's actually being minted,
|
|
44
|
-
* not just the audience. This matters when the policy narrows by method:
|
|
45
|
-
* the user should see "write to partner kernel as self with READ | WRITE
|
|
46
|
-
* on nodes [X, Y]," not just "trust partner kernel."
|
|
47
|
-
*/
|
|
48
|
-
export function promptDelegations(opts) {
|
|
49
|
-
return {
|
|
50
|
-
audienceFor: originAudienceFor(opts.default),
|
|
51
|
-
...(opts.delegation !== undefined ? { delegationFor: () => opts.delegation } : {}),
|
|
52
|
-
...(opts.attestation !== undefined ? { attestationFor: () => opts.attestation } : {}),
|
|
53
|
-
decide: async (audience, delegation, attestation, ctx, signal) => {
|
|
54
|
-
if (opts.allow?.(audience))
|
|
55
|
-
return { allow: true };
|
|
56
|
-
// Short-circuit a pre-aborted signal before opening the prompt —
|
|
57
|
-
// otherwise the consumer's UI flashes for a call the caller already cancelled.
|
|
58
|
-
if (signal?.aborted)
|
|
59
|
-
throw signal.reason instanceof Error ? signal.reason : new Error('aborted');
|
|
60
|
-
const accepted = await raceAgainstSignal(opts.onPrompt(audience, delegation, attestation, ctx), signal);
|
|
61
|
-
if (accepted)
|
|
62
|
-
return { allow: true };
|
|
63
|
-
return { allow: false, reason: `consumer declined delegation for "${audience}"` };
|
|
64
|
-
},
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
// ─── Sugar — no new capability, just the common self+scope shape ─────────────
|
|
68
|
-
/**
|
|
69
|
-
* Build `{ kind: 'scope', scopes, expr: { kind: 'identity', self: true } }`
|
|
70
|
-
* — a self-delegation narrowed to the given scope set. This is the shape
|
|
71
|
-
* that was the *entire* delegation surface in an earlier draft of the
|
|
72
|
-
* spec, now expressible as one case of the full `UnresolvedIdentityExpr`
|
|
73
|
-
* algebra.
|
|
74
|
-
*
|
|
75
|
-
* Use for the common "vary perms by method" pattern. Reach for the raw
|
|
76
|
-
* `UnresolvedIdentityExpr` constructors when composing identities
|
|
77
|
-
* (union/intersect/exclude) or chaining credentials.
|
|
78
|
-
*/
|
|
79
|
-
export function scopedSelf(scopes) {
|
|
80
|
-
return {
|
|
81
|
-
kind: 'scope',
|
|
82
|
-
scopes: [...scopes],
|
|
83
|
-
expr: { kind: 'identity', self: true },
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
|
87
|
-
/**
|
|
88
|
-
* Build an `audienceFor` function. When the dispatch loop supplies the
|
|
89
|
-
* redirect-carried `ctx.iss` (the target worker's authoritative identity), it
|
|
90
|
-
* wins — that's the audience the worker actually verifies. Otherwise (hop 0, or
|
|
91
|
-
* a legacy node without identity) fall back to the origin heuristic: the
|
|
92
|
-
* target's origin when it differs from the default kernel's, `undefined`
|
|
93
|
-
* otherwise. Shared across every factory.
|
|
94
|
-
*/
|
|
95
|
-
function originAudienceFor(defaultUrl) {
|
|
96
|
-
const defaultOrigin = safeOrigin(defaultUrl);
|
|
97
|
-
return (target, _method, _params, ctx) => {
|
|
98
|
-
if (ctx?.iss !== undefined)
|
|
99
|
-
return ctx.iss;
|
|
100
|
-
const origin = safeOrigin(target);
|
|
101
|
-
if (origin === undefined || origin === defaultOrigin)
|
|
102
|
-
return undefined;
|
|
103
|
-
return origin;
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
function safeOrigin(url) {
|
|
107
|
-
try {
|
|
108
|
-
return new URL(url).origin;
|
|
109
|
-
}
|
|
110
|
-
catch {
|
|
111
|
-
return undefined;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
//# sourceMappingURL=policy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/session/delegation/policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/session/delegation/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAE9D,wBAAgB,aAAa,CAAC,UAAU,EAAE,eAAe,GAAG,MAAM,CAGjE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAIpD"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export function credentialKey(credential) {
|
|
2
|
-
if (credential instanceof Uint8Array)
|
|
3
|
-
return `bytes:${bytesToHex(credential)}`;
|
|
4
|
-
return `string:${credential}`;
|
|
5
|
-
}
|
|
6
|
-
export function bytesToHex(bytes) {
|
|
7
|
-
let s = '';
|
|
8
|
-
for (let i = 0; i < bytes.length; i++)
|
|
9
|
-
s += bytes[i].toString(16).padStart(2, '0');
|
|
10
|
-
return s;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/session/delegation/utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,aAAa,CAAC,UAA2B;IACvD,IAAI,UAAU,YAAY,UAAU;QAAE,OAAO,SAAS,UAAU,CAAC,UAAU,CAAC,EAAE,CAAA;IAC9E,OAAO,UAAU,UAAU,EAAE,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAiB;IAC1C,IAAI,CAAC,GAAG,EAAE,CAAA;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAClF,OAAO,CAAC,CAAA;AACV,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { CredentialInput } from '@astrale-os/kernel-core';
|
|
2
|
-
import type { FnMap } from '../client/fn-map.js';
|
|
3
|
-
import type { ClientSession } from './client-session.js';
|
|
4
|
-
import type { DelegationMintFn } from './delegation/cache.js';
|
|
5
|
-
/**
|
|
6
|
-
* The standard delegation mint as one `DelegationMintFn` for `ClientSession`'s
|
|
7
|
-
* `delegation.mint`: dispatches `mintDelegationCredential` as the current
|
|
8
|
-
* authority credential; `skipDelegation` guards
|
|
9
|
-
* the mint's own whoami/mint from re-entering the delegation block. Pass a thunk
|
|
10
|
-
* — `delegationMintVia(() => session)` — to defer resolving `session`.
|
|
11
|
-
*/
|
|
12
|
-
export declare function delegationMintVia<M extends FnMap>(session: ClientSession<M> | (() => ClientSession<M>), credential?: CredentialInput | (() => CredentialInput)): DelegationMintFn;
|
|
13
|
-
//# sourceMappingURL=delegation-mint.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"delegation-mint.d.ts","sourceRoot":"","sources":["../../src/session/delegation-mint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAG9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAyB,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAKpF;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,KAAK,EAC/C,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC,CAAC,EACpD,UAAU,CAAC,EAAE,eAAe,GAAG,CAAC,MAAM,eAAe,CAAC,GACrD,gBAAgB,CA+BlB"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { createAuth } from '../auth/index.js';
|
|
2
|
-
import { credentialKey } from './delegation/utils.js';
|
|
3
|
-
/**
|
|
4
|
-
* The standard delegation mint as one `DelegationMintFn` for `ClientSession`'s
|
|
5
|
-
* `delegation.mint`: dispatches `mintDelegationCredential` as the current
|
|
6
|
-
* authority credential; `skipDelegation` guards
|
|
7
|
-
* the mint's own whoami/mint from re-entering the delegation block. Pass a thunk
|
|
8
|
-
* — `delegationMintVia(() => session)` — to defer resolving `session`.
|
|
9
|
-
*/
|
|
10
|
-
export function delegationMintVia(session, credential) {
|
|
11
|
-
const pinned = () => typeof credential === 'function' ? credential() : credential;
|
|
12
|
-
const authByAuthority = new Map();
|
|
13
|
-
const resolve = (context) => {
|
|
14
|
-
const authority = context?.authority ?? pinned();
|
|
15
|
-
if (authority === undefined) {
|
|
16
|
-
throw new Error('delegationMintVia requires a credential authority');
|
|
17
|
-
}
|
|
18
|
-
const key = credentialKey(authority);
|
|
19
|
-
let auth = authByAuthority.get(key);
|
|
20
|
-
if (auth)
|
|
21
|
-
return auth;
|
|
22
|
-
const s = typeof session === 'function' ? session() : session;
|
|
23
|
-
const call = (method, params) => s.call(method, params, {
|
|
24
|
-
credential: authority,
|
|
25
|
-
skipDelegation: true,
|
|
26
|
-
});
|
|
27
|
-
auth = createAuth(call, { credential: () => authority });
|
|
28
|
-
authByAuthority.set(key, auth);
|
|
29
|
-
return auth;
|
|
30
|
-
};
|
|
31
|
-
return async (audience, delegation, attestation, context) => ({
|
|
32
|
-
credential: await resolve(context).delegate({
|
|
33
|
-
audience,
|
|
34
|
-
delegation,
|
|
35
|
-
...(attestation !== undefined ? { attestation } : {}),
|
|
36
|
-
}),
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=delegation-mint.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"delegation-mint.js","sourceRoot":"","sources":["../../src/session/delegation-mint.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAErD;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAoD,EACpD,UAAsD;IAEtD,MAAM,MAAM,GAAG,GAAgC,EAAE,CAC/C,OAAO,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAA;IAC9D,MAAM,eAAe,GAAG,IAAI,GAAG,EAAmB,CAAA;IAClD,MAAM,OAAO,GAAG,CAAC,OAA0C,EAAW,EAAE;QACtE,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,MAAM,EAAE,CAAA;QAChD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;QACtE,CAAC;QACD,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;QACpC,IAAI,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACnC,IAAI,IAAI;YAAE,OAAO,IAAI,CAAA;QAErB,MAAM,CAAC,GAAG,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;QAC7D,MAAM,IAAI,GAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CACzC,CAAC,CAAC,IAAI,CAAC,MAAe,EAAE,MAAe,EAAE;YACvC,UAAU,EAAE,SAAS;YACrB,cAAc,EAAE,IAAI;SACrB,CAAC,CAAA;QACJ,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAA;QACxD,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5D,UAAU,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;YAC1C,QAAQ;YACR,UAAU;YACV,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC;KACH,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { CallRedirection } from '@astrale-os/kernel-api';
|
|
2
|
-
import type { SchemaRegistry } from '../schema/registry.js';
|
|
3
|
-
import type { FunctionSchema } from '../schema/types.js';
|
|
4
|
-
import type { ClientSessionCallOptions } from './config.js';
|
|
5
|
-
export type DispatchRoute = {
|
|
6
|
-
method: string;
|
|
7
|
-
url: string;
|
|
8
|
-
iss?: string;
|
|
9
|
-
self?: string;
|
|
10
|
-
schema?: FunctionSchema;
|
|
11
|
-
};
|
|
12
|
-
export type DispatchRouteStore = {
|
|
13
|
-
get(key: string): DispatchRoute | undefined | Promise<DispatchRoute | undefined>;
|
|
14
|
-
set(key: string, route: DispatchRoute): void | Promise<void>;
|
|
15
|
-
};
|
|
16
|
-
export declare class MemoryDispatchRouteStore implements DispatchRouteStore {
|
|
17
|
-
#private;
|
|
18
|
-
get(key: string): DispatchRoute | undefined;
|
|
19
|
-
set(key: string, route: DispatchRoute): void;
|
|
20
|
-
}
|
|
21
|
-
export declare class DispatchRouteCache {
|
|
22
|
-
#private;
|
|
23
|
-
constructor(store?: DispatchRouteStore);
|
|
24
|
-
resolve(method: string, params: unknown, opts: ClientSessionCallOptions | undefined, registry: SchemaRegistry): Promise<DispatchRoute | undefined>;
|
|
25
|
-
remember(method: string, classHint: string | undefined, redirection: CallRedirection, registry: SchemaRegistry): Promise<void>;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=dispatch-routes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch-routes.d.ts","sourceRoot":"","sources":["../../src/session/dispatch-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,wBAAwB,CAAA;AAM9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAE3D,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,cAAc,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAA;IAChF,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7D,CAAA;AAED,qBAAa,wBAAyB,YAAW,kBAAkB;;IAGjE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAE1C;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAE3C;CACF;AAED,qBAAa,kBAAkB;;IAG7B,YAAY,KAAK,GAAE,kBAAmD,EAErE;IAEK,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,wBAAwB,GAAG,SAAS,EAC1C,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAkBpC;IAEK,QAAQ,CACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,WAAW,EAAE,eAAe,EAC5B,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC,CAWf;CACF"}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { substituteTemplate } from '@astrale-os/kernel-api';
|
|
2
|
-
import { Path } from '@astrale-os/kernel-core';
|
|
3
|
-
import { InstanceMethodPath } from '@astrale-os/kernel-core/domain';
|
|
4
|
-
export class MemoryDispatchRouteStore {
|
|
5
|
-
#routes = new Map();
|
|
6
|
-
get(key) {
|
|
7
|
-
return this.#routes.get(key);
|
|
8
|
-
}
|
|
9
|
-
set(key, route) {
|
|
10
|
-
this.#routes.set(key, route);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
export class DispatchRouteCache {
|
|
14
|
-
#store;
|
|
15
|
-
constructor(store = new MemoryDispatchRouteStore()) {
|
|
16
|
-
this.#store = store;
|
|
17
|
-
}
|
|
18
|
-
async resolve(method, params, opts, registry) {
|
|
19
|
-
if (opts?.url !== undefined)
|
|
20
|
-
return undefined;
|
|
21
|
-
const schema = registry.resolve(method, opts?.class) ?? registry.get(method);
|
|
22
|
-
for (const key of routeKeys(method, opts?.class, schema)) {
|
|
23
|
-
const route = await this.#store.get(key);
|
|
24
|
-
if (route)
|
|
25
|
-
return materializeRoute(route, params, method, opts?.self);
|
|
26
|
-
}
|
|
27
|
-
const binding = schema?.binding;
|
|
28
|
-
if (!binding?.remoteUrl)
|
|
29
|
-
return undefined;
|
|
30
|
-
const self = opts?.self ?? instanceSelf(method);
|
|
31
|
-
return {
|
|
32
|
-
method,
|
|
33
|
-
url: substituteUrl(binding.remoteUrl, params),
|
|
34
|
-
...(self !== undefined ? { self } : {}),
|
|
35
|
-
...(schema !== undefined ? { schema } : {}),
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
async remember(method, classHint, redirection, registry) {
|
|
39
|
-
const schema = redirection.schema ?? registry.resolve(method, classHint);
|
|
40
|
-
const route = {
|
|
41
|
-
method: redirection.path,
|
|
42
|
-
url: redirection.url,
|
|
43
|
-
...(redirection.iss !== undefined ? { iss: redirection.iss } : {}),
|
|
44
|
-
...(redirection.self !== undefined ? { self: redirection.self } : {}),
|
|
45
|
-
...(schema !== undefined ? { schema } : {}),
|
|
46
|
-
};
|
|
47
|
-
for (const key of routeKeys(method, classHint, schema))
|
|
48
|
-
await this.#store.set(key, route);
|
|
49
|
-
await this.#store.set(redirection.path, route);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
function routeKeys(method, classHint, schema) {
|
|
53
|
-
const keys = new Set([method]);
|
|
54
|
-
if (classHint !== undefined)
|
|
55
|
-
keys.add(`${method}|class=${classHint}`);
|
|
56
|
-
if (schema?.ref)
|
|
57
|
-
keys.add(schema.ref);
|
|
58
|
-
return [...keys];
|
|
59
|
-
}
|
|
60
|
-
function materializeRoute(route, params, method, explicitSelf) {
|
|
61
|
-
const self = explicitSelf ?? instanceSelf(method) ?? route.self;
|
|
62
|
-
return {
|
|
63
|
-
...route,
|
|
64
|
-
url: substituteUrl(route.url, params),
|
|
65
|
-
...(self !== undefined ? { self } : {}),
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
function substituteUrl(url, params) {
|
|
69
|
-
return params && typeof params === 'object'
|
|
70
|
-
? substituteTemplate(url, params)
|
|
71
|
-
: url;
|
|
72
|
-
}
|
|
73
|
-
function instanceSelf(method) {
|
|
74
|
-
const path = Path.tryParse(method);
|
|
75
|
-
return path instanceof InstanceMethodPath ? path.source.raw : undefined;
|
|
76
|
-
}
|
|
77
|
-
//# sourceMappingURL=dispatch-routes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch-routes.js","sourceRoot":"","sources":["../../src/session/dispatch-routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { IdentityPickerError, PersistenceLoadFailedError, RegistryWriteFailedError, SchemaOwnershipConflictError, UnresolvedIdentityError, } from './session-errors.js';
|
|
2
|
-
export { ClientSessionError } from '../../errors/session-error.js';
|
|
3
|
-
export { DelegationMintError, DelegationPolicyError, DelegationRefusedError, } from '../delegation/errors.js';
|
|
4
|
-
export { PoolClosedError } from '../../pool/errors.js';
|
|
5
|
-
export { HopLimitExceededError, RedirectPolicyError, RedirectRefusedError, } from '../redirect/errors.js';
|
|
6
|
-
//# sourceMappingURL=index.d.ts.map
|