@embeddables/cli 0.14.4 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/.prompts/custom/build-funnel.md +1 -1
  2. package/.prompts/embeddables-cli.md +79 -39
  3. package/.prompts/short-rule-body.md +15 -0
  4. package/README.md +42 -0
  5. package/dist/auth/index.d.ts +27 -0
  6. package/dist/auth/index.d.ts.map +1 -1
  7. package/dist/auth/index.js +44 -0
  8. package/dist/auth/index.js.map +1 -1
  9. package/dist/cli.js +29 -2
  10. package/dist/cli.js.map +1 -1
  11. package/dist/commands/init.d.ts.map +1 -1
  12. package/dist/commands/init.js +3 -253
  13. package/dist/commands/init.js.map +1 -1
  14. package/dist/commands/login.d.ts +2 -0
  15. package/dist/commands/login.d.ts.map +1 -1
  16. package/dist/commands/login.js +41 -1
  17. package/dist/commands/login.js.map +1 -1
  18. package/dist/commands/provide-otp.d.ts +11 -0
  19. package/dist/commands/provide-otp.d.ts.map +1 -0
  20. package/dist/commands/provide-otp.js +102 -0
  21. package/dist/commands/provide-otp.js.map +1 -0
  22. package/dist/commands/update-project-files.d.ts +8 -0
  23. package/dist/commands/update-project-files.d.ts.map +1 -0
  24. package/dist/commands/update-project-files.js +236 -0
  25. package/dist/commands/update-project-files.js.map +1 -0
  26. package/dist/commands/upgrade.d.ts.map +1 -1
  27. package/dist/commands/upgrade.js +16 -0
  28. package/dist/commands/upgrade.js.map +1 -1
  29. package/dist/compiler/parsePage.js +14 -9
  30. package/dist/compiler/parsePage.js.map +1 -1
  31. package/dist/compiler/reverse.d.ts.map +1 -1
  32. package/dist/compiler/reverse.js +17 -8
  33. package/dist/compiler/reverse.js.map +1 -1
  34. package/dist/components/primitives/CustomHTML.d.ts +2 -1
  35. package/dist/components/primitives/CustomHTML.d.ts.map +1 -1
  36. package/dist/components/primitives/CustomHTML.js +11 -2
  37. package/dist/components/primitives/CustomHTML.js.map +1 -1
  38. package/dist/helpers/json.d.ts.map +1 -1
  39. package/dist/helpers/json.js +132 -17
  40. package/dist/helpers/json.js.map +1 -1
  41. package/dist/prompts/branches.d.ts.map +1 -1
  42. package/dist/prompts/branches.js +2 -0
  43. package/dist/prompts/branches.js.map +1 -1
  44. package/dist/types-builder.d.ts +5 -2
  45. package/dist/types-builder.d.ts.map +1 -1
  46. package/dist/workbench/AutofillPanel.d.ts.map +1 -1
  47. package/dist/workbench/AutofillPanel.js +52 -14
  48. package/dist/workbench/AutofillPanel.js.map +1 -1
  49. package/package.json +1 -1
@@ -1,41 +1,11 @@
1
- import fs from 'node:fs';
2
- import path from 'node:path';
3
- import { fileURLToPath } from 'node:url';
4
1
  import * as Sentry from '@sentry/node';
5
2
  import pc from 'picocolors';
6
3
  import { writeProjectConfig, readProjectConfig } from '../config/index.js';
7
4
  import { isLoggedIn } from '../auth/index.js';
8
5
  import { captureException, createLogger, exit } from '../logger.js';
9
6
  import { promptForProject } from '../prompts/index.js';
10
- import { writeTypeStubs } from '../helpers/typeStubs.js';
11
- import { renderDefaultTagStylesCss } from '../constants/defaultTagStylesV4.js';
12
7
  import * as stdout from '../stdout.js';
13
- const __filename = fileURLToPath(import.meta.url);
14
- const __dirname = path.dirname(__filename);
15
- /** Strip the first YAML frontmatter block (--- ... ---) from content. Returns body only, or full content if no frontmatter. */
16
- function stripFrontmatter(content) {
17
- const open = content.startsWith('---\n');
18
- if (!open)
19
- return content;
20
- const afterFirst = content.indexOf('\n---', 4);
21
- if (afterFirst === -1)
22
- return content;
23
- return content.slice(afterFirst + 4).replace(/^\n/, '');
24
- }
25
- /** Recursively copy a directory, creating target dirs as needed. */
26
- function copyDirSync(src, dest) {
27
- fs.mkdirSync(dest, { recursive: true });
28
- for (const entry of fs.readdirSync(src, { withFileTypes: true })) {
29
- const srcPath = path.join(src, entry.name);
30
- const destPath = path.join(dest, entry.name);
31
- if (entry.isDirectory()) {
32
- copyDirSync(srcPath, destPath);
33
- }
34
- else {
35
- fs.copyFileSync(srcPath, destPath);
36
- }
37
- }
38
- }
8
+ import { updateProjectFiles } from './update-project-files.js';
39
9
  export async function runInit(opts) {
40
10
  const logger = createLogger('runInit');
41
11
  logger.info('init started');
@@ -61,8 +31,6 @@ export async function runInit(opts) {
61
31
  }
62
32
  async function runInitInner(opts) {
63
33
  const cwd = process.cwd();
64
- const gitignorePath = path.join(cwd, '.gitignore');
65
- const embeddablesDir = path.join(cwd, 'embeddables');
66
34
  stdout.header(`${stdout.symbols.rocket} Your Embeddables Project is Ready!`);
67
35
  const existingConfig = readProjectConfig();
68
36
  // Step 1: Get Embeddables project
@@ -125,226 +93,8 @@ async function runInitInner(opts) {
125
93
  infoParts.unshift(['Project Title', selectedProjectTitle]);
126
94
  stdout.infoBox(infoParts.map(([k, v]) => `${k}: ${v}`).join(' · '));
127
95
  }
128
- // Create or update .gitignore
129
- const gitignoreEntries = ['**/.generated/', 'node_modules/', '.DS_Store'];
130
- const embeddablesBlock = `# Embeddables\n${gitignoreEntries.join('\n')}\n`;
131
- let existingGitignore = '';
132
- if (fs.existsSync(gitignorePath)) {
133
- existingGitignore = fs.readFileSync(gitignorePath, 'utf8');
134
- }
135
- const embeddablesSectionRegex = /# Embeddables\n(?:[^\n]*\n)*?(?=\n#|\n\n|$)/;
136
- if (embeddablesSectionRegex.test(existingGitignore)) {
137
- const updated = existingGitignore.replace(embeddablesSectionRegex, embeddablesBlock);
138
- if (updated !== existingGitignore) {
139
- fs.writeFileSync(gitignorePath, updated, 'utf8');
140
- stdout.success('Updated .gitignore');
141
- }
142
- else {
143
- stdout.dim(' ✓ .gitignore already configured');
144
- }
145
- }
146
- else {
147
- const separator = existingGitignore && !existingGitignore.endsWith('\n') ? '\n' : '';
148
- const content = existingGitignore
149
- ? `${existingGitignore}${separator}\n${embeddablesBlock}`
150
- : embeddablesBlock;
151
- fs.writeFileSync(gitignorePath, content, 'utf8');
152
- stdout.success(existingGitignore ? 'Updated .gitignore' : 'Created .gitignore');
153
- }
154
- // Create embeddables directory
155
- if (!fs.existsSync(embeddablesDir)) {
156
- fs.mkdirSync(embeddablesDir, { recursive: true });
157
- stdout.success('Created embeddables/ directory');
158
- }
159
- else {
160
- stdout.dim(' ✓ embeddables/ directory exists');
161
- }
162
- // Create default-styles.css in project root for standard tag defaults
163
- const defaultStylesPath = path.join(cwd, 'default-styles.css');
164
- if (!fs.existsSync(defaultStylesPath)) {
165
- fs.writeFileSync(defaultStylesPath, renderDefaultTagStylesCss(), 'utf8');
166
- stdout.success('Created default-styles.css');
167
- }
168
- else {
169
- stdout.dim(' ✓ default-styles.css already exists');
170
- }
171
- // Remove old .claudefiles folder (replaced by .cursor/ and .claude/)
172
- const claudefilesDir = path.join(cwd, '.claudefiles');
173
- if (fs.existsSync(claudefilesDir)) {
174
- fs.rmSync(claudefilesDir, { recursive: true });
175
- stdout.success('Removed old .claudefiles/');
176
- }
177
- // Inject .cursor/ and .claude/ from source .prompts/embeddables-cli.md (or copy if pre-built dirs exist)
178
- const packageRoot = path.resolve(__dirname, '..', '..');
179
- const promptsSource = path.join(packageRoot, '.prompts', 'embeddables-cli.md');
180
- const sourceCursorDir = path.join(packageRoot, '.cursor');
181
- const sourceClaudeDir = path.join(packageRoot, '.claude');
182
- const sourceAgentDir = path.join(packageRoot, '.agent');
183
- if (fs.existsSync(promptsSource)) {
184
- const content = fs.readFileSync(promptsSource, 'utf8');
185
- const cursorFrontmatter = `---
186
- globs:
187
- alwaysApply: true
188
- ---
189
-
190
- `;
191
- const antigravityFrontmatter = `---
192
- globs:
193
- alwaysOn: true
194
- ---
195
-
196
- `;
197
- const claudeIntro = `# Embeddables project (Claude Code)
198
-
199
- This is an Embeddables project managed by the Embeddables CLI. The CLI transforms Embeddable JSON into a local file structure for development, then compiles it back to JSON for saving.
200
-
201
- For full context when editing embeddables (pages, components, styles, actions, computed fields), see:
202
-
203
- - **.claude/embeddables-cli.md** — Embeddables CLI structure, types, file layout, and conventions.
204
-
205
- All TypeScript types are in \`.types/\` (generated by \`embeddables init\`). Use \`embeddables dev\` to run the dev server and \`embeddables pull\` / \`embeddables save\` to sync with the project.
206
- `;
207
- const codexIntro = `# Embeddables project (Codex)
208
-
209
- This is an Embeddables project managed by the Embeddables CLI. The CLI transforms Embeddable JSON into a local file structure for development, then compiles it back to JSON for saving.
210
-
211
- All TypeScript types are in \`.types/\` (generated by \`embeddables init\`). Use \`embeddables dev\` to run the dev server and \`embeddables pull\` / \`embeddables save\` to sync with the project.
212
-
213
- `;
214
- const cursorRulesDir = path.join(cwd, '.cursor', 'rules');
215
- const claudeDir = path.join(cwd, '.claude');
216
- const agentRulesDir = path.join(cwd, '.agent', 'rules');
217
- fs.mkdirSync(cursorRulesDir, { recursive: true });
218
- fs.mkdirSync(claudeDir, { recursive: true });
219
- fs.mkdirSync(agentRulesDir, { recursive: true });
220
- fs.writeFileSync(path.join(cursorRulesDir, 'embeddables-cli.md'), cursorFrontmatter + content, 'utf8');
221
- fs.writeFileSync(path.join(claudeDir, 'CLAUDE.md'), claudeIntro, 'utf8');
222
- fs.writeFileSync(path.join(claudeDir, 'embeddables-cli.md'), content, 'utf8');
223
- fs.writeFileSync(path.join(cwd, 'AGENTS.md'), codexIntro + content, 'utf8');
224
- fs.writeFileSync(path.join(agentRulesDir, 'embeddables-cli.md'), antigravityFrontmatter + stripFrontmatter(content), 'utf8');
225
- stdout.success('Injected .cursor/ rules');
226
- stdout.success('Injected .claude/');
227
- stdout.success('Injected AGENTS.md (Codex)');
228
- stdout.success('Injected .agent/ rules (Antigravity)');
229
- }
230
- else if (fs.existsSync(sourceCursorDir) || fs.existsSync(sourceClaudeDir) || fs.existsSync(sourceAgentDir)) {
231
- if (fs.existsSync(sourceCursorDir)) {
232
- copyDirSync(sourceCursorDir, path.join(cwd, '.cursor'));
233
- stdout.success('Injected .cursor/ rules');
234
- }
235
- if (fs.existsSync(sourceClaudeDir)) {
236
- copyDirSync(sourceClaudeDir, path.join(cwd, '.claude'));
237
- stdout.success('Injected .claude/');
238
- }
239
- if (fs.existsSync(sourceAgentDir)) {
240
- copyDirSync(sourceAgentDir, path.join(cwd, '.agent'));
241
- stdout.success('Injected .agent/ rules (Antigravity)');
242
- }
243
- }
244
- // Create tsconfig.json for editor support (JSX, type checking)
245
- const tsconfigPath = path.join(cwd, 'tsconfig.json');
246
- if (!fs.existsSync(tsconfigPath)) {
247
- const tsconfig = {
248
- compilerOptions: {
249
- target: 'esnext',
250
- module: 'esnext',
251
- moduleResolution: 'bundler',
252
- jsx: 'react-jsx',
253
- noEmit: true,
254
- strict: false,
255
- skipLibCheck: true,
256
- esModuleInterop: true,
257
- baseUrl: '.',
258
- paths: {
259
- 'react/jsx-runtime': ['./.types/react-jsx-runtime.d.ts'],
260
- '@embeddables/cli/components': ['./.types/components.d.ts'],
261
- '@embeddables/cli/types': ['./.types/types.d.ts'],
262
- },
263
- },
264
- include: ['embeddables'],
265
- };
266
- fs.writeFileSync(tsconfigPath, JSON.stringify(tsconfig, null, 2) + '\n', 'utf8');
267
- stdout.success('Created tsconfig.json');
268
- }
269
- else {
270
- stdout.dim(' ✓ tsconfig.json already exists');
271
- }
272
- // Migrate .types from old location (embeddables/.types/) to project root (.types/)
273
- const oldTypesDir = path.join(embeddablesDir, '.types');
274
- if (fs.existsSync(oldTypesDir)) {
275
- fs.rmSync(oldTypesDir, { recursive: true });
276
- stdout.success('Removed old embeddables/.types/');
277
- }
278
- // Ensure tsconfig has baseUrl and paths for type resolution
279
- if (fs.existsSync(tsconfigPath)) {
280
- let tsconfigContent = fs.readFileSync(tsconfigPath, 'utf8');
281
- let updated = false;
282
- // Migrate old embeddables/.types/ location → .types/
283
- if (tsconfigContent.includes('./embeddables/.types/')) {
284
- tsconfigContent = tsconfigContent.replaceAll('./embeddables/.types/', './.types/');
285
- updated = true;
286
- }
287
- // Migrate old .types/types-builder → .types/types
288
- if (tsconfigContent.includes('./.types/types-builder')) {
289
- tsconfigContent = tsconfigContent.replace(/\.\/\.types\/types-builder(\.d\.ts)?"/g, './.types/types.d.ts"');
290
- updated = true;
291
- }
292
- // Migrate paths without .d.ts extension → with .d.ts
293
- const extensionless = [
294
- ['./.types/react-jsx-runtime"', './.types/react-jsx-runtime.d.ts"'],
295
- ['./.types/components"', './.types/components.d.ts"'],
296
- ['./.types/types"', './.types/types.d.ts"'],
297
- ];
298
- for (const [old, replacement] of extensionless) {
299
- if (tsconfigContent.includes(old) && !tsconfigContent.includes(replacement)) {
300
- tsconfigContent = tsconfigContent.replaceAll(old, replacement);
301
- updated = true;
302
- }
303
- }
304
- // Add baseUrl and paths if missing entirely
305
- try {
306
- const tsconfig = JSON.parse(tsconfigContent);
307
- const co = tsconfig.compilerOptions ?? {};
308
- let coUpdated = false;
309
- if (!co.baseUrl) {
310
- co.baseUrl = '.';
311
- coUpdated = true;
312
- }
313
- const requiredPaths = {
314
- 'react/jsx-runtime': ['./.types/react-jsx-runtime.d.ts'],
315
- '@embeddables/cli/components': ['./.types/components.d.ts'],
316
- '@embeddables/cli/types': ['./.types/types.d.ts'],
317
- };
318
- if (!co.paths)
319
- co.paths = {};
320
- for (const [key, value] of Object.entries(requiredPaths)) {
321
- if (!co.paths[key]) {
322
- co.paths[key] = value;
323
- coUpdated = true;
324
- }
325
- }
326
- if (coUpdated) {
327
- tsconfig.compilerOptions = co;
328
- tsconfigContent = JSON.stringify(tsconfig, null, 2) + '\n';
329
- updated = true;
330
- }
331
- }
332
- catch {
333
- // If tsconfig isn't valid JSON (e.g. has comments), fall through to string-based updates above
334
- }
335
- if (updated) {
336
- fs.writeFileSync(tsconfigPath, tsconfigContent, 'utf8');
337
- stdout.success('Updated tsconfig.json');
338
- }
339
- }
340
- // Remove old .types/types-builder.d.ts (now named .types/types.d.ts)
341
- const legacyTypesBuilderDts = path.join(cwd, '.types', 'types-builder.d.ts');
342
- if (fs.existsSync(legacyTypesBuilderDts)) {
343
- fs.rmSync(legacyTypesBuilderDts);
344
- }
345
- // Generate type declaration stubs for editor support (no npm install needed)
346
- writeTypeStubs(cwd);
347
- stdout.success('Generated type declarations');
96
+ // Update all project scaffold files (gitignore, AI rules, type stubs, tsconfig, etc.)
97
+ updateProjectFiles(cwd);
348
98
  // Next steps in a compact box
349
99
  stdout.gap();
350
100
  const nextStepsLines = [
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@
2
2
  export interface RunLoginOptions {
3
3
  /** When set, skip OTP flow and store this token directly (non-interactive). */
4
4
  token?: string;
5
+ /** When set, send OTP to this email and exit (non-interactive mode, step 1 of 2). */
6
+ email?: string;
5
7
  }
6
8
  export declare function runLogin(opts?: RunLoginOptions): Promise<void>;
7
9
  //# sourceMappingURL=login.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAeA,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAmBD,wBAAsB,QAAQ,CAAC,IAAI,GAAE,eAAoB,iBAoLxD"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAgBA,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAmBD,wBAAsB,QAAQ,CAAC,IAAI,GAAE,eAAoB,iBAqOxD"}
@@ -1,5 +1,5 @@
1
1
  import * as Sentry from '@sentry/node';
2
- import { getSupabaseClient, writeAuthConfig, readAuthConfig, SUPABASE_URL, SUPABASE_ANON_KEY, } from '../auth/index.js';
2
+ import { getSupabaseClient, writeAuthConfig, readAuthConfig, writePendingOtpState, SUPABASE_URL, SUPABASE_ANON_KEY, } from '../auth/index.js';
3
3
  import { prompt } from '../helpers/prompt.js';
4
4
  import { captureException, createLogger, exit } from '../logger.js';
5
5
  import { setSentryContext } from '../sentry-context.js';
@@ -54,6 +54,46 @@ export async function runLogin(opts = {}) {
54
54
  logger.info('login complete (token)');
55
55
  return;
56
56
  }
57
+ // Non-interactive email login: send OTP and save pending state
58
+ if (opts.email) {
59
+ const email = opts.email.trim();
60
+ if (!email) {
61
+ stdout.error('Email cannot be empty.');
62
+ await exit(1);
63
+ return;
64
+ }
65
+ // Validate email format
66
+ if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) {
67
+ stdout.error('Please enter a valid email address.');
68
+ await exit(1);
69
+ return;
70
+ }
71
+ const supabase = getSupabaseClient();
72
+ // Send OTP code
73
+ const sendSpinner = stdout.spinner('Sending verification code…');
74
+ const { error: sendError } = await withSpan('auth.send_otp', 'cli.auth', () => supabase.auth.signInWithOtp({ email }));
75
+ if (sendError) {
76
+ sendSpinner.fail('Failed to send verification code');
77
+ stdout.error(`Error sending verification code: ${sendError.message}`);
78
+ logger.error('failed to send OTP', { message: sendError.message });
79
+ await exit(1);
80
+ return;
81
+ }
82
+ // Save pending OTP state
83
+ const pendingState = {
84
+ email,
85
+ requestedAt: Math.floor(Date.now() / 1000),
86
+ };
87
+ writePendingOtpState(pendingState);
88
+ sendSpinner.succeed('Verification code sent!');
89
+ stdout.gap();
90
+ stdout.success(`OTP sent to ${email}`);
91
+ stdout.dim('Use "embeddables provide-otp --code <code>" to complete login.');
92
+ stdout.dim('The code will expire in 10 minutes.');
93
+ stdout.gap();
94
+ logger.info('OTP sent, pending verification');
95
+ return;
96
+ }
57
97
  const supabase = getSupabaseClient();
58
98
  // Check if already logged in
59
99
  const existingConfig = readAuthConfig();
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /** Options for the provide-otp command. */
2
+ export interface RunProvideOtpOptions {
3
+ /** The OTP code received via email (required). */
4
+ code: string;
5
+ }
6
+ /**
7
+ * Verifies an OTP code and completes the non-interactive login flow.
8
+ * Requires a pending OTP request initiated by `embeddables login --email`.
9
+ */
10
+ export declare function runProvideOtp(opts: RunProvideOtpOptions): Promise<void>;
11
+ //# sourceMappingURL=provide-otp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provide-otp.d.ts","sourceRoot":"","sources":["../../src/commands/provide-otp.ts"],"names":[],"mappings":"AAeA,2CAA2C;AAC3C,MAAM,WAAW,oBAAoB;IACnC,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,oBAAoB,iBA0G7D"}
@@ -0,0 +1,102 @@
1
+ import * as Sentry from '@sentry/node';
2
+ import { getSupabaseClient, writeAuthConfig, readPendingOtpState, deletePendingOtpState, hasPendingOtp, SUPABASE_URL, SUPABASE_ANON_KEY, } from '../auth/index.js';
3
+ import { captureException, createLogger, exit } from '../logger.js';
4
+ import { setSentryContext } from '../sentry-context.js';
5
+ import * as stdout from '../stdout.js';
6
+ import { withSpan } from '../tracing.js';
7
+ /**
8
+ * Verifies an OTP code and completes the non-interactive login flow.
9
+ * Requires a pending OTP request initiated by `embeddables login --email`.
10
+ */
11
+ export async function runProvideOtp(opts) {
12
+ const logger = createLogger('runProvideOtp');
13
+ const otpStart = performance.now();
14
+ try {
15
+ // Validate code is provided
16
+ if (!opts.code) {
17
+ stdout.error('OTP code is required.');
18
+ stdout.dim('Usage: embeddables provide-otp --code <code>');
19
+ await exit(1);
20
+ return;
21
+ }
22
+ const code = opts.code.trim();
23
+ // Validate code format (6 digits)
24
+ if (!/^\d{6}$/.test(code)) {
25
+ stdout.error('Invalid OTP code format. Expected a 6-digit code.');
26
+ await exit(1);
27
+ return;
28
+ }
29
+ // Check for pending OTP request
30
+ if (!hasPendingOtp()) {
31
+ stdout.error('No pending OTP request found or the request has expired.');
32
+ stdout.dim('First run: embeddables login --email <your-email>');
33
+ await exit(1);
34
+ return;
35
+ }
36
+ const pendingState = readPendingOtpState();
37
+ if (!pendingState) {
38
+ stdout.error('Failed to read pending OTP state.');
39
+ await exit(1);
40
+ return;
41
+ }
42
+ const supabase = getSupabaseClient();
43
+ // Verify OTP code
44
+ const verifySpinner = stdout.spinner('Verifying code…');
45
+ const { data, error: verifyError } = await withSpan('auth.verify_otp', 'cli.auth', () => supabase.auth.verifyOtp({
46
+ email: pendingState.email,
47
+ token: code,
48
+ type: 'email',
49
+ }));
50
+ if (verifyError) {
51
+ verifySpinner.fail('Verification failed');
52
+ stdout.error(`Error verifying code: ${verifyError.message}`);
53
+ logger.error('failed to verify OTP', { message: verifyError.message });
54
+ await exit(1);
55
+ return;
56
+ }
57
+ if (!data.session) {
58
+ verifySpinner.fail('No session returned');
59
+ stdout.error('No session returned from verification');
60
+ logger.error('no session returned from verification');
61
+ await exit(1);
62
+ return;
63
+ }
64
+ // Store auth config (including cached user info for Sentry context)
65
+ const config = {
66
+ access_token: data.session.access_token,
67
+ refresh_token: data.session.refresh_token,
68
+ expires_at: data.session.expires_at || Math.floor(Date.now() / 1000) + 3600,
69
+ supabase_url: SUPABASE_URL,
70
+ supabase_anon_key: SUPABASE_ANON_KEY,
71
+ user_id: data.user?.id,
72
+ user_email: data.user?.email,
73
+ };
74
+ writeAuthConfig(config);
75
+ // Clean up pending OTP state
76
+ deletePendingOtpState();
77
+ if (data.user?.id) {
78
+ setSentryContext({
79
+ user: { id: data.user.id, email: data.user.email ?? null },
80
+ });
81
+ }
82
+ Sentry.metrics.count('cli.provide_otp.completed', 1);
83
+ Sentry.metrics.distribution('cli.provide_otp.duration', performance.now() - otpStart, {
84
+ unit: 'millisecond',
85
+ });
86
+ verifySpinner.succeed(`Logged in! ${stdout.randomMessage('login')}`);
87
+ stdout.gap();
88
+ stdout.dim('The Embeddables CLI is currently in beta.');
89
+ stdout.dim('Docs: https://docs.embeddables.com/cli/overview');
90
+ stdout.gap();
91
+ logger.info('OTP verification complete');
92
+ }
93
+ catch (error) {
94
+ Sentry.metrics.count('cli.provide_otp.failed', 1);
95
+ captureException(error, 'OTP verification failed');
96
+ const message = error instanceof Error ? error.message : String(error);
97
+ stdout.error(`Error during OTP verification: ${message}`);
98
+ logger.error('OTP verification failed', { message });
99
+ await exit(1);
100
+ }
101
+ }
102
+ //# sourceMappingURL=provide-otp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provide-otp.js","sourceRoot":"","sources":["../../src/commands/provide-otp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Updates all project scaffold files (gitignore, AI/editor rules, type stubs, tsconfig, etc.)
3
+ * without touching project configuration (embeddables.json).
4
+ *
5
+ * Called by both `init` (full project setup) and `upgrade` (refresh files after CLI update).
6
+ */
7
+ export declare function updateProjectFiles(cwd: string): void;
8
+ //# sourceMappingURL=update-project-files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-project-files.d.ts","sourceRoot":"","sources":["../../src/commands/update-project-files.ts"],"names":[],"mappings":"AAoBA;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAkPpD"}