pm-orchestrator-runner 1.0.9 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli/index.js CHANGED
@@ -52,6 +52,7 @@ const repl_interface_1 = require("../repl/repl-interface");
52
52
  const server_1 = require("../web/server");
53
53
  const queue_1 = require("../queue");
54
54
  const namespace_1 = require("../config/namespace");
55
+ const api_key_onboarding_1 = require("../keys/api-key-onboarding");
55
56
  /**
56
57
  * Help text
57
58
  */
@@ -73,6 +74,13 @@ Commands:
73
74
  REPL Options:
74
75
  --project <path> Project path (default: current directory)
75
76
  --evidence <path> Evidence directory
77
+ --provider <provider> API provider (default: requires API key setup)
78
+ - openai: Use OpenAI API (requires API key)
79
+ - anthropic: Use Anthropic API (requires API key)
80
+ - claude-code: Use Claude Code CLI (requires login)
81
+ --no-auth Skip API key requirement (use Claude Code CLI only)
82
+ WARNING: This bypasses the API key onboarding flow.
83
+ Requires Claude Code CLI to be installed and logged in.
76
84
  --non-interactive Force non-interactive mode (no TTY prompts)
77
85
  --exit-on-eof Exit when EOF is received (for piped input)
78
86
  --project-mode <mode> Project mode: 'temp' (default) or 'fixed'
@@ -173,6 +181,27 @@ function parseReplArgs(args) {
173
181
  }
174
182
  result.port = port;
175
183
  }
184
+ // Provider / auth mode
185
+ else if (arg === '--provider' && args[i + 1]) {
186
+ const provider = args[++i];
187
+ if (provider === 'claude-code') {
188
+ result.authMode = 'claude-code';
189
+ }
190
+ else if (provider === 'api-key' || provider === 'openai' || provider === 'anthropic') {
191
+ // openai and anthropic both use api-key mode
192
+ result.authMode = 'api-key';
193
+ }
194
+ else {
195
+ console.error(`Invalid provider: ${provider}. Use 'openai', 'anthropic', or 'claude-code'.`);
196
+ process.exit(1);
197
+ }
198
+ }
199
+ // No-auth mode (skip API key requirement)
200
+ else if (arg === '--no-auth') {
201
+ result.noAuth = true;
202
+ // --no-auth implies claude-code auth mode
203
+ result.authMode = 'claude-code';
204
+ }
176
205
  }
177
206
  return result;
178
207
  }
@@ -183,6 +212,41 @@ async function startRepl(replArgs) {
183
212
  // CRITICAL: evidenceDir must use projectPath, not process.cwd()
184
213
  // This ensures files are created in the project directory, not where the CLI was invoked
185
214
  const projectPath = replArgs.projectPath || process.cwd();
215
+ // API Key Onboarding Flow (unless --no-auth is specified)
216
+ // This runs BEFORE .claude initialization check
217
+ if (!replArgs.noAuth && !replArgs.nonInteractive) {
218
+ if ((0, api_key_onboarding_1.isOnboardingRequired)(replArgs.noAuth)) {
219
+ // Interactive mode: run onboarding flow
220
+ const onboardingResult = await (0, api_key_onboarding_1.runApiKeyOnboarding)(true);
221
+ if (!onboardingResult.success && !onboardingResult.skipped) {
222
+ // Onboarding failed (user cancelled or error)
223
+ console.error('API key setup cancelled or failed.');
224
+ console.error('Use --no-auth option to bypass API key requirement.');
225
+ process.exit(1);
226
+ }
227
+ if (onboardingResult.skipped && !onboardingResult.success) {
228
+ // User explicitly chose to skip
229
+ console.error('');
230
+ console.error('No API key configured. Cannot start REPL.');
231
+ console.error('Options:');
232
+ console.error(' 1. Set environment variable: OPENAI_API_KEY or ANTHROPIC_API_KEY');
233
+ console.error(' 2. Run again and enter an API key');
234
+ console.error(' 3. Use --no-auth option (requires Claude Code CLI)');
235
+ console.error('');
236
+ process.exit(1);
237
+ }
238
+ }
239
+ }
240
+ else if (!replArgs.noAuth && replArgs.nonInteractive) {
241
+ // Non-interactive mode: fail-closed if no API key
242
+ if ((0, api_key_onboarding_1.isOnboardingRequired)(replArgs.noAuth)) {
243
+ console.error('ERROR: No API key configured.');
244
+ console.error('In non-interactive mode, API key must be pre-configured.');
245
+ console.error('Set environment variable: OPENAI_API_KEY or ANTHROPIC_API_KEY');
246
+ console.error('Or use --no-auth option to bypass API key requirement.');
247
+ process.exit(1);
248
+ }
249
+ }
186
250
  // Build namespace configuration (per spec/21_STABLE_DEV.md)
187
251
  // Fail-closed: buildNamespaceConfig throws on invalid namespace
188
252
  const namespaceConfig = (0, namespace_1.buildNamespaceConfig)({
@@ -193,7 +257,9 @@ async function startRepl(replArgs) {
193
257
  const repl = new repl_interface_1.REPLInterface({
194
258
  projectPath,
195
259
  evidenceDir: replArgs.evidenceDir || path.join(namespaceConfig.stateDir, 'evidence'),
196
- authMode: 'claude-code',
260
+ // Default to 'api-key' mode (requires OpenAI/Anthropic API key)
261
+ // Use --provider claude-code to use Claude Code CLI directly
262
+ authMode: replArgs.authMode || 'api-key',
197
263
  forceNonInteractive: replArgs.nonInteractive,
198
264
  projectMode: replArgs.projectMode,
199
265
  projectRoot: replArgs.projectRoot,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,8 @@ export declare function loadGlobalConfig(): GlobalConfig;
32
32
  */
33
33
  export declare function saveGlobalConfig(config: GlobalConfig): void;
34
34
  /**
35
- * Get API key for a provider
35
+ * Get API key for a provider (environment variable OR config file)
36
+ * Environment variables take precedence over config file.
36
37
  * @param provider - Provider name (openai, anthropic)
37
38
  * @returns API key or undefined
38
39
  */
@@ -44,7 +45,7 @@ export declare function getApiKey(provider: string): string | undefined;
44
45
  */
45
46
  export declare function setApiKey(provider: string, key: string): void;
46
47
  /**
47
- * Check if any API key is configured
48
+ * Check if any API key is configured (environment variable OR config file)
48
49
  * @returns true if at least one API key is set
49
50
  */
50
51
  export declare function hasAnyApiKey(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"global-config.d.ts","sourceRoot":"","sources":["../../src/config/global-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,uCAAuC;IACvC,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,2CAA2C;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sCAAsC;IACtC,aAAa,CAAC,EAAE;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAqBD;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,YAAY,CAU/C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAO3D;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ9D;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAW7D;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAGtC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAG3C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAIzD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC"}
1
+ {"version":3,"file":"global-config.d.ts","sourceRoot":"","sources":["../../src/config/global-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,uCAAuC;IACvC,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,2CAA2C;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sCAAsC;IACtC,aAAa,CAAC,EAAE;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAqBD;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,YAAY,CAU/C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAO3D;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAe9D;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAW7D;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAQtC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAG3C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAIzD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC"}
@@ -96,11 +96,20 @@ function saveGlobalConfig(config) {
96
96
  });
97
97
  }
98
98
  /**
99
- * Get API key for a provider
99
+ * Get API key for a provider (environment variable OR config file)
100
+ * Environment variables take precedence over config file.
100
101
  * @param provider - Provider name (openai, anthropic)
101
102
  * @returns API key or undefined
102
103
  */
103
104
  function getApiKey(provider) {
105
+ // Check environment variables first (higher priority)
106
+ if (provider === 'openai' && process.env.OPENAI_API_KEY) {
107
+ return process.env.OPENAI_API_KEY;
108
+ }
109
+ else if (provider === 'anthropic' && process.env.ANTHROPIC_API_KEY) {
110
+ return process.env.ANTHROPIC_API_KEY;
111
+ }
112
+ // Then check config file
104
113
  const config = loadGlobalConfig();
105
114
  if (provider === 'openai') {
106
115
  return config.apiKeys?.openai;
@@ -129,10 +138,15 @@ function setApiKey(provider, key) {
129
138
  saveGlobalConfig(config);
130
139
  }
131
140
  /**
132
- * Check if any API key is configured
141
+ * Check if any API key is configured (environment variable OR config file)
133
142
  * @returns true if at least one API key is set
134
143
  */
135
144
  function hasAnyApiKey() {
145
+ // Check environment variables first
146
+ if (process.env.OPENAI_API_KEY || process.env.ANTHROPIC_API_KEY) {
147
+ return true;
148
+ }
149
+ // Then check config file
136
150
  const config = loadGlobalConfig();
137
151
  return !!(config.apiKeys?.openai || config.apiKeys?.anthropic);
138
152
  }
@@ -1 +1 @@
1
- {"version":3,"file":"global-config.js","sourceRoot":"","sources":["../../src/config/global-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"global-config.js","sourceRoot":"","sources":["../../src/config/global-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * API Key Onboarding Module
3
+ *
4
+ * Handles the API key input flow on first launch.
5
+ * Requirements:
6
+ * - Must enter API Key Input Flow before .claude initialization
7
+ * - No immediate exit on error - allow interactive input
8
+ * - Validate keys against provider APIs
9
+ * - Re-prompt on invalid keys (unlimited retries)
10
+ * - Save valid keys and transition to normal flow
11
+ */
12
+ /**
13
+ * Result of the onboarding process
14
+ */
15
+ export interface OnboardingResult {
16
+ success: boolean;
17
+ provider?: 'openai' | 'anthropic';
18
+ skipped?: boolean;
19
+ error?: string;
20
+ }
21
+ /**
22
+ * Run the API key onboarding flow
23
+ *
24
+ * @param skipIfKeyExists - If true, skip onboarding if any API key is already configured
25
+ * @returns OnboardingResult indicating success/failure
26
+ */
27
+ export declare function runApiKeyOnboarding(skipIfKeyExists?: boolean): Promise<OnboardingResult>;
28
+ /**
29
+ * Check if onboarding is required
30
+ * Returns true if no API key is configured and --no-auth is not specified
31
+ */
32
+ export declare function isOnboardingRequired(noAuthOption?: boolean): boolean;
33
+ //# sourceMappingURL=api-key-onboarding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key-onboarding.d.ts","sourceRoot":"","sources":["../../src/keys/api-key-onboarding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA8JD;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,eAAe,UAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAqE3F;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,UAAQ,GAAG,OAAO,CAKlE"}
@@ -0,0 +1,271 @@
1
+ "use strict";
2
+ /**
3
+ * API Key Onboarding Module
4
+ *
5
+ * Handles the API key input flow on first launch.
6
+ * Requirements:
7
+ * - Must enter API Key Input Flow before .claude initialization
8
+ * - No immediate exit on error - allow interactive input
9
+ * - Validate keys against provider APIs
10
+ * - Re-prompt on invalid keys (unlimited retries)
11
+ * - Save valid keys and transition to normal flow
12
+ */
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || (function () {
30
+ var ownKeys = function(o) {
31
+ ownKeys = Object.getOwnPropertyNames || function (o) {
32
+ var ar = [];
33
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
34
+ return ar;
35
+ };
36
+ return ownKeys(o);
37
+ };
38
+ return function (mod) {
39
+ if (mod && mod.__esModule) return mod;
40
+ var result = {};
41
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
42
+ __setModuleDefault(result, mod);
43
+ return result;
44
+ };
45
+ })();
46
+ Object.defineProperty(exports, "__esModule", { value: true });
47
+ exports.runApiKeyOnboarding = runApiKeyOnboarding;
48
+ exports.isOnboardingRequired = isOnboardingRequired;
49
+ const readline = __importStar(require("readline"));
50
+ const key_validator_1 = require("./key-validator");
51
+ const global_config_1 = require("../config/global-config");
52
+ /**
53
+ * Display welcome message for API key onboarding
54
+ */
55
+ function displayWelcome() {
56
+ console.log('');
57
+ console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
58
+ console.log(' PM Orchestrator Runner - API Key Setup');
59
+ console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
60
+ console.log('');
61
+ console.log(' An API key is required to use PM Orchestrator Runner.');
62
+ console.log(' You can use either OpenAI or Anthropic API keys.');
63
+ console.log('');
64
+ console.log(' Your key will be saved to:');
65
+ console.log(` ${(0, global_config_1.getConfigFilePath)()}`);
66
+ console.log('');
67
+ console.log(' Alternatively, set environment variables:');
68
+ console.log(' OPENAI_API_KEY or ANTHROPIC_API_KEY');
69
+ console.log('');
70
+ }
71
+ /**
72
+ * Prompt user to select a provider
73
+ */
74
+ async function promptProviderSelection(rl) {
75
+ return new Promise((resolve) => {
76
+ console.log(' Select your API provider:');
77
+ console.log('');
78
+ console.log(' [1] OpenAI');
79
+ console.log(' [2] Anthropic');
80
+ console.log(' [s] Skip (use --no-auth option next time)');
81
+ console.log('');
82
+ const ask = () => {
83
+ rl.question(' Enter choice [1/2/s]: ', (answer) => {
84
+ const choice = answer.trim().toLowerCase();
85
+ if (choice === '1') {
86
+ resolve('openai');
87
+ }
88
+ else if (choice === '2') {
89
+ resolve('anthropic');
90
+ }
91
+ else if (choice === 's' || choice === 'skip') {
92
+ resolve('skip');
93
+ }
94
+ else {
95
+ console.log(' Invalid choice. Please enter 1, 2, or s.');
96
+ ask();
97
+ }
98
+ });
99
+ };
100
+ ask();
101
+ });
102
+ }
103
+ /**
104
+ * Prompt user for API key with hidden input (shows asterisks)
105
+ */
106
+ async function promptApiKey(rl, provider) {
107
+ return new Promise((resolve) => {
108
+ const stdin = process.stdin;
109
+ const stdout = process.stdout;
110
+ // Store original settings
111
+ const wasRaw = stdin.isRaw;
112
+ console.log('');
113
+ console.log(` Enter your ${provider.toUpperCase()} API key:`);
114
+ console.log(' (Input is hidden for security)');
115
+ console.log('');
116
+ stdout.write(' API Key: ');
117
+ let key = '';
118
+ // Enable raw mode for character-by-character input
119
+ if (stdin.isTTY) {
120
+ stdin.setRawMode(true);
121
+ }
122
+ stdin.resume();
123
+ const onData = (char) => {
124
+ const c = char.toString();
125
+ if (c === '\n' || c === '\r') {
126
+ // Enter pressed - finish input
127
+ stdin.removeListener('data', onData);
128
+ if (stdin.isTTY) {
129
+ stdin.setRawMode(wasRaw ?? false);
130
+ }
131
+ stdout.write('\n');
132
+ resolve(key);
133
+ }
134
+ else if (c === '\u0003') {
135
+ // Ctrl+C - exit
136
+ stdin.removeListener('data', onData);
137
+ if (stdin.isTTY) {
138
+ stdin.setRawMode(wasRaw ?? false);
139
+ }
140
+ process.exit(0);
141
+ }
142
+ else if (c === '\u007F' || c === '\b') {
143
+ // Backspace
144
+ if (key.length > 0) {
145
+ key = key.slice(0, -1);
146
+ stdout.write('\b \b');
147
+ }
148
+ }
149
+ else if (c.charCodeAt(0) >= 32) {
150
+ // Printable character
151
+ key += c;
152
+ stdout.write('*');
153
+ }
154
+ };
155
+ stdin.on('data', onData);
156
+ });
157
+ }
158
+ /**
159
+ * Validate API key and display result
160
+ */
161
+ async function validateAndReport(provider, key) {
162
+ // First check format
163
+ if (!(0, key_validator_1.isKeyFormatValid)(provider, key)) {
164
+ console.log('');
165
+ console.log(` Invalid key format for ${provider}.`);
166
+ if (provider === 'openai') {
167
+ console.log(' OpenAI keys should start with "sk-"');
168
+ }
169
+ else if (provider === 'anthropic') {
170
+ console.log(' Anthropic keys should start with "sk-ant-"');
171
+ }
172
+ return false;
173
+ }
174
+ console.log('');
175
+ console.log(' Validating API key...');
176
+ try {
177
+ const result = await (0, key_validator_1.validateApiKey)(provider, key);
178
+ if (result.valid) {
179
+ console.log('');
180
+ console.log(' API key is valid!');
181
+ return true;
182
+ }
183
+ else {
184
+ console.log('');
185
+ console.log(` API key validation failed: ${result.error || 'Unknown error'}`);
186
+ return false;
187
+ }
188
+ }
189
+ catch (error) {
190
+ console.log('');
191
+ console.log(` API key validation error: ${error.message}`);
192
+ return false;
193
+ }
194
+ }
195
+ /**
196
+ * Run the API key onboarding flow
197
+ *
198
+ * @param skipIfKeyExists - If true, skip onboarding if any API key is already configured
199
+ * @returns OnboardingResult indicating success/failure
200
+ */
201
+ async function runApiKeyOnboarding(skipIfKeyExists = true) {
202
+ // Check if API key already exists
203
+ if (skipIfKeyExists && (0, global_config_1.hasAnyApiKey)()) {
204
+ return { success: true, skipped: true };
205
+ }
206
+ // Create readline interface
207
+ const rl = readline.createInterface({
208
+ input: process.stdin,
209
+ output: process.stdout,
210
+ });
211
+ try {
212
+ displayWelcome();
213
+ // Provider selection loop
214
+ const provider = await promptProviderSelection(rl);
215
+ if (provider === 'skip') {
216
+ console.log('');
217
+ console.log(' Skipping API key setup.');
218
+ console.log(' Note: Use --no-auth option to bypass this in the future.');
219
+ console.log('');
220
+ rl.close();
221
+ return { success: false, skipped: true };
222
+ }
223
+ // API key input and validation loop (unlimited retries)
224
+ while (true) {
225
+ const key = await promptApiKey(rl, provider);
226
+ if (!key || key.trim() === '') {
227
+ console.log('');
228
+ console.log(' No key entered. Please try again.');
229
+ continue;
230
+ }
231
+ const isValid = await validateAndReport(provider, key.trim());
232
+ if (isValid) {
233
+ // Save the key
234
+ (0, global_config_1.setApiKey)(provider, key.trim());
235
+ console.log('');
236
+ console.log(` API key saved to ${(0, global_config_1.getConfigFilePath)()}`);
237
+ console.log('');
238
+ console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
239
+ console.log(' Setup complete! Starting PM Orchestrator Runner...');
240
+ console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
241
+ console.log('');
242
+ rl.close();
243
+ return { success: true, provider: provider };
244
+ }
245
+ // Invalid key - prompt to retry
246
+ console.log('');
247
+ console.log(' Would you like to try again? (Press Enter to retry, or Ctrl+C to exit)');
248
+ await new Promise((resolve) => {
249
+ rl.question('', () => resolve());
250
+ });
251
+ }
252
+ }
253
+ catch (error) {
254
+ rl.close();
255
+ return {
256
+ success: false,
257
+ error: error.message,
258
+ };
259
+ }
260
+ }
261
+ /**
262
+ * Check if onboarding is required
263
+ * Returns true if no API key is configured and --no-auth is not specified
264
+ */
265
+ function isOnboardingRequired(noAuthOption = false) {
266
+ if (noAuthOption) {
267
+ return false;
268
+ }
269
+ return !(0, global_config_1.hasAnyApiKey)();
270
+ }
271
+ //# sourceMappingURL=api-key-onboarding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key-onboarding.js","sourceRoot":"","sources":["../../src/keys/api-key-onboarding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Keys Module
3
+ *
4
+ * Provides API key validation, input, and management utilities.
5
+ */
6
+ export { validateApiKey, validateOpenAIKey, validateAnthropicKey, isKeyFormatValid, type KeyValidationResult, } from './key-validator';
7
+ export { promptForApiKey, readHiddenInput, type KeyInputResult, } from './key-input';
8
+ export { runApiKeyOnboarding, isOnboardingRequired, type OnboardingResult, } from './api-key-onboarding';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/keys/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,KAAK,mBAAmB,GACzB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,eAAe,EACf,eAAe,EACf,KAAK,cAAc,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,gBAAgB,GACtB,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ /**
3
+ * Keys Module
4
+ *
5
+ * Provides API key validation, input, and management utilities.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.isOnboardingRequired = exports.runApiKeyOnboarding = exports.readHiddenInput = exports.promptForApiKey = exports.isKeyFormatValid = exports.validateAnthropicKey = exports.validateOpenAIKey = exports.validateApiKey = void 0;
9
+ var key_validator_1 = require("./key-validator");
10
+ Object.defineProperty(exports, "validateApiKey", { enumerable: true, get: function () { return key_validator_1.validateApiKey; } });
11
+ Object.defineProperty(exports, "validateOpenAIKey", { enumerable: true, get: function () { return key_validator_1.validateOpenAIKey; } });
12
+ Object.defineProperty(exports, "validateAnthropicKey", { enumerable: true, get: function () { return key_validator_1.validateAnthropicKey; } });
13
+ Object.defineProperty(exports, "isKeyFormatValid", { enumerable: true, get: function () { return key_validator_1.isKeyFormatValid; } });
14
+ var key_input_1 = require("./key-input");
15
+ Object.defineProperty(exports, "promptForApiKey", { enumerable: true, get: function () { return key_input_1.promptForApiKey; } });
16
+ Object.defineProperty(exports, "readHiddenInput", { enumerable: true, get: function () { return key_input_1.readHiddenInput; } });
17
+ var api_key_onboarding_1 = require("./api-key-onboarding");
18
+ Object.defineProperty(exports, "runApiKeyOnboarding", { enumerable: true, get: function () { return api_key_onboarding_1.runApiKeyOnboarding; } });
19
+ Object.defineProperty(exports, "isOnboardingRequired", { enumerable: true, get: function () { return api_key_onboarding_1.isOnboardingRequired; } });
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/keys/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,iDAMyB;AALvB,+GAAA,cAAc,OAAA;AACd,kHAAA,iBAAiB,OAAA;AACjB,qHAAA,oBAAoB,OAAA;AACpB,iHAAA,gBAAgB,OAAA;AAIlB,yCAIqB;AAHnB,4GAAA,eAAe,OAAA;AACf,4GAAA,eAAe,OAAA;AAIjB,2DAI8B;AAH5B,yHAAA,mBAAmB,OAAA;AACnB,0HAAA,oBAAoB,OAAA"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Key Input - Interactive hidden input for API keys
3
+ *
4
+ * Provides secure input collection for API keys:
5
+ * - Hidden input (characters not echoed)
6
+ * - Double-entry confirmation
7
+ * - SECURITY: Keys are NEVER logged
8
+ */
9
+ /**
10
+ * Result of key input operation
11
+ */
12
+ export interface KeyInputResult {
13
+ success: boolean;
14
+ key?: string;
15
+ error?: string;
16
+ cancelled?: boolean;
17
+ }
18
+ /**
19
+ * Read a single line with hidden input (password-style)
20
+ * Characters are not echoed to the terminal
21
+ */
22
+ export declare function readHiddenInput(prompt: string): Promise<string>;
23
+ /**
24
+ * Interactively prompt for an API key with double-entry confirmation
25
+ *
26
+ * Flow:
27
+ * 1. Prompt for API key (hidden input)
28
+ * 2. Prompt to confirm (hidden input)
29
+ * 3. Check if entries match
30
+ * 4. Return key if matched, error if not
31
+ *
32
+ * SECURITY: The key is returned only in the result object, never logged
33
+ */
34
+ export declare function promptForApiKey(provider: string): Promise<KeyInputResult>;
35
+ //# sourceMappingURL=key-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-input.d.ts","sourceRoot":"","sources":["../../src/keys/key-input.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AA6BD;;;GAGG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBrE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAuD/E"}