@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.
Files changed (160) hide show
  1. package/dist/auth/authorization.d.ts +2 -2
  2. package/dist/auth/authorization.d.ts.map +1 -1
  3. package/dist/auth/authorization.js.map +1 -1
  4. package/dist/client/result.d.ts +1 -1
  5. package/dist/client/result.d.ts.map +1 -1
  6. package/dist/errors/client-error.d.ts.map +1 -1
  7. package/dist/errors/client-error.js +2 -0
  8. package/dist/errors/client-error.js.map +1 -1
  9. package/dist/errors/index.d.ts +7 -6
  10. package/dist/errors/index.d.ts.map +1 -1
  11. package/dist/errors/index.js +7 -6
  12. package/dist/errors/index.js.map +1 -1
  13. package/dist/errors/session-error.d.ts +10 -0
  14. package/dist/errors/session-error.d.ts.map +1 -0
  15. package/dist/errors/session-error.js +10 -0
  16. package/dist/errors/session-error.js.map +1 -0
  17. package/dist/errors/transport-error.d.ts +18 -5
  18. package/dist/errors/transport-error.d.ts.map +1 -1
  19. package/dist/errors/transport-error.js +11 -6
  20. package/dist/errors/transport-error.js.map +1 -1
  21. package/dist/graph/domain/binding.d.ts +23 -0
  22. package/dist/graph/domain/binding.d.ts.map +1 -0
  23. package/dist/graph/domain/binding.js +124 -0
  24. package/dist/graph/domain/binding.js.map +1 -0
  25. package/dist/graph/domain/domain.typecheck.d.ts +2 -0
  26. package/dist/graph/domain/domain.typecheck.d.ts.map +1 -0
  27. package/dist/graph/domain/domain.typecheck.js +128 -0
  28. package/dist/graph/domain/domain.typecheck.js.map +1 -0
  29. package/dist/graph/domain/index.d.ts +4 -0
  30. package/dist/graph/domain/index.d.ts.map +1 -0
  31. package/dist/graph/domain/index.js +2 -0
  32. package/dist/graph/domain/index.js.map +1 -0
  33. package/dist/graph/domain/model.d.ts +19 -0
  34. package/dist/graph/domain/model.d.ts.map +1 -0
  35. package/dist/graph/domain/model.js +2 -0
  36. package/dist/graph/domain/model.js.map +1 -0
  37. package/dist/graph/domain/page.d.ts +24 -0
  38. package/dist/graph/domain/page.d.ts.map +1 -0
  39. package/dist/graph/domain/page.js +43 -0
  40. package/dist/graph/domain/page.js.map +1 -0
  41. package/dist/graph/domain/project.d.ts +9 -0
  42. package/dist/graph/domain/project.d.ts.map +1 -0
  43. package/dist/graph/domain/project.js +121 -0
  44. package/dist/graph/domain/project.js.map +1 -0
  45. package/dist/graph/domain/provenance.d.ts +7 -0
  46. package/dist/graph/domain/provenance.d.ts.map +1 -0
  47. package/dist/graph/domain/provenance.js +12 -0
  48. package/dist/graph/domain/provenance.js.map +1 -0
  49. package/dist/graph/errors.d.ts +2 -2
  50. package/dist/graph/errors.d.ts.map +1 -1
  51. package/dist/graph/errors.js +2 -1
  52. package/dist/graph/errors.js.map +1 -1
  53. package/dist/graph/graph.d.ts +7 -5
  54. package/dist/graph/graph.d.ts.map +1 -1
  55. package/dist/graph/graph.js.map +1 -1
  56. package/dist/graph/index.d.ts +1 -0
  57. package/dist/graph/index.d.ts.map +1 -1
  58. package/dist/graph/index.js +1 -0
  59. package/dist/graph/index.js.map +1 -1
  60. package/dist/graph/page/neighbors.d.ts +4 -4
  61. package/dist/graph/page/neighbors.d.ts.map +1 -1
  62. package/dist/graph/page/neighbors.js +6 -6
  63. package/dist/graph/page/neighbors.js.map +1 -1
  64. package/dist/graph/page/page.d.ts +5 -1
  65. package/dist/graph/page/page.d.ts.map +1 -1
  66. package/dist/graph/page/page.js.map +1 -1
  67. package/dist/graph/page-contract.d.ts +1 -1
  68. package/dist/graph/page-contract.d.ts.map +1 -1
  69. package/dist/graph/provenance.d.ts +13 -0
  70. package/dist/graph/provenance.d.ts.map +1 -0
  71. package/dist/graph/provenance.js +38 -0
  72. package/dist/graph/provenance.js.map +1 -0
  73. package/dist/graph/query.d.ts.map +1 -1
  74. package/dist/graph/query.js +23 -10
  75. package/dist/graph/query.js.map +1 -1
  76. package/dist/graph/read.d.ts +3 -3
  77. package/dist/graph/read.d.ts.map +1 -1
  78. package/dist/graph/read.js +1 -1
  79. package/dist/graph/read.js.map +1 -1
  80. package/dist/index.d.ts +1 -1
  81. package/dist/index.d.ts.map +1 -1
  82. package/dist/index.js +1 -1
  83. package/dist/index.js.map +1 -1
  84. package/dist/schema/admission.d.ts +1 -1
  85. package/dist/schema/admission.d.ts.map +1 -1
  86. package/dist/schema/admission.js.map +1 -1
  87. package/dist/schema/contracts.d.ts +6 -15
  88. package/dist/schema/contracts.d.ts.map +1 -1
  89. package/dist/schema/introspection.d.ts +1 -1
  90. package/dist/schema/introspection.d.ts.map +1 -1
  91. package/dist/schema/introspection.js +1 -1
  92. package/dist/schema/introspection.js.map +1 -1
  93. package/dist/schema/operation.js +1 -1
  94. package/dist/schema/operation.js.map +1 -1
  95. package/dist/schema/schema.d.ts +1 -1
  96. package/dist/schema/schema.d.ts.map +1 -1
  97. package/dist/session/bound.d.ts +45 -0
  98. package/dist/session/bound.d.ts.map +1 -0
  99. package/dist/session/bound.js +76 -0
  100. package/dist/session/bound.js.map +1 -0
  101. package/dist/session/context/operation.d.ts.map +1 -1
  102. package/dist/session/context/operation.js +19 -16
  103. package/dist/session/context/operation.js.map +1 -1
  104. package/dist/session/discovery/bundle.d.ts.map +1 -1
  105. package/dist/session/discovery/bundle.js +4 -3
  106. package/dist/session/discovery/bundle.js.map +1 -1
  107. package/dist/session/discovery/publication.d.ts.map +1 -1
  108. package/dist/session/discovery/publication.js +4 -3
  109. package/dist/session/discovery/publication.js.map +1 -1
  110. package/dist/session/discovery/transport.d.ts +7 -0
  111. package/dist/session/discovery/transport.d.ts.map +1 -0
  112. package/dist/session/discovery/transport.js +14 -0
  113. package/dist/session/discovery/transport.js.map +1 -0
  114. package/dist/session/index.d.ts +3 -0
  115. package/dist/session/index.d.ts.map +1 -1
  116. package/dist/session/index.js +2 -0
  117. package/dist/session/index.js.map +1 -1
  118. package/dist/session/reference.d.ts +12 -2
  119. package/dist/session/reference.d.ts.map +1 -1
  120. package/dist/session/reference.js +28 -7
  121. package/dist/session/reference.js.map +1 -1
  122. package/dist/session/routing/expectation.d.ts +2 -2
  123. package/dist/session/routing/expectation.d.ts.map +1 -1
  124. package/dist/session/session.d.ts +7 -1
  125. package/dist/session/session.d.ts.map +1 -1
  126. package/dist/session/session.js +27 -3
  127. package/dist/session/session.js.map +1 -1
  128. package/dist/session/session.typecheck.js +23 -1
  129. package/dist/session/session.typecheck.js.map +1 -1
  130. package/dist/session/views/catalog.d.ts.map +1 -1
  131. package/dist/session/views/catalog.js +12 -4
  132. package/dist/session/views/catalog.js.map +1 -1
  133. package/dist/store/store.typecheck.js +3 -3
  134. package/dist/store/store.typecheck.js.map +1 -1
  135. package/dist/transport/auto/fallback.d.ts.map +1 -1
  136. package/dist/transport/auto/fallback.js +8 -9
  137. package/dist/transport/auto/fallback.js.map +1 -1
  138. package/dist/transport/auto/transport.d.ts.map +1 -1
  139. package/dist/transport/auto/transport.js +5 -5
  140. package/dist/transport/auto/transport.js.map +1 -1
  141. package/dist/transport/failure.d.ts +8 -0
  142. package/dist/transport/failure.d.ts.map +1 -0
  143. package/dist/transport/failure.js +10 -0
  144. package/dist/transport/failure.js.map +1 -0
  145. package/dist/transport/http/stream.d.ts.map +1 -1
  146. package/dist/transport/http/stream.js +7 -6
  147. package/dist/transport/http/stream.js.map +1 -1
  148. package/dist/transport/http/transport.d.ts.map +1 -1
  149. package/dist/transport/http/transport.js +4 -5
  150. package/dist/transport/http/transport.js.map +1 -1
  151. package/dist/transport/websocket/connection.d.ts.map +1 -1
  152. package/dist/transport/websocket/connection.js +11 -23
  153. package/dist/transport/websocket/connection.js.map +1 -1
  154. package/dist/transport/websocket/exchange.d.ts.map +1 -1
  155. package/dist/transport/websocket/exchange.js +5 -8
  156. package/dist/transport/websocket/exchange.js.map +1 -1
  157. package/dist/transport/websocket/transport.d.ts.map +1 -1
  158. package/dist/transport/websocket/transport.js +6 -18
  159. package/dist/transport/websocket/transport.js.map +1 -1
  160. package/package.json +9 -9
@@ -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 output = await call(invocation(KERNEL_QUERY_PATH, Object.freeze({ ast, page: admittedPage })), request);
11
- return decodeResponse(output);
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 page = value.page;
37
- if (page === null || typeof page !== 'object' || Array.isArray(page)) {
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 = page;
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
- return Object.freeze({
49
- result: QueryResult.decode(value.result),
50
- page: Object.freeze(pageValue.next === undefined ? {} : { next: pageValue.next }),
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);
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../graph/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../graph/query.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { Node } from '@astrale-os/kernel-core/graph/node';
2
- import type { PathLike } from '@astrale-os/kernel-core/path';
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: PathLike, options?: RequestOptions): Promise<Node | null>;
6
- export declare function requireNode(call: GraphCall, path: PathLike, options?: RequestOptions): Promise<Node>;
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
@@ -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,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAI5D,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,QAAQ,EACd,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAMtB;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,QAAQ,EACd,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC,CAIf"}
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"}
@@ -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({ kind: 'node', paths: [path] }).select({ kind: 'graph' });
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')
@@ -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,IAAc,EACd,OAAwB;IAExB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IACjF,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,IAAc,EACd,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"}
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 { ClientError, MissError, ProtocolError, type ProtocolErrorOptions, ResponseError, StaleRouteError, TransportError, type TransportDelivery, type TransportErrorOptions, type TransportPhase, } from './errors/index.js';
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';
@@ -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,OAAO,EACL,WAAW,EACX,SAAS,EACT,aAAa,EACb,KAAK,oBAAoB,EACzB,aAAa,EACb,eAAe,EACf,cAAc,EACd,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAA;AAC1B,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"}
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 { ClientError, MissError, ProtocolError, ResponseError, StaleRouteError, TransportError, } from './errors/index.js';
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,OAAO,EACL,WAAW,EACX,SAAS,EACT,aAAa,EAEb,aAAa,EACb,eAAe,EACf,cAAc,GAIf,MAAM,mBAAmB,CAAA;AAC1B,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"}
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 extends Value>(contract: OutputContract, input: unknown): 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,SAAS,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAKzF"}
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,CAAkB,QAAwB,EAAE,KAAc;IACpF,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
+ {"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 InstallRequest = Omit<InputOf<(typeof syscalls.install)['callable']>, 'operation'> & {
7
- readonly operation: OperationId;
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 = Omit<OutputOf<(typeof syscalls.install)['callable']>, 'operation'> & {
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 = Omit<InputOf<(typeof syscalls.uninstall)['callable']>, 'operation'> & {
15
- readonly operation: OperationId;
16
- };
10
+ export type UninstallRequest = UninstallInput;
17
11
  /** Admitted terminal uninstall receipt returned by the Kernel. */
18
- export type UninstallReceipt = Omit<OutputOf<(typeof syscalls.uninstall)['callable']>, 'operation'> & {
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,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAElE,MAAM,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,CAAA;AAElD,qEAAqE;AACrE,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG;IAC/F,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAA;CAChC,CAAA;AAED,gEAAgE;AAChE,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG;IAChG,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAA;CAChC,CAAA;AAED,uEAAuE;AACvE,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,OAAO,CAAC,CAAC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,EAChD,WAAW,CACZ,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAA;CAAE,CAAA;AAEvC,kEAAkE;AAClE,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,QAAQ,CAAC,CAAC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,EACjD,WAAW,CACZ,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAA;CAAE,CAAA;AAEvC,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA"}
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 { schema as protocol } from '@astrale-os/kernel-protocol';
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,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAOrE,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
+ {"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 { schema } from '@astrale-os/kernel-protocol';
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,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;AAMpD,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"}
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"}
@@ -1,4 +1,4 @@
1
- import { installation } from '@astrale-os/kernel-core/schema';
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,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAI7D,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"}
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"}
@@ -1,5 +1,5 @@
1
1
  import type { introspection } from '@astrale-os/kernel-core/schema';
2
- import type { schema as protocolSchema } from '@astrale-os/kernel-protocol';
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,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAS3E,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"}
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,wBAAgB,mBAAmB,CAAC,MAAM,EACxC,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
+ {"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 { ClientError } from '../../errors/index.js';
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 ClientError('Session operation timed out.');
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
- try {
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]).finally(() => {
53
- if (abort !== undefined)
54
- operation.signal.removeEventListener('abort', abort);
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 ClientError('Session operation timed out.', { cause: reason });
66
+ return new SessionError('Session operation timed out.', { cause: reason, failure: 'timeout' });
65
67
  }
66
- return reason instanceof Error
67
- ? reason
68
- : new ClientError('Session operation was cancelled.', { cause: reason });
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":"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"}
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;AAM1E,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;CAiCpB"}
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, runSessionOperation } from '../context/index.js';
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 runSessionOperation(operation, (signal) => this.options.fetch(href, {
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 runSessionOperation(operation, (signal) => boundedResponse(response, publication.schema.bundle.ref.size, signal));
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":"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"}
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,EAAsC,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAE5F,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;CA2CpB;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
+ {"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, runSessionOperation } from '../context/index.js';
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 runSessionOperation(operation, (signal) => this.options.fetch(url, {
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 runSessionOperation(operation, (signal) => boundedResponse(response, this.options.maximumBytes, signal));
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.');