@astrale-os/kernel-client 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/auth/api.d.ts +2 -1
  2. package/dist/auth/api.d.ts.map +1 -1
  3. package/dist/auth/api.js +13 -1
  4. package/dist/auth/api.js.map +1 -1
  5. package/dist/auth/defaults.d.ts +3 -0
  6. package/dist/auth/defaults.d.ts.map +1 -0
  7. package/dist/auth/defaults.js +3 -0
  8. package/dist/auth/defaults.js.map +1 -0
  9. package/dist/auth/index.d.ts +2 -0
  10. package/dist/auth/index.d.ts.map +1 -1
  11. package/dist/auth/index.js +1 -0
  12. package/dist/auth/index.js.map +1 -1
  13. package/dist/auth/minting.d.ts.map +1 -1
  14. package/dist/auth/minting.js +2 -6
  15. package/dist/auth/minting.js.map +1 -1
  16. package/dist/auth/shorthands.d.ts +19 -0
  17. package/dist/auth/shorthands.d.ts.map +1 -0
  18. package/dist/auth/shorthands.js +27 -0
  19. package/dist/auth/shorthands.js.map +1 -0
  20. package/dist/schema/class-proxy.d.ts.map +1 -1
  21. package/dist/schema/class-proxy.js +5 -0
  22. package/dist/schema/class-proxy.js.map +1 -1
  23. package/dist/schema/node-proxy.d.ts.map +1 -1
  24. package/dist/schema/node-proxy.js +10 -0
  25. package/dist/schema/node-proxy.js.map +1 -1
  26. package/dist/schema/proxy-types.d.ts +8 -2
  27. package/dist/schema/proxy-types.d.ts.map +1 -1
  28. package/dist/session/bound.d.ts +2 -2
  29. package/dist/session/bound.d.ts.map +1 -1
  30. package/dist/session/bound.js +12 -7
  31. package/dist/session/bound.js.map +1 -1
  32. package/dist/session/client-session.d.ts +2 -2
  33. package/dist/session/client-session.d.ts.map +1 -1
  34. package/dist/session/client-session.js +63 -32
  35. package/dist/session/client-session.js.map +1 -1
  36. package/dist/session/config.d.ts +8 -1
  37. package/dist/session/config.d.ts.map +1 -1
  38. package/dist/session/delegation/cache.d.ts +13 -6
  39. package/dist/session/delegation/cache.d.ts.map +1 -1
  40. package/dist/session/delegation/cache.js +13 -15
  41. package/dist/session/delegation/cache.js.map +1 -1
  42. package/dist/session/delegation/utils.d.ts +4 -0
  43. package/dist/session/delegation/utils.d.ts.map +1 -0
  44. package/dist/session/delegation/utils.js +12 -0
  45. package/dist/session/delegation/utils.js.map +1 -0
  46. package/dist/session/delegation-mint.d.ts +4 -4
  47. package/dist/session/delegation-mint.d.ts.map +1 -1
  48. package/dist/session/delegation-mint.js +23 -15
  49. package/dist/session/delegation-mint.js.map +1 -1
  50. package/dist/session/dispatch-routes.d.ts +27 -0
  51. package/dist/session/dispatch-routes.d.ts.map +1 -0
  52. package/dist/session/dispatch-routes.js +77 -0
  53. package/dist/session/dispatch-routes.js.map +1 -0
  54. package/dist/session/forward.d.ts +5 -4
  55. package/dist/session/forward.d.ts.map +1 -1
  56. package/dist/session/forward.js +11 -15
  57. package/dist/session/forward.js.map +1 -1
  58. package/dist/session/index.d.ts +2 -0
  59. package/dist/session/index.d.ts.map +1 -1
  60. package/dist/session/index.js +1 -0
  61. package/dist/session/index.js.map +1 -1
  62. package/dist/session/types.d.ts +6 -1
  63. package/dist/session/types.d.ts.map +1 -1
  64. package/package.json +3 -3
@@ -1,27 +1,35 @@
1
1
  import { createAuth } from '../auth';
2
+ import { credentialKey } from './delegation/utils';
2
3
  /**
3
4
  * The standard delegation mint as one `DelegationMintFn` for `ClientSession`'s
4
- * `delegation.mint`: dispatches `mintDelegationCredential` as `credential`'s
5
- * principal (pins ONE — the cache is principal-blind); `skipDelegation` guards
5
+ * `delegation.mint`: dispatches `mintDelegationCredential` as the current
6
+ * authority credential; `skipDelegation` guards
6
7
  * the mint's own whoami/mint from re-entering the delegation block. Pass a thunk
7
- * — `delegationMintVia(() => session, cred)` — to defer resolving `session`.
8
+ * — `delegationMintVia(() => session)` — to defer resolving `session`.
8
9
  */
9
10
  export function delegationMintVia(session, credential) {
10
- const cred = () => (typeof credential === 'function' ? credential() : credential);
11
- // Resolve the session and its one auth adapter lazily at first mint, then
12
- // memoize — one adapter keeps one principal memo, and the thunk lets the arrow
13
- // close over a session constructed after this call.
14
- let auth;
15
- const resolve = () => {
16
- if (auth === undefined) {
17
- const s = typeof session === 'function' ? session() : session;
18
- const call = (method, params) => s.call(method, params, { credential: cred(), skipDelegation: true });
19
- auth = createAuth(call, { credential: cred });
11
+ const pinned = () => typeof credential === 'function' ? credential() : credential;
12
+ const authByAuthority = new Map();
13
+ const resolve = (context) => {
14
+ const authority = context?.authority ?? pinned();
15
+ if (authority === undefined) {
16
+ throw new Error('delegationMintVia requires a credential authority');
20
17
  }
18
+ const key = credentialKey(authority);
19
+ let auth = authByAuthority.get(key);
20
+ if (auth)
21
+ return auth;
22
+ const s = typeof session === 'function' ? session() : session;
23
+ const call = (method, params) => s.call(method, params, {
24
+ credential: authority,
25
+ skipDelegation: true,
26
+ });
27
+ auth = createAuth(call, { credential: () => authority });
28
+ authByAuthority.set(key, auth);
21
29
  return auth;
22
30
  };
23
- return async (audience, delegation, attestation) => ({
24
- credential: await resolve().delegate({
31
+ return async (audience, delegation, attestation, context) => ({
32
+ credential: await resolve(context).delegate({
25
33
  audience,
26
34
  delegation,
27
35
  ...(attestation !== undefined ? { attestation } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"delegation-mint.js","sourceRoot":"","sources":["../../src/session/delegation-mint.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAoD,EACpD,UAAqD;IAErD,MAAM,IAAI,GAAG,GAAoB,EAAE,CAAC,CAAC,OAAO,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IAClG,0EAA0E;IAC1E,+EAA+E;IAC/E,oDAAoD;IACpD,IAAI,IAAyB,CAAA;IAC7B,MAAM,OAAO,GAAG,GAAY,EAAE;QAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;YAC7D,MAAM,IAAI,GAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CACzC,CAAC,CAAC,IAAI,CAAC,MAAe,EAAE,MAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAA;YACxF,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/C,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QACnD,UAAU,EAAE,MAAM,OAAO,EAAE,CAAC,QAAQ,CAAC;YACnC,QAAQ;YACR,UAAU;YACV,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC;KACH,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"delegation-mint.js","sourceRoot":"","sources":["../../src/session/delegation-mint.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAoD,EACpD,UAAsD;IAEtD,MAAM,MAAM,GAAG,GAAgC,EAAE,CAC/C,OAAO,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAA;IAC9D,MAAM,eAAe,GAAG,IAAI,GAAG,EAAmB,CAAA;IAClD,MAAM,OAAO,GAAG,CAAC,OAA0C,EAAW,EAAE;QACtE,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,MAAM,EAAE,CAAA;QAChD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;QACtE,CAAC;QACD,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;QACpC,IAAI,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACnC,IAAI,IAAI;YAAE,OAAO,IAAI,CAAA;QAErB,MAAM,CAAC,GAAG,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;QAC7D,MAAM,IAAI,GAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CACzC,CAAC,CAAC,IAAI,CAAC,MAAe,EAAE,MAAe,EAAE;YACvC,UAAU,EAAE,SAAS;YACrB,cAAc,EAAE,IAAI;SACrB,CAAC,CAAA;QACJ,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAA;QACxD,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5D,UAAU,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;YAC1C,QAAQ;YACR,UAAU;YACV,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC;KACH,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { CallRedirection } from '@astrale-os/kernel-api';
2
+ import type { SchemaRegistry } from '../schema/registry';
3
+ import type { FunctionSchema } from '../schema/types';
4
+ import type { ClientSessionCallOptions } from './config';
5
+ export type DispatchRoute = {
6
+ method: string;
7
+ url: string;
8
+ iss?: string;
9
+ self?: string;
10
+ schema?: FunctionSchema;
11
+ };
12
+ export type DispatchRouteStore = {
13
+ get(key: string): DispatchRoute | undefined | Promise<DispatchRoute | undefined>;
14
+ set(key: string, route: DispatchRoute): void | Promise<void>;
15
+ };
16
+ export declare class MemoryDispatchRouteStore implements DispatchRouteStore {
17
+ #private;
18
+ get(key: string): DispatchRoute | undefined;
19
+ set(key: string, route: DispatchRoute): void;
20
+ }
21
+ export declare class DispatchRouteCache {
22
+ #private;
23
+ constructor(store?: DispatchRouteStore);
24
+ resolve(method: string, params: unknown, opts: ClientSessionCallOptions | undefined, registry: SchemaRegistry): Promise<DispatchRoute | undefined>;
25
+ remember(method: string, classHint: string | undefined, redirection: CallRedirection, registry: SchemaRegistry): Promise<void>;
26
+ }
27
+ //# sourceMappingURL=dispatch-routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatch-routes.d.ts","sourceRoot":"","sources":["../../src/session/dispatch-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,wBAAwB,CAAA;AAM9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA;AAExD,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,cAAc,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAA;IAChF,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7D,CAAA;AAED,qBAAa,wBAAyB,YAAW,kBAAkB;;IAGjE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAE1C;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAE3C;CACF;AAED,qBAAa,kBAAkB;;IAG7B,YAAY,KAAK,GAAE,kBAAmD,EAErE;IAEK,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,wBAAwB,GAAG,SAAS,EAC1C,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAkBpC;IAEK,QAAQ,CACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,WAAW,EAAE,eAAe,EAC5B,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC,CAWf;CACF"}
@@ -0,0 +1,77 @@
1
+ import { substituteTemplate } from '@astrale-os/kernel-api';
2
+ import { Path } from '@astrale-os/kernel-core';
3
+ import { InstanceMethodPath } from '@astrale-os/kernel-core/domain';
4
+ export class MemoryDispatchRouteStore {
5
+ #routes = new Map();
6
+ get(key) {
7
+ return this.#routes.get(key);
8
+ }
9
+ set(key, route) {
10
+ this.#routes.set(key, route);
11
+ }
12
+ }
13
+ export class DispatchRouteCache {
14
+ #store;
15
+ constructor(store = new MemoryDispatchRouteStore()) {
16
+ this.#store = store;
17
+ }
18
+ async resolve(method, params, opts, registry) {
19
+ if (opts?.url !== undefined)
20
+ return undefined;
21
+ const schema = registry.resolve(method, opts?.class) ?? registry.get(method);
22
+ for (const key of routeKeys(method, opts?.class, schema)) {
23
+ const route = await this.#store.get(key);
24
+ if (route)
25
+ return materializeRoute(route, params, method, opts?.self);
26
+ }
27
+ const binding = schema?.binding;
28
+ if (!binding?.remoteUrl)
29
+ return undefined;
30
+ const self = opts?.self ?? instanceSelf(method);
31
+ return {
32
+ method,
33
+ url: substituteUrl(binding.remoteUrl, params),
34
+ ...(self !== undefined ? { self } : {}),
35
+ ...(schema !== undefined ? { schema } : {}),
36
+ };
37
+ }
38
+ async remember(method, classHint, redirection, registry) {
39
+ const schema = redirection.schema ?? registry.resolve(method, classHint);
40
+ const route = {
41
+ method: redirection.path,
42
+ url: redirection.url,
43
+ ...(redirection.iss !== undefined ? { iss: redirection.iss } : {}),
44
+ ...(redirection.self !== undefined ? { self: redirection.self } : {}),
45
+ ...(schema !== undefined ? { schema } : {}),
46
+ };
47
+ for (const key of routeKeys(method, classHint, schema))
48
+ await this.#store.set(key, route);
49
+ await this.#store.set(redirection.path, route);
50
+ }
51
+ }
52
+ function routeKeys(method, classHint, schema) {
53
+ const keys = new Set([method]);
54
+ if (classHint !== undefined)
55
+ keys.add(`${method}|class=${classHint}`);
56
+ if (schema?.ref)
57
+ keys.add(schema.ref);
58
+ return [...keys];
59
+ }
60
+ function materializeRoute(route, params, method, explicitSelf) {
61
+ const self = explicitSelf ?? instanceSelf(method) ?? route.self;
62
+ return {
63
+ ...route,
64
+ url: substituteUrl(route.url, params),
65
+ ...(self !== undefined ? { self } : {}),
66
+ };
67
+ }
68
+ function substituteUrl(url, params) {
69
+ return params && typeof params === 'object'
70
+ ? substituteTemplate(url, params)
71
+ : url;
72
+ }
73
+ function instanceSelf(method) {
74
+ const path = Path.tryParse(method);
75
+ return path instanceof InstanceMethodPath ? path.source.raw : undefined;
76
+ }
77
+ //# sourceMappingURL=dispatch-routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatch-routes.js","sourceRoot":"","sources":["../../src/session/dispatch-routes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAmBnE,MAAM,OAAO,wBAAwB;IAC1B,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAA;IAEnD,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAoB;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,kBAAkB;IACpB,MAAM,CAAoB;IAEnC,YAAY,KAAK,GAAuB,IAAI,wBAAwB,EAAE;QACpE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,OAAO,CACX,MAAc,EACd,MAAe,EACf,IAA0C,EAC1C,QAAwB;QAExB,IAAI,IAAI,EAAE,GAAG,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QAE7C,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC5E,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;YACzD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxC,IAAI,KAAK;gBAAE,OAAO,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QACvE,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,EAAE,OAAsC,CAAA;QAC9D,IAAI,CAAC,OAAO,EAAE,SAAS;YAAE,OAAO,SAAS,CAAA;QACzC,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;QAC/C,OAAO;YACL,MAAM;YACN,GAAG,EAAE,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;YAC7C,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAA;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,MAAc,EACd,SAA6B,EAC7B,WAA4B,EAC5B,QAAwB;QAExB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QACxE,MAAM,KAAK,GAAkB;YAC3B,MAAM,EAAE,WAAW,CAAC,IAAI;YACxB,GAAG,EAAE,WAAW,CAAC,GAAG;YACpB,GAAG,CAAC,WAAW,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAA;QACD,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;YAAE,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACzF,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAChD,CAAC;CACF;AAED,SAAS,SAAS,CAChB,MAAc,EACd,SAA6B,EAC7B,MAAkC;IAElC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS,CAAC,MAAM,CAAC,CAAC,CAAA;IACtC,IAAI,SAAS,KAAK,SAAS;QAAE,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,UAAU,SAAS,EAAE,CAAC,CAAA;IACrE,IAAI,MAAM,EAAE,GAAG;QAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACrC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;AAClB,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAoB,EACpB,MAAe,EACf,MAAc,EACd,YAAgC;IAEhC,MAAM,IAAI,GAAG,YAAY,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAA;IAC/D,OAAO;QACL,GAAG,KAAK;QACR,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;QACrC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CAAC,GAAW,EAAE,MAAe;IACjD,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QACzC,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAiC,CAAC;QAC5D,CAAC,CAAC,GAAG,CAAA;AACT,CAAC;AAED,SAAS,YAAY,CAAC,MAAc;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAClC,OAAO,IAAI,YAAY,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;AACzE,CAAC"}
@@ -3,12 +3,13 @@ import type { ClientSessionCallOptions } from './config';
3
3
  /**
4
4
  * Assemble the `CallOptions` forwarded to `client.send` for one hop.
5
5
  * Per-hop fields (timeout/signal/class/self) forward every hop. The `url` is
6
- * hop-specific: hop 0 uses the caller's `opts.url`; redirect follow-ups use
7
- * `redirectTarget` (the URL the kernel redirected to), so the per-request URL
8
- * builder retargets verbatim instead of falling back to the schema binding.
6
+ * hop-specific: hop 0 uses the caller's `opts.url` unless a learned route
7
+ * supplied `targetOverride`; redirect follow-ups also use `targetOverride`, so
8
+ * the per-request URL builder retargets verbatim instead of falling back to the
9
+ * schema binding.
9
10
  * transport/protocol stay hop-0-only — follow-ups pick them from the new
10
11
  * target's schema. `credential`, `maxHops`, `correlationId` are consumed by
11
12
  * ClientSession itself and not forwarded here.
12
13
  */
13
- export declare function forwardedFor(opts: ClientSessionCallOptions | undefined, hopIndex: number, redirectTarget?: string): CallOptions;
14
+ export declare function forwardedFor(opts: ClientSessionCallOptions | undefined, hopIndex: number, targetOverride?: string): CallOptions;
14
15
  //# sourceMappingURL=forward.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"forward.d.ts","sourceRoot":"","sources":["../../src/session/forward.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA;AAExD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,wBAAwB,GAAG,SAAS,EAC1C,QAAQ,EAAE,MAAM,EAChB,cAAc,CAAC,EAAE,MAAM,GACtB,WAAW,CA0Bb"}
1
+ {"version":3,"file":"forward.d.ts","sourceRoot":"","sources":["../../src/session/forward.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA;AAExD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,wBAAwB,GAAG,SAAS,EAC1C,QAAQ,EAAE,MAAM,EAChB,cAAc,CAAC,EAAE,MAAM,GACtB,WAAW,CAqBb"}
@@ -1,19 +1,19 @@
1
1
  /**
2
2
  * Assemble the `CallOptions` forwarded to `client.send` for one hop.
3
3
  * Per-hop fields (timeout/signal/class/self) forward every hop. The `url` is
4
- * hop-specific: hop 0 uses the caller's `opts.url`; redirect follow-ups use
5
- * `redirectTarget` (the URL the kernel redirected to), so the per-request URL
6
- * builder retargets verbatim instead of falling back to the schema binding.
4
+ * hop-specific: hop 0 uses the caller's `opts.url` unless a learned route
5
+ * supplied `targetOverride`; redirect follow-ups also use `targetOverride`, so
6
+ * the per-request URL builder retargets verbatim instead of falling back to the
7
+ * schema binding.
7
8
  * transport/protocol stay hop-0-only — follow-ups pick them from the new
8
9
  * target's schema. `credential`, `maxHops`, `correlationId` are consumed by
9
10
  * ClientSession itself and not forwarded here.
10
11
  */
11
- export function forwardedFor(opts, hopIndex, redirectTarget) {
12
+ export function forwardedFor(opts, hopIndex, targetOverride) {
12
13
  const out = {};
13
14
  if (!opts) {
14
- // No caller opts, but a redirect follow-up still needs its target on the wire.
15
- if (hopIndex > 0 && redirectTarget !== undefined)
16
- out.url = redirectTarget;
15
+ if (targetOverride !== undefined)
16
+ out.url = targetOverride;
17
17
  return out;
18
18
  }
19
19
  if (opts.timeout !== undefined)
@@ -26,19 +26,15 @@ export function forwardedFor(opts, hopIndex, redirectTarget) {
26
26
  if (opts.self !== undefined)
27
27
  out.self = opts.self;
28
28
  if (hopIndex === 0) {
29
- if (opts.url !== undefined)
30
- out.url = opts.url;
31
29
  if (opts.transport !== undefined)
32
30
  out.transport = opts.transport;
33
31
  if (opts.protocol !== undefined)
34
32
  out.protocol = opts.protocol;
35
33
  }
36
- else if (redirectTarget !== undefined) {
37
- // Redirect-resolved endpoint (path + placeholders intact) → dial verbatim.
38
- // http-envelope `targetFor` only appends a trailing slash to a server root
39
- // (the kernel envelope, hop 0); a worker route URL must be dialed as-is.
40
- out.url = redirectTarget;
41
- }
34
+ if (targetOverride !== undefined)
35
+ out.url = targetOverride;
36
+ else if (hopIndex === 0 && opts.url !== undefined)
37
+ out.url = opts.url;
42
38
  return out;
43
39
  }
44
40
  //# sourceMappingURL=forward.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"forward.js","sourceRoot":"","sources":["../../src/session/forward.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAC1B,IAA0C,EAC1C,QAAgB,EAChB,cAAuB;IAEvB,MAAM,GAAG,GAAgB,EAAE,CAAA;IAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,+EAA+E;QAC/E,IAAI,QAAQ,GAAG,CAAC,IAAI,cAAc,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,GAAG,cAAc,CAAA;QAC1E,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IAC1D,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IACvD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACpD,uEAAuE;IACvE,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IAEjD,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QAC9C,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAChE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;IAC/D,CAAC;SAAM,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACxC,2EAA2E;QAC3E,2EAA2E;QAC3E,yEAAyE;QACzE,GAAG,CAAC,GAAG,GAAG,cAAc,CAAA;IAC1B,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"forward.js","sourceRoot":"","sources":["../../src/session/forward.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAC1B,IAA0C,EAC1C,QAAgB,EAChB,cAAuB;IAEvB,MAAM,GAAG,GAAgB,EAAE,CAAA;IAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,cAAc,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,GAAG,cAAc,CAAA;QAC1D,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IAC1D,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IACvD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACpD,uEAAuE;IACvE,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IAEjD,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAChE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;IAC/D,CAAC;IACD,IAAI,cAAc,KAAK,SAAS;QAAE,GAAG,CAAC,GAAG,GAAG,cAAc,CAAA;SACrD,IAAI,QAAQ,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS;QAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;IAErE,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -1,6 +1,8 @@
1
1
  export { ClientSession } from './client-session';
2
2
  export { delegationMintVia } from './delegation-mint';
3
3
  export type { IdentityInput, ClientSessionCallOptions, ClientSessionConfig } from './config';
4
+ export { DispatchRouteCache, MemoryDispatchRouteStore } from './dispatch-routes';
5
+ export type { DispatchRoute, DispatchRouteStore } from './dispatch-routes';
4
6
  export type { BoundClientSessionView, SchemaTypedClientSession } from './types';
5
7
  export type { AfterCallCtx, AfterSignalCtx, BeforeCallCtx, DelegationMintCtx, DelegationRefusedCtx, RedirectFollowCtx, RedirectRefusedCtx, ClientSessionErrorCtx, ClientSessionHooks, ClientSessionHop, } from './hooks';
6
8
  export type { RedirectDecision, RedirectHop, RedirectPolicy } from './redirect/policy';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,YAAY,EAAE,aAAa,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC5F,YAAY,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAC/E,YAAY,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,SAAS,CAAA;AAKhB,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACtF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC/F,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAClG,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,GACX,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,YAAY,EACV,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAG9D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,YAAY,EAAE,aAAa,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC5F,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAChF,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC1E,YAAY,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAC/E,YAAY,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,SAAS,CAAA;AAKhB,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACtF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC/F,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAClG,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,GACX,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,YAAY,EACV,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAG9D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,UAAU,CAAA"}
@@ -1,5 +1,6 @@
1
1
  export { ClientSession } from './client-session';
2
2
  export { delegationMintVia } from './delegation-mint';
3
+ export { DispatchRouteCache, MemoryDispatchRouteStore } from './dispatch-routes';
3
4
  export { allowAllPolicy, allowlistPolicy, promptPolicy, strictPolicy } from './redirect/policy';
4
5
  export { allowAllDelegations, allowlistDelegations, promptDelegations, scopedSelf, } from './delegation/policy';
5
6
  export { DelegationCache } from './delegation/cache';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAoBrD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAE/F,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,GACX,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAQpD,8DAA8D;AAC9D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAoBhF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAE/F,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,GACX,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAQpD,8DAA8D;AAC9D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,UAAU,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import type { CredentialInput } from '@astrale-os/kernel-core';
2
+ import type { UnresolvedIdentityExpr } from '@astrale-os/kernel-core/expression';
2
3
  import type { Schema } from '@astrale-os/kernel-dsl';
3
4
  import type { AuthApi } from '../auth';
4
5
  import type { BinaryFns, CallFns, FnMap, SignalFns, StreamFns } from '../client/fn-map';
@@ -31,7 +32,11 @@ export type BoundClientSessionView<M extends FnMap> = GraphApi & {
31
32
  signal<K extends SignalFns<M>>(method: K, params: M[K]['params'], opts?: ClientSessionCallOptions): void;
32
33
  describe(method: string): FunctionSchema | undefined;
33
34
  withSchema<S extends Schema>(schema: S): SchemaBoundView<S, M>;
34
- as(credential: CredentialInput | (() => CredentialInput)): BoundClientSessionView<M>;
35
+ as(credential: CredentialInput | (() => CredentialInput), opts?: BoundClientSessionOptions): BoundClientSessionView<M>;
36
+ };
37
+ export type BoundClientSessionOptions = {
38
+ /** Default next-hop delegation used by this bound view unless a call overrides it. */
39
+ delegation?: UnresolvedIdentityExpr;
35
40
  };
36
41
  /**
37
42
  * Schema-typed proxy dispatched through ClientSession: followed redirects are
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/session/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/session/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astrale-os/kernel-client",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Unified kernel client — protocol-first, transport-agnostic",
5
5
  "keywords": [
6
6
  "astrale",
@@ -58,8 +58,8 @@
58
58
  "@tanstack/pacer": "^0.20.0",
59
59
  "dequal": "2.0.3",
60
60
  "@astrale-os/kernel-api": "^0.4.9",
61
- "@astrale-os/kernel-dsl": "^0.1.3",
62
- "@astrale-os/kernel-core": "^0.7.1"
61
+ "@astrale-os/kernel-core": "^0.7.1",
62
+ "@astrale-os/kernel-dsl": "^0.1.3"
63
63
  },
64
64
  "devDependencies": {
65
65
  "@astrale/typescript-config": "npm:@jsr/astrale__typescript-config@~1.1.0",