@astrale-os/kernel-client 0.6.0-beta.7 → 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
package/dist/graph/query.js
CHANGED
|
@@ -2,13 +2,27 @@ import { QueryAST, QueryResult } from '@astrale-os/kernel-core/graph/query';
|
|
|
2
2
|
import { Path } from '@astrale-os/kernel-core/path';
|
|
3
3
|
import { query } from '@astrale-os/kernel-core/schema/kernel/syscalls/references';
|
|
4
4
|
import { call as invocation } from '../client/index.js';
|
|
5
|
+
import { retainQueryProvenance } from './provenance.js';
|
|
5
6
|
const KERNEL_QUERY_PATH = Path.project(query).raw;
|
|
6
7
|
export async function queryGraph(call, input, options) {
|
|
7
8
|
const ast = QueryAST.decode(input);
|
|
8
|
-
const { page, ...request } = options;
|
|
9
|
+
const { expected, page, ...request } = options;
|
|
9
10
|
const admittedPage = admitPage(page);
|
|
10
|
-
const
|
|
11
|
-
|
|
11
|
+
const capturedExpected = captureExpected(expected);
|
|
12
|
+
const output = await call(invocation(KERNEL_QUERY_PATH, Object.freeze({
|
|
13
|
+
ast,
|
|
14
|
+
...(capturedExpected === undefined ? {} : { expected: capturedExpected }),
|
|
15
|
+
page: admittedPage,
|
|
16
|
+
})), request);
|
|
17
|
+
const response = decodeResponse(output);
|
|
18
|
+
return capturedExpected === undefined
|
|
19
|
+
? response
|
|
20
|
+
: retainQueryProvenance(response, capturedExpected);
|
|
21
|
+
}
|
|
22
|
+
function captureExpected(input) {
|
|
23
|
+
if (input === undefined)
|
|
24
|
+
return undefined;
|
|
25
|
+
return Object.freeze(input.map(({ origin, revision }) => Object.freeze({ origin, revision })));
|
|
12
26
|
}
|
|
13
27
|
function admitPage(input) {
|
|
14
28
|
if (input === null || typeof input !== 'object' || Array.isArray(input)) {
|
|
@@ -33,11 +47,11 @@ function decodeResponse(input) {
|
|
|
33
47
|
if (!hasExactKeys(value, ['result', 'page'])) {
|
|
34
48
|
throw new TypeError('Graph query response is invalid.');
|
|
35
49
|
}
|
|
36
|
-
const
|
|
37
|
-
if (
|
|
50
|
+
const pageInput = value.page;
|
|
51
|
+
if (pageInput === null || typeof pageInput !== 'object' || Array.isArray(pageInput)) {
|
|
38
52
|
throw new TypeError('Graph query response page is invalid.');
|
|
39
53
|
}
|
|
40
|
-
const pageValue =
|
|
54
|
+
const pageValue = pageInput;
|
|
41
55
|
if (!hasExactKeys(pageValue, pageValue.next === undefined ? [] : ['next'])) {
|
|
42
56
|
throw new TypeError('Graph query response page is invalid.');
|
|
43
57
|
}
|
|
@@ -45,10 +59,9 @@ function decodeResponse(input) {
|
|
|
45
59
|
(typeof pageValue.next !== 'string' || pageValue.next.length === 0)) {
|
|
46
60
|
throw new TypeError('Graph query response continuation is invalid.');
|
|
47
61
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
});
|
|
62
|
+
const result = QueryResult.decode(value.result);
|
|
63
|
+
const page = Object.freeze(pageValue.next === undefined ? {} : { next: pageValue.next });
|
|
64
|
+
return Object.freeze({ result, page });
|
|
52
65
|
}
|
|
53
66
|
function hasExactKeys(input, expected) {
|
|
54
67
|
const keys = Object.keys(input);
|
package/dist/graph/query.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../graph/query.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../graph/query.ts"],"names":[],"mappings":"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"}
|
package/dist/graph/read.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Node } from '@astrale-os/kernel-core/graph/node';
|
|
2
|
-
import type {
|
|
2
|
+
import type { NodeTarget } from '@astrale-os/kernel-core/path';
|
|
3
3
|
import type { RequestOptions } from '../transport/index.js';
|
|
4
4
|
import type { GraphCall } from './graph.js';
|
|
5
|
-
export declare function getNode(call: GraphCall, path:
|
|
6
|
-
export declare function requireNode(call: GraphCall, path:
|
|
5
|
+
export declare function getNode(call: GraphCall, path: NodeTarget, options?: RequestOptions): Promise<Node | null>;
|
|
6
|
+
export declare function requireNode(call: GraphCall, path: NodeTarget, options?: RequestOptions): Promise<Node>;
|
|
7
7
|
//# sourceMappingURL=read.d.ts.map
|
package/dist/graph/read.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../graph/read.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAA;AAC9D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../graph/read.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAI9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAK3C,wBAAsB,OAAO,CAC3B,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAMtB;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC,CAIf"}
|
package/dist/graph/read.js
CHANGED
|
@@ -2,7 +2,7 @@ import { Query } from '@astrale-os/kernel-core/graph/query';
|
|
|
2
2
|
import { NodeUnavailableError } from './errors.js';
|
|
3
3
|
import { queryGraph } from './query.js';
|
|
4
4
|
export async function getNode(call, path, options) {
|
|
5
|
-
const ast = Query.from({
|
|
5
|
+
const ast = Query.from({ nodes: [path] }).select({ kind: 'graph' });
|
|
6
6
|
const response = await queryGraph(call, ast, { ...options, page: { size: 1 } });
|
|
7
7
|
const { result } = response;
|
|
8
8
|
if (result.kind !== 'graph')
|
package/dist/graph/read.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../graph/read.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAA;AAK3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,IAAe,EACf,
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../graph/read.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAA;AAK3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,IAAe,EACf,IAAgB,EAChB,OAAwB;IAExB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IACnE,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;IAC/E,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAA;IAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;QAAE,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAA;IAC3F,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAe,EACf,IAAgB,EAChB,OAAwB;IAExB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IAC/C,IAAI,IAAI,KAAK,IAAI;QAAE,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACvD,OAAO,IAAI,CAAA;AACb,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { Client, call, type AuthenticatedClient, type Call, type ClientDispatchOptions, type ClientOptions, type Binary, type BinaryResponse, type Input, type RemoteCredential, type Result, type Stream, type StreamResult, type ValueResult, } from './client/index.js';
|
|
2
|
-
export
|
|
2
|
+
export * from './errors/index.js';
|
|
3
3
|
export { type RequestOptions, type MissControl, type StaleControl, type Transport, type TransportRequest, type TransportResult, } from './transport/index.js';
|
|
4
4
|
export { HttpTransport, type Fetch, type HttpTransportOptions } from './transport/http/index.js';
|
|
5
5
|
export { WebSocketTransport, type WebSocketConstructor, type WebSocketTransportOptions, } from './transport/websocket/index.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,IAAI,EACJ,KAAK,mBAAmB,EACxB,KAAK,IAAI,EACT,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,KAAK,EACV,KAAK,gBAAgB,EACrB,KAAK,MAAM,EACX,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,mBAAmB,CAAA;AAC1B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,IAAI,EACJ,KAAK,mBAAmB,EACxB,KAAK,IAAI,EACT,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,KAAK,EACV,KAAK,gBAAgB,EACrB,KAAK,MAAM,EACX,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,mBAAmB,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,KAAK,KAAK,EAAE,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChG,OAAO,EACL,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,GAC/B,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,KAAK,oBAAoB,EACzB,KAAK,aAAa,GACnB,MAAM,2BAA2B,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { Client, call, } from './client/index.js';
|
|
2
|
-
export
|
|
2
|
+
export * from './errors/index.js';
|
|
3
3
|
export {} from './transport/index.js';
|
|
4
4
|
export { HttpTransport } from './transport/http/index.js';
|
|
5
5
|
export { WebSocketTransport, } from './transport/websocket/index.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,IAAI,GAaL,MAAM,mBAAmB,CAAA;AAC1B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,IAAI,GAaL,MAAM,mBAAmB,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAON,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAyC,MAAM,2BAA2B,CAAA;AAChG,OAAO,EACL,kBAAkB,GAGnB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,aAAa,EACb,mBAAmB,GAGpB,MAAM,2BAA2B,CAAA"}
|
|
@@ -8,6 +8,6 @@ interface OutputContract {
|
|
|
8
8
|
};
|
|
9
9
|
}
|
|
10
10
|
/** Admit one value result through its Core-owned syscall contract. */
|
|
11
|
-
export declare function acceptOutput<T
|
|
11
|
+
export declare function acceptOutput<T>(contract: OutputContract, input: unknown): T;
|
|
12
12
|
export {};
|
|
13
13
|
//# sourceMappingURL=admission.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admission.d.ts","sourceRoot":"","sources":["../../schema/admission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAIzD,UAAU,cAAc;IACtB,SAAS,CACP,KAAK,EAAE,OAAO,GACb;QAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;KAAE,GAAG;QAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAA;KAAE,CAAA;CAClF;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"admission.d.ts","sourceRoot":"","sources":["../../schema/admission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAIzD,UAAU,cAAc;IACtB,SAAS,CACP,KAAK,EAAE,OAAO,GACb;QAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;KAAE,GAAG;QAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAA;KAAE,CAAA;CAClF;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAK3E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admission.js","sourceRoot":"","sources":["../../schema/admission.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAA;AAQxD,sEAAsE;AACtE,MAAM,UAAU,YAAY,
|
|
1
|
+
{"version":3,"file":"admission.js","sourceRoot":"","sources":["../../schema/admission.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAA;AAQxD,sEAAsE;AACtE,MAAM,UAAU,YAAY,CAAI,QAAwB,EAAE,KAAc;IACtE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAU,CAAA;IAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACxC,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAA;IACrF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAM,CAAA;AACjC,CAAC;AAED,SAAS,MAAM,CAAkB,KAAQ;IACvC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3E,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QACvD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -1,22 +1,13 @@
|
|
|
1
|
-
import type { InputOf, OutputOf } from '@astrale-os/kernel-core/domain';
|
|
2
|
-
import type { syscalls } from '@astrale-os/kernel-core/schema';
|
|
3
1
|
import type { installation } from '@astrale-os/kernel-core/schema';
|
|
2
|
+
import type { DesiredInstallation as CoreDesiredInstallation, InstallInput, InstallOutput, UninstallInput, UninstallOutput } from '@astrale-os/kernel-core/schema/kernel/syscalls/contracts';
|
|
4
3
|
export type OperationId = installation.OperationId;
|
|
5
4
|
/** Canonical caller input accepted by the Kernel install syscall. */
|
|
6
|
-
export type
|
|
7
|
-
|
|
8
|
-
};
|
|
5
|
+
export type DesiredInstallation = CoreDesiredInstallation;
|
|
6
|
+
export type InstallRequest = InstallInput;
|
|
9
7
|
/** Admitted terminal install receipt returned by the Kernel. */
|
|
10
|
-
export type InstallReceipt =
|
|
11
|
-
readonly operation: OperationId;
|
|
12
|
-
};
|
|
8
|
+
export type InstallReceipt = InstallOutput;
|
|
13
9
|
/** Canonical caller input accepted by the Kernel uninstall syscall. */
|
|
14
|
-
export type UninstallRequest =
|
|
15
|
-
readonly operation: OperationId;
|
|
16
|
-
};
|
|
10
|
+
export type UninstallRequest = UninstallInput;
|
|
17
11
|
/** Admitted terminal uninstall receipt returned by the Kernel. */
|
|
18
|
-
export type UninstallReceipt =
|
|
19
|
-
readonly operation: OperationId;
|
|
20
|
-
};
|
|
21
|
-
export type DesiredInstallation = InstallRequest['domains'][number];
|
|
12
|
+
export type UninstallReceipt = UninstallOutput;
|
|
22
13
|
//# sourceMappingURL=contracts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../schema/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../schema/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,KAAK,EACV,mBAAmB,IAAI,uBAAuB,EAC9C,YAAY,EACZ,aAAa,EACb,cAAc,EACd,eAAe,EAChB,MAAM,0DAA0D,CAAA;AAEjE,MAAM,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,CAAA;AAElD,qEAAqE;AACrE,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,CAAA;AACzD,MAAM,MAAM,cAAc,GAAG,YAAY,CAAA;AAEzC,gEAAgE;AAChE,MAAM,MAAM,cAAc,GAAG,aAAa,CAAA;AAE1C,uEAAuE;AACvE,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAA;AAE7C,kEAAkE;AAClE,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { introspection as language } from '@astrale-os/kernel-core/schema';
|
|
2
|
-
import type
|
|
2
|
+
import type * as protocol from '@astrale-os/kernel-protocol/schema';
|
|
3
3
|
import type { RequestOptions } from '../transport/index.js';
|
|
4
4
|
import type { SchemaCall, SchemaOptions } from './schema.js';
|
|
5
5
|
export declare function introspect<InputType extends language.Introspection>(invoke: SchemaCall, limits: SchemaOptions, request: InputType, options?: RequestOptions): Promise<protocol.installation.introspection.ResultFor<InputType>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"introspection.d.ts","sourceRoot":"","sources":["../../schema/introspection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"introspection.d.ts","sourceRoot":"","sources":["../../schema/introspection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,KAAK,QAAQ,MAAM,oCAAoC,CAAA;AAOnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAM5D,wBAAsB,UAAU,CAAC,SAAS,SAAS,QAAQ,CAAC,aAAa,EACvE,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,SAAS,EAClB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CASnE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Path } from '@astrale-os/kernel-core/path';
|
|
2
2
|
import { introspect as introspectRef } from '@astrale-os/kernel-core/schema/kernel/syscalls/references';
|
|
3
|
-
import
|
|
3
|
+
import * as schema from '@astrale-os/kernel-protocol/schema';
|
|
4
4
|
import { call } from '../client/index.js';
|
|
5
5
|
const INTROSPECT_PATH = Path.project(introspectRef).raw;
|
|
6
6
|
export async function introspect(invoke, limits, request, options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"introspection.js","sourceRoot":"","sources":["../../schema/introspection.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAA;AACnD,OAAO,EAAE,UAAU,IAAI,aAAa,EAAE,MAAM,2DAA2D,CAAA;AACvG,OAAO,
|
|
1
|
+
{"version":3,"file":"introspection.js","sourceRoot":"","sources":["../../schema/introspection.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAA;AACnD,OAAO,EAAE,UAAU,IAAI,aAAa,EAAE,MAAM,2DAA2D,CAAA;AACvG,OAAO,KAAK,MAAM,MAAM,oCAAoC,CAAA;AAM5D,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAEzC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAA;AAEvD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAkB,EAClB,MAAqB,EACrB,OAAkB,EAClB,OAAwB;IAExB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,OAA2B,CAAC,EAAE,OAAO,CAAC,CAAA;IACxF,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAA;IAC3E,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QAC5E,MAAM,IAAI,SAAS,CAAC,0DAA0D,CAAC,CAAA;IACjF,CAAC;IACD,OAAO,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AACrF,CAAC"}
|
package/dist/schema/operation.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as installation from '@astrale-os/kernel-core/schema/installation';
|
|
2
2
|
/** Accept one canonical lowercase RFC 9562 UUIDv4 operation identity. */
|
|
3
3
|
export function acceptOperationId(input) {
|
|
4
4
|
return installation.acceptOperationId(input);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation.js","sourceRoot":"","sources":["../../schema/operation.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"operation.js","sourceRoot":"","sources":["../../schema/operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,6CAA6C,CAAA;AAI3E,yEAAyE;AACzE,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,YAAY,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;AAC9C,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,iBAAiB;IAC/B,OAAO,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAA;AAC1D,CAAC"}
|
package/dist/schema/schema.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { introspection } from '@astrale-os/kernel-core/schema';
|
|
2
|
-
import type
|
|
2
|
+
import type * as protocolSchema from '@astrale-os/kernel-protocol/schema';
|
|
3
3
|
import type { Call, Result } from '../client/index.js';
|
|
4
4
|
import type { RequestOptions } from '../transport/index.js';
|
|
5
5
|
import type { InstallReceipt, InstallRequest, UninstallReceipt, UninstallRequest } from './contracts.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../schema/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../schema/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,KAAK,KAAK,cAAc,MAAM,oCAAoC,CAAA;AASzE,OAAO,KAAK,EAAE,IAAI,EAAS,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,gBAAgB,CAAA;AAMvB,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;AAElF,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM;CAAG;AAE1F,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,GAAG;IACvF,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAA;CACrE,CAAA;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IACnF,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACzF,UAAU,CAAC,KAAK,SAAS,aAAa,CAAC,aAAa,EAClD,OAAO,EAAE,KAAK,EACd,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;CACvE;AAKD,+FAA+F;AAC/F,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,GAAG,SAAS,CAuB/E"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { IssuerId } from '@astrale-os/kernel-core/auth';
|
|
2
|
+
import type { ReadyInstallation } from '../schema/index.js';
|
|
3
|
+
import type { SessionControlOptions } from './context/index.js';
|
|
4
|
+
import type { CallableReference, InputOfReference, OutputOfReference } from './reference.js';
|
|
5
|
+
import type { SessionRequestOptions } from './routing/index.js';
|
|
6
|
+
import type { ViewCatalog } from './views/index.js';
|
|
7
|
+
import { type AuthApi } from '../auth/index.js';
|
|
8
|
+
import { type Binary, type Call, type Input, type Result, type Stream } from '../client/index.js';
|
|
9
|
+
import { type GraphApi } from '../graph/index.js';
|
|
10
|
+
/** Exact live Session surface captured by one credential-bound Kernel view. */
|
|
11
|
+
export interface BoundSessionSource {
|
|
12
|
+
readonly kernel: IssuerId;
|
|
13
|
+
dispatch(call: Call, options?: SessionRequestOptions): Promise<Result>;
|
|
14
|
+
call(call: Call, options?: SessionRequestOptions): Promise<Input>;
|
|
15
|
+
invoke<const Reference extends CallableReference>(reference: Reference, input: InputOfReference<Reference>, options?: SessionRequestOptions): Promise<OutputOfReference<Reference>>;
|
|
16
|
+
stream(call: Call, options?: SessionRequestOptions): Promise<Stream>;
|
|
17
|
+
binary(call: Call, options?: SessionRequestOptions): Promise<Binary>;
|
|
18
|
+
installation(origin: string, options?: SessionControlOptions): Promise<ReadyInstallation>;
|
|
19
|
+
viewsFor(target: Parameters<import('./session.js').ClientSession['viewsFor']>[0], options?: SessionControlOptions): Promise<ViewCatalog>;
|
|
20
|
+
}
|
|
21
|
+
export interface BoundSessionControls {
|
|
22
|
+
readonly signal: AbortSignal;
|
|
23
|
+
/** Absolute Unix time in milliseconds. */
|
|
24
|
+
readonly deadline: number;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Credential-bound Kernel operations over one caller-owned ClientSession.
|
|
28
|
+
*
|
|
29
|
+
* The view owns no credential, transport, route cache, or lifecycle. Its source Session owns all of
|
|
30
|
+
* those concerns and closing that Session invalidates every operation exposed here.
|
|
31
|
+
*/
|
|
32
|
+
export interface BoundClientSession extends GraphApi {
|
|
33
|
+
readonly kernel: IssuerId;
|
|
34
|
+
readonly auth: AuthApi;
|
|
35
|
+
dispatch(call: Call, options?: SessionRequestOptions): Promise<Result>;
|
|
36
|
+
call(call: Call, options?: SessionRequestOptions): Promise<Input>;
|
|
37
|
+
invoke<const Reference extends CallableReference>(reference: Reference, input: InputOfReference<Reference>, options?: SessionRequestOptions): Promise<OutputOfReference<Reference>>;
|
|
38
|
+
stream(call: Call, options?: SessionRequestOptions): Promise<Stream>;
|
|
39
|
+
binary(call: Call, options?: SessionRequestOptions): Promise<Binary>;
|
|
40
|
+
installation(origin: string, options?: SessionControlOptions): Promise<ReadyInstallation>;
|
|
41
|
+
viewsFor: BoundSessionSource['viewsFor'];
|
|
42
|
+
}
|
|
43
|
+
/** Capture one Session into the ordinary graph, auth, and invocation Kernel journey. */
|
|
44
|
+
export declare function bindSession(source: BoundSessionSource, controls?: BoundSessionControls): BoundClientSession;
|
|
45
|
+
//# sourceMappingURL=bound.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bound.d.ts","sourceRoot":"","sources":["../../session/bound.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { createAuth } from '../auth/index.js';
|
|
2
|
+
import { call as createCall, } from '../client/index.js';
|
|
3
|
+
import { createGraph } from '../graph/index.js';
|
|
4
|
+
/** Capture one Session into the ordinary graph, auth, and invocation Kernel journey. */
|
|
5
|
+
export function bindSession(source, controls) {
|
|
6
|
+
if (source === null || typeof source !== 'object')
|
|
7
|
+
invalid();
|
|
8
|
+
const admittedControls = admitControls(controls);
|
|
9
|
+
const dispatchSource = capture(source, 'dispatch');
|
|
10
|
+
const callSource = capture(source, 'call');
|
|
11
|
+
const invokeSource = capture(source, 'invoke');
|
|
12
|
+
const streamSource = capture(source, 'stream');
|
|
13
|
+
const binarySource = capture(source, 'binary');
|
|
14
|
+
const installationSource = capture(source, 'installation');
|
|
15
|
+
const viewsForSource = capture(source, 'viewsFor');
|
|
16
|
+
const dispatch = (input, options) => dispatchSource(input, requestOptions(options, admittedControls));
|
|
17
|
+
const call = (input, options) => callSource(input, requestOptions(options, admittedControls));
|
|
18
|
+
const invoke = (reference, input, options) => invokeSource(reference, input, requestOptions(options, admittedControls));
|
|
19
|
+
const stream = (input, options) => streamSource(input, requestOptions(options, admittedControls));
|
|
20
|
+
const binary = (input, options) => binarySource(input, requestOptions(options, admittedControls));
|
|
21
|
+
const installation = (origin, options) => installationSource(origin, controlOptions(options, admittedControls));
|
|
22
|
+
const viewsFor = (target, options) => viewsForSource(target, controlOptions(options, admittedControls));
|
|
23
|
+
const graph = createGraph(call);
|
|
24
|
+
const auth = createAuth((target, input, options) => call(createCall(target, input), options));
|
|
25
|
+
return Object.freeze({
|
|
26
|
+
...graph,
|
|
27
|
+
kernel: source.kernel,
|
|
28
|
+
auth,
|
|
29
|
+
dispatch,
|
|
30
|
+
call,
|
|
31
|
+
invoke,
|
|
32
|
+
stream,
|
|
33
|
+
binary,
|
|
34
|
+
installation,
|
|
35
|
+
viewsFor,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
function admitControls(input) {
|
|
39
|
+
if (input === undefined)
|
|
40
|
+
return undefined;
|
|
41
|
+
if (input === null ||
|
|
42
|
+
typeof input !== 'object' ||
|
|
43
|
+
!(input.signal instanceof AbortSignal) ||
|
|
44
|
+
!Number.isFinite(input.deadline)) {
|
|
45
|
+
invalid();
|
|
46
|
+
}
|
|
47
|
+
return Object.freeze({ signal: input.signal, deadline: input.deadline });
|
|
48
|
+
}
|
|
49
|
+
function requestOptions(options, controls) {
|
|
50
|
+
return mergeOptions(options, controls);
|
|
51
|
+
}
|
|
52
|
+
function controlOptions(options, controls) {
|
|
53
|
+
return mergeOptions(options, controls);
|
|
54
|
+
}
|
|
55
|
+
function mergeOptions(options, controls) {
|
|
56
|
+
if (controls === undefined)
|
|
57
|
+
return options;
|
|
58
|
+
if (options?.signal !== undefined && options.signal !== controls.signal) {
|
|
59
|
+
throw new TypeError('Bound ClientSession cancellation cannot be replaced.');
|
|
60
|
+
}
|
|
61
|
+
if (controls.signal.aborted)
|
|
62
|
+
throw controls.signal.reason ?? new Error('Invocation cancelled.');
|
|
63
|
+
const remaining = Math.max(1, Math.ceil(controls.deadline - Date.now()));
|
|
64
|
+
const timeoutMs = options?.timeoutMs === undefined ? remaining : Math.min(options.timeoutMs, remaining);
|
|
65
|
+
return Object.freeze({ ...options, signal: controls.signal, timeoutMs });
|
|
66
|
+
}
|
|
67
|
+
function capture(source, key) {
|
|
68
|
+
const value = source[key];
|
|
69
|
+
if (typeof value !== 'function')
|
|
70
|
+
invalid();
|
|
71
|
+
return value.bind(source);
|
|
72
|
+
}
|
|
73
|
+
function invalid() {
|
|
74
|
+
throw new TypeError('Bound ClientSession source is invalid.');
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=bound.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bound.js","sourceRoot":"","sources":["../../session/bound.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../../session/context/operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAI9D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAA;IAC1D,wFAAwF;IACxF,aAAa,IAAI,OAAO,CAAA;CACzB;AAED,yFAAyF;AACzF,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,WAAW,EACtB,KAAK,EACD;IACE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAA;CAC3D,GACD,SAAS,EACb,gBAAgB,EAAE,MAAM,GACvB,gBAAgB,CAiBlB;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,gBAAgB,GAAG,MAAM,CAKxE;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,gBAAgB,EAC3B,cAAc,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC,GAChD,cAAc,CAMhB;AAED,yFAAyF;AACzF,
|
|
1
|
+
{"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../../session/context/operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAI9D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAA;IAC1D,wFAAwF;IACxF,aAAa,IAAI,OAAO,CAAA;CACzB;AAED,yFAAyF;AACzF,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,WAAW,EACtB,KAAK,EACD;IACE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAA;CAC3D,GACD,SAAS,EACb,gBAAgB,EAAE,MAAM,GACvB,gBAAgB,CAiBlB;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,gBAAgB,GAAG,MAAM,CAKxE;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,gBAAgB,EAC3B,cAAc,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC,GAChD,cAAc,CAMhB;AAED,yFAAyF;AACzF,wBAAsB,mBAAmB,CAAC,MAAM,EAC9C,SAAS,EAAE,gBAAgB,EAC3B,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAC1D,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAGzE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SessionError } from '../../errors/index.js';
|
|
2
2
|
/** Create one total wall-clock budget for a complete public Client Session operation. */
|
|
3
3
|
export function createSessionOperation(lifecycle, input, defaultTimeoutMs) {
|
|
4
4
|
const timeoutMs = input?.timeoutMs ?? defaultTimeoutMs;
|
|
@@ -22,7 +22,7 @@ export function remainingSessionTime(operation) {
|
|
|
22
22
|
requireSessionOperation(operation);
|
|
23
23
|
const remaining = operation.deadline - Date.now();
|
|
24
24
|
if (remaining < 1)
|
|
25
|
-
throw new
|
|
25
|
+
throw new SessionError('Session operation timed out.', { failure: 'timeout' });
|
|
26
26
|
return remaining;
|
|
27
27
|
}
|
|
28
28
|
export function sessionTransportOptions(operation, idempotencyKey) {
|
|
@@ -33,13 +33,8 @@ export function sessionTransportOptions(operation, idempotencyKey) {
|
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
35
|
/** Settle independently of a caller capability that ignores its supplied AbortSignal. */
|
|
36
|
-
export function runSessionOperation(operation, task) {
|
|
37
|
-
|
|
38
|
-
requireSessionOperation(operation);
|
|
39
|
-
}
|
|
40
|
-
catch (error) {
|
|
41
|
-
return Promise.reject(error);
|
|
42
|
-
}
|
|
36
|
+
export async function runSessionOperation(operation, task) {
|
|
37
|
+
requireSessionOperation(operation);
|
|
43
38
|
let abort;
|
|
44
39
|
const interrupted = new Promise((_resolve, reject) => {
|
|
45
40
|
abort = () => reject(sessionInterruption(operation.signal.reason));
|
|
@@ -49,9 +44,14 @@ export function runSessionOperation(operation, task) {
|
|
|
49
44
|
requireSessionOperation(operation);
|
|
50
45
|
return task(operation.signal);
|
|
51
46
|
});
|
|
52
|
-
return Promise.race([execution, interrupted])
|
|
53
|
-
|
|
54
|
-
|
|
47
|
+
return Promise.race([execution, interrupted])
|
|
48
|
+
.catch((cause) => {
|
|
49
|
+
if (operation.signal.aborted)
|
|
50
|
+
throw sessionInterruption(operation.signal.reason);
|
|
51
|
+
throw cause;
|
|
52
|
+
})
|
|
53
|
+
.finally(() => {
|
|
54
|
+
operation.signal.removeEventListener('abort', abort);
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
57
|
export function requireSessionOperation(operation) {
|
|
@@ -60,11 +60,14 @@ export function requireSessionOperation(operation) {
|
|
|
60
60
|
throw sessionInterruption(operation.signal.reason);
|
|
61
61
|
}
|
|
62
62
|
function sessionInterruption(reason) {
|
|
63
|
+
if (reason instanceof SessionError)
|
|
64
|
+
return reason;
|
|
63
65
|
if (reason instanceof DOMException && reason.name === 'TimeoutError') {
|
|
64
|
-
return new
|
|
66
|
+
return new SessionError('Session operation timed out.', { cause: reason, failure: 'timeout' });
|
|
65
67
|
}
|
|
66
|
-
return
|
|
67
|
-
|
|
68
|
-
:
|
|
68
|
+
return new SessionError('Session operation was cancelled.', {
|
|
69
|
+
cause: reason,
|
|
70
|
+
failure: 'cancelled',
|
|
71
|
+
});
|
|
69
72
|
}
|
|
70
73
|
//# sourceMappingURL=operation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation.js","sourceRoot":"","sources":["../../../session/context/operation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"operation.js","sourceRoot":"","sources":["../../../session/context/operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../session/discovery/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAI9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../session/discovery/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAI9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAO1E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;IACxC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC9B;AAED,qBAAa,eAAe;IAGd,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAE3D,YAA6B,OAAO,EAAE,sBAAsB,EAAI;IAE1D,GAAG,CACP,WAAW,EAAE,WAAW,CAAC,WAAW,EACpC,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAQxB;IAED,KAAK,IAAI,IAAI,CAEZ;YAEa,KAAK;CA0CpB"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { decodeBundleValue } from '@astrale-os/kernel-protocol/publication/bundle';
|
|
2
2
|
import { ClientError } from '../../errors/index.js';
|
|
3
|
-
import { allowEndpoint
|
|
3
|
+
import { allowEndpoint } from '../context/index.js';
|
|
4
4
|
import { boundedResponse, requireExactResponse } from './publication.js';
|
|
5
|
+
import { runAcquisition } from './transport.js';
|
|
5
6
|
export class BundleDiscovery {
|
|
6
7
|
options;
|
|
7
8
|
bundles = new Map();
|
|
@@ -27,7 +28,7 @@ export class BundleDiscovery {
|
|
|
27
28
|
}
|
|
28
29
|
const href = publication.schema.bundle.href;
|
|
29
30
|
allowEndpoint(href, this.options.policy);
|
|
30
|
-
const response = await
|
|
31
|
+
const response = await runAcquisition(operation, 'bundle', 'unknown', 'Kernel bundle could not be retrieved.', (signal) => this.options.fetch(href, {
|
|
31
32
|
headers: { accept: publication.schema.bundle.ref.mediaType },
|
|
32
33
|
redirect: 'manual',
|
|
33
34
|
signal,
|
|
@@ -42,7 +43,7 @@ export class BundleDiscovery {
|
|
|
42
43
|
if (etag !== null && etag !== `"${publication.schema.bundle.ref.digest}"`) {
|
|
43
44
|
throw new ClientError('Bundle response ETag differs from its descriptor.');
|
|
44
45
|
}
|
|
45
|
-
const bytes = await
|
|
46
|
+
const bytes = await runAcquisition(operation, 'bundle', 'receive', 'Kernel bundle response could not be read.', (signal) => boundedResponse(response, publication.schema.bundle.ref.size, signal));
|
|
46
47
|
if (bytes.byteLength !== publication.schema.bundle.ref.size) {
|
|
47
48
|
throw new ClientError('Bundle artifact size differs from its descriptor.');
|
|
48
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../session/discovery/bundle.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAA;AAKlF,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../session/discovery/bundle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publication.d.ts","sourceRoot":"","sources":["../../../session/discovery/publication.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAK9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAG3D,OAAO,
|
|
1
|
+
{"version":3,"file":"publication.d.ts","sourceRoot":"","sources":["../../../session/discovery/publication.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAK9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAG3D,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGvE,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;IACxC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC9B;AAED,qBAAa,oBAAoB;IAInB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,QAAQ,CAAI;IAEpB,YAA6B,OAAO,EAAE,2BAA2B,EAAI;IAErE,OAAO,IAAI,WAAW,CAAC,WAAW,GAAG,SAAS,CAE7C;IAEK,UAAU,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAQ9E;IAED,UAAU,IAAI,IAAI,CAGjB;YAEa,KAAK;CAoDpB;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,UAAU,CAAC,CAiCrB;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAI9F"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as codecs from '@astrale-os/kernel-protocol/codecs';
|
|
2
2
|
import * as publicationCodec from '@astrale-os/kernel-protocol/publication/publication';
|
|
3
3
|
import { ClientError } from '../../errors/index.js';
|
|
4
|
-
import { allowEndpoint
|
|
4
|
+
import { allowEndpoint } from '../context/index.js';
|
|
5
|
+
import { runAcquisition } from './transport.js';
|
|
5
6
|
export class PublicationDiscovery {
|
|
6
7
|
options;
|
|
7
8
|
publication;
|
|
@@ -29,7 +30,7 @@ export class PublicationDiscovery {
|
|
|
29
30
|
async fetch(operation, previous) {
|
|
30
31
|
const url = publicationCodec.url(this.options.kernel);
|
|
31
32
|
allowEndpoint(url, this.options.policy);
|
|
32
|
-
const response = await
|
|
33
|
+
const response = await runAcquisition(operation, 'publication', 'unknown', 'Kernel Publication could not be retrieved.', (signal) => this.options.fetch(url, {
|
|
33
34
|
headers: {
|
|
34
35
|
accept: 'application/json',
|
|
35
36
|
...(previous === undefined ? {} : { 'if-none-match': `"${previous.etag}"` }),
|
|
@@ -51,7 +52,7 @@ export class PublicationDiscovery {
|
|
|
51
52
|
if (!response.ok) {
|
|
52
53
|
throw new ClientError(`Publication discovery returned HTTP ${response.status}.`);
|
|
53
54
|
}
|
|
54
|
-
const body = await
|
|
55
|
+
const body = await runAcquisition(operation, 'publication', 'receive', 'Kernel Publication response could not be read.', (signal) => boundedResponse(response, this.options.maximumBytes, signal));
|
|
55
56
|
const admitted = publicationCodec.accept(codecs.json.decode(body));
|
|
56
57
|
if (admitted.identity.issuer !== this.options.kernel) {
|
|
57
58
|
throw new ClientError('Publication issuer differs from the requested Kernel issuer.');
|