@codeyam/codeyam-cli 0.1.23 → 0.1.24
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.
- package/analyzer-template/.build-info.json +7 -7
- package/analyzer-template/log.txt +3 -3
- package/analyzer-template/packages/database/src/lib/loadAnalysis.ts +7 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js +7 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -1
- package/analyzer-template/project/runMultiScenarioServer.ts +26 -3
- package/background/src/lib/virtualized/project/runMultiScenarioServer.js +23 -3
- package/background/src/lib/virtualized/project/runMultiScenarioServer.js.map +1 -1
- package/codeyam-cli/src/commands/__tests__/editor.designSystem.test.js +30 -0
- package/codeyam-cli/src/commands/__tests__/editor.designSystem.test.js.map +1 -0
- package/codeyam-cli/src/commands/editor.js +72 -23
- package/codeyam-cli/src/commands/editor.js.map +1 -1
- package/codeyam-cli/src/data/designSystems.js +27 -0
- package/codeyam-cli/src/data/designSystems.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/editorApi.test.js +44 -0
- package/codeyam-cli/src/utils/__tests__/editorApi.test.js.map +1 -1
- package/codeyam-cli/src/utils/editorApi.js +16 -0
- package/codeyam-cli/src/utils/editorApi.js.map +1 -1
- package/codeyam-cli/src/utils/queue/__tests__/job.interactiveStart.test.js +159 -0
- package/codeyam-cli/src/utils/queue/__tests__/job.interactiveStart.test.js.map +1 -0
- package/codeyam-cli/src/utils/queue/job.js +9 -1
- package/codeyam-cli/src/utils/queue/job.js.map +1 -1
- package/codeyam-cli/src/webserver/__tests__/api.interactive-switch-scenario.test.js +98 -0
- package/codeyam-cli/src/webserver/__tests__/api.interactive-switch-scenario.test.js.map +1 -0
- package/codeyam-cli/src/webserver/app/routes/api.interactive-switch-scenario.js +34 -0
- package/codeyam-cli/src/webserver/app/routes/api.interactive-switch-scenario.js.map +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-CKeQT5Ty.js → InteractivePreview-DtYTSPL2.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{ScenarioViewer-DUMfcNVK.js → ScenarioViewer-CefgqbCr.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/Spinner-Bc8BG-Lw.js +34 -0
- package/codeyam-cli/src/webserver/build/client/assets/{_index-BAWd-Xjf.js → _index-C1YkzTAV.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{activity.(_tab)-BOARiB-g.js → activity.(_tab)-yH46LLUz.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-verify-routes-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.interactive-switch-scenario-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{dev.empty-C8y4mmyv.js → dev.empty-CRepiabR.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{editor.entity.(_sha)-DMv5ESGo.js → editor.entity.(_sha)-oBrbke_R.js} +16 -16
- package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-ByHz6rAQ.js → entity._sha._-DYJRGiDI.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{entity._sha.scenarios._scenarioId.dev-CmLO432x.js → entity._sha.scenarios._scenarioId.dev-wdiwx5-Z.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{entity._sha.scenarios._scenarioId.fullscreen-Bz9sCUF_.js → entity._sha.scenarios._scenarioId.fullscreen-BrkN-40Y.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.create-scenario-DQM8E7L4.js → entity._sha_.create-scenario-DxfhekTZ.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-CAoXLsQr.js → entity._sha_.edit._scenarioId-CRXJWmpB.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/manifest-694b698a.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{root-D2_tktnk.js → root-DXjFYOxD.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-D9QZKaLJ.js +2 -0
- package/codeyam-cli/src/webserver/build/server/assets/{analysisRunner-By5slFjw.js → analysisRunner-zEYtiv0T.js} +1 -1
- package/codeyam-cli/src/webserver/build/server/assets/{index-DXaOwBnm.js → index-CcHPEbhi.js} +1 -1
- package/codeyam-cli/src/webserver/build/server/assets/{init-CLG1LjQM.js → init-D68IyWbU.js} +1 -1
- package/codeyam-cli/src/webserver/build/server/assets/{server-build-NZmUqQv6.js → server-build-Cxzo0Zp2.js} +147 -147
- package/codeyam-cli/src/webserver/build/server/index.js +1 -1
- package/codeyam-cli/src/webserver/build-info.json +5 -5
- package/codeyam-cli/src/webserver/terminalServer.js +1 -2
- package/codeyam-cli/src/webserver/terminalServer.js.map +1 -1
- package/codeyam-cli/templates/design-systems/clean-dashboard-design-system.md +255 -0
- package/codeyam-cli/templates/design-systems/editorial-design-system.md +267 -0
- package/codeyam-cli/templates/design-systems/mono-brutalist-design-system.md +256 -0
- package/codeyam-cli/templates/design-systems/neo-brutalist-design-system.md +294 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/seed-adapter.ts +10 -5
- package/codeyam-cli/templates/seed-adapters/supabase.ts +14 -5
- package/package.json +1 -1
- package/packages/database/src/lib/loadAnalysis.js +7 -1
- package/packages/database/src/lib/loadAnalysis.js.map +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/Spinner-D0LgAaSa.js +0 -34
- package/codeyam-cli/src/webserver/build/client/assets/manifest-1a45e154.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-BNd5hYuW.js +0 -2
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
# Neo-Brutalist Design System
|
|
2
|
+
|
|
3
|
+
> Hard-edged, warm, editorial UI. Offset shadows, bold borders, hot pink accent. For any web or mobile app.
|
|
4
|
+
|
|
5
|
+
## Philosophy
|
|
6
|
+
|
|
7
|
+
Heavy black borders and offset box shadows create a "printed" feel. Warm off-white base (never pure white or grey). Typography is heavy and confident. No gradients. No rounded corners over 18px.
|
|
8
|
+
|
|
9
|
+
**Rules:**
|
|
10
|
+
|
|
11
|
+
1. Cards always have `border: 2px solid` + offset box shadow
|
|
12
|
+
2. Interactive elements "press" on hover/active (`translate(2px, 2px)`, shadow removed)
|
|
13
|
+
3. Dark mode inverts backgrounds but keeps accent colors identical
|
|
14
|
+
4. Dark cards/sidebar stay dark in both modes
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Colors
|
|
19
|
+
|
|
20
|
+
### Light Mode
|
|
21
|
+
|
|
22
|
+
```css
|
|
23
|
+
[data-theme='light'] {
|
|
24
|
+
--bg-base: #f5f0e8; /* warm off-white page bg */
|
|
25
|
+
--bg-surface: #ffffff; /* cards, panels */
|
|
26
|
+
--bg-muted: #ede8de; /* subtle sections, table headers */
|
|
27
|
+
--bg-inverse: #0d0d0d; /* dark surfaces */
|
|
28
|
+
|
|
29
|
+
--text-primary: #0d0d0d;
|
|
30
|
+
--text-secondary: #666666;
|
|
31
|
+
--text-muted: #999999;
|
|
32
|
+
--text-inverse: #ffffff;
|
|
33
|
+
|
|
34
|
+
--border: #0d0d0d;
|
|
35
|
+
--border-light: #e5ddd0; /* internal dividers */
|
|
36
|
+
|
|
37
|
+
--shadow-sm: 2px 2px 0px #0d0d0d;
|
|
38
|
+
--shadow-md: 4px 4px 0px #0d0d0d;
|
|
39
|
+
--shadow-lg: 6px 6px 0px #0d0d0d;
|
|
40
|
+
--shadow-accent: 4px 4px 0px #ff90e8;
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Dark Mode
|
|
45
|
+
|
|
46
|
+
```css
|
|
47
|
+
[data-theme='dark'] {
|
|
48
|
+
--bg-base: #111111;
|
|
49
|
+
--bg-surface: #1a1a1a;
|
|
50
|
+
--bg-muted: #222222;
|
|
51
|
+
--text-primary: #f5f0e8;
|
|
52
|
+
--text-secondary: #aaaaaa;
|
|
53
|
+
--text-muted: #666666;
|
|
54
|
+
--text-inverse: #0d0d0d;
|
|
55
|
+
--border: #f5f0e8;
|
|
56
|
+
--border-light: #2a2a2a;
|
|
57
|
+
--shadow-sm: 2px 2px 0px #f5f0e8;
|
|
58
|
+
--shadow-md: 4px 4px 0px #f5f0e8;
|
|
59
|
+
--shadow-lg: 6px 6px 0px #f5f0e8;
|
|
60
|
+
/* Accents unchanged. Dark cards/sidebar unchanged. */
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Respect `@media (prefers-color-scheme: dark)` on `:root:not([data-theme="light"])`.
|
|
65
|
+
|
|
66
|
+
### Accents
|
|
67
|
+
|
|
68
|
+
```css
|
|
69
|
+
/* These don't change between modes */
|
|
70
|
+
--pink: #ff90e8; /* primary: CTAs, active nav, highlights */
|
|
71
|
+
--pink-light: #ffe4f8;
|
|
72
|
+
--teal: #14b8a6; /* secondary: success states, live data */
|
|
73
|
+
--teal-light: #ccfbf1;
|
|
74
|
+
--teal-dark: #0f766e;
|
|
75
|
+
--yellow: #facc15; /* tertiary: alerts, featured labels */
|
|
76
|
+
--yellow-light: #fef9c3;
|
|
77
|
+
--yellow-dark: #ca8a04;
|
|
78
|
+
--orange: #fb923c; /* quaternary: warnings */
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Semantic
|
|
82
|
+
|
|
83
|
+
```css
|
|
84
|
+
--success-bg: #d1fae5;
|
|
85
|
+
--success-text: #065f46;
|
|
86
|
+
--danger-bg: #fee2e2;
|
|
87
|
+
--danger-text: #991b1b;
|
|
88
|
+
--warning-bg: #fef9c3;
|
|
89
|
+
--warning-text: #854d0e;
|
|
90
|
+
/* Dark mode: --success-bg: #052e16; --success-text: #86efac; etc. */
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Ordered Palette
|
|
94
|
+
|
|
95
|
+
```css
|
|
96
|
+
/* For any categorical sequence: tags, categories, avatars, etc. */
|
|
97
|
+
--palette-1: #ff90e8; /* pink */
|
|
98
|
+
--palette-2: #14b8a6; /* teal */
|
|
99
|
+
--palette-3: #facc15; /* yellow */
|
|
100
|
+
--palette-4: #fb923c; /* orange */
|
|
101
|
+
--palette-5: #818cf8; /* purple */
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Typography
|
|
107
|
+
|
|
108
|
+
**Font stack:** `'DM Sans', sans-serif` (body), `'DM Serif Display', serif` (display/h1), `'DM Mono', monospace` (code)
|
|
109
|
+
|
|
110
|
+
| Style | Size | Weight | Notes |
|
|
111
|
+
| ----------- | ------------------------ | ------------------- | ----------------------------------------------------- |
|
|
112
|
+
| Display | `clamp(28px, 4vw, 48px)` | 400 (Serif Display) | `letter-spacing: -1.5px; line-height: 1.1` |
|
|
113
|
+
| H1 | `clamp(22px, 3vw, 36px)` | 900 | `letter-spacing: -1px` |
|
|
114
|
+
| H2 | 20px | 900 | `letter-spacing: -0.5px` |
|
|
115
|
+
| H3 | 15px | 700 | |
|
|
116
|
+
| Label | 11px | 700 | `uppercase; letter-spacing: 1px; color: --text-muted` |
|
|
117
|
+
| Body | 14px | 400 | `line-height: 1.6` |
|
|
118
|
+
| Body SM | 13px | 400 | `line-height: 1.5` |
|
|
119
|
+
| Large Value | `clamp(22px, 3vw, 32px)` | 900 | `letter-spacing: -1px` — for emphasized numbers |
|
|
120
|
+
|
|
121
|
+
**Common pattern — eyebrow + title:** Label above H2 in almost every section.
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Spacing & Radius
|
|
126
|
+
|
|
127
|
+
Base unit: 4px. Scale: 4, 8, 12, 16, 20, 24, 28, 32, 40, 48px.
|
|
128
|
+
|
|
129
|
+
| Context | Value |
|
|
130
|
+
| ---------------------- | ----------- |
|
|
131
|
+
| Card padding (compact) | `16px 18px` |
|
|
132
|
+
| Card padding (default) | `22px 24px` |
|
|
133
|
+
| Card padding (large) | `28px 28px` |
|
|
134
|
+
| Grid gap | 18px |
|
|
135
|
+
|
|
136
|
+
```css
|
|
137
|
+
--radius-sm: 8px;
|
|
138
|
+
--radius-md: 12px;
|
|
139
|
+
--radius-lg: 18px; /* cards — max radius in the system */
|
|
140
|
+
--radius-pill: 999px; /* badges, avatars */
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Layout
|
|
146
|
+
|
|
147
|
+
### Common Patterns
|
|
148
|
+
|
|
149
|
+
- **Sidebar:** 220px fixed left, `--bg-inverse`, always dark in both modes
|
|
150
|
+
- **Top nav:** Sticky, 64px height, `--bg-base`, bottom border
|
|
151
|
+
- **Bottom nav (mobile):** Fixed, 64px, `--pink-light` active bg. Add `env(safe-area-inset-bottom)` padding
|
|
152
|
+
- **Main content:** flex-1, `--bg-base`, padding `36px 40px`
|
|
153
|
+
|
|
154
|
+
### Navigation States
|
|
155
|
+
|
|
156
|
+
- Logo mark: 36px accent square + bold name
|
|
157
|
+
- Nav items: 14px, `10px 14px` padding, rounded 10px. Hover/active → `--pink` bg + dark text
|
|
158
|
+
- Top nav active link: inverse bg pill
|
|
159
|
+
|
|
160
|
+
### Mobile / Small Viewport
|
|
161
|
+
|
|
162
|
+
- Single column, 16px padding
|
|
163
|
+
- Cards stack vertically, buttons full-width in forms
|
|
164
|
+
- Reduce shadows to `--shadow-sm`
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## Components
|
|
169
|
+
|
|
170
|
+
### Card
|
|
171
|
+
|
|
172
|
+
```css
|
|
173
|
+
.card {
|
|
174
|
+
background: var(--bg-surface);
|
|
175
|
+
border: 2px solid var(--border);
|
|
176
|
+
border-radius: var(--radius-lg);
|
|
177
|
+
padding: 22px 24px;
|
|
178
|
+
box-shadow: var(--shadow-md);
|
|
179
|
+
position: relative;
|
|
180
|
+
overflow: hidden;
|
|
181
|
+
}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
**Variants:** `default` (white), `dark` (inverse bg + accent shadow), `pink`, `teal`, `yellow`, `muted` (base bg).
|
|
185
|
+
|
|
186
|
+
**Interactive states:** hover → `translateY(-3px)` + `shadow-lg`. Active → `translate(2px, 2px)` + `shadow-sm`.
|
|
187
|
+
|
|
188
|
+
### Value Card
|
|
189
|
+
|
|
190
|
+
Card with: decorative accent circle (top-right, 64px, 20% opacity), icon box (40px, accent bg, 2px border, rounded 10px), label (eyebrow), emphasized value (Large Value style), optional trend badge (pill, success/danger colors).
|
|
191
|
+
|
|
192
|
+
### Button
|
|
193
|
+
|
|
194
|
+
```css
|
|
195
|
+
.btn {
|
|
196
|
+
padding: 11px 22px;
|
|
197
|
+
border-radius: var(--radius-md);
|
|
198
|
+
font-weight: 700;
|
|
199
|
+
font-size: 14px;
|
|
200
|
+
border: 2px solid var(--border);
|
|
201
|
+
}
|
|
202
|
+
.btn:hover {
|
|
203
|
+
transform: translate(-1px, -1px);
|
|
204
|
+
}
|
|
205
|
+
.btn:active {
|
|
206
|
+
transform: translate(2px, 2px);
|
|
207
|
+
box-shadow: none;
|
|
208
|
+
}
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
| Variant | Background | Text | Border/Shadow |
|
|
212
|
+
| --------- | -------------- | ---------------- | ------------------------- |
|
|
213
|
+
| Primary | `--pink` | `--text-primary` | `--shadow-md` |
|
|
214
|
+
| Secondary | `--bg-surface` | `--text-primary` | `--shadow-sm` |
|
|
215
|
+
| Teal | `--teal` | `--text-primary` | `--shadow-md` |
|
|
216
|
+
| Yellow | `--yellow` | `--text-primary` | `--shadow-md` |
|
|
217
|
+
| Dark | `--bg-inverse` | `--text-inverse` | `--shadow-accent` |
|
|
218
|
+
| Ghost | transparent | `--text-primary` | none; hover: `--bg-muted` |
|
|
219
|
+
|
|
220
|
+
| Size | Padding | Font Size |
|
|
221
|
+
| ------------ | ----------- | --------- |
|
|
222
|
+
| SM | `7px 14px` | 12px |
|
|
223
|
+
| MD (default) | `11px 22px` | 14px |
|
|
224
|
+
| LG | `15px 30px` | 16px |
|
|
225
|
+
|
|
226
|
+
Icon-only: 40x40, no padding, `--radius-sm`.
|
|
227
|
+
|
|
228
|
+
### Badge / Pill
|
|
229
|
+
|
|
230
|
+
`padding: 3px 10px; border-radius: 999px; font-size: 11px; font-weight: 700; border: 1.5px solid currentColor`. Semantic variants: success, danger, warning, pink, teal, yellow, neutral. Solid variant: inverse bg+text.
|
|
231
|
+
|
|
232
|
+
### Input
|
|
233
|
+
|
|
234
|
+
`padding: 11px 16px; border: 2px solid var(--border); border-radius: var(--radius-md); font-size: 14px`. Focus: `box-shadow: 0 0 0 3px var(--pink)`. Input-group: input + button joined with zero'd inner radii.
|
|
235
|
+
|
|
236
|
+
### Table
|
|
237
|
+
|
|
238
|
+
Container: card shell (border, radius-lg, shadow-md, overflow hidden). Header: `--bg-muted`, 11px uppercase labels. Rows: `16px 28px` padding, `--border-light` divider, hover → muted bg.
|
|
239
|
+
|
|
240
|
+
### Progress Bar
|
|
241
|
+
|
|
242
|
+
Track: 12px height, `--bg-muted`, pill radius, 2px border. Fill: pill radius, accent color. Animate: `width 0.8s cubic-bezier(0.34, 1.56, 0.64, 1)`.
|
|
243
|
+
|
|
244
|
+
### Avatar
|
|
245
|
+
|
|
246
|
+
Square-ish (`--radius-sm`), 2px border. Sizes: 28/36/48px. Cycle through ordered palette colors.
|
|
247
|
+
|
|
248
|
+
### Tag / Chip
|
|
249
|
+
|
|
250
|
+
`padding: 5px 12px; border-radius: 999px; border: 2px solid var(--border); font-size: 13px; font-weight: 600`. Hover → pink bg. Active → inverse bg+text.
|
|
251
|
+
|
|
252
|
+
### Tooltip
|
|
253
|
+
|
|
254
|
+
`background: --bg-inverse; border: 2px solid --pink; border-radius: --radius-md; padding: 10px 16px; color: --text-inverse; font-size: 13px`. Bold label + bold value.
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## Motion
|
|
259
|
+
|
|
260
|
+
```css
|
|
261
|
+
--transition-fast: 120ms ease; /* button press */
|
|
262
|
+
--transition-base: 180ms ease; /* card hover, general */
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
Bouncy and tactile — elements lift and press. Staggered fade-up on page load:
|
|
266
|
+
|
|
267
|
+
```css
|
|
268
|
+
@keyframes fadeUp {
|
|
269
|
+
from {
|
|
270
|
+
opacity: 0;
|
|
271
|
+
transform: translateY(12px);
|
|
272
|
+
}
|
|
273
|
+
to {
|
|
274
|
+
opacity: 1;
|
|
275
|
+
transform: translateY(0);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
/* animation: fadeUp 0.4s ease forwards; delay: n * 0.05s */
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## Checklist
|
|
284
|
+
|
|
285
|
+
- [ ] Background is `#F5F0E8` (light) or `#111111` (dark) — never pure white or grey
|
|
286
|
+
- [ ] Every card has 2px border + offset box shadow
|
|
287
|
+
- [ ] Interactive elements press-shift on :active
|
|
288
|
+
- [ ] DM Sans (body) + DM Serif Display (headlines) + DM Mono (code)
|
|
289
|
+
- [ ] At least one pink element visible on every screen
|
|
290
|
+
- [ ] Labels: 11px uppercase, letter-spacing 1px
|
|
291
|
+
- [ ] Badges are pill-shaped with border
|
|
292
|
+
- [ ] Dark sidebar/cards unchanged in dark mode
|
|
293
|
+
- [ ] No gradients anywhere
|
|
294
|
+
- [ ] Spacing follows 4px grid
|
|
@@ -37,7 +37,12 @@ async function main() {
|
|
|
37
37
|
const data = JSON.parse(raw);
|
|
38
38
|
const seed = data.seed || data;
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
// Discover ALL models from the Prisma schema — not just the tables in the seed data.
|
|
41
|
+
// This ensures FK-dependent tables (e.g., Passenger → Flight) are cleared even when
|
|
42
|
+
// the seed only contains the parent table's data.
|
|
43
|
+
const allModels = Prisma.dmmf.datamodel.models.map(
|
|
44
|
+
(m) => m.name.charAt(0).toLowerCase() + m.name.slice(1),
|
|
45
|
+
);
|
|
41
46
|
|
|
42
47
|
// Run everything in a single transaction for atomicity and speed.
|
|
43
48
|
// SQLite auto-commits each statement by default — wrapping in a transaction
|
|
@@ -48,8 +53,8 @@ async function main() {
|
|
|
48
53
|
// clearing parent and child tables.
|
|
49
54
|
await tx.$executeRawUnsafe('PRAGMA foreign_keys = OFF');
|
|
50
55
|
|
|
51
|
-
// Wipe
|
|
52
|
-
for (const table of [...
|
|
56
|
+
// Wipe ALL tables in the schema (not just seeded ones)
|
|
57
|
+
for (const table of [...allModels].reverse()) {
|
|
53
58
|
try {
|
|
54
59
|
await (tx as any)[table].deleteMany();
|
|
55
60
|
} catch {
|
|
@@ -57,10 +62,10 @@ async function main() {
|
|
|
57
62
|
}
|
|
58
63
|
}
|
|
59
64
|
|
|
60
|
-
// Batch-reset auto-increment counters
|
|
65
|
+
// Batch-reset auto-increment counters for ALL tables.
|
|
61
66
|
// Without this, SQLite IDs keep climbing across scenario switches,
|
|
62
67
|
// causing hardcoded URLs like /drinks/1 to 404.
|
|
63
|
-
const seqNames =
|
|
68
|
+
const seqNames = allModels
|
|
64
69
|
.flatMap((t) => [`'${t}'`, `'${t.charAt(0).toUpperCase() + t.slice(1)}'`])
|
|
65
70
|
.join(', ');
|
|
66
71
|
try {
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
*/
|
|
29
29
|
|
|
30
30
|
import { createClient } from '@supabase/supabase-js';
|
|
31
|
+
import { Prisma } from '@prisma/client';
|
|
31
32
|
import * as fs from 'fs';
|
|
32
33
|
import * as path from 'path';
|
|
33
34
|
|
|
@@ -109,13 +110,21 @@ function getProjectRef(): string {
|
|
|
109
110
|
}
|
|
110
111
|
|
|
111
112
|
async function seedTables(seed: Record<string, unknown[]>) {
|
|
112
|
-
|
|
113
|
-
if (tableNames.length === 0) return;
|
|
113
|
+
if (Object.keys(seed).length === 0) return;
|
|
114
114
|
|
|
115
|
-
|
|
115
|
+
// Discover ALL models from the Prisma schema — not just the tables in the seed data.
|
|
116
|
+
// This ensures FK-dependent tables are cleared even when the seed only contains
|
|
117
|
+
// the parent table's data. Every editor project has Prisma installed.
|
|
118
|
+
const allModels = Prisma.dmmf.datamodel.models.map(
|
|
119
|
+
(m) => m.name.charAt(0).toLowerCase() + m.name.slice(1),
|
|
120
|
+
);
|
|
121
|
+
|
|
122
|
+
console.log(
|
|
123
|
+
`Clearing ${allModels.length} tables, seeding: ${Object.keys(seed).join(', ')}`,
|
|
124
|
+
);
|
|
116
125
|
|
|
117
|
-
//
|
|
118
|
-
for (const table of [...
|
|
126
|
+
// Clear ALL tables in reverse order (children before parents for FK safety)
|
|
127
|
+
for (const table of [...allModels].reverse()) {
|
|
119
128
|
const { error } = await supabase.from(table).delete().gte('id', 0);
|
|
120
129
|
if (error) {
|
|
121
130
|
const { error: error2 } = await supabase
|
package/package.json
CHANGED
|
@@ -91,7 +91,13 @@ export default async function loadAnalysis({ id, analysisBranchId, projectId, fi
|
|
|
91
91
|
const analysis = await query.executeTakeFirst();
|
|
92
92
|
const queryTime = Date.now() - startTime;
|
|
93
93
|
if (!analysis) {
|
|
94
|
-
|
|
94
|
+
// When queried by dependencyAnalyzedTreeSha, this is a cache check
|
|
95
|
+
// (findValidExistingAnalysis pattern). Not finding a cached analysis is
|
|
96
|
+
// expected for new entities — log as debug, not error.
|
|
97
|
+
const isExpectedMiss = !!dependencyAnalyzedTreeSha;
|
|
98
|
+
awsLog(isExpectedMiss
|
|
99
|
+
? `CodeYam: Analysis cache miss for dependency tree SHA ${dependencyAnalyzedTreeSha.substring(0, 12)}...`
|
|
100
|
+
: `CodeYam Error: Analysis not found${entityName ? ` for ${entityName}` : ''}${id ? ` (id=${id})` : ''}`, null, {
|
|
95
101
|
id,
|
|
96
102
|
analysisBranchId,
|
|
97
103
|
projectId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadAnalysis.js","sourceRoot":"","sources":["../../../../../../packages/database/src/lib/loadAnalysis.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"loadAnalysis.js","sourceRoot":"","sources":["../../../../../../packages/database/src/lib/loadAnalysis.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import{d as P,r as t}from"./chunk-JZWAC4HX-BAdwhyCx.js";import{u as _}from"./useLastLogLine-BNd5hYuW.js";import{j as y}from"./jsx-runtime-D_zvdyIk.js";function R(s){const o=s.replace(/[^a-zA-Z0-9_]+/g,"_");return o.slice(0,1).toUpperCase()+o.slice(1)}function G({analysisId:s,scenarioId:o,scenarioName:i,entityName:c,projectSlug:m,enabled:x=!0,refreshTrigger:p=0}){const k=P(),[b,E]=t.useState(null),[q,U]=t.useState(!1),[z,u]=t.useState(!1),[A,f]=t.useState(!1),v=t.useRef(!1),I=t.useRef(null),g=t.useRef(null),h=t.useRef(null),[F,w]=t.useState(0),[j,M]=t.useState(0),r=t.useRef(null),l=t.useRef(!1),{interactiveUrl:L,resetLogs:T}=_(m,x),C=t.useRef(o),B=t.useRef(p);t.useEffect(()=>{B.current!==p&&(B.current=p,b&&(console.log("[useInteractiveMode] Manual refresh triggered"),u(!0),f(!1),w(0),M(e=>e+1),l.current=!1,r.current&&(clearTimeout(r.current),r.current=null)))},[p,b]),t.useEffect(()=>{if(C.current!==o&&(C.current=o,I.current&&g.current&&i)){let e=I.current;if(h.current&&c){const a=R(h.current),d=R(c);a!==d&&(e=e.replace(a,d),h.current=c)}const n=R(g.current),S=R(i);e=e.replace(n,S),g.current=i,E(e),u(!0),f(!1),w(0),M(a=>a+1),l.current=!1,r.current&&(clearTimeout(r.current),r.current=null);return}},[o,i,c]),t.useEffect(()=>{if(L){const e=L+"?width=600px";I.current=e,i&&(g.current=i),c&&(h.current=c),E(e),U(!1),u(!0)}},[L]),t.useEffect(()=>{const e=n=>{n.data.type==="codeyam-resize"&&(l.current||(l.current=!0,r.current&&(clearTimeout(r.current),r.current=null),w(0),f(!0),requestAnimationFrame(()=>{requestAnimationFrame(()=>{u(!1)})})))};return window.addEventListener("message",e),()=>window.removeEventListener("message",e)},[]);const D=()=>{l.current=!1,r.current&&clearTimeout(r.current);const e=300*Math.pow(2,F);r.current=setTimeout(()=>{l.current||(F<2?(w(n=>n+1),M(n=>n+1),u(!0)):(console.error("[useInteractiveMode] Interactive mode failed to load after 3 attempts - showing iframe anyway"),f(!0),u(!1)))},e)};return t.useEffect(()=>{x&&!v.current&&o&&s&&(v.current=!0,U(!0),f(!1),E(null),(async()=>{if(m)try{await fetch(`/api/logs/${m}`,{method:"DELETE"})}catch(n){console.error("[useInteractiveMode] Failed to clear log file:",n)}T(),k.submit({action:"start",analysisId:s,scenarioId:o},{method:"post",action:"/api/interactive-mode"})})())},[x,o,s,T,m]),t.useEffect(()=>{const e=s,n=()=>{if(v.current&&e){const a=new URLSearchParams({action:"stop",analysisId:e});console.log("[useInteractiveMode] Sending stop request via sendBeacon");const d=navigator.sendBeacon("/api/interactive-mode",a);console.log("[useInteractiveMode] sendBeacon result:",d),d||(console.log("[useInteractiveMode] sendBeacon failed, using fetch fallback"),fetch("/api/interactive-mode",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:a,keepalive:!0}).catch(K=>console.error("Failed to stop interactive mode:",K)))}},S=()=>{n()};return window.addEventListener("beforeunload",S),()=>{window.removeEventListener("beforeunload",S),console.log("[useInteractiveMode] Cleanup running:",{hasStarted:v.current,analysisId:e}),n()}},[s]),{interactiveServerUrl:b,isStarting:q,isLoading:z,showIframe:A,iframeKey:j,onIframeLoad:D}}function H(){return y.jsxs("div",{className:"spinner-container",children:[y.jsx("span",{className:"loader"}),y.jsx("style",{children:`
|
|
2
|
-
.loader {
|
|
3
|
-
width: 48px;
|
|
4
|
-
height: 48px;
|
|
5
|
-
border: 3px solid rgba(0, 92, 117, 0.2);
|
|
6
|
-
border-radius: 50%;
|
|
7
|
-
display: inline-block;
|
|
8
|
-
position: relative;
|
|
9
|
-
box-sizing: border-box;
|
|
10
|
-
animation: rotation 1s linear infinite;
|
|
11
|
-
}
|
|
12
|
-
.loader::after {
|
|
13
|
-
content: '';
|
|
14
|
-
box-sizing: border-box;
|
|
15
|
-
position: absolute;
|
|
16
|
-
left: 50%;
|
|
17
|
-
top: 50%;
|
|
18
|
-
transform: translate(-50%, -50%);
|
|
19
|
-
width: 56px;
|
|
20
|
-
height: 56px;
|
|
21
|
-
border-radius: 50%;
|
|
22
|
-
border: 3px solid;
|
|
23
|
-
border-color: #005c75 transparent;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
@keyframes rotation {
|
|
27
|
-
0% {
|
|
28
|
-
transform: rotate(0deg);
|
|
29
|
-
}
|
|
30
|
-
100% {
|
|
31
|
-
transform: rotate(360deg);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
`})]})}export{H as S,G as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
window.__reactRouterManifest={"entry":{"module":"/assets/entry.client-SuW9syRS.js","imports":["/assets/jsx-runtime-D_zvdyIk.js","/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/index-CWV9XZiG.js"],"css":[]},"routes":{"root":{"id":"root","path":"","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/root-D2_tktnk.js","imports":["/assets/jsx-runtime-D_zvdyIk.js","/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/index-CWV9XZiG.js","/assets/preload-helper-ckwbz45p.js","/assets/cy-logo-cli-Coe5NhbS.js","/assets/ReportIssueModal-C2PLkej3.js","/assets/useReportContext-Cy5Qg_UR.js","/assets/loader-circle-De-7qQ2u.js","/assets/createLucideIcon-4ImjHTVC.js","/assets/book-open-CL-lMgHh.js","/assets/useToast-5HR2j9ZE.js","/assets/useLastLogLine-BNd5hYuW.js","/assets/LogViewer-CM5zg40N.js","/assets/EntityTypeIcon-CD7lGABo.js","/assets/TruncatedFilePath-CK7-NaPZ.js","/assets/chevron-down-GmAjGS9-.js","/assets/circle-check-DFcQkN5j.js","/assets/CopyButton-CLe80MMu.js","/assets/triangle-alert-DqJ0j69l.js","/assets/copy-C6iF61Xs.js"],"css":[]},"routes/entity.$sha.scenarios.$scenarioId.fullscreen":{"id":"routes/entity.$sha.scenarios.$scenarioId.fullscreen","parentId":"root","path":"entity/:sha/scenarios/:scenarioId/fullscreen","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/entity._sha.scenarios._scenarioId.fullscreen-Bz9sCUF_.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/Spinner-D0LgAaSa.js","/assets/useLastLogLine-BNd5hYuW.js","/assets/ViewportInspectBar-BA_Ry-rs.js","/assets/useCustomSizes-DhXHbEjP.js","/assets/cy-logo-cli-Coe5NhbS.js","/assets/InlineSpinner-CgTNOhnu.js"],"css":[]},"routes/entity.$sha.scenarios.$scenarioId.dev":{"id":"routes/entity.$sha.scenarios.$scenarioId.dev","parentId":"root","path":"entity/:sha/scenarios/:scenarioId/dev","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/entity._sha.scenarios._scenarioId.dev-CmLO432x.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/Spinner-D0LgAaSa.js","/assets/useLastLogLine-BNd5hYuW.js","/assets/ViewportInspectBar-BA_Ry-rs.js","/assets/useCustomSizes-DhXHbEjP.js","/assets/cy-logo-cli-Coe5NhbS.js","/assets/InlineSpinner-CgTNOhnu.js","/assets/editorPreview-CluPkvXJ.js","/assets/SafeScreenshot-DanvyBPb.js","/assets/preload-helper-ckwbz45p.js"],"css":[]},"routes/api.editor-journal-screenshot":{"id":"routes/api.editor-journal-screenshot","parentId":"root","path":"api/editor-journal-screenshot","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-journal-screenshot-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-save-scenario-data":{"id":"routes/api.editor-save-scenario-data","parentId":"root","path":"api/editor-save-scenario-data","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-save-scenario-data-l0sNRNKZ.js","imports":[],"css":[]},"routes/entity.$sha_.edit.$scenarioId":{"id":"routes/entity.$sha_.edit.$scenarioId","parentId":"root","path":"entity/:sha/edit/:scenarioId","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/entity._sha_.edit._scenarioId-CAoXLsQr.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/InteractivePreview-CKeQT5Ty.js","/assets/Spinner-D0LgAaSa.js","/assets/preload-helper-ckwbz45p.js","/assets/useLastLogLine-BNd5hYuW.js","/assets/InlineSpinner-CgTNOhnu.js"],"css":[]},"routes/api.editor-register-scenario":{"id":"routes/api.editor-register-scenario","parentId":"root","path":"api/editor-register-scenario","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-register-scenario-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-scenario-coverage":{"id":"routes/api.editor-scenario-coverage","parentId":"root","path":"api/editor-scenario-coverage","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-scenario-coverage-l0sNRNKZ.js","imports":[],"css":[]},"routes/entity.$sha_.create-scenario":{"id":"routes/entity.$sha_.create-scenario","parentId":"root","path":"entity/:sha/create-scenario","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/entity._sha_.create-scenario-DQM8E7L4.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/InteractivePreview-CKeQT5Ty.js","/assets/Spinner-D0LgAaSa.js","/assets/executionFlowCoverage-BWhdfn70.js","/assets/preload-helper-ckwbz45p.js","/assets/useLastLogLine-BNd5hYuW.js","/assets/InlineSpinner-CgTNOhnu.js"],"css":[]},"routes/api.editor-capture-scenario":{"id":"routes/api.editor-capture-scenario","parentId":"root","path":"api/editor-capture-scenario","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-capture-scenario-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-scenario-image.$":{"id":"routes/api.editor-scenario-image.$","parentId":"root","path":"api/editor-scenario-image/*","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-scenario-image._-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-journal-image.$":{"id":"routes/api.editor-journal-image.$","parentId":"root","path":"api/editor-journal-image/*","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-journal-image._-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-recapture-stale":{"id":"routes/api.editor-recapture-stale","parentId":"root","path":"api/editor-recapture-stale","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-recapture-stale-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-rename-scenario":{"id":"routes/api.editor-rename-scenario","parentId":"root","path":"api/editor-rename-scenario","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-rename-scenario-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-save-seed-state":{"id":"routes/api.editor-save-seed-state","parentId":"root","path":"api/editor-save-seed-state","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-save-seed-state-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-scenario-prompt":{"id":"routes/api.editor-scenario-prompt","parentId":"root","path":"api/editor-scenario-prompt","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-scenario-prompt-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-switch-scenario":{"id":"routes/api.editor-switch-scenario","parentId":"root","path":"api/editor-switch-scenario","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-switch-scenario-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.generate-scenario-data":{"id":"routes/api.generate-scenario-data","parentId":"root","path":"api/generate-scenario-data","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.generate-scenario-data-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-journal-update":{"id":"routes/api.editor-journal-update","parentId":"root","path":"api/editor-journal-update","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-journal-update-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-client-errors":{"id":"routes/api.editor-client-errors","parentId":"root","path":"api/editor-client-errors","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-client-errors-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-entity-status":{"id":"routes/api.editor-entity-status","parentId":"root","path":"api/editor-entity-status","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-entity-status-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-journal-entry":{"id":"routes/api.editor-journal-entry","parentId":"root","path":"api/editor-journal-entry","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-journal-entry-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-scenario-data":{"id":"routes/api.editor-scenario-data","parentId":"root","path":"api/editor-scenario-data","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-scenario-data-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.llm-calls.$entitySha":{"id":"routes/api.llm-calls.$entitySha","parentId":"root","path":"api/llm-calls/:entitySha","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.llm-calls._entitySha-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-project-info":{"id":"routes/api.editor-project-info","parentId":"root","path":"api/editor-project-info","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-project-info-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-test-results":{"id":"routes/api.editor-test-results","parentId":"root","path":"api/editor-test-results","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-test-results-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.branch-entity-diff":{"id":"routes/api.branch-entity-diff","parentId":"root","path":"api/branch-entity-diff","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.branch-entity-diff-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.capture-screenshot":{"id":"routes/api.capture-screenshot","parentId":"root","path":"api/capture-screenshot","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.capture-screenshot-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-load-commit":{"id":"routes/api.editor-load-commit","parentId":"root","path":"api/editor-load-commit","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-load-commit-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.recapture-scenario":{"id":"routes/api.recapture-scenario","parentId":"root","path":"api/recapture-scenario","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.recapture-scenario-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.agent-transcripts":{"id":"routes/api.agent-transcripts","parentId":"root","path":"api/agent-transcripts","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.agent-transcripts-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-dev-server":{"id":"routes/api.editor-dev-server","parentId":"root","path":"api/editor-dev-server","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-dev-server-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.logs.$projectSlug":{"id":"routes/api.logs.$projectSlug","parentId":"root","path":"api/logs/:projectSlug","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.logs._projectSlug-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-file-diff":{"id":"routes/api.editor-file-diff","parentId":"root","path":"api/editor-file-diff","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-file-diff-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-scenarios":{"id":"routes/api.editor-scenarios","parentId":"root","path":"api/editor-scenarios","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-scenarios-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.execute-function":{"id":"routes/api.execute-function","parentId":"root","path":"api/execute-function","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.execute-function-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.interactive-mode":{"id":"routes/api.interactive-mode","parentId":"root","path":"api/interactive-mode","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.interactive-mode-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.delete-scenario":{"id":"routes/api.delete-scenario","parentId":"root","path":"api/delete-scenario","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.delete-scenario-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.dev-mode-events":{"id":"routes/api.dev-mode-events","parentId":"root","path":"api/dev-mode-events","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.dev-mode-events-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.generate-report":{"id":"routes/api.generate-report","parentId":"root","path":"api/generate-report","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.generate-report-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-journal":{"id":"routes/api.editor-journal","parentId":"root","path":"api/editor-journal","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-journal-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-refresh":{"id":"routes/api.editor-refresh","parentId":"root","path":"api/editor-refresh","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-refresh-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-session":{"id":"routes/api.editor-session","parentId":"root","path":"api/editor-session","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-session-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.memory-profile":{"id":"routes/api.memory-profile","parentId":"root","path":"api/memory-profile","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.memory-profile-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.process-status":{"id":"routes/api.process-status","parentId":"root","path":"api/process-status","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.process-status-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.restart-server":{"id":"routes/api.restart-server","parentId":"root","path":"api/restart-server","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.restart-server-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.save-scenarios":{"id":"routes/api.save-scenarios","parentId":"root","path":"api/save-scenarios","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.save-scenarios-l0sNRNKZ.js","imports":[],"css":[]},"routes/agent-transcripts":{"id":"routes/agent-transcripts","parentId":"root","path":"agent-transcripts","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/agent-transcripts-Bg3e7q4S.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/useReportContext-Cy5Qg_UR.js","/assets/createLucideIcon-4ImjHTVC.js","/assets/terminal-CrplD4b1.js","/assets/search-BdBb5aqc.js","/assets/chevron-down-GmAjGS9-.js","/assets/book-open-CL-lMgHh.js","/assets/triangle-alert-DqJ0j69l.js","/assets/copy-C6iF61Xs.js"],"css":[]},"routes/api.editor-commit":{"id":"routes/api.editor-commit","parentId":"root","path":"api/editor-commit","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-commit-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-schema":{"id":"routes/api.editor-schema","parentId":"root","path":"api/editor-schema","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-schema-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-audit":{"id":"routes/api.editor-audit","parentId":"root","path":"api/editor-audit","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-audit-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.kill-process":{"id":"routes/api.kill-process","parentId":"root","path":"api/kill-process","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.kill-process-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.save-fixture":{"id":"routes/api.save-fixture","parentId":"root","path":"api/save-fixture","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.save-fixture-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.screenshot.$":{"id":"routes/api.screenshot.$","parentId":"root","path":"api/screenshot/*","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.screenshot._-l0sNRNKZ.js","imports":[],"css":[]},"routes/activity.($tab)":{"id":"routes/activity.($tab)","parentId":"root","path":"activity/:tab?","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/activity.(_tab)-BOARiB-g.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/LogViewer-CM5zg40N.js","/assets/useLastLogLine-BNd5hYuW.js","/assets/useReportContext-Cy5Qg_UR.js","/assets/EntityTypeIcon-CD7lGABo.js","/assets/EntityTypeBadge-CQgyEGV-.js","/assets/SafeScreenshot-DanvyBPb.js","/assets/LoadingDots-By5zI316.js","/assets/loader-circle-De-7qQ2u.js","/assets/pause-CFxEKL1u.js","/assets/createLucideIcon-4ImjHTVC.js"],"css":[]},"routes/api.debug-setup":{"id":"routes/api.debug-setup","parentId":"root","path":"api/debug-setup","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.debug-setup-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.editor-file":{"id":"routes/api.editor-file","parentId":"root","path":"api/editor-file","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.editor-file-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.labs-unlock":{"id":"routes/api.labs-unlock","parentId":"root","path":"api/labs-unlock","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.labs-unlock-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.recapture":{"id":"routes/api.recapture","parentId":"root","path":"api/recapture","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.recapture-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.rule-path":{"id":"routes/api.rule-path","parentId":"root","path":"api/rule-path","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.rule-path-l0sNRNKZ.js","imports":[],"css":[]},"routes/entity.$sha.$":{"id":"routes/entity.$sha.$","parentId":"root","path":"entity/:sha/*","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/entity._sha._-ByHz6rAQ.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/useLastLogLine-BNd5hYuW.js","/assets/Spinner-D0LgAaSa.js","/assets/InteractivePreview-CKeQT5Ty.js","/assets/SafeScreenshot-DanvyBPb.js","/assets/LibraryFunctionPreview-D3s1MFkb.js","/assets/LoadingDots-By5zI316.js","/assets/scenarioStatus-B_8jpV3e.js","/assets/ScenarioViewer-DUMfcNVK.js","/assets/createLucideIcon-4ImjHTVC.js","/assets/executionFlowCoverage-BWhdfn70.js","/assets/EntityTypeIcon-CD7lGABo.js","/assets/CopyButton-CLe80MMu.js","/assets/LogViewer-CM5zg40N.js","/assets/MiniClaudeChat-CQENLSrF.js","/assets/useReportContext-Cy5Qg_UR.js","/assets/preload-helper-ckwbz45p.js","/assets/InlineSpinner-CgTNOhnu.js","/assets/ViewportInspectBar-BA_Ry-rs.js","/assets/useCustomSizes-DhXHbEjP.js","/assets/ReportIssueModal-C2PLkej3.js","/assets/circle-check-DFcQkN5j.js","/assets/triangle-alert-DqJ0j69l.js","/assets/copy-C6iF61Xs.js"],"css":[]},"routes/api.analyze":{"id":"routes/api.analyze","parentId":"root","path":"api/analyze","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.analyze-l0sNRNKZ.js","imports":[],"css":[]},"routes/simulations":{"id":"routes/simulations","parentId":"root","path":"simulations","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/simulations-DSCdE99u.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/useReportContext-Cy5Qg_UR.js","/assets/SafeScreenshot-DanvyBPb.js","/assets/LoadingDots-By5zI316.js","/assets/EntityTypeIcon-CD7lGABo.js","/assets/fileTableUtils-Daa96Fr1.js","/assets/chevron-down-GmAjGS9-.js","/assets/search-BdBb5aqc.js","/assets/loader-circle-De-7qQ2u.js","/assets/createLucideIcon-4ImjHTVC.js"],"css":[]},"routes/api.events":{"id":"routes/api.events","parentId":"root","path":"api/events","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.events-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.health":{"id":"routes/api.health","parentId":"root","path":"api/health","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.health-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.memory":{"id":"routes/api.memory","parentId":"root","path":"api/memory","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.memory-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.queue":{"id":"routes/api.queue","parentId":"root","path":"api/queue","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.queue-l0sNRNKZ.js","imports":[],"css":[]},"routes/dev.empty":{"id":"routes/dev.empty","parentId":"root","path":"dev/empty","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/dev.empty-C8y4mmyv.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/ScenarioViewer-DUMfcNVK.js","/assets/InteractivePreview-CKeQT5Ty.js","/assets/ViewportInspectBar-BA_Ry-rs.js","/assets/useCustomSizes-DhXHbEjP.js","/assets/LogViewer-CM5zg40N.js","/assets/SafeScreenshot-DanvyBPb.js","/assets/useLastLogLine-BNd5hYuW.js","/assets/Spinner-D0LgAaSa.js","/assets/preload-helper-ckwbz45p.js","/assets/ReportIssueModal-C2PLkej3.js","/assets/createLucideIcon-4ImjHTVC.js","/assets/circle-check-DFcQkN5j.js","/assets/triangle-alert-DqJ0j69l.js","/assets/copy-C6iF61Xs.js","/assets/scenarioStatus-B_8jpV3e.js","/assets/InlineSpinner-CgTNOhnu.js"],"css":[]},"routes/settings":{"id":"routes/settings","parentId":"root","path":"settings","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/settings-DdE-Untf.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/useReportContext-Cy5Qg_UR.js","/assets/CopyButton-CLe80MMu.js","/assets/copy-C6iF61Xs.js","/assets/createLucideIcon-4ImjHTVC.js"],"css":[]},"routes/static.$":{"id":"routes/static.$","parentId":"root","path":"static/*","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/static._-l0sNRNKZ.js","imports":[],"css":[]},"routes/_index":{"id":"routes/_index","parentId":"root","index":true,"hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/_index-BAWd-Xjf.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/useLastLogLine-BNd5hYuW.js","/assets/useToast-5HR2j9ZE.js","/assets/useReportContext-Cy5Qg_UR.js","/assets/LogViewer-CM5zg40N.js","/assets/EntityTypeIcon-CD7lGABo.js","/assets/SafeScreenshot-DanvyBPb.js","/assets/scenarioStatus-B_8jpV3e.js","/assets/createLucideIcon-4ImjHTVC.js","/assets/circle-check-DFcQkN5j.js","/assets/loader-circle-De-7qQ2u.js"],"css":[]},"routes/memory":{"id":"routes/memory","parentId":"root","path":"memory","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/memory-Cx2xEx7s.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/useReportContext-Cy5Qg_UR.js","/assets/createLucideIcon-4ImjHTVC.js","/assets/terminal-CrplD4b1.js","/assets/copy-C6iF61Xs.js","/assets/CopyButton-CLe80MMu.js","/assets/chevron-down-GmAjGS9-.js","/assets/search-BdBb5aqc.js","/assets/pause-CFxEKL1u.js","/assets/book-open-CL-lMgHh.js"],"css":[]},"routes/files":{"id":"routes/files","parentId":"root","path":"files","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/files-D-xGrg29.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/useReportContext-Cy5Qg_UR.js","/assets/EntityItem-Crt_KN_U.js","/assets/fileTableUtils-Daa96Fr1.js","/assets/chevron-down-GmAjGS9-.js","/assets/search-BdBb5aqc.js","/assets/createLucideIcon-4ImjHTVC.js","/assets/useToast-5HR2j9ZE.js","/assets/TruncatedFilePath-CK7-NaPZ.js","/assets/SafeScreenshot-DanvyBPb.js","/assets/LibraryFunctionPreview-D3s1MFkb.js","/assets/scenarioStatus-B_8jpV3e.js","/assets/triangle-alert-DqJ0j69l.js","/assets/EntityTypeIcon-CD7lGABo.js","/assets/EntityTypeBadge-CQgyEGV-.js"],"css":[]},"routes/labs":{"id":"routes/labs","parentId":"root","path":"labs","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/labs-B_IX45ih.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/useReportContext-Cy5Qg_UR.js"],"css":[]},"routes/git":{"id":"routes/git","parentId":"root","path":"git","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/git-Bq_fbXP5.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/useReportContext-Cy5Qg_UR.js","/assets/EntityItem-Crt_KN_U.js","/assets/LogViewer-CM5zg40N.js","/assets/index-DE3jI_dv.js","/assets/fileTableUtils-Daa96Fr1.js","/assets/createLucideIcon-4ImjHTVC.js","/assets/useToast-5HR2j9ZE.js","/assets/TruncatedFilePath-CK7-NaPZ.js","/assets/SafeScreenshot-DanvyBPb.js","/assets/LibraryFunctionPreview-D3s1MFkb.js","/assets/scenarioStatus-B_8jpV3e.js","/assets/triangle-alert-DqJ0j69l.js","/assets/EntityTypeIcon-CD7lGABo.js","/assets/EntityTypeBadge-CQgyEGV-.js"],"css":[]},"routes/editor.entity.($sha)":{"id":"routes/editor.entity.($sha)","parentId":"root","path":"editor","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/editor.entity.(_sha)-DMv5ESGo.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js","/assets/jsx-runtime-D_zvdyIk.js","/assets/useCustomSizes-DhXHbEjP.js","/assets/editorPreview-CluPkvXJ.js","/assets/CopyButton-CLe80MMu.js","/assets/MiniClaudeChat-CQENLSrF.js","/assets/preload-helper-ckwbz45p.js","/assets/cy-logo-cli-Coe5NhbS.js","/assets/Spinner-D0LgAaSa.js","/assets/copy-C6iF61Xs.js","/assets/createLucideIcon-4ImjHTVC.js","/assets/useLastLogLine-BNd5hYuW.js"],"css":[]},"editor-tab-index":{"id":"editor-tab-index","parentId":"routes/editor.entity.($sha)","index":true,"hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/editor._tab-Gbk_i5Js.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js"],"css":[]},"editor-tab-build":{"id":"editor-tab-build","parentId":"routes/editor.entity.($sha)","path":"build","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/editor._tab-Gbk_i5Js.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js"],"css":[]},"editor-tab-structure":{"id":"editor-tab-structure","parentId":"routes/editor.entity.($sha)","path":"structure","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/editor._tab-Gbk_i5Js.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js"],"css":[]},"editor-tab-history":{"id":"editor-tab-history","parentId":"routes/editor.entity.($sha)","path":"history","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/editor._tab-Gbk_i5Js.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js"],"css":[]},"editor-tab-settings":{"id":"editor-tab-settings","parentId":"routes/editor.entity.($sha)","path":"settings","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/editor._tab-Gbk_i5Js.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js"],"css":[]},"editor-tab-entity":{"id":"editor-tab-entity","parentId":"routes/editor.entity.($sha)","path":"entity/:sha","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/editor._tab-Gbk_i5Js.js","imports":["/assets/chunk-JZWAC4HX-BAdwhyCx.js"],"css":[]}},"url":"/assets/manifest-1a45e154.js","version":"1a45e154"};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t}from"./chunk-JZWAC4HX-BAdwhyCx.js";function I(i,s){const[d,n]=t.useState(""),[g,l]=t.useState(!1),[h,a]=t.useState(null),[u,r]=t.useState(!1);t.useEffect(()=>{s&&(r(!1),l(!1),a(null))},[s]),t.useEffect(()=>{if(!i||!s){s||n("");return}const L=async()=>{if(!u)try{const c=await fetch(`/api/logs/${i}`);if(c.ok){const o=(await c.text()).trim().split(`
|
|
2
|
-
`).filter(e=>e.length>0);if(o.length<3){l(!1),r(!1),a(null),n("");return}const f=o.filter(e=>e.includes("CodeYam Log Level 1"));if(f.length>0){const e=f[f.length-1];n(e.replace(/.*CodeYam Log Level 1: /,""))}const E=o.find(e=>e.includes("$$INTERACTIVE_SERVER_URL$$:"));if(E){const e=E.split("$$INTERACTIVE_SERVER_URL$$:")[1].trim();a(e),r(!0)}o.some(e=>e.includes("CodeYam: Exiting start.js"))&&l(!0)}}catch{}};L().catch(()=>{});const $=setInterval(()=>{L().catch(()=>{})},500);return()=>clearInterval($)},[i,s,u]);const m=t.useCallback(()=>{n(""),l(!1),a(null),r(!1)},[]);return{lastLine:d,interactiveUrl:h,isCompleted:g,resetLogs:m}}export{I as u};
|