@astrale-os/shell-react 0.2.10-beta.2 → 0.3.0

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 (131) hide show
  1. package/dist/application/apps/app-host.d.ts +5 -5
  2. package/dist/application/apps/app-host.d.ts.map +1 -1
  3. package/dist/application/apps/app-host.js +18 -39
  4. package/dist/application/apps/apps.hook.d.ts +4 -11
  5. package/dist/application/apps/apps.hook.d.ts.map +1 -1
  6. package/dist/application/apps/apps.hook.js +9 -49
  7. package/dist/application/apps/open-app.hook.d.ts +4 -7
  8. package/dist/application/apps/open-app.hook.d.ts.map +1 -1
  9. package/dist/application/apps/open-app.hook.js +2 -2
  10. package/dist/application/index.d.ts +1 -3
  11. package/dist/application/index.d.ts.map +1 -1
  12. package/dist/application/index.js +1 -2
  13. package/dist/application/spaces/space.hook.d.ts.map +1 -1
  14. package/dist/application/spaces/space.hook.js +4 -1
  15. package/dist/auth/act-as.context.d.ts +1 -1
  16. package/dist/auth/act-as.context.d.ts.map +1 -1
  17. package/dist/auth/auth.hook.d.ts +1 -1
  18. package/dist/auth/auth.hook.d.ts.map +1 -1
  19. package/dist/auth/can.hook.d.ts +2 -2
  20. package/dist/auth/can.hook.d.ts.map +1 -1
  21. package/dist/auth/self.hook.d.ts +1 -1
  22. package/dist/auth/self.hook.d.ts.map +1 -1
  23. package/dist/components/astrale.d.ts +14 -0
  24. package/dist/components/astrale.d.ts.map +1 -0
  25. package/dist/components/astrale.js +12 -0
  26. package/dist/components/can.d.ts +2 -2
  27. package/dist/components/can.d.ts.map +1 -1
  28. package/dist/components/index.d.ts +2 -3
  29. package/dist/components/index.d.ts.map +1 -1
  30. package/dist/components/index.js +1 -2
  31. package/dist/graph/call/call.hook.d.ts +2 -2
  32. package/dist/graph/call/call.hook.d.ts.map +1 -1
  33. package/dist/graph/call/stream.hook.d.ts +2 -2
  34. package/dist/graph/call/stream.hook.d.ts.map +1 -1
  35. package/dist/graph/graph.context.d.ts +1 -1
  36. package/dist/graph/graph.context.d.ts.map +1 -1
  37. package/dist/graph/guards.error.d.ts +4 -4
  38. package/dist/graph/guards.error.d.ts.map +1 -1
  39. package/dist/graph/guards.error.js +4 -4
  40. package/dist/graph/query-definition.hook.d.ts +1 -2
  41. package/dist/graph/query-definition.hook.d.ts.map +1 -1
  42. package/dist/graph/query-definition.hook.js +4 -10
  43. package/dist/graph/resource.d.ts +1 -1
  44. package/dist/graph/resource.d.ts.map +1 -1
  45. package/dist/graph/store.d.ts +2 -2
  46. package/dist/graph/store.d.ts.map +1 -1
  47. package/dist/graph/store.js +1 -1
  48. package/dist/index.d.ts +7 -7
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +2 -2
  51. package/dist/navigation/adapters/url.adapter.d.ts.map +1 -1
  52. package/dist/navigation/adapters/url.adapter.js +2 -5
  53. package/dist/navigation/codec.d.ts.map +1 -1
  54. package/dist/navigation/codec.js +1 -7
  55. package/dist/navigation/link.js +1 -1
  56. package/dist/navigation/scope.context.d.ts +1 -1
  57. package/dist/navigation/scope.context.d.ts.map +1 -1
  58. package/dist/navigation/scope.context.js +3 -6
  59. package/dist/navigation/snapshot.d.ts +1 -1
  60. package/dist/navigation/snapshot.d.ts.map +1 -1
  61. package/dist/navigation/snapshot.js +2 -8
  62. package/dist/navigation/view-key.d.ts +3 -0
  63. package/dist/navigation/view-key.d.ts.map +1 -0
  64. package/dist/navigation/view-key.js +8 -0
  65. package/dist/schema/action.hook.d.ts +11 -7
  66. package/dist/schema/action.hook.d.ts.map +1 -1
  67. package/dist/schema/action.hook.js +11 -6
  68. package/dist/schema/domain.hook.js +12 -13
  69. package/dist/schema/kernel.hook.d.ts +1 -1
  70. package/dist/schema/kernel.hook.d.ts.map +1 -1
  71. package/dist/schema/kernel.hook.js +1 -1
  72. package/dist/schema/mutation.hook.d.ts +2 -2
  73. package/dist/schema/mutation.hook.d.ts.map +1 -1
  74. package/dist/schema/mutation.hook.js +6 -5
  75. package/dist/schema/object.hook.d.ts +3 -6
  76. package/dist/schema/object.hook.d.ts.map +1 -1
  77. package/dist/schema/object.hook.js +4 -5
  78. package/dist/schema/relation.hook.d.ts +29 -19
  79. package/dist/schema/relation.hook.d.ts.map +1 -1
  80. package/dist/schema/relation.hook.js +45 -63
  81. package/dist/selection/live.d.ts.map +1 -1
  82. package/dist/selection/live.js +1 -2
  83. package/dist/session/session.context.d.ts +3 -4
  84. package/dist/session/session.context.d.ts.map +1 -1
  85. package/package.json +6 -5
  86. package/src/application/apps/app-host.tsx +22 -52
  87. package/src/application/apps/apps.hook.ts +14 -64
  88. package/src/application/apps/open-app.hook.ts +5 -10
  89. package/src/application/index.ts +2 -12
  90. package/src/application/spaces/space.hook.ts +6 -1
  91. package/src/auth/act-as.context.tsx +1 -1
  92. package/src/auth/auth.hook.ts +1 -1
  93. package/src/auth/can.hook.ts +3 -3
  94. package/src/auth/self.hook.ts +1 -1
  95. package/src/components/astrale.tsx +40 -0
  96. package/src/components/can.tsx +2 -2
  97. package/src/components/index.ts +2 -3
  98. package/src/graph/call/call.hook.ts +2 -2
  99. package/src/graph/call/stream.hook.ts +2 -2
  100. package/src/graph/graph.context.ts +1 -1
  101. package/src/graph/guards.error.ts +4 -4
  102. package/src/graph/query-definition.hook.ts +13 -23
  103. package/src/graph/resource.ts +1 -1
  104. package/src/graph/store.ts +3 -3
  105. package/src/index.ts +5 -14
  106. package/src/navigation/adapters/url.adapter.ts +3 -4
  107. package/src/navigation/codec.ts +1 -7
  108. package/src/navigation/link.tsx +1 -1
  109. package/src/navigation/scope.context.tsx +5 -6
  110. package/src/navigation/snapshot.ts +4 -9
  111. package/src/navigation/view-key.ts +11 -0
  112. package/src/schema/action.hook.ts +45 -28
  113. package/src/schema/domain.hook.ts +9 -10
  114. package/src/schema/kernel.hook.ts +1 -1
  115. package/src/schema/mutation.hook.ts +13 -9
  116. package/src/schema/object.hook.ts +10 -18
  117. package/src/schema/relation.hook.ts +127 -145
  118. package/src/selection/live.ts +1 -2
  119. package/src/session/session.context.ts +3 -4
  120. package/dist/application/apps/domains.hook.d.ts +0 -7
  121. package/dist/application/apps/domains.hook.d.ts.map +0 -1
  122. package/dist/application/apps/domains.hook.js +0 -18
  123. package/dist/components/mount-domain-frontend.d.ts +0 -22
  124. package/dist/components/mount-domain-frontend.d.ts.map +0 -1
  125. package/dist/components/mount-domain-frontend.js +0 -85
  126. package/dist/components/view-app.d.ts +0 -16
  127. package/dist/components/view-app.d.ts.map +0 -1
  128. package/dist/components/view-app.js +0 -16
  129. package/src/application/apps/domains.hook.ts +0 -37
  130. package/src/components/mount-domain-frontend.tsx +0 -158
  131. package/src/components/view-app.tsx +0 -49
@@ -1,4 +1,4 @@
1
- import type { GraphStore, StoreQueryResponse } from '@astrale-os/kernel-client/store';
1
+ import type { GraphStore, StoreQueryResponse } from '@astrale-os/sdk/client/store';
2
2
  import type { QueryAST } from '@astrale-os/sdk/query';
3
3
  export type GraphResourceState = 'idle' | 'loading' | 'ready' | 'stale' | 'refreshing' | 'optimistic' | 'failed';
4
4
  export interface GraphResource<T> {
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/graph/resource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAiB,MAAM,iCAAiC,CAAA;AACpG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAMrD,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,SAAS,GACT,OAAO,GACP,OAAO,GACP,YAAY,GACZ,YAAY,GACZ,QAAQ,CAAA;AAEZ,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAA;IAClC,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;KAAE,CAAA;IACnE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;IACpB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;QACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;QACzB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;KACtB,CAAA;CACF;AAED,MAAM,WAAW,oBAAoB,CAAC,MAAM;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,MAAM,CAAA;IACrD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;CAC5C;AAsID,+FAA+F;AAC/F,wBAAgB,gBAAgB,CAAC,KAAK,SAAS,QAAQ,EAAE,MAAM,EAC7D,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,MAAM,EACxD,OAAO,GAAE,oBAAoB,CAAC,MAAM,CAAM,GACzC,aAAa,CAAC,MAAM,CAAC,CA2EvB;AAoCD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC5B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,QAAQ,GAAG,SAAS,GACzB,MAAM,IAAI,CAkCZ"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/graph/resource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAiB,MAAM,8BAA8B,CAAA;AACjG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAMrD,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,SAAS,GACT,OAAO,GACP,OAAO,GACP,YAAY,GACZ,YAAY,GACZ,QAAQ,CAAA;AAEZ,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAA;IAClC,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;KAAE,CAAA;IACnE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;IACpB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;QACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;QACzB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;KACtB,CAAA;CACF;AAED,MAAM,WAAW,oBAAoB,CAAC,MAAM;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,MAAM,CAAA;IACrD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;CAC5C;AAsID,+FAA+F;AAC/F,wBAAgB,gBAAgB,CAAC,KAAK,SAAS,QAAQ,EAAE,MAAM,EAC7D,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,MAAM,EACxD,OAAO,GAAE,oBAAoB,CAAC,MAAM,CAAM,GACzC,aAAa,CAAC,MAAM,CAAC,CA2EvB;AAoCD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC5B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,QAAQ,GAAG,SAAS,GACzB,MAAM,IAAI,CAkCZ"}
@@ -1,5 +1,5 @@
1
- import type { GraphApi } from '@astrale-os/kernel-client/graph';
2
- import type { GraphStore as GraphStoreValue } from '@astrale-os/kernel-client/store';
1
+ import type { GraphApi } from '@astrale-os/sdk/client';
2
+ import type { GraphStore as GraphStoreValue } from '@astrale-os/sdk/client/store';
3
3
  import type { Shell } from '@astrale-os/shell';
4
4
  interface StoreEntry {
5
5
  readonly shell: Shell;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/graph/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACpF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAO9C,UAAU,UAAU;IAClB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB;AAID,4FAA4F;AAC5F,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAED,KAAK,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AAE3E,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,KAAK,EACZ,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,GACnC,OAAO,CAAC,eAAe,CAAC,CAc1B;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,GAAG,UAAU,CAwBzE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,IAAI,CAezD;AAED,8EAA8E;AAC9E,wBAAgB,aAAa,IAAI,eAAe,CAI/C"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/graph/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAA;AACjF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAO9C,UAAU,UAAU;IAClB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB;AAID,4FAA4F;AAC5F,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAED,KAAK,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AAE3E,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,KAAK,EACZ,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,GACnC,OAAO,CAAC,eAAe,CAAC,CAc1B;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,GAAG,UAAU,CAwBzE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,IAAI,CAezD;AAED,8EAA8E;AAC9E,wBAAgB,aAAa,IAAI,eAAe,CAI/C"}
@@ -1,4 +1,4 @@
1
- import { GraphStore } from '@astrale-os/kernel-client/store';
1
+ import { GraphStore } from '@astrale-os/sdk/client/store';
2
2
  import { useContext } from 'react';
3
3
  import { GraphContext } from './graph.context.js';
4
4
  const entries = new WeakMap();
package/dist/index.d.ts CHANGED
@@ -18,15 +18,15 @@ export type { ExternalOpenApi, HostDialogApi, NotifyApi, OpenViewApi, RequestAcc
18
18
  export { HostCapabilityUnavailableError } from './host/index.js';
19
19
  export { useEmitIntent, useIntent, useSendIntent } from './intents/index.js';
20
20
  export type { EmitIntent, IntentCtx, IntentPayload, IntentReply, SendIntent, } from './intents/index.js';
21
- export { Can, ConnectionBoundary, CredentialBoundary, defaultViewError, defaultViewLoading, GraphBoundary, mountDomainFrontend, ViewApp, ViewBoundary, ViewErrorBoundary, } from './components/index.js';
22
- export type { MountedDomainFrontend, MountDomainFrontendOptions, ViewErrorBoundaryProps, } from './components/index.js';
23
- export { AppHost, AppLogo, useApps, useCurrentSpace, useInstalledDomains, useOpenApp, useSpace, useSpaces, useUser, } from './application/index.js';
24
- export type { AppHostFallbackState, AppHostProps, AppLogoProps, AppsResult, CurrentSpaceResult, DomainsResult, SpaceResult, SpacesResult, } from './application/index.js';
21
+ export { Can, ConnectionBoundary, CredentialBoundary, defaultViewError, defaultViewLoading, GraphBoundary, Astrale, ViewBoundary, ViewErrorBoundary, } from './components/index.js';
22
+ export type { AstraleProps, ViewErrorBoundaryProps } from './components/index.js';
23
+ export { AppHost, AppLogo, useApps, useCurrentSpace, useOpenApp, useSpace, useSpaces, useUser, } from './application/index.js';
24
+ export type { AppHostFallbackState, AppHostProps, AppLogoProps, AppsResult, CurrentSpaceResult, SpaceResult, SpacesResult, } from './application/index.js';
25
25
  export { NodeId } from '@astrale-os/sdk/graph/node';
26
26
  export { NodePath, Path } from '@astrale-os/sdk/graph/path';
27
27
  export type { Node } from '@astrale-os/sdk/graph/node';
28
28
  export type { PathLike } from '@astrale-os/sdk/graph/path';
29
- export type { AuthApi, Identity, PolicyDecisionInput } from '@astrale-os/kernel-client/auth';
30
- export type { DomainBinding, DomainInvokeOptions } from '@astrale-os/shell';
31
- export type { ApplicationNode, AppSession, CloseResult, CredentialSnapshot, DomainSearchResult, HostCapabilities, IntentRegistry, KernelClient, MountCredential, NodeTarget, Shell, ShellConfig, SpaceNode, UserNode, ViewLocation, ViewPresentation, ViewPresentationRequest, Window, } from '@astrale-os/shell';
29
+ export type { AuthApi, Identity, PolicyDecisionInput } from '@astrale-os/sdk/auth';
30
+ export type { DomainBinding } from '@astrale-os/shell';
31
+ export type { App, CloseResult, CredentialSnapshot, HostCapabilities, IntentRegistry, KernelClient, MountCredential, NodeTarget, Shell, ShellConfig, SpaceNode, UserNode, ViewLocation, ViewPresentation, ViewPresentationRequest, Window, } from '@astrale-os/shell';
32
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -15,9 +15,9 @@ export { HostDialog, NestedView, Notify, RequestAccess, useExternalOpen, useHost
15
15
  export { HostCapabilityUnavailableError } from './host/index.js';
16
16
  export { useEmitIntent, useIntent, useSendIntent } from './intents/index.js';
17
17
  // Headless composition kit.
18
- export { Can, ConnectionBoundary, CredentialBoundary, defaultViewError, defaultViewLoading, GraphBoundary, mountDomainFrontend, ViewApp, ViewBoundary, ViewErrorBoundary, } from './components/index.js';
18
+ export { Can, ConnectionBoundary, CredentialBoundary, defaultViewError, defaultViewLoading, GraphBoundary, Astrale, ViewBoundary, ViewErrorBoundary, } from './components/index.js';
19
19
  // Shell application conveniences.
20
- export { AppHost, AppLogo, useApps, useCurrentSpace, useInstalledDomains, useOpenApp, useSpace, useSpaces, useUser, } from './application/index.js';
20
+ export { AppHost, AppLogo, useApps, useCurrentSpace, useOpenApp, useSpace, useSpaces, useUser, } from './application/index.js';
21
21
  // Canonical identity carriers used by View props and rich hooks.
22
22
  export { NodeId } from '@astrale-os/sdk/graph/node';
23
23
  export { NodePath, Path } from '@astrale-os/sdk/graph/path';
@@ -1 +1 @@
1
- {"version":3,"file":"url.adapter.d.ts","sourceRoot":"","sources":["../../../src/navigation/adapters/url.adapter.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAK9C,oEAAoE;AACpE,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAiFhE"}
1
+ {"version":3,"file":"url.adapter.d.ts","sourceRoot":"","sources":["../../../src/navigation/adapters/url.adapter.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAO9C,oEAAoE;AACpE,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CA+EhE"}
@@ -1,5 +1,5 @@
1
1
  import { NodePath } from '@astrale-os/sdk/graph/path';
2
- import { Key } from '@astrale-os/sdk/schema';
2
+ import { viewKey } from '../view-key.js';
3
3
  const VIEW_KEY = 'astrale.view';
4
4
  const PARAM_PREFIX = 'astrale.param.';
5
5
  /** History-API adapter — the location lives in the query string. */
@@ -51,10 +51,7 @@ export function urlAdapter(opts) {
51
51
  node = NodePath(rawNode);
52
52
  const rawView = sp.get(VIEW_KEY);
53
53
  if (rawView !== null) {
54
- const admitted = Key(rawView);
55
- if (!Key.ref(admitted).startsWith('view.'))
56
- throw new TypeError('Invalid View key.');
57
- view = admitted;
54
+ view = viewKey(rawView);
58
55
  }
59
56
  }
60
57
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/navigation/codec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/navigation/codec.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { Path } from '@astrale-os/sdk/graph/path';
2
- import { Key as admitKey } from '@astrale-os/sdk/schema';
3
2
  import { createElement } from 'react';
4
3
  import { NavScope } from './scope.context.js';
5
4
  import { useNavCtx } from './scope.context.js';
6
5
  import { useHistoryVersion } from './scope.context.js';
6
+ import { viewKey } from './view-key.js';
7
7
  export function pathParam(_name) {
8
8
  return Object.freeze({
9
9
  encode: (value) => Path.from(value).raw,
@@ -113,9 +113,3 @@ export function useNavigation(navigation) {
113
113
  snapshot: () => context.history.snapshot(),
114
114
  });
115
115
  }
116
- function viewKey(input) {
117
- const key = admitKey(input);
118
- if (!admitKey.ref(key).startsWith('view.'))
119
- throw new TypeError(`Invalid View key '${input}'.`);
120
- return key;
121
- }
@@ -16,7 +16,7 @@ export function Link(props) {
16
16
  const href = ctx.adapter.href?.(target);
17
17
  const nodeRef = target.node;
18
18
  const preload = useCallback(() => {
19
- const query = Query.from({ kind: 'node', paths: [nodeRef] }).select({ kind: 'graph' });
19
+ const query = Query.from({ nodes: [nodeRef] }).select({ kind: 'graph' });
20
20
  void ctx.store.preload(query, { page: { size: 1 } }).catch(() => { });
21
21
  }, [ctx.store, nodeRef]);
22
22
  useEffect(() => {
@@ -1,4 +1,4 @@
1
- import type { GraphStore } from '@astrale-os/kernel-client/store';
1
+ import type { GraphStore } from '@astrale-os/sdk/client/store';
2
2
  import type { ReactElement, ReactNode } from 'react';
3
3
  import { NodePath } from '@astrale-os/sdk/graph/path';
4
4
  import type { NavAdapter } from './adapters/adapter.js';
@@ -1 +1 @@
1
- {"version":3,"file":"scope.context.d.ts","sourceRoot":"","sources":["../../src/navigation/scope.context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAsB,MAAM,iCAAiC,CAAA;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAcrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAO9C,OAAO,EAAE,UAAU,EAAe,MAAM,cAAc,CAAA;AAItD,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAA;IACnD,IAAI,IAAI,IAAI,CAAA;IACZ,OAAO,IAAI,IAAI,CAAA;IACf,2EAA2E;IAC3E,EAAE,IAAI,KAAK,CAAA;IACX,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IACnE,IAAI,IAAI,IAAI,CAAA;IACZ,OAAO,IAAI,IAAI,CAAA;IACf,EAAE,IAAI,KAAK,CAAA;IACX,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAA;CACnC;AAED,eAAO,MAAM,UAAU,wCAAqC,CAAA;AAG5D,wBAAgB,SAAS,IAAI,MAAM,CAIlC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAEjD;AAID,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,GAAG,MAAM,CAOpE;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI,CA6BzE;AAED,KAAK,eAAe,GAAG,CAAC,QAAQ,EAAE,WAAW,KAAK,SAAS,GAAG,IAAI,CAAA;AAClE,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,eAAe,CAAA;AAEpD,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAA;IACjE,gFAAgF;IAChF,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,kBAAkB,GAAG,IAAI,CAAA;IACnE,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,CAsH3D"}
1
+ {"version":3,"file":"scope.context.d.ts","sourceRoot":"","sources":["../../src/navigation/scope.context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAsB,MAAM,8BAA8B,CAAA;AAElF,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAarD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAO9C,OAAO,EAAE,UAAU,EAAe,MAAM,cAAc,CAAA;AAKtD,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAA;IACnD,IAAI,IAAI,IAAI,CAAA;IACZ,OAAO,IAAI,IAAI,CAAA;IACf,2EAA2E;IAC3E,EAAE,IAAI,KAAK,CAAA;IACX,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IACnE,IAAI,IAAI,IAAI,CAAA;IACZ,OAAO,IAAI,IAAI,CAAA;IACf,EAAE,IAAI,KAAK,CAAA;IACX,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAA;CACnC;AAED,eAAO,MAAM,UAAU,wCAAqC,CAAA;AAG5D,wBAAgB,SAAS,IAAI,MAAM,CAIlC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAEjD;AAID,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,GAAG,MAAM,CAOpE;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI,CA6BzE;AAED,KAAK,eAAe,GAAG,CAAC,QAAQ,EAAE,WAAW,KAAK,SAAS,GAAG,IAAI,CAAA;AAClE,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,eAAe,CAAA;AAEpD,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAA;IACjE,gFAAgF;IAChF,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,kBAAkB,GAAG,IAAI,CAAA;IACnE,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,CAsH3D"}
@@ -1,7 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { NodePath } from '@astrale-os/sdk/graph/path';
3
3
  import { Query } from '@astrale-os/sdk/query';
4
- import { Key } from '@astrale-os/sdk/schema';
5
4
  import { createContext, startTransition, useCallback, useContext, useEffect, useMemo, useRef, useSyncExternalStore, } from 'react';
6
5
  import { UnsupportedFeatureError } from '../graph/memory/read/envelope.js';
7
6
  import { useStoreResource } from '../graph/resource.js';
@@ -11,6 +10,7 @@ import { memoryAdapter } from './adapters/memory.adapter.js';
11
10
  import { NavHistory, seedEntries } from './history.js';
12
11
  import { buildLocation } from './location.js';
13
12
  import { revalidateAndPrune, serializeTarget } from './snapshot.js';
13
+ import { viewKey } from './view-key.js';
14
14
  export const NavContext = createContext(null);
15
15
  NavContext.displayName = 'AstraleNavContext';
16
16
  export function useNavCtx() {
@@ -32,7 +32,7 @@ export function useHistoryVersion(history) {
32
32
  export function useGraphPoint(target) {
33
33
  const query = useMemo(() => target === null
34
34
  ? null
35
- : Query.from({ kind: 'node', paths: [target], binding: 'navigation_target' }).select({
35
+ : Query.from({ nodes: [target], binding: 'navigation_target' }).select({
36
36
  kind: 'graph',
37
37
  }), [target]);
38
38
  const project = useCallback((response) => {
@@ -181,10 +181,7 @@ function admitLocation(location) {
181
181
  const node = NodePath(location.node);
182
182
  let view;
183
183
  if (location.view !== undefined) {
184
- const key = Key(location.view);
185
- if (!Key.ref(key).startsWith('view.'))
186
- throw new TypeError('Navigation View key is invalid.');
187
- view = key;
184
+ view = viewKey(location.view);
188
185
  }
189
186
  const params = {};
190
187
  if (location.params !== undefined) {
@@ -1,4 +1,4 @@
1
- import type { GraphStore } from '@astrale-os/kernel-client/store';
1
+ import type { GraphStore } from '@astrale-os/sdk/client/store';
2
2
  import type { Node } from '@astrale-os/sdk/graph/node';
3
3
  import type { PathLike } from '@astrale-os/sdk/graph/path';
4
4
  import type { Key } from '@astrale-os/sdk/schema';
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../src/navigation/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,KAAK,EAAY,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAM9C,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAElE,uFAAuF;AACvF,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,IAAI,GACJ;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAA;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACzC,CAAA;AAgBL,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,kBAAkB,CAOrE;AAQD,6FAA6F;AAC7F,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,OAAO,CAAC,CAkBlB"}
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../src/navigation/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,KAAK,EAAY,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAK9C,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAIlE,uFAAuF;AACvF,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,IAAI,GACJ;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAA;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACzC,CAAA;AAgBL,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,kBAAkB,CAOrE;AAED,6FAA6F;AAC7F,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,OAAO,CAAC,CAkBlB"}
@@ -1,6 +1,6 @@
1
1
  import { Path } from '@astrale-os/sdk/graph/path';
2
2
  import { Query } from '@astrale-os/sdk/query';
3
- import { Key as admitKey } from '@astrale-os/sdk/schema';
3
+ import { viewKey } from './view-key.js';
4
4
  function isNode(value) {
5
5
  return typeof value === 'object' && value !== null && 'id' in value && 'class' in value;
6
6
  }
@@ -20,12 +20,6 @@ export function serializeTarget(target) {
20
20
  ...(target.params === undefined ? {} : { params: { ...target.params } }),
21
21
  };
22
22
  }
23
- function viewKey(input) {
24
- const key = admitKey(input);
25
- if (!admitKey.ref(key).startsWith('view.'))
26
- throw new TypeError(`Invalid View key '${input}'.`);
27
- return key;
28
- }
29
23
  /** Drop restored entries that no longer resolve under the authenticated Graph capability. */
30
24
  export async function revalidateAndPrune(history, store, shell) {
31
25
  const { entries, cursor } = history.snapshot();
@@ -52,7 +46,7 @@ export async function revalidateAndPrune(history, store, shell) {
52
46
  }
53
47
  async function resolves(store, shell, entry) {
54
48
  try {
55
- const query = Query.from({ kind: 'node', paths: [entry.node] }).select({ kind: 'graph' });
49
+ const query = Query.from({ nodes: [entry.node] }).select({ kind: 'graph' });
56
50
  const response = await store.read(query, { page: { size: 1 } });
57
51
  if (response.result.kind !== 'graph' ||
58
52
  response.result.selection.kind !== 'node' ||
@@ -0,0 +1,3 @@
1
+ import type { Key } from '@astrale-os/sdk/schema';
2
+ export declare function viewKey(input: string): Key.View;
3
+ //# sourceMappingURL=view-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-key.d.ts","sourceRoot":"","sources":["../../src/navigation/view-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAIjD,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,CAM/C"}
@@ -0,0 +1,8 @@
1
+ import { Key as admitKey } from '@astrale-os/sdk/schema';
2
+ export function viewKey(input) {
3
+ const key = admitKey(input);
4
+ if (!key.slice(key.indexOf(':') + 1).startsWith('view.')) {
5
+ throw new TypeError(`Invalid View key '${input}'.`);
6
+ }
7
+ return key;
8
+ }
@@ -1,8 +1,12 @@
1
- import type { InputOf, InstanceMethod, OutputOf, ReceiverOf, RemoteCallableOf } from '@astrale-os/sdk/domain';
1
+ import type { BoundNodeFor } from '@astrale-os/sdk/client';
2
+ import type { SessionRequestOptions } from '@astrale-os/sdk/client/session';
2
3
  import type { QueryAST } from '@astrale-os/sdk/query';
3
- import type { schema } from '@astrale-os/sdk/schema';
4
- import type { DomainInvokeOptions } from '@astrale-os/shell';
5
- type Callable = RemoteCallableOf<schema.DomainSchema> | InstanceMethod;
4
+ import type { CallableInputOf, CallableResultOf, MethodOwnerKeyOf, MethodInheritance, ResolvedFunction, ResolvedMethod } from '@astrale-os/sdk/schema';
5
+ type ExecutableInheritance = Exclude<MethodInheritance, 'abstract'>;
6
+ type InstanceMethod = ResolvedMethod<unknown, unknown, false, ExecutableInheritance>;
7
+ type StaticMethod = ResolvedMethod<unknown, unknown, true, ExecutableInheritance>;
8
+ type Callable = ResolvedFunction | InstanceMethod | StaticMethod;
9
+ type MethodReceiver<C extends InstanceMethod> = BoundNodeFor<MethodOwnerKeyOf<C>>;
6
10
  declare const QUERY_REFRESH: unique symbol;
7
11
  export interface QueryRefresh {
8
12
  readonly id: string;
@@ -26,11 +30,11 @@ export declare function queryRefresh<Input, Query extends QueryAST>(definition:
26
30
  export type ActionRefresh = 'all' | 'none' | {
27
31
  readonly queries: readonly QueryRefresh[];
28
32
  };
29
- export interface ActionOptions extends DomainInvokeOptions {
33
+ export interface ActionOptions extends SessionRequestOptions {
30
34
  readonly refresh?: ActionRefresh;
31
35
  readonly onError?: (error: unknown) => void;
32
36
  }
33
- type ActionArgs<C extends Callable> = C extends InstanceMethod ? [receiver: ReceiverOf<C>, input: InputOf<C>] : [input: InputOf<C>];
37
+ type ActionArgs<C extends Callable> = C extends InstanceMethod ? [receiver: MethodReceiver<C>, input: CallableInputOf<C>] : [input: CallableInputOf<C>];
34
38
  export interface DomainAction<Args extends unknown[], Result> {
35
39
  run(...args: Args): Promise<Result>;
36
40
  readonly pending: boolean;
@@ -39,6 +43,6 @@ export interface DomainAction<Args extends unknown[], Result> {
39
43
  reset(): void;
40
44
  }
41
45
  /** Invoke one schema-declared Function or Method and invalidate Store by explicit policy. */
42
- export declare function useAction<C extends Callable>(callable: C, options?: ActionOptions): DomainAction<ActionArgs<C>, OutputOf<C>>;
46
+ export declare function useAction<C extends Callable>(callable: C, options?: ActionOptions): DomainAction<ActionArgs<C>, CallableResultOf<C>>;
43
47
  export {};
44
48
  //# sourceMappingURL=action.hook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"action.hook.d.ts","sourceRoot":"","sources":["../../src/schema/action.hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,QAAQ,EACR,UAAU,EACV,gBAAgB,EACjB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAW5D,KAAK,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,cAAc,CAAA;AAEtE,QAAA,MAAM,aAAa,eAAsC,CAAA;AAEzD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM;QAC9B,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;QACtB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KACnD,CAAA;CACF;AAED,KAAK,gBAAgB,CAAC,KAAK,EAAE,KAAK,SAAS,QAAQ,IAAI;IACrD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAClD,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAA;IAC7B,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAA;CAC3B,CAAA;AAED,+FAA+F;AAC/F,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,SAAS,QAAQ,EACxD,UAAU,EAAE,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,EAC1C,KAAK,EAAE,KAAK,GACX,YAAY,CAQd;AAED,MAAM,MAAM,aAAa,GACrB,KAAK,GACL,MAAM,GACN;IACE,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAA;CAC1C,CAAA;AAEL,MAAM,WAAW,aAAc,SAAQ,mBAAmB;IACxD,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAA;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CAC5C;AAED,KAAK,UAAU,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS,cAAc,GAC1D,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAC5C,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AAEvB,MAAM,WAAW,YAAY,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,MAAM;IAC1D,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,KAAK,IAAI,IAAI,CAAA;CACd;AAED,6FAA6F;AAC7F,wBAAgB,SAAS,CAAC,CAAC,SAAS,QAAQ,EAC1C,QAAQ,EAAE,CAAC,EACX,OAAO,GAAE,aAAkB,GAC1B,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAyC1C"}
1
+ {"version":3,"file":"action.hook.d.ts","sourceRoot":"","sources":["../../src/schema/action.hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAE3E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACf,MAAM,wBAAwB,CAAA;AAa/B,KAAK,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAA;AACnE,KAAK,cAAc,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAA;AACpF,KAAK,YAAY,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAA;AACjF,KAAK,QAAQ,GAAG,gBAAgB,GAAG,cAAc,GAAG,YAAY,CAAA;AAEhE,KAAK,cAAc,CAAC,CAAC,SAAS,cAAc,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;AAEjF,QAAA,MAAM,aAAa,eAAsC,CAAA;AAEzD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM;QAC9B,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;QACtB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KACnD,CAAA;CACF;AAED,KAAK,gBAAgB,CAAC,KAAK,EAAE,KAAK,SAAS,QAAQ,IAAI;IACrD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAClD,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAA;IAC7B,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAA;CAC3B,CAAA;AAED,+FAA+F;AAC/F,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,SAAS,QAAQ,EACxD,UAAU,EAAE,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,EAC1C,KAAK,EAAE,KAAK,GACX,YAAY,CAQd;AAED,MAAM,MAAM,aAAa,GACrB,KAAK,GACL,MAAM,GACN;IACE,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAA;CAC1C,CAAA;AAEL,MAAM,WAAW,aAAc,SAAQ,qBAAqB;IAC1D,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAA;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CAC5C;AAED,KAAK,UAAU,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS,cAAc,GAC1D,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,GACxD,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAA;AAE/B,MAAM,WAAW,YAAY,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,MAAM;IAC1D,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,KAAK,IAAI,IAAI,CAAA;CACd;AAED,6FAA6F;AAC7F,wBAAgB,SAAS,CAAC,CAAC,SAAS,QAAQ,EAC1C,QAAQ,EAAE,CAAC,EACX,OAAO,GAAE,aAAkB,GAC1B,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CA8ClD"}
@@ -1,5 +1,7 @@
1
+ import { reference } from '@astrale-os/sdk/client/session';
1
2
  import { Path } from '@astrale-os/sdk/graph/path';
2
3
  import { useCallback, useMemo, useRef } from 'react';
4
+ import { useSessionKernel } from '../auth/session-kernel.js';
3
5
  import { useAction as useAsyncAction } from '../graph/action.js';
4
6
  import { useGraphStore } from '../graph/store.js';
5
7
  import { bindingFor } from './domain.hook.js';
@@ -17,6 +19,7 @@ export function queryRefresh(definition, input) {
17
19
  /** Invoke one schema-declared Function or Method and invalidate Store by explicit policy. */
18
20
  export function useAction(callable, options = {}) {
19
21
  const binding = bindingFor(callable);
22
+ const kernel = useSessionKernel();
20
23
  const store = useGraphStore();
21
24
  const callableRef = useRef(callable);
22
25
  callableRef.current = callable;
@@ -29,10 +32,9 @@ export function useAction(callable, options = {}) {
29
32
  const policy = optionsRef.current;
30
33
  const { refresh: _refresh, onError: _onError, ...request } = policy;
31
34
  try {
32
- const invokeExact = bindingRef.current.$.invoke;
33
- const result = 'on' in current
34
- ? await invokeExact(current, receiverPath(args[0]), args[1], request)
35
- : await invokeExact(current, args[0], request);
35
+ const result = isInstanceMethod(current)
36
+ ? await kernel.session.invoke(reference(bindingRef.current.domain, current)(receiverPath(args[0])), args[1], request)
37
+ : await kernel.session.invoke(reference(bindingRef.current.domain, current), args[0], request);
36
38
  const refresh = policy.refresh ?? 'all';
37
39
  if (refresh === 'all')
38
40
  store.invalidate();
@@ -48,7 +50,7 @@ export function useAction(callable, options = {}) {
48
50
  policy.onError?.(error);
49
51
  throw error;
50
52
  }
51
- }, [store]);
53
+ }, [kernel, store]);
52
54
  const action = useAsyncAction(invoke);
53
55
  return useMemo(() => projectAction(action), [action]);
54
56
  }
@@ -67,6 +69,9 @@ function projectAction(action) {
67
69
  reset: action.reset,
68
70
  };
69
71
  }
72
+ function isInstanceMethod(callable) {
73
+ return 'owner' in callable && callable.static === false;
74
+ }
70
75
  function receiverPath(receiver) {
71
- return Path.id(receiver.id).raw;
76
+ return Path.id(receiver.id);
72
77
  }
@@ -67,19 +67,18 @@ export function bindingFor(value) {
67
67
  return binding;
68
68
  }
69
69
  function registerBinding(binding) {
70
- const seen = new WeakSet();
71
- const visit = (value, depth) => {
72
- if (depth > 4 || value === null || typeof value !== 'object' || seen.has(value))
73
- return;
74
- seen.add(value);
75
- bindingByValue.set(value, binding);
76
- for (const [key, child] of Object.entries(value)) {
77
- if (key === 'schema' || key === 'publication' || key === 'session')
78
- continue;
79
- visit(child, depth + 1);
80
- }
81
- };
82
- visit(binding, 0);
70
+ bindingByValue.set(binding, binding);
71
+ bindingByValue.set(binding.domain, binding);
72
+ for (const definition of Object.values(binding.domain.classes)) {
73
+ bindingByValue.set(definition, binding);
74
+ for (const method of definition.methods)
75
+ bindingByValue.set(method, binding);
76
+ for (const method of definition.static.methods)
77
+ bindingByValue.set(method, binding);
78
+ }
79
+ for (const callable of Object.values(binding.domain.functions)) {
80
+ bindingByValue.set(callable, binding);
81
+ }
83
82
  }
84
83
  function createResource(promise) {
85
84
  const cell = {
@@ -1,5 +1,5 @@
1
1
  import type { DomainBinding } from '@astrale-os/shell';
2
- import { KernelSchema } from '@astrale-os/sdk/schema/kernel';
2
+ import { KernelSchema } from '@astrale-os/sdk/schema';
3
3
  /** The verified, exactly typed Kernel Domain binding. */
4
4
  export declare function useKernel(): DomainBinding<typeof KernelSchema>;
5
5
  //# sourceMappingURL=kernel.hook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.hook.d.ts","sourceRoot":"","sources":["../../src/schema/kernel.hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAI5D,yDAAyD;AACzD,wBAAgB,SAAS,IAAI,aAAa,CAAC,OAAO,YAAY,CAAC,CAE9D"}
1
+ {"version":3,"file":"kernel.hook.d.ts","sourceRoot":"","sources":["../../src/schema/kernel.hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAIrD,yDAAyD;AACzD,wBAAgB,SAAS,IAAI,aAAa,CAAC,OAAO,YAAY,CAAC,CAE9D"}
@@ -1,4 +1,4 @@
1
- import { KernelSchema } from '@astrale-os/sdk/schema/kernel';
1
+ import { KernelSchema } from '@astrale-os/sdk/schema';
2
2
  import { useDomain } from './domain.hook.js';
3
3
  /** The verified, exactly typed Kernel Domain binding. */
4
4
  export function useKernel() {
@@ -1,9 +1,9 @@
1
- import type { MutationDefinition } from '@astrale-os/sdk/mutation';
1
+ import type { Mutation } from '@astrale-os/sdk/mutation';
2
2
  import type { DomainAction } from './action.hook.js';
3
3
  export interface MutationOptions {
4
4
  readonly optimistic?: boolean;
5
5
  readonly onError?: (error: unknown) => void;
6
6
  }
7
7
  /** Execute one named SDK Mutation definition through GraphStore optimism/invalidation. */
8
- export declare function useMutation<Input, Output>(definition: MutationDefinition<Input, Output>, options?: MutationOptions): DomainAction<[Input], Output>;
8
+ export declare function useMutation<Input, Output>(definition: Mutation<Input, Output>, options?: MutationOptions): DomainAction<[Input], Output>;
9
9
  //# sourceMappingURL=mutation.hook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mutation.hook.d.ts","sourceRoot":"","sources":["../../src/schema/mutation.hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAMlE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAKpD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CAC5C;AAED,0FAA0F;AAC1F,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EACvC,UAAU,EAAE,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,EAC7C,OAAO,GAAE,eAAoB,GAC5B,YAAY,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAwB/B"}
1
+ {"version":3,"file":"mutation.hook.d.ts","sourceRoot":"","sources":["../../src/schema/mutation.hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAMxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAKpD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CAC5C;AAED,0FAA0F;AAC1F,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EACvC,UAAU,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,EACnC,OAAO,GAAE,eAAoB,GAC5B,YAAY,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CA4B/B"}
@@ -1,4 +1,4 @@
1
- import { bindMutations } from '@astrale-os/sdk/mutation';
1
+ import { executeMutation } from '@astrale-os/sdk/mutation';
2
2
  import { useCallback, useMemo, useRef } from 'react';
3
3
  import { useAction as useAsyncAction } from '../graph/action.js';
4
4
  import { useGraphStore } from '../graph/store.js';
@@ -10,11 +10,12 @@ export function useMutation(definition, options = {}) {
10
10
  const optionsRef = useRef(options);
11
11
  optionsRef.current = options;
12
12
  const run = useCallback(async (input) => {
13
- const execute = bindMutations((ast) => store.mutate(ast, {
14
- optimistic: optionsRef.current.optimistic ?? true,
15
- }));
16
13
  try {
17
- return await execute(definitionRef.current, input);
14
+ return await executeMutation({
15
+ mutate: (ast) => store.mutate(ast, {
16
+ optimistic: optionsRef.current.optimistic ?? true,
17
+ }),
18
+ }, definitionRef.current, input);
18
19
  }
19
20
  catch (error) {
20
21
  optionsRef.current.onError?.(error);
@@ -1,16 +1,13 @@
1
- import type { BoundInstanceOf, Definition } from '@astrale-os/sdk/domain';
1
+ import type { BoundNode } from '@astrale-os/sdk/client';
2
2
  import type { Node } from '@astrale-os/sdk/graph/node';
3
3
  import type { PathLike } from '@astrale-os/sdk/graph/path';
4
+ import type { ResolvedClass } from '@astrale-os/sdk/schema';
4
5
  import type { GraphResource } from '../graph/resource.js';
5
6
  export interface RichReadOptions {
6
7
  readonly pageSize?: number;
7
8
  }
8
- type ObjectDefinition = Pick<Definition<'class' | 'interface'>, 'kind' | 'origin' | 'name' | 'key' | 'schemaRef' | 'definition'> & {
9
- readonly family: 'node';
10
- };
11
9
  /** Read and bind one exact rich object definition exclusively through GraphStore. */
12
- export declare function useObject<RichDefinition extends ObjectDefinition>(definition: RichDefinition, target: PathLike | null | undefined, options?: RichReadOptions): GraphResource<BoundInstanceOf<RichDefinition> | null>;
10
+ export declare function useObject<Class extends ResolvedClass<'node'>>(definition: Class, target: PathLike | null | undefined, options?: RichReadOptions): GraphResource<BoundNode<Class> | null>;
13
11
  /** Explicitly untyped point read for inspectors; it never impersonates `useObject`. */
14
12
  export declare function useDynamicObject(target: PathLike | null | undefined, options?: RichReadOptions): GraphResource<Node | null>;
15
- export {};
16
13
  //# sourceMappingURL=object.hook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"object.hook.d.ts","sourceRoot":"","sources":["../../src/schema/object.hook.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACzE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAM1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAKzD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,KAAK,gBAAgB,GAAG,IAAI,CAC1B,UAAU,CAAC,OAAO,GAAG,WAAW,CAAC,EACjC,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,WAAW,GAAG,YAAY,CAChE,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAE/B,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,cAAc,SAAS,gBAAgB,EAC/D,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EACnC,OAAO,GAAE,eAAoB,GAC5B,aAAa,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CA8BvD;AAED,uFAAuF;AACvF,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EACnC,OAAO,GAAE,eAAoB,GAC5B,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,CAoB5B"}
1
+ {"version":3,"file":"object.hook.d.ts","sourceRoot":"","sources":["../../src/schema/object.hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAEvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAM3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAKzD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,KAAK,SAAS,aAAa,CAAC,MAAM,CAAC,EAC3D,UAAU,EAAE,KAAK,EACjB,MAAM,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EACnC,OAAO,GAAE,eAAoB,GAC5B,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CA0BxC;AAED,uFAAuF;AACvF,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EACnC,OAAO,GAAE,eAAoB,GAC5B,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,CAoB5B"}
@@ -9,8 +9,8 @@ export function useObject(definition, target, options = {}) {
9
9
  const path = target === null || target === undefined ? null : Path.from(target);
10
10
  const query = useMemo(() => path === null
11
11
  ? null
12
- : Query.from({ kind: 'node', paths: [path], binding: 'object' })
13
- .filter({ satisfies: definition.schemaRef })
12
+ : Query.from({ nodes: [path], binding: 'object' })
13
+ .filter({ class: definition })
14
14
  .select({ kind: 'graph' }), [definition, path?.raw]);
15
15
  const project = useCallback((response) => {
16
16
  const result = response.result;
@@ -20,8 +20,7 @@ export function useObject(definition, target, options = {}) {
20
20
  const node = id === undefined
21
21
  ? undefined
22
22
  : result.graph.nodes.find((candidate) => candidate.id === id);
23
- const bind = binding.$.bind;
24
- return node === undefined ? null : bind(definition, node);
23
+ return node === undefined ? null : binding.wrapNode(definition, node);
25
24
  }, [binding, definition]);
26
25
  return useStoreResource(query, options.pageSize ?? 1, project);
27
26
  }
@@ -30,7 +29,7 @@ export function useDynamicObject(target, options = {}) {
30
29
  const path = target === null || target === undefined ? null : Path.from(target);
31
30
  const query = useMemo(() => path === null
32
31
  ? null
33
- : Query.from({ kind: 'node', paths: [path], binding: 'dynamic_object' }).select({
32
+ : Query.from({ nodes: [path], binding: 'dynamic_object' }).select({
34
33
  kind: 'graph',
35
34
  }), [path?.raw]);
36
35
  const project = useCallback((response) => {