sh3-core 0.7.5 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/dist/api.d.ts +12 -2
  2. package/dist/api.js +13 -1
  3. package/dist/app/admin/SystemView.svelte +149 -11
  4. package/dist/app/store/StoreView.svelte +36 -7
  5. package/dist/app/store/storeShard.svelte.js +9 -3
  6. package/dist/app/store/verbs.js +8 -2
  7. package/dist/apps/lifecycle.d.ts +11 -0
  8. package/dist/apps/lifecycle.js +21 -1
  9. package/dist/apps/lifecycle.test.js +50 -1
  10. package/dist/apps/types.d.ts +7 -2
  11. package/dist/createShell.d.ts +2 -0
  12. package/dist/createShell.js +9 -7
  13. package/dist/documents/backends.d.ts +8 -0
  14. package/dist/documents/backends.js +87 -0
  15. package/dist/documents/backends.test.d.ts +1 -0
  16. package/dist/documents/backends.test.js +33 -0
  17. package/dist/documents/browse.d.ts +12 -0
  18. package/dist/documents/browse.js +19 -0
  19. package/dist/documents/browse.test.d.ts +1 -0
  20. package/dist/documents/browse.test.js +41 -0
  21. package/dist/documents/handle.js +5 -0
  22. package/dist/documents/http-backend.d.ts +4 -0
  23. package/dist/documents/http-backend.js +14 -0
  24. package/dist/documents/index.d.ts +1 -0
  25. package/dist/documents/index.js +1 -0
  26. package/dist/documents/journal-hook.d.ts +6 -0
  27. package/dist/documents/journal-hook.js +16 -0
  28. package/dist/documents/sync/activate-integration.test.d.ts +1 -0
  29. package/dist/documents/sync/activate-integration.test.js +37 -0
  30. package/dist/documents/sync/components/DocumentSyncExplorer.svelte +99 -0
  31. package/dist/documents/sync/components/DocumentSyncExplorer.svelte.d.ts +15 -0
  32. package/dist/documents/sync/components/SyncGrantPicker.svelte +70 -0
  33. package/dist/documents/sync/components/SyncGrantPicker.svelte.d.ts +12 -0
  34. package/dist/documents/sync/conflicts.d.ts +30 -0
  35. package/dist/documents/sync/conflicts.js +77 -0
  36. package/dist/documents/sync/conflicts.test.d.ts +1 -0
  37. package/dist/documents/sync/conflicts.test.js +71 -0
  38. package/dist/documents/sync/engine.d.ts +19 -0
  39. package/dist/documents/sync/engine.js +188 -0
  40. package/dist/documents/sync/engine.test.d.ts +1 -0
  41. package/dist/documents/sync/engine.test.js +169 -0
  42. package/dist/documents/sync/handle.d.ts +11 -0
  43. package/dist/documents/sync/handle.js +79 -0
  44. package/dist/documents/sync/handle.test.d.ts +1 -0
  45. package/dist/documents/sync/handle.test.js +56 -0
  46. package/dist/documents/sync/hash.d.ts +1 -0
  47. package/dist/documents/sync/hash.js +13 -0
  48. package/dist/documents/sync/hash.test.d.ts +1 -0
  49. package/dist/documents/sync/hash.test.js +20 -0
  50. package/dist/documents/sync/index.d.ts +5 -0
  51. package/dist/documents/sync/index.js +10 -0
  52. package/dist/documents/sync/journal.d.ts +30 -0
  53. package/dist/documents/sync/journal.js +179 -0
  54. package/dist/documents/sync/journal.test.d.ts +1 -0
  55. package/dist/documents/sync/journal.test.js +87 -0
  56. package/dist/documents/sync/observer.d.ts +3 -0
  57. package/dist/documents/sync/observer.js +45 -0
  58. package/dist/documents/sync/registry.d.ts +13 -0
  59. package/dist/documents/sync/registry.js +73 -0
  60. package/dist/documents/sync/registry.test.d.ts +1 -0
  61. package/dist/documents/sync/registry.test.js +53 -0
  62. package/dist/documents/sync/serialization.d.ts +5 -0
  63. package/dist/documents/sync/serialization.js +24 -0
  64. package/dist/documents/sync/serialization.test.d.ts +1 -0
  65. package/dist/documents/sync/serialization.test.js +26 -0
  66. package/dist/documents/sync/singleton.d.ts +11 -0
  67. package/dist/documents/sync/singleton.js +26 -0
  68. package/dist/documents/sync/tombstones.d.ts +19 -0
  69. package/dist/documents/sync/tombstones.js +58 -0
  70. package/dist/documents/sync/tombstones.test.d.ts +1 -0
  71. package/dist/documents/sync/tombstones.test.js +37 -0
  72. package/dist/documents/sync/types.d.ts +116 -0
  73. package/dist/documents/sync/types.js +27 -0
  74. package/dist/documents/sync/write-hook.test.d.ts +1 -0
  75. package/dist/documents/sync/write-hook.test.js +36 -0
  76. package/dist/documents/types.d.ts +18 -0
  77. package/dist/documents/types.js +6 -1
  78. package/dist/env/client.d.ts +10 -5
  79. package/dist/env/client.js +12 -4
  80. package/dist/layout/inspection.d.ts +17 -0
  81. package/dist/layout/inspection.js +53 -0
  82. package/dist/registry/installer.d.ts +10 -7
  83. package/dist/registry/installer.js +39 -35
  84. package/dist/registry/register.d.ts +17 -0
  85. package/dist/registry/register.js +22 -0
  86. package/dist/registry/register.test.d.ts +1 -0
  87. package/dist/registry/register.test.js +28 -0
  88. package/dist/shards/activate-browse.test.d.ts +1 -0
  89. package/dist/shards/activate-browse.test.js +36 -0
  90. package/dist/shards/activate-sync-registry.test.d.ts +1 -0
  91. package/dist/shards/activate-sync-registry.test.js +42 -0
  92. package/dist/shards/activate-tenantid.test.d.ts +1 -0
  93. package/dist/shards/activate-tenantid.test.js +21 -0
  94. package/dist/shards/activate.svelte.d.ts +12 -0
  95. package/dist/shards/activate.svelte.js +53 -2
  96. package/dist/shards/types.d.ts +43 -1
  97. package/dist/shell-shard/Terminal.svelte +140 -33
  98. package/dist/shell-shard/Terminal.svelte.d.ts +3 -0
  99. package/dist/shell-shard/auto-relocate.d.ts +12 -0
  100. package/dist/shell-shard/auto-relocate.js +20 -0
  101. package/dist/shell-shard/auto-relocate.test.d.ts +1 -0
  102. package/dist/shell-shard/auto-relocate.test.js +35 -0
  103. package/dist/shell-shard/dispatch.d.ts +15 -0
  104. package/dist/shell-shard/dispatch.js +56 -0
  105. package/dist/shell-shard/manifest.js +1 -1
  106. package/dist/shell-shard/modes/builtin.d.ts +5 -0
  107. package/dist/shell-shard/modes/builtin.js +18 -0
  108. package/dist/shell-shard/modes/prefs.d.ts +5 -0
  109. package/dist/shell-shard/modes/prefs.js +31 -0
  110. package/dist/shell-shard/modes/prefs.test.d.ts +1 -0
  111. package/dist/shell-shard/modes/prefs.test.js +46 -0
  112. package/dist/shell-shard/modes/registry.d.ts +7 -0
  113. package/dist/shell-shard/modes/registry.js +27 -0
  114. package/dist/shell-shard/modes/registry.test.d.ts +1 -0
  115. package/dist/shell-shard/modes/registry.test.js +35 -0
  116. package/dist/shell-shard/modes/types.d.ts +8 -0
  117. package/dist/shell-shard/modes/types.js +1 -0
  118. package/dist/shell-shard/protocol.d.ts +6 -0
  119. package/dist/shell-shard/shellShard.svelte.js +57 -5
  120. package/dist/shell-shard/tenant-fs-client.d.ts +24 -0
  121. package/dist/shell-shard/tenant-fs-client.js +44 -0
  122. package/dist/shell-shard/tenant-fs-client.test.d.ts +1 -0
  123. package/dist/shell-shard/tenant-fs-client.test.js +49 -0
  124. package/dist/shell-shard/terminal-dispatch.test.d.ts +1 -0
  125. package/dist/shell-shard/terminal-dispatch.test.js +53 -0
  126. package/dist/shell-shard/toolbar/Toolbar.svelte +62 -0
  127. package/dist/shell-shard/toolbar/Toolbar.svelte.d.ts +11 -0
  128. package/dist/shell-shard/toolbar/slots/FocusLockSlot.svelte +28 -0
  129. package/dist/shell-shard/toolbar/slots/FocusLockSlot.svelte.d.ts +7 -0
  130. package/dist/shell-shard/toolbar/slots/ModeSlot.svelte +102 -0
  131. package/dist/shell-shard/toolbar/slots/ModeSlot.svelte.d.ts +11 -0
  132. package/dist/shell-shard/toolbar/slots/TargetShardSlot.svelte +17 -0
  133. package/dist/shell-shard/toolbar/slots/TargetShardSlot.svelte.d.ts +6 -0
  134. package/dist/shell-shard/toolbar/slots.d.ts +17 -0
  135. package/dist/shell-shard/toolbar/slots.js +26 -0
  136. package/dist/shell-shard/toolbar/slots.test.d.ts +1 -0
  137. package/dist/shell-shard/toolbar/slots.test.js +28 -0
  138. package/dist/shell-shard/verbs/cat.d.ts +2 -0
  139. package/dist/shell-shard/verbs/cat.js +34 -0
  140. package/dist/shell-shard/verbs/cd.test.d.ts +1 -0
  141. package/dist/shell-shard/verbs/cd.test.js +56 -0
  142. package/dist/shell-shard/verbs/env.d.ts +2 -0
  143. package/dist/shell-shard/verbs/env.js +14 -0
  144. package/dist/shell-shard/verbs/index.js +9 -2
  145. package/dist/shell-shard/verbs/ls.d.ts +2 -0
  146. package/dist/shell-shard/verbs/ls.js +29 -0
  147. package/dist/shell-shard/verbs/ls.test.d.ts +1 -0
  148. package/dist/shell-shard/verbs/ls.test.js +49 -0
  149. package/dist/shell-shard/verbs/session.d.ts +0 -1
  150. package/dist/shell-shard/verbs/session.js +58 -26
  151. package/dist/shell-shard/verbs/views.d.ts +2 -0
  152. package/dist/shell-shard/verbs/views.js +103 -2
  153. package/dist/verbs/types.d.ts +21 -0
  154. package/dist/version.d.ts +1 -1
  155. package/dist/version.js +1 -1
  156. package/package.json +1 -1
@@ -1,8 +1,29 @@
1
1
  import ViewsTable from '../rich/ViewsTable.svelte';
2
2
  export const viewsVerb = {
3
3
  name: 'views',
4
- summary: 'List views currently mounted in the active layout.',
5
- async run(ctx) {
4
+ summary: 'List views currently mounted. Pass --standalone to list summonable views instead.',
5
+ async run(ctx, args) {
6
+ if (args.includes('--standalone')) {
7
+ const standalones = ctx.shell.listStandaloneViews();
8
+ if (standalones.length === 0) {
9
+ ctx.scrollback.push({
10
+ kind: 'status',
11
+ text: 'shell: no standalone views are currently available.',
12
+ level: 'info',
13
+ ts: Date.now(),
14
+ });
15
+ return;
16
+ }
17
+ ctx.scrollback.push({
18
+ kind: 'status',
19
+ text: standalones
20
+ .map((v) => ` ${v.viewId.padEnd(32)} ${v.label}`)
21
+ .join('\n'),
22
+ level: 'info',
23
+ ts: Date.now(),
24
+ });
25
+ return;
26
+ }
6
27
  const views = ctx.shell.listViewsInCurrentLayout();
7
28
  ctx.scrollback.push({
8
29
  kind: 'rich',
@@ -62,6 +83,86 @@ export const openVerb = {
62
83
  }
63
84
  },
64
85
  };
86
+ export const popoutVerb = {
87
+ name: 'popout',
88
+ summary: 'Pop a docked view out into a float by slot id.',
89
+ async run(ctx, args) {
90
+ var _a;
91
+ const slotId = args[0];
92
+ if (!slotId) {
93
+ ctx.scrollback.push({
94
+ kind: 'status',
95
+ text: 'usage: popout <slotId>',
96
+ level: 'warn',
97
+ ts: Date.now(),
98
+ });
99
+ return;
100
+ }
101
+ const result = ctx.shell.popoutSlot(slotId);
102
+ if (!result.ok) {
103
+ ctx.scrollback.push({
104
+ kind: 'status',
105
+ text: `shell: popout failed — ${(_a = result.error) !== null && _a !== void 0 ? _a : 'unknown'}`,
106
+ level: 'error',
107
+ ts: Date.now(),
108
+ });
109
+ }
110
+ else {
111
+ ctx.scrollback.push({
112
+ kind: 'status',
113
+ text: `shell: popped out ${slotId} → ${result.floatId}`,
114
+ level: 'info',
115
+ ts: Date.now(),
116
+ });
117
+ }
118
+ },
119
+ };
120
+ export const dockVerb = {
121
+ name: 'dock',
122
+ summary: 'Dock a float back into the current layout by float id. Run with no args to list floats.',
123
+ async run(ctx, args) {
124
+ var _a;
125
+ const floatId = args[0];
126
+ if (!floatId) {
127
+ const floats = ctx.shell.listFloats();
128
+ if (floats.length === 0) {
129
+ ctx.scrollback.push({
130
+ kind: 'status',
131
+ text: 'shell: no active floats.',
132
+ level: 'info',
133
+ ts: Date.now(),
134
+ });
135
+ return;
136
+ }
137
+ ctx.scrollback.push({
138
+ kind: 'status',
139
+ text: floats
140
+ .map((f) => { var _a; return ` ${f.floatId.padEnd(24)} ${(_a = f.viewId) !== null && _a !== void 0 ? _a : '-'}\t${f.label}`; })
141
+ .join('\n'),
142
+ level: 'info',
143
+ ts: Date.now(),
144
+ });
145
+ return;
146
+ }
147
+ const result = ctx.shell.dockFloat(floatId);
148
+ if (!result.ok) {
149
+ ctx.scrollback.push({
150
+ kind: 'status',
151
+ text: `shell: dock failed — ${(_a = result.error) !== null && _a !== void 0 ? _a : 'unknown'}`,
152
+ level: 'error',
153
+ ts: Date.now(),
154
+ });
155
+ }
156
+ else {
157
+ ctx.scrollback.push({
158
+ kind: 'status',
159
+ text: `shell: docked ${floatId}`,
160
+ level: 'info',
161
+ ts: Date.now(),
162
+ });
163
+ }
164
+ },
165
+ };
65
166
  export const closeVerb = {
66
167
  name: 'close',
67
168
  summary: 'Close a view by slot id.',
@@ -1,5 +1,6 @@
1
1
  import type { Scrollback } from '../shell-shard/scrollback.svelte';
2
2
  import type { SessionClient } from '../shell-shard/session-client.svelte';
3
+ import type { TenantFsClient } from '../shell-shard/tenant-fs-client';
3
4
  export interface ShellApi {
4
5
  listApps(): Array<{
5
6
  id: string;
@@ -28,6 +29,25 @@ export interface ShellApi {
28
29
  ok: boolean;
29
30
  error?: string;
30
31
  };
32
+ listStandaloneViews(): Array<{
33
+ shardId: string;
34
+ viewId: string;
35
+ label: string;
36
+ }>;
37
+ popoutSlot(slotId: string): {
38
+ ok: boolean;
39
+ error?: string;
40
+ floatId?: string;
41
+ };
42
+ dockFloat(floatId: string): {
43
+ ok: boolean;
44
+ error?: string;
45
+ };
46
+ listFloats(): Array<{
47
+ floatId: string;
48
+ viewId: string | null;
49
+ label: string;
50
+ }>;
31
51
  listZones(shardId?: string): Array<{
32
52
  shardId: string;
33
53
  zones: string[];
@@ -43,6 +63,7 @@ export interface VerbContext {
43
63
  scrollback: Scrollback;
44
64
  session: SessionClient;
45
65
  cwd: string;
66
+ fs: TenantFsClient;
46
67
  /** Invoke another registered verb programmatically (used by rich-entry clicks). */
47
68
  dispatch(line: string): Promise<void>;
48
69
  }
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  /** Auto-generated from package.json — do not edit manually. */
2
- export declare const VERSION = "0.7.5";
2
+ export declare const VERSION = "0.8.1";
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /** Auto-generated from package.json — do not edit manually. */
2
- export const VERSION = '0.7.5';
2
+ export const VERSION = '0.8.1';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sh3-core",
3
- "version": "0.7.5",
3
+ "version": "0.8.1",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"