@codeyam/codeyam-cli 0.1.30 → 0.1.31

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 (56) hide show
  1. package/analyzer-template/.build-info.json +7 -7
  2. package/analyzer-template/log.txt +3 -3
  3. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js +1 -0
  4. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js.map +1 -1
  5. package/codeyam-cli/src/commands/editor.js +39 -0
  6. package/codeyam-cli/src/commands/editor.js.map +1 -1
  7. package/codeyam-cli/src/commands/init.js +3 -2
  8. package/codeyam-cli/src/commands/init.js.map +1 -1
  9. package/codeyam-cli/src/utils/__tests__/editorRoadmap.test.js +712 -2
  10. package/codeyam-cli/src/utils/__tests__/editorRoadmap.test.js.map +1 -1
  11. package/codeyam-cli/src/utils/__tests__/envFile.test.js +125 -0
  12. package/codeyam-cli/src/utils/__tests__/envFile.test.js.map +1 -0
  13. package/codeyam-cli/src/utils/__tests__/handoffContext.test.js +500 -0
  14. package/codeyam-cli/src/utils/__tests__/handoffContext.test.js.map +1 -0
  15. package/codeyam-cli/src/utils/editorRoadmap.js +290 -17
  16. package/codeyam-cli/src/utils/editorRoadmap.js.map +1 -1
  17. package/codeyam-cli/src/utils/envFile.js +90 -0
  18. package/codeyam-cli/src/utils/envFile.js.map +1 -0
  19. package/codeyam-cli/src/utils/handoffContext.js +257 -0
  20. package/codeyam-cli/src/utils/handoffContext.js.map +1 -0
  21. package/codeyam-cli/src/utils/install-skills.js +9 -0
  22. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  23. package/codeyam-cli/src/utils/techStackConfig.js +38 -0
  24. package/codeyam-cli/src/utils/techStackConfig.js.map +1 -0
  25. package/codeyam-cli/src/utils/techStackConfig.test.js +85 -0
  26. package/codeyam-cli/src/utils/techStackConfig.test.js.map +1 -0
  27. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js +119 -1
  28. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js.map +1 -1
  29. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  30. package/codeyam-cli/src/webserver/build/client/assets/{MiniClaudeChat-BusrvT2F.js → MiniClaudeChat-Bs2_Oua4.js} +1 -1
  31. package/codeyam-cli/src/webserver/build/client/assets/api.editor-database-verify-l0sNRNKZ.js +1 -0
  32. package/codeyam-cli/src/webserver/build/client/assets/api.editor-github-verify-l0sNRNKZ.js +1 -0
  33. package/codeyam-cli/src/webserver/build/client/assets/api.editor-handoff-l0sNRNKZ.js +1 -0
  34. package/codeyam-cli/src/webserver/build/client/assets/api.editor-hosting-verify-l0sNRNKZ.js +1 -0
  35. package/codeyam-cli/src/webserver/build/client/assets/editor.entity.(_sha)-DOXe0Qx7.js +161 -0
  36. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-Ce1s4OQ1.js → entity._sha._-pc-vc6wO.js} +1 -1
  37. package/codeyam-cli/src/webserver/build/client/assets/globals-L-aUIeux.css +1 -0
  38. package/codeyam-cli/src/webserver/build/client/assets/manifest-30c44d84.js +1 -0
  39. package/codeyam-cli/src/webserver/build/client/assets/{root-Didv9PLi.js → root-CLedrjXQ.js} +3 -3
  40. package/codeyam-cli/src/webserver/build/server/assets/{analysisRunner-BKMsxwqe.js → analysisRunner-CuR5TvUx.js} +1 -1
  41. package/codeyam-cli/src/webserver/build/server/assets/{index-CvuvIPEn.js → index-D4MWAsqb.js} +1 -1
  42. package/codeyam-cli/src/webserver/build/server/assets/init-JObA4lXD.js +14 -0
  43. package/codeyam-cli/src/webserver/build/server/assets/server-build-i8OXK4oL.js +765 -0
  44. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  45. package/codeyam-cli/src/webserver/build-info.json +5 -5
  46. package/codeyam-cli/src/webserver/terminalServer.js +81 -11
  47. package/codeyam-cli/src/webserver/terminalServer.js.map +1 -1
  48. package/codeyam-cli/templates/codeyam-editor-codex.md +61 -0
  49. package/codeyam-cli/templates/nextjs-prisma-sqlite/gitignore +1 -0
  50. package/codeyam-cli/templates/seed-adapters/supabase.ts +143 -31
  51. package/package.json +1 -1
  52. package/codeyam-cli/src/webserver/build/client/assets/editor.entity.(_sha)-CsYVRiNH.js +0 -147
  53. package/codeyam-cli/src/webserver/build/client/assets/globals-Gp2o-NMc.css +0 -1
  54. package/codeyam-cli/src/webserver/build/client/assets/manifest-ef0f624d.js +0 -1
  55. package/codeyam-cli/src/webserver/build/server/assets/init-B3gVLAAJ.js +0 -14
  56. package/codeyam-cli/src/webserver/build/server/assets/server-build-B4LxStYP.js +0 -741
@@ -1 +1 @@
1
- import{aG as Z,aH as _,aw as $,ax as rr,aE as tr,ay as or,aA as ir,aB as pr,aD as mr,aC as ar,aF as sr,az as er}from"./assets/server-build-B4LxStYP.js";import"react/jsx-runtime";import"node:stream";import"@react-router/node";import"react-router";import"isbot";import"react-dom/server";import"react";import"lucide-react";import"fetch-retry";import"better-sqlite3";import"pg";import"fs";import"path";import"kysely";import"kysely/helpers/sqlite";import"kysely/helpers/postgres";import"typescript";import"fs/promises";import"os";import"prompts";import"chalk";import"crypto";import"child_process";import"url";import"util";import"dotenv";import"events";import"uuid";import"http";import"net";import"ws";import"node-pty";import"openai";import"p-queue";import"p-retry";import"@aws-sdk/client-dynamodb";import"lru-cache";import"pluralize";import"piscina";import"json5";import"@aws-sdk/util-dynamodb";import"v8";import"react-syntax-highlighter";import"react-syntax-highlighter/dist/cjs/styles/prism/index.js";import"node:crypto";import"minimatch";import"react-markdown";import"remark-gfm";import"react-diff-viewer-continued";export{Z as allowedActionOrigins,_ as assets,$ as assetsBuildDirectory,rr as basename,tr as entry,or as future,ir as isSpaMode,pr as prerender,mr as publicPath,ar as routeDiscovery,sr as routes,er as ssr};
1
+ import{aG as Z,aH as _,aw as $,ax as rr,aE as tr,ay as or,aA as ir,aB as pr,aD as mr,aC as ar,aF as sr,az as er}from"./assets/server-build-i8OXK4oL.js";import"react/jsx-runtime";import"node:stream";import"@react-router/node";import"react-router";import"isbot";import"react-dom/server";import"react";import"lucide-react";import"fetch-retry";import"better-sqlite3";import"pg";import"fs";import"path";import"kysely";import"kysely/helpers/sqlite";import"kysely/helpers/postgres";import"typescript";import"fs/promises";import"os";import"prompts";import"chalk";import"crypto";import"child_process";import"url";import"util";import"dotenv";import"events";import"uuid";import"http";import"net";import"ws";import"node-pty";import"openai";import"p-queue";import"p-retry";import"@aws-sdk/client-dynamodb";import"lru-cache";import"pluralize";import"piscina";import"json5";import"@aws-sdk/util-dynamodb";import"v8";import"react-syntax-highlighter";import"react-syntax-highlighter/dist/cjs/styles/prism/index.js";import"node:crypto";import"minimatch";import"react-markdown";import"remark-gfm";import"react-diff-viewer-continued";export{Z as allowedActionOrigins,_ as assets,$ as assetsBuildDirectory,rr as basename,tr as entry,or as future,ir as isSpaMode,pr as prerender,mr as publicPath,ar as routeDiscovery,sr as routes,er as ssr};
@@ -1,7 +1,7 @@
1
1
  {
2
- "buildTimestamp": "2026-04-01T01:07:43.734Z",
3
- "buildTime": 1775005663734,
4
- "buildNumber": 1340,
5
- "semanticVersion": "0.1.1340",
6
- "version": "0.1.1340 (2026-04-01T01:07)"
2
+ "buildTimestamp": "2026-04-04T16:37:01.258Z",
3
+ "buildTime": 1775320621258,
4
+ "buildNumber": 1373,
5
+ "semanticVersion": "0.1.1373",
6
+ "version": "0.1.1373 (2026-04-04T16:37)"
7
7
  }
@@ -2,6 +2,7 @@ var _a, _b;
2
2
  import { WebSocketServer, WebSocket } from 'ws';
3
3
  import crypto from 'crypto';
4
4
  import fs from 'fs';
5
+ import os from 'os';
5
6
  import path from 'path';
6
7
  import * as pty from 'node-pty';
7
8
  import { createMarkerTransformer } from "../utils/scenarioMarkers.js";
@@ -146,9 +147,25 @@ const ENV_PASSTHROUGH_KEYS = [
146
147
  'HOMEBREW_CELLAR',
147
148
  'HOMEBREW_REPOSITORY',
148
149
  ];
150
+ // Additional env vars needed on Windows
151
+ const WINDOWS_ENV_PASSTHROUGH_KEYS = [
152
+ 'USERPROFILE',
153
+ 'APPDATA',
154
+ 'LOCALAPPDATA',
155
+ 'COMSPEC',
156
+ 'SystemRoot',
157
+ 'TEMP',
158
+ 'TMP',
159
+ // Nodist (Windows Node.js version manager)
160
+ 'NODIST_PREFIX',
161
+ 'NODIST_X64',
162
+ ];
149
163
  export function buildPtyEnv(options) {
150
164
  const env = {};
151
- for (const key of ENV_PASSTHROUGH_KEYS) {
165
+ const keys = process.platform === 'win32'
166
+ ? [...ENV_PASSTHROUGH_KEYS, ...WINDOWS_ENV_PASSTHROUGH_KEYS]
167
+ : ENV_PASSTHROUGH_KEYS;
168
+ for (const key of keys) {
152
169
  const val = process.env[key];
153
170
  if (val != null)
154
171
  env[key] = val;
@@ -163,6 +180,49 @@ export function buildPtyEnv(options) {
163
180
  }
164
181
  return env;
165
182
  }
183
+ /**
184
+ * Returns the shell executable and arguments for PTY spawning,
185
+ * handling platform differences (Windows uses cmd.exe, Unix uses $SHELL).
186
+ * cmd.exe is preferred over PowerShell on Windows because:
187
+ * - .cmd shims run in-process (no window flash from subprocess spawning)
188
+ * - No execution policy restrictions blocking .ps1 scripts
189
+ * - Faster startup (no profile loading)
190
+ */
191
+ export function getShellConfig() {
192
+ if (process.platform === 'win32') {
193
+ return { shell: 'cmd.exe', args: [] };
194
+ }
195
+ const defaultShell = process.platform === 'darwin' ? '/bin/zsh' : '/bin/sh';
196
+ return {
197
+ shell: process.env.SHELL || defaultShell,
198
+ args: ['-l'],
199
+ };
200
+ }
201
+ /**
202
+ * Quote a shell argument for the current platform.
203
+ * Unix shells use single quotes; cmd.exe uses double quotes.
204
+ */
205
+ export function shellQuote(arg) {
206
+ if (process.platform === 'win32') {
207
+ return `"${arg.replace(/"/g, '""')}"`;
208
+ }
209
+ return `'${arg}'`;
210
+ }
211
+ /**
212
+ * Returns a safe working directory for the PTY, falling back through
213
+ * CODEYAM_ROOT_PATH → cwd → HOME/USERPROFILE → os.tmpdir().
214
+ */
215
+ export function getSafeCwd() {
216
+ const cwd = process.env.CODEYAM_ROOT_PATH || process.cwd();
217
+ if (fs.existsSync(cwd))
218
+ return cwd;
219
+ const home = process.platform === 'win32'
220
+ ? process.env.USERPROFILE || process.env.HOME
221
+ : process.env.HOME;
222
+ if (home && fs.existsSync(home))
223
+ return home;
224
+ return os.tmpdir();
225
+ }
166
226
  /**
167
227
  * Convert a name to a safe file name matching CodeYam's convention.
168
228
  * e.g. "Default Scenario" -> "Default_Scenario"
@@ -397,6 +457,18 @@ function writeEditorModeContext(ctx) {
397
457
  lines.push('- **Empty project** — no package.json found. Run `codeyam editor steps` to begin.');
398
458
  lines.push('');
399
459
  }
460
+ // Include handoff context if a provider switch generated one
461
+ try {
462
+ const handoffContextPath = path.join(codeyamRoot, '.codeyam', 'handoff-context.md');
463
+ if (fs.existsSync(handoffContextPath)) {
464
+ lines.push('');
465
+ lines.push(fs.readFileSync(handoffContextPath, 'utf8'));
466
+ lines.push('');
467
+ }
468
+ }
469
+ catch {
470
+ // Non-fatal
471
+ }
400
472
  fs.writeFileSync(contextPath, lines.join('\n'), 'utf8');
401
473
  return true;
402
474
  }
@@ -547,14 +619,12 @@ export function attachTerminalServer(httpServer) {
547
619
  return;
548
620
  }
549
621
  // --- New connection: spawn a fresh PTY ---
550
- const shell = process.env.SHELL || '/bin/zsh';
551
- const cwd = process.env.CODEYAM_ROOT_PATH || process.cwd();
552
- // Verify cwd exists, fall back to HOME
553
- const safeCwd = fs.existsSync(cwd) ? cwd : process.env.HOME || '/tmp';
622
+ const { shell, args: shellArgs } = getShellConfig();
623
+ const safeCwd = getSafeCwd();
554
624
  // Spawn PTY with a clean env (no giant JSON blobs from CODEYAM_PROJECT etc.)
555
625
  let ptyProcess;
556
626
  try {
557
- ptyProcess = pty.spawn(shell, ['-l'], {
627
+ ptyProcess = pty.spawn(shell, shellArgs, {
558
628
  name: 'xterm-256color',
559
629
  cols: 120,
560
630
  rows: 30,
@@ -731,19 +801,19 @@ export function attachTerminalServer(httpServer) {
731
801
  const resumePrompt = editorStepLabel === 'Present'
732
802
  ? 'The session was interrupted. Please rerun show-results.'
733
803
  : 'The session was interrupted. Please continue where you left off.';
734
- ptyProcess.write(`claude --resume '${claudeSessionId}' '${resumePrompt}'\r`);
804
+ ptyProcess.write(`claude --resume ${shellQuote(claudeSessionId)} ${shellQuote(resumePrompt)}\r`);
735
805
  }
736
806
  else if (claudeStartMode === 'resume') {
737
807
  // No session ID available — fall back to most recent session
738
808
  const resumePrompt = editorStepLabel === 'Present'
739
809
  ? 'The session was interrupted. Please rerun show-results.'
740
810
  : 'The session was interrupted. Please continue where you left off.';
741
- ptyProcess.write(`claude --continue '${resumePrompt}'\r`);
811
+ ptyProcess.write(`claude --continue ${shellQuote(resumePrompt)}\r`);
742
812
  }
743
813
  else {
744
814
  // Fresh session: generate a trackable UUID
745
815
  const newSessionId = crypto.randomUUID();
746
- const sessionIdPath = path.join(cwd, '.codeyam', 'claude-session-id.txt');
816
+ const sessionIdPath = path.join(safeCwd, '.codeyam', 'claude-session-id.txt');
747
817
  try {
748
818
  fs.mkdirSync(path.dirname(sessionIdPath), { recursive: true });
749
819
  fs.writeFileSync(sessionIdPath, newSessionId, 'utf8');
@@ -751,11 +821,11 @@ export function attachTerminalServer(httpServer) {
751
821
  catch (err) {
752
822
  console.error('[terminalServer] Failed to write claude-session-id.txt:', err);
753
823
  }
754
- ptyProcess.write(`claude --session-id '${newSessionId}' '/codeyam-editor'\r`);
824
+ ptyProcess.write(`claude --session-id ${shellQuote(newSessionId)} ${shellQuote('/codeyam-editor')}\r`);
755
825
  }
756
826
  }
757
827
  else if (hasContext) {
758
- ptyProcess.write("claude '/codeyam-dev-mode'\r");
828
+ ptyProcess.write(`claude ${shellQuote('/codeyam-dev-mode')}\r`);
759
829
  }
760
830
  else {
761
831
  ptyProcess.write('claude\r');
@@ -1 +1 @@
1
- {"version":3,"file":"terminalServer.js","sourceRoot":"","sources":["../../../../src/webserver/terminalServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminalServer.js","sourceRoot":"","sources":["../../../../src/webserver/terminalServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ # CodeYam Editor Project (Codex)
2
+
3
+ This project is being built with CodeYam's Code + Data Editor. The core principle is **code and data are developed together** — every component should have scenario data that drives what it renders.
4
+
5
+ ## Architecture: Components + Scenarios
6
+
7
+ ### Component Structure
8
+
9
+ Build with a clear component hierarchy so individual components can be previewed in isolation:
10
+
11
+ ```
12
+ app/
13
+ components/
14
+ Dashboard.tsx ← page-level component
15
+ TaskList.tsx ← displays a list, gets data from API or props
16
+ TaskCard.tsx ← single item, pure props
17
+ EmptyState.tsx ← shown when no data
18
+ ```
19
+
20
+ ### Scenarios
21
+
22
+ A **scenario** is a named set of data that drives how the app renders. Scenarios exist at two levels:
23
+
24
+ - **App-level scenarios**: Full application state.
25
+ - **Component-level scenarios**: Props for a single component in isolation.
26
+
27
+ **Always register scenarios with CodeYam** using the CLI:
28
+
29
+ ```bash
30
+ codeyam editor register @.codeyam/tmp/scenario.json
31
+ ```
32
+
33
+ **To list existing scenarios:** `codeyam editor scenarios`
34
+
35
+ ## Workflow
36
+
37
+ 1. Build a component
38
+ 2. Create scenarios with rich, realistic data.
39
+ 3. Register the scenarios with CodeYam.
40
+ 4. Preview each scenario to verify the component handles all states.
41
+ 5. Repeat for the next component.
42
+
43
+ ## Key Conventions
44
+
45
+ - Component files go in `app/components/` (or `src/components/`)
46
+ - One component per file, default export.
47
+ - Components accept props that can be provided by scenarios.
48
+
49
+ ## AI Handoff
50
+
51
+ Since you are working in an AI-assisted workflow, you must maintain a handoff summary for other AI agents (or yourself in a later session).
52
+
53
+ **At the end of every step, update the handoff summary:**
54
+
55
+ ```bash
56
+ codeyam editor handoff '{"summary": "Built the X component and registered 3 scenarios. Ready to start on Y."}'
57
+ ```
58
+
59
+ This summary will be displayed when starting a new session or switching between AI providers (Claude <-> Gemini <-> Codex).
60
+
61
+ If `.codeyam/handoff-context.md` exists, read it first — it contains detailed context from a previous provider including a progress timeline, uncommitted changes, and continuation instructions.
@@ -55,6 +55,7 @@ dev.db-journal
55
55
  .codeyam/editor-user-prompt.txt
56
56
  .codeyam/editor-mode-context.md
57
57
  .codeyam/dev-mode-context.md
58
+ .codeyam/handoff-context.md
58
59
  .codeyam/logs/
59
60
  .codeyam/llm-calls/
60
61
  .codeyam/captures/
@@ -23,18 +23,26 @@
23
23
  * The password field is optional — if omitted, a default dev password is used.
24
24
  * No real JWTs are stored; the preload module intercepts all auth API calls.
25
25
  *
26
+ * Data operations use direct PostgreSQL (pg) for speed — TRUNCATE CASCADE
27
+ * and batched INSERT are ~2x faster than individual PostgREST HTTP calls.
28
+ *
26
29
  * Requirements:
30
+ * - DATABASE_URL env var with a PostgreSQL connection string (session pooler recommended)
27
31
  * - A Supabase project URL (https://<ref>.supabase.co) in any env var
28
32
  * - A secret key (sb_secret_... or legacy eyJ... service_role JWT) in any env var
29
33
  *
30
- * The adapter scans ALL env vars by value pattern no specific naming required.
34
+ * The adapter scans ALL env vars by value pattern for Supabase URL and secret key —
35
+ * no specific naming required. DATABASE_URL must be set explicitly.
31
36
  */
32
37
 
33
38
  import { createClient } from '@supabase/supabase-js';
34
39
  import { Prisma } from '@prisma/client';
40
+ import pg from 'pg';
35
41
  import * as fs from 'fs';
36
42
  import * as path from 'path';
37
43
 
44
+ const { Client } = pg;
45
+
38
46
  /**
39
47
  * Scan all env vars for values matching a pattern.
40
48
  * Returns ALL unique matches (not just the first) so callers can disambiguate.
@@ -93,7 +101,17 @@ if (!supabaseUrl || !secretKey) {
93
101
  process.exit(1);
94
102
  }
95
103
 
96
- // Admin client for user management (uses secret key to bypass RLS)
104
+ // DATABASE_URL for direct PostgreSQL access (session pooler recommended for speed)
105
+ const databaseUrl = process.env.DATABASE_URL;
106
+ if (!databaseUrl || !databaseUrl.startsWith('postgresql://')) {
107
+ console.error('DATABASE_URL must be set to a PostgreSQL connection string.');
108
+ console.error(
109
+ 'Use the session pooler connection string (port 5432) from your Supabase dashboard.',
110
+ );
111
+ process.exit(1);
112
+ }
113
+
114
+ // Admin client for user management only (uses secret key to bypass RLS)
97
115
  const supabase = createClient(supabaseUrl, secretKey, {
98
116
  auth: { autoRefreshToken: false, persistSession: false },
99
117
  });
@@ -112,7 +130,7 @@ function getProjectRef(): string {
112
130
  /**
113
131
  * Build a mapping from lowercased seed-data keys to actual PostgreSQL table names.
114
132
  * Prisma creates tables with the model name (PascalCase) unless @@map is used.
115
- * PostgREST requires the exact table name, so we need this translation.
133
+ * PostgreSQL requires the exact table name, so we need this translation.
116
134
  */
117
135
  function buildTableNameMap(): Record<string, string> {
118
136
  const map: Record<string, string> = {};
@@ -127,6 +145,25 @@ function buildTableNameMap(): Record<string, string> {
127
145
  return map;
128
146
  }
129
147
 
148
+ /**
149
+ * Build column name mapping from Prisma field names to database column names.
150
+ * Prisma uses camelCase field names but generates snake_case columns unless @map is used.
151
+ */
152
+ function buildColumnMap(tableName: string): Record<string, string> {
153
+ const map: Record<string, string> = {};
154
+ for (const model of Prisma.dmmf.datamodel.models) {
155
+ const dbName = (model as any).dbName || model.name;
156
+ if (dbName !== tableName) continue;
157
+ for (const field of model.fields) {
158
+ if (field.kind === 'object') continue; // Skip relation fields
159
+ const colName = (field as any).dbName || field.name;
160
+ map[field.name] = colName;
161
+ }
162
+ break;
163
+ }
164
+ return map;
165
+ }
166
+
130
167
  async function seedTables(seed: Record<string, unknown[]>) {
131
168
  if (Object.keys(seed).length === 0) return;
132
169
 
@@ -134,7 +171,7 @@ async function seedTables(seed: Record<string, unknown[]>) {
134
171
 
135
172
  // Discover ALL models from the Prisma schema — not just the tables in the seed data.
136
173
  // This ensures FK-dependent tables are cleared even when the seed only contains
137
- // the parent table's data. Every editor project has Prisma installed.
174
+ // the parent table's data.
138
175
  const allTables = Prisma.dmmf.datamodel.models.map(
139
176
  (m) => (m as any).dbName || m.name,
140
177
  );
@@ -143,34 +180,102 @@ async function seedTables(seed: Record<string, unknown[]>) {
143
180
  `Clearing ${allTables.length} tables, seeding: ${Object.keys(seed).join(', ')}`,
144
181
  );
145
182
 
146
- // Clear ALL tables in reverse order (children before parents for FK safety)
147
- for (const table of [...allTables].reverse()) {
148
- const { error } = await supabase.from(table).delete().gte('id', 0);
149
- if (error) {
150
- const { error: error2 } = await supabase
151
- .from(table)
152
- .delete()
153
- .not('id', 'is', null);
154
- if (error2) {
155
- console.warn(` Could not clear ${table}: ${error2.message}`);
156
- } else {
157
- console.log(` Cleared ${table}`);
183
+ const client = new Client({
184
+ connectionString: databaseUrl,
185
+ ssl: { rejectUnauthorized: false },
186
+ });
187
+ await client.connect();
188
+
189
+ try {
190
+ // TRUNCATE all tables in one statement — CASCADE handles FK dependencies
191
+ // automatically, so table order doesn't matter. Much faster than
192
+ // individual DELETE FROM queries via PostgREST.
193
+ const quoted = allTables.map((t) => `"${t}"`).join(', ');
194
+ await client.query(`TRUNCATE ${quoted} CASCADE`);
195
+ console.log(` Cleared ${allTables.length} tables`);
196
+
197
+ // Reset auto-increment sequences so IDs start from 1 on each scenario switch.
198
+ // Without this, IDs keep climbing and hardcoded URLs like /drinks/1 break.
199
+ for (const table of allTables) {
200
+ try {
201
+ await client.query(
202
+ `SELECT setval(pg_get_serial_sequence('"${table}"', 'id'), 1, false)`,
203
+ );
204
+ } catch {
205
+ // Table may not have an 'id' serial column — skip
158
206
  }
159
- } else {
160
- console.log(` Cleared ${table}`);
161
207
  }
208
+
209
+ // Insert seed data using batched INSERT for speed
210
+ for (const [seedKey, rows] of Object.entries(seed)) {
211
+ if (!Array.isArray(rows) || rows.length === 0) continue;
212
+ const table = tableMap[seedKey] || seedKey;
213
+ const columnMap = buildColumnMap(table);
214
+
215
+ // Get column names from the first row's keys, mapped to DB column names
216
+ const fieldNames = Object.keys(rows[0] as Record<string, unknown>);
217
+ const dbColumns = fieldNames.map((f) => columnMap[f] || f);
218
+ const quotedCols = dbColumns.map((c) => `"${c}"`).join(', ');
219
+
220
+ // Build parameterized VALUES clause for all rows at once
221
+ const params: unknown[] = [];
222
+ const valueClauses: string[] = [];
223
+ for (let i = 0; i < rows.length; i++) {
224
+ const row = rows[i] as Record<string, unknown>;
225
+ const placeholders: string[] = [];
226
+ for (const field of fieldNames) {
227
+ params.push(row[field]);
228
+ placeholders.push(`$${params.length}`);
229
+ }
230
+ valueClauses.push(`(${placeholders.join(', ')})`);
231
+ }
232
+
233
+ await client.query(
234
+ `INSERT INTO "${table}" (${quotedCols}) VALUES ${valueClauses.join(', ')}`,
235
+ params,
236
+ );
237
+ console.log(` Seeded ${rows.length} rows into ${table}`);
238
+ }
239
+ } finally {
240
+ await client.end();
162
241
  }
242
+ }
163
243
 
164
- // Insert seed data — translate seed keys to actual table names
165
- for (const [seedKey, rows] of Object.entries(seed)) {
166
- if (!Array.isArray(rows) || rows.length === 0) continue;
167
- const table = tableMap[seedKey] || seedKey;
168
- const { error } = await supabase.from(table).insert(rows);
169
- if (error) {
170
- console.error(` Failed to seed ${table}: ${error.message}`);
171
- process.exit(1);
244
+ /**
245
+ * Export mode: dump current database state to a JSON file.
246
+ * Used by CodeYam to save interactive changes back to scenario seed data.
247
+ *
248
+ * Usage: npx tsx .codeyam/seed-adapter.ts --export <output-path.json>
249
+ */
250
+ async function exportData(outputPath: string) {
251
+ const tableMap = buildTableNameMap();
252
+ const modelNames = Prisma.dmmf.datamodel.models.map((m) => m.name);
253
+
254
+ const client = new Client({
255
+ connectionString: databaseUrl,
256
+ ssl: { rejectUnauthorized: false },
257
+ });
258
+ await client.connect();
259
+
260
+ try {
261
+ const seed: Record<string, unknown[]> = {};
262
+ for (const model of modelNames) {
263
+ const camelCase = model.charAt(0).toLowerCase() + model.slice(1);
264
+ const table = tableMap[camelCase] || model;
265
+ try {
266
+ const result = await client.query(`SELECT * FROM "${table}"`);
267
+ if (result.rows.length > 0) {
268
+ seed[camelCase] = result.rows;
269
+ }
270
+ } catch {
271
+ // Skip tables that can't be queried
272
+ }
172
273
  }
173
- console.log(` Seeded ${rows.length} rows into ${table}`);
274
+
275
+ fs.writeFileSync(outputPath, JSON.stringify(seed, null, 2));
276
+ console.log(`Exported ${Object.keys(seed).length} tables`);
277
+ } finally {
278
+ await client.end();
174
279
  }
175
280
  }
176
281
 
@@ -357,7 +462,14 @@ async function main() {
357
462
  console.log('Seed complete');
358
463
  }
359
464
 
360
- main().catch((e) => {
361
- console.error('Seed adapter error:', e);
362
- process.exit(1);
363
- });
465
+ if (process.argv[2] === '--export') {
466
+ exportData(process.argv[3]).catch((e) => {
467
+ console.error('Seed adapter export error:', e);
468
+ process.exit(1);
469
+ });
470
+ } else {
471
+ main().catch((e) => {
472
+ console.error('Seed adapter error:', e);
473
+ process.exit(1);
474
+ });
475
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codeyam/codeyam-cli",
3
- "version": "0.1.30",
3
+ "version": "0.1.31",
4
4
  "description": "Local development CLI for CodeYam analysis",
5
5
  "type": "module",
6
6
  "bin": {