@astrale-os/kernel-client 0.6.0-beta.1 → 0.6.0-beta.3

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 (197) hide show
  1. package/dist/auth/auth.d.ts +1 -1
  2. package/dist/auth/auth.d.ts.map +1 -1
  3. package/dist/auth/credential.d.ts +1 -1
  4. package/dist/auth/credential.d.ts.map +1 -1
  5. package/dist/auth/credential.js.map +1 -1
  6. package/dist/auth/identity.js.map +1 -1
  7. package/dist/auth/provision.js.map +1 -1
  8. package/dist/client/admission.d.ts.map +1 -1
  9. package/dist/client/admission.js.map +1 -1
  10. package/dist/client/client.d.ts +7 -4
  11. package/dist/client/client.d.ts.map +1 -1
  12. package/dist/client/client.js +13 -4
  13. package/dist/client/client.js.map +1 -1
  14. package/dist/client/credential.d.ts +4 -4
  15. package/dist/client/credential.d.ts.map +1 -1
  16. package/dist/client/credential.js.map +1 -1
  17. package/dist/client/index.d.ts +2 -1
  18. package/dist/client/index.d.ts.map +1 -1
  19. package/dist/client/index.js +1 -1
  20. package/dist/client/index.js.map +1 -1
  21. package/dist/client/request.d.ts +5 -2
  22. package/dist/client/request.d.ts.map +1 -1
  23. package/dist/client/request.js +19 -1
  24. package/dist/client/request.js.map +1 -1
  25. package/dist/client/result.d.ts +35 -4
  26. package/dist/client/result.d.ts.map +1 -1
  27. package/dist/client/result.js +3 -3
  28. package/dist/client/result.js.map +1 -1
  29. package/dist/client/routing-control.d.ts +3 -3
  30. package/dist/client/routing-control.d.ts.map +1 -1
  31. package/dist/client/routing-control.js +4 -4
  32. package/dist/client/routing-control.js.map +1 -1
  33. package/dist/domain/binding.d.ts +5 -6
  34. package/dist/domain/binding.d.ts.map +1 -1
  35. package/dist/domain/binding.js +35 -16
  36. package/dist/domain/binding.js.map +1 -1
  37. package/dist/domain/callable.d.ts +7 -5
  38. package/dist/domain/callable.d.ts.map +1 -1
  39. package/dist/domain/callable.js +12 -8
  40. package/dist/domain/callable.js.map +1 -1
  41. package/dist/domain/domain.typecheck.js +6 -6
  42. package/dist/domain/domain.typecheck.js.map +1 -1
  43. package/dist/domain/index.d.ts +1 -1
  44. package/dist/domain/index.d.ts.map +1 -1
  45. package/dist/domain/index.js +1 -1
  46. package/dist/domain/index.js.map +1 -1
  47. package/dist/errors/index.d.ts +1 -1
  48. package/dist/errors/index.d.ts.map +1 -1
  49. package/dist/errors/index.js.map +1 -1
  50. package/dist/errors/miss-error.d.ts +3 -1
  51. package/dist/errors/miss-error.d.ts.map +1 -1
  52. package/dist/errors/miss-error.js +3 -1
  53. package/dist/errors/miss-error.js.map +1 -1
  54. package/dist/errors/protocol-error.d.ts +6 -1
  55. package/dist/errors/protocol-error.d.ts.map +1 -1
  56. package/dist/errors/protocol-error.js +2 -0
  57. package/dist/errors/protocol-error.js.map +1 -1
  58. package/dist/errors/response-error.d.ts +3 -2
  59. package/dist/errors/response-error.d.ts.map +1 -1
  60. package/dist/errors/response-error.js +3 -1
  61. package/dist/errors/response-error.js.map +1 -1
  62. package/dist/errors/stale-route-error.d.ts +3 -2
  63. package/dist/errors/stale-route-error.d.ts.map +1 -1
  64. package/dist/errors/stale-route-error.js +3 -1
  65. package/dist/errors/stale-route-error.js.map +1 -1
  66. package/dist/errors/transport-error.d.ts +3 -0
  67. package/dist/errors/transport-error.d.ts.map +1 -1
  68. package/dist/errors/transport-error.js +2 -0
  69. package/dist/errors/transport-error.js.map +1 -1
  70. package/dist/graph/graph.d.ts +2 -3
  71. package/dist/graph/graph.d.ts.map +1 -1
  72. package/dist/graph/graph.js.map +1 -1
  73. package/dist/graph/index.d.ts +1 -0
  74. package/dist/graph/index.d.ts.map +1 -1
  75. package/dist/graph/index.js.map +1 -1
  76. package/dist/graph/mutation.js.map +1 -1
  77. package/dist/graph/page/page.d.ts +1 -1
  78. package/dist/graph/page/page.d.ts.map +1 -1
  79. package/dist/graph/page-contract.d.ts +14 -0
  80. package/dist/graph/page-contract.d.ts.map +1 -0
  81. package/dist/graph/page-contract.js +2 -0
  82. package/dist/graph/page-contract.js.map +1 -0
  83. package/dist/graph/query.d.ts +1 -1
  84. package/dist/graph/query.d.ts.map +1 -1
  85. package/dist/graph/query.js.map +1 -1
  86. package/dist/index.d.ts +2 -2
  87. package/dist/index.d.ts.map +1 -1
  88. package/dist/index.js.map +1 -1
  89. package/dist/schema/admission.d.ts +10 -0
  90. package/dist/schema/admission.d.ts.map +1 -0
  91. package/dist/schema/admission.js +23 -0
  92. package/dist/schema/admission.js.map +1 -0
  93. package/dist/schema/contracts.d.ts +22 -0
  94. package/dist/schema/contracts.d.ts.map +1 -0
  95. package/dist/schema/contracts.js +2 -0
  96. package/dist/schema/contracts.js.map +1 -0
  97. package/dist/schema/index.d.ts +4 -0
  98. package/dist/schema/index.d.ts.map +1 -0
  99. package/dist/schema/index.js +3 -0
  100. package/dist/schema/index.js.map +1 -0
  101. package/dist/schema/introspection.d.ts +6 -0
  102. package/dist/schema/introspection.d.ts.map +1 -0
  103. package/dist/schema/introspection.js +16 -0
  104. package/dist/schema/introspection.js.map +1 -0
  105. package/dist/schema/operation.d.ts +6 -0
  106. package/dist/schema/operation.d.ts.map +1 -0
  107. package/dist/schema/operation.js +10 -0
  108. package/dist/schema/operation.js.map +1 -0
  109. package/dist/schema/schema.d.ts +20 -0
  110. package/dist/schema/schema.d.ts.map +1 -0
  111. package/dist/schema/schema.js +43 -0
  112. package/dist/schema/schema.js.map +1 -0
  113. package/dist/session/context/index.d.ts +1 -1
  114. package/dist/session/context/index.d.ts.map +1 -1
  115. package/dist/session/context/index.js +1 -1
  116. package/dist/session/context/index.js.map +1 -1
  117. package/dist/session/context/policy.d.ts +3 -1
  118. package/dist/session/context/policy.d.ts.map +1 -1
  119. package/dist/session/context/policy.js +12 -5
  120. package/dist/session/context/policy.js.map +1 -1
  121. package/dist/session/discovery/bundle.js +6 -6
  122. package/dist/session/discovery/bundle.js.map +1 -1
  123. package/dist/session/discovery/discovery.d.ts +3 -10
  124. package/dist/session/discovery/discovery.d.ts.map +1 -1
  125. package/dist/session/discovery/discovery.js +6 -19
  126. package/dist/session/discovery/discovery.js.map +1 -1
  127. package/dist/session/discovery/index.d.ts +3 -6
  128. package/dist/session/discovery/index.d.ts.map +1 -1
  129. package/dist/session/discovery/index.js +2 -1
  130. package/dist/session/discovery/index.js.map +1 -1
  131. package/dist/session/discovery/publication.d.ts +7 -5
  132. package/dist/session/discovery/publication.d.ts.map +1 -1
  133. package/dist/session/discovery/publication.js +19 -21
  134. package/dist/session/discovery/publication.js.map +1 -1
  135. package/dist/session/discovery/snapshot.d.ts +3 -2
  136. package/dist/session/discovery/snapshot.d.ts.map +1 -1
  137. package/dist/session/discovery/snapshot.js +2 -2
  138. package/dist/session/discovery/snapshot.js.map +1 -1
  139. package/dist/session/index.d.ts +3 -2
  140. package/dist/session/index.d.ts.map +1 -1
  141. package/dist/session/index.js +1 -1
  142. package/dist/session/index.js.map +1 -1
  143. package/dist/session/routing/auth.d.ts.map +1 -1
  144. package/dist/session/routing/auth.js +1 -4
  145. package/dist/session/routing/auth.js.map +1 -1
  146. package/dist/session/routing/bound.d.ts +7 -0
  147. package/dist/session/routing/bound.d.ts.map +1 -0
  148. package/dist/session/routing/bound.js +2 -0
  149. package/dist/session/routing/bound.js.map +1 -0
  150. package/dist/session/routing/cache.d.ts +2 -1
  151. package/dist/session/routing/cache.d.ts.map +1 -1
  152. package/dist/session/routing/cache.js +20 -3
  153. package/dist/session/routing/cache.js.map +1 -1
  154. package/dist/session/routing/dispatch.d.ts +5 -5
  155. package/dist/session/routing/dispatch.d.ts.map +1 -1
  156. package/dist/session/routing/dispatch.js +57 -17
  157. package/dist/session/routing/dispatch.js.map +1 -1
  158. package/dist/session/routing/index.d.ts +1 -0
  159. package/dist/session/routing/index.d.ts.map +1 -1
  160. package/dist/session/routing/index.js.map +1 -1
  161. package/dist/session/session.d.ts +19 -14
  162. package/dist/session/session.d.ts.map +1 -1
  163. package/dist/session/session.js +51 -9
  164. package/dist/session/session.js.map +1 -1
  165. package/dist/session/views/resolve.d.ts +1 -2
  166. package/dist/session/views/resolve.d.ts.map +1 -1
  167. package/dist/session/views/resolve.js.map +1 -1
  168. package/dist/store/memory.d.ts +1 -1
  169. package/dist/store/memory.d.ts.map +1 -1
  170. package/dist/store/memory.js.map +1 -1
  171. package/dist/store/query-key.d.ts +1 -1
  172. package/dist/store/query-key.d.ts.map +1 -1
  173. package/dist/store/query-key.js.map +1 -1
  174. package/dist/store/shape.d.ts +1 -1
  175. package/dist/store/shape.d.ts.map +1 -1
  176. package/dist/store/store.d.ts +1 -1
  177. package/dist/store/store.d.ts.map +1 -1
  178. package/dist/transport/http/stream.d.ts +4 -3
  179. package/dist/transport/http/stream.d.ts.map +1 -1
  180. package/dist/transport/http/stream.js +25 -8
  181. package/dist/transport/http/stream.js.map +1 -1
  182. package/dist/transport/http/transport.d.ts.map +1 -1
  183. package/dist/transport/http/transport.js +40 -29
  184. package/dist/transport/http/transport.js.map +1 -1
  185. package/dist/transport/transport.d.ts +7 -1
  186. package/dist/transport/transport.d.ts.map +1 -1
  187. package/dist/transport/websocket/connection.d.ts +1 -1
  188. package/dist/transport/websocket/connection.d.ts.map +1 -1
  189. package/dist/transport/websocket/connection.js +9 -9
  190. package/dist/transport/websocket/connection.js.map +1 -1
  191. package/dist/transport/websocket/exchange.d.ts +6 -5
  192. package/dist/transport/websocket/exchange.d.ts.map +1 -1
  193. package/dist/transport/websocket/exchange.js +44 -28
  194. package/dist/transport/websocket/exchange.js.map +1 -1
  195. package/dist/transport/websocket/transport.js +1 -1
  196. package/dist/transport/websocket/transport.js.map +1 -1
  197. package/package.json +11 -6
@@ -1 +1 @@
1
- {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../graph/page/page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AAC9E,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACf,MAAM,qCAAqC,CAAA;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAErF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAE9B,IAAI,CAAC,OAAO,CAAC,EAAE;QACb,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;QAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAC5B,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAA;IAE5B,OAAO,CAAC,OAAO,EAAE;QACf,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;QAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;QAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAC5B,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAA;CAChF;AAED,KAAK,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAA;AAE7D,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;CAChC;AACD,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,SAAS,QAAQ,EAC7C,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,gBAAgB,KACtB,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAElD,KAAK,iBAAiB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAA;AAEhE,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,iBAAiB,EACtB,QAAQ,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAC7C,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,GACX,QAAQ,CAiDV"}
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../graph/page/page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AAC9E,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACf,MAAM,qCAAqC,CAAA;AAE5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAE1E,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAE9B,IAAI,CAAC,OAAO,CAAC,EAAE;QACb,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;QAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAC5B,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAA;IAE5B,OAAO,CAAC,OAAO,EAAE;QACf,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;QAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;QAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAC5B,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAA;CAChF;AAED,KAAK,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAA;AAE7D,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;CAChC;AACD,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,SAAS,QAAQ,EAC7C,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,gBAAgB,KACtB,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAElD,KAAK,iBAAiB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAA;AAEhE,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,iBAAiB,EACtB,QAAQ,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAC7C,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,GACX,QAAQ,CAiDV"}
@@ -0,0 +1,14 @@
1
+ import type { QueryResult } from '@astrale-os/kernel-core/graph/query';
2
+ /** Caller-selected bounds and continuation for one graph query page. */
3
+ export interface QueryPageRequest {
4
+ readonly size: number;
5
+ readonly after?: string;
6
+ }
7
+ /** Admitted graph result and its optional opaque continuation. */
8
+ export interface QueryResponse<Result extends QueryResult = QueryResult> {
9
+ readonly result: Result;
10
+ readonly page: {
11
+ readonly next?: string;
12
+ };
13
+ }
14
+ //# sourceMappingURL=page-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-contract.d.ts","sourceRoot":"","sources":["../../graph/page-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAEtE,wEAAwE;AACxE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,kEAAkE;AAClE,MAAM,WAAW,aAAa,CAAC,MAAM,SAAS,WAAW,GAAG,WAAW;IACrE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC1C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=page-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-contract.js","sourceRoot":"","sources":["../../graph/page-contract.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  import type { QueryAST as QueryASTValue, QueryResultFor } from '@astrale-os/kernel-core/graph/query';
2
- import type { QueryResponse } from '@astrale-os/kernel-ports/query';
3
2
  import type { GraphCall, GraphQueryOptions } from './graph.js';
3
+ import type { QueryResponse } from './page-contract.js';
4
4
  export declare function queryGraph<Query extends QueryASTValue>(call: GraphCall, input: Query, options: GraphQueryOptions): Promise<QueryResponse<QueryResultFor<Query>>>;
5
5
  //# sourceMappingURL=query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../graph/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,aAAa,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAEpG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAMnE,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAM9D,wBAAsB,UAAU,CAAC,KAAK,SAAS,aAAa,EAC1D,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAS/C"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../graph/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,aAAa,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAOpG,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAMvD,wBAAsB,UAAU,CAAC,KAAK,SAAS,aAAa,EAC1D,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAS/C"}
@@ -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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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export { Client, call, type AuthenticatedClient, type Call, type ClientDispatchOptions, type ClientOptions, type RemoteCredential, } from './client/index.js';
2
- export { ClientError, MissError, ProtocolError, ResponseError, StaleRouteError, TransportError, type TransportDelivery, type TransportErrorOptions, type TransportPhase, } from './errors/index.js';
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';
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,gBAAgB,GACtB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,WAAW,EACX,SAAS,EACT,aAAa,EACb,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,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"}
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,GAML,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,WAAW,EACX,SAAS,EACT,aAAa,EACb,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,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"}
@@ -0,0 +1,10 @@
1
+ import type { schema as dslSchema } from '@astrale-os/kernel-dsl/v1';
2
+ /** Admit one value result against the exact Kernel syscall declaration that owns it. */
3
+ interface ValueSyscall {
4
+ readonly declaration: {
5
+ readonly output: dslSchema.CallableOutput;
6
+ };
7
+ }
8
+ export declare function acceptOutput<T>(owner: ValueSyscall, input: unknown): T;
9
+ export {};
10
+ //# sourceMappingURL=admission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admission.d.ts","sourceRoot":"","sources":["../../schema/admission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAOpE,wFAAwF;AACxF,UAAU,YAAY;IACpB,QAAQ,CAAC,WAAW,EAAE;QACpB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,cAAc,CAAA;KAC1C,CAAA;CACF;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAetE"}
@@ -0,0 +1,23 @@
1
+ import { KernelSchema } from '@astrale-os/kernel-core/schema';
2
+ import { schema } from '@astrale-os/kernel-dsl/v1';
3
+ import * as portable from '@astrale-os/kernel-dsl/value';
4
+ export function acceptOutput(owner, input) {
5
+ if (owner.declaration.output.mode !== 'value') {
6
+ throw new TypeError('Schema Client expected a value-producing Kernel syscall.');
7
+ }
8
+ const value = portable.accept(input);
9
+ const diagnostics = schema.values.validate(KernelSchema, owner.declaration.output.schema, value, '/output');
10
+ if (diagnostics.length > 0) {
11
+ throw new TypeError(`Kernel returned an invalid Schema result: ${diagnostics[0].message}`);
12
+ }
13
+ return freeze(value);
14
+ }
15
+ function freeze(input) {
16
+ if (input !== null && typeof input === 'object' && !Object.isFrozen(input)) {
17
+ for (const value of Object.values(input))
18
+ freeze(value);
19
+ Object.freeze(input);
20
+ }
21
+ return input;
22
+ }
23
+ //# sourceMappingURL=admission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admission.js","sourceRoot":"","sources":["../../schema/admission.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAA;AASxD,MAAM,UAAU,YAAY,CAAI,KAAmB,EAAE,KAAc;IACjE,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC9C,MAAM,IAAI,SAAS,CAAC,0DAA0D,CAAC,CAAA;IACjF,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAU,CAAA;IAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CACxC,YAAY,EACZ,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAC/B,KAAK,EACL,SAAS,CACV,CAAA;IACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,SAAS,CAAC,6CAA6C,WAAW,CAAC,CAAC,CAAE,CAAC,OAAO,EAAE,CAAC,CAAA;IAC7F,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAM,CAAA;AAC3B,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"}
@@ -0,0 +1,22 @@
1
+ import type { InputOf, OutputOf } from '@astrale-os/kernel-core/domain';
2
+ import type { syscalls } from '@astrale-os/kernel-core/schema';
3
+ import type { installation } from '@astrale-os/kernel-core/schema';
4
+ export type OperationId = installation.OperationId;
5
+ /** 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
+ };
9
+ /** Admitted terminal install receipt returned by the Kernel. */
10
+ export type InstallReceipt = Omit<OutputOf<(typeof syscalls.install)['callable']>, 'operation'> & {
11
+ readonly operation: OperationId;
12
+ };
13
+ /** 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
+ };
17
+ /** 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];
22
+ //# sourceMappingURL=contracts.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../schema/contracts.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export { createSchema, type SchemaApi, type SchemaCall, type SchemaOptions, type ReadyInstallation, } from './schema.js';
2
+ export { acceptOperationId, createOperationId } from './operation.js';
3
+ export type { DesiredInstallation, InstallReceipt, InstallRequest, OperationId, UninstallReceipt, UninstallRequest, } from './contracts.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACvB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAErE,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { createSchema, } from './schema.js';
2
+ export { acceptOperationId, createOperationId } from './operation.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,GAKb,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,6 @@
1
+ import type { introspection as language } from '@astrale-os/kernel-core/schema';
2
+ import type { schema as protocol } from '@astrale-os/kernel-protocol';
3
+ import type { RequestOptions } from '../transport/index.js';
4
+ import type { SchemaCall, SchemaOptions } from './schema.js';
5
+ export declare function introspect<InputType extends language.Introspection>(invoke: SchemaCall, limits: SchemaOptions, request: InputType, options?: RequestOptions): Promise<protocol.installation.introspection.ResultFor<InputType>>;
6
+ //# sourceMappingURL=introspection.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,16 @@
1
+ import { Path } from '@astrale-os/kernel-core/path';
2
+ import { syscalls } from '@astrale-os/kernel-core/schema';
3
+ import { schema } from '@astrale-os/kernel-protocol';
4
+ import { call } from '../client/index.js';
5
+ const INTROSPECT_PATH = Path.project(syscalls.introspect.ref).raw;
6
+ export async function introspect(invoke, limits, request, options) {
7
+ const result = await invoke(call(INTROSPECT_PATH, request), options);
8
+ if (result.kind !== 'binary') {
9
+ throw new TypeError('Schema introspection returned a non-binary result.');
10
+ }
11
+ if (result.value.mediaType !== schema.installation.introspection.MEDIA_TYPE) {
12
+ throw new TypeError('Schema introspection returned an unsupported media type.');
13
+ }
14
+ return schema.installation.introspection.decode(request, result.value.body, limits);
15
+ }
16
+ //# sourceMappingURL=introspection.js.map
@@ -0,0 +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,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;AAMpD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAEzC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAA;AAEjE,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"}
@@ -0,0 +1,6 @@
1
+ import type { OperationId } from './contracts.js';
2
+ /** Accept one canonical lowercase RFC 9562 UUIDv4 operation identity. */
3
+ export declare function acceptOperationId(input: unknown): OperationId;
4
+ /** Allocate one cryptographically generated operation identity for a new lifecycle request. */
5
+ export declare function createOperationId(): OperationId;
6
+ //# sourceMappingURL=operation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../schema/operation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,yEAAyE;AACzE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAE7D;AAED,+FAA+F;AAC/F,wBAAgB,iBAAiB,IAAI,WAAW,CAE/C"}
@@ -0,0 +1,10 @@
1
+ import { installation } from '@astrale-os/kernel-core/schema';
2
+ /** Accept one canonical lowercase RFC 9562 UUIDv4 operation identity. */
3
+ export function acceptOperationId(input) {
4
+ return installation.acceptOperationId(input);
5
+ }
6
+ /** Allocate one cryptographically generated operation identity for a new lifecycle request. */
7
+ export function createOperationId() {
8
+ return acceptOperationId(globalThis.crypto.randomUUID());
9
+ }
10
+ //# sourceMappingURL=operation.js.map
@@ -0,0 +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"}
@@ -0,0 +1,20 @@
1
+ import type { introspection } from '@astrale-os/kernel-core/schema';
2
+ import type { schema as protocolSchema } from '@astrale-os/kernel-protocol';
3
+ import type { Call, Result } from '../client/index.js';
4
+ import type { RequestOptions } from '../transport/index.js';
5
+ import type { InstallReceipt, InstallRequest, UninstallReceipt, UninstallRequest } from './contracts.js';
6
+ export type SchemaCall = (call: Call, options?: RequestOptions) => Promise<Result>;
7
+ export interface SchemaOptions extends protocolSchema.installation.introspection.Limits {
8
+ }
9
+ export type ReadyInstallation = protocolSchema.installation.introspection.Installation & {
10
+ readonly state: 'ready';
11
+ readonly readiness: protocolSchema.installation.introspection.Digest;
12
+ };
13
+ export interface SchemaApi {
14
+ install(request: InstallRequest, options?: RequestOptions): Promise<InstallReceipt>;
15
+ uninstall(request: UninstallRequest, options?: RequestOptions): Promise<UninstallReceipt>;
16
+ introspect<Input extends introspection.Introspection>(request: Input, options?: RequestOptions): Promise<protocolSchema.installation.introspection.ResultFor<Input>>;
17
+ }
18
+ /** Bind the canonical Schema lifecycle syscalls to one caller-scoped value-call capability. */
19
+ export declare function createSchema(call: SchemaCall, limits: SchemaOptions): SchemaApi;
20
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +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;AAK3E,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,43 @@
1
+ import { Path } from '@astrale-os/kernel-core/path';
2
+ import { syscalls } from '@astrale-os/kernel-core/schema';
3
+ import { call as invocation } from '../client/index.js';
4
+ import { acceptOutput } from './admission.js';
5
+ import { introspect as inspect } from './introspection.js';
6
+ const INSTALL_PATH = Path.project(syscalls.install.ref).raw;
7
+ const UNINSTALL_PATH = Path.project(syscalls.uninstall.ref).raw;
8
+ /** Bind the canonical Schema lifecycle syscalls to one caller-scoped value-call capability. */
9
+ export function createSchema(call, limits) {
10
+ if (typeof call !== 'function')
11
+ throw new TypeError('Schema call capability is invalid.');
12
+ const admittedLimits = admitLimits(limits);
13
+ return Object.freeze({
14
+ async install(request, options) {
15
+ const output = value(await call(invocation(INSTALL_PATH, request), options));
16
+ return acceptOutput(syscalls.install, output);
17
+ },
18
+ async uninstall(request, options) {
19
+ const output = value(await call(invocation(UNINSTALL_PATH, request), options));
20
+ return acceptOutput(syscalls.uninstall, output);
21
+ },
22
+ async introspect(request, options) {
23
+ return inspect(call, admittedLimits, request, options);
24
+ },
25
+ });
26
+ }
27
+ function value(result) {
28
+ if (result.kind !== 'value')
29
+ throw new TypeError('Schema syscall returned a non-value result.');
30
+ return result.value;
31
+ }
32
+ function admitLimits(input) {
33
+ if (input === null ||
34
+ typeof input !== 'object' ||
35
+ !Number.isSafeInteger(input.maximumPublicationBytes) ||
36
+ input.maximumPublicationBytes < 1 ||
37
+ !Number.isSafeInteger(input.maximumBundleBytes) ||
38
+ input.maximumBundleBytes < 1) {
39
+ throw new TypeError('Schema introspection limits are invalid.');
40
+ }
41
+ return Object.freeze({ ...input });
42
+ }
43
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../schema/schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AAWzD,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,UAAU,IAAI,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAoB1D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAA;AAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAA;AAE/D,+FAA+F;AAC/F,MAAM,UAAU,YAAY,CAAC,IAAgB,EAAE,MAAqB;IAClE,IAAI,OAAO,IAAI,KAAK,UAAU;QAAE,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAA;IACzF,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,KAAK,CAAC,OAAO,CAAC,OAAuB,EAAE,OAAwB;YAC7D,MAAM,MAAM,GAAG,KAAK,CAClB,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,OAA2B,CAAC,EAAE,OAAO,CAAC,CAC3E,CAAA;YACD,OAAO,YAAY,CAAiB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAC/D,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,OAAyB,EAAE,OAAwB;YACjE,MAAM,MAAM,GAAG,KAAK,CAClB,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,OAA2B,CAAC,EAAE,OAAO,CAAC,CAC7E,CAAA;YACD,OAAO,YAAY,CAAmB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QACnE,CAAC;QACD,KAAK,CAAC,UAAU,CACd,OAAc,EACd,OAAwB;YAExB,OAAO,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QACxD,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,MAAc;IAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;QAAE,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAA;IAC/F,OAAO,MAAM,CAAC,KAAK,CAAA;AACrB,CAAC;AAED,SAAS,WAAW,CAAC,KAAoB;IACvC,IACE,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,uBAAuB,CAAC;QACpD,KAAK,CAAC,uBAAuB,GAAG,CAAC;QACjC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC;QAC/C,KAAK,CAAC,kBAAkB,GAAG,CAAC,EAC5B,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAA;IACjE,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAA;AACpC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export { admitControlOptions, type SessionControlOptions } from './control.js';
2
2
  export { DEFAULT_MAXIMUM_BUNDLE_BYTES, DEFAULT_MAXIMUM_PUBLICATION_BYTES, DEFAULT_MAXIMUM_RESPONSE_BYTES, DEFAULT_MAXIMUM_ROUTES, DEFAULT_TIMEOUT_MS, platformDuration, positive, } from './limits.js';
3
3
  export { createSessionOperation, runSessionOperation, sessionTransportOptions, type SessionOperation, } from './operation.js';
4
- export { admitPolicy, allowEndpoint, endpoint, type SessionPolicy } from './policy.js';
4
+ export { admitKernel, admitPolicy, allowEndpoint, kernelInvocationEndpoint, type SessionPolicy, } from './policy.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../session/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAC9E,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,EACjC,8BAA8B,EAC9B,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,QAAQ,GACT,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../session/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAC9E,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,EACjC,8BAA8B,EAC9B,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,QAAQ,GACT,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,WAAW,EACX,WAAW,EACX,aAAa,EACb,wBAAwB,EACxB,KAAK,aAAa,GACnB,MAAM,aAAa,CAAA"}
@@ -1,5 +1,5 @@
1
1
  export { admitControlOptions } from './control.js';
2
2
  export { DEFAULT_MAXIMUM_BUNDLE_BYTES, DEFAULT_MAXIMUM_PUBLICATION_BYTES, DEFAULT_MAXIMUM_RESPONSE_BYTES, DEFAULT_MAXIMUM_ROUTES, DEFAULT_TIMEOUT_MS, platformDuration, positive, } from './limits.js';
3
3
  export { createSessionOperation, runSessionOperation, sessionTransportOptions, } from './operation.js';
4
- export { admitPolicy, allowEndpoint, endpoint } from './policy.js';
4
+ export { admitKernel, admitPolicy, allowEndpoint, kernelInvocationEndpoint, } from './policy.js';
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../session/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA8B,MAAM,cAAc,CAAA;AAC9E,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,EACjC,8BAA8B,EAC9B,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,QAAQ,GACT,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,GAExB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAsB,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../session/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA8B,MAAM,cAAc,CAAA;AAC9E,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,EACjC,8BAA8B,EAC9B,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,QAAQ,GACT,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,GAExB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,WAAW,EACX,WAAW,EACX,aAAa,EACb,wBAAwB,GAEzB,MAAM,aAAa,CAAA"}
@@ -1,10 +1,12 @@
1
+ import type { IssuerId } from '@astrale-os/kernel-core/auth';
1
2
  export interface SessionPolicy {
2
3
  readonly maximumRouteAgeMs: number;
3
4
  readonly allowEndpoint?: (url: string) => boolean;
4
5
  readonly allowInsecureHttp?: boolean;
5
6
  }
6
7
  export declare function admitPolicy(input: SessionPolicy): Readonly<SessionPolicy>;
7
- export declare function endpoint(input: string, insecure: boolean): string;
8
+ export declare function admitKernel(input: string, insecure: boolean): IssuerId;
9
+ export declare function kernelInvocationEndpoint(input: IssuerId): string;
8
10
  export declare function websocketEndpoint(input: string, insecure: boolean): string;
9
11
  export declare function allowEndpoint(url: string, policy: Readonly<SessionPolicy>): void;
10
12
  //# sourceMappingURL=policy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../session/context/policy.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;IACjD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACrC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,CAezE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAgBjE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAgB1E;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAahF"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../session/context/policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAO5D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;IACjD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACrC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,CAezE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAmBtE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAEhE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAgB1E;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAahF"}
@@ -1,3 +1,4 @@
1
+ import { issuer } from '@astrale-os/kernel-core/auth';
1
2
  import { ClientError } from '../../errors/index.js';
2
3
  import { positive } from './limits.js';
3
4
  export function admitPolicy(input) {
@@ -16,21 +17,27 @@ export function admitPolicy(input) {
16
17
  ...(input.allowInsecureHttp === true ? { allowInsecureHttp: true } : {}),
17
18
  });
18
19
  }
19
- export function endpoint(input, insecure) {
20
+ export function admitKernel(input, insecure) {
20
21
  let url;
22
+ let admitted;
21
23
  try {
22
- url = new URL(input);
24
+ admitted = issuer.accept(input);
25
+ url = new URL(admitted);
23
26
  }
24
27
  catch (cause) {
25
- throw new TypeError('Session endpoint is invalid.', { cause });
28
+ throw new TypeError('Session Kernel issuer is invalid.', { cause });
26
29
  }
27
30
  if (url.username !== '' ||
28
31
  url.password !== '' ||
29
32
  url.hash !== '' ||
33
+ url.search !== '' ||
30
34
  (url.protocol !== 'https:' && !(insecure && url.protocol === 'http:'))) {
31
- throw new TypeError('Session endpoint is invalid.');
35
+ throw new TypeError('Session Kernel issuer is invalid.');
32
36
  }
33
- return url.toString();
37
+ return admitted;
38
+ }
39
+ export function kernelInvocationEndpoint(input) {
40
+ return `${input}/invoke`;
34
41
  }
35
42
  export function websocketEndpoint(input, insecure) {
36
43
  let url;
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../session/context/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../session/context/policy.ts"],"names":[],"mappings":"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"}
@@ -22,28 +22,28 @@ export class BundleDiscovery {
22
22
  this.bundles.clear();
23
23
  }
24
24
  async fetch(publication, operation) {
25
- if (publication.schema.bundle.size > this.options.maximumBytes) {
25
+ if (publication.schema.bundle.ref.size > this.options.maximumBytes) {
26
26
  throw new ClientError('Bundle artifact exceeds its byte limit.');
27
27
  }
28
28
  const href = publication.schema.bundle.href;
29
29
  allowEndpoint(href, this.options.policy);
30
30
  const response = await runSessionOperation(operation, (signal) => this.options.fetch(href, {
31
- headers: { accept: publication.schema.bundle.mediaType },
31
+ headers: { accept: publication.schema.bundle.ref.mediaType },
32
32
  redirect: 'manual',
33
33
  signal,
34
34
  }));
35
35
  requireExactResponse(response, href, 'Bundle retrieval');
36
36
  if (!response.ok)
37
37
  throw new ClientError(`Bundle retrieval returned HTTP ${response.status}.`);
38
- if (response.headers.get('content-type') !== publication.schema.bundle.mediaType) {
38
+ if (response.headers.get('content-type') !== publication.schema.bundle.ref.mediaType) {
39
39
  throw new ClientError('Bundle artifact media type differs from its descriptor.');
40
40
  }
41
41
  const etag = response.headers.get('etag');
42
- if (etag !== null && etag !== `"${publication.schema.bundle.digest}"`) {
42
+ if (etag !== null && etag !== `"${publication.schema.bundle.ref.digest}"`) {
43
43
  throw new ClientError('Bundle response ETag differs from its descriptor.');
44
44
  }
45
- const bytes = await runSessionOperation(operation, (signal) => boundedResponse(response, publication.schema.bundle.size, signal));
46
- if (bytes.byteLength !== publication.schema.bundle.size) {
45
+ const bytes = await runSessionOperation(operation, (signal) => boundedResponse(response, publication.schema.bundle.ref.size, signal));
46
+ if (bytes.byteLength !== publication.schema.bundle.ref.size) {
47
47
  throw new ClientError('Bundle artifact size differs from its descriptor.');
48
48
  }
49
49
  return publicationCodec.decodeBundle(publication, bytes);
@@ -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":"AAGA,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAK7E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAQxE,MAAM,OAAO,eAAe;IAGG,OAAO;IAFnB,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAA;IAE3D,YAA6B,OAA+B;uBAA/B,OAAO;IAA2B,CAAC;IAEhE,KAAK,CAAC,GAAG,CACP,WAAoC,EACpC,SAA2B;QAE3B,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,CAAC,CAAA;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAA;QAC3C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,UAAU,CAAA;QACpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;QAC/B,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;IAEO,KAAK,CAAC,KAAK,CACjB,WAAoC,EACpC,SAA2B;QAE3B,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YACnE,MAAM,IAAI,WAAW,CAAC,yCAAyC,CAAC,CAAA;QAClE,CAAC;QACD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAA;QAC3C,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAC/D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;YACvB,OAAO,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE;YAC5D,QAAQ,EAAE,QAAQ;YAClB,MAAM;SACP,CAAC,CACH,CAAA;QACD,oBAAoB,CAAC,QAAQ,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAA;QACxD,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,WAAW,CAAC,kCAAkC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;QAC7F,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACrF,MAAM,IAAI,WAAW,CAAC,yDAAyD,CAAC,CAAA;QAClF,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACzC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;YAC1E,MAAM,IAAI,WAAW,CAAC,mDAAmD,CAAC,CAAA;QAC5E,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAC5D,eAAe,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CACtE,CAAA;QACD,IAAI,KAAK,CAAC,UAAU,KAAK,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC5D,MAAM,IAAI,WAAW,CAAC,mDAAmD,CAAC,CAAA;QAC5E,CAAC;QACD,OAAO,gBAAgB,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;IAC1D,CAAC;CACF;AAED,SAAS,SAAS,CAAC,WAAoC;IACrD,OAAO,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,SAAS,WAAW,CAAC,IAAI,EAAE,CAAA;AACrF,CAAC"}
@@ -1,15 +1,10 @@
1
- import type { bundle } from '@astrale-os/kernel-dsl/v1';
2
- import type { publication } from '@astrale-os/kernel-protocol';
1
+ import type { IssuerId } from '@astrale-os/kernel-core/auth';
3
2
  import type { SessionOperation, SessionPolicy } from '../context/index.js';
4
3
  import type { BundleDiscovery } from './bundle.js';
5
4
  import type { PublicationDiscovery } from './publication.js';
6
5
  import type { SessionSnapshot } from './snapshot.js';
7
- export interface DiscoveredSource {
8
- readonly publication: publication.Publication;
9
- readonly bundle: bundle.Bundle;
10
- }
11
6
  export declare class SessionDiscovery {
12
- readonly url: string;
7
+ readonly kernel: IssuerId;
13
8
  private readonly policy;
14
9
  private readonly publications;
15
10
  private readonly bundles;
@@ -17,10 +12,8 @@ export declare class SessionDiscovery {
17
12
  private readonly acquisitionOperation;
18
13
  private retained?;
19
14
  private flight?;
20
- constructor(url: string, policy: Readonly<SessionPolicy>, publications: PublicationDiscovery, bundles: BundleDiscovery, requireOpen: () => void, acquisitionOperation: () => SessionOperation);
15
+ constructor(kernel: IssuerId, policy: Readonly<SessionPolicy>, publications: PublicationDiscovery, bundles: BundleDiscovery, requireOpen: () => void, acquisitionOperation: () => SessionOperation);
21
16
  snapshot(operation: SessionOperation): Promise<SessionSnapshot>;
22
- discover(url: string, operation: SessionOperation): Promise<DiscoveredSource>;
23
- invalidate(url: string): void;
24
17
  clear(): void;
25
18
  private acquireSnapshot;
26
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../session/discovery/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAMpD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,WAAW,CAAA;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAA;CAC/B;AAED,qBAAa,gBAAgB;IAKzB,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IATvC,OAAO,CAAC,QAAQ,CAAC,CAAiB;IAClC,OAAO,CAAC,MAAM,CAAC,CAA0B;IAEzC,YACW,GAAG,EAAE,MAAM,EACH,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,EAC/B,YAAY,EAAE,oBAAoB,EAClC,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,MAAM,IAAI,EACvB,oBAAoB,EAAE,MAAM,gBAAgB,EAC3D;IAEJ,QAAQ,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAY9D;IAEK,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAMlF;IAED,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAI5B;IAED,KAAK,IAAI,IAAI,CAIZ;YAEa,eAAe;CAY9B"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../session/discovery/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAE5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAMpD,qBAAa,gBAAgB;IAKzB,QAAQ,CAAC,MAAM,EAAE,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IATvC,OAAO,CAAC,QAAQ,CAAC,CAAiB;IAClC,OAAO,CAAC,MAAM,CAAC,CAA0B;IAEzC,YACW,MAAM,EAAE,QAAQ,EACR,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,EAC/B,YAAY,EAAE,oBAAoB,EAClC,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,MAAM,IAAI,EACvB,oBAAoB,EAAE,MAAM,gBAAgB,EAC3D;IAEJ,QAAQ,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAY9D;IAED,KAAK,IAAI,IAAI,CAIZ;YAEa,eAAe;CAY9B"}
@@ -2,7 +2,7 @@ import { runSessionOperation } from '../context/index.js';
2
2
  import { rootViewCatalog } from '../views/index.js';
3
3
  import { createSessionSnapshot } from './snapshot.js';
4
4
  export class SessionDiscovery {
5
- url;
5
+ kernel;
6
6
  policy;
7
7
  publications;
8
8
  bundles;
@@ -10,8 +10,8 @@ export class SessionDiscovery {
10
10
  acquisitionOperation;
11
11
  retained;
12
12
  flight;
13
- constructor(url, policy, publications, bundles, requireOpen, acquisitionOperation) {
14
- this.url = url;
13
+ constructor(kernel, policy, publications, bundles, requireOpen, acquisitionOperation) {
14
+ this.kernel = kernel;
15
15
  this.policy = policy;
16
16
  this.publications = publications;
17
17
  this.bundles = bundles;
@@ -33,27 +33,14 @@ export class SessionDiscovery {
33
33
  .catch(() => undefined);
34
34
  return runSessionOperation(operation, () => flight);
35
35
  }
36
- async discover(url, operation) {
37
- this.requireOpen();
38
- const publication = await this.publications.get(url, operation);
39
- const artifact = await this.bundles.get(publication, operation);
40
- this.requireOpen();
41
- return Object.freeze({ publication, bundle: artifact });
42
- }
43
- invalidate(url) {
44
- this.publications.invalidate(url);
45
- this.bundles.clear();
46
- if (new URL(url).origin === new URL(this.url).origin)
47
- this.retained = undefined;
48
- }
49
36
  clear() {
50
37
  this.publications.invalidate();
51
38
  this.bundles.clear();
52
39
  this.retained = undefined;
53
40
  }
54
41
  async acquireSnapshot(operation) {
55
- const previous = this.publications.current(this.url);
56
- const publication = await this.publications.revalidate(this.url, operation);
42
+ const previous = this.publications.current();
43
+ const publication = await this.publications.revalidate(operation);
57
44
  if (previous !== undefined && previous.etag !== publication.etag)
58
45
  this.bundles.clear();
59
46
  const artifact = await this.bundles.get(publication, operation);
@@ -61,7 +48,7 @@ export class SessionDiscovery {
61
48
  if (this.retained?.publication.etag === publication.etag)
62
49
  return this.retained;
63
50
  const views = rootViewCatalog(publication, artifact, this.policy);
64
- const snapshot = createSessionSnapshot(this.url, publication, artifact, views);
51
+ const snapshot = createSessionSnapshot(this.kernel, publication, artifact, views);
65
52
  this.retained = snapshot;
66
53
  return snapshot;
67
54
  }