@astrale-os/kernel-client 0.2.4 → 0.3.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/addressing.d.ts +32 -0
- package/dist/auth/addressing.d.ts.map +1 -0
- package/dist/auth/addressing.js +36 -0
- package/dist/auth/addressing.js.map +1 -0
- package/dist/auth/api.d.ts +69 -0
- package/dist/auth/api.d.ts.map +1 -0
- package/dist/auth/api.js +24 -0
- package/dist/auth/api.js.map +1 -0
- package/dist/auth/batch.d.ts +18 -0
- package/dist/auth/batch.d.ts.map +1 -0
- package/dist/auth/batch.js +25 -0
- package/dist/auth/batch.js.map +1 -0
- package/dist/auth/composition.d.ts +27 -0
- package/dist/auth/composition.d.ts.map +1 -0
- package/dist/auth/composition.js +83 -0
- package/dist/auth/composition.js.map +1 -0
- package/dist/auth/index.d.ts +14 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +9 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/minting.d.ts +35 -0
- package/dist/auth/minting.d.ts.map +1 -0
- package/dist/auth/minting.js +35 -0
- package/dist/auth/minting.js.map +1 -0
- package/dist/auth/permissions.d.ts +55 -0
- package/dist/auth/permissions.d.ts.map +1 -0
- package/dist/auth/permissions.js +47 -0
- package/dist/auth/permissions.js.map +1 -0
- package/dist/auth/principal.d.ts +19 -0
- package/dist/auth/principal.d.ts.map +1 -0
- package/dist/auth/principal.js +46 -0
- package/dist/auth/principal.js.map +1 -0
- package/dist/errors/errors.d.ts +53 -0
- package/dist/errors/errors.d.ts.map +1 -1
- package/dist/errors/errors.js +69 -1
- package/dist/errors/errors.js.map +1 -1
- package/dist/errors/guards.d.ts +39 -0
- package/dist/errors/guards.d.ts.map +1 -0
- package/dist/errors/guards.js +127 -0
- package/dist/errors/guards.js.map +1 -0
- package/dist/errors/index.d.ts +4 -2
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +2 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/graph/api.d.ts +82 -0
- package/dist/graph/api.d.ts.map +1 -0
- package/dist/graph/api.js +64 -0
- package/dist/graph/api.js.map +1 -0
- package/dist/graph/index.d.ts +24 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +20 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/graph/mutate/builder.d.ts +108 -0
- package/dist/graph/mutate/builder.d.ts.map +1 -0
- package/dist/graph/mutate/builder.js +127 -0
- package/dist/graph/mutate/builder.js.map +1 -0
- package/dist/graph/mutate/index.d.ts +5 -0
- package/dist/graph/mutate/index.d.ts.map +1 -0
- package/dist/graph/mutate/index.js +3 -0
- package/dist/graph/mutate/index.js.map +1 -0
- package/dist/graph/mutate/shorthands.d.ts +42 -0
- package/dist/graph/mutate/shorthands.d.ts.map +1 -0
- package/dist/graph/mutate/shorthands.js +65 -0
- package/dist/graph/mutate/shorthands.js.map +1 -0
- package/dist/graph/named.d.ts +38 -0
- package/dist/graph/named.d.ts.map +1 -0
- package/dist/graph/named.js +47 -0
- package/dist/graph/named.js.map +1 -0
- package/dist/graph/query/builder.d.ts +116 -0
- package/dist/graph/query/builder.d.ts.map +1 -0
- package/dist/graph/query/builder.js +136 -0
- package/dist/graph/query/builder.js.map +1 -0
- package/dist/graph/query/edge-ref.d.ts +13 -0
- package/dist/graph/query/edge-ref.d.ts.map +1 -0
- package/dist/graph/query/edge-ref.js +56 -0
- package/dist/graph/query/edge-ref.js.map +1 -0
- package/dist/graph/query/edges.d.ts +10 -0
- package/dist/graph/query/edges.d.ts.map +1 -0
- package/dist/graph/query/edges.js +11 -0
- package/dist/graph/query/edges.js.map +1 -0
- package/dist/graph/query/errors.d.ts +31 -0
- package/dist/graph/query/errors.d.ts.map +1 -0
- package/dist/graph/query/errors.js +28 -0
- package/dist/graph/query/errors.js.map +1 -0
- package/dist/graph/query/filter.d.ts +50 -0
- package/dist/graph/query/filter.d.ts.map +1 -0
- package/dist/graph/query/filter.js +32 -0
- package/dist/graph/query/filter.js.map +1 -0
- package/dist/graph/query/index.d.ts +12 -0
- package/dist/graph/query/index.d.ts.map +1 -0
- package/dist/graph/query/index.js +7 -0
- package/dist/graph/query/index.js.map +1 -0
- package/dist/graph/query/lower.d.ts +30 -0
- package/dist/graph/query/lower.d.ts.map +1 -0
- package/dist/graph/query/lower.js +171 -0
- package/dist/graph/query/lower.js.map +1 -0
- package/dist/graph/query/shorthands.d.ts +34 -0
- package/dist/graph/query/shorthands.d.ts.map +1 -0
- package/dist/graph/query/shorthands.js +71 -0
- package/dist/graph/query/shorthands.js.map +1 -0
- package/dist/graph/query/traverse.d.ts +59 -0
- package/dist/graph/query/traverse.d.ts.map +1 -0
- package/dist/graph/query/traverse.js +144 -0
- package/dist/graph/query/traverse.js.map +1 -0
- package/dist/graph/result/envelope.d.ts +37 -0
- package/dist/graph/result/envelope.d.ts.map +1 -0
- package/dist/graph/result/envelope.js +59 -0
- package/dist/graph/result/envelope.js.map +1 -0
- package/dist/graph/result/index.d.ts +6 -0
- package/dist/graph/result/index.d.ts.map +1 -0
- package/dist/graph/result/index.js +4 -0
- package/dist/graph/result/index.js.map +1 -0
- package/dist/graph/result/next.d.ts +16 -0
- package/dist/graph/result/next.d.ts.map +1 -0
- package/dist/graph/result/next.js +77 -0
- package/dist/graph/result/next.js.map +1 -0
- package/dist/graph/result/paged.d.ts +30 -0
- package/dist/graph/result/paged.d.ts.map +1 -0
- package/dist/graph/result/paged.js +41 -0
- package/dist/graph/result/paged.js.map +1 -0
- package/dist/graph/wire.d.ts +33 -0
- package/dist/graph/wire.d.ts.map +1 -0
- package/dist/graph/wire.js +16 -0
- package/dist/graph/wire.js.map +1 -0
- package/dist/index.d.ts +11 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/dist/schema/bound/binder.d.ts +49 -0
- package/dist/schema/bound/binder.d.ts.map +1 -0
- package/dist/schema/bound/binder.js +192 -0
- package/dist/schema/bound/binder.js.map +1 -0
- package/dist/schema/bound/bound-node.d.ts +89 -0
- package/dist/schema/bound/bound-node.d.ts.map +1 -0
- package/dist/schema/bound/bound-node.js +77 -0
- package/dist/schema/bound/bound-node.js.map +1 -0
- package/dist/schema/bound/index.d.ts +10 -0
- package/dist/schema/bound/index.d.ts.map +1 -0
- package/dist/schema/bound/index.js +5 -0
- package/dist/schema/bound/index.js.map +1 -0
- package/dist/schema/bound/view.d.ts +48 -0
- package/dist/schema/bound/view.d.ts.map +1 -0
- package/dist/schema/bound/view.js +90 -0
- package/dist/schema/bound/view.js.map +1 -0
- package/dist/schema/bound/write-props.d.ts +38 -0
- package/dist/schema/bound/write-props.d.ts.map +1 -0
- package/dist/schema/bound/write-props.js +2 -0
- package/dist/schema/bound/write-props.js.map +1 -0
- package/dist/schema/extract.d.ts +12 -0
- package/dist/schema/extract.d.ts.map +1 -1
- package/dist/schema/extract.js +16 -0
- package/dist/schema/extract.js.map +1 -1
- package/dist/schema/index.d.ts +7 -3
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +4 -2
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/node-proxy.d.ts +9 -0
- package/dist/schema/node-proxy.d.ts.map +1 -1
- package/dist/schema/node-proxy.js +31 -1
- package/dist/schema/node-proxy.js.map +1 -1
- package/dist/{persistence → schema}/persistence.d.ts +1 -22
- package/dist/schema/persistence.d.ts.map +1 -0
- package/dist/schema/persistence.js +2 -0
- package/dist/schema/persistence.js.map +1 -0
- package/dist/schema/proxy-types.d.ts +28 -22
- package/dist/schema/proxy-types.d.ts.map +1 -1
- package/dist/schema/registry.d.ts +1 -2
- package/dist/schema/registry.d.ts.map +1 -1
- package/dist/schema/registry.js +1 -2
- package/dist/schema/registry.js.map +1 -1
- package/dist/session/bound.d.ts.map +1 -1
- package/dist/session/bound.js +15 -2
- package/dist/session/bound.js.map +1 -1
- package/dist/session/client-session.d.ts +1 -1
- package/dist/session/client-session.d.ts.map +1 -1
- package/dist/session/client-session.js +5 -5
- package/dist/session/client-session.js.map +1 -1
- package/dist/session/config.d.ts +8 -4
- package/dist/session/config.d.ts.map +1 -1
- package/dist/{delegation → session/delegation}/cache.d.ts +3 -4
- package/dist/session/delegation/cache.d.ts.map +1 -0
- package/dist/session/delegation/cache.js.map +1 -0
- package/dist/{delegation → session/delegation}/errors.d.ts +1 -1
- package/dist/session/delegation/errors.d.ts.map +1 -0
- package/dist/{delegation → session/delegation}/errors.js +1 -1
- package/dist/session/delegation/errors.js.map +1 -0
- package/dist/session/delegation/policy.d.ts.map +1 -0
- package/dist/{delegation → session/delegation}/policy.js +1 -1
- package/dist/session/delegation/policy.js.map +1 -0
- package/dist/session/delegation-mint.d.ts +13 -0
- package/dist/session/delegation-mint.d.ts.map +1 -0
- package/dist/session/delegation-mint.js +31 -0
- package/dist/session/delegation-mint.js.map +1 -0
- package/dist/session/errors/index.d.ts +2 -2
- package/dist/session/errors/index.d.ts.map +1 -1
- package/dist/session/errors/index.js +2 -2
- package/dist/session/errors/index.js.map +1 -1
- package/dist/session/helpers.js +2 -2
- package/dist/session/helpers.js.map +1 -1
- package/dist/session/index.d.ts +9 -1
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +6 -1
- package/dist/session/index.js.map +1 -1
- package/dist/{redirect → session/redirect}/errors.d.ts +1 -1
- package/dist/session/redirect/errors.d.ts.map +1 -0
- package/dist/{redirect → session/redirect}/errors.js +1 -1
- package/dist/session/redirect/errors.js.map +1 -0
- package/dist/session/redirect/policy.d.ts.map +1 -0
- package/dist/{redirect → session/redirect}/policy.js +1 -1
- package/dist/session/redirect/policy.js.map +1 -0
- package/dist/session/types.d.ts +13 -2
- package/dist/session/types.d.ts.map +1 -1
- package/dist/store/canonicalize.d.ts +44 -0
- package/dist/store/canonicalize.d.ts.map +1 -0
- package/dist/store/canonicalize.js +0 -0
- package/dist/store/canonicalize.js.map +1 -0
- package/dist/store/entities.d.ts +81 -0
- package/dist/store/entities.d.ts.map +1 -0
- package/dist/store/entities.js +202 -0
- package/dist/store/entities.js.map +1 -0
- package/dist/store/index.d.ts +26 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/index.js +19 -0
- package/dist/store/index.js.map +1 -0
- package/dist/store/invalidate.d.ts +66 -0
- package/dist/store/invalidate.d.ts.map +1 -0
- package/dist/store/invalidate.js +117 -0
- package/dist/store/invalidate.js.map +1 -0
- package/dist/store/memory.d.ts +97 -0
- package/dist/store/memory.d.ts.map +1 -0
- package/dist/store/memory.js +790 -0
- package/dist/store/memory.js.map +1 -0
- package/dist/store/overlay.d.ts +118 -0
- package/dist/store/overlay.d.ts.map +1 -0
- package/dist/store/overlay.js +237 -0
- package/dist/store/overlay.js.map +1 -0
- package/dist/store/schedule.d.ts +31 -0
- package/dist/store/schedule.d.ts.map +1 -0
- package/dist/store/schedule.js +76 -0
- package/dist/store/schedule.js.map +1 -0
- package/dist/store/shapes.d.ts +92 -0
- package/dist/store/shapes.d.ts.map +1 -0
- package/dist/store/shapes.js +369 -0
- package/dist/store/shapes.js.map +1 -0
- package/dist/store/types.d.ts +168 -0
- package/dist/store/types.d.ts.map +1 -0
- package/dist/store/types.js +7 -0
- package/dist/store/types.js.map +1 -0
- package/dist/transport/fetch.d.ts +1 -1
- package/dist/transport/fetch.js +1 -1
- package/package.json +17 -33
- package/dist/delegation/cache.d.ts.map +0 -1
- package/dist/delegation/cache.js.map +0 -1
- package/dist/delegation/errors.d.ts.map +0 -1
- package/dist/delegation/errors.js.map +0 -1
- package/dist/delegation/index.d.ts +0 -6
- package/dist/delegation/index.d.ts.map +0 -1
- package/dist/delegation/index.js +0 -4
- package/dist/delegation/index.js.map +0 -1
- package/dist/delegation/policy.d.ts.map +0 -1
- package/dist/delegation/policy.js.map +0 -1
- package/dist/persistence/index.d.ts +0 -3
- package/dist/persistence/index.d.ts.map +0 -1
- package/dist/persistence/index.js +0 -2
- package/dist/persistence/index.js.map +0 -1
- package/dist/persistence/persistence.d.ts.map +0 -1
- package/dist/persistence/persistence.js +0 -32
- package/dist/persistence/persistence.js.map +0 -1
- package/dist/redirect/errors.d.ts.map +0 -1
- package/dist/redirect/errors.js.map +0 -1
- package/dist/redirect/index.d.ts +0 -4
- package/dist/redirect/index.d.ts.map +0 -1
- package/dist/redirect/index.js +0 -3
- package/dist/redirect/index.js.map +0 -1
- package/dist/redirect/policy.d.ts.map +0 -1
- package/dist/redirect/policy.js.map +0 -1
- /package/dist/{delegation → session/delegation}/cache.js +0 -0
- /package/dist/{delegation → session/delegation}/policy.d.ts +0 -0
- /package/dist/{redirect → session/redirect}/policy.d.ts +0 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Caller resolution for the auth surface — the live `whoami` verb, the memoized
|
|
3
|
+
* principal id (one per bound view), and ref→dispatch-address resolution over
|
|
4
|
+
* the shared {@link GraphCall} capability.
|
|
5
|
+
*/
|
|
6
|
+
import { Graph } from '@astrale-os/kernel-core';
|
|
7
|
+
import { refRaw } from '../graph/mutate';
|
|
8
|
+
import { instanceTarget, WHOAMI_PATH } from './addressing';
|
|
9
|
+
/** Assert the whoami dispatch produced a node record; throw loud otherwise. */
|
|
10
|
+
function asWhoamiWire(raw) {
|
|
11
|
+
if (raw === null || typeof raw !== 'object' || typeof raw.id !== 'string') {
|
|
12
|
+
throw new Error('Identity.whoami returned an unexpected shape — expected a node record');
|
|
13
|
+
}
|
|
14
|
+
return raw;
|
|
15
|
+
}
|
|
16
|
+
/** Hydrate the single-node whoami wire record into kernel-core's Node value. */
|
|
17
|
+
function adaptWhoami(node) {
|
|
18
|
+
const graph = Graph.fromWire({ nodes: [node], edges: [] });
|
|
19
|
+
const found = graph.nodes.byId(node.id);
|
|
20
|
+
if (found === undefined) {
|
|
21
|
+
throw new Error('Identity.whoami returned a node that could not be hydrated');
|
|
22
|
+
}
|
|
23
|
+
return found;
|
|
24
|
+
}
|
|
25
|
+
/** Bind the caller resolver onto a call capability — one principal memo per view. */
|
|
26
|
+
export function createCaller(call) {
|
|
27
|
+
// Principal memo — id only, a PROMISE so concurrent first callers dedup to ONE
|
|
28
|
+
// whoami dispatch. Separate from the public `whoami()`, which is never cached.
|
|
29
|
+
let principalMemo;
|
|
30
|
+
const rawWhoami = async () => asWhoamiWire(await call(WHOAMI_PATH, {}));
|
|
31
|
+
const principal = () => {
|
|
32
|
+
if (principalMemo === undefined) {
|
|
33
|
+
principalMemo = rawWhoami().then((node) => node.id, (error) => {
|
|
34
|
+
principalMemo = undefined; // clear on rejection so the next call retries
|
|
35
|
+
throw error;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
return principalMemo;
|
|
39
|
+
};
|
|
40
|
+
return {
|
|
41
|
+
whoami: async () => adaptWhoami(await rawWhoami()),
|
|
42
|
+
principal,
|
|
43
|
+
targetFor: async (ref, slug) => instanceTarget(ref !== undefined ? refRaw(ref) : await principal(), slug),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=principal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"principal.js","sourceRoot":"","sources":["../../src/auth/principal.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAI/C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAK1D,+EAA+E;AAC/E,SAAS,YAAY,CAAC,GAAY;IAChC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAQ,GAAwB,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAChG,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;IAC1F,CAAC;IACD,OAAO,GAAiB,CAAA;AAC1B,CAAC;AAED,gFAAgF;AAChF,SAAS,WAAW,CAAC,IAAgB;IACnC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;IAC/E,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAYD,qFAAqF;AACrF,MAAM,UAAU,YAAY,CAAC,IAAe;IAC1C,+EAA+E;IAC/E,+EAA+E;IAC/E,IAAI,aAA0C,CAAA;IAE9C,MAAM,SAAS,GAAG,KAAK,IAAyB,EAAE,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAA;IAE5F,MAAM,SAAS,GAAG,GAAoB,EAAE;QACtC,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,aAAa,GAAG,SAAS,EAAE,CAAC,IAAI,CAC9B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EACjB,CAAC,KAAc,EAAE,EAAE;gBACjB,aAAa,GAAG,SAAS,CAAA,CAAC,8CAA8C;gBACxE,MAAM,KAAK,CAAA;YACb,CAAC,CACF,CAAA;QACH,CAAC;QACD,OAAO,aAAa,CAAA;IACtB,CAAC,CAAA;IAED,OAAO;QACL,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,SAAS,EAAE,CAAC;QAClD,SAAS;QACT,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAC7B,cAAc,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,EAAE,EAAE,IAAI,CAAC;KAC5E,CAAA;AACH,CAAC"}
|
package/dist/errors/errors.d.ts
CHANGED
|
@@ -66,6 +66,18 @@ export declare class KernelError extends WebOSError {
|
|
|
66
66
|
readonly data?: unknown;
|
|
67
67
|
constructor(message: string, code: number, type?: string, data?: unknown);
|
|
68
68
|
}
|
|
69
|
+
/** The wire payload could not be decoded into a request envelope. */
|
|
70
|
+
export declare class ParseError extends KernelError {
|
|
71
|
+
constructor(message?: string, data?: unknown);
|
|
72
|
+
}
|
|
73
|
+
/** The decoded request envelope failed protocol validation. */
|
|
74
|
+
export declare class InvalidRequestError extends KernelError {
|
|
75
|
+
constructor(message?: string, data?: unknown);
|
|
76
|
+
}
|
|
77
|
+
/** The kernel returned an internal failure payload. */
|
|
78
|
+
export declare class InternalKernelError extends KernelError {
|
|
79
|
+
constructor(message?: string, data?: unknown);
|
|
80
|
+
}
|
|
69
81
|
/**
|
|
70
82
|
* Validation error. `errors` holds the server-reported `FieldError[]`,
|
|
71
83
|
* orthogonal to the inherited `WebOSError.details` (which carries
|
|
@@ -87,6 +99,47 @@ export declare class InvariantViolationError extends KernelError {
|
|
|
87
99
|
export declare class NotFoundError extends WebOSError {
|
|
88
100
|
constructor(message?: string);
|
|
89
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* A `get()` / `getOrThrow()` read resolved to no visible node at the address.
|
|
104
|
+
* DELIBERATELY opaque: it does NOT distinguish "does not exist" from "exists but
|
|
105
|
+
* not READable by the caller" — the kernel folds both to an empty read so
|
|
106
|
+
* neither can be probed. `context` prefixes the message with the caller's intent.
|
|
107
|
+
*/
|
|
108
|
+
export declare class NodeUnavailableError extends WebOSError {
|
|
109
|
+
readonly path: string;
|
|
110
|
+
constructor(path: string, context?: string);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* One entry's fate in a batched auth operation. `input` summarizes the entry so
|
|
114
|
+
* a caller can tell WHICH one it is. `value` is present only when fulfilled (so
|
|
115
|
+
* a partial-failure catcher can recover successes); `error` only when rejected.
|
|
116
|
+
*/
|
|
117
|
+
export type AuthBatchOutcome = {
|
|
118
|
+
index: number;
|
|
119
|
+
/** Perm verbs: the caller's entry; bind/unbind: a `{ who, edge, counterparty }` dispatch summary. */
|
|
120
|
+
input: unknown;
|
|
121
|
+
status: 'fulfilled' | 'rejected';
|
|
122
|
+
value?: unknown;
|
|
123
|
+
error?: unknown;
|
|
124
|
+
};
|
|
125
|
+
/**
|
|
126
|
+
* A batched auth call had at least one entry fail. Set semantics, not a
|
|
127
|
+
* transaction: partial application is possible, so this carries EVERY entry's
|
|
128
|
+
* outcome — inspect {@link outcomes} (or {@link failures}) to see which landed.
|
|
129
|
+
*/
|
|
130
|
+
export declare class AuthBatchError extends WebOSError {
|
|
131
|
+
/** The verb that fanned out — `'check' | 'grant' | 'revoke' | 'bind' | 'unbind'`. */
|
|
132
|
+
readonly operation: string;
|
|
133
|
+
/** Positionally-aligned outcome per dispatched entry. */
|
|
134
|
+
readonly outcomes: readonly AuthBatchOutcome[];
|
|
135
|
+
constructor(
|
|
136
|
+
/** The verb that fanned out — `'check' | 'grant' | 'revoke' | 'bind' | 'unbind'`. */
|
|
137
|
+
operation: string,
|
|
138
|
+
/** Positionally-aligned outcome per dispatched entry. */
|
|
139
|
+
outcomes: readonly AuthBatchOutcome[]);
|
|
140
|
+
/** The rejected entries only — the subset a caller must react to. */
|
|
141
|
+
get failures(): readonly AuthBatchOutcome[];
|
|
142
|
+
}
|
|
90
143
|
/**
|
|
91
144
|
* Map a `{ code, message, data }` envelope error to a typed `WebOSError`.
|
|
92
145
|
* The caller is responsible for attaching `ClientErrorDetails` via
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAIzF,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAI3D;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,aAAa,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,WAAW,CAAC,EAAE,eAAe,CAAA;CAC9B,CAAA;AAID,qBAAa,UAAW,SAAQ,KAAK;IACnC,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAE5B,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAGlD;CACF;AAID,qBAAa,eAAgB,SAAQ,UAAU;IAC7C,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAGlD;CACF;AAED,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C,YAAY,OAAO,SAA2C,EAG7D;CACF;AAED,qBAAa,YAAa,SAAQ,UAAU;aAExB,SAAS,EAAE,MAAM;aACjB,SAAS,EAAE,MAAM;IAFnC,YACkB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EAIlC;CACF;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;IACnD,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,UAAU;IACvD,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAID,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;AAE1D,qBAAa,mBAAoB,SAAQ,UAAU;aAG/B,MAAM,EAAE,UAAU;IAFpC,YACE,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,UAAU,EAInC;CACF;AAED,qBAAa,qBAAsB,SAAQ,UAAU;IACnD,YAAY,OAAO,SAAsB,EAGxC;CACF;AAID,qBAAa,WAAY,SAAQ,UAAU;aAGvB,IAAI,EAAE,MAAM;aACZ,IAAI,EAAE,MAAM;aACZ,IAAI,CAAC,EAAE,OAAO;IAJhC,YACE,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,MAAuB,EAC7B,IAAI,CAAC,EAAE,OAAO,EAI/B;CACF;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,SAAgB,MAAM,EAAE,UAAU,EAAE,CAAA;IAEpC,YAAY,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,EAIhD;IAED,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAEnD;IAED,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpC;CACF;AAED,qBAAa,uBAAwB,SAAQ,WAAW;IACtD,SAAgB,MAAM,EAAE,cAAc,EAAE,CAAA;IAExC,YAAY,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,EAIpD;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEjD;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9B;CACF;AAED,qBAAa,aAAc,SAAQ,UAAU;IAC3C,YAAY,OAAO,SAAc,EAGhC;CACF;AAUD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/errors/errors.js
CHANGED
|
@@ -79,6 +79,27 @@ export class KernelError extends WebOSError {
|
|
|
79
79
|
this.name = 'KernelError';
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
|
+
/** The wire payload could not be decoded into a request envelope. */
|
|
83
|
+
export class ParseError extends KernelError {
|
|
84
|
+
constructor(message = 'Parse error', data) {
|
|
85
|
+
super(message, KERNEL_ERROR_CODES.PARSE_ERROR, 'PARSE_ERROR', data);
|
|
86
|
+
this.name = 'ParseError';
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/** The decoded request envelope failed protocol validation. */
|
|
90
|
+
export class InvalidRequestError extends KernelError {
|
|
91
|
+
constructor(message = 'Invalid request', data) {
|
|
92
|
+
super(message, KERNEL_ERROR_CODES.INVALID_REQUEST, 'INVALID_REQUEST', data);
|
|
93
|
+
this.name = 'InvalidRequestError';
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/** The kernel returned an internal failure payload. */
|
|
97
|
+
export class InternalKernelError extends KernelError {
|
|
98
|
+
constructor(message = 'Internal kernel error', data) {
|
|
99
|
+
super(message, KERNEL_ERROR_CODES.INTERNAL_ERROR, 'INTERNAL_ERROR', data);
|
|
100
|
+
this.name = 'InternalKernelError';
|
|
101
|
+
}
|
|
102
|
+
}
|
|
82
103
|
/**
|
|
83
104
|
* Validation error. `errors` holds the server-reported `FieldError[]`,
|
|
84
105
|
* orthogonal to the inherited `WebOSError.details` (which carries
|
|
@@ -119,6 +140,46 @@ export class NotFoundError extends WebOSError {
|
|
|
119
140
|
this.name = 'NotFoundError';
|
|
120
141
|
}
|
|
121
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* A `get()` / `getOrThrow()` read resolved to no visible node at the address.
|
|
145
|
+
* DELIBERATELY opaque: it does NOT distinguish "does not exist" from "exists but
|
|
146
|
+
* not READable by the caller" — the kernel folds both to an empty read so
|
|
147
|
+
* neither can be probed. `context` prefixes the message with the caller's intent.
|
|
148
|
+
*/
|
|
149
|
+
export class NodeUnavailableError extends WebOSError {
|
|
150
|
+
path;
|
|
151
|
+
constructor(path, context) {
|
|
152
|
+
super(context
|
|
153
|
+
? `${context}: node "${path}" not found or not visible`
|
|
154
|
+
: `node "${path}" not found or not visible`);
|
|
155
|
+
this.path = path;
|
|
156
|
+
this.name = 'NodeUnavailableError';
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* A batched auth call had at least one entry fail. Set semantics, not a
|
|
161
|
+
* transaction: partial application is possible, so this carries EVERY entry's
|
|
162
|
+
* outcome — inspect {@link outcomes} (or {@link failures}) to see which landed.
|
|
163
|
+
*/
|
|
164
|
+
export class AuthBatchError extends WebOSError {
|
|
165
|
+
operation;
|
|
166
|
+
outcomes;
|
|
167
|
+
constructor(
|
|
168
|
+
/** The verb that fanned out — `'check' | 'grant' | 'revoke' | 'bind' | 'unbind'`. */
|
|
169
|
+
operation,
|
|
170
|
+
/** Positionally-aligned outcome per dispatched entry. */
|
|
171
|
+
outcomes) {
|
|
172
|
+
const failures = outcomes.filter((o) => o.status === 'rejected');
|
|
173
|
+
super(`auth.${operation}: ${failures.length} of ${outcomes.length} entries failed`);
|
|
174
|
+
this.operation = operation;
|
|
175
|
+
this.outcomes = outcomes;
|
|
176
|
+
this.name = 'AuthBatchError';
|
|
177
|
+
}
|
|
178
|
+
/** The rejected entries only — the subset a caller must react to. */
|
|
179
|
+
get failures() {
|
|
180
|
+
return this.outcomes.filter((o) => o.status === 'rejected');
|
|
181
|
+
}
|
|
182
|
+
}
|
|
122
183
|
// ─── Error mapping ──────────────────────────────────────
|
|
123
184
|
const AUTH_REASON_BY_CODE = {
|
|
124
185
|
[KERNEL_ERROR_CODES.AUTH_MISSING]: 'missing',
|
|
@@ -131,6 +192,10 @@ const AUTH_REASON_BY_CODE = {
|
|
|
131
192
|
* `withDetails` after mapping.
|
|
132
193
|
*/
|
|
133
194
|
export function mapServerError(code, message, data) {
|
|
195
|
+
if (code === KERNEL_ERROR_CODES.PARSE_ERROR)
|
|
196
|
+
return new ParseError(message, data);
|
|
197
|
+
if (code === KERNEL_ERROR_CODES.INVALID_REQUEST)
|
|
198
|
+
return new InvalidRequestError(message, data);
|
|
134
199
|
const authReason = AUTH_REASON_BY_CODE[code];
|
|
135
200
|
if (authReason)
|
|
136
201
|
return new AuthenticationError(message, authReason);
|
|
@@ -145,13 +210,16 @@ export function mapServerError(code, message, data) {
|
|
|
145
210
|
if (code === KERNEL_ERROR_CODES.INVARIANT_VIOLATION) {
|
|
146
211
|
return new InvariantViolationError(message, readErrors(data));
|
|
147
212
|
}
|
|
213
|
+
if (code === KERNEL_ERROR_CODES.INTERNAL_ERROR)
|
|
214
|
+
return new InternalKernelError(message, data);
|
|
148
215
|
return new KernelError(message, code, 'KERNEL_ERROR', data);
|
|
149
216
|
}
|
|
150
217
|
function readErrors(data) {
|
|
151
218
|
if (Array.isArray(data))
|
|
152
219
|
return data;
|
|
153
220
|
if (data && typeof data === 'object') {
|
|
154
|
-
const
|
|
221
|
+
const record = data;
|
|
222
|
+
const errs = record.errors ?? record.details;
|
|
155
223
|
if (Array.isArray(errs))
|
|
156
224
|
return errs;
|
|
157
225
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors/errors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { PoolClosedError } from '../pool/errors';
|
|
2
|
+
import type { DelegationMintError, DelegationPolicyError, DelegationRefusedError } from '../session/delegation/errors';
|
|
3
|
+
import type { IdentityPickerError, PersistenceLoadFailedError, RegistryWriteFailedError, SchemaOwnershipConflictError, UnresolvedIdentityError } from '../session/errors/session-errors';
|
|
4
|
+
import type { HopLimitExceededError, RedirectPolicyError, RedirectRefusedError } from '../session/redirect/errors';
|
|
5
|
+
import type { ClientSessionError } from './session-error';
|
|
6
|
+
import { AuthBatchError, AuthenticationError, ConnectionError, DisconnectedError, InternalKernelError, InvalidRequestError, InvalidTransportError, InvariantViolationError, KernelError, NodeUnavailableError, NotFoundError, ParseError, PermissionDeniedError, TimeoutError, UnsupportedTransportError, ValidationError, WebOSError } from './errors';
|
|
7
|
+
export type TransportError = ConnectionError | DisconnectedError | TimeoutError;
|
|
8
|
+
export type IdentityError = UnresolvedIdentityError | IdentityPickerError;
|
|
9
|
+
export type KernelErrorKind = 'authentication' | 'permission-denied' | 'not-found' | 'validation' | 'invariant-violation' | 'parse-error' | 'invalid-request' | 'internal' | 'node-unavailable' | 'auth-batch' | 'redirect-refused' | 'redirect-policy' | 'hop-limit' | 'delegation-refused' | 'delegation-mint' | 'delegation-policy' | 'identity' | 'registry-write' | 'schema-ownership' | 'persistence-load' | 'pool-closed' | 'transport' | 'invalid-transport' | 'unsupported-transport' | 'kernel' | 'client-session' | 'client' | 'unknown';
|
|
10
|
+
export declare function isPermissionDeniedError(e: unknown): e is PermissionDeniedError;
|
|
11
|
+
export declare function isNotFoundError(e: unknown): e is NotFoundError;
|
|
12
|
+
export declare function isValidationError(e: unknown): e is ValidationError;
|
|
13
|
+
export declare function isAuthenticationError(e: unknown): e is AuthenticationError;
|
|
14
|
+
export declare function isRedirectRefusedError(e: unknown): e is RedirectRefusedError;
|
|
15
|
+
export declare function isTransportError(e: unknown): e is TransportError;
|
|
16
|
+
export declare function isInvariantViolationError(e: unknown): e is InvariantViolationError;
|
|
17
|
+
export declare function isParseError(e: unknown): e is ParseError;
|
|
18
|
+
export declare function isInvalidRequestError(e: unknown): e is InvalidRequestError;
|
|
19
|
+
export declare function isInternalKernelError(e: unknown): e is InternalKernelError;
|
|
20
|
+
export declare function isNodeUnavailableError(e: unknown): e is NodeUnavailableError;
|
|
21
|
+
export declare function isAuthBatchError(e: unknown): e is AuthBatchError;
|
|
22
|
+
export declare function isRedirectPolicyError(e: unknown): e is RedirectPolicyError;
|
|
23
|
+
export declare function isHopLimitExceededError(e: unknown): e is HopLimitExceededError;
|
|
24
|
+
export declare function isDelegationRefusedError(e: unknown): e is DelegationRefusedError;
|
|
25
|
+
export declare function isDelegationMintError(e: unknown): e is DelegationMintError;
|
|
26
|
+
export declare function isDelegationPolicyError(e: unknown): e is DelegationPolicyError;
|
|
27
|
+
export declare function isIdentityError(e: unknown): e is IdentityError;
|
|
28
|
+
export declare function isRegistryWriteFailedError(e: unknown): e is RegistryWriteFailedError;
|
|
29
|
+
export declare function isSchemaOwnershipConflictError(e: unknown): e is SchemaOwnershipConflictError;
|
|
30
|
+
export declare function isPersistenceLoadFailedError(e: unknown): e is PersistenceLoadFailedError;
|
|
31
|
+
export declare function isPoolClosedError(e: unknown): e is PoolClosedError;
|
|
32
|
+
export declare function isInvalidTransportError(e: unknown): e is InvalidTransportError;
|
|
33
|
+
export declare function isUnsupportedTransportError(e: unknown): e is UnsupportedTransportError;
|
|
34
|
+
export declare function isKernelError(e: unknown): e is KernelError;
|
|
35
|
+
export declare function isClientSessionError(e: unknown): e is ClientSessionError;
|
|
36
|
+
export declare function isWebOSError(e: unknown): e is WebOSError;
|
|
37
|
+
/** Classify an unknown thrown value for UI affordance selection. */
|
|
38
|
+
export declare function classifyKernelError(e: unknown): KernelErrorKind;
|
|
39
|
+
//# sourceMappingURL=guards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../src/errors/guards.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { AuthBatchError, AuthenticationError, ConnectionError, DisconnectedError, InternalKernelError, InvalidRequestError, InvalidTransportError, InvariantViolationError, KernelError, NodeUnavailableError, NotFoundError, ParseError, PermissionDeniedError, TimeoutError, UnsupportedTransportError, ValidationError, WebOSError, } from './errors';
|
|
2
|
+
export function isPermissionDeniedError(e) {
|
|
3
|
+
return e instanceof PermissionDeniedError;
|
|
4
|
+
}
|
|
5
|
+
export function isNotFoundError(e) {
|
|
6
|
+
return e instanceof NotFoundError;
|
|
7
|
+
}
|
|
8
|
+
export function isValidationError(e) {
|
|
9
|
+
return e instanceof ValidationError;
|
|
10
|
+
}
|
|
11
|
+
export function isAuthenticationError(e) {
|
|
12
|
+
return e instanceof AuthenticationError;
|
|
13
|
+
}
|
|
14
|
+
export function isRedirectRefusedError(e) {
|
|
15
|
+
return hasNameAndKind(e, 'RedirectRefusedError', 'REDIRECT_REFUSED');
|
|
16
|
+
}
|
|
17
|
+
export function isTransportError(e) {
|
|
18
|
+
return e instanceof ConnectionError || e instanceof DisconnectedError || e instanceof TimeoutError;
|
|
19
|
+
}
|
|
20
|
+
export function isInvariantViolationError(e) {
|
|
21
|
+
return e instanceof InvariantViolationError;
|
|
22
|
+
}
|
|
23
|
+
export function isParseError(e) {
|
|
24
|
+
return e instanceof ParseError;
|
|
25
|
+
}
|
|
26
|
+
export function isInvalidRequestError(e) {
|
|
27
|
+
return e instanceof InvalidRequestError;
|
|
28
|
+
}
|
|
29
|
+
export function isInternalKernelError(e) {
|
|
30
|
+
return e instanceof InternalKernelError;
|
|
31
|
+
}
|
|
32
|
+
export function isNodeUnavailableError(e) {
|
|
33
|
+
return e instanceof NodeUnavailableError;
|
|
34
|
+
}
|
|
35
|
+
export function isAuthBatchError(e) {
|
|
36
|
+
return e instanceof AuthBatchError;
|
|
37
|
+
}
|
|
38
|
+
export function isRedirectPolicyError(e) {
|
|
39
|
+
return hasNameAndKind(e, 'RedirectPolicyError', 'REDIRECT_POLICY_THREW');
|
|
40
|
+
}
|
|
41
|
+
export function isHopLimitExceededError(e) {
|
|
42
|
+
return hasNameAndKind(e, 'HopLimitExceededError', 'HOP_LIMIT_EXCEEDED');
|
|
43
|
+
}
|
|
44
|
+
export function isDelegationRefusedError(e) {
|
|
45
|
+
return hasNameAndKind(e, 'DelegationRefusedError', 'DELEGATION_REFUSED');
|
|
46
|
+
}
|
|
47
|
+
export function isDelegationMintError(e) {
|
|
48
|
+
return hasNameAndKind(e, 'DelegationMintError', 'DELEGATION_MINT_FAILED');
|
|
49
|
+
}
|
|
50
|
+
export function isDelegationPolicyError(e) {
|
|
51
|
+
return hasNameAndKind(e, 'DelegationPolicyError', 'DELEGATION_POLICY_THREW');
|
|
52
|
+
}
|
|
53
|
+
export function isIdentityError(e) {
|
|
54
|
+
return (hasNameAndKind(e, 'UnresolvedIdentityError', 'IDENTITY_UNRESOLVED') ||
|
|
55
|
+
hasNameAndKind(e, 'IdentityPickerError', 'IDENTITY_PICKER_THREW'));
|
|
56
|
+
}
|
|
57
|
+
export function isRegistryWriteFailedError(e) {
|
|
58
|
+
return hasNameAndKind(e, 'RegistryWriteFailedError', 'REGISTRY_WRITE_FAILED');
|
|
59
|
+
}
|
|
60
|
+
export function isSchemaOwnershipConflictError(e) {
|
|
61
|
+
return hasNameAndKind(e, 'SchemaOwnershipConflictError', 'SCHEMA_OWNERSHIP_CONFLICT');
|
|
62
|
+
}
|
|
63
|
+
export function isPersistenceLoadFailedError(e) {
|
|
64
|
+
return hasNameAndKind(e, 'PersistenceLoadFailedError', 'PERSISTENCE_LOAD_FAILED');
|
|
65
|
+
}
|
|
66
|
+
export function isPoolClosedError(e) {
|
|
67
|
+
return hasNameAndKind(e, 'PoolClosedError', 'POOL_CLOSED');
|
|
68
|
+
}
|
|
69
|
+
export function isInvalidTransportError(e) {
|
|
70
|
+
return e instanceof InvalidTransportError;
|
|
71
|
+
}
|
|
72
|
+
export function isUnsupportedTransportError(e) {
|
|
73
|
+
return e instanceof UnsupportedTransportError;
|
|
74
|
+
}
|
|
75
|
+
export function isKernelError(e) {
|
|
76
|
+
return e instanceof KernelError;
|
|
77
|
+
}
|
|
78
|
+
export function isClientSessionError(e) {
|
|
79
|
+
return e instanceof WebOSError && !isPoolClosedError(e) && typeof getKind(e) === 'string';
|
|
80
|
+
}
|
|
81
|
+
export function isWebOSError(e) {
|
|
82
|
+
return e instanceof WebOSError;
|
|
83
|
+
}
|
|
84
|
+
const KERNEL_ERROR_CLASSIFIERS = [
|
|
85
|
+
['authentication', isAuthenticationError],
|
|
86
|
+
['permission-denied', isPermissionDeniedError],
|
|
87
|
+
['not-found', isNotFoundError],
|
|
88
|
+
['validation', isValidationError],
|
|
89
|
+
['invariant-violation', isInvariantViolationError],
|
|
90
|
+
['parse-error', isParseError],
|
|
91
|
+
['invalid-request', isInvalidRequestError],
|
|
92
|
+
['internal', isInternalKernelError],
|
|
93
|
+
['node-unavailable', isNodeUnavailableError],
|
|
94
|
+
['auth-batch', isAuthBatchError],
|
|
95
|
+
['redirect-refused', isRedirectRefusedError],
|
|
96
|
+
['redirect-policy', isRedirectPolicyError],
|
|
97
|
+
['hop-limit', isHopLimitExceededError],
|
|
98
|
+
['delegation-refused', isDelegationRefusedError],
|
|
99
|
+
['delegation-mint', isDelegationMintError],
|
|
100
|
+
['delegation-policy', isDelegationPolicyError],
|
|
101
|
+
['identity', isIdentityError],
|
|
102
|
+
['registry-write', isRegistryWriteFailedError],
|
|
103
|
+
['schema-ownership', isSchemaOwnershipConflictError],
|
|
104
|
+
['persistence-load', isPersistenceLoadFailedError],
|
|
105
|
+
['pool-closed', isPoolClosedError],
|
|
106
|
+
['transport', isTransportError],
|
|
107
|
+
['invalid-transport', isInvalidTransportError],
|
|
108
|
+
['unsupported-transport', isUnsupportedTransportError],
|
|
109
|
+
['kernel', isKernelError],
|
|
110
|
+
['client-session', isClientSessionError],
|
|
111
|
+
['client', isWebOSError],
|
|
112
|
+
];
|
|
113
|
+
/** Classify an unknown thrown value for UI affordance selection. */
|
|
114
|
+
export function classifyKernelError(e) {
|
|
115
|
+
for (const [kind, guard] of KERNEL_ERROR_CLASSIFIERS) {
|
|
116
|
+
if (guard(e))
|
|
117
|
+
return kind;
|
|
118
|
+
}
|
|
119
|
+
return 'unknown';
|
|
120
|
+
}
|
|
121
|
+
function hasNameAndKind(e, name, kind) {
|
|
122
|
+
return e instanceof Error && e.name === name && getKind(e) === kind;
|
|
123
|
+
}
|
|
124
|
+
function getKind(e) {
|
|
125
|
+
return e !== null && typeof e === 'object' ? e.kind : undefined;
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=guards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/errors/guards.ts"],"names":[],"mappings":"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"}
|
package/dist/errors/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
export { AuthenticationError, ConnectionError, DisconnectedError, InvalidTransportError, InvariantViolationError, KernelError, NotFoundError, PermissionDeniedError, TimeoutError, UnsupportedTransportError, ValidationError, WebOSError, mapServerError, withDetails, } from './errors';
|
|
2
|
-
export type { AuthReason, ClientErrorDetails } from './errors';
|
|
1
|
+
export { AuthBatchError, AuthenticationError, ConnectionError, DisconnectedError, InternalKernelError, InvalidTransportError, InvalidRequestError, InvariantViolationError, KernelError, NodeUnavailableError, NotFoundError, ParseError, PermissionDeniedError, TimeoutError, UnsupportedTransportError, ValidationError, WebOSError, mapServerError, withDetails, } from './errors';
|
|
2
|
+
export type { AuthBatchOutcome, AuthReason, ClientErrorDetails } from './errors';
|
|
3
|
+
export { classifyKernelError, isAuthBatchError, isAuthenticationError, isClientSessionError, isDelegationMintError, isDelegationPolicyError, isDelegationRefusedError, isHopLimitExceededError, isIdentityError, isInternalKernelError, isInvalidRequestError, isInvalidTransportError, isInvariantViolationError, isKernelError, isNodeUnavailableError, isNotFoundError, isParseError, isPermissionDeniedError, isPersistenceLoadFailedError, isPoolClosedError, isRedirectPolicyError, isRedirectRefusedError, isRegistryWriteFailedError, isSchemaOwnershipConflictError, isTransportError, isUnsupportedTransportError, isValidationError, isWebOSError, } from './guards';
|
|
4
|
+
export type { IdentityError, KernelErrorKind, TransportError } from './guards';
|
|
3
5
|
export { ClientSessionError } from './session-error';
|
|
4
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,EACzB,eAAe,EACf,UAAU,EACV,cAAc,EACd,WAAW,GACZ,MAAM,UAAU,CAAA;AACjB,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,EACzB,eAAe,EACf,UAAU,EACV,cAAc,EACd,WAAW,GACZ,MAAM,UAAU,CAAA;AACjB,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAChF,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,4BAA4B,EAC5B,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,8BAA8B,EAC9B,gBAAgB,EAChB,2BAA2B,EAC3B,iBAAiB,EACjB,YAAY,GACb,MAAM,UAAU,CAAA;AACjB,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA"}
|
package/dist/errors/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export { AuthenticationError, ConnectionError, DisconnectedError, InvalidTransportError, InvariantViolationError, KernelError, NotFoundError, PermissionDeniedError, TimeoutError, UnsupportedTransportError, ValidationError, WebOSError, mapServerError, withDetails, } from './errors';
|
|
1
|
+
export { AuthBatchError, AuthenticationError, ConnectionError, DisconnectedError, InternalKernelError, InvalidTransportError, InvalidRequestError, InvariantViolationError, KernelError, NodeUnavailableError, NotFoundError, ParseError, PermissionDeniedError, TimeoutError, UnsupportedTransportError, ValidationError, WebOSError, mapServerError, withDetails, } from './errors';
|
|
2
|
+
export { classifyKernelError, isAuthBatchError, isAuthenticationError, isClientSessionError, isDelegationMintError, isDelegationPolicyError, isDelegationRefusedError, isHopLimitExceededError, isIdentityError, isInternalKernelError, isInvalidRequestError, isInvalidTransportError, isInvariantViolationError, isKernelError, isNodeUnavailableError, isNotFoundError, isParseError, isPermissionDeniedError, isPersistenceLoadFailedError, isPoolClosedError, isRedirectPolicyError, isRedirectRefusedError, isRegistryWriteFailedError, isSchemaOwnershipConflictError, isTransportError, isUnsupportedTransportError, isValidationError, isWebOSError, } from './guards';
|
|
2
3
|
export { ClientSessionError } from './session-error';
|
|
3
4
|
//# sourceMappingURL=index.js.map
|
package/dist/errors/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,EACzB,eAAe,EACf,UAAU,EACV,cAAc,EACd,WAAW,GACZ,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,EACzB,eAAe,EACf,UAAU,EACV,cAAc,EACd,WAAW,GACZ,MAAM,UAAU,CAAA;AAEjB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,4BAA4B,EAC5B,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,8BAA8B,EAC9B,gBAAgB,EAChB,2BAA2B,EAC3B,iBAAiB,EACjB,YAAY,GACb,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `GraphApi` surface and its one implementation, `createGraph` — graph
|
|
3
|
+
* sugar over the two batch syscalls (`function.get` / `function.mutate`),
|
|
4
|
+
* pure over a {@link GraphCall} capability. Bound per context: the shell
|
|
5
|
+
* exposes it as `shell.kernel.graph`, the SDK as `ctx.graph`, and a client
|
|
6
|
+
* session flattens it directly onto the view (`session.as(cred).get`, `.query`,
|
|
7
|
+
* `.mutate`, …).
|
|
8
|
+
*/
|
|
9
|
+
import type { QueryASTInput } from '@astrale-os/kernel-core';
|
|
10
|
+
import type { PatchBuilder, PatchInput, WriteShorthands } from './mutate';
|
|
11
|
+
import type { GatherBuilder, QuerySource, ReadShorthands } from './query';
|
|
12
|
+
import type { GraphResult } from './result';
|
|
13
|
+
import type { MutationResultWire } from './wire';
|
|
14
|
+
/** Colon FunctionPath of the `function.get` read syscall. */
|
|
15
|
+
export declare const KERNEL_GET_PATH: string;
|
|
16
|
+
/** Colon FunctionPath of the `function.mutate` write syscall. */
|
|
17
|
+
export declare const KERNEL_MUTATE_PATH: string;
|
|
18
|
+
/**
|
|
19
|
+
* Graph sugar over the two batch syscalls (`function.get`/`function.mutate`).
|
|
20
|
+
*
|
|
21
|
+
* Two operations: `query` (structured read) and `mutate` (batch write), plus
|
|
22
|
+
* the read/write shorthand families.
|
|
23
|
+
*
|
|
24
|
+
* READS are 0..N: a read whose roots all fail to resolve folds to an EMPTY
|
|
25
|
+
* envelope, never a NOT_FOUND throw (at this surface missing ≡ masked). WRITES
|
|
26
|
+
* return their outcome directly (a minted id, or nothing). Methods otherwise
|
|
27
|
+
* throw whatever the bound call throws (`PermissionDeniedError`,
|
|
28
|
+
* `ValidationError`, …), plus `UnsupportedQueryError` / `InvalidQueryError`
|
|
29
|
+
* from `query` lowering.
|
|
30
|
+
*/
|
|
31
|
+
export interface GraphApi extends ReadShorthands, WriteShorthands {
|
|
32
|
+
/** Structured read — builder callback or AST value. See {@link QueryFn}. */
|
|
33
|
+
query: QueryFn;
|
|
34
|
+
/** Batch write — `function.mutate`, all-or-nothing. See {@link MutateFn}. */
|
|
35
|
+
mutate: MutateFn;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* The write operation `mutate`, two shapes under one name:
|
|
39
|
+
*
|
|
40
|
+
* mutate((m) => { m.createNode(...); m.link(...) }) // fluent builder
|
|
41
|
+
* mutate(patch) // pre-built patch value
|
|
42
|
+
*
|
|
43
|
+
* The builder callback (sync or async) accumulates any mix of node/edge ops,
|
|
44
|
+
* committed as ONE atomic `function.mutate` when it returns; a throw inside it
|
|
45
|
+
* writes nothing. Atomicity covers only the single final write.
|
|
46
|
+
*/
|
|
47
|
+
export interface MutateFn {
|
|
48
|
+
(build: (m: PatchBuilder) => void | Promise<void>): Promise<MutationResultWire>;
|
|
49
|
+
(patch: PatchInput): Promise<MutationResultWire>;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The read operation `query`, two shapes under one name — the structural
|
|
53
|
+
* sibling of {@link MutateFn}:
|
|
54
|
+
*
|
|
55
|
+
* query((q) => q.from(folder).children().out('author')) // fluent builder
|
|
56
|
+
* query(ast) // pre-built AST value
|
|
57
|
+
*
|
|
58
|
+
* Either shape lowers to `function.get`; a capability beyond it throws
|
|
59
|
+
* `UnsupportedQueryError` naming the gap — never a degraded result.
|
|
60
|
+
*/
|
|
61
|
+
export interface QueryFn {
|
|
62
|
+
(build: (q: QuerySource) => GatherBuilder): Promise<GraphResult>;
|
|
63
|
+
(ast: QueryASTInput): Promise<GraphResult>;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* The one capability the graph sugar needs: a plain-value kernel call. Bind it
|
|
67
|
+
* to whatever dispatch surface the host context has — `ClientSession.call`,
|
|
68
|
+
* the shell's `kernel.call`, or the SDK handler's `ctx.kernel.call`.
|
|
69
|
+
*/
|
|
70
|
+
export type GraphCall = (method: string, params: unknown) => Promise<unknown>;
|
|
71
|
+
/** Bind the graph sugar onto a call capability. */
|
|
72
|
+
export declare function createGraph(call: GraphCall, opts?: CreateGraphOpts): GraphApi;
|
|
73
|
+
export type CreateGraphOpts = {
|
|
74
|
+
/**
|
|
75
|
+
* Classify an error thrown by the bound call as the kernel's not-found
|
|
76
|
+
* outcome. Defaults to `instanceof NotFoundError` — correct for every
|
|
77
|
+
* binding that routes through this package's error mapping. Inject only for
|
|
78
|
+
* exotic bindings (in-process test doubles) that bypass `mapServerError`.
|
|
79
|
+
*/
|
|
80
|
+
isNotFound?: (error: unknown) => boolean;
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/graph/api.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAY,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAItE,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,KAAK,EAAiB,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAU/D,6DAA6D;AAC7D,eAAO,MAAM,eAAe,QAA+B,CAAA;AAC3D,iEAAiE;AACjE,eAAO,MAAM,kBAAkB,QAAkC,CAAA;AAEjE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,QAAS,SAAQ,cAAc,EAAE,eAAe;IAC/D,4EAA4E;IAC5E,KAAK,EAAE,OAAO,CAAA;IACd,6EAA6E;IAC7E,MAAM,EAAE,QAAQ,CAAA;CACjB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,QAAQ;IACvB,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC/E,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;CACjD;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,OAAO;IACtB,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IAChE,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;CAC3C;AAED;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAE7E,mDAAmD;AACnD,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,QAAQ,CAuD7E;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAA;CACzC,CAAA"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `GraphApi` surface and its one implementation, `createGraph` — graph
|
|
3
|
+
* sugar over the two batch syscalls (`function.get` / `function.mutate`),
|
|
4
|
+
* pure over a {@link GraphCall} capability. Bound per context: the shell
|
|
5
|
+
* exposes it as `shell.kernel.graph`, the SDK as `ctx.graph`, and a client
|
|
6
|
+
* session flattens it directly onto the view (`session.as(cred).get`, `.query`,
|
|
7
|
+
* `.mutate`, …).
|
|
8
|
+
*/
|
|
9
|
+
import { K, queryAstSchema } from '@astrale-os/kernel-core';
|
|
10
|
+
import { NotFoundError } from '../errors/errors';
|
|
11
|
+
import { makeWriteShorthands, PatchBuilderImpl } from './mutate';
|
|
12
|
+
import { lowerToGet, makeReadShorthands, Q } from './query';
|
|
13
|
+
import { makeGraphResult } from './result';
|
|
14
|
+
// Call addresses straight from the compiled kernel schema — the one canonical
|
|
15
|
+
// accessor, no constant mirrors. Exported as the schema-derived syscall paths
|
|
16
|
+
// so callers dispatching raw (`session.call`) share the exact address.
|
|
17
|
+
/** Colon FunctionPath of the `function.get` read syscall. */
|
|
18
|
+
export const KERNEL_GET_PATH = K.$.f('get').path.domain.raw;
|
|
19
|
+
/** Colon FunctionPath of the `function.mutate` write syscall. */
|
|
20
|
+
export const KERNEL_MUTATE_PATH = K.$.f('mutate').path.domain.raw;
|
|
21
|
+
/** Bind the graph sugar onto a call capability. */
|
|
22
|
+
export function createGraph(call, opts) {
|
|
23
|
+
const isNotFound = opts?.isNotFound ?? ((error) => error instanceof NotFoundError);
|
|
24
|
+
const rawGet = (input) => call(KERNEL_GET_PATH, input);
|
|
25
|
+
const commit = (patch) => call(KERNEL_MUTATE_PATH, patch);
|
|
26
|
+
// function.get throws NOT_FOUND when no root resolves; at this surface that is
|
|
27
|
+
// an EMPTY result (0..N cardinality, missing ≡ masked). Transport and
|
|
28
|
+
// permission errors still propagate. Shared by `query` and the read shorthands.
|
|
29
|
+
const read = async (input) => {
|
|
30
|
+
try {
|
|
31
|
+
return await rawGet(input);
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
if (!isNotFound(error))
|
|
35
|
+
throw error;
|
|
36
|
+
return { nodes: [], edges: [], roots: [] };
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
// Assemble via the builder, commit as ONE atomic function.mutate, then
|
|
40
|
+
// back-fill minted ids into the returned NodeRefs.
|
|
41
|
+
async function commitBuilt(build) {
|
|
42
|
+
const builder = new PatchBuilderImpl();
|
|
43
|
+
await build(builder);
|
|
44
|
+
const result = await commit(builder.build());
|
|
45
|
+
builder.resolve(result.createdNodes);
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
const mutate = ((arg) => typeof arg === 'function' ? commitBuilt(arg) : commit(arg));
|
|
49
|
+
const runGet = (ast) => read(lowerToGet(ast));
|
|
50
|
+
const runQuery = async (ast) => makeGraphResult(runGet, ast, await runGet(ast));
|
|
51
|
+
const runParsedQuery = async (ast) => {
|
|
52
|
+
const input = ast.version === undefined ? { ...ast, version: 1 } : ast;
|
|
53
|
+
const parsed = queryAstSchema.parse(input);
|
|
54
|
+
return makeGraphResult(runGet, parsed, await runGet(parsed));
|
|
55
|
+
};
|
|
56
|
+
const query = ((arg) => typeof arg === 'function' ? runQuery(arg(Q).toAST()) : runParsedQuery(arg));
|
|
57
|
+
return {
|
|
58
|
+
query,
|
|
59
|
+
mutate,
|
|
60
|
+
...makeReadShorthands(runGet),
|
|
61
|
+
...makeWriteShorthands(commit),
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=api.js.map
|