sh3-core 0.15.4 → 0.16.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 (224) hide show
  1. package/dist/BrandSlot.svelte +9 -9
  2. package/dist/{Shell.svelte → Sh3.svelte} +65 -65
  3. package/dist/Sh3.svelte.d.ts +5 -0
  4. package/dist/__test__/render.js +1 -1
  5. package/dist/actions/ActionPanel.svelte +3 -3
  6. package/dist/actions/CommandPalette.svelte +2 -2
  7. package/dist/actions/MenuBar.svelte +1 -1
  8. package/dist/actions/MenuBar.test.js +1 -1
  9. package/dist/actions/MenuButton.svelte +3 -3
  10. package/dist/actions/dispatcher.svelte.js +1 -1
  11. package/dist/actions/listActive.js +1 -1
  12. package/dist/actions/listeners.js +6 -6
  13. package/dist/actions/selection.svelte.d.ts +2 -2
  14. package/dist/actions/selection.svelte.js +4 -4
  15. package/dist/actions/selection.test.js +1 -1
  16. package/dist/actions/{shellActions.test.js → sh3Actions.test.js} +14 -14
  17. package/dist/actions/state.svelte.d.ts +3 -3
  18. package/dist/actions/state.svelte.js +3 -3
  19. package/dist/actions/syncMountedViewIds.test.js +1 -1
  20. package/dist/actions/types.d.ts +1 -1
  21. package/dist/api.d.ts +5 -5
  22. package/dist/api.js +7 -7
  23. package/dist/app/admin/ApiKeysView.svelte +9 -9
  24. package/dist/app/admin/AuthSettingsView.svelte +6 -6
  25. package/dist/app/admin/SystemView.svelte +12 -12
  26. package/dist/app/admin/UsersView.svelte +8 -8
  27. package/dist/app/store/AppUpdateAvailableModal.svelte +14 -14
  28. package/dist/app/store/PermissionConfirmModal.svelte +20 -20
  29. package/dist/app/store/StoreView.svelte +51 -51
  30. package/dist/app/store/UninstallAppDialog.svelte +14 -14
  31. package/dist/app/store/storeShard.svelte.js +1 -1
  32. package/dist/app/store/verbs.js +1 -1
  33. package/dist/apps/lifecycle.d.ts +1 -1
  34. package/dist/apps/lifecycle.js +4 -4
  35. package/dist/apps/lifecycle.test.js +5 -5
  36. package/dist/apps/registry.svelte.d.ts +2 -2
  37. package/dist/apps/registry.svelte.js +3 -3
  38. package/dist/apps/types.d.ts +1 -1
  39. package/dist/auth/GuestBanner.svelte +19 -19
  40. package/dist/auth/SignInWall.svelte +17 -17
  41. package/dist/auth/auth.svelte.d.ts +1 -1
  42. package/dist/auth/auth.svelte.js +1 -1
  43. package/dist/boot/satellitePayload.js +1 -1
  44. package/dist/color/api.d.ts +1 -1
  45. package/dist/color/api.js +1 -1
  46. package/dist/color/{shell-api.js → sh3-api.js} +3 -3
  47. package/dist/conflicts/ConflictModal.svelte +1 -1
  48. package/dist/conflicts/ConflictModal.svelte.d.ts +1 -1
  49. package/dist/conflicts/DetailView.svelte +19 -19
  50. package/dist/conflicts/PromptView.svelte +9 -9
  51. package/dist/conflicts/adapter-documents.js +1 -1
  52. package/dist/conflicts/api.d.ts +1 -1
  53. package/dist/conflicts/api.js +2 -2
  54. package/dist/conflicts/renderer-registry.js +1 -1
  55. package/dist/conflicts/renderers/MetaOnlyRenderer.svelte +8 -8
  56. package/dist/conflicts/renderers/TextDiffRenderer.svelte +15 -15
  57. package/dist/conflicts/renderers/index.js +1 -1
  58. package/dist/conflicts/resolve-primitive.js +1 -1
  59. package/dist/conflicts/{shell-api.js → sh3-api.js} +2 -2
  60. package/dist/contributions/registry.js +1 -1
  61. package/dist/createShell.d.ts +2 -2
  62. package/dist/createShell.js +6 -6
  63. package/dist/host-entry.d.ts +1 -1
  64. package/dist/host-entry.js +2 -2
  65. package/dist/host.js +2 -2
  66. package/dist/index.d.ts +1 -1
  67. package/dist/index.js +2 -2
  68. package/dist/keys/ConsentDialog.svelte +15 -15
  69. package/dist/keys/consent.svelte.d.ts +2 -2
  70. package/dist/keys/consent.svelte.js +3 -3
  71. package/dist/keys/revocation-bus.svelte.d.ts +3 -3
  72. package/dist/keys/revocation-bus.svelte.js +3 -3
  73. package/dist/layout/DragPreview.svelte +9 -9
  74. package/dist/layout/LayoutRenderer.browser.test.js +2 -2
  75. package/dist/layout/LayoutRenderer.svelte +4 -4
  76. package/dist/layout/SlotContainer.svelte +12 -12
  77. package/dist/layout/SlotDropZone.svelte +2 -2
  78. package/dist/layout/inspection.d.ts +1 -1
  79. package/dist/layout/inspection.js +1 -1
  80. package/dist/layout/store.svelte.js +3 -3
  81. package/dist/layout/types.d.ts +1 -1
  82. package/dist/layouts-shard/LayoutSaveModal.svelte +20 -20
  83. package/dist/layouts-shard/LayoutsSection.svelte +11 -11
  84. package/dist/layouts-shard/filter.test.js +3 -3
  85. package/dist/layouts-shard/layoutsApi.test.js +3 -3
  86. package/dist/layouts-shard/layoutsShard.svelte.test.js +7 -7
  87. package/dist/migrations/mode-id-rename.js +2 -2
  88. package/dist/overlays/ConfirmDialog.svelte +8 -8
  89. package/dist/overlays/EntityAppearanceModal.svelte +19 -19
  90. package/dist/overlays/FloatFrame.svelte +20 -20
  91. package/dist/overlays/FloatLayer.svelte +1 -1
  92. package/dist/overlays/ModalFrame.svelte +5 -5
  93. package/dist/overlays/PopupFrame.svelte +4 -4
  94. package/dist/overlays/ToastItem.svelte +12 -12
  95. package/dist/overlays/float.d.ts +2 -2
  96. package/dist/overlays/float.js +3 -3
  97. package/dist/overlays/float.test.js +6 -6
  98. package/dist/overlays/modal.js +1 -1
  99. package/dist/overlays/modal.test.js +2 -2
  100. package/dist/overlays/parentHost.js +2 -2
  101. package/dist/overlays/parentHost.test.js +5 -5
  102. package/dist/overlays/popup.js +2 -2
  103. package/dist/overlays/popup.test.js +2 -2
  104. package/dist/overlays/roots.js +4 -4
  105. package/dist/overlays/toast.js +1 -1
  106. package/dist/overlays/types.js +3 -3
  107. package/dist/primitives/Button.svelte +16 -16
  108. package/dist/primitives/Collapsible.svelte +11 -11
  109. package/dist/primitives/ResizableSplitter.svelte +10 -10
  110. package/dist/primitives/TabbedPanel.svelte +19 -19
  111. package/dist/primitives/base.css +57 -57
  112. package/dist/primitives/widgets/ColorSwatch.svelte +15 -15
  113. package/dist/primitives/widgets/ColorSwatch.svelte.test.js +4 -4
  114. package/dist/primitives/widgets/Field.svelte +20 -20
  115. package/dist/primitives/widgets/FilePicker.svelte +13 -13
  116. package/dist/primitives/widgets/IconPicker.svelte +14 -14
  117. package/dist/primitives/widgets/IconToggleGroup.svelte +14 -14
  118. package/dist/primitives/widgets/NumberInput.svelte +17 -17
  119. package/dist/primitives/widgets/PickerList.svelte +17 -17
  120. package/dist/primitives/widgets/RangeSlider.svelte +16 -16
  121. package/dist/primitives/widgets/Segmented.svelte +16 -16
  122. package/dist/primitives/widgets/Select.svelte +14 -14
  123. package/dist/primitives/widgets/Select.svelte.test.js +2 -2
  124. package/dist/primitives/widgets/Slider.svelte +20 -20
  125. package/dist/primitives/widgets/SliderGroup.svelte +2 -2
  126. package/dist/primitives/widgets/Textarea.svelte +13 -13
  127. package/dist/primitives/widgets/_select-listbox.svelte +15 -15
  128. package/dist/projects/session-state.svelte.js +1 -1
  129. package/dist/projects-shard/DeleteProjectDialog.svelte +12 -12
  130. package/dist/projects-shard/ProjectManage.svelte +25 -25
  131. package/dist/projects-shard/ProjectsSection.svelte +12 -12
  132. package/dist/registry/installer.d.ts +2 -2
  133. package/dist/registry/installer.js +2 -2
  134. package/dist/registry/loader.js +1 -1
  135. package/dist/registry/permission-descriptions.js +2 -2
  136. package/dist/registry/permission-descriptions.test.js +1 -1
  137. package/dist/runtime/runVerb-shell.test.js +2 -2
  138. package/dist/runtime/runVerb.js +4 -4
  139. package/dist/runtime/runVerb.test.js +4 -4
  140. package/dist/satellite/SatelliteShell.svelte +2 -2
  141. package/dist/{shell → sh3}/views/KeysAndPeers.svelte +7 -7
  142. package/dist/sh3Api/headless.d.ts +4 -0
  143. package/dist/{shell-shard/shellApi.js → sh3Api/headless.js} +5 -5
  144. package/dist/{shell-shard/shellApi.svelte.test.js → sh3Api/headless.svelte.test.js} +11 -11
  145. package/dist/{shellApi → sh3Api}/window.js +2 -2
  146. package/dist/{shellApi → sh3Api}/window.test.js +1 -1
  147. package/dist/{shellRuntime.svelte.d.ts → sh3Runtime.svelte.d.ts} +11 -11
  148. package/dist/{shellRuntime.svelte.js → sh3Runtime.svelte.js} +10 -10
  149. package/dist/{shellRuntime.svelte.test.js → sh3Runtime.svelte.test.js} +10 -10
  150. package/dist/sh3core-shard/AppInfoView.svelte +19 -19
  151. package/dist/sh3core-shard/{ShellHome.svelte → Sh3Home.svelte} +82 -82
  152. package/dist/sh3core-shard/Sh3Home.svelte.d.ts +3 -0
  153. package/dist/sh3core-shard/{ShellTitle.svelte → Sh3Title.svelte} +11 -11
  154. package/dist/sh3core-shard/Sh3Title.svelte.d.ts +3 -0
  155. package/dist/sh3core-shard/appActions.js +3 -3
  156. package/dist/sh3core-shard/sh3coreShard.svelte.js +7 -7
  157. package/dist/shards/activate.svelte.d.ts +1 -1
  158. package/dist/shards/activate.svelte.js +6 -6
  159. package/dist/shards/types.d.ts +5 -5
  160. package/dist/shards/types.js +2 -2
  161. package/dist/shell-shard/CommandLine.svelte +7 -7
  162. package/dist/shell-shard/InputLine.svelte +3 -3
  163. package/dist/shell-shard/ScrollbackView.svelte +2 -2
  164. package/dist/shell-shard/Terminal.svelte +5 -5
  165. package/dist/shell-shard/Terminal.svelte.d.ts +2 -2
  166. package/dist/shell-shard/dispatch-custom.test.js +2 -2
  167. package/dist/shell-shard/dispatch-gating.test.js +2 -2
  168. package/dist/shell-shard/dispatch-invoke.test.js +2 -2
  169. package/dist/shell-shard/dispatch-to-terminal.js +1 -1
  170. package/dist/shell-shard/dispatch.d.ts +2 -2
  171. package/dist/shell-shard/dispatch.js +2 -2
  172. package/dist/shell-shard/entries/PromptEntry.svelte +4 -4
  173. package/dist/shell-shard/entries/StatusEntry.svelte +4 -4
  174. package/dist/shell-shard/entries/TextEntry.svelte +3 -3
  175. package/dist/shell-shard/locateSlot.test.js +9 -9
  176. package/dist/shell-shard/manifest.js +2 -2
  177. package/dist/shell-shard/registry.d.ts +2 -2
  178. package/dist/shell-shard/rich/AppCard.svelte +1 -1
  179. package/dist/shell-shard/rich/AppsTable.svelte +1 -1
  180. package/dist/shell-shard/rich/HelpTable.svelte +1 -1
  181. package/dist/shell-shard/rich/HistoryList.svelte +1 -1
  182. package/dist/shell-shard/rich/ViewsTable.svelte +1 -1
  183. package/dist/shell-shard/rich/ZoneTree.svelte +2 -2
  184. package/dist/shell-shard/shellShard.svelte.d.ts +1 -1
  185. package/dist/shell-shard/shellShard.svelte.js +8 -8
  186. package/dist/shell-shard/terminal-dispatch.test.js +2 -2
  187. package/dist/shell-shard/toolbar/Toolbar.svelte +4 -4
  188. package/dist/shell-shard/toolbar/Toolbar.svelte.d.ts +2 -2
  189. package/dist/shell-shard/toolbar/slots/BusySlot.svelte +2 -2
  190. package/dist/shell-shard/toolbar/slots/FocusLockSlot.svelte +2 -2
  191. package/dist/shell-shard/toolbar/slots/ModeSlot.svelte +1 -1
  192. package/dist/shell-shard/toolbar/slots/TargetShardSlot.svelte +1 -1
  193. package/dist/shell-shard/toolbar/slots.d.ts +3 -3
  194. package/dist/shell-shard/verbs/apps.js +3 -3
  195. package/dist/shell-shard/verbs/help.js +1 -1
  196. package/dist/shell-shard/verbs/help.svelte.test.js +1 -1
  197. package/dist/shell-shard/verbs/history.js +1 -1
  198. package/dist/shell-shard/verbs/mode.js +2 -2
  199. package/dist/shell-shard/verbs/mode.test.js +2 -2
  200. package/dist/shell-shard/verbs/shards.js +1 -1
  201. package/dist/shell-shard/verbs/views.js +8 -8
  202. package/dist/shell-shard/verbs/zones.js +2 -2
  203. package/dist/state/zones.svelte.d.ts +2 -2
  204. package/dist/state/zones.svelte.js +4 -4
  205. package/dist/theme.d.ts +3 -3
  206. package/dist/theme.js +5 -5
  207. package/dist/tokens.css +68 -68
  208. package/dist/verbs/types.d.ts +5 -5
  209. package/dist/verbs/types.js +1 -1
  210. package/dist/version.d.ts +1 -1
  211. package/dist/version.js +1 -1
  212. package/package.json +1 -1
  213. package/dist/Shell.svelte.d.ts +0 -5
  214. package/dist/sh3core-shard/ShellHome.svelte.d.ts +0 -3
  215. package/dist/sh3core-shard/ShellTitle.svelte.d.ts +0 -3
  216. package/dist/shell-shard/shellApi.d.ts +0 -4
  217. /package/dist/actions/{shellActions.test.d.ts → sh3Actions.test.d.ts} +0 -0
  218. /package/dist/color/{shell-api.d.ts → sh3-api.d.ts} +0 -0
  219. /package/dist/conflicts/{shell-api.d.ts → sh3-api.d.ts} +0 -0
  220. /package/dist/{shell → sh3}/views/KeysAndPeers.svelte.d.ts +0 -0
  221. /package/dist/{shell-shard/shellApi.svelte.test.d.ts → sh3Api/headless.svelte.test.d.ts} +0 -0
  222. /package/dist/{shellApi → sh3Api}/window.d.ts +0 -0
  223. /package/dist/{shellApi → sh3Api}/window.test.d.ts +0 -0
  224. /package/dist/{shellRuntime.svelte.test.d.ts → sh3Runtime.svelte.test.d.ts} +0 -0
@@ -121,34 +121,34 @@
121
121
  .sh3-conflict-text-dual { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; min-height: 0; flex: 1; }
122
122
  .sh3-conflict-text-pane {
123
123
  display: flex; flex-direction: column; min-height: 0;
124
- border: 1px solid var(--shell-border, #444);
125
- border-radius: var(--shell-radius-sm);
126
- background: var(--shell-input-bg, #2a2a2a);
124
+ border: 1px solid var(--sh3-border, #444);
125
+ border-radius: var(--sh3-radius-sm);
126
+ background: var(--sh3-input-bg, #2a2a2a);
127
127
  cursor: pointer;
128
128
  }
129
129
  .sh3-conflict-text-pane.selected {
130
- border-color: var(--shell-accent, #007acc);
131
- box-shadow: 0 0 0 2px var(--shell-focus-ring, rgba(0,122,204,0.3));
130
+ border-color: var(--sh3-accent, #007acc);
131
+ box-shadow: 0 0 0 2px var(--sh3-focus-ring, rgba(0,122,204,0.3));
132
132
  }
133
- .sh3-conflict-text-head { padding: 6px 10px; font-size: 0.75rem; color: var(--shell-fg-muted, #888); border-bottom: 1px solid var(--shell-border, #444); }
133
+ .sh3-conflict-text-head { padding: 6px 10px; font-size: 0.75rem; color: var(--sh3-fg-muted, #888); border-bottom: 1px solid var(--sh3-border, #444); }
134
134
  .sh3-conflict-text-body {
135
135
  margin: 0; padding: 10px; flex: 1; overflow: auto;
136
- font-family: var(--shell-font-mono, monospace); font-size: 0.8125rem;
136
+ font-family: var(--sh3-font-mono, monospace); font-size: 0.8125rem;
137
137
  }
138
138
  .sh3-conflict-text-diff { margin-top: 8px; }
139
- .sh3-conflict-text-diff pre { background: var(--shell-input-bg, #2a2a2a); padding: 8px; overflow: auto; max-height: 240px; }
140
- :global(.diff-left) { color: var(--shell-error, #e35); }
141
- :global(.diff-right) { color: var(--shell-success, #3a3); }
139
+ .sh3-conflict-text-diff pre { background: var(--sh3-input-bg, #2a2a2a); padding: 8px; overflow: auto; max-height: 240px; }
140
+ :global(.diff-left) { color: var(--sh3-error, #e35); }
141
+ :global(.diff-right) { color: var(--sh3-success, #3a3); }
142
142
  :global(.diff-same) { opacity: 0.7; }
143
143
  .sh3-conflict-text-tabs { display: flex; flex-direction: column; gap: 8px; min-height: 0; flex: 1; }
144
144
  .sh3-conflict-text-picker select {
145
- background: var(--shell-input-bg, #2a2a2a); color: var(--shell-fg, #e0e0e0);
146
- border: 1px solid var(--shell-border, #444); padding: 2px 6px;
145
+ background: var(--sh3-input-bg, #2a2a2a); color: var(--sh3-fg, #e0e0e0);
146
+ border: 1px solid var(--sh3-border, #444); padding: 2px 6px;
147
147
  }
148
148
  .sh3-conflict-text-tablist { display: flex; gap: 4px; flex-wrap: wrap; }
149
149
  .sh3-conflict-text-tab {
150
- padding: 4px 10px; background: var(--shell-input-bg, #2a2a2a); border: 1px solid var(--shell-border, #444);
151
- border-radius: var(--shell-radius-sm); color: var(--shell-fg, #e0e0e0); cursor: pointer; font-size: 0.8125rem;
150
+ padding: 4px 10px; background: var(--sh3-input-bg, #2a2a2a); border: 1px solid var(--sh3-border, #444);
151
+ border-radius: var(--sh3-radius-sm); color: var(--sh3-fg, #e0e0e0); cursor: pointer; font-size: 0.8125rem;
152
152
  }
153
- .sh3-conflict-text-tab.selected { border-color: var(--shell-accent, #007acc); }
153
+ .sh3-conflict-text-tab.selected { border-color: var(--sh3-accent, #007acc); }
154
154
  </style>
@@ -10,7 +10,7 @@
10
10
  * selectedOrigin state and updates via the onSelect callback.
11
11
  *
12
12
  * ensureBuiltInRenderersRegistered() is idempotent; it's called from
13
- * shell-api.ts on the first shell.conflicts use.
13
+ * sh3-api.ts on the first sh3.conflicts use.
14
14
  */
15
15
  import { mount, unmount } from 'svelte';
16
16
  import { inferKind, registerBuiltInRenderer } from '../renderer-registry';
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  * Generic conflict-resolve primitive — the modal machinery without the
3
3
  * doc-zone adapter. Lives in its own file so `adapter-documents.ts` can
4
- * import it statically without creating a cycle with the shell runtime.
4
+ * import it statically without creating a cycle with the sh3 runtime.
5
5
  */
6
6
  import { modalManager } from '../overlays/modal';
7
7
  import { list as listContributions } from '../contributions/registry';
@@ -1,9 +1,9 @@
1
1
  /*
2
- * shell.conflicts assembled API.
2
+ * sh3.conflicts assembled API.
3
3
  *
4
4
  * The generic primitive lives in resolve-primitive.ts and the doc-zone
5
5
  * adapter in adapter-documents.ts; this file just binds them together
6
- * as the object exposed on the shell singleton.
6
+ * as the object exposed on the sh3 singleton.
7
7
  */
8
8
  import { resolvePrimitive } from './resolve-primitive';
9
9
  import { resolveDocuments } from './adapter-documents';
@@ -6,7 +6,7 @@
6
6
  * Emitters are a Set of zero-arg callbacks; subscribers re-read `list`
7
7
  * themselves when notified.
8
8
  *
9
- * No tenant partitioning: the shell is single-tenant per session; a
9
+ * No tenant partitioning: the sh3 is single-tenant per session; a
10
10
  * future multi-tenant client would add a tenant dimension to the
11
11
  * outer map (see direction spec §5.2).
12
12
  */
@@ -1,5 +1,5 @@
1
1
  import type { Shard, App } from './index';
2
- export interface ShellConfig {
2
+ export interface Sh3Config {
3
3
  /** Framework shard IDs to exclude (all included by default) */
4
4
  excludeShards?: string[];
5
5
  /** Additional shards to register */
@@ -23,4 +23,4 @@ export interface ShellConfig {
23
23
  /** Server base URL ('' for same-origin) */
24
24
  serverUrl?: string;
25
25
  }
26
- export declare function createShell(config?: ShellConfig): Promise<void>;
26
+ export declare function createShell(config?: Sh3Config): Promise<void>;
@@ -1,13 +1,13 @@
1
1
  /*
2
- * createShell — public factory for booting an SH3 shell.
2
+ * createShell — public factory for booting an SH3 sh3.
3
3
  *
4
4
  * Consumers call this from their own main.ts instead of manually
5
- * importing registerShard / registerApp / bootstrap / Shell. The
5
+ * importing registerShard / registerApp / bootstrap / Sh3. The
6
6
  * factory handles platform detection, boot config, auth gating,
7
7
  * registration, bootstrap, and mounting in the correct order.
8
8
  */
9
9
  import { mount, unmount } from 'svelte';
10
- import { Shell } from './index';
10
+ import { Sh3 } from './index';
11
11
  import { registerShard, registerApp, bootstrap, bootstrapSatellite, __setBackend, setLocalOwner, } from './host';
12
12
  import { resolvePlatform } from './platform/index';
13
13
  import { hydrateTokenOverrides } from './theme';
@@ -35,7 +35,7 @@ export async function createShell(config) {
35
35
  }
36
36
  __setEnvServerUrl(sUrl);
37
37
  hydrateTokenOverrides();
38
- // 2. Resolve mount target early (needed for both sign-in wall and shell)
38
+ // 2. Resolve mount target early (needed for both sign-in wall and sh3)
39
39
  const target = typeof (config === null || config === void 0 ? void 0 : config.target) === 'string'
40
40
  ? document.querySelector(config.target)
41
41
  : (_b = config === null || config === void 0 ? void 0 : config.target) !== null && _b !== void 0 ? _b : document.getElementById('app');
@@ -130,8 +130,8 @@ export async function createShell(config) {
130
130
  await bootstrap(bootstrapConfig);
131
131
  // 8. Attach document-level keyboard / focus listeners
132
132
  attachGlobalListeners();
133
- // 9. Mount the shell
134
- mount(Shell, { target });
133
+ // 9. Mount the sh3
134
+ mount(Sh3, { target });
135
135
  }
136
136
  /**
137
137
  * Fetch and register every package the server reported via /api/packages.
@@ -10,4 +10,4 @@ export type { InstalledPackage, InstallResult, PackageMeta } from './registry/ty
10
10
  export { initFromBoot, login, logout, register, setLocalOwner as setLocalOwnerAuth } from './auth/index';
11
11
  export type { AuthUser, AuthSession, BootConfig, GlobalSettings } from './auth/types';
12
12
  export { createShell } from './createShell';
13
- export type { ShellConfig } from './createShell';
13
+ export type { Sh3Config } from './createShell';
@@ -2,7 +2,7 @@
2
2
  * Host-process entry for the `sh3-core` package.
3
3
  *
4
4
  * This file is what `import ... from 'sh3-core/host'` resolves to. Only code that
5
- * boots an SH3 shell (a main.ts that mounts Shell and registers shards/apps)
5
+ * boots an SH3 sh3 (a main.ts that mounts Sh3 and registers shards/apps)
6
6
  * should touch this path. Shards and apps must not import from here.
7
7
  */
8
8
  export { registerShard, registerApp, bootstrap, __setBackend, setLocalOwner } from './host';
@@ -13,5 +13,5 @@ export { __setEnvServerUrl } from './env/index';
13
13
  export { installPackage, uninstallPackage, listInstalledPackages, loadInstalledPackages, } from './registry/index';
14
14
  // Auth (host-only — session lifecycle, boot initialization).
15
15
  export { initFromBoot, login, logout, register, setLocalOwner as setLocalOwnerAuth } from './auth/index';
16
- // Shell boot factory.
16
+ // Sh3 boot factory.
17
17
  export { createShell } from './createShell';
package/dist/host.js CHANGED
@@ -9,7 +9,7 @@
9
9
  * framework-owned shards and apps (filtering any the host excludes via
10
10
  * BootstrapConfig), walks the registered-shards map and activates every
11
11
  * self-starting shard, then reads the last-app user-zone entry and
12
- * either launches that app or leaves the shell on home.
12
+ * either launches that app or leaves the sh3 on home.
13
13
  *
14
14
  * This file is intentionally NOT re-exported through `api.ts`. The
15
15
  * import-hygiene rule is: shards and apps import from `api.ts`, the host
@@ -95,7 +95,7 @@ export async function bootstrap(config) {
95
95
  }
96
96
  catch (_a) {
97
97
  // Already logged + recorded in erroredShards by activateShard.
98
- // One bad self-starting shard must not prevent the shell from booting.
98
+ // One bad self-starting shard must not prevent the sh3 from booting.
99
99
  }
100
100
  }
101
101
  }
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export * from './api';
2
- export { default as Shell } from './Shell.svelte';
2
+ export { default as Sh3 } from './Sh3.svelte';
3
3
  export type { ArtifactManifest } from './artifact';
4
4
  export * from './shell-shard/protocol';
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * Main public entry for the `sh3-core` package.
3
3
  *
4
4
  * This file is what `import ... from 'sh3-core'` resolves to. It re-exports the
5
- * phase 8 public surface (api.ts) plus the Shell host component. Shard and
5
+ * phase 8 public surface (api.ts) plus the Sh3 host component. Shard and
6
6
  * app authors import from here.
7
7
  *
8
8
  * Host-process functions (registerShard, registerApp, bootstrap) are
@@ -10,5 +10,5 @@
10
10
  * and apps must not register each other. See host-entry.ts.
11
11
  */
12
12
  export * from './api';
13
- export { default as Shell } from './Shell.svelte';
13
+ export { default as Sh3 } from './Sh3.svelte';
14
14
  export * from './shell-shard/protocol';
@@ -1,8 +1,8 @@
1
1
  <!--
2
- Shell-owned consent dialog. Listens for consent requests and routes the
2
+ Sh3-owned consent dialog. Listens for consent requests and routes the
3
3
  user's Approve/Deny back into the runtime via resolveConsent().
4
4
 
5
- Mounted once by the shell at boot; never by shards.
5
+ Mounted once by the sh3 at boot; never by shards.
6
6
 
7
7
  Security: all shard-provided strings (shardId, label, scope, peerId)
8
8
  are rendered as plain text via Svelte's default interpolation — no @html.
@@ -76,9 +76,9 @@
76
76
  }
77
77
 
78
78
  .sh3-consent-card {
79
- background: var(--shell-bg-elevated, #222);
80
- color: var(--shell-fg, #eee);
81
- border: 1px solid var(--shell-border, #444);
79
+ background: var(--sh3-bg-elevated, #222);
80
+ color: var(--sh3-fg, #eee);
81
+ border: 1px solid var(--sh3-border, #444);
82
82
  padding: 1.5rem;
83
83
  border-radius: 8px;
84
84
  min-width: 360px;
@@ -90,11 +90,11 @@
90
90
  margin: 0 0 1rem;
91
91
  font-size: 1rem;
92
92
  font-weight: 600;
93
- color: var(--shell-fg, #eee);
93
+ color: var(--sh3-fg, #eee);
94
94
  }
95
95
 
96
96
  .sh3-consent-title span {
97
- color: var(--shell-accent, #7eb8f7);
97
+ color: var(--sh3-accent, #7eb8f7);
98
98
  }
99
99
 
100
100
  .sh3-consent-fields {
@@ -108,7 +108,7 @@
108
108
 
109
109
  .sh3-consent-fields dt {
110
110
  font-weight: 600;
111
- color: var(--shell-fg-muted, #aaa);
111
+ color: var(--sh3-fg-muted, #aaa);
112
112
  font-size: 0.8rem;
113
113
  text-transform: uppercase;
114
114
  letter-spacing: 0.05em;
@@ -134,7 +134,7 @@
134
134
  border: 1px solid rgba(255, 255, 255, 0.12);
135
135
  border-radius: 3px;
136
136
  font-size: 0.82em;
137
- font-family: var(--shell-font-mono, monospace);
137
+ font-family: var(--sh3-font-mono, monospace);
138
138
  }
139
139
 
140
140
  .sh3-consent-actions {
@@ -156,19 +156,19 @@
156
156
 
157
157
  .sh3-consent-deny {
158
158
  background: transparent;
159
- color: var(--shell-fg-muted, #aaa);
160
- border-color: var(--shell-border, #444);
159
+ color: var(--sh3-fg-muted, #aaa);
160
+ border-color: var(--sh3-border, #444);
161
161
  }
162
162
 
163
163
  .sh3-consent-deny:hover {
164
- color: var(--shell-fg, #eee);
165
- border-color: var(--shell-fg-muted, #aaa);
164
+ color: var(--sh3-fg, #eee);
165
+ border-color: var(--sh3-fg-muted, #aaa);
166
166
  }
167
167
 
168
168
  .sh3-consent-approve {
169
- background: var(--shell-accent, #7eb8f7);
169
+ background: var(--sh3-accent, #7eb8f7);
170
170
  color: #000;
171
- border-color: var(--shell-accent, #7eb8f7);
171
+ border-color: var(--sh3-accent, #7eb8f7);
172
172
  }
173
173
 
174
174
  .sh3-consent-approve:hover {
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Shell-owned consent runtime — only place that can approve or deny a mint.
2
+ * Sh3-owned consent runtime — only place that can approve or deny a mint.
3
3
  *
4
- * The client shard calls requestConsent(); the shell shows ConsentDialog.svelte
4
+ * The client shard calls requestConsent(); the sh3 shows ConsentDialog.svelte
5
5
  * and calls resolveConsent(...) on user action.
6
6
  */
7
7
  import type { MintOpts } from './types';
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Shell-owned consent runtime — only place that can approve or deny a mint.
2
+ * Sh3-owned consent runtime — only place that can approve or deny a mint.
3
3
  *
4
- * The client shard calls requestConsent(); the shell shows ConsentDialog.svelte
4
+ * The client shard calls requestConsent(); the sh3 shows ConsentDialog.svelte
5
5
  * and calls resolveConsent(...) on user action.
6
6
  */
7
7
  const pending = new Map();
@@ -13,7 +13,7 @@ export function registerConsentListener(fn) {
13
13
  }
14
14
  export async function requestConsent(shardId, opts) {
15
15
  if (!listener)
16
- throw new Error('No consent listener registered — the shell must mount ConsentDialog.');
16
+ throw new Error('No consent listener registered — the sh3 must mount ConsentDialog.');
17
17
  const requestId = `c_${Math.random().toString(36).slice(2)}${Date.now()}`;
18
18
  return new Promise((resolve) => {
19
19
  pending.set(requestId, { resolve });
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * Notifies active shards when one of their minted keys is revoked —
3
- * regardless of whether the revocation was initiated by the shell UI,
3
+ * regardless of whether the revocation was initiated by the sh3 UI,
4
4
  * the shard itself, or another tab.
5
5
  *
6
6
  * The bus is populated by a server-sent events stream on /api/keys/events
7
- * (wired by the shell runtime at boot) and/or by local revoke() calls.
7
+ * (wired by the sh3 runtime at boot) and/or by local revoke() calls.
8
8
  */
9
9
  type Handler = (keyId: string) => void;
10
10
  /**
@@ -26,7 +26,7 @@ export declare function emit(shardId: string | null, keyId: string): void;
26
26
  * Open a server-sent events stream at /api/keys/events and forward
27
27
  * revocation events into the local bus.
28
28
  *
29
- * Should be called once at shell boot. Returns a cleanup function that
29
+ * Should be called once at sh3 boot. Returns a cleanup function that
30
30
  * closes the EventSource.
31
31
  *
32
32
  * No-op in environments without EventSource (e.g. Node test runner).
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * Notifies active shards when one of their minted keys is revoked —
3
- * regardless of whether the revocation was initiated by the shell UI,
3
+ * regardless of whether the revocation was initiated by the sh3 UI,
4
4
  * the shard itself, or another tab.
5
5
  *
6
6
  * The bus is populated by a server-sent events stream on /api/keys/events
7
- * (wired by the shell runtime at boot) and/or by local revoke() calls.
7
+ * (wired by the sh3 runtime at boot) and/or by local revoke() calls.
8
8
  */
9
9
  const handlersByShard = new Map();
10
10
  /**
@@ -70,7 +70,7 @@ export function emit(shardId, keyId) {
70
70
  * Open a server-sent events stream at /api/keys/events and forward
71
71
  * revocation events into the local bus.
72
72
  *
73
- * Should be called once at shell boot. Returns a cleanup function that
73
+ * Should be called once at sh3 boot. Returns a cleanup function that
74
74
  * closes the EventSource.
75
75
  *
76
76
  * No-op in environments without EventSource (e.g. Node test runner).
@@ -44,19 +44,19 @@
44
44
  position: absolute;
45
45
  display: inline-flex;
46
46
  align-items: center;
47
- gap: var(--shell-pad-sm);
48
- padding: var(--shell-pad-sm) var(--shell-pad-md);
49
- background: var(--shell-grad-bg-elevated, var(--shell-bg-elevated));
50
- color: var(--shell-fg);
51
- border: 1px solid var(--shell-accent);
52
- border-radius: var(--shell-radius-sm);
47
+ gap: var(--sh3-pad-sm);
48
+ padding: var(--sh3-pad-sm) var(--sh3-pad-md);
49
+ background: var(--sh3-grad-bg-elevated, var(--sh3-bg-elevated));
50
+ color: var(--sh3-fg);
51
+ border: 1px solid var(--sh3-accent);
52
+ border-radius: var(--sh3-radius-sm);
53
53
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
54
54
  font-size: 12px;
55
- font-family: var(--shell-font-ui);
55
+ font-family: var(--sh3-font-ui);
56
56
  pointer-events: none;
57
57
  opacity: 0.9;
58
- /* The layer root inherits its z-index from --shell-z-layer-2 via
59
- Shell.svelte; we don't set z-index here. */
58
+ /* The layer root inherits its z-index from --sh3-z-layer-2 via
59
+ Sh3.svelte; we don't set z-index here. */
60
60
  }
61
61
  .drag-preview-icon { font-size: 11px; }
62
62
  .drag-preview-label { white-space: nowrap; }
@@ -23,9 +23,9 @@ function stubView() {
23
23
  function settle(ms = 50) {
24
24
  return new Promise((r) => setTimeout(r, ms));
25
25
  }
26
- /** Remove all shell host elements from the body (cleanup between tests). */
26
+ /** Remove all sh3 host elements from the body (cleanup between tests). */
27
27
  function cleanupDOM() {
28
- const hosts = document.querySelectorAll('.sh3-shell-host');
28
+ const hosts = document.querySelectorAll('.sh3-sh3-host');
29
29
  hosts.forEach((h) => h.remove());
30
30
  }
31
31
  // ---------------------------------------------------------------------------
@@ -258,15 +258,15 @@
258
258
  flex-direction: column;
259
259
  align-items: center;
260
260
  justify-content: center;
261
- color: var(--shell-fg-muted);
261
+ color: var(--sh3-fg-muted);
262
262
  font-size: 12px;
263
263
  background:
264
264
  repeating-linear-gradient(
265
265
  45deg,
266
- var(--shell-bg) 0 10px,
267
- var(--shell-bg-elevated) 10px 20px
266
+ var(--sh3-bg) 0 10px,
267
+ var(--sh3-bg-elevated) 10px 20px
268
268
  );
269
- border: 1px dashed var(--shell-border-strong);
269
+ border: 1px dashed var(--sh3-border-strong);
270
270
  }
271
271
  .empty-tabs-custom {
272
272
  position: absolute;
@@ -129,32 +129,32 @@
129
129
  flex-direction: column;
130
130
  align-items: center;
131
131
  justify-content: center;
132
- gap: var(--shell-pad-sm);
133
- color: var(--shell-fg-muted);
132
+ gap: var(--sh3-pad-sm);
133
+ color: var(--sh3-fg-muted);
134
134
  font-size: 12px;
135
135
  text-align: center;
136
- padding: var(--shell-pad-md);
136
+ padding: var(--sh3-pad-md);
137
137
  background:
138
138
  repeating-linear-gradient(
139
139
  45deg,
140
- var(--shell-bg) 0 10px,
141
- var(--shell-bg-elevated) 10px 20px
140
+ var(--sh3-bg) 0 10px,
141
+ var(--sh3-bg-elevated) 10px 20px
142
142
  );
143
- border: 1px dashed var(--shell-border-strong);
143
+ border: 1px dashed var(--sh3-border-strong);
144
144
  pointer-events: none;
145
145
  }
146
146
  .slot-id {
147
- color: var(--shell-fg);
148
- font-family: var(--shell-font-mono);
147
+ color: var(--sh3-fg);
148
+ font-family: var(--sh3-font-mono);
149
149
  font-size: 13px;
150
150
  }
151
151
  .slot-meta code {
152
- font-family: var(--shell-font-mono);
153
- color: var(--shell-accent);
152
+ font-family: var(--sh3-font-mono);
153
+ color: var(--sh3-accent);
154
154
  }
155
155
  .slot-dims {
156
- font-family: var(--shell-font-mono);
157
- color: var(--shell-fg-subtle);
156
+ font-family: var(--sh3-font-mono);
157
+ color: var(--sh3-fg-subtle);
158
158
  font-size: 11px;
159
159
  }
160
160
  </style>
@@ -153,9 +153,9 @@
153
153
  }
154
154
  .quad-highlight {
155
155
  position: absolute;
156
- background: var(--shell-accent);
156
+ background: var(--sh3-accent);
157
157
  opacity: 0.18;
158
- border: 1px dashed var(--shell-accent);
158
+ border: 1px dashed var(--sh3-accent);
159
159
  pointer-events: none;
160
160
  transition: inset 80ms ease;
161
161
  }
@@ -69,7 +69,7 @@ export declare function popoutView(slotId: string): string | null;
69
69
  export declare function dockFloat(floatId: string): boolean;
70
70
  /**
71
71
  * Dock a view into the currently-rendered layout without caring which
72
- * root it is. Used by the Ctrl+` shell hotkey and other "just put it
72
+ * root it is. Used by the Ctrl+` sh3 hotkey and other "just put it
73
73
  * somewhere sensible" callers. Policy:
74
74
  *
75
75
  * 1. If a tab with the same `viewId` already exists, focus it and
@@ -274,7 +274,7 @@ function findFirstSlotPath(node, path = []) {
274
274
  }
275
275
  /**
276
276
  * Dock a view into the currently-rendered layout without caring which
277
- * root it is. Used by the Ctrl+` shell hotkey and other "just put it
277
+ * root it is. Used by the Ctrl+` sh3 hotkey and other "just put it
278
278
  * somewhere sensible" callers. Policy:
279
279
  *
280
280
  * 1. If a tab with the same `viewId` already exists, focus it and
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Layout manager — owns both the framework-constant shell home layout
2
+ * Layout manager — owns both the framework-constant sh3 home layout
3
3
  * and the currently-active app's persisted layout, and swaps between
4
4
  * them without tearing down the held tree.
5
5
  *
@@ -24,7 +24,7 @@
24
24
  * entirely (there is no "held home while rendering app" state).
25
25
  *
26
26
  * Orphan cleanup:
27
- * The pre-phase-8 shell wrote to `sh3:workspace:__shell__`. Phase 8
27
+ * The pre-phase-8 sh3 wrote to `sh3:workspace:__shell__`. Phase 8
28
28
  * switches to per-app keys; the old entry would otherwise sit as dead
29
29
  * data. On first load after upgrade, the manager clears that orphan
30
30
  * unconditionally (clearing a non-existent entry is a no-op).
@@ -35,7 +35,7 @@ import { normalizeInitialLayout } from './presets';
35
35
  import { collectTreeSlotRefs } from './tree-walk';
36
36
  import { bindPresetBlob, unbindPresetBlob } from '../overlays/presets';
37
37
  import { getRegisteredApp } from '../apps/registry.svelte';
38
- // ---------- orphan cleanup of pre-phase-8 shell layout key ----------------
38
+ // ---------- orphan cleanup of pre-phase-8 sh3 layout key ----------------
39
39
  // Legacy pre-phase-8 orphan cleanup. The literal '__shell__' here is
40
40
  // intentional — it clears data written under the old reserved id before
41
41
  // this shard was restructured. Do not replace with '__sh3core__'.
@@ -190,7 +190,7 @@ export type TreeRootRef = {
190
190
  export declare const LAYOUT_SCHEMA_VERSION = 4;
191
191
  /**
192
192
  * The wire shape of a persisted layout in the workspace state zone.
193
- * One blob per shell (or per program, once per-program layouts exist);
193
+ * One blob per sh3 (or per program, once per-program layouts exist);
194
194
  * the version field gates compatibility.
195
195
  */
196
196
  export interface PersistedLayout {
@@ -100,46 +100,46 @@
100
100
  .layout-save {
101
101
  padding: 16px 20px;
102
102
  max-width: 460px;
103
- color: var(--shell-fg);
104
- background: var(--shell-bg);
103
+ color: var(--sh3-fg);
104
+ background: var(--sh3-bg);
105
105
  font: inherit;
106
106
  }
107
107
  h2 { margin: 0 0 12px; font-size: 16px; }
108
108
  .row { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; font-size: 13px; }
109
- .row span { color: var(--shell-fg-muted); }
109
+ .row span { color: var(--sh3-fg-muted); }
110
110
  .name-input {
111
- background: var(--shell-bg-elevated);
112
- color: var(--shell-fg);
113
- border: 1px solid var(--shell-border);
114
- border-radius: var(--shell-radius-sm, 3px);
111
+ background: var(--sh3-bg-elevated);
112
+ color: var(--sh3-fg);
113
+ border: 1px solid var(--sh3-border);
114
+ border-radius: var(--sh3-radius-sm, 3px);
115
115
  padding: 6px 8px; font: inherit; font-size: 13px;
116
116
  }
117
117
  .preview { margin: 4px 0 12px; }
118
- .preview-label { font-size: 12px; color: var(--shell-fg-muted); margin-bottom: 4px; }
118
+ .preview-label { font-size: 12px; color: var(--sh3-fg-muted); margin-bottom: 4px; }
119
119
  .preview-list {
120
120
  list-style: none; padding: 0; margin: 0;
121
121
  font-size: 12px; max-height: 160px; overflow: auto;
122
- border: 1px solid var(--shell-border);
123
- border-radius: var(--shell-radius-sm, 3px);
124
- background: var(--shell-bg-elevated);
122
+ border: 1px solid var(--sh3-border);
123
+ border-radius: var(--sh3-radius-sm, 3px);
124
+ background: var(--sh3-bg-elevated);
125
125
  }
126
- .preview-list li { padding: 4px 8px; border-bottom: 1px solid var(--shell-border); }
126
+ .preview-list li { padding: 4px 8px; border-bottom: 1px solid var(--sh3-border); }
127
127
  .preview-list li:last-child { border-bottom: 0; }
128
- .muted { color: var(--shell-fg-muted); }
128
+ .muted { color: var(--sh3-fg-muted); }
129
129
  .error {
130
- color: var(--shell-fg-muted);
130
+ color: var(--sh3-fg-muted);
131
131
  font-style: italic;
132
132
  margin: 4px 0 12px;
133
133
  }
134
134
  .actions { display: flex; gap: 8px; margin-top: 8px; }
135
135
  .actions button {
136
- background: var(--shell-bg-elevated);
137
- color: var(--shell-fg);
138
- border: 1px solid var(--shell-border);
139
- border-radius: var(--shell-radius-sm, 3px);
136
+ background: var(--sh3-bg-elevated);
137
+ color: var(--sh3-fg);
138
+ border: 1px solid var(--sh3-border);
139
+ border-radius: var(--sh3-radius-sm, 3px);
140
140
  padding: 6px 14px; font: inherit; cursor: pointer;
141
141
  }
142
- .actions button.primary { background: var(--shell-accent); color: #fff; border-color: var(--shell-accent); }
143
- .actions button:hover { border-color: var(--shell-accent); }
142
+ .actions button.primary { background: var(--sh3-accent); color: #fff; border-color: var(--sh3-accent); }
143
+ .actions button:hover { border-color: var(--sh3-accent); }
144
144
  .actions button:disabled { opacity: 0.5; cursor: not-allowed; }
145
145
  </style>