@astrale-os/shell-react 0.2.0 → 0.2.2

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 (266) hide show
  1. package/dist/application/apps/app-host.d.ts +2 -2
  2. package/dist/application/apps/app-host.d.ts.map +1 -1
  3. package/dist/application/apps/app-host.js +3 -3
  4. package/dist/application/apps/apps.hook.d.ts +1 -1
  5. package/dist/application/apps/apps.hook.d.ts.map +1 -1
  6. package/dist/application/apps/apps.hook.js +4 -4
  7. package/dist/application/apps/open-app.hook.d.ts +1 -1
  8. package/dist/application/apps/open-app.hook.d.ts.map +1 -1
  9. package/dist/application/apps/open-app.hook.js +3 -3
  10. package/dist/application/index.d.ts +16 -16
  11. package/dist/application/index.d.ts.map +1 -1
  12. package/dist/application/index.js +9 -9
  13. package/dist/application/roles.hook.d.ts +1 -1
  14. package/dist/application/roles.hook.d.ts.map +1 -1
  15. package/dist/application/roles.hook.js +3 -3
  16. package/dist/application/spaces/current-space.hook.d.ts +1 -1
  17. package/dist/application/spaces/current-space.hook.d.ts.map +1 -1
  18. package/dist/application/spaces/current-space.hook.js +3 -3
  19. package/dist/application/spaces/space.hook.d.ts +1 -1
  20. package/dist/application/spaces/space.hook.d.ts.map +1 -1
  21. package/dist/application/spaces/space.hook.js +4 -4
  22. package/dist/application/spaces/spaces.hook.d.ts +2 -2
  23. package/dist/application/spaces/spaces.hook.d.ts.map +1 -1
  24. package/dist/application/spaces/spaces.hook.js +5 -5
  25. package/dist/application/user/user.hook.js +2 -2
  26. package/dist/auth/act-as.context.d.ts +1 -1
  27. package/dist/auth/act-as.context.d.ts.map +1 -1
  28. package/dist/auth/act-as.context.js +1 -1
  29. package/dist/auth/auth.hook.js +2 -2
  30. package/dist/auth/can.hook.d.ts +1 -1
  31. package/dist/auth/can.hook.d.ts.map +1 -1
  32. package/dist/auth/can.hook.js +2 -2
  33. package/dist/auth/index.d.ts +5 -5
  34. package/dist/auth/index.d.ts.map +1 -1
  35. package/dist/auth/index.js +4 -4
  36. package/dist/auth/self.hook.d.ts +1 -1
  37. package/dist/auth/self.hook.d.ts.map +1 -1
  38. package/dist/auth/self.hook.js +1 -1
  39. package/dist/auth/session-kernel.d.ts +1 -1
  40. package/dist/auth/session-kernel.d.ts.map +1 -1
  41. package/dist/auth/session-kernel.js +2 -2
  42. package/dist/graph/async.d.ts +1 -1
  43. package/dist/graph/async.d.ts.map +1 -1
  44. package/dist/graph/call/call.hook.d.ts +1 -1
  45. package/dist/graph/call/call.hook.d.ts.map +1 -1
  46. package/dist/graph/call/call.hook.js +2 -2
  47. package/dist/graph/call/stream.hook.js +1 -1
  48. package/dist/graph/index.d.ts +18 -18
  49. package/dist/graph/index.d.ts.map +1 -1
  50. package/dist/graph/index.js +8 -8
  51. package/dist/graph/memory/read/idle.d.ts +1 -1
  52. package/dist/graph/memory/read/idle.d.ts.map +1 -1
  53. package/dist/graph/memory/read/read.d.ts +1 -1
  54. package/dist/graph/memory/read/read.d.ts.map +1 -1
  55. package/dist/graph/memory/read/read.js +3 -3
  56. package/dist/graph/memory/scope.js +3 -3
  57. package/dist/graph/mutate/move.hook.d.ts +2 -2
  58. package/dist/graph/mutate/move.hook.d.ts.map +1 -1
  59. package/dist/graph/mutate/move.hook.js +3 -3
  60. package/dist/graph/mutate/mutate.hook.d.ts +1 -1
  61. package/dist/graph/mutate/mutate.hook.d.ts.map +1 -1
  62. package/dist/graph/mutate/mutate.hook.js +2 -2
  63. package/dist/graph/query/children.hook.d.ts +2 -2
  64. package/dist/graph/query/children.hook.d.ts.map +1 -1
  65. package/dist/graph/query/children.hook.js +2 -2
  66. package/dist/graph/query/graph.hook.js +1 -1
  67. package/dist/graph/query/neighbors.hook.d.ts +2 -2
  68. package/dist/graph/query/neighbors.hook.d.ts.map +1 -1
  69. package/dist/graph/query/neighbors.hook.js +4 -7
  70. package/dist/graph/query/node.hook.d.ts +2 -2
  71. package/dist/graph/query/node.hook.d.ts.map +1 -1
  72. package/dist/graph/query/node.hook.js +2 -2
  73. package/dist/graph/query/query.hook.d.ts +1 -1
  74. package/dist/graph/query/query.hook.d.ts.map +1 -1
  75. package/dist/graph/query/query.hook.js +1 -1
  76. package/dist/index.d.ts +25 -25
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +11 -11
  79. package/dist/intents/index.d.ts +5 -5
  80. package/dist/intents/index.d.ts.map +1 -1
  81. package/dist/intents/index.js +2 -2
  82. package/dist/intents/listen-intent.hook.d.ts +1 -1
  83. package/dist/intents/listen-intent.hook.d.ts.map +1 -1
  84. package/dist/intents/listen-intent.hook.js +3 -3
  85. package/dist/intents/reply.js +1 -1
  86. package/dist/intents/send-intent.hook.d.ts +1 -1
  87. package/dist/intents/send-intent.hook.d.ts.map +1 -1
  88. package/dist/intents/send-intent.hook.js +2 -2
  89. package/dist/navigation/adapters/adapter.d.ts +1 -1
  90. package/dist/navigation/adapters/adapter.d.ts.map +1 -1
  91. package/dist/navigation/adapters/memory.adapter.d.ts +2 -2
  92. package/dist/navigation/adapters/memory.adapter.d.ts.map +1 -1
  93. package/dist/navigation/adapters/url.adapter.d.ts +1 -1
  94. package/dist/navigation/adapters/url.adapter.d.ts.map +1 -1
  95. package/dist/navigation/hooks/ancestors.hook.d.ts +2 -2
  96. package/dist/navigation/hooks/ancestors.hook.d.ts.map +1 -1
  97. package/dist/navigation/hooks/ancestors.hook.js +5 -5
  98. package/dist/navigation/hooks/location.hook.d.ts +1 -1
  99. package/dist/navigation/hooks/location.hook.d.ts.map +1 -1
  100. package/dist/navigation/hooks/location.hook.js +2 -2
  101. package/dist/navigation/hooks/navigate.hook.d.ts +1 -1
  102. package/dist/navigation/hooks/navigate.hook.d.ts.map +1 -1
  103. package/dist/navigation/hooks/navigate.hook.js +1 -1
  104. package/dist/navigation/hooks/scope.hook.d.ts +3 -3
  105. package/dist/navigation/hooks/scope.hook.d.ts.map +1 -1
  106. package/dist/navigation/hooks/scope.hook.js +3 -3
  107. package/dist/navigation/index.d.ts +15 -15
  108. package/dist/navigation/index.d.ts.map +1 -1
  109. package/dist/navigation/index.js +8 -8
  110. package/dist/navigation/link.d.ts +1 -1
  111. package/dist/navigation/link.d.ts.map +1 -1
  112. package/dist/navigation/link.js +2 -2
  113. package/dist/navigation/location.d.ts +1 -1
  114. package/dist/navigation/location.d.ts.map +1 -1
  115. package/dist/navigation/scope.context.d.ts +5 -5
  116. package/dist/navigation/scope.context.d.ts.map +1 -1
  117. package/dist/navigation/scope.context.js +5 -5
  118. package/dist/navigation/snapshot.d.ts +3 -3
  119. package/dist/navigation/snapshot.d.ts.map +1 -1
  120. package/dist/schema/bind-read.d.ts +2 -2
  121. package/dist/schema/bind-read.d.ts.map +1 -1
  122. package/dist/schema/bind-read.js +5 -5
  123. package/dist/schema/binding.d.ts +1 -1
  124. package/dist/schema/binding.d.ts.map +1 -1
  125. package/dist/schema/binding.js +11 -11
  126. package/dist/schema/domain.hook.js +3 -3
  127. package/dist/schema/function.hook.d.ts +2 -2
  128. package/dist/schema/function.hook.d.ts.map +1 -1
  129. package/dist/schema/function.hook.js +2 -2
  130. package/dist/schema/index.d.ts +9 -9
  131. package/dist/schema/index.d.ts.map +1 -1
  132. package/dist/schema/index.js +6 -6
  133. package/dist/schema/kernel.hook.js +3 -3
  134. package/dist/schema/method.hook.d.ts +1 -1
  135. package/dist/schema/method.hook.d.ts.map +1 -1
  136. package/dist/schema/method.hook.js +4 -4
  137. package/dist/schema/types.d.ts +2 -2
  138. package/dist/schema/types.d.ts.map +1 -1
  139. package/dist/schema/write.d.ts +1 -1
  140. package/dist/schema/write.d.ts.map +1 -1
  141. package/dist/schema/write.js +9 -3
  142. package/dist/selection/index.d.ts +3 -3
  143. package/dist/selection/index.d.ts.map +1 -1
  144. package/dist/selection/index.js +2 -2
  145. package/dist/selection/live.js +1 -1
  146. package/dist/selection/scope.context.d.ts +1 -1
  147. package/dist/selection/scope.context.d.ts.map +1 -1
  148. package/dist/selection/scope.context.js +1 -1
  149. package/dist/selection/selection.hook.d.ts +1 -1
  150. package/dist/selection/selection.hook.d.ts.map +1 -1
  151. package/dist/selection/selection.hook.js +1 -1
  152. package/dist/session/boot/boot.d.ts +1 -1
  153. package/dist/session/boot/boot.d.ts.map +1 -1
  154. package/dist/session/boot/status.d.ts +1 -1
  155. package/dist/session/boot/status.d.ts.map +1 -1
  156. package/dist/session/connection/connection.hook.d.ts +1 -1
  157. package/dist/session/connection/connection.hook.d.ts.map +1 -1
  158. package/dist/session/connection/connection.hook.js +2 -2
  159. package/dist/session/index.d.ts +7 -7
  160. package/dist/session/index.d.ts.map +1 -1
  161. package/dist/session/index.js +5 -5
  162. package/dist/session/kernel-client.hook.js +1 -1
  163. package/dist/session/kernel-instance.hook.js +1 -1
  164. package/dist/session/provider.js +8 -8
  165. package/dist/session/shell.hook.js +1 -1
  166. package/dist/window/adopt.d.ts +2 -2
  167. package/dist/window/adopt.d.ts.map +1 -1
  168. package/dist/window/hooks/close-guard.hook.js +1 -1
  169. package/dist/window/hooks/target-node.hook.d.ts +2 -2
  170. package/dist/window/hooks/target-node.hook.d.ts.map +1 -1
  171. package/dist/window/hooks/target-node.hook.js +2 -2
  172. package/dist/window/hooks/views-for.hook.d.ts +2 -2
  173. package/dist/window/hooks/views-for.hook.d.ts.map +1 -1
  174. package/dist/window/hooks/views-for.hook.js +2 -2
  175. package/dist/window/hooks/window.hook.d.ts +1 -1
  176. package/dist/window/hooks/window.hook.d.ts.map +1 -1
  177. package/dist/window/hooks/window.hook.js +2 -2
  178. package/dist/window/hooks/windows.hook.js +2 -2
  179. package/dist/window/host.d.ts +2 -2
  180. package/dist/window/host.d.ts.map +1 -1
  181. package/dist/window/host.js +4 -4
  182. package/dist/window/hub.d.ts +3 -3
  183. package/dist/window/hub.d.ts.map +1 -1
  184. package/dist/window/hub.js +1 -1
  185. package/dist/window/index.d.ts +14 -14
  186. package/dist/window/index.d.ts.map +1 -1
  187. package/dist/window/index.js +7 -7
  188. package/dist/window/stage.js +3 -3
  189. package/package.json +7 -7
  190. package/src/application/apps/app-host.tsx +6 -6
  191. package/src/application/apps/apps.hook.ts +6 -6
  192. package/src/application/apps/open-app.hook.ts +4 -4
  193. package/src/application/index.ts +16 -16
  194. package/src/application/roles.hook.ts +4 -4
  195. package/src/application/spaces/current-space.hook.ts +4 -4
  196. package/src/application/spaces/space.hook.ts +5 -5
  197. package/src/application/spaces/spaces.hook.ts +7 -7
  198. package/src/application/user/user.hook.ts +2 -2
  199. package/src/auth/act-as.context.tsx +2 -2
  200. package/src/auth/auth.hook.ts +3 -3
  201. package/src/auth/can.hook.ts +3 -3
  202. package/src/auth/index.ts +5 -5
  203. package/src/auth/self.hook.ts +2 -2
  204. package/src/auth/session-kernel.ts +3 -3
  205. package/src/graph/async.ts +1 -1
  206. package/src/graph/call/call.hook.ts +3 -3
  207. package/src/graph/call/stream.hook.ts +1 -1
  208. package/src/graph/index.ts +18 -18
  209. package/src/graph/memory/read/idle.ts +1 -1
  210. package/src/graph/memory/read/read.ts +4 -4
  211. package/src/graph/memory/scope.ts +3 -3
  212. package/src/graph/mutate/move.hook.ts +5 -5
  213. package/src/graph/mutate/mutate.hook.ts +3 -3
  214. package/src/graph/query/children.hook.ts +4 -4
  215. package/src/graph/query/graph.hook.ts +1 -1
  216. package/src/graph/query/neighbors.hook.ts +7 -15
  217. package/src/graph/query/node.hook.ts +4 -4
  218. package/src/graph/query/query.hook.ts +2 -2
  219. package/src/index.ts +25 -25
  220. package/src/intents/index.ts +5 -5
  221. package/src/intents/listen-intent.hook.ts +4 -4
  222. package/src/intents/reply.ts +1 -1
  223. package/src/intents/send-intent.hook.ts +3 -3
  224. package/src/navigation/adapters/adapter.ts +1 -1
  225. package/src/navigation/adapters/memory.adapter.ts +2 -2
  226. package/src/navigation/adapters/url.adapter.ts +2 -2
  227. package/src/navigation/hooks/ancestors.hook.ts +7 -7
  228. package/src/navigation/hooks/location.hook.ts +3 -3
  229. package/src/navigation/hooks/navigate.hook.ts +2 -2
  230. package/src/navigation/hooks/scope.hook.ts +6 -6
  231. package/src/navigation/index.ts +15 -15
  232. package/src/navigation/link.tsx +3 -3
  233. package/src/navigation/location.ts +1 -1
  234. package/src/navigation/scope.context.tsx +9 -9
  235. package/src/navigation/snapshot.ts +3 -3
  236. package/src/schema/bind-read.ts +7 -7
  237. package/src/schema/binding.ts +20 -23
  238. package/src/schema/domain.hook.ts +3 -3
  239. package/src/schema/function.hook.ts +4 -4
  240. package/src/schema/index.ts +15 -9
  241. package/src/schema/kernel.hook.ts +3 -3
  242. package/src/schema/method.hook.ts +11 -11
  243. package/src/schema/types.ts +2 -2
  244. package/src/schema/write.ts +14 -4
  245. package/src/selection/index.ts +3 -3
  246. package/src/selection/live.ts +1 -1
  247. package/src/selection/scope.context.tsx +2 -2
  248. package/src/selection/selection.hook.ts +2 -2
  249. package/src/session/boot/boot.ts +1 -1
  250. package/src/session/boot/status.ts +1 -1
  251. package/src/session/connection/connection.hook.ts +3 -3
  252. package/src/session/index.ts +7 -7
  253. package/src/session/kernel-client.hook.ts +1 -1
  254. package/src/session/kernel-instance.hook.ts +1 -1
  255. package/src/session/provider.tsx +12 -12
  256. package/src/session/shell.hook.ts +1 -1
  257. package/src/window/adopt.ts +2 -2
  258. package/src/window/hooks/close-guard.hook.ts +1 -1
  259. package/src/window/hooks/target-node.hook.ts +4 -4
  260. package/src/window/hooks/views-for.hook.ts +4 -4
  261. package/src/window/hooks/window.hook.ts +3 -3
  262. package/src/window/hooks/windows.hook.ts +2 -2
  263. package/src/window/host.tsx +8 -8
  264. package/src/window/hub.ts +4 -4
  265. package/src/window/index.ts +14 -14
  266. package/src/window/stage.tsx +3 -3
@@ -6,7 +6,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
6
6
  * math stays caller-side (read `anchor`). Seats the selection context.
7
7
  */
8
8
  import { createContext, useCallback, useEffect, useMemo, useReducer, useRef } from 'react';
9
- import { useLiveNodes, useMemory } from './live';
9
+ import { useLiveNodes, useMemory } from './live.js';
10
10
  export const SelectionContext = createContext(null);
11
11
  SelectionContext.displayName = 'AstraleSelectionContext';
12
12
  function dedupe(ids) {
@@ -1,4 +1,4 @@
1
- import type { Selection } from './scope.context';
1
+ import type { Selection } from './scope.context.js';
2
2
  /** The nearest selection scope. Throws outside a `<SelectionScope>`. */
3
3
  export declare function useSelection(): Selection;
4
4
  //# sourceMappingURL=selection.hook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"selection.hook.d.ts","sourceRoot":"","sources":["../../src/selection/selection.hook.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAIhD,wEAAwE;AACxE,wBAAgB,YAAY,IAAI,SAAS,CAMxC"}
1
+ {"version":3,"file":"selection.hook.d.ts","sourceRoot":"","sources":["../../src/selection/selection.hook.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAInD,wEAAwE;AACxE,wBAAgB,YAAY,IAAI,SAAS,CAMxC"}
@@ -3,7 +3,7 @@
3
3
  * has/set/add/toggle/clear). Throws outside a `<SelectionScope>`.
4
4
  */
5
5
  import { useContext } from 'react';
6
- import { SelectionContext } from './scope.context';
6
+ import { SelectionContext } from './scope.context.js';
7
7
  /** The nearest selection scope. Throws outside a `<SelectionScope>`. */
8
8
  export function useSelection() {
9
9
  const selection = useContext(SelectionContext);
@@ -4,7 +4,7 @@
4
4
  * pure of React so the provider's boot effect composes them.
5
5
  */
6
6
  import type { Shell, ShellConfig } from '@astrale-os/shell';
7
- import type { SelfNode } from '../session.context';
7
+ import type { SelfNode } from '../session.context.js';
8
8
  export declare function isShellConfig(config: ShellConfig | Shell): config is ShellConfig;
9
9
  /**
10
10
  * Identity of a config — primitive fields only, so re-passing an inline `fetch`,
@@ -1 +1 @@
1
- {"version":3,"file":"boot.d.ts","sourceRoot":"","sources":["../../../src/session/boot/boot.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAElD,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,GAAG,MAAM,IAAI,WAAW,CAEhF;AAeD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,GAAG,MAAM,CAYlE;AAED,+EAA+E;AAC/E,wBAAsB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAQxE"}
1
+ {"version":3,"file":"boot.d.ts","sourceRoot":"","sources":["../../../src/session/boot/boot.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAErD,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,GAAG,MAAM,IAAI,WAAW,CAEhF;AAeD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,GAAG,MAAM,CAYlE;AAED,+EAA+E;AAC/E,wBAAsB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAQxE"}
@@ -3,7 +3,7 @@
3
3
  * `connecting → ready` (with the resolved runtime) or `connecting → error`. The
4
4
  * reducer is the single transition table children render behind.
5
5
  */
6
- import type { ShellRuntime } from '../session.context';
6
+ import type { ShellRuntime } from '../session.context.js';
7
7
  export type BootStatus = 'connecting' | 'ready' | 'error';
8
8
  export interface BootState {
9
9
  readonly status: BootStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/session/boot/status.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,CAAA;AAEzD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAA;CACtC;AAED,MAAM,MAAM,UAAU,GAClB;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAC/B;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAA;AAEvD,eAAO,MAAM,YAAY,EAAE,SAAqE,CAAA;AAEhG,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,SAAS,CAS3E"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/session/boot/status.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,CAAA;AAEzD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAA;CACtC;AAED,MAAM,MAAM,UAAU,GAClB;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAC/B;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAA;AAEvD,eAAO,MAAM,YAAY,EAAE,SAAqE,CAAA;AAEhG,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,SAAS,CAS3E"}
@@ -1,3 +1,3 @@
1
- import type { ConnectionValue } from './connection.store';
1
+ import type { ConnectionValue } from './connection.store.js';
2
2
  export declare function useConnection(): ConnectionValue;
3
3
  //# sourceMappingURL=connection.hook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.hook.d.ts","sourceRoot":"","sources":["../../../src/session/connection/connection.hook.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAKzD,wBAAgB,aAAa,IAAI,eAAe,CAG/C"}
1
+ {"version":3,"file":"connection.hook.d.ts","sourceRoot":"","sources":["../../../src/session/connection/connection.hook.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAK5D,wBAAgB,aAAa,IAAI,eAAe,CAG/C"}
@@ -4,8 +4,8 @@
4
4
  * `useSyncExternalStore` (rule 3). Throws outside a `<ShellProvider>`.
5
5
  */
6
6
  import { useSyncExternalStore } from 'react';
7
- import { useShell } from '../shell.hook';
8
- import { connectionStore } from './connection.store';
7
+ import { useShell } from '../shell.hook.js';
8
+ import { connectionStore } from './connection.store.js';
9
9
  export function useConnection() {
10
10
  const store = connectionStore(useShell());
11
11
  return useSyncExternalStore(store.subscribe, store.getSnapshot, store.getSnapshot);
@@ -1,8 +1,8 @@
1
- export { ShellProvider } from './provider';
2
- export type { ShellError, ShellProviderProps } from './provider';
3
- export { useShell } from './shell.hook';
4
- export { useKernelClient } from './kernel-client.hook';
5
- export { useKernelInstance } from './kernel-instance.hook';
6
- export type { KernelInstance } from './kernel-instance.hook';
7
- export { useConnection } from './connection/connection.hook';
1
+ export { ShellProvider } from './provider.js';
2
+ export type { ShellError, ShellProviderProps } from './provider.js';
3
+ export { useShell } from './shell.hook.js';
4
+ export { useKernelClient } from './kernel-client.hook.js';
5
+ export { useKernelInstance } from './kernel-instance.hook.js';
6
+ export type { KernelInstance } from './kernel-instance.hook.js';
7
+ export { useConnection } from './connection/connection.hook.js';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  // session — API §2 (provider) + §3 (session hooks). See SHELL_REACT_API.md.
2
- export { ShellProvider } from './provider';
3
- export { useShell } from './shell.hook';
4
- export { useKernelClient } from './kernel-client.hook';
5
- export { useKernelInstance } from './kernel-instance.hook';
6
- export { useConnection } from './connection/connection.hook';
2
+ export { ShellProvider } from './provider.js';
3
+ export { useShell } from './shell.hook.js';
4
+ export { useKernelClient } from './kernel-client.hook.js';
5
+ export { useKernelInstance } from './kernel-instance.hook.js';
6
+ export { useConnection } from './connection/connection.hook.js';
@@ -1,4 +1,4 @@
1
- import { useShell } from './shell.hook';
1
+ import { useShell } from './shell.hook.js';
2
2
  /** `shell.kernel` — the raw bound kernel view, untouched (untyped floor). */
3
3
  export function useKernelClient() {
4
4
  return useShell().kernel;
@@ -1,5 +1,5 @@
1
1
  import { useMemo } from 'react';
2
- import { useKernelClient } from './kernel-client.hook';
2
+ import { useKernelClient } from './kernel-client.hook.js';
3
3
  /** Low-level access for direct kernel-envelope calls and token exchange code. */
4
4
  export function useKernelInstance() {
5
5
  const kernel = useKernelClient();
@@ -9,14 +9,14 @@ import { createShell } from '@astrale-os/shell';
9
9
  * render only at `ready`, so useShell/useSelf are synchronous below.
10
10
  */
11
11
  import { useCallback, useEffect, useMemo, useReducer, useRef, useState } from 'react';
12
- import { primeUser } from '../application/user/user.store';
13
- import { GraphContext } from '../graph/graph.context';
14
- import { baseMemoryFor, setMemoryErrorSink } from '../graph/memory/base';
15
- import { configIdentity, isShellConfig, resolveSelf } from './boot/boot';
16
- import { cancelTeardown, disposeShell, scheduleTeardown } from './boot/ownership';
17
- import { bootReducer, INITIAL_BOOT } from './boot/status';
18
- import { connectionStore } from './connection/connection.store';
19
- import { ShellContext } from './session.context';
12
+ import { primeUser } from '../application/user/user.store.js';
13
+ import { GraphContext } from '../graph/graph.context.js';
14
+ import { baseMemoryFor, setMemoryErrorSink } from '../graph/memory/base.js';
15
+ import { configIdentity, isShellConfig, resolveSelf } from './boot/boot.js';
16
+ import { cancelTeardown, disposeShell, scheduleTeardown } from './boot/ownership.js';
17
+ import { bootReducer, INITIAL_BOOT } from './boot/status.js';
18
+ import { connectionStore } from './connection/connection.store.js';
19
+ import { ShellContext } from './session.context.js';
20
20
  /**
21
21
  * Map a memory event to the documented `ShellError` union (API §2). `refresh`
22
22
  * (warm-read revalidation failure) and `mutation` (rolled-back write) are the
@@ -4,7 +4,7 @@
4
4
  * hook builds on.
5
5
  */
6
6
  import { useContext } from 'react';
7
- import { ShellContext } from './session.context';
7
+ import { ShellContext } from './session.context.js';
8
8
  /** The live shell for this subtree. Throws outside a `<ShellProvider>`. */
9
9
  export function useShell() {
10
10
  const runtime = useContext(ShellContext);
@@ -5,8 +5,8 @@
5
5
  * record, and either the remount takes it (one macrotask) or it disposes.
6
6
  */
7
7
  import type { Window } from '@astrale-os/shell';
8
- import type { WindowState } from './lifecycle/states';
9
- import type { StageSlot } from './placement';
8
+ import type { WindowState } from './lifecycle/states.js';
9
+ import type { StageSlot } from './placement.js';
10
10
  export interface AdoptRecord {
11
11
  readonly windowId: string;
12
12
  readonly window: Window;
@@ -1 +1 @@
1
- {"version":3,"file":"adopt.d.ts","sourceRoot":"","sources":["../../src/window/adopt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,0FAA0F;IAC1F,OAAO,IAAI,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,yFAAyF;IACzF,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;IAC7C,yFAAyF;IACzF,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAA;CACtC;AAED,yDAAyD;AACzD,wBAAgB,gBAAgB,IAAI,UAAU,CA2B7C"}
1
+ {"version":3,"file":"adopt.d.ts","sourceRoot":"","sources":["../../src/window/adopt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,0FAA0F;IAC1F,OAAO,IAAI,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,yFAAyF;IACzF,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;IAC7C,yFAAyF;IACzF,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAA;CACtC;AAED,yDAAyD;AACzD,wBAAgB,gBAAgB,IAAI,UAAU,CA2B7C"}
@@ -6,7 +6,7 @@
6
6
  * answered exactly once regardless of how many guards are mounted.
7
7
  */
8
8
  import { useEffect, useRef } from 'react';
9
- import { useShell } from '../../session/shell.hook';
9
+ import { useShell } from '../../session/shell.hook.js';
10
10
  function sendAck(parent) {
11
11
  parent.send({
12
12
  type: 'intent',
@@ -1,5 +1,5 @@
1
- import type { ReadState } from '../../graph/memory/read/envelope';
2
- import type { Node } from '../lifecycle/mount';
1
+ import type { ReadState } from '../../graph/memory/read/envelope.js';
2
+ import type { Node } from '../lifecycle/mount.js';
3
3
  export interface NodeResult extends ReadState {
4
4
  readonly node: Node | null;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"target-node.hook.d.ts","sourceRoot":"","sources":["../../../src/window/hooks/target-node.hook.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAK9C,MAAM,WAAW,UAAW,SAAQ,SAAS;IAC3C,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;CAC3B;AAeD,wBAAgB,aAAa,IAAI,UAAU,CAe1C"}
1
+ {"version":3,"file":"target-node.hook.d.ts","sourceRoot":"","sources":["../../../src/window/hooks/target-node.hook.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAKjD,MAAM,WAAW,UAAW,SAAQ,SAAS;IAC3C,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;CAC3B;AAeD,wBAAgB,aAAa,IAAI,UAAU,CAe1C"}
@@ -8,8 +8,8 @@
8
8
  * it becomes real stale-while-revalidate liveness with no consumer change.
9
9
  */
10
10
  import { useCallback, useEffect, useRef, useState } from 'react';
11
- import { idleReadState } from '../../graph/memory/read/idle';
12
- import { useShell } from '../../session/shell.hook';
11
+ import { idleReadState } from '../../graph/memory/read/idle.js';
12
+ import { useShell } from '../../session/shell.hook.js';
13
13
  /** Address a bare node id by graph id (`@<id>`); pass paths/anchors through. */
14
14
  function toRef(id) {
15
15
  return id.startsWith('/') || id.startsWith('@') ? id : `@${id}`;
@@ -1,6 +1,6 @@
1
1
  import type { PathLike } from '@astrale-os/kernel-client/graph';
2
- import type { ReadState } from '../../graph/memory/read/envelope';
3
- import type { Node, ViewDescriptor } from '../lifecycle/mount';
2
+ import type { ReadState } from '../../graph/memory/read/envelope.js';
3
+ import type { Node, ViewDescriptor } from '../lifecycle/mount.js';
4
4
  export interface ViewsForResult extends ReadState {
5
5
  readonly views: readonly ViewDescriptor[];
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"views-for.hook.d.ts","sourceRoot":"","sources":["../../../src/window/hooks/views-for.hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AAW/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAK9D,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAA;CAC1C;AAiBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,cAAc,CAqBpF"}
1
+ {"version":3,"file":"views-for.hook.d.ts","sourceRoot":"","sources":["../../../src/window/hooks/views-for.hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AAW/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAKjE,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAA;CAC1C;AAiBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,cAAc,CAqBpF"}
@@ -6,8 +6,8 @@ import { K } from '@astrale-os/kernel-core';
6
6
  * caller-visible Views (USE-visibility enforced kernel-side), each with mount url.
7
7
  */
8
8
  import { useMemo } from 'react';
9
- import { useAsyncResource } from '../../graph/async';
10
- import { useKernelClient } from '../../session/kernel-client.hook';
9
+ import { useAsyncResource } from '../../graph/async.js';
10
+ import { useKernelClient } from '../../session/kernel-client.hook.js';
11
11
  /** The `View.resolve` wire address — the qualified static-method slug from the schema. */
12
12
  const VIEW_RESOLVE_METHOD = K.View.resolve.path.method.raw;
13
13
  const NO_VIEWS = Object.freeze([]);
@@ -1,4 +1,4 @@
1
- import type { WindowView } from '../hub';
1
+ import type { WindowView } from '../hub.js';
2
2
  /** One window's live phase + shell `Window` (null id / unknown id → no window). */
3
3
  export declare function useWindow(windowId: string | null): WindowView;
4
4
  //# sourceMappingURL=window.hook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"window.hook.d.ts","sourceRoot":"","sources":["../../../src/window/hooks/window.hook.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAKxC,mFAAmF;AACnF,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,CAK7D"}
1
+ {"version":3,"file":"window.hook.d.ts","sourceRoot":"","sources":["../../../src/window/hooks/window.hook.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAK3C,mFAAmF;AACnF,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,CAK7D"}
@@ -3,8 +3,8 @@
3
3
  * unknown id → a stable "no window"), reactive over the per-shell hub registry.
4
4
  */
5
5
  import { useMemo, useSyncExternalStore } from 'react';
6
- import { useShell } from '../../session/shell.hook';
7
- import { getStageHub } from '../hub';
6
+ import { useShell } from '../../session/shell.hook.js';
7
+ import { getStageHub } from '../hub.js';
8
8
  /** One window's live phase + shell `Window` (null id / unknown id → no window). */
9
9
  export function useWindow(windowId) {
10
10
  const shell = useShell();
@@ -6,8 +6,8 @@
6
6
  * tracked here — flagged in the module report as a shell foundation gap.
7
7
  */
8
8
  import { useMemo, useSyncExternalStore } from 'react';
9
- import { useShell } from '../../session/shell.hook';
10
- import { getStageHub } from '../hub';
9
+ import { useShell } from '../../session/shell.hook.js';
10
+ import { getStageHub } from '../hub.js';
11
11
  /** Every host-mounted window in this shell's tree, keyed by windowId. Reactive. */
12
12
  export function useWindows() {
13
13
  const shell = useShell();
@@ -1,8 +1,8 @@
1
1
  import type { NodeRefInput } from '@astrale-os/kernel-client';
2
2
  import type { CloseResult, IntentRegistry, MountCredential, SandboxProfile } from '@astrale-os/shell';
3
3
  import type { CSSProperties, ReactNode } from 'react';
4
- import type { ViewSource } from './lifecycle/mount';
5
- import type { WindowState } from './lifecycle/states';
4
+ import type { ViewSource } from './lifecycle/mount.js';
5
+ import type { WindowState } from './lifecycle/states.js';
6
6
  /** Imperative handle on a mounted `ViewHost` (API §10). */
7
7
  export interface ViewHostHandle {
8
8
  readonly windowId: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/window/host.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,eAAe,EAEf,cAAc,EAEf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAA;AAqBnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAcrD,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,KAAK,CAAC,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IAC3E,gCAAgC;IAChC,OAAO,IAAI,IAAI,CAAA;CAChB;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG;IACvC,iFAAiF;IACjF,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,YAAY,CAAC,EAAE;QAAE,OAAO,EAAE,SAAS,CAAC,MAAM,cAAc,CAAC,EAAE,CAAA;KAAE,CAAA;IAC7D,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;IAC/B,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,iEAAiE;IACjE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,SAAS,CAAA;IAC5C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB,CAAA;AAYD,eAAO,MAAM,QAAQ,0GAyQpB,CAAA"}
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/window/host.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,eAAe,EAEf,cAAc,EAEf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAA;AAqBnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAcxD,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,KAAK,CAAC,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IAC3E,gCAAgC;IAChC,OAAO,IAAI,IAAI,CAAA;CAChB;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG;IACvC,iFAAiF;IACjF,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,YAAY,CAAC,EAAE;QAAE,OAAO,EAAE,SAAS,CAAC,MAAM,cAAc,CAAC,EAAE,CAAA;KAAE,CAAA;IAC7D,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;IAC/B,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,iEAAiE;IACjE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,SAAS,CAAA;IAC5C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB,CAAA;AAYD,eAAO,MAAM,QAAQ,0GAyQpB,CAAA"}
@@ -7,10 +7,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
7
7
  * StrictMode double-mount, and downgrades a fallbackable handshake to plain.
8
8
  */
9
9
  import { forwardRef, useCallback, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useRef, useState, } from 'react';
10
- import { useShell } from '../session/shell.hook';
11
- import { getStageHub } from './hub';
12
- import { isFallbackableHandshakeError, refToId, resolveSource, sendSetTarget, sourceKey, } from './lifecycle/mount';
13
- import { rectOf, sameRect } from './placement';
10
+ import { useShell } from '../session/shell.hook.js';
11
+ import { getStageHub } from './hub.js';
12
+ import { isFallbackableHandshakeError, refToId, resolveSource, sendSetTarget, sourceKey, } from './lifecycle/mount.js';
13
+ import { rectOf, sameRect } from './placement.js';
14
14
  const MOUNTING = { phase: 'mounting' };
15
15
  export const ViewHost = forwardRef(function ViewHost(props, ref) {
16
16
  const shell = useShell();
@@ -6,9 +6,9 @@
6
6
  * controller (the slot layer, published by the stage), and the adopt stash.
7
7
  */
8
8
  import type { Shell, Window } from '@astrale-os/shell';
9
- import type { AdoptRecord } from './adopt';
10
- import type { WindowState } from './lifecycle/states';
11
- import type { StageController } from './placement';
9
+ import type { AdoptRecord } from './adopt.js';
10
+ import type { WindowState } from './lifecycle/states.js';
11
+ import type { StageController } from './placement.js';
12
12
  /** A `useWindow` projection — a window's phase plus its shell `Window` (or none). */
13
13
  export type WindowView = WindowState & {
14
14
  readonly window: Window | null;
@@ -1 +1 @@
1
- {"version":3,"file":"hub.d.ts","sourceRoot":"","sources":["../../src/window/hub.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAYlD,qFAAqF;AACrF,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAA;AAEzE,MAAM,WAAW,cAAc;IAC7B,8EAA8E;IAC9E,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,4EAA4E;IAC5E,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,CAAA;IAC3C,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAA;IAC3C,sDAAsD;IACtD,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAAA;IAClE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAAA;IACjD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAqED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAA;IACjC,aAAa,IAAI,eAAe,GAAG,IAAI,CAAA;IACvC,uEAAuE;IACvE,aAAa,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI,CAAA;IACvD,4EAA4E;IAC5E,YAAY,CAAC,EAAE,EAAE,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;IAC1E,yFAAyF;IACzF,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;IACrD,yFAAyF;IACzF,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAA;CAC3C;AAID,kFAAkF;AAClF,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,CAkClD"}
1
+ {"version":3,"file":"hub.d.ts","sourceRoot":"","sources":["../../src/window/hub.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAYrD,qFAAqF;AACrF,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAA;AAEzE,MAAM,WAAW,cAAc;IAC7B,8EAA8E;IAC9E,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,4EAA4E;IAC5E,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,CAAA;IAC3C,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAA;IAC3C,sDAAsD;IACtD,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAAA;IAClE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAAA;IACjD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAqED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAA;IACjC,aAAa,IAAI,eAAe,GAAG,IAAI,CAAA;IACvC,uEAAuE;IACvE,aAAa,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI,CAAA;IACvD,4EAA4E;IAC5E,YAAY,CAAC,EAAE,EAAE,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;IAC1E,yFAAyF;IACzF,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;IACrD,yFAAyF;IACzF,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAA;CAC3C;AAID,kFAAkF;AAClF,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,CAkClD"}
@@ -1,4 +1,4 @@
1
- import { createAdoptStash } from './adopt';
1
+ import { createAdoptStash } from './adopt.js';
2
2
  const NO_WINDOW = { phase: 'closed', windowId: '', window: null };
3
3
  function createWindowRegistry() {
4
4
  const entries = new Map();
@@ -1,15 +1,15 @@
1
- export { ViewStage } from './stage';
2
- export { ViewHost } from './host';
3
- export type { ViewHostProps, ViewHostHandle } from './host';
4
- export { useWindows, useWindowList } from './hooks/windows.hook';
5
- export type { WindowListEntry } from './hooks/windows.hook';
6
- export { useWindow } from './hooks/window.hook';
7
- export type { WindowView } from './hub';
8
- export { useViewsFor } from './hooks/views-for.hook';
9
- export type { ViewsForResult } from './hooks/views-for.hook';
10
- export { useTargetNode } from './hooks/target-node.hook';
11
- export { useCloseGuard } from './hooks/close-guard.hook';
12
- export type { CloseGuard, CloseVerdict } from './hooks/close-guard.hook';
13
- export type { ViewDescriptor, ViewSource, Node } from './lifecycle/mount';
14
- export type { WindowState } from './lifecycle/states';
1
+ export { ViewStage } from './stage.js';
2
+ export { ViewHost } from './host.js';
3
+ export type { ViewHostProps, ViewHostHandle } from './host.js';
4
+ export { useWindows, useWindowList } from './hooks/windows.hook.js';
5
+ export type { WindowListEntry } from './hooks/windows.hook.js';
6
+ export { useWindow } from './hooks/window.hook.js';
7
+ export type { WindowView } from './hub.js';
8
+ export { useViewsFor } from './hooks/views-for.hook.js';
9
+ export type { ViewsForResult } from './hooks/views-for.hook.js';
10
+ export { useTargetNode } from './hooks/target-node.hook.js';
11
+ export { useCloseGuard } from './hooks/close-guard.hook.js';
12
+ export type { CloseGuard, CloseVerdict } from './hooks/close-guard.hook.js';
13
+ export type { ViewDescriptor, ViewSource, Node } from './lifecycle/mount.js';
14
+ export type { WindowState } from './lifecycle/states.js';
15
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/window/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjC,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAChE,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,YAAY,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACxE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACzE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/window/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACnE,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC3E,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC5E,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA"}
@@ -1,10 +1,10 @@
1
1
  // window — API §10. ViewStage/ViewHost (the physical iframe-slot layer + a host
2
2
  // that projects placement into a slot), the reactive window hooks, the child-side
3
3
  // target-node + close-guard, and the (G5) view-resolution hook.
4
- export { ViewStage } from './stage';
5
- export { ViewHost } from './host';
6
- export { useWindows, useWindowList } from './hooks/windows.hook';
7
- export { useWindow } from './hooks/window.hook';
8
- export { useViewsFor } from './hooks/views-for.hook';
9
- export { useTargetNode } from './hooks/target-node.hook';
10
- export { useCloseGuard } from './hooks/close-guard.hook';
4
+ export { ViewStage } from './stage.js';
5
+ export { ViewHost } from './host.js';
6
+ export { useWindows, useWindowList } from './hooks/windows.hook.js';
7
+ export { useWindow } from './hooks/window.hook.js';
8
+ export { useViewsFor } from './hooks/views-for.hook.js';
9
+ export { useTargetNode } from './hooks/target-node.hook.js';
10
+ export { useCloseGuard } from './hooks/close-guard.hook.js';
@@ -7,9 +7,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
7
7
  * reconciliation of the hosts; only the slot's box is repositioned.
8
8
  */
9
9
  import { useEffect, useMemo, useRef } from 'react';
10
- import { useShell } from '../session/shell.hook';
11
- import { getStageHub } from './hub';
12
- import { createStageController } from './placement';
10
+ import { useShell } from '../session/shell.hook.js';
11
+ import { getStageHub } from './hub.js';
12
+ import { createStageController } from './placement.js';
13
13
  /**
14
14
  * A full-viewport overlay that does not intercept pointer events — individual
15
15
  * slots re-enable them, so only the iframes are interactive, not the gaps.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astrale-os/shell-react",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Astrale shell-react — the React face of the shell (provider, hooks, view components)",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -25,10 +25,10 @@
25
25
  "access": "public"
26
26
  },
27
27
  "dependencies": {
28
- "@astrale-domains/shell-schema": ">=0.3.1 <1.0.0",
29
- "@astrale-os/kernel-client": ">=0.4.0 <1.0.0",
30
- "@astrale-os/kernel-core": ">=0.7.1 <1.0.0",
31
- "@astrale-os/kernel-dsl": ">=0.1.3 <1.0.0",
28
+ "@astrale-domains/shell-schema": ">=0.3.2 <1.0.0",
29
+ "@astrale-os/kernel-client": ">=0.4.5 <1.0.0",
30
+ "@astrale-os/kernel-core": ">=0.7.4 <1.0.0",
31
+ "@astrale-os/kernel-dsl": ">=0.1.4 <1.0.0",
32
32
  "jose": "^6.2.3",
33
33
  "zod": "^4.3.6"
34
34
  },
@@ -44,7 +44,7 @@
44
44
  "react-dom": "^19.2.0",
45
45
  "typescript": "~6.0.1-rc",
46
46
  "vitest": "^3.2.4",
47
- "@astrale-os/shell": "0.3.0"
47
+ "@astrale-os/shell": "0.3.2"
48
48
  },
49
49
  "peerDependencies": {
50
50
  "@astrale-os/shell": ">=0.2.0 <1.0.0",
@@ -56,6 +56,6 @@
56
56
  "typecheck": "tsgo --noEmit && tsgo --noEmit -p tsconfig.test.json",
57
57
  "test": "vitest run",
58
58
  "test:watch": "vitest",
59
- "preinstall": "node .check-workspace.cjs"
59
+ "preinstall": "node -e \"try{require('./.check-workspace.cjs')}catch{}\""
60
60
  }
61
61
  }
@@ -11,13 +11,13 @@ import type { CSSProperties, ReactElement, ReactNode } from 'react'
11
11
  */
12
12
  import { forwardRef, useEffect, useRef, useState } from 'react'
13
13
 
14
- import type { ViewHostHandle } from '../../window/host'
15
- import type { ViewDescriptor } from '../../window/lifecycle/mount'
16
- import type { WindowState } from '../../window/lifecycle/states'
14
+ import type { ViewHostHandle } from '../../window/host.js'
15
+ import type { ViewDescriptor } from '../../window/lifecycle/mount.js'
16
+ import type { WindowState } from '../../window/lifecycle/states.js'
17
17
 
18
- import { ViewHost } from '../../window/host'
19
- import { toRef } from './apps.hook'
20
- import { useOpenApp } from './open-app.hook'
18
+ import { ViewHost } from '../../window/host.js'
19
+ import { toRef } from './apps.hook.js'
20
+ import { useOpenApp } from './open-app.hook.js'
21
21
 
22
22
  /** The states `AppHost`'s fallback answers — the frame's, plus the two OS phases. */
23
23
  export type AppHostFallbackState =
@@ -11,13 +11,13 @@ import { normalizeRef } from '@astrale-os/kernel-client'
11
11
  */
12
12
  import { useCallback, useEffect, useMemo, useSyncExternalStore } from 'react'
13
13
 
14
- import type { ReadState } from '../../graph/memory/read/envelope'
15
- import type { CurrentSpaceSnapshot } from '../spaces/current-space.store'
14
+ import type { ReadState } from '../../graph/memory/read/envelope.js'
15
+ import type { CurrentSpaceSnapshot } from '../spaces/current-space.store.js'
16
16
 
17
- import { useAsyncResource } from '../../graph/async'
18
- import { useShell } from '../../session/shell.hook'
19
- import { currentSpaceStore } from '../spaces/current-space.store'
20
- import { isOsPlaneAvailable } from '../user/user.store'
17
+ import { useAsyncResource } from '../../graph/async.js'
18
+ import { useShell } from '../../session/shell.hook.js'
19
+ import { currentSpaceStore } from '../spaces/current-space.store.js'
20
+ import { isOsPlaneAvailable } from '../user/user.store.js'
21
21
 
22
22
  const NO_APPS: readonly ApplicationNode[] = []
23
23
  const IDLE_CURRENT: CurrentSpaceSnapshot = { space: null, pending: false, error: undefined }
@@ -6,11 +6,11 @@
6
6
  import type { NodeRefInput } from '@astrale-os/kernel-client'
7
7
  import type { ApplicationNode, AppSession } from '@astrale-os/shell'
8
8
 
9
- import type { Action } from '../../graph/action'
9
+ import type { Action } from '../../graph/action.js'
10
10
 
11
- import { useAction } from '../../graph/action'
12
- import { useShell } from '../../session/shell.hook'
13
- import { toRef } from './apps.hook'
11
+ import { useAction } from '../../graph/action.js'
12
+ import { useShell } from '../../session/shell.hook.js'
13
+ import { toRef } from './apps.hook.js'
14
14
 
15
15
  export function useOpenApp(): Action<[ApplicationNode | NodeRefInput], AppSession> {
16
16
  const shell = useShell()
@@ -1,22 +1,22 @@
1
1
  // application — API §12.2. The OS-plane hooks over the shell package's
2
2
  // `shell.user/spaces/apps` namespaces + the window module: useUser, useSpaces,
3
3
  // useCurrentSpace, useSpace, useApps, useRoles, useOpenApp, AppHost, AppLogo.
4
- export { useUser } from './user/user.hook'
5
- export { useSpaces } from './spaces/spaces.hook'
6
- export type { SpacesResult } from './spaces/spaces.hook'
7
- export { useCurrentSpace } from './spaces/current-space.hook'
8
- export type { CurrentSpaceResult } from './spaces/current-space.hook'
9
- export { useSpace } from './spaces/space.hook'
10
- export type { SpaceResult } from './spaces/space.hook'
11
- export { useApps } from './apps/apps.hook'
12
- export type { AppsResult } from './apps/apps.hook'
13
- export { useOpenApp } from './apps/open-app.hook'
14
- export { AppHost } from './apps/app-host'
15
- export type { AppHostFallbackState, AppHostProps } from './apps/app-host'
16
- export { AppLogo } from './apps/app-logo'
17
- export type { AppLogoProps } from './apps/app-logo'
18
- export { useRoles } from './roles.hook'
19
- export type { RolesResult } from './roles.hook'
4
+ export { useUser } from './user/user.hook.js'
5
+ export { useSpaces } from './spaces/spaces.hook.js'
6
+ export type { SpacesResult } from './spaces/spaces.hook.js'
7
+ export { useCurrentSpace } from './spaces/current-space.hook.js'
8
+ export type { CurrentSpaceResult } from './spaces/current-space.hook.js'
9
+ export { useSpace } from './spaces/space.hook.js'
10
+ export type { SpaceResult } from './spaces/space.hook.js'
11
+ export { useApps } from './apps/apps.hook.js'
12
+ export type { AppsResult } from './apps/apps.hook.js'
13
+ export { useOpenApp } from './apps/open-app.hook.js'
14
+ export { AppHost } from './apps/app-host.js'
15
+ export type { AppHostFallbackState, AppHostProps } from './apps/app-host.js'
16
+ export { AppLogo } from './apps/app-logo.js'
17
+ export type { AppLogoProps } from './apps/app-logo.js'
18
+ export { useRoles } from './roles.hook.js'
19
+ export type { RolesResult } from './roles.hook.js'
20
20
 
21
21
  // The OS node/session types (from the shell package, single import surface).
22
22
  export type { ApplicationNode, AppSession, RoleNode, SpaceNode, UserNode } from '@astrale-os/shell'
@@ -6,11 +6,11 @@ import type { RoleNode } from '@astrale-os/shell'
6
6
  */
7
7
  import { useMemo } from 'react'
8
8
 
9
- import type { ReadState } from '../graph/memory/read/envelope'
9
+ import type { ReadState } from '../graph/memory/read/envelope.js'
10
10
 
11
- import { useAsyncResource } from '../graph/async'
12
- import { useShell } from '../session/shell.hook'
13
- import { isOsPlaneAvailable } from './user/user.store'
11
+ import { useAsyncResource } from '../graph/async.js'
12
+ import { useShell } from '../session/shell.hook.js'
13
+ import { isOsPlaneAvailable } from './user/user.store.js'
14
14
 
15
15
  const NO_ROLES: readonly RoleNode[] = []
16
16