@ibgib/space-gib 0.0.32 → 0.0.34

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 (112) hide show
  1. package/dist/client/bootstrap.mjs +24 -51
  2. package/dist/client/chunk-25PXC4HP.mjs +9914 -0
  3. package/dist/client/chunk-RXWLL2AI.mjs +30 -0
  4. package/dist/client/css/activity-bar.css +417 -0
  5. package/dist/client/css/base.css +167 -0
  6. package/dist/client/css/components.css +218 -0
  7. package/dist/client/css/cosmic.css +557 -0
  8. package/dist/client/css/dev-tools.css +163 -0
  9. package/dist/client/css/landing.css +184 -0
  10. package/dist/client/css/layout.css +896 -0
  11. package/dist/client/css/onboarding.css +181 -0
  12. package/dist/client/css/repos.css +740 -0
  13. package/dist/client/css/variables.css +64 -0
  14. package/dist/client/index.html +202 -31
  15. package/dist/client/index.mjs +31 -31
  16. package/dist/client/script.mjs +1 -1
  17. package/dist/client/style.css +11 -1056
  18. package/dist/respec-gib.node.mjs +5 -0
  19. package/dist/server/server.mjs +6879 -3109
  20. package/package.json +6 -6
  21. package/src/client/AUTO-GENERATED-version.mts +1 -1
  22. package/src/client/cosmos/seed-cosmos-workspace.mts +69 -0
  23. package/src/client/css/activity-bar.css +417 -0
  24. package/src/client/css/base.css +167 -0
  25. package/src/client/css/components.css +218 -0
  26. package/src/client/css/cosmic.css +557 -0
  27. package/src/client/css/dev-tools.css +163 -0
  28. package/src/client/css/landing.css +184 -0
  29. package/src/client/css/layout.css +896 -0
  30. package/src/client/css/onboarding.css +181 -0
  31. package/src/client/css/repos.css +740 -0
  32. package/src/client/css/variables.css +64 -0
  33. package/src/client/dev-tools/vcs-workspace.mts +3 -3
  34. package/src/client/index.html +202 -31
  35. package/src/client/style.css +11 -1056
  36. package/src/client/ui/component/chat-view/IMPLEMENTATION.md +48 -0
  37. package/src/client/ui/component/chat-view/chat-view.css +381 -0
  38. package/src/client/ui/component/chat-view/chat-view.html +104 -0
  39. package/src/client/ui/component/chat-view/chat-view.mts +277 -0
  40. package/src/client/ui/component/chat-view/index.mts +9 -0
  41. package/src/client/ui/component/clone/IMPLEMENTATION.md +68 -0
  42. package/src/client/ui/component/clone/clone-constants.mts +16 -0
  43. package/src/client/ui/component/clone/clone-types.mts +60 -0
  44. package/src/client/ui/component/clone/clone.css +383 -0
  45. package/src/client/ui/component/clone/clone.html +89 -0
  46. package/src/client/ui/component/clone/clone.mts +620 -0
  47. package/src/client/ui/component/clone/index.mts +11 -0
  48. package/src/client/ui/component/code-editor/IMPLEMENTATION.md +89 -0
  49. package/src/client/ui/component/code-editor/code-editor.css +275 -0
  50. package/src/client/ui/component/code-editor/code-editor.html +54 -0
  51. package/src/client/ui/component/code-editor/code-editor.mts +427 -0
  52. package/src/client/ui/component/code-editor/index.mts +9 -0
  53. package/src/client/ui/component/cosmos-navigator/IMPLEMENTATION.md +31 -0
  54. package/src/client/ui/component/cosmos-navigator/cosmos-navigator.css +864 -0
  55. package/src/client/ui/component/cosmos-navigator/cosmos-navigator.html +97 -0
  56. package/src/client/ui/component/cosmos-navigator/cosmos-navigator.mts +1084 -0
  57. package/src/client/ui/component/cosmos-navigator/index.mts +18 -0
  58. package/src/client/ui/component/file-explorer/IMPLEMENTATION.md +42 -0
  59. package/src/client/ui/component/file-explorer/file-explorer.css +256 -0
  60. package/src/client/ui/component/file-explorer/file-explorer.html +75 -0
  61. package/src/client/ui/component/file-explorer/file-explorer.mts +346 -0
  62. package/src/client/ui/component/file-explorer/index.mts +9 -0
  63. package/src/client/ui/component/nested-chat/IMPLEMENTATION.md +18 -0
  64. package/src/client/ui/component/nested-chat/chat/IMPLEMENTATION.md +14 -0
  65. package/src/client/ui/component/nested-chat/chat/chat-constants.mts +14 -0
  66. package/src/client/ui/component/nested-chat/chat/chat-helpers.mts +66 -0
  67. package/src/client/ui/component/nested-chat/chat/chat.css +654 -0
  68. package/src/client/ui/component/nested-chat/chat/chat.html +90 -0
  69. package/src/client/ui/component/nested-chat/chat/chat.mts +646 -0
  70. package/src/client/ui/component/nested-chat/chat/index.mts +7 -0
  71. package/src/client/ui/component/nested-chat/index.mts +14 -0
  72. package/src/client/ui/component/nested-chat/nested-chat-constants.mts +12 -0
  73. package/src/client/ui/component/nested-chat/nested-chat-types.mts +53 -0
  74. package/src/client/ui/component/nested-chat/nested-chat.css +142 -0
  75. package/src/client/ui/component/nested-chat/nested-chat.html +11 -0
  76. package/src/client/ui/component/nested-chat/nested-chat.mts +393 -0
  77. package/src/client/ui/component/notes-explorer/index.mts +9 -0
  78. package/src/client/ui/component/notes-explorer/notes-explorer.css +313 -0
  79. package/src/client/ui/component/notes-explorer/notes-explorer.html +136 -0
  80. package/src/client/ui/component/notes-explorer/notes-explorer.mts +240 -0
  81. package/src/client/ui/component/notes-inspector/index.mts +9 -0
  82. package/src/client/ui/component/notes-inspector/notes-inspector.css +244 -0
  83. package/src/client/ui/component/notes-inspector/notes-inspector.html +97 -0
  84. package/src/client/ui/component/notes-inspector/notes-inspector.mts +152 -0
  85. package/src/client/ui/component/pitch/IMPLEMENTATION.md +48 -0
  86. package/src/client/ui/component/pitch/index.mts +9 -0
  87. package/src/client/ui/component/pitch/pitch.css +295 -0
  88. package/src/client/ui/component/pitch/pitch.html +97 -0
  89. package/src/client/ui/component/pitch/pitch.mts +135 -0
  90. package/src/client/ui/component/timeline/IMPLEMENTATION.md +33 -0
  91. package/src/client/ui/component/timeline/index.mts +9 -0
  92. package/src/client/ui/component/timeline/timeline.css +264 -0
  93. package/src/client/ui/component/timeline/timeline.html +23 -0
  94. package/src/client/ui/component/timeline/timeline.mts +317 -0
  95. package/src/client/ui/component/timeline-item-details/IMPLEMENTATION.md +28 -0
  96. package/src/client/ui/component/timeline-item-details/index.mts +9 -0
  97. package/src/client/ui/component/timeline-item-details/timeline-item-details.css +286 -0
  98. package/src/client/ui/component/timeline-item-details/timeline-item-details.html +64 -0
  99. package/src/client/ui/component/timeline-item-details/timeline-item-details.mts +194 -0
  100. package/src/client/ui/router/index.mts +3 -0
  101. package/src/client/ui/router/space-gib-router-helpers.mts +272 -0
  102. package/src/client/ui/router/space-gib-router-helpers.respec.mts +353 -0
  103. package/src/client/ui/router/space-gib-router-service.mts +186 -0
  104. package/src/client/ui/router/space-gib-router-types.mts +93 -0
  105. package/src/client/ui/shell/cosmic-big-bang.mts +844 -0
  106. package/src/client/ui/shell/space-gib-shell-constants.mts +7 -0
  107. package/src/client/ui/shell/space-gib-shell-service.mts +1728 -31
  108. package/src/server/server.mts +20 -1
  109. package/tsconfig.test.json +5 -1
  110. package/dist/client/chunk-AX6BROMT.mjs +0 -1
  111. package/dist/client/chunk-CIQUGV7U.mjs +0 -25
  112. package/dist/client/chunk-YPCHYDKL.mjs +0 -3102
@@ -0,0 +1,383 @@
1
+ :host {
2
+ display: block;
3
+ position: fixed;
4
+ top: 0;
5
+ left: 0;
6
+ width: 100vw;
7
+ height: 100vh;
8
+ z-index: 10000;
9
+ pointer-events: auto;
10
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
11
+ color: #e2e8f0;
12
+ }
13
+
14
+ /* Modal Backdrop */
15
+ .clone-backdrop {
16
+ width: 100%;
17
+ height: 100%;
18
+ background: rgba(10, 10, 16, 0.75);
19
+ backdrop-filter: blur(4px);
20
+ display: flex;
21
+ align-items: center;
22
+ justify-content: center;
23
+ padding: 20px;
24
+ box-sizing: border-box;
25
+ animation: fadeIn 0.15s ease-out;
26
+ }
27
+
28
+ @keyframes fadeIn {
29
+ from { opacity: 0; }
30
+ to { opacity: 1; }
31
+ }
32
+
33
+ @keyframes scaleUp {
34
+ from { transform: scale(0.96); opacity: 0; }
35
+ to { transform: scale(1); opacity: 1; }
36
+ }
37
+
38
+ /* Modal Dialog Card */
39
+ .clone-dialog {
40
+ width: 100%;
41
+ max-width: 680px;
42
+ background: #181824;
43
+ border: 1px solid #33334d;
44
+ border-radius: 10px;
45
+ box-shadow: 0 16px 40px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.05);
46
+ display: flex;
47
+ flex-direction: column;
48
+ overflow: hidden;
49
+ animation: scaleUp 0.15s ease-out;
50
+ }
51
+
52
+ /* Header */
53
+ .clone-header {
54
+ display: flex;
55
+ align-items: center;
56
+ justify-content: space-between;
57
+ padding: 14px 18px;
58
+ background: #14141e;
59
+ border-bottom: 1px solid #28283c;
60
+ }
61
+
62
+ .clone-title-row {
63
+ display: flex;
64
+ align-items: center;
65
+ gap: 8px;
66
+ font-size: 0.95rem;
67
+ font-weight: 600;
68
+ }
69
+
70
+ .clone-header-icon {
71
+ font-size: 1.1rem;
72
+ color: #818cf8;
73
+ }
74
+
75
+ .clone-header-title {
76
+ color: #94a3b8;
77
+ letter-spacing: 0.5px;
78
+ }
79
+
80
+ .clone-target-title {
81
+ color: #f8fafc;
82
+ background: #232338;
83
+ padding: 2px 8px;
84
+ border-radius: 4px;
85
+ border: 1px solid #3a3a55;
86
+ }
87
+
88
+ .btn-clone-close {
89
+ background: transparent;
90
+ border: none;
91
+ color: #94a3b8;
92
+ font-size: 1.1rem;
93
+ cursor: pointer;
94
+ padding: 4px 8px;
95
+ border-radius: 4px;
96
+ transition: all 0.15s ease;
97
+ }
98
+
99
+ .btn-clone-close:hover {
100
+ background: rgba(255, 255, 255, 0.1);
101
+ color: #fff;
102
+ }
103
+
104
+ /* Sections */
105
+ .clone-section {
106
+ padding: 14px 18px;
107
+ border-bottom: 1px solid #232336;
108
+ }
109
+
110
+ .section-label {
111
+ font-size: 0.75rem;
112
+ font-weight: 700;
113
+ color: #71719a;
114
+ text-transform: uppercase;
115
+ letter-spacing: 0.6px;
116
+ margin-bottom: 8px;
117
+ display: block;
118
+ }
119
+
120
+ .section-header-row {
121
+ display: flex;
122
+ justify-content: space-between;
123
+ align-items: center;
124
+ margin-bottom: 8px;
125
+ }
126
+
127
+ .selection-summary {
128
+ font-size: 0.75rem;
129
+ color: #818cf8;
130
+ }
131
+
132
+ /* Scope Selector */
133
+ .scope-options-group {
134
+ display: flex;
135
+ gap: 10px;
136
+ }
137
+
138
+ .scope-option {
139
+ flex: 1;
140
+ display: flex;
141
+ align-items: center;
142
+ gap: 8px;
143
+ padding: 8px 12px;
144
+ background: #1e1e2e;
145
+ border: 1px solid #2e2e46;
146
+ border-radius: 6px;
147
+ cursor: pointer;
148
+ font-size: 0.85rem;
149
+ color: #cbd5e1;
150
+ transition: all 0.15s ease;
151
+ user-select: none;
152
+ }
153
+
154
+ .scope-option:hover:not(.disabled) {
155
+ background: #25253a;
156
+ border-color: #4a4a6b;
157
+ }
158
+
159
+ .scope-option input[type="radio"] {
160
+ accent-color: #6366f1;
161
+ cursor: pointer;
162
+ margin: 0;
163
+ }
164
+
165
+ .scope-option.selected {
166
+ border-color: #6366f1;
167
+ background: #232342;
168
+ color: #fff;
169
+ box-shadow: 0 0 0 1px #6366f1;
170
+ }
171
+
172
+ /* Greyed-out / Disabled scope option rule */
173
+ .scope-option.disabled {
174
+ opacity: 0.35;
175
+ cursor: not-allowed;
176
+ background: #14141f;
177
+ border-color: #222233;
178
+ filter: grayscale(80%);
179
+ }
180
+
181
+ .scope-option.disabled input[type="radio"] {
182
+ cursor: not-allowed;
183
+ }
184
+
185
+ /* Tree Selector Container */
186
+ .clone-tree-container {
187
+ max-height: 160px;
188
+ overflow-y: auto;
189
+ background: #12121c;
190
+ border: 1px solid #252538;
191
+ border-radius: 6px;
192
+ padding: 8px 12px;
193
+ }
194
+
195
+ .clone-single-item-container {
196
+ padding: 12px;
197
+ background: #12121c;
198
+ border: 1px solid #252538;
199
+ border-radius: 6px;
200
+ font-size: 0.85rem;
201
+ }
202
+
203
+ .tree-node {
204
+ display: flex;
205
+ align-items: center;
206
+ gap: 8px;
207
+ padding: 4px 0;
208
+ font-size: 0.85rem;
209
+ }
210
+
211
+ .tree-node.depth-0 {
212
+ font-weight: 600;
213
+ color: #f1f5f9;
214
+ }
215
+
216
+ .tree-node.depth-1 {
217
+ padding-left: 20px;
218
+ color: #cbd5e1;
219
+ }
220
+
221
+ .tree-node.depth-2 {
222
+ padding-left: 40px;
223
+ color: #94a3b8;
224
+ }
225
+
226
+ .tree-node input[type="checkbox"] {
227
+ accent-color: #6366f1;
228
+ cursor: pointer;
229
+ margin: 0;
230
+ }
231
+
232
+ .tree-node .node-icon {
233
+ font-size: 0.95rem;
234
+ }
235
+
236
+ .tree-node .node-badge {
237
+ font-size: 0.7rem;
238
+ padding: 1px 5px;
239
+ background: #2a2a44;
240
+ color: #a5b4fc;
241
+ border-radius: 3px;
242
+ margin-left: 4px;
243
+ }
244
+
245
+ /* Modality Tabs */
246
+ .modality-tabs-bar {
247
+ display: flex;
248
+ gap: 6px;
249
+ margin-bottom: 10px;
250
+ }
251
+
252
+ .modality-tab {
253
+ flex: 1;
254
+ background: #1e1e2e;
255
+ border: 1px solid #2e2e46;
256
+ color: #94a3b8;
257
+ padding: 7px 12px;
258
+ border-radius: 5px;
259
+ font-size: 0.8rem;
260
+ font-weight: 500;
261
+ cursor: pointer;
262
+ transition: all 0.15s ease;
263
+ }
264
+
265
+ .modality-tab:hover {
266
+ background: #242438;
267
+ color: #cbd5e1;
268
+ }
269
+
270
+ .modality-tab.active {
271
+ background: #2b2b48;
272
+ border-color: #6366f1;
273
+ color: #fff;
274
+ font-weight: 600;
275
+ }
276
+
277
+ /* Modality Panels */
278
+ .modality-panel {
279
+ display: none;
280
+ }
281
+
282
+ .modality-panel.active {
283
+ display: block;
284
+ }
285
+
286
+ /* CLI Preview */
287
+ .cli-command-box {
288
+ position: relative;
289
+ background: #0d0d14;
290
+ border: 1px solid #242436;
291
+ border-radius: 6px;
292
+ padding: 12px 14px;
293
+ display: flex;
294
+ justify-content: space-between;
295
+ align-items: center;
296
+ }
297
+
298
+ .clone-cmd-preview {
299
+ margin: 0;
300
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
301
+ font-size: 0.82rem;
302
+ color: #a5b4fc;
303
+ white-space: pre-wrap;
304
+ word-break: break-all;
305
+ line-height: 1.45;
306
+ flex: 1;
307
+ }
308
+
309
+ .btn-clone-copy {
310
+ background: #25253d;
311
+ border: 1px solid #3d3d62;
312
+ color: #e2e8f0;
313
+ padding: 6px 12px;
314
+ border-radius: 5px;
315
+ font-size: 0.8rem;
316
+ cursor: pointer;
317
+ white-space: nowrap;
318
+ margin-left: 12px;
319
+ transition: all 0.15s ease;
320
+ }
321
+
322
+ .btn-clone-copy:hover {
323
+ background: #333355;
324
+ border-color: #6366f1;
325
+ color: #fff;
326
+ }
327
+
328
+ .btn-clone-copy.copied {
329
+ background: #065f46;
330
+ border-color: #10b981;
331
+ color: #a7f3d0;
332
+ }
333
+
334
+ /* Download Panels */
335
+ .download-info-box {
336
+ background: #12121c;
337
+ border: 1px solid #242436;
338
+ border-radius: 6px;
339
+ padding: 14px;
340
+ text-align: center;
341
+ }
342
+
343
+ .download-desc {
344
+ margin: 0 0 12px 0;
345
+ font-size: 0.82rem;
346
+ color: #94a3b8;
347
+ line-height: 1.4;
348
+ }
349
+
350
+ .btn-action.btn-download {
351
+ background: #4f46e5;
352
+ border: 1px solid #6366f1;
353
+ color: #fff;
354
+ padding: 9px 20px;
355
+ border-radius: 6px;
356
+ font-size: 0.85rem;
357
+ font-weight: 600;
358
+ cursor: pointer;
359
+ transition: all 0.15s ease;
360
+ }
361
+
362
+ .btn-action.btn-download:hover {
363
+ background: #4338ca;
364
+ box-shadow: 0 0 12px rgba(99, 102, 241, 0.4);
365
+ }
366
+
367
+ /* Status Feedback */
368
+ .clone-status-message {
369
+ padding: 0 18px;
370
+ height: 0;
371
+ font-size: 0.78rem;
372
+ transition: all 0.2s ease;
373
+ overflow: hidden;
374
+ display: flex;
375
+ align-items: center;
376
+ }
377
+
378
+ .clone-status-message.visible {
379
+ height: 32px;
380
+ background: #102a1e;
381
+ color: #6ee7b7;
382
+ border-top: 1px solid #134e38;
383
+ }
@@ -0,0 +1,89 @@
1
+ <div id="clone-backdrop" class="clone-backdrop">
2
+ <div id="clone-dialog" class="clone-dialog" role="dialog" aria-modal="true" aria-labelledby="clone-target-title">
3
+
4
+ <!-- Header -->
5
+ <div id="clone-header" class="clone-header">
6
+ <div class="clone-title-row">
7
+ <span class="clone-header-icon">⤓</span>
8
+ <span class="clone-header-title">CLONE &amp; EXPORT:</span>
9
+ <span id="clone-target-title" class="clone-target-title">Cosmos 1</span>
10
+ </div>
11
+ <button id="btn-clone-close" class="btn-clone-close" title="Close" aria-label="Close dialog">✕</button>
12
+ </div>
13
+
14
+ <!-- Target Scope Selector -->
15
+ <div class="clone-section scope-section">
16
+ <span class="section-label">Target Scope:</span>
17
+ <div class="scope-options-group">
18
+ <label class="scope-option" id="scope-cosmos-label">
19
+ <input type="radio" name="clone-scope" id="scope-cosmos" value="cosmos" checked>
20
+ <span class="scope-icon">🌌</span>
21
+ <span class="scope-text">Cosmos</span>
22
+ </label>
23
+ <label class="scope-option" id="scope-galaxy-label">
24
+ <input type="radio" name="clone-scope" id="scope-galaxy" value="galaxy">
25
+ <span class="scope-icon">🪐</span>
26
+ <span class="scope-text">Galaxy</span>
27
+ </label>
28
+ <label class="scope-option" id="scope-item-label">
29
+ <input type="radio" name="clone-scope" id="scope-item" value="item">
30
+ <span class="scope-icon">📄</span>
31
+ <span class="scope-text">Single Item</span>
32
+ </label>
33
+ </div>
34
+ </div>
35
+
36
+ <!-- Tree Selection Area -->
37
+ <div class="clone-section tree-section">
38
+ <div class="section-header-row">
39
+ <span class="section-label">SELECT GALAXIES &amp; BRANCHES:</span>
40
+ <span id="clone-selection-summary" class="selection-summary">All active branches selected</span>
41
+ </div>
42
+ <div id="clone-tree-container" class="clone-tree-container">
43
+ <!-- Dynamically populated Cosmos -> Galaxy -> Branch tree -->
44
+ </div>
45
+ <div id="clone-single-item-container" class="clone-single-item-container" style="display: none;">
46
+ <!-- Dynamically populated single item details -->
47
+ </div>
48
+ </div>
49
+
50
+ <!-- Clone Modality Selector & Panels -->
51
+ <div class="clone-section modality-section">
52
+ <div class="section-label">CLONE METHOD:</div>
53
+ <div class="modality-tabs-bar">
54
+ <button type="button" id="tab-cli" class="modality-tab active" data-modality="cli">CLI Command</button>
55
+ <button type="button" id="tab-zip" class="modality-tab" data-modality="zip">Download ZIP</button>
56
+ <button type="button" id="tab-dag" class="modality-tab" data-modality="dag">Download .ibgib DAG</button>
57
+ </div>
58
+
59
+ <!-- Panel: CLI Command -->
60
+ <div id="panel-cli" class="modality-panel active">
61
+ <div class="cli-command-box">
62
+ <pre id="clone-cmd-preview" class="clone-cmd-preview"><code>$ vcs clone https://space-gib.localhost/cosmos-1 \
63
+ --galaxy code:main --galaxy notes:main</code></pre>
64
+ <button type="button" id="btn-clone-copy" class="btn-clone-copy" title="Copy to clipboard">📋 Copy</button>
65
+ </div>
66
+ </div>
67
+
68
+ <!-- Panel: Download ZIP -->
69
+ <div id="panel-zip" class="modality-panel">
70
+ <div class="download-info-box">
71
+ <p class="download-desc">Download a clean workspace filesystem projection formatted as a standard compressed ZIP archive.</p>
72
+ <button type="button" id="btn-clone-download-zip" class="btn-action btn-download">⤓ Download Workspace .zip</button>
73
+ </div>
74
+ </div>
75
+
76
+ <!-- Panel: Download DAG -->
77
+ <div id="panel-dag" class="modality-panel">
78
+ <div class="download-info-box">
79
+ <p class="download-desc">Export the complete, cryptographically verifiable .ibgib dependency graph timeline bundle across selected spaces.</p>
80
+ <button type="button" id="btn-clone-download-dag" class="btn-action btn-download">⤓ Export .ibgib Bundle</button>
81
+ </div>
82
+ </div>
83
+ </div>
84
+
85
+ <!-- Status / Feedback Toast -->
86
+ <div id="clone-status-message" class="clone-status-message"></div>
87
+
88
+ </div>
89
+ </div>