@invariant-ai/cli 0.1.1 → 0.1.3

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 (44) hide show
  1. package/README.md +39 -0
  2. package/dist/commands/init.d.ts +1 -0
  3. package/dist/commands/init.d.ts.map +1 -1
  4. package/dist/commands/init.js +17 -0
  5. package/dist/commands/init.js.map +1 -1
  6. package/dist/commands/login.d.ts.map +1 -1
  7. package/dist/commands/login.js +6 -1
  8. package/dist/commands/login.js.map +1 -1
  9. package/dist/commands/mcp.d.ts +8 -0
  10. package/dist/commands/mcp.d.ts.map +1 -0
  11. package/dist/commands/mcp.js +171 -0
  12. package/dist/commands/mcp.js.map +1 -0
  13. package/dist/commands/project.d.ts +4 -0
  14. package/dist/commands/project.d.ts.map +1 -0
  15. package/dist/commands/project.js +104 -0
  16. package/dist/commands/project.js.map +1 -0
  17. package/dist/commands/sync.js +2 -2
  18. package/dist/commands/sync.js.map +1 -1
  19. package/dist/dashboard/.next/BUILD_ID +1 -1
  20. package/dist/dashboard/.next/build-manifest.json +2 -2
  21. package/dist/dashboard/.next/prerender-manifest.json +1 -1
  22. package/dist/dashboard/.next/server/app/_not-found.html +1 -1
  23. package/dist/dashboard/.next/server/app/_not-found.rsc +1 -1
  24. package/dist/dashboard/.next/server/pages/404.html +1 -1
  25. package/dist/dashboard/.next/server/pages/500.html +1 -1
  26. package/dist/dashboard/.next/server/server-reference-manifest.json +1 -1
  27. package/dist/index.js +42 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/lib/api-client.d.ts +5 -0
  30. package/dist/lib/api-client.d.ts.map +1 -1
  31. package/dist/lib/api-client.js.map +1 -1
  32. package/dist/lib/auto-sync.js +1 -1
  33. package/dist/lib/auto-sync.js.map +1 -1
  34. package/dist/lib/claude-md.d.ts +16 -0
  35. package/dist/lib/claude-md.d.ts.map +1 -0
  36. package/dist/lib/claude-md.js +56 -0
  37. package/dist/lib/claude-md.js.map +1 -0
  38. package/dist/lib/cloud.d.ts +16 -1
  39. package/dist/lib/cloud.d.ts.map +1 -1
  40. package/dist/lib/cloud.js +50 -4
  41. package/dist/lib/cloud.js.map +1 -1
  42. package/package.json +1 -1
  43. /package/dist/dashboard/.next/static/{i9WAI9a49drNHr36mklBI → vMhEOtT8-QIwS78cUhvTK}/_buildManifest.js +0 -0
  44. /package/dist/dashboard/.next/static/{i9WAI9a49drNHr36mklBI → vMhEOtT8-QIwS78cUhvTK}/_ssgManifest.js +0 -0
package/README.md CHANGED
@@ -62,6 +62,45 @@ npm install -g @invariant-ai/cli
62
62
  invariant run # works after global install
63
63
  ```
64
64
 
65
+ ## CI / GitHub Actions
66
+
67
+ Run Invariant proof on every pull request using the included GitHub Action.
68
+
69
+ ```yaml
70
+ # .github/workflows/invariant-proof.yml
71
+ name: Invariant Proof
72
+ on:
73
+ pull_request:
74
+ branches: [main]
75
+
76
+ permissions:
77
+ contents: read
78
+ issues: write
79
+
80
+ jobs:
81
+ proof:
82
+ runs-on: ubuntu-latest
83
+ steps:
84
+ - uses: actions/checkout@v4
85
+ - uses: actions/setup-node@v4
86
+ with:
87
+ node-version: '20'
88
+ - run: npm ci
89
+ - run: npx playwright install --with-deps chromium
90
+ - uses: ./packages/github-action
91
+ with:
92
+ fail-on-proof-failure: true
93
+ ```
94
+
95
+ The action runs `npx --no-install invariant run --ci`, posts a proof summary comment on the PR, and optionally fails the step if proof fails. See [`packages/github-action/README.md`](../github-action/README.md) for full documentation.
96
+
97
+ ### CI Flags
98
+
99
+ - `--json` — Output proof report as JSON to stdout (no human text)
100
+ - `--ci` — CI mode: implies `--json`, no color, no spinners
101
+
102
+ Exit codes: `0` = passed, `1` = failed, `2` = setup error.
103
+
65
104
  ## How It Works
66
105
 
67
106
  1. `npx @invariant-ai/cli init -y` sets up everything automatically
@@ -2,6 +2,7 @@ interface InitOptions {
2
2
  yes?: boolean;
3
3
  skipBrowserInstall?: boolean;
4
4
  skipHooks?: boolean;
5
+ withClaudeMd?: boolean;
5
6
  }
6
7
  export declare function initCommand(options: InitOptions): Promise<void>;
7
8
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAaA,UAAU,WAAW;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AA8ED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA8PrE"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAcA,UAAU,WAAW;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA8ED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA+QrE"}
@@ -12,6 +12,7 @@ const chalk_1 = __importDefault(require("chalk"));
12
12
  const ora_1 = __importDefault(require("ora"));
13
13
  const detect_js_1 = require("../lib/detect.js");
14
14
  const templates_js_1 = require("../lib/templates.js");
15
+ const claude_md_js_1 = require("../lib/claude-md.js");
15
16
  /**
16
17
  * Detect which package manager is being used
17
18
  */
@@ -294,6 +295,22 @@ async function initCommand(options) {
294
295
  console.log(chalk_1.default.gray('○') + chalk_1.default.gray(' Hooks install skipped (--skip-hooks)'));
295
296
  manualSteps.push('npx invariant hooks install');
296
297
  }
298
+ // Step 12: Update CLAUDE.md (append-only marker block)
299
+ const claudeMdResult = (0, claude_md_js_1.updateClaudeMd)(installPath, options.withClaudeMd ?? false);
300
+ switch (claudeMdResult) {
301
+ case 'created':
302
+ console.log(chalk_1.default.green('✓') + ' Created CLAUDE.md with Invariant instructions');
303
+ break;
304
+ case 'appended':
305
+ console.log(chalk_1.default.green('✓') + ' Appended Invariant instructions to CLAUDE.md');
306
+ break;
307
+ case 'updated':
308
+ console.log(chalk_1.default.green('✓') + ' Updated Invariant instructions in CLAUDE.md');
309
+ break;
310
+ case 'skipped':
311
+ console.log(chalk_1.default.gray('○') + chalk_1.default.gray(' No CLAUDE.md found. Use --with-claude-md to create one.'));
312
+ break;
313
+ }
297
314
  // Success message
298
315
  console.log(chalk_1.default.bold.green('\n✓ Invariant initialized successfully!\n'));
299
316
  // Next steps (only show what's actually needed)
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAyEA,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAiHlD"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAyEA,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAsHlD"}
@@ -147,12 +147,17 @@ async function loginCommand() {
147
147
  return;
148
148
  }
149
149
  const { token, user, project } = response.data;
150
- // Save credentials
150
+ // Save credentials (config_version 2 with projects array)
151
+ const projects = response.data.projects || (project ? [{ id: project.id, slug: project.slug }] : []);
151
152
  (0, cloud_js_1.writeCloudConfig)({
153
+ config_version: 2,
152
154
  token,
153
155
  email: user.email,
154
156
  project_id: project?.id || '',
155
157
  project_slug: project?.slug || '',
158
+ active_project_id: project?.id || '',
159
+ active_project_slug: project?.slug || '',
160
+ projects,
156
161
  });
157
162
  exchangeSpinner.succeed('Logged in');
158
163
  console.log(chalk_1.default.green(`\n Logged in as ${chalk_1.default.bold(user.email)}`));
@@ -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,8 @@
1
+ export declare function mcpInstallCommand(options: {
2
+ global?: boolean;
3
+ withClaudeMd?: boolean;
4
+ }): Promise<void>;
5
+ export declare function mcpUninstallCommand(options: {
6
+ global?: boolean;
7
+ }): Promise<void>;
8
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAsFA,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8E5G;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBtF"}
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.mcpInstallCommand = mcpInstallCommand;
7
+ exports.mcpUninstallCommand = mcpUninstallCommand;
8
+ const node_fs_1 = require("node:fs");
9
+ const node_path_1 = require("node:path");
10
+ const chalk_1 = __importDefault(require("chalk"));
11
+ const claude_md_js_1 = require("../lib/claude-md.js");
12
+ const MCP_SERVER_NAME = 'invariant';
13
+ /**
14
+ * Resolves the version of @invariant-ai/mcp by reading its package.json.
15
+ * Works in both monorepo dev and published node_modules contexts.
16
+ */
17
+ function resolveMcpVersion() {
18
+ // In monorepo: __dirname is packages/cli/dist/commands → go up to packages/mcp/
19
+ const monorepoPath = (0, node_path_1.resolve)(__dirname, '..', '..', '..', 'mcp', 'package.json');
20
+ if ((0, node_fs_1.existsSync)(monorepoPath)) {
21
+ try {
22
+ const pkg = JSON.parse((0, node_fs_1.readFileSync)(monorepoPath, 'utf-8'));
23
+ if (pkg.version)
24
+ return pkg.version;
25
+ }
26
+ catch { /* fall through */ }
27
+ }
28
+ // Published: try require.resolve
29
+ try {
30
+ const mcpPkgPath = require.resolve('@invariant-ai/mcp/package.json');
31
+ const pkg = JSON.parse((0, node_fs_1.readFileSync)(mcpPkgPath, 'utf-8'));
32
+ if (pkg.version)
33
+ return pkg.version;
34
+ }
35
+ catch { /* fall through */ }
36
+ return '0.1.0'; // fallback
37
+ }
38
+ /**
39
+ * Determines the config file path for MCP server registration.
40
+ * Order: project .claude/settings.json → ~/.claude/settings.json → ~/.claude.json
41
+ */
42
+ function resolveConfigPath(globalFlag) {
43
+ const home = process.env.HOME ?? process.env.USERPROFILE ?? '';
44
+ if (!globalFlag) {
45
+ // Check for project-local .claude/ directory
46
+ const projectConfig = (0, node_path_1.resolve)(process.cwd(), '.claude', 'settings.json');
47
+ const projectClaudeDir = (0, node_path_1.resolve)(process.cwd(), '.claude');
48
+ if ((0, node_fs_1.existsSync)(projectClaudeDir)) {
49
+ return projectConfig;
50
+ }
51
+ }
52
+ // User-level: prefer ~/.claude/settings.json
53
+ const userClaudeDir = (0, node_path_1.resolve)(home, '.claude');
54
+ const userSettings = (0, node_path_1.resolve)(userClaudeDir, 'settings.json');
55
+ if ((0, node_fs_1.existsSync)(userClaudeDir)) {
56
+ return userSettings;
57
+ }
58
+ // Fallback: ~/.claude.json
59
+ const legacyConfig = (0, node_path_1.resolve)(home, '.claude.json');
60
+ if ((0, node_fs_1.existsSync)(legacyConfig)) {
61
+ return legacyConfig;
62
+ }
63
+ // Default to ~/.claude/settings.json (will create)
64
+ return userSettings;
65
+ }
66
+ function readConfig(path) {
67
+ if (!(0, node_fs_1.existsSync)(path))
68
+ return {};
69
+ try {
70
+ return JSON.parse((0, node_fs_1.readFileSync)(path, 'utf-8'));
71
+ }
72
+ catch {
73
+ return {};
74
+ }
75
+ }
76
+ function writeConfig(path, config) {
77
+ const dir = (0, node_path_1.dirname)(path);
78
+ if (!(0, node_fs_1.existsSync)(dir)) {
79
+ (0, node_fs_1.mkdirSync)(dir, { recursive: true });
80
+ }
81
+ (0, node_fs_1.writeFileSync)(path, JSON.stringify(config, null, 2) + '\n', 'utf-8');
82
+ }
83
+ async function mcpInstallCommand(options) {
84
+ const configPath = resolveConfigPath(options.global ?? false);
85
+ const config = readConfig(configPath);
86
+ const version = await resolveMcpVersion();
87
+ const serverEntry = {
88
+ command: 'npx',
89
+ args: ['-y', `@invariant-ai/mcp@${version}`],
90
+ env: {},
91
+ };
92
+ // Check if already installed with same config
93
+ if (config.mcpServers && config.mcpServers[MCP_SERVER_NAME]) {
94
+ const existing = config.mcpServers[MCP_SERVER_NAME];
95
+ if (existing.command === serverEntry.command &&
96
+ JSON.stringify(existing.args) === JSON.stringify(serverEntry.args)) {
97
+ console.log(chalk_1.default.yellow(`Invariant MCP server already registered in ${configPath}`));
98
+ console.log('No MCP changes made.');
99
+ // Still handle CLAUDE.md even when MCP is already registered
100
+ const claudeMdResult = (0, claude_md_js_1.updateClaudeMd)(process.cwd(), options.withClaudeMd ?? false);
101
+ switch (claudeMdResult) {
102
+ case 'created':
103
+ console.log(chalk_1.default.green('✓') + ' Created CLAUDE.md with Invariant instructions');
104
+ break;
105
+ case 'appended':
106
+ console.log(chalk_1.default.green('✓') + ' Appended Invariant instructions to CLAUDE.md');
107
+ break;
108
+ case 'updated':
109
+ console.log(chalk_1.default.green('✓') + ' Updated Invariant instructions in CLAUDE.md');
110
+ break;
111
+ case 'skipped':
112
+ break;
113
+ }
114
+ return;
115
+ }
116
+ }
117
+ // Append-only: only touch mcpServers.invariant
118
+ if (!config.mcpServers) {
119
+ config.mcpServers = {};
120
+ }
121
+ const before = config.mcpServers[MCP_SERVER_NAME] ? JSON.stringify(config.mcpServers[MCP_SERVER_NAME], null, 2) : null;
122
+ config.mcpServers[MCP_SERVER_NAME] = serverEntry;
123
+ writeConfig(configPath, config);
124
+ console.log(chalk_1.default.green('✓ Invariant MCP server registered'));
125
+ console.log(` File: ${configPath}`);
126
+ if (before) {
127
+ console.log(` Updated: mcpServers.${MCP_SERVER_NAME}`);
128
+ console.log(` Previous: ${before}`);
129
+ }
130
+ else {
131
+ console.log(` Added: mcpServers.${MCP_SERVER_NAME}`);
132
+ }
133
+ console.log(` Version: @invariant-ai/mcp@${version}`);
134
+ // Update CLAUDE.md (append-only marker block)
135
+ const claudeMdResult = (0, claude_md_js_1.updateClaudeMd)(process.cwd(), options.withClaudeMd ?? false);
136
+ switch (claudeMdResult) {
137
+ case 'created':
138
+ console.log(chalk_1.default.green('✓') + ' Created CLAUDE.md with Invariant instructions');
139
+ break;
140
+ case 'appended':
141
+ console.log(chalk_1.default.green('✓') + ' Appended Invariant instructions to CLAUDE.md');
142
+ break;
143
+ case 'updated':
144
+ console.log(chalk_1.default.green('✓') + ' Updated Invariant instructions in CLAUDE.md');
145
+ break;
146
+ case 'skipped':
147
+ console.log(chalk_1.default.gray('○') + chalk_1.default.gray(' No CLAUDE.md found. Use --with-claude-md to create one.'));
148
+ break;
149
+ }
150
+ console.log('');
151
+ console.log(`To undo: npx invariant mcp uninstall${options.global ? ' --global' : ''}`);
152
+ }
153
+ async function mcpUninstallCommand(options) {
154
+ const configPath = resolveConfigPath(options.global ?? false);
155
+ const config = readConfig(configPath);
156
+ if (!config.mcpServers || !config.mcpServers[MCP_SERVER_NAME]) {
157
+ console.log(chalk_1.default.yellow('Invariant MCP server is not registered.'));
158
+ console.log(` Checked: ${configPath}`);
159
+ return;
160
+ }
161
+ delete config.mcpServers[MCP_SERVER_NAME];
162
+ // Clean up empty mcpServers object
163
+ if (Object.keys(config.mcpServers).length === 0) {
164
+ delete config.mcpServers;
165
+ }
166
+ writeConfig(configPath, config);
167
+ console.log(chalk_1.default.green('✓ Invariant MCP server unregistered'));
168
+ console.log(` File: ${configPath}`);
169
+ console.log(` Removed: mcpServers.${MCP_SERVER_NAME}`);
170
+ }
171
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function projectListCommand(): Promise<void>;
2
+ export declare function projectUseCommand(slug: string): Promise<void>;
3
+ export declare function projectCurrentCommand(): Promise<void>;
4
+ //# sourceMappingURL=project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/commands/project.ts"],"names":[],"mappings":"AAcA,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAwCxD;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCnE;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAW3D"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.projectListCommand = projectListCommand;
7
+ exports.projectUseCommand = projectUseCommand;
8
+ exports.projectCurrentCommand = projectCurrentCommand;
9
+ const chalk_1 = __importDefault(require("chalk"));
10
+ const ora_1 = __importDefault(require("ora"));
11
+ const cloud_js_1 = require("../lib/cloud.js");
12
+ const api_client_js_1 = require("../lib/api-client.js");
13
+ function requireLogin() {
14
+ const config = (0, cloud_js_1.readCloudConfig)();
15
+ if (!config) {
16
+ console.log(chalk_1.default.red(' Not logged in. Run `invariant login` first.\n'));
17
+ process.exit(1);
18
+ }
19
+ return config;
20
+ }
21
+ async function projectListCommand() {
22
+ const config = requireLogin();
23
+ const spinner = (0, ora_1.default)('Fetching projects...').start();
24
+ try {
25
+ const result = await (0, api_client_js_1.verifyToken)(config.token);
26
+ if (!result.ok || !result.data.valid) {
27
+ spinner.fail('Authentication failed');
28
+ console.log(chalk_1.default.red(' Your token is invalid or expired. Run `invariant login` again.\n'));
29
+ process.exit(1);
30
+ }
31
+ const serverProjects = result.data.projects || [];
32
+ if (serverProjects.length === 0) {
33
+ spinner.succeed('Authenticated');
34
+ console.log(chalk_1.default.yellow('\n No projects found. Create one at https://invariantdev.com\n'));
35
+ return;
36
+ }
37
+ // Update local projects cache
38
+ config.projects = serverProjects;
39
+ (0, cloud_js_1.writeCloudConfig)(config);
40
+ spinner.succeed(`${serverProjects.length} project${serverProjects.length > 1 ? 's' : ''}`);
41
+ console.log();
42
+ for (const p of serverProjects) {
43
+ const active = p.id === config.active_project_id;
44
+ const marker = active ? chalk_1.default.green('→ ') : ' ';
45
+ const name = active ? chalk_1.default.bold(p.slug) : p.slug;
46
+ const label = active ? chalk_1.default.gray(' (active)') : '';
47
+ console.log(`${marker}${name}${label}`);
48
+ }
49
+ console.log();
50
+ }
51
+ catch {
52
+ spinner.fail('Could not reach cloud');
53
+ console.log(chalk_1.default.red(' Check your internet connection.\n'));
54
+ process.exit(1);
55
+ }
56
+ }
57
+ async function projectUseCommand(slug) {
58
+ const config = requireLogin();
59
+ // Check local cache first
60
+ let match = config.projects.find((p) => p.slug === slug);
61
+ if (!match) {
62
+ // Refresh from server
63
+ const spinner = (0, ora_1.default)('Fetching projects...').start();
64
+ try {
65
+ const result = await (0, api_client_js_1.verifyToken)(config.token);
66
+ if (!result.ok || !result.data.valid) {
67
+ spinner.fail('Authentication failed');
68
+ console.log(chalk_1.default.red(' Run `invariant login` again.\n'));
69
+ process.exit(1);
70
+ }
71
+ config.projects = result.data.projects || [];
72
+ match = config.projects.find((p) => p.slug === slug);
73
+ spinner.stop();
74
+ }
75
+ catch {
76
+ spinner.fail('Could not reach cloud');
77
+ process.exit(1);
78
+ }
79
+ }
80
+ if (!match) {
81
+ console.log(chalk_1.default.red(` Project "${slug}" not found.\n`));
82
+ console.log(chalk_1.default.gray(' Available projects:'));
83
+ for (const p of config.projects) {
84
+ console.log(chalk_1.default.gray(` ${p.slug}`));
85
+ }
86
+ console.log();
87
+ process.exit(1);
88
+ }
89
+ config.active_project_id = match.id;
90
+ config.active_project_slug = match.slug;
91
+ (0, cloud_js_1.writeCloudConfig)(config);
92
+ console.log(chalk_1.default.green(` Switched to project: ${chalk_1.default.bold(match.slug)}\n`));
93
+ }
94
+ async function projectCurrentCommand() {
95
+ const config = requireLogin();
96
+ if (!config.active_project_id) {
97
+ console.log(chalk_1.default.yellow(' No active project. Run `invariant project use <slug>` to set one.\n'));
98
+ return;
99
+ }
100
+ console.log(chalk_1.default.white(` Active project: ${chalk_1.default.bold(config.active_project_slug)}`));
101
+ console.log(chalk_1.default.gray(` ID: ${config.active_project_id}`));
102
+ console.log(chalk_1.default.gray(` Email: ${config.email}\n`));
103
+ }
104
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/commands/project.ts"],"names":[],"mappings":"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"}
@@ -56,7 +56,7 @@ async function syncCommand() {
56
56
  const statusSpinner = (0, ora_1.default)('Checking sync status...').start();
57
57
  let syncedIds = [];
58
58
  try {
59
- const statusResult = await (0, api_client_js_1.checkRunStatus)(config.token, config.project_id, localRunIds);
59
+ const statusResult = await (0, api_client_js_1.checkRunStatus)(config.token, config.active_project_id, localRunIds);
60
60
  if (statusResult.ok) {
61
61
  syncedIds = statusResult.data.synced_run_ids || [];
62
62
  }
@@ -78,7 +78,7 @@ async function syncCommand() {
78
78
  const runDir = (0, path_1.join)(runsDir, runId);
79
79
  const progressLabel = `(${i + 1}/${unsyncedIds.length})`;
80
80
  try {
81
- const success = await (0, sync_js_1.syncRun)(config.token, config.project_id, runDir, runId);
81
+ const success = await (0, sync_js_1.syncRun)(config.token, config.active_project_id, runDir, runId);
82
82
  if (success) {
83
83
  successCount++;
84
84
  console.log(chalk_1.default.green(` ✓ ${runId} ${chalk_1.default.gray(progressLabel)}`));
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":";;;;;AASA,kCA+FC;AAxGD,2BAA2D;AAC3D,+BAA4B;AAC5B,kDAA0B;AAC1B,8CAAsB;AACtB,8CAAkD;AAClD,gDAAwD;AACxD,4CAAyC;AACzC,wDAAmE;AAE5D,KAAK,UAAU,WAAW;IAC/B,cAAc;IACd,MAAM,MAAM,GAAG,IAAA,0BAAe,GAAE,CAAC;IACjC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,eAAe;IACf,MAAM,YAAY,GAAG,IAAA,gCAAoB,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,YAAY,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACnD,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAEpD,IAAI,CAAC,IAAA,eAAU,EAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IAED,eAAe;IACf,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,0BAA0B,CAAC,CAAC,KAAK,EAAE,CAAC;IACxD,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,IAAA,2BAAW,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC,CAAC;YAC7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,kBAAkB;IAClB,MAAM,WAAW,GAAG,IAAA,gBAAW,EAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SAC9D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,uCAAuC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAExE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC;QACxD,OAAO;IACT,CAAC;IAED,iCAAiC;IACjC,MAAM,aAAa,GAAG,IAAA,aAAG,EAAC,yBAAyB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC7D,IAAI,SAAS,GAAa,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,IAAA,8BAAc,EAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;QAC/F,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC;YACpB,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;QACrD,CAAC;QACD,aAAa,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,sBAAsB,CAAC,CAAC;IACzF,CAAC;IAAC,MAAM,CAAC;QACP,aAAa,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IACtE,CAAC;IAED,0BAA0B;IAC1B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAExE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,eAAe,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3G,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACpC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAA,iBAAO,EAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACrF,IAAI,OAAO,EAAE,CAAC;gBACZ,YAAY,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,eAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,eAAK,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,OAAO,KAAK,IAAI,eAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,YAAY,YAAY,WAAW,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,MAAM,GAAG,YAAY,oBAAoB,CAAC,CAAC,CAAC;IACnJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- i9WAI9a49drNHr36mklBI
1
+ vMhEOtT8-QIwS78cUhvTK
@@ -5,8 +5,8 @@
5
5
  "devFiles": [],
6
6
  "ampDevFiles": [],
7
7
  "lowPriorityFiles": [
8
- "static/i9WAI9a49drNHr36mklBI/_buildManifest.js",
9
- "static/i9WAI9a49drNHr36mklBI/_ssgManifest.js"
8
+ "static/vMhEOtT8-QIwS78cUhvTK/_buildManifest.js",
9
+ "static/vMhEOtT8-QIwS78cUhvTK/_ssgManifest.js"
10
10
  ],
11
11
  "rootMainFiles": [
12
12
  "static/chunks/webpack-8658fdbc42bfbbae.js",
@@ -1 +1 @@
1
- {"version":4,"routes":{},"dynamicRoutes":{},"notFoundRoutes":[],"preview":{"previewModeId":"ad8430113c35ca15a255be4259e86af3","previewModeSigningKey":"5b5d9be565220b1e9d073bff5116cad71cc7532d5b85e1cf7b786725c5602563","previewModeEncryptionKey":"c1065696a03f92b1fd727a6cd603b8ce7f84d9a2089755dfd864be1f525bc04b"}}
1
+ {"version":4,"routes":{},"dynamicRoutes":{},"notFoundRoutes":[],"preview":{"previewModeId":"443867ead96bf7ca7d89022d188423a0","previewModeSigningKey":"e1f7473afd841740588cc3d4c24a110a7cae3af80ae689dc1a5b074b9fb6dd50","previewModeEncryptionKey":"e115e132038e65da026acbe2497992d43fcba5f215e3d5a87d1742e097c999f2"}}
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/755bf18261314b50.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-8658fdbc42bfbbae.js"/><script src="/_next/static/chunks/fd9d1056-5f55067fad1d0619.js" async=""></script><script src="/_next/static/chunks/117-fc73271fc24037f1.js" async=""></script><script src="/_next/static/chunks/main-app-a0cfbefe5d27352b.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Invariant Dashboard</title><meta name="description" content="AI writes code. Invariant proves it works."/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><header class="header"><div class="logo"><span class="logo-icon">●</span>Invariant</div><span style="color:var(--text-muted);font-size:0.875rem">Proof Dashboard</span></header><main><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div></main><script src="/_next/static/chunks/webpack-8658fdbc42bfbbae.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/755bf18261314b50.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[2846,[],\"\"]\n4:I[4707,[],\"\"]\n5:I[6423,[],\"\"]\nb:I[1060,[],\"\"]\n6:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n7:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n8:{\"display\":\"inline-block\"}\n9:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nc:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"i9WAI9a49drNHr36mklBI\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/755bf18261314b50.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[[\"$\",\"header\",null,{\"className\":\"header\",\"children\":[[\"$\",\"div\",null,{\"className\":\"logo\",\"children\":[[\"$\",\"span\",null,{\"className\":\"logo-icon\",\"children\":\"●\"}],\"Invariant\"]}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--text-muted)\",\"fontSize\":\"0.875rem\"},\"children\":\"Proof Dashboard\"}]]}],[\"$\",\"main\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$6\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$7\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$8\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$9\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$La\"],\"globalErrorComponent\":\"$b\",\"missingSlots\":\"$Wc\"}]\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Invariant Dashboard\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"AI writes code. Invariant proves it works.\"}]]\n3:null\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/755bf18261314b50.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-8658fdbc42bfbbae.js"/><script src="/_next/static/chunks/fd9d1056-5f55067fad1d0619.js" async=""></script><script src="/_next/static/chunks/117-fc73271fc24037f1.js" async=""></script><script src="/_next/static/chunks/main-app-a0cfbefe5d27352b.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Invariant Dashboard</title><meta name="description" content="AI writes code. Invariant proves it works."/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><header class="header"><div class="logo"><span class="logo-icon">●</span>Invariant</div><span style="color:var(--text-muted);font-size:0.875rem">Proof Dashboard</span></header><main><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div></main><script src="/_next/static/chunks/webpack-8658fdbc42bfbbae.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/755bf18261314b50.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[2846,[],\"\"]\n4:I[4707,[],\"\"]\n5:I[6423,[],\"\"]\nb:I[1060,[],\"\"]\n6:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n7:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n8:{\"display\":\"inline-block\"}\n9:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nc:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"vMhEOtT8-QIwS78cUhvTK\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/755bf18261314b50.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[[\"$\",\"header\",null,{\"className\":\"header\",\"children\":[[\"$\",\"div\",null,{\"className\":\"logo\",\"children\":[[\"$\",\"span\",null,{\"className\":\"logo-icon\",\"children\":\"●\"}],\"Invariant\"]}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--text-muted)\",\"fontSize\":\"0.875rem\"},\"children\":\"Proof Dashboard\"}]]}],[\"$\",\"main\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$6\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$7\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$8\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$9\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$La\"],\"globalErrorComponent\":\"$b\",\"missingSlots\":\"$Wc\"}]\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Invariant Dashboard\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"AI writes code. Invariant proves it works.\"}]]\n3:null\n"])</script></body></html>
@@ -4,6 +4,6 @@
4
4
  5:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"}
5
5
  6:{"display":"inline-block"}
6
6
  7:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0}
7
- 0:["i9WAI9a49drNHr36mklBI",[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["/_not-found",{"children":["__PAGE__",{},[["$L1",[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],null],null],null]},[null,["$","$L2",null,{"parallelRouterKey":"children","segmentPath":["children","/_not-found","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/755bf18261314b50.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":[["$","header",null,{"className":"header","children":[["$","div",null,{"className":"logo","children":[["$","span",null,{"className":"logo-icon","children":"●"}],"Invariant"]}],["$","span",null,{"style":{"color":"var(--text-muted)","fontSize":"0.875rem"},"children":"Proof Dashboard"}]]}],["$","main",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$4","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$5","children":"404"}],["$","div",null,{"style":"$6","children":["$","h2",null,{"style":"$7","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]]}]}]],null],null],["$L8",["$","meta",null,{"name":"robots","content":"noindex"}]]]]]
7
+ 0:["vMhEOtT8-QIwS78cUhvTK",[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["/_not-found",{"children":["__PAGE__",{},[["$L1",[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],null],null],null]},[null,["$","$L2",null,{"parallelRouterKey":"children","segmentPath":["children","/_not-found","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/755bf18261314b50.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":[["$","header",null,{"className":"header","children":[["$","div",null,{"className":"logo","children":[["$","span",null,{"className":"logo-icon","children":"●"}],"Invariant"]}],["$","span",null,{"style":{"color":"var(--text-muted)","fontSize":"0.875rem"},"children":"Proof Dashboard"}]]}],["$","main",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$4","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$5","children":"404"}],["$","div",null,{"style":"$6","children":["$","h2",null,{"style":"$7","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]]}]}]],null],null],["$L8",["$","meta",null,{"name":"robots","content":"noindex"}]]]]]
8
8
  8:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Invariant Dashboard"}],["$","meta","3",{"name":"description","content":"AI writes code. Invariant proves it works."}]]
9
9
  1:null
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/755bf18261314b50.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-8658fdbc42bfbbae.js"/><script src="/_next/static/chunks/fd9d1056-5f55067fad1d0619.js" async=""></script><script src="/_next/static/chunks/117-fc73271fc24037f1.js" async=""></script><script src="/_next/static/chunks/main-app-a0cfbefe5d27352b.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Invariant Dashboard</title><meta name="description" content="AI writes code. Invariant proves it works."/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><header class="header"><div class="logo"><span class="logo-icon">●</span>Invariant</div><span style="color:var(--text-muted);font-size:0.875rem">Proof Dashboard</span></header><main><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div></main><script src="/_next/static/chunks/webpack-8658fdbc42bfbbae.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/755bf18261314b50.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[2846,[],\"\"]\n4:I[4707,[],\"\"]\n5:I[6423,[],\"\"]\nb:I[1060,[],\"\"]\n6:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n7:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n8:{\"display\":\"inline-block\"}\n9:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nc:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"i9WAI9a49drNHr36mklBI\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/755bf18261314b50.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[[\"$\",\"header\",null,{\"className\":\"header\",\"children\":[[\"$\",\"div\",null,{\"className\":\"logo\",\"children\":[[\"$\",\"span\",null,{\"className\":\"logo-icon\",\"children\":\"●\"}],\"Invariant\"]}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--text-muted)\",\"fontSize\":\"0.875rem\"},\"children\":\"Proof Dashboard\"}]]}],[\"$\",\"main\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$6\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$7\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$8\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$9\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$La\"],\"globalErrorComponent\":\"$b\",\"missingSlots\":\"$Wc\"}]\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Invariant Dashboard\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"AI writes code. Invariant proves it works.\"}]]\n3:null\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/755bf18261314b50.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-8658fdbc42bfbbae.js"/><script src="/_next/static/chunks/fd9d1056-5f55067fad1d0619.js" async=""></script><script src="/_next/static/chunks/117-fc73271fc24037f1.js" async=""></script><script src="/_next/static/chunks/main-app-a0cfbefe5d27352b.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Invariant Dashboard</title><meta name="description" content="AI writes code. Invariant proves it works."/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><header class="header"><div class="logo"><span class="logo-icon">●</span>Invariant</div><span style="color:var(--text-muted);font-size:0.875rem">Proof Dashboard</span></header><main><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div></main><script src="/_next/static/chunks/webpack-8658fdbc42bfbbae.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/755bf18261314b50.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[2846,[],\"\"]\n4:I[4707,[],\"\"]\n5:I[6423,[],\"\"]\nb:I[1060,[],\"\"]\n6:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n7:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n8:{\"display\":\"inline-block\"}\n9:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nc:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"vMhEOtT8-QIwS78cUhvTK\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/755bf18261314b50.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[[\"$\",\"header\",null,{\"className\":\"header\",\"children\":[[\"$\",\"div\",null,{\"className\":\"logo\",\"children\":[[\"$\",\"span\",null,{\"className\":\"logo-icon\",\"children\":\"●\"}],\"Invariant\"]}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--text-muted)\",\"fontSize\":\"0.875rem\"},\"children\":\"Proof Dashboard\"}]]}],[\"$\",\"main\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$6\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$7\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$8\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$9\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$La\"],\"globalErrorComponent\":\"$b\",\"missingSlots\":\"$Wc\"}]\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Invariant Dashboard\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"AI writes code. Invariant proves it works.\"}]]\n3:null\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>500: Internal Server Error</title><meta name="next-head-count" content="3"/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-8658fdbc42bfbbae.js" defer=""></script><script src="/_next/static/chunks/framework-f66176bb897dc684.js" defer=""></script><script src="/_next/static/chunks/main-d465f7927f1e917b.js" defer=""></script><script src="/_next/static/chunks/pages/_app-72b849fbd24ac258.js" defer=""></script><script src="/_next/static/chunks/pages/_error-7ba65e1336b92748.js" defer=""></script><script src="/_next/static/i9WAI9a49drNHr36mklBI/_buildManifest.js" defer=""></script><script src="/_next/static/i9WAI9a49drNHr36mklBI/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"i9WAI9a49drNHr36mklBI","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>500: Internal Server Error</title><meta name="next-head-count" content="3"/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-8658fdbc42bfbbae.js" defer=""></script><script src="/_next/static/chunks/framework-f66176bb897dc684.js" defer=""></script><script src="/_next/static/chunks/main-d465f7927f1e917b.js" defer=""></script><script src="/_next/static/chunks/pages/_app-72b849fbd24ac258.js" defer=""></script><script src="/_next/static/chunks/pages/_error-7ba65e1336b92748.js" defer=""></script><script src="/_next/static/vMhEOtT8-QIwS78cUhvTK/_buildManifest.js" defer=""></script><script src="/_next/static/vMhEOtT8-QIwS78cUhvTK/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"vMhEOtT8-QIwS78cUhvTK","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- {"node":{},"edge":{},"encryptionKey":"3UJmZwf2rTDUOmChsasDs2pbvd+TGqDV6bLvmOetkD4="}
1
+ {"node":{},"edge":{},"encryptionKey":"GcFv31uke3WXlKOo51gTyPwW8o3JuHYcuds/0qPbF24="}
package/dist/index.js CHANGED
@@ -10,11 +10,13 @@ const hooks_js_1 = require("./commands/hooks.js");
10
10
  const login_js_1 = require("./commands/login.js");
11
11
  const logout_js_1 = require("./commands/logout.js");
12
12
  const sync_js_1 = require("./commands/sync.js");
13
+ const mcp_js_1 = require("./commands/mcp.js");
14
+ const project_js_1 = require("./commands/project.js");
13
15
  const program = new commander_1.Command();
14
16
  program
15
17
  .name('invariant')
16
18
  .description('AI writes code. Invariant proves it works.\n\nInvariant is a verification tool for AI-assisted coding. It tracks edits,\nruns tests, and captures proof (screenshots, videos, traces).')
17
- .version('0.1.0')
19
+ .version('0.1.2')
18
20
  .addHelpText('after', `
19
21
  Examples:
20
22
  $ npx @invariant-ai/cli init -y # One-command setup
@@ -37,11 +39,13 @@ program
37
39
  .option('-y, --yes', 'Skip prompts and use defaults')
38
40
  .option('--skip-browser-install', 'Skip automatic Chromium browser installation')
39
41
  .option('--skip-hooks', 'Skip automatic Claude Code hooks installation')
42
+ .option('--with-claude-md', 'Create CLAUDE.md with Invariant instructions (if missing)')
40
43
  .addHelpText('after', `
41
44
  Examples:
42
45
  $ npx @invariant-ai/cli init -y # One-command setup (recommended)
43
46
  $ npx invariant init --skip-browser-install
44
47
  $ npx invariant init --skip-hooks
48
+ $ npx invariant init --with-claude-md
45
49
 
46
50
  What it does:
47
51
  1. Installs @playwright/test + @invariant-ai/cli
@@ -115,5 +119,42 @@ program
115
119
  .command('sync')
116
120
  .description('Sync local runs to Invariant Cloud\n\n Uploads any unsynced proof reports and screenshots.\n Use this to recover runs that failed to auto-sync.')
117
121
  .action(sync_js_1.syncCommand);
122
+ // invariant mcp (install/uninstall)
123
+ const mcpCmd = program
124
+ .command('mcp')
125
+ .description('Manage MCP server integration\n\n Install or uninstall the Invariant MCP server for AI assistants\n like Claude Code.')
126
+ .addHelpText('after', `
127
+ Examples:
128
+ $ npx invariant mcp install # Register MCP server
129
+ $ npx invariant mcp install --global # Register in user-level config
130
+ $ npx invariant mcp uninstall # Remove MCP registration
131
+ `);
132
+ mcpCmd
133
+ .command('install')
134
+ .description('Register the Invariant MCP server')
135
+ .option('--global', 'Install in user-level config instead of project-local')
136
+ .option('--with-claude-md', 'Create CLAUDE.md with Invariant instructions (if missing)')
137
+ .action(mcp_js_1.mcpInstallCommand);
138
+ mcpCmd
139
+ .command('uninstall')
140
+ .description('Remove the Invariant MCP server registration')
141
+ .option('--global', 'Remove from user-level config')
142
+ .action(mcp_js_1.mcpUninstallCommand);
143
+ // invariant project (list/use/current)
144
+ const projectCmd = program
145
+ .command('project')
146
+ .description('Manage cloud projects\n\n List, switch, or view active project for cloud sync.');
147
+ projectCmd
148
+ .command('list')
149
+ .description('List all projects (refreshes from server)')
150
+ .action(project_js_1.projectListCommand);
151
+ projectCmd
152
+ .command('use <slug>')
153
+ .description('Switch the active project')
154
+ .action(project_js_1.projectUseCommand);
155
+ projectCmd
156
+ .command('current')
157
+ .description('Show the active project')
158
+ .action(project_js_1.projectCurrentCommand);
118
159
  program.parse();
119
160
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,gDAAiD;AACjD,8CAA+C;AAC/C,0DAA2D;AAC3D,kDAAmD;AACnD,kDAAmD;AACnD,kDAAmD;AACnD,oDAAqD;AACrD,gDAAiD;AAEjD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,wLAAwL,CAAC;KACrM,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;;;CAcvB,CAAC,CAAC;AAEH,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,uLAAuL,CAAC;KACpM,MAAM,CAAC,WAAW,EAAE,+BAA+B,CAAC;KACpD,MAAM,CAAC,wBAAwB,EAAE,8CAA8C,CAAC;KAChF,MAAM,CAAC,cAAc,EAAE,+CAA+C,CAAC;KACvE,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;CAWvB,CAAC;KACC,MAAM,CAAC,qBAAW,CAAC,CAAC;AAEvB,gBAAgB;AAChB,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,8IAA8I,CAAC;KAC3J,MAAM,CAAC,SAAS,EAAE,uCAAuC,CAAC;KAC1D,MAAM,CAAC,UAAU,EAAE,qCAAqC,CAAC;KACzD,MAAM,CAAC,QAAQ,EAAE,uDAAuD,CAAC;KACzE,MAAM,CAAC,MAAM,EAAE,gDAAgD,CAAC;KAChE,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;;;;;;CAiBvB,CAAC;KACC,MAAM,CAAC,mBAAU,CAAC,CAAC;AAEtB,sBAAsB;AACtB,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,6HAA6H,CAAC;KAC1I,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,CAAC;KAC/D,MAAM,CAAC,UAAU,EAAE,oCAAoC,CAAC;KACxD,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;CAWvB,CAAC;KACC,MAAM,CAAC,+BAAgB,CAAC,CAAC;AAE5B,yEAAyE;AACzE,OAAO,CAAC,UAAU,CAAC,uBAAY,CAAC,CAAC;AAEjC,6CAA6C;AAC7C,OAAO,CAAC,UAAU,CAAC,uBAAY,CAAC,CAAC;AAEjC,kBAAkB;AAClB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,wJAAwJ,CAAC;KACrK,MAAM,CAAC,uBAAY,CAAC,CAAC;AAExB,mBAAmB;AACnB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,yBAAa,CAAC,CAAC;AAEzB,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,mJAAmJ,CAAC;KAChK,MAAM,CAAC,qBAAW,CAAC,CAAC;AAEvB,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,gDAAiD;AACjD,8CAA+C;AAC/C,0DAA2D;AAC3D,kDAAmD;AACnD,kDAAmD;AACnD,kDAAmD;AACnD,oDAAqD;AACrD,gDAAiD;AACjD,8CAA2E;AAC3E,sDAAqG;AAErG,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,wLAAwL,CAAC;KACrM,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;;;CAcvB,CAAC,CAAC;AAEH,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,uLAAuL,CAAC;KACpM,MAAM,CAAC,WAAW,EAAE,+BAA+B,CAAC;KACpD,MAAM,CAAC,wBAAwB,EAAE,8CAA8C,CAAC;KAChF,MAAM,CAAC,cAAc,EAAE,+CAA+C,CAAC;KACvE,MAAM,CAAC,kBAAkB,EAAE,2DAA2D,CAAC;KACvF,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;CAYvB,CAAC;KACC,MAAM,CAAC,qBAAW,CAAC,CAAC;AAEvB,gBAAgB;AAChB,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,8IAA8I,CAAC;KAC3J,MAAM,CAAC,SAAS,EAAE,uCAAuC,CAAC;KAC1D,MAAM,CAAC,UAAU,EAAE,qCAAqC,CAAC;KACzD,MAAM,CAAC,QAAQ,EAAE,uDAAuD,CAAC;KACzE,MAAM,CAAC,MAAM,EAAE,gDAAgD,CAAC;KAChE,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;;;;;;CAiBvB,CAAC;KACC,MAAM,CAAC,mBAAU,CAAC,CAAC;AAEtB,sBAAsB;AACtB,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,6HAA6H,CAAC;KAC1I,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,CAAC;KAC/D,MAAM,CAAC,UAAU,EAAE,oCAAoC,CAAC;KACxD,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;CAWvB,CAAC;KACC,MAAM,CAAC,+BAAgB,CAAC,CAAC;AAE5B,yEAAyE;AACzE,OAAO,CAAC,UAAU,CAAC,uBAAY,CAAC,CAAC;AAEjC,6CAA6C;AAC7C,OAAO,CAAC,UAAU,CAAC,uBAAY,CAAC,CAAC;AAEjC,kBAAkB;AAClB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,wJAAwJ,CAAC;KACrK,MAAM,CAAC,uBAAY,CAAC,CAAC;AAExB,mBAAmB;AACnB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,yBAAa,CAAC,CAAC;AAEzB,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,mJAAmJ,CAAC;KAChK,MAAM,CAAC,qBAAW,CAAC,CAAC;AAEvB,oCAAoC;AACpC,MAAM,MAAM,GAAG,OAAO;KACnB,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,yHAAyH,CAAC;KACtI,WAAW,CAAC,OAAO,EAAE;;;;;CAKvB,CAAC,CAAC;AAEH,MAAM;KACH,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,UAAU,EAAE,uDAAuD,CAAC;KAC3E,MAAM,CAAC,kBAAkB,EAAE,2DAA2D,CAAC;KACvF,MAAM,CAAC,0BAAiB,CAAC,CAAC;AAE7B,MAAM;KACH,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,8CAA8C,CAAC;KAC3D,MAAM,CAAC,UAAU,EAAE,+BAA+B,CAAC;KACnD,MAAM,CAAC,4BAAmB,CAAC,CAAC;AAE/B,uCAAuC;AACvC,MAAM,UAAU,GAAG,OAAO;KACvB,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,iFAAiF,CAAC,CAAC;AAElG,UAAU;KACP,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,+BAAkB,CAAC,CAAC;AAE9B,UAAU;KACP,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,8BAAiB,CAAC,CAAC;AAE7B,UAAU;KACP,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,yBAAyB,CAAC;KACtC,MAAM,CAAC,kCAAqB,CAAC,CAAC;AAEjC,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -35,6 +35,11 @@ interface ExchangeResponse {
35
35
  id: string;
36
36
  slug: string;
37
37
  } | null;
38
+ projects?: Array<{
39
+ id: string;
40
+ slug: string;
41
+ name?: string;
42
+ }>;
38
43
  error?: string;
39
44
  message?: string;
40
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AAIA,UAAU,cAAc;IACtB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,WAAW,CAAC,CAAC,GAAG,OAAO;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;CACT;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CA6B9F;AAID,UAAU,cAAc;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9D;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACxB,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,iBAAiB;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAMrF;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAMtG;AAED,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAOzC;AAED,wBAAsB,SAAS,CAC7B,KAAK,EAAE,MAAM,EACb,GAAG,EAAE;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B,GACA,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAOzC;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAWjG"}
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AAIA,UAAU,cAAc;IACtB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,WAAW,CAAC,CAAC,GAAG,OAAO;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;CACT;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CA6B9F;AAID,UAAU,cAAc;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9D;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACxB,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,iBAAiB;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAMrF;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAMtG;AAED,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAOzC;AAED,wBAAsB,SAAS,CAC7B,KAAK,EAAE,MAAM,EACb,GAAG,EAAE;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B,GACA,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAOzC;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAWjG"}
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ async function autoSyncRun(runDir, localRunId, quiet = false) {
30
30
  return;
31
31
  }
32
32
  // Sync this run
33
- const success = await (0, sync_js_1.syncRun)(config.token, config.project_id, runDir, localRunId);
33
+ const success = await (0, sync_js_1.syncRun)(config.token, config.active_project_id, runDir, localRunId);
34
34
  if (success && !quiet) {
35
35
  console.log(chalk_1.default.gray('\n Synced to cloud.'));
36
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auto-sync.js","sourceRoot":"","sources":["../../src/lib/auto-sync.ts"],"names":[],"mappings":";;;;;AAUA,kCA0BC;AApCD,kDAA0B;AAC1B,yCAA6C;AAC7C,mDAA8C;AAC9C,uCAAoC;AAEpC;;;;GAIG;AACI,KAAK,UAAU,WAAW,CAAC,MAAc,EAAE,UAAkB,EAAE,QAAiB,KAAK;IAC1F,MAAM,MAAM,GAAG,IAAA,0BAAe,GAAE,CAAC;IACjC,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,gCAAgC;IAErD,IAAI,CAAC;QACH,mCAAmC;QACnC,MAAM,YAAY,GAAG,MAAM,IAAA,2BAAW,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC;YACvC,IAAI,KAAK,KAAK,eAAe,IAAI,KAAK,KAAK,eAAe,EAAE,CAAC;gBAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iCAAiC,KAAK,kCAAkC,CAAC,CAAC,CAAC;gBACpG,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QAED,gBAAgB;QAChB,MAAM,OAAO,GAAG,MAAM,IAAA,iBAAO,EAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAEnF,IAAI,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uDAAuD;IACzD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"auto-sync.js","sourceRoot":"","sources":["../../src/lib/auto-sync.ts"],"names":[],"mappings":";;;;;AAUA,kCA0BC;AApCD,kDAA0B;AAC1B,yCAA6C;AAC7C,mDAA8C;AAC9C,uCAAoC;AAEpC;;;;GAIG;AACI,KAAK,UAAU,WAAW,CAAC,MAAc,EAAE,UAAkB,EAAE,QAAiB,KAAK;IAC1F,MAAM,MAAM,GAAG,IAAA,0BAAe,GAAE,CAAC;IACjC,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,gCAAgC;IAErD,IAAI,CAAC;QACH,mCAAmC;QACnC,MAAM,YAAY,GAAG,MAAM,IAAA,2BAAW,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC;YACvC,IAAI,KAAK,KAAK,eAAe,IAAI,KAAK,KAAK,eAAe,EAAE,CAAC;gBAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iCAAiC,KAAK,kCAAkC,CAAC,CAAC,CAAC;gBACpG,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QAED,gBAAgB;QAChB,MAAM,OAAO,GAAG,MAAM,IAAA,iBAAO,EAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAE1F,IAAI,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uDAAuD;IACzD,CAAC;AACH,CAAC"}
@@ -0,0 +1,16 @@
1
+ declare const MARKER_START = "<!-- invariant:start -->";
2
+ declare const MARKER_END = "<!-- invariant:end -->";
3
+ declare const INVARIANT_BLOCK = "# Invariant Testing\n\nAfter making code changes, run the test suite to verify nothing is broken:\n\n```bash\nnpx invariant run\n```\n\nIf tests fail, read the proof report and fix the issues before proceeding.\nVisual regression changes should be reviewed before accepting.";
4
+ export { MARKER_START, MARKER_END, INVARIANT_BLOCK };
5
+ /**
6
+ * Update or create the Invariant marker block in CLAUDE.md.
7
+ *
8
+ * - If CLAUDE.md exists and has the marker block: update content between markers.
9
+ * - If CLAUDE.md exists without marker block: append marker block at end.
10
+ * - If CLAUDE.md is missing and optIn is true: create file with marker block.
11
+ * - If CLAUDE.md is missing and optIn is false: return 'skipped'.
12
+ *
13
+ * Returns: 'created' | 'updated' | 'appended' | 'skipped'
14
+ */
15
+ export declare function updateClaudeMd(dir: string, optIn: boolean): 'created' | 'updated' | 'appended' | 'skipped';
16
+ //# sourceMappingURL=claude-md.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-md.d.ts","sourceRoot":"","sources":["../../src/lib/claude-md.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,YAAY,6BAA6B,CAAC;AAChD,QAAA,MAAM,UAAU,2BAA2B,CAAC;AAE5C,QAAA,MAAM,eAAe,uRAS0C,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;AAErD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,GACb,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CA0BhD"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.INVARIANT_BLOCK = exports.MARKER_END = exports.MARKER_START = void 0;
4
+ exports.updateClaudeMd = updateClaudeMd;
5
+ const fs_1 = require("fs");
6
+ const path_1 = require("path");
7
+ const MARKER_START = '<!-- invariant:start -->';
8
+ exports.MARKER_START = MARKER_START;
9
+ const MARKER_END = '<!-- invariant:end -->';
10
+ exports.MARKER_END = MARKER_END;
11
+ const INVARIANT_BLOCK = `# Invariant Testing
12
+
13
+ After making code changes, run the test suite to verify nothing is broken:
14
+
15
+ \`\`\`bash
16
+ npx invariant run
17
+ \`\`\`
18
+
19
+ If tests fail, read the proof report and fix the issues before proceeding.
20
+ Visual regression changes should be reviewed before accepting.`;
21
+ exports.INVARIANT_BLOCK = INVARIANT_BLOCK;
22
+ /**
23
+ * Update or create the Invariant marker block in CLAUDE.md.
24
+ *
25
+ * - If CLAUDE.md exists and has the marker block: update content between markers.
26
+ * - If CLAUDE.md exists without marker block: append marker block at end.
27
+ * - If CLAUDE.md is missing and optIn is true: create file with marker block.
28
+ * - If CLAUDE.md is missing and optIn is false: return 'skipped'.
29
+ *
30
+ * Returns: 'created' | 'updated' | 'appended' | 'skipped'
31
+ */
32
+ function updateClaudeMd(dir, optIn) {
33
+ const filePath = (0, path_1.join)(dir, 'CLAUDE.md');
34
+ const block = `${MARKER_START}\n${INVARIANT_BLOCK}\n${MARKER_END}`;
35
+ if (!(0, fs_1.existsSync)(filePath)) {
36
+ if (!optIn)
37
+ return 'skipped';
38
+ (0, fs_1.writeFileSync)(filePath, block + '\n', 'utf8');
39
+ return 'created';
40
+ }
41
+ const content = (0, fs_1.readFileSync)(filePath, 'utf8');
42
+ const startIdx = content.indexOf(MARKER_START);
43
+ const endIdx = content.indexOf(MARKER_END);
44
+ if (startIdx !== -1 && endIdx !== -1 && endIdx > startIdx) {
45
+ // Replace existing marker block
46
+ const before = content.slice(0, startIdx);
47
+ const after = content.slice(endIdx + MARKER_END.length);
48
+ (0, fs_1.writeFileSync)(filePath, before + block + after, 'utf8');
49
+ return 'updated';
50
+ }
51
+ // Append marker block
52
+ const separator = content.endsWith('\n') ? '\n' : '\n\n';
53
+ (0, fs_1.writeFileSync)(filePath, content + separator + block + '\n', 'utf8');
54
+ return 'appended';
55
+ }
56
+ //# sourceMappingURL=claude-md.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-md.js","sourceRoot":"","sources":["../../src/lib/claude-md.ts"],"names":[],"mappings":";;;AA6BA,wCA6BC;AA1DD,2BAA6D;AAC7D,+BAA4B;AAE5B,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAcvC,oCAAY;AAbrB,MAAM,UAAU,GAAG,wBAAwB,CAAC;AAarB,gCAAU;AAXjC,MAAM,eAAe,GAAG;;;;;;;;;+DASuC,CAAC;AAE7B,0CAAe;AAElD;;;;;;;;;GASG;AACH,SAAgB,cAAc,CAC5B,GAAW,EACX,KAAc;IAEd,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,eAAe,KAAK,UAAU,EAAE,CAAC;IAEnE,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,IAAA,kBAAa,EAAC,QAAQ,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE3C,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,GAAG,QAAQ,EAAE,CAAC;QAC1D,gCAAgC;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACxD,IAAA,kBAAa,EAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,sBAAsB;IACtB,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IACzD,IAAA,kBAAa,EAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;IACpE,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -1,15 +1,26 @@
1
+ export interface ProjectEntry {
2
+ id: string;
3
+ slug: string;
4
+ name?: string;
5
+ }
1
6
  export interface CloudConfig {
7
+ config_version: number;
2
8
  token: string;
3
9
  email: string;
4
10
  project_id: string;
5
11
  project_slug: string;
12
+ active_project_id: string;
13
+ active_project_slug: string;
14
+ projects: ProjectEntry[];
6
15
  }
7
16
  /**
8
17
  * Read the stored cloud config, or null if not logged in.
18
+ * Migrates config_version 1 (implicit) → 2 on read.
9
19
  */
10
20
  export declare function readCloudConfig(): CloudConfig | null;
11
21
  /**
12
- * Save cloud config (token + user info) after login.
22
+ * Save cloud config (token + user info).
23
+ * Dual-writes legacy keys (project_id, project_slug) for older CLI versions.
13
24
  * File is chmod 0600 (owner-only read/write).
14
25
  */
15
26
  export declare function writeCloudConfig(config: CloudConfig): void;
@@ -25,4 +36,8 @@ export declare function isLoggedIn(): boolean;
25
36
  * Cloud API base URL. Defaults to production, overridable for dev.
26
37
  */
27
38
  export declare function getCloudBaseUrl(): string;
39
+ /**
40
+ * Get the config file path (for display/testing purposes).
41
+ */
42
+ export declare function getCloudConfigPath(): string;
28
43
  //# sourceMappingURL=cloud.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../../src/lib/cloud.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAID;;GAEG;AACH,wBAAgB,eAAe,IAAI,WAAW,GAAG,IAAI,CAOpD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAK1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAIxC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC"}
1
+ {"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../../src/lib/cloud.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IAEd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IAErB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAID;;;GAGG;AACH,wBAAgB,eAAe,IAAI,WAAW,GAAG,IAAI,CAQpD;AAkCD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAa1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAIxC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C"}
package/dist/lib/cloud.js CHANGED
@@ -5,31 +5,71 @@ exports.writeCloudConfig = writeCloudConfig;
5
5
  exports.deleteCloudConfig = deleteCloudConfig;
6
6
  exports.isLoggedIn = isLoggedIn;
7
7
  exports.getCloudBaseUrl = getCloudBaseUrl;
8
+ exports.getCloudConfigPath = getCloudConfigPath;
8
9
  const fs_1 = require("fs");
9
10
  const path_1 = require("path");
10
11
  const os_1 = require("os");
11
12
  const CLOUD_CONFIG_PATH = (0, path_1.join)((0, os_1.homedir)(), '.invariant', 'cloud.json');
12
13
  /**
13
14
  * Read the stored cloud config, or null if not logged in.
15
+ * Migrates config_version 1 (implicit) → 2 on read.
14
16
  */
15
17
  function readCloudConfig() {
16
18
  if (!(0, fs_1.existsSync)(CLOUD_CONFIG_PATH))
17
19
  return null;
18
20
  try {
19
- return JSON.parse((0, fs_1.readFileSync)(CLOUD_CONFIG_PATH, 'utf-8'));
21
+ const raw = JSON.parse((0, fs_1.readFileSync)(CLOUD_CONFIG_PATH, 'utf-8'));
22
+ return migrateConfig(raw);
20
23
  }
21
24
  catch {
22
25
  return null;
23
26
  }
24
27
  }
25
28
  /**
26
- * Save cloud config (token + user info) after login.
29
+ * Migrate old config (no config_version or version 1) to version 2.
30
+ * Fills in active_project_id/slug and projects array from legacy keys.
31
+ */
32
+ function migrateConfig(raw) {
33
+ if (raw.config_version >= 2)
34
+ return raw;
35
+ // Version 1 (implicit): has project_id/project_slug but no active_* or projects
36
+ const migrated = {
37
+ config_version: 2,
38
+ token: raw.token || '',
39
+ email: raw.email || '',
40
+ project_id: raw.project_id || '',
41
+ project_slug: raw.project_slug || '',
42
+ active_project_id: raw.active_project_id || raw.project_id || '',
43
+ active_project_slug: raw.active_project_slug || raw.project_slug || '',
44
+ projects: raw.projects || [],
45
+ };
46
+ // Seed projects array from the single legacy project if not already present
47
+ if (migrated.projects.length === 0 && migrated.active_project_id) {
48
+ migrated.projects.push({
49
+ id: migrated.active_project_id,
50
+ slug: migrated.active_project_slug,
51
+ });
52
+ }
53
+ // Persist the migration so it only happens once
54
+ writeCloudConfig(migrated);
55
+ return migrated;
56
+ }
57
+ /**
58
+ * Save cloud config (token + user info).
59
+ * Dual-writes legacy keys (project_id, project_slug) for older CLI versions.
27
60
  * File is chmod 0600 (owner-only read/write).
28
61
  */
29
62
  function writeCloudConfig(config) {
63
+ // Ensure legacy keys stay in sync with active_* for backward compat
64
+ const toWrite = {
65
+ ...config,
66
+ config_version: 2,
67
+ project_id: config.active_project_id,
68
+ project_slug: config.active_project_slug,
69
+ };
30
70
  const dir = (0, path_1.dirname)(CLOUD_CONFIG_PATH);
31
71
  (0, fs_1.mkdirSync)(dir, { recursive: true });
32
- (0, fs_1.writeFileSync)(CLOUD_CONFIG_PATH, JSON.stringify(config, null, 2), 'utf-8');
72
+ (0, fs_1.writeFileSync)(CLOUD_CONFIG_PATH, JSON.stringify(toWrite, null, 2), 'utf-8');
33
73
  (0, fs_1.chmodSync)(CLOUD_CONFIG_PATH, 0o600);
34
74
  }
35
75
  /**
@@ -50,6 +90,12 @@ function isLoggedIn() {
50
90
  * Cloud API base URL. Defaults to production, overridable for dev.
51
91
  */
52
92
  function getCloudBaseUrl() {
53
- return process.env.INVARIANT_CLOUD_URL || 'https://invariant.dev';
93
+ return process.env.INVARIANT_CLOUD_URL || 'https://invariantdev.com';
94
+ }
95
+ /**
96
+ * Get the config file path (for display/testing purposes).
97
+ */
98
+ function getCloudConfigPath() {
99
+ return CLOUD_CONFIG_PATH;
54
100
  }
55
101
  //# sourceMappingURL=cloud.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../src/lib/cloud.ts"],"names":[],"mappings":";;AAgBA,0CAOC;AAMD,4CAKC;AAKD,8CAIC;AAKD,gCAEC;AAKD,0CAEC;AAzDD,2BAA+F;AAC/F,+BAAqC;AACrC,2BAA6B;AAS7B,MAAM,iBAAiB,GAAG,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;AAEtE;;GAEG;AACH,SAAgB,eAAe;IAC7B,IAAI,CAAC,IAAA,eAAU,EAAC,iBAAiB,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,MAAmB;IAClD,MAAM,GAAG,GAAG,IAAA,cAAO,EAAC,iBAAiB,CAAC,CAAC;IACvC,IAAA,cAAS,EAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,IAAA,kBAAa,EAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3E,IAAA,cAAS,EAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,IAAI,IAAA,eAAU,EAAC,iBAAiB,CAAC,EAAE,CAAC;QAClC,IAAA,eAAU,EAAC,iBAAiB,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU;IACxB,OAAO,eAAe,EAAE,KAAK,IAAI,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe;IAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,uBAAuB,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../src/lib/cloud.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@invariant-ai/cli",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "AI writes code. Invariant proves it works.",
5
5
  "main": "dist/index.js",
6
6
  "exports": {