@astrale-os/kernel-client 0.6.0-beta.8 → 0.6.0-beta.9
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/authorization.d.ts +2 -2
- package/dist/auth/authorization.d.ts.map +1 -1
- package/dist/auth/authorization.js.map +1 -1
- package/dist/client/result.d.ts +1 -1
- package/dist/client/result.d.ts.map +1 -1
- package/dist/errors/client-error.d.ts.map +1 -1
- package/dist/errors/client-error.js +2 -0
- package/dist/errors/client-error.js.map +1 -1
- package/dist/errors/index.d.ts +7 -6
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +7 -6
- package/dist/errors/index.js.map +1 -1
- package/dist/errors/session-error.d.ts +10 -0
- package/dist/errors/session-error.d.ts.map +1 -0
- package/dist/errors/session-error.js +10 -0
- package/dist/errors/session-error.js.map +1 -0
- package/dist/errors/transport-error.d.ts +18 -5
- package/dist/errors/transport-error.d.ts.map +1 -1
- package/dist/errors/transport-error.js +11 -6
- package/dist/errors/transport-error.js.map +1 -1
- package/dist/graph/domain/binding.d.ts +23 -0
- package/dist/graph/domain/binding.d.ts.map +1 -0
- package/dist/graph/domain/binding.js +124 -0
- package/dist/graph/domain/binding.js.map +1 -0
- package/dist/graph/domain/domain.typecheck.d.ts +2 -0
- package/dist/graph/domain/domain.typecheck.d.ts.map +1 -0
- package/dist/graph/domain/domain.typecheck.js +128 -0
- package/dist/graph/domain/domain.typecheck.js.map +1 -0
- package/dist/graph/domain/index.d.ts +4 -0
- package/dist/graph/domain/index.d.ts.map +1 -0
- package/dist/graph/domain/index.js +2 -0
- package/dist/graph/domain/index.js.map +1 -0
- package/dist/graph/domain/model.d.ts +19 -0
- package/dist/graph/domain/model.d.ts.map +1 -0
- package/dist/graph/domain/model.js +2 -0
- package/dist/graph/domain/model.js.map +1 -0
- package/dist/graph/domain/page.d.ts +24 -0
- package/dist/graph/domain/page.d.ts.map +1 -0
- package/dist/graph/domain/page.js +43 -0
- package/dist/graph/domain/page.js.map +1 -0
- package/dist/graph/domain/project.d.ts +9 -0
- package/dist/graph/domain/project.d.ts.map +1 -0
- package/dist/graph/domain/project.js +121 -0
- package/dist/graph/domain/project.js.map +1 -0
- package/dist/graph/domain/provenance.d.ts +7 -0
- package/dist/graph/domain/provenance.d.ts.map +1 -0
- package/dist/graph/domain/provenance.js +12 -0
- package/dist/graph/domain/provenance.js.map +1 -0
- package/dist/graph/errors.d.ts +2 -2
- package/dist/graph/errors.d.ts.map +1 -1
- package/dist/graph/errors.js +2 -1
- package/dist/graph/errors.js.map +1 -1
- package/dist/graph/graph.d.ts +7 -5
- package/dist/graph/graph.d.ts.map +1 -1
- package/dist/graph/graph.js.map +1 -1
- package/dist/graph/index.d.ts +1 -0
- package/dist/graph/index.d.ts.map +1 -1
- package/dist/graph/index.js +1 -0
- package/dist/graph/index.js.map +1 -1
- package/dist/graph/page/neighbors.d.ts +4 -4
- package/dist/graph/page/neighbors.d.ts.map +1 -1
- package/dist/graph/page/neighbors.js +6 -6
- package/dist/graph/page/neighbors.js.map +1 -1
- package/dist/graph/page/page.d.ts +5 -1
- package/dist/graph/page/page.d.ts.map +1 -1
- package/dist/graph/page/page.js.map +1 -1
- package/dist/graph/page-contract.d.ts +1 -1
- package/dist/graph/page-contract.d.ts.map +1 -1
- package/dist/graph/provenance.d.ts +13 -0
- package/dist/graph/provenance.d.ts.map +1 -0
- package/dist/graph/provenance.js +38 -0
- package/dist/graph/provenance.js.map +1 -0
- package/dist/graph/query.d.ts.map +1 -1
- package/dist/graph/query.js +23 -10
- package/dist/graph/query.js.map +1 -1
- package/dist/graph/read.d.ts +3 -3
- package/dist/graph/read.d.ts.map +1 -1
- package/dist/graph/read.js +1 -1
- package/dist/graph/read.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/schema/admission.d.ts +1 -1
- package/dist/schema/admission.d.ts.map +1 -1
- package/dist/schema/admission.js.map +1 -1
- package/dist/schema/contracts.d.ts +6 -15
- package/dist/schema/contracts.d.ts.map +1 -1
- package/dist/schema/introspection.d.ts +1 -1
- package/dist/schema/introspection.d.ts.map +1 -1
- package/dist/schema/introspection.js +1 -1
- package/dist/schema/introspection.js.map +1 -1
- package/dist/schema/operation.js +1 -1
- package/dist/schema/operation.js.map +1 -1
- package/dist/schema/schema.d.ts +1 -1
- package/dist/schema/schema.d.ts.map +1 -1
- package/dist/session/bound.d.ts +45 -0
- package/dist/session/bound.d.ts.map +1 -0
- package/dist/session/bound.js +76 -0
- package/dist/session/bound.js.map +1 -0
- package/dist/session/context/operation.d.ts.map +1 -1
- package/dist/session/context/operation.js +19 -16
- package/dist/session/context/operation.js.map +1 -1
- package/dist/session/discovery/bundle.d.ts.map +1 -1
- package/dist/session/discovery/bundle.js +4 -3
- package/dist/session/discovery/bundle.js.map +1 -1
- package/dist/session/discovery/publication.d.ts.map +1 -1
- package/dist/session/discovery/publication.js +4 -3
- package/dist/session/discovery/publication.js.map +1 -1
- package/dist/session/discovery/transport.d.ts +7 -0
- package/dist/session/discovery/transport.d.ts.map +1 -0
- package/dist/session/discovery/transport.js +14 -0
- package/dist/session/discovery/transport.js.map +1 -0
- package/dist/session/index.d.ts +3 -0
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +2 -0
- package/dist/session/index.js.map +1 -1
- package/dist/session/reference.d.ts +12 -2
- package/dist/session/reference.d.ts.map +1 -1
- package/dist/session/reference.js +28 -7
- package/dist/session/reference.js.map +1 -1
- package/dist/session/routing/expectation.d.ts +2 -2
- package/dist/session/routing/expectation.d.ts.map +1 -1
- package/dist/session/session.d.ts +7 -1
- package/dist/session/session.d.ts.map +1 -1
- package/dist/session/session.js +27 -3
- package/dist/session/session.js.map +1 -1
- package/dist/session/session.typecheck.js +23 -1
- package/dist/session/session.typecheck.js.map +1 -1
- package/dist/session/views/catalog.d.ts.map +1 -1
- package/dist/session/views/catalog.js +12 -4
- package/dist/session/views/catalog.js.map +1 -1
- package/dist/store/store.typecheck.js +3 -3
- package/dist/store/store.typecheck.js.map +1 -1
- package/dist/transport/auto/fallback.d.ts.map +1 -1
- package/dist/transport/auto/fallback.js +8 -9
- package/dist/transport/auto/fallback.js.map +1 -1
- package/dist/transport/auto/transport.d.ts.map +1 -1
- package/dist/transport/auto/transport.js +5 -5
- package/dist/transport/auto/transport.js.map +1 -1
- package/dist/transport/failure.d.ts +8 -0
- package/dist/transport/failure.d.ts.map +1 -0
- package/dist/transport/failure.js +10 -0
- package/dist/transport/failure.js.map +1 -0
- package/dist/transport/http/stream.d.ts.map +1 -1
- package/dist/transport/http/stream.js +7 -6
- package/dist/transport/http/stream.js.map +1 -1
- package/dist/transport/http/transport.d.ts.map +1 -1
- package/dist/transport/http/transport.js +4 -5
- package/dist/transport/http/transport.js.map +1 -1
- package/dist/transport/websocket/connection.d.ts.map +1 -1
- package/dist/transport/websocket/connection.js +11 -23
- package/dist/transport/websocket/connection.js.map +1 -1
- package/dist/transport/websocket/exchange.d.ts.map +1 -1
- package/dist/transport/websocket/exchange.js +5 -8
- package/dist/transport/websocket/exchange.js.map +1 -1
- package/dist/transport/websocket/transport.d.ts.map +1 -1
- package/dist/transport/websocket/transport.js +6 -18
- package/dist/transport/websocket/transport.js.map +1 -1
- package/package.json +9 -9
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Edge } from '@astrale-os/kernel-core/graph/edge';
|
|
2
|
+
import type { Node } from '@astrale-os/kernel-core/graph/node';
|
|
3
|
+
import type { QueryAST, QueryEdgeGraphResult, QueryEdgeResult, QueryNodeGraphResult, QueryNodeResult, QueryResultFor, QuerySingleSourceClassOf } from '@astrale-os/kernel-core/graph/query';
|
|
4
|
+
import type { AnyResolvedClass, ResolvedClass } from '@astrale-os/kernel-dsl/v1/language';
|
|
5
|
+
import type { QueryResponse } from '../page-contract.js';
|
|
6
|
+
import type { BoundEdge, BoundNode } from './model.js';
|
|
7
|
+
type SourceClass<Query> = Extract<QuerySingleSourceClassOf<Query>, AnyResolvedClass>;
|
|
8
|
+
export interface BoundNodePage<Query extends QueryAST = QueryAST, Class extends ResolvedClass<'node'> = Extract<SourceClass<Query>, ResolvedClass<'node'>>> {
|
|
9
|
+
readonly nodes: readonly BoundNode<Class>[];
|
|
10
|
+
readonly raw: QueryResponse<QueryResultFor<Query>>;
|
|
11
|
+
readonly next?: () => Promise<BoundNodePage<Query, Class>>;
|
|
12
|
+
refine<Target extends ResolvedClass<'node'>>(value: BoundNode<Class>, target: Target): BoundNode<Target> | undefined;
|
|
13
|
+
}
|
|
14
|
+
export interface BoundEdgePage<Query extends QueryAST = QueryAST, Class extends ResolvedClass<'edge'> = Extract<SourceClass<Query>, ResolvedClass<'edge'>>> {
|
|
15
|
+
readonly edges: readonly BoundEdge<Class>[];
|
|
16
|
+
readonly raw: QueryResponse<QueryResultFor<Query>>;
|
|
17
|
+
readonly next?: () => Promise<BoundEdgePage<Query, Class>>;
|
|
18
|
+
refine<Target extends ResolvedClass<'edge'>>(value: BoundEdge<Class>, target: Target): BoundEdge<Target> | undefined;
|
|
19
|
+
}
|
|
20
|
+
export type BoundQueryPage<Query extends QueryAST> = QueryResultFor<Query> extends QueryNodeGraphResult | QueryNodeResult ? BoundNodePage<Query> : QueryResultFor<Query> extends QueryEdgeGraphResult | QueryEdgeResult ? BoundEdgePage<Query> : never;
|
|
21
|
+
export declare function selectedNodes(response: QueryResponse): readonly Node[];
|
|
22
|
+
export declare function selectedEdges(response: QueryResponse): readonly Edge[];
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../graph/domain/page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAA;AAC9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAA;AAC9D,OAAO,KAAK,EACV,QAAQ,EACR,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,wBAAwB,EACzB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAIzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtD,KAAK,WAAW,CAAC,KAAK,IAAI,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAA;AAEpF,MAAM,WAAW,aAAa,CAC5B,KAAK,SAAS,QAAQ,GAAG,QAAQ,EACjC,KAAK,SAAS,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAExF,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,CAAC,KAAK,CAAC,EAAE,CAAA;IAC3C,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;IAClD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;IAC1D,MAAM,CAAC,MAAM,SAAS,aAAa,CAAC,MAAM,CAAC,EACzC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EACvB,MAAM,EAAE,MAAM,GACb,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;CACjC;AAED,MAAM,WAAW,aAAa,CAC5B,KAAK,SAAS,QAAQ,GAAG,QAAQ,EACjC,KAAK,SAAS,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAExF,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,CAAC,KAAK,CAAC,EAAE,CAAA;IAC3C,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;IAClD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;IAC1D,MAAM,CAAC,MAAM,SAAS,aAAa,CAAC,MAAM,CAAC,EACzC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EACvB,MAAM,EAAE,MAAM,GACb,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;CACjC;AAED,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,QAAQ,IAC/C,cAAc,CAAC,KAAK,CAAC,SAAS,oBAAoB,GAAG,eAAe,GAChE,aAAa,CAAC,KAAK,CAAC,GACpB,cAAc,CAAC,KAAK,CAAC,SAAS,oBAAoB,GAAG,eAAe,GAClE,aAAa,CAAC,KAAK,CAAC,GACpB,KAAK,CAAA;AAEb,wBAAgB,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,IAAI,EAAE,CAgBtE;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,IAAI,EAAE,CAgBtE"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { edgeKeyOf, equalEdgeKeys } from '@astrale-os/kernel-core/graph/edge';
|
|
2
|
+
export function selectedNodes(response) {
|
|
3
|
+
const result = response.result;
|
|
4
|
+
if (result.kind === 'graph') {
|
|
5
|
+
if (result.selection.kind !== 'node')
|
|
6
|
+
throw new TypeError('Query did not select Nodes.');
|
|
7
|
+
const byId = new Map(result.graph.nodes.map((node) => [node.id, node]));
|
|
8
|
+
return result.selection.ids.map((id) => {
|
|
9
|
+
const node = byId.get(id);
|
|
10
|
+
if (node === undefined)
|
|
11
|
+
throw new TypeError(`Selected Node ${id} is absent.`);
|
|
12
|
+
return node;
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
if (result.kind !== 'nodes')
|
|
16
|
+
throw new TypeError('Query did not select Nodes.');
|
|
17
|
+
return result.nodes.map((item) => {
|
|
18
|
+
if (item.kind !== 'value')
|
|
19
|
+
throw new TypeError('Rich Node queries require value projection.');
|
|
20
|
+
return item.value;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
export function selectedEdges(response) {
|
|
24
|
+
const result = response.result;
|
|
25
|
+
if (result.kind === 'graph') {
|
|
26
|
+
if (result.selection.kind !== 'edge')
|
|
27
|
+
throw new TypeError('Query did not select Edges.');
|
|
28
|
+
return result.selection.keys.map((key) => {
|
|
29
|
+
const edge = result.graph.edges.find((candidate) => equalEdgeKeys(edgeKeyOf(candidate), key));
|
|
30
|
+
if (edge === undefined)
|
|
31
|
+
throw new TypeError('Selected Edge is absent.');
|
|
32
|
+
return edge;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
if (result.kind !== 'edges')
|
|
36
|
+
throw new TypeError('Query did not select Edges.');
|
|
37
|
+
return result.edges.map((item) => {
|
|
38
|
+
if (item.edge.kind !== 'value')
|
|
39
|
+
throw new TypeError('Rich Edge queries require value projection.');
|
|
40
|
+
return item.edge.value;
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../../graph/domain/page.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAwC7E,MAAM,UAAU,aAAa,CAAC,QAAuB;IACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;IAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM;YAAE,MAAM,IAAI,SAAS,CAAC,6BAA6B,CAAC,CAAA;QACxF,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QACvE,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACzB,IAAI,IAAI,KAAK,SAAS;gBAAE,MAAM,IAAI,SAAS,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAA;YAC7E,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;QAAE,MAAM,IAAI,SAAS,CAAC,6BAA6B,CAAC,CAAA;IAC/E,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAA;QAC7F,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAuB;IACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;IAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM;YAAE,MAAM,IAAI,SAAS,CAAC,6BAA6B,CAAC,CAAA;QACxF,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACvC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;YAC7F,IAAI,IAAI,KAAK,SAAS;gBAAE,MAAM,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAA;YACvE,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;QAAE,MAAM,IAAI,SAAS,CAAC,6BAA6B,CAAC,CAAA;IAC/E,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO;YAC5B,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAA;QACpE,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;IACxB,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Edge } from '@astrale-os/kernel-core/graph/edge';
|
|
2
|
+
import type { Node } from '@astrale-os/kernel-core/graph/node';
|
|
3
|
+
import type { ResolvedClass, ResolvedMethod } from '@astrale-os/kernel-dsl/v1/language';
|
|
4
|
+
import type { BoundEdge, BoundNode } from './model.js';
|
|
5
|
+
import type { QueryProvenance } from './provenance.js';
|
|
6
|
+
export type MethodCall = (node: Node, method: ResolvedMethod, input: unknown) => Promise<unknown>;
|
|
7
|
+
export declare function projectNode<Class extends ResolvedClass<'node'>>(selected: Class, node: Node, provenance: QueryProvenance, call: MethodCall): BoundNode<Class>;
|
|
8
|
+
export declare function projectEdge<Class extends ResolvedClass<'edge'>>(selected: Class, edge: Edge, provenance: QueryProvenance): BoundEdge<Class>;
|
|
9
|
+
//# sourceMappingURL=project.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../graph/domain/project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAA;AAC9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAA;AAC9D,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EAEf,MAAM,oCAAoC,CAAA;AAI3C,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAItD,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAEjG,wBAAgB,WAAW,CAAC,KAAK,SAAS,aAAa,CAAC,MAAM,CAAC,EAC7D,QAAQ,EAAE,KAAK,EACf,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,eAAe,EAC3B,IAAI,EAAE,UAAU,GACf,SAAS,CAAC,KAAK,CAAC,CAelB;AAED,wBAAgB,WAAW,CAAC,KAAK,SAAS,aAAa,CAAC,MAAM,CAAC,EAC7D,QAAQ,EAAE,KAAK,EACf,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,eAAe,GAC1B,SAAS,CAAC,KAAK,CAAC,CAalB"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { MethodKey, PropertyKey } from '@astrale-os/kernel-dsl/v1/addressing';
|
|
2
|
+
import { retainProjectedProvenance } from './provenance.js';
|
|
3
|
+
export function projectNode(selected, node, provenance, call) {
|
|
4
|
+
const property = propertyAccessor(selected, node.props);
|
|
5
|
+
const method = methodAccessor(selected, node, call);
|
|
6
|
+
const value = {
|
|
7
|
+
id: node.id,
|
|
8
|
+
class: node.class,
|
|
9
|
+
props: node.props,
|
|
10
|
+
property,
|
|
11
|
+
method,
|
|
12
|
+
};
|
|
13
|
+
installPropertyShortcuts(value, selected, node.props, NODE_RESERVED);
|
|
14
|
+
installMethodShortcuts(value, selected, node, call, NODE_RESERVED);
|
|
15
|
+
const projected = Object.freeze(value);
|
|
16
|
+
retainProjectedProvenance(projected, provenance);
|
|
17
|
+
return projected;
|
|
18
|
+
}
|
|
19
|
+
export function projectEdge(selected, edge, provenance) {
|
|
20
|
+
const value = {
|
|
21
|
+
source: edge.source,
|
|
22
|
+
target: edge.target,
|
|
23
|
+
class: edge.class,
|
|
24
|
+
...(edge.slug === undefined ? {} : { slug: edge.slug }),
|
|
25
|
+
props: edge.props,
|
|
26
|
+
property: propertyAccessor(selected, edge.props),
|
|
27
|
+
};
|
|
28
|
+
installPropertyShortcuts(value, selected, edge.props, EDGE_RESERVED);
|
|
29
|
+
const projected = Object.freeze(value);
|
|
30
|
+
retainProjectedProvenance(projected, provenance);
|
|
31
|
+
return projected;
|
|
32
|
+
}
|
|
33
|
+
const NODE_RESERVED = new Set(['id', 'class', 'props', 'property', 'method']);
|
|
34
|
+
const EDGE_RESERVED = new Set(['source', 'target', 'class', 'slug', 'props', 'property']);
|
|
35
|
+
function propertyAccessor(selected, props) {
|
|
36
|
+
return (input) => {
|
|
37
|
+
const property = resolveProperty(selected, input);
|
|
38
|
+
return props[property.key];
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function methodAccessor(selected, node, call) {
|
|
42
|
+
return (input) => {
|
|
43
|
+
const method = resolveMethod(selected, input);
|
|
44
|
+
if (method.inheritance === 'abstract') {
|
|
45
|
+
throw new TypeError(`Abstract Method ${method.key} cannot be invoked.`);
|
|
46
|
+
}
|
|
47
|
+
return (value) => call(node, method, value);
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function resolveProperty(selected, input) {
|
|
51
|
+
if (typeof input !== 'string') {
|
|
52
|
+
const member = selected.properties.get(input.key);
|
|
53
|
+
if (member !== input)
|
|
54
|
+
throw new TypeError('Property does not belong to the selected Class.');
|
|
55
|
+
return member;
|
|
56
|
+
}
|
|
57
|
+
if (PropertyKey.is(input)) {
|
|
58
|
+
const member = selected.properties.get(input);
|
|
59
|
+
if (member === undefined)
|
|
60
|
+
throw new TypeError(`Property ${input} is not effective.`);
|
|
61
|
+
return member;
|
|
62
|
+
}
|
|
63
|
+
const member = named(selected.properties, input);
|
|
64
|
+
if (member === undefined || typeof member !== 'object') {
|
|
65
|
+
throw new TypeError(`Property name ${JSON.stringify(input)} is absent or ambiguous.`);
|
|
66
|
+
}
|
|
67
|
+
return member;
|
|
68
|
+
}
|
|
69
|
+
function resolveMethod(selected, input) {
|
|
70
|
+
if (typeof input !== 'string') {
|
|
71
|
+
const member = selected.methods.get(input.key);
|
|
72
|
+
if (member !== input)
|
|
73
|
+
throw new TypeError('Method does not belong to the selected Class.');
|
|
74
|
+
return member;
|
|
75
|
+
}
|
|
76
|
+
if (MethodKey.is(input)) {
|
|
77
|
+
const member = selected.methods.get(input);
|
|
78
|
+
if (member === undefined)
|
|
79
|
+
throw new TypeError(`Method ${input} is not effective.`);
|
|
80
|
+
return member;
|
|
81
|
+
}
|
|
82
|
+
const member = named(selected.methods, input);
|
|
83
|
+
if (member === undefined || typeof member !== 'object') {
|
|
84
|
+
throw new TypeError(`Method name ${JSON.stringify(input)} is absent or ambiguous.`);
|
|
85
|
+
}
|
|
86
|
+
return member;
|
|
87
|
+
}
|
|
88
|
+
function installPropertyShortcuts(target, selected, props, reserved) {
|
|
89
|
+
for (const property of selected.properties) {
|
|
90
|
+
if (reserved.has(property.name) || hasOwn(target, property.name))
|
|
91
|
+
continue;
|
|
92
|
+
if (named(selected.properties, property.name) !== property)
|
|
93
|
+
continue;
|
|
94
|
+
if (selected.kind === 'node' && named(selected.methods, property.name) !== undefined)
|
|
95
|
+
continue;
|
|
96
|
+
install(target, property.name, props[property.key]);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function installMethodShortcuts(target, selected, node, call, reserved) {
|
|
100
|
+
for (const member of selected.methods) {
|
|
101
|
+
if (member.inheritance === 'abstract' ||
|
|
102
|
+
reserved.has(member.name) ||
|
|
103
|
+
hasOwn(target, member.name))
|
|
104
|
+
continue;
|
|
105
|
+
if (named(selected.methods, member.name) !== member)
|
|
106
|
+
continue;
|
|
107
|
+
if (named(selected.properties, member.name) !== undefined)
|
|
108
|
+
continue;
|
|
109
|
+
install(target, member.name, (input) => call(node, member, input));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
function named(collection, name) {
|
|
113
|
+
return hasOwn(collection, name) ? Reflect.get(collection, name) : undefined;
|
|
114
|
+
}
|
|
115
|
+
function hasOwn(value, name) {
|
|
116
|
+
return Object.prototype.hasOwnProperty.call(value, name);
|
|
117
|
+
}
|
|
118
|
+
function install(target, name, value) {
|
|
119
|
+
Object.defineProperty(target, name, { enumerable: true, value });
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../graph/domain/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Domain } from '@astrale-os/kernel-dsl/v1/domain';
|
|
2
|
+
import type { QueryProvenance } from '../provenance.js';
|
|
3
|
+
export declare function retainProjectedProvenance(value: object, provenance: QueryProvenance): void;
|
|
4
|
+
export declare function provenanceOfProjectedValue(value: object): QueryProvenance | undefined;
|
|
5
|
+
export declare function sameClosure(left: Domain['closure'], right: Domain['closure']): boolean;
|
|
6
|
+
export type { QueryProvenance };
|
|
7
|
+
//# sourceMappingURL=provenance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../../../graph/domain/provenance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAE9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAIvD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,GAAG,IAAI,CAE1F;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAErF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,CAQtF;AAED,YAAY,EAAE,eAAe,EAAE,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const projectedValues = new WeakMap();
|
|
2
|
+
export function retainProjectedProvenance(value, provenance) {
|
|
3
|
+
projectedValues.set(value, provenance);
|
|
4
|
+
}
|
|
5
|
+
export function provenanceOfProjectedValue(value) {
|
|
6
|
+
return projectedValues.get(value);
|
|
7
|
+
}
|
|
8
|
+
export function sameClosure(left, right) {
|
|
9
|
+
return (left.length === right.length &&
|
|
10
|
+
left.every((identity, index) => identity.origin === right[index]?.origin && identity.revision === right[index]?.revision));
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=provenance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provenance.js","sourceRoot":"","sources":["../../../graph/domain/provenance.ts"],"names":[],"mappings":"AAIA,MAAM,eAAe,GAAG,IAAI,OAAO,EAA2B,CAAA;AAE9D,MAAM,UAAU,yBAAyB,CAAC,KAAa,EAAE,UAA2B;IAClF,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;AACxC,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAa;IACtD,OAAO,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAuB,EAAE,KAAwB;IAC3E,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAC5B,IAAI,CAAC,KAAK,CACR,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAClB,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,CAC3F,CACF,CAAA;AACH,CAAC"}
|
package/dist/graph/errors.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { NodePath,
|
|
1
|
+
import type { NodePath, NodeTarget } from '@astrale-os/kernel-core/path';
|
|
2
2
|
import { ClientError } from '../errors/index.js';
|
|
3
3
|
/** Required point read whose absence and authorization masking are intentionally indistinguishable. */
|
|
4
4
|
export declare class NodeUnavailableError extends ClientError {
|
|
5
5
|
readonly code: 'NODE_UNAVAILABLE';
|
|
6
6
|
readonly path: NodePath;
|
|
7
|
-
constructor(path:
|
|
7
|
+
constructor(path: NodeTarget);
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../graph/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../graph/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAKxE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,uGAAuG;AACvG,qBAAa,oBAAqB,SAAQ,WAAW;IACnD,QAAQ,CAAC,IAAI,EAAG,kBAAkB,CAAS;IAC3C,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IAEvB,YAAY,IAAI,EAAE,UAAU,EAK3B;CACF"}
|
package/dist/graph/errors.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isNodeId } from '@astrale-os/kernel-core/graph/node';
|
|
1
2
|
import { Path } from '@astrale-os/kernel-core/path';
|
|
2
3
|
import { ClientError } from '../errors/index.js';
|
|
3
4
|
/** Required point read whose absence and authorization masking are intentionally indistinguishable. */
|
|
@@ -5,7 +6,7 @@ export class NodeUnavailableError extends ClientError {
|
|
|
5
6
|
code = 'NODE_UNAVAILABLE';
|
|
6
7
|
path;
|
|
7
8
|
constructor(path) {
|
|
8
|
-
const admitted = Path.from(path).raw;
|
|
9
|
+
const admitted = isNodeId(path) ? Path.id(path).raw : Path.from(path).raw;
|
|
9
10
|
super(`Node ${JSON.stringify(admitted)} is unavailable.`);
|
|
10
11
|
this.name = 'NodeUnavailableError';
|
|
11
12
|
this.path = admitted;
|
package/dist/graph/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../graph/errors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAA;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,uGAAuG;AACvG,MAAM,OAAO,oBAAqB,SAAQ,WAAW;IAC1C,IAAI,GAAG,kBAA2B,CAAA;IAClC,IAAI,CAAU;IAEvB,YAAY,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../graph/errors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAA;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,uGAAuG;AACvG,MAAM,OAAO,oBAAqB,SAAQ,WAAW;IAC1C,IAAI,GAAG,kBAA2B,CAAA;IAClC,IAAI,CAAU;IAEvB,YAAY,IAAgB;QAC1B,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAA;QACzE,KAAK,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;QACzD,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAA;QAClC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAA;IACtB,CAAC;CACF"}
|
package/dist/graph/graph.d.ts
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import type { GraphSpec } from '@astrale-os/kernel-core/graph/graph';
|
|
2
2
|
import type { MutationAST as MutationASTValue, MutationBuilder, MutationInput, MutationResult as MutationResultValue } from '@astrale-os/kernel-core/graph/mutate';
|
|
3
3
|
import type { Node } from '@astrale-os/kernel-core/graph/node';
|
|
4
|
-
import type { QueryAST as QueryASTValue,
|
|
5
|
-
import type {
|
|
4
|
+
import type { QueryAST as QueryASTValue, QueryEdgeClassInput, QueryResultFor } from '@astrale-os/kernel-core/graph/query';
|
|
5
|
+
import type { NodeTarget } from '@astrale-os/kernel-core/path';
|
|
6
|
+
import type { DomainDependency } from '@astrale-os/kernel-dsl/v1/schema';
|
|
6
7
|
import type { Call, Input } from '../client/index.js';
|
|
7
8
|
import type { RequestOptions } from '../transport/index.js';
|
|
8
9
|
import type { QueryPageRequest, QueryResponse } from './page-contract.js';
|
|
9
10
|
import type { NeighborsOptions, NodePage } from './page/index.js';
|
|
10
11
|
export type GraphCall = (call: Call, options?: RequestOptions) => Promise<Input>;
|
|
11
12
|
export interface GraphQueryOptions extends RequestOptions {
|
|
13
|
+
readonly expected?: readonly DomainDependency[];
|
|
12
14
|
readonly page: QueryPageRequest;
|
|
13
15
|
}
|
|
14
16
|
export type MutationAuthor = (mutation: MutationBuilder) => undefined;
|
|
@@ -16,9 +18,9 @@ export interface GraphApi {
|
|
|
16
18
|
query<Query extends QueryASTValue>(ast: Query, options: GraphQueryOptions): Promise<QueryResponse<QueryResultFor<Query>>>;
|
|
17
19
|
mutate(author: MutationAuthor, options?: RequestOptions): Promise<MutationResultValue>;
|
|
18
20
|
mutate(ast: MutationASTValue | MutationInput | GraphSpec, options?: RequestOptions): Promise<MutationResultValue>;
|
|
19
|
-
get(target:
|
|
20
|
-
getOrThrow(target:
|
|
21
|
-
neighbors(source:
|
|
21
|
+
get(target: NodeTarget, options?: RequestOptions): Promise<Node | null>;
|
|
22
|
+
getOrThrow(target: NodeTarget, options?: RequestOptions): Promise<Node>;
|
|
23
|
+
neighbors(source: NodeTarget, via: QueryEdgeClassInput | readonly [QueryEdgeClassInput, ...QueryEdgeClassInput[]], options: NeighborsOptions): Promise<NodePage>;
|
|
22
24
|
}
|
|
23
25
|
/** Bind Core's canonical graph documents to one caller-scoped value-call capability. */
|
|
24
26
|
export declare function createGraph(call: GraphCall): GraphApi;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../graph/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,KAAK,EACV,WAAW,IAAI,gBAAgB,EAC/B,eAAe,EACf,aAAa,EACb,cAAc,IAAI,mBAAmB,EACtC,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAA;AAC9D,OAAO,KAAK,EACV,QAAQ,IAAI,aAAa,EACzB,
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../graph/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,KAAK,EACV,WAAW,IAAI,gBAAgB,EAC/B,eAAe,EACf,aAAa,EACb,cAAc,IAAI,mBAAmB,EACtC,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAA;AAC9D,OAAO,KAAK,EACV,QAAQ,IAAI,aAAa,EACzB,mBAAmB,EACnB,cAAc,EACf,MAAM,qCAAqC,CAAA;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAExE,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAOjE,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,KAAK,CAAC,CAAA;AAEhF,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAC/C,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;CAChC;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,eAAe,KAAK,SAAS,CAAA;AAErE,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,KAAK,SAAS,aAAa,EAC/B,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAChD,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;IACtF,MAAM,CACJ,GAAG,EAAE,gBAAgB,GAAG,aAAa,GAAG,SAAS,EACjD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC/B,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IACvE,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvE,SAAS,CACP,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,mBAAmB,GAAG,SAAS,CAAC,mBAAmB,EAAE,GAAG,mBAAmB,EAAE,CAAC,EACnF,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,QAAQ,CAAC,CAAA;CACrB;AAED,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,QAAQ,CAoBrD"}
|
package/dist/graph/graph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../graph/graph.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../graph/graph.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AA8BhD,wFAAwF;AACxF,MAAM,UAAU,WAAW,CAAC,IAAe;IACzC,IAAI,OAAO,IAAI,KAAK,UAAU;QAAE,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAA;IACxF,MAAM,KAAK,GAAG,CAA8B,GAAU,EAAE,OAA0B,EAAE,EAAE,CACpF,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;IAChC,MAAM,MAAM,GAAG,CACb,KAAoE,EACpE,OAAwB,EACxB,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IACtC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,KAAK;QACL,MAAM;QACN,GAAG,EAAE,CAAC,MAAkB,EAAE,OAAwB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC;QACrF,UAAU,EAAE,CAAC,MAAkB,EAAE,OAAwB,EAAE,EAAE,CAC3D,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC;QACpC,SAAS,EAAE,CACT,MAAkB,EAClB,GAAmF,EACnF,OAAyB,EACzB,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC;KAChD,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/graph/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { createGraph, type GraphApi, type GraphCall, type GraphQueryOptions, type MutationAuthor, } from './graph.js';
|
|
2
2
|
export type { QueryPageRequest, QueryResponse } from './page-contract.js';
|
|
3
|
+
export { type BoundEdge, type BoundEdgePage, type BoundGraphValue, type BoundNode, type BoundNodeFor, type BoundNodePage, type BoundQueryPage, type DomainBinding, type DomainQueryOptions, } from './domain/index.js';
|
|
3
4
|
export { NodeUnavailableError } from './errors.js';
|
|
4
5
|
export type { NeighborsOptions, NodePage } from './page/index.js';
|
|
5
6
|
export { LocalBinding, type GraphSpec } from '@astrale-os/kernel-core/graph/graph';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../graph/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,cAAc,GACpB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAEjE,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAClF,OAAO,EACL,WAAW,EACX,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,aAAa,GACnB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../graph/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,cAAc,GACpB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACzE,OAAO,EACL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,kBAAkB,GACxB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAEjE,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAClF,OAAO,EACL,WAAW,EACX,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,aAAa,GACnB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA"}
|
package/dist/graph/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { createGraph, } from './graph.js';
|
|
2
|
+
export {} from './domain/index.js';
|
|
2
3
|
export { NodeUnavailableError } from './errors.js';
|
|
3
4
|
export { LocalBinding } from '@astrale-os/kernel-core/graph/graph';
|
|
4
5
|
export { MutationAST, MutationResult, } from '@astrale-os/kernel-core/graph/mutate';
|
package/dist/graph/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../graph/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,GAKZ,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAGlD,OAAO,EAAE,YAAY,EAAkB,MAAM,qCAAqC,CAAA;AAClF,OAAO,EACL,WAAW,EACX,cAAc,GAGf,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../graph/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,GAKZ,MAAM,YAAY,CAAA;AAEnB,OAAO,EAUN,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAGlD,OAAO,EAAE,YAAY,EAAkB,MAAM,qCAAqC,CAAA;AAClF,OAAO,EACL,WAAW,EACX,cAAc,GAGf,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { QueryDirection, QueryEdgeClassInput } from '@astrale-os/kernel-core/graph/query';
|
|
2
|
+
import type { NodeTarget } from '@astrale-os/kernel-core/path';
|
|
3
3
|
import type { NodePage, PageQuery, PageQueryOptions } from './page.js';
|
|
4
4
|
export interface NeighborsOptions extends PageQueryOptions {
|
|
5
5
|
readonly direction: QueryDirection;
|
|
6
6
|
}
|
|
7
|
-
export type NeighborSource =
|
|
8
|
-
export type NeighborVia =
|
|
7
|
+
export type NeighborSource = NodeTarget;
|
|
8
|
+
export type NeighborVia = QueryEdgeClassInput | readonly [QueryEdgeClassInput, ...QueryEdgeClassInput[]];
|
|
9
9
|
export declare function readNeighbors(query: PageQuery, source: NeighborSource, via: NeighborVia, options: NeighborsOptions): Promise<NodePage>;
|
|
10
10
|
//# sourceMappingURL=neighbors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"neighbors.d.ts","sourceRoot":"","sources":["../../../graph/page/neighbors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"neighbors.d.ts","sourceRoot":"","sources":["../../../graph/page/neighbors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AAC9F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAI9D,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAItE,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAA;CACnC;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,CAAA;AACvC,MAAM,MAAM,WAAW,GACnB,mBAAmB,GACnB,SAAS,CAAC,mBAAmB,EAAE,GAAG,mBAAmB,EAAE,CAAC,CAAA;AAE5D,wBAAsB,aAAa,CACjC,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,QAAQ,CAAC,CA6BnB"}
|
|
@@ -4,10 +4,10 @@ export async function readNeighbors(query, source, via, options) {
|
|
|
4
4
|
if (options === null || typeof options !== 'object') {
|
|
5
5
|
throw new TypeError('Neighbor read options are invalid.');
|
|
6
6
|
}
|
|
7
|
-
const
|
|
8
|
-
const [
|
|
9
|
-
if (
|
|
10
|
-
throw new TypeError('Neighbor read requires at least one
|
|
7
|
+
const classes = Array.isArray(via) ? via : [via];
|
|
8
|
+
const [classInput, ...additionalClasses] = classes;
|
|
9
|
+
if (classInput === undefined)
|
|
10
|
+
throw new TypeError('Neighbor read requires at least one Class.');
|
|
11
11
|
const direction = options.direction === 'outgoing'
|
|
12
12
|
? options.direction
|
|
13
13
|
: options.direction === 'incoming'
|
|
@@ -15,8 +15,8 @@ export async function readNeighbors(query, source, via, options) {
|
|
|
15
15
|
: options.direction === 'incident'
|
|
16
16
|
? options.direction
|
|
17
17
|
: invalidDirection(options.direction);
|
|
18
|
-
const ast = Query.from({
|
|
19
|
-
.expand({ via: [
|
|
18
|
+
const ast = Query.from({ nodes: [source] })
|
|
19
|
+
.expand({ via: [classInput, ...additionalClasses], direction })
|
|
20
20
|
.select({ kind: 'graph' });
|
|
21
21
|
const { direction: _, page, ...request } = options;
|
|
22
22
|
const { idempotencyKey: ___, ...basis } = request;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"neighbors.js","sourceRoot":"","sources":["../../../graph/page/neighbors.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAA;AAI3D,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAW1C,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAgB,EAChB,MAAsB,EACtB,GAAgB,EAChB,OAAyB;IAEzB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACpD,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAA;IAC3D,CAAC;IACD,MAAM,
|
|
1
|
+
{"version":3,"file":"neighbors.js","sourceRoot":"","sources":["../../../graph/page/neighbors.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAA;AAI3D,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAW1C,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAgB,EAChB,MAAsB,EACtB,GAAgB,EAChB,OAAyB;IAEzB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACpD,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAA;IAC3D,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAChD,MAAM,CAAC,UAAU,EAAE,GAAG,iBAAiB,CAAC,GAAG,OAAO,CAAA;IAClD,IAAI,UAAU,KAAK,SAAS;QAAE,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAA;IAE/F,MAAM,SAAS,GACb,OAAO,CAAC,SAAS,KAAK,UAAU;QAC9B,CAAC,CAAC,OAAO,CAAC,SAAS;QACnB,CAAC,CAAC,OAAO,CAAC,SAAS,KAAK,UAAU;YAChC,CAAC,CAAC,OAAO,CAAC,SAAS;YACnB,CAAC,CAAC,OAAO,CAAC,SAAS,KAAK,UAAU;gBAChC,CAAC,CAAC,OAAO,CAAC,SAAS;gBACnB,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC7C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;SACxC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,GAAG,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAC;SAC9D,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IAC5B,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,CAAA;IAClD,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;IACjD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,GAAG,OAAO;QACV,IAAI;KACL,CAAC,CAAA;IACF,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAClF,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAA;IACzE,CAAC;IACD,OAAO,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;AAC/D,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAY;IACpC,MAAM,IAAI,SAAS,CAAC,kCAAkC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AACjF,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { GraphData } from '@astrale-os/kernel-core/graph/graph';
|
|
2
2
|
import type { Node, NodeCollection } from '@astrale-os/kernel-core/graph/node';
|
|
3
3
|
import type { NodeBinding, QueryAST, QueryGraphSelect, QueryNodeGraphResult, QueryResultFor } from '@astrale-os/kernel-core/graph/query';
|
|
4
|
+
import type { DomainDependency } from '@astrale-os/kernel-dsl/v1/schema';
|
|
4
5
|
import type { RequestOptions } from '../../transport/index.js';
|
|
5
6
|
import type { QueryPageRequest, QueryResponse } from '../page-contract.js';
|
|
6
7
|
export interface NodePage {
|
|
@@ -23,8 +24,11 @@ export interface NodePage {
|
|
|
23
24
|
readonly cursor: string | null;
|
|
24
25
|
}>;
|
|
25
26
|
}
|
|
26
|
-
type PageBasis = Pick<RequestOptions, 'signal' | 'timeoutMs'
|
|
27
|
+
type PageBasis = Pick<RequestOptions, 'signal' | 'timeoutMs'> & {
|
|
28
|
+
readonly expected?: readonly DomainDependency[];
|
|
29
|
+
};
|
|
27
30
|
export interface PageQueryOptions extends RequestOptions {
|
|
31
|
+
readonly expected?: readonly DomainDependency[];
|
|
28
32
|
readonly page: QueryPageRequest;
|
|
29
33
|
}
|
|
30
34
|
export type PageQuery = <Query extends QueryAST>(ast: Query, options: PageQueryOptions) => Promise<QueryResponse<QueryResultFor<Query>>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../graph/page/page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AAC9E,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACf,MAAM,qCAAqC,CAAA;
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../graph/page/page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AAC9E,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACf,MAAM,qCAAqC,CAAA;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAExE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAE1E,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAE9B,IAAI,CAAC,OAAO,CAAC,EAAE;QACb,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;QAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAC5B,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAA;IAE5B,OAAO,CAAC,OAAO,EAAE;QACf,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;QAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;QAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAC5B,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAA;CAChF;AAED,KAAK,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,WAAW,CAAC,GAAG;IAC9D,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAA;CAChD,CAAA;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAC/C,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;CAChC;AACD,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,SAAS,QAAQ,EAC7C,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,gBAAgB,KACtB,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAElD,KAAK,iBAAiB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAA;AAEhE,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,iBAAiB,EACtB,QAAQ,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAC7C,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,GACX,QAAQ,CAiDV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../../graph/page/page.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../../graph/page/page.ts"],"names":[],"mappings":"AAiDA,MAAM,UAAU,cAAc,CAC5B,KAAgB,EAChB,GAAsB,EACtB,QAA6C,EAC7C,KAAgB,EAChB,IAAY;IAEZ,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAA;IAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAA;IAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAA;IAEzC,MAAM,IAAI,GAAG,KAAK,EAAE,QAAuB,EAA4B,EAAE;QACvE,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAChC,MAAM,OAAO,GAAqB;YAChC,GAAG,KAAK;YACR,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;YACtE,GAAG,CAAC,QAAQ,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC/E,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,IAAI,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;SACtD,CAAA;QACD,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAC9C,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1F,MAAM,IAAI,SAAS,CAAC,0DAA0D,CAAC,CAAA;QACjF,CAAC;QACD,OAAO,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC,CAAA;IAChF,CAAC,CAAA;IAED,MAAM,IAAI,GAAa;QACrB,KAAK;QACL,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM;QACN,IAAI;QACJ,KAAK,CAAC,OAAO,CAAC,OAAO;YACnB,mBAAmB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;YACzC,MAAM,SAAS,GAAW,CAAC,GAAG,KAAK,CAAC,CAAA;YACpC,IAAI,OAAO,GAAa,IAAI,CAAA;YAC5B,IAAI,KAAK,GAAG,CAAC,CAAA;YACb,OAAO,OAAO,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;gBAC/D,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBACtC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;oBAC7D,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;oBACnE,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;iBAC7E,CAAC,CAAA;gBACF,IAAI,YAAY,KAAK,IAAI;oBAAE,MAAK;gBAChC,SAAS,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;gBACrC,OAAO,GAAG,YAAY,CAAA;gBACtB,KAAK,IAAI,CAAC,CAAA;YACZ,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,CAAC;gBACnB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;gBAC/B,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,SAAS,CAAC,wDAAwD,CAAC,CAAA;IAC/E,CAAC;AACH,CAAC"}
|
|
@@ -4,7 +4,7 @@ export interface QueryPageRequest {
|
|
|
4
4
|
readonly size: number;
|
|
5
5
|
readonly after?: string;
|
|
6
6
|
}
|
|
7
|
-
/**
|
|
7
|
+
/** Decoded graph result and its optional opaque continuation. */
|
|
8
8
|
export interface QueryResponse<Result extends QueryResult = QueryResult> {
|
|
9
9
|
readonly result: Result;
|
|
10
10
|
readonly page: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-contract.d.ts","sourceRoot":"","sources":["../../graph/page-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAEtE,wEAAwE;AACxE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,
|
|
1
|
+
{"version":3,"file":"page-contract.d.ts","sourceRoot":"","sources":["../../graph/page-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAEtE,wEAAwE;AACxE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,iEAAiE;AACjE,MAAM,WAAW,aAAa,CAAC,MAAM,SAAS,WAAW,GAAG,WAAW;IACrE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC1C"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Edge } from '@astrale-os/kernel-core/graph/edge';
|
|
2
|
+
import type { Node } from '@astrale-os/kernel-core/graph/node';
|
|
3
|
+
import type { DomainDependency } from '@astrale-os/kernel-dsl/v1/schema';
|
|
4
|
+
import type { QueryResponse } from './page-contract.js';
|
|
5
|
+
export interface QueryProvenance {
|
|
6
|
+
readonly closure: readonly DomainDependency[];
|
|
7
|
+
readonly page: object;
|
|
8
|
+
}
|
|
9
|
+
/** Retain authenticated query provenance without adding serialized response metadata. */
|
|
10
|
+
export declare function retainQueryProvenance(response: QueryResponse, closure: readonly DomainDependency[]): QueryResponse;
|
|
11
|
+
export declare function provenanceOfGraphValue(value: Node | Edge): QueryProvenance | undefined;
|
|
12
|
+
export declare function provenanceOfResponse(value: QueryResponse): QueryProvenance | undefined;
|
|
13
|
+
//# sourceMappingURL=provenance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../../graph/provenance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAA;AAC9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAA;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAExE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAKD,yFAAyF;AACzF,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,SAAS,gBAAgB,EAAE,GACnC,aAAa,CAmBf;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,eAAe,GAAG,SAAS,CAEtF;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,GAAG,SAAS,CAEtF"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
const graphValues = new WeakMap();
|
|
2
|
+
const responses = new WeakMap();
|
|
3
|
+
/** Retain authenticated query provenance without adding serialized response metadata. */
|
|
4
|
+
export function retainQueryProvenance(response, closure) {
|
|
5
|
+
const provenance = Object.freeze({ closure, page: Object.freeze({}) });
|
|
6
|
+
responses.set(response, provenance);
|
|
7
|
+
const { result } = response;
|
|
8
|
+
if (result.kind === 'graph') {
|
|
9
|
+
for (const node of result.graph.nodes)
|
|
10
|
+
graphValues.set(node, provenance);
|
|
11
|
+
for (const edge of result.graph.edges)
|
|
12
|
+
graphValues.set(edge, provenance);
|
|
13
|
+
}
|
|
14
|
+
else if (result.kind === 'nodes') {
|
|
15
|
+
for (const item of result.nodes) {
|
|
16
|
+
if (item.kind === 'value')
|
|
17
|
+
graphValues.set(item.value, provenance);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
for (const item of result.edges) {
|
|
22
|
+
if (item.edge.kind === 'value')
|
|
23
|
+
graphValues.set(item.edge.value, provenance);
|
|
24
|
+
if (item.source.kind === 'value')
|
|
25
|
+
graphValues.set(item.source.value, provenance);
|
|
26
|
+
if (item.target.kind === 'value')
|
|
27
|
+
graphValues.set(item.target.value, provenance);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return response;
|
|
31
|
+
}
|
|
32
|
+
export function provenanceOfGraphValue(value) {
|
|
33
|
+
return graphValues.get(value);
|
|
34
|
+
}
|
|
35
|
+
export function provenanceOfResponse(value) {
|
|
36
|
+
return responses.get(value);
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=provenance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provenance.js","sourceRoot":"","sources":["../../graph/provenance.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,GAAG,IAAI,OAAO,EAA2B,CAAA;AAC1D,MAAM,SAAS,GAAG,IAAI,OAAO,EAA2B,CAAA;AAExD,yFAAyF;AACzF,MAAM,UAAU,qBAAqB,CACnC,QAAuB,EACvB,OAAoC;IAEpC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IACtE,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IACnC,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAA;IAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK;YAAE,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QACxE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK;YAAE,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAC1E,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;gBAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;QACpE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO;gBAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;YAC5E,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;gBAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;YAChF,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;gBAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;QAClF,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAkB;IACvD,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAoB;IACvD,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AAC7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../graph/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,aAAa,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../graph/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,aAAa,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAQpG,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAOvD,wBAAsB,UAAU,CAAC,KAAK,SAAS,aAAa,EAC1D,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAoB/C"}
|