openai-precise-coder 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/auth.d.ts ADDED
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Authentication module - Firebase Auth based
3
+ */
4
+ interface AuthConfig {
5
+ token: string;
6
+ uid: string;
7
+ email: string;
8
+ premium: boolean;
9
+ expiresAt: number;
10
+ }
11
+ export declare function getConfig(): AuthConfig | null;
12
+ export declare function clearConfig(): void;
13
+ export declare function isAuthenticated(): boolean;
14
+ export declare function isPremium(): boolean;
15
+ export declare function getEmail(): string | null;
16
+ export declare function getToken(): string | null;
17
+ export declare function login(): Promise<boolean>;
18
+ export declare function loginWithToken(token: string): Promise<boolean>;
19
+ export declare function logout(): void;
20
+ export {};
21
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmBH,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,SAAS,IAAI,UAAU,GAAG,IAAI,CAiB7C;AASD,wBAAgB,WAAW,IAAI,IAAI,CAIlC;AAED,wBAAgB,eAAe,IAAI,OAAO,CAGzC;AAED,wBAAgB,SAAS,IAAI,OAAO,CAGnC;AAED,wBAAgB,QAAQ,IAAI,MAAM,GAAG,IAAI,CAExC;AAED,wBAAgB,QAAQ,IAAI,MAAM,GAAG,IAAI,CAExC;AAED,wBAAsB,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAmG9C;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAuBpE;AAED,wBAAgB,MAAM,IAAI,IAAI,CAE7B"}
package/dist/auth.js ADDED
@@ -0,0 +1,178 @@
1
+ /**
2
+ * Authentication module - Firebase Auth based
3
+ */
4
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
5
+ import { homedir } from 'os';
6
+ import { join } from 'path';
7
+ import { execSync } from 'child_process';
8
+ import { createServer } from 'http';
9
+ const CONFIG_DIR = join(homedir(), '.precise-coder');
10
+ const CONFIG_FILE = join(CONFIG_DIR, 'auth.json');
11
+ const AUTH_URL = 'https://openai-precision-coder.web.app/login';
12
+ const FIREBASE_PROJECT = 'openai-precision-coder';
13
+ // Firebase config for token verification
14
+ const FIREBASE_CONFIG = {
15
+ apiKey: "AIzaSyBML_4D0c2SqgYgqIkOk5aJqQQEXpeyA40",
16
+ projectId: "openai-precision-coder",
17
+ };
18
+ export function getConfig() {
19
+ if (!existsSync(CONFIG_FILE)) {
20
+ return null;
21
+ }
22
+ try {
23
+ const config = JSON.parse(readFileSync(CONFIG_FILE, 'utf-8'));
24
+ // Check if token is expired
25
+ if (config.expiresAt && Date.now() > config.expiresAt) {
26
+ return null;
27
+ }
28
+ return config;
29
+ }
30
+ catch {
31
+ return null;
32
+ }
33
+ }
34
+ function saveConfig(config) {
35
+ if (!existsSync(CONFIG_DIR)) {
36
+ mkdirSync(CONFIG_DIR, { recursive: true, mode: 0o700 });
37
+ }
38
+ writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2), { mode: 0o600 });
39
+ }
40
+ export function clearConfig() {
41
+ if (existsSync(CONFIG_FILE)) {
42
+ writeFileSync(CONFIG_FILE, '{}', { mode: 0o600 });
43
+ }
44
+ }
45
+ export function isAuthenticated() {
46
+ const config = getConfig();
47
+ return config !== null && config.premium === true;
48
+ }
49
+ export function isPremium() {
50
+ const config = getConfig();
51
+ return config?.premium === true;
52
+ }
53
+ export function getEmail() {
54
+ return getConfig()?.email || null;
55
+ }
56
+ export function getToken() {
57
+ return getConfig()?.token || null;
58
+ }
59
+ export async function login() {
60
+ return new Promise((resolve) => {
61
+ const port = 9876;
62
+ const callbackUrl = `http://localhost:${port}/callback`;
63
+ // Start local server to receive the token
64
+ const server = createServer((req, res) => {
65
+ const url = new URL(req.url || '', `http://localhost:${port}`);
66
+ if (url.pathname === '/callback') {
67
+ const token = url.searchParams.get('token');
68
+ const uid = url.searchParams.get('uid');
69
+ const email = url.searchParams.get('email');
70
+ const premium = url.searchParams.get('premium') === 'true';
71
+ if (token && uid && email) {
72
+ // Save the auth config
73
+ saveConfig({
74
+ token,
75
+ uid,
76
+ email,
77
+ premium,
78
+ expiresAt: Date.now() + (60 * 60 * 1000), // 1 hour
79
+ });
80
+ res.writeHead(200, { 'Content-Type': 'text/html' });
81
+ res.end(`
82
+ <!DOCTYPE html>
83
+ <html>
84
+ <head>
85
+ <title>Authentication Successful</title>
86
+ <style>
87
+ body {
88
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
89
+ background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
90
+ color: white;
91
+ display: flex;
92
+ align-items: center;
93
+ justify-content: center;
94
+ height: 100vh;
95
+ margin: 0;
96
+ }
97
+ .card {
98
+ text-align: center;
99
+ padding: 48px;
100
+ background: rgba(255,255,255,0.05);
101
+ border-radius: 16px;
102
+ }
103
+ .success { color: #10b981; font-size: 48px; }
104
+ h1 { margin: 16px 0 8px; }
105
+ p { color: rgba(255,255,255,0.6); }
106
+ </style>
107
+ </head>
108
+ <body>
109
+ <div class="card">
110
+ <div class="success">✓</div>
111
+ <h1>Authentication Successful!</h1>
112
+ <p>You can close this window and return to the CLI.</p>
113
+ </div>
114
+ <script>setTimeout(() => window.close(), 3000);</script>
115
+ </body>
116
+ </html>
117
+ `);
118
+ server.close();
119
+ resolve(premium);
120
+ }
121
+ else {
122
+ res.writeHead(400, { 'Content-Type': 'text/html' });
123
+ res.end('<h1>Authentication Failed</h1><p>Missing parameters</p>');
124
+ server.close();
125
+ resolve(false);
126
+ }
127
+ }
128
+ else {
129
+ res.writeHead(404);
130
+ res.end('Not Found');
131
+ }
132
+ });
133
+ server.listen(port, () => {
134
+ // Open browser for authentication
135
+ const authUrl = `${AUTH_URL}?callback=${encodeURIComponent(callbackUrl)}`;
136
+ const platform = process.platform;
137
+ const openCommand = platform === 'darwin' ? 'open' :
138
+ platform === 'win32' ? 'start' : 'xdg-open';
139
+ try {
140
+ execSync(`${openCommand} "${authUrl}"`, { stdio: 'ignore' });
141
+ }
142
+ catch {
143
+ console.log(`\nPlease open this URL in your browser:\n${authUrl}\n`);
144
+ }
145
+ });
146
+ // Timeout after 5 minutes
147
+ setTimeout(() => {
148
+ server.close();
149
+ resolve(false);
150
+ }, 5 * 60 * 1000);
151
+ });
152
+ }
153
+ export async function loginWithToken(token) {
154
+ try {
155
+ // Verify token with Firebase (simplified - in production use Firebase Admin SDK)
156
+ // For now, just decode the JWT and extract claims
157
+ const parts = token.split('.');
158
+ if (parts.length !== 3) {
159
+ throw new Error('Invalid token format');
160
+ }
161
+ const payload = JSON.parse(Buffer.from(parts[1], 'base64').toString());
162
+ saveConfig({
163
+ token,
164
+ uid: payload.user_id || payload.sub,
165
+ email: payload.email || '',
166
+ premium: payload.premium === true,
167
+ expiresAt: (payload.exp || 0) * 1000,
168
+ });
169
+ return payload.premium === true;
170
+ }
171
+ catch (error) {
172
+ return false;
173
+ }
174
+ }
175
+ export function logout() {
176
+ clearConfig();
177
+ }
178
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
3
  * GPT-5.2 Precision Coder - CLI Interface
4
+ * Requires Firebase authentication with premium subscription
4
5
  */
5
6
  export {};
6
7
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;GAEG"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;GAGG"}
package/dist/cli.js CHANGED
@@ -1,12 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
3
  * GPT-5.2 Precision Coder - CLI Interface
4
+ * Requires Firebase authentication with premium subscription
4
5
  */
5
6
  import { createInterface } from 'readline';
6
7
  import chalk from 'chalk';
7
8
  import ora from 'ora';
8
9
  import { GPTCoder } from './client.js';
9
10
  import { DEFAULT_MODEL } from './types.js';
11
+ import { isAuthenticated, getEmail, login, loginWithToken, logout, } from './auth.js';
10
12
  const LOGO = `
11
13
  ${chalk.cyan('╔═══════════════════════════════════════════════════╗')}
12
14
  ${chalk.cyan('║')} ${chalk.bold.white('GPT-5.2 Precision Coder')} ${chalk.cyan('║')}
@@ -22,14 +24,102 @@ const COMMANDS = {
22
24
  review: 'Review code for improvements',
23
25
  clear: 'Clear conversation context',
24
26
  tokens: 'Show tokens used',
27
+ logout: 'Logout and revoke credentials',
25
28
  exit: 'Exit the CLI',
26
29
  };
30
+ async function handleLogin() {
31
+ console.log(chalk.cyan('\nOpening browser for authentication...\n'));
32
+ console.log(chalk.gray('Please sign in with your premium account.'));
33
+ const spinner = ora('Waiting for authentication...').start();
34
+ const success = await login();
35
+ if (success) {
36
+ spinner.succeed('Authenticated');
37
+ const email = getEmail();
38
+ console.log(chalk.green(`\nWelcome, ${email}!`));
39
+ console.log(chalk.cyan('Premium subscription active ✓'));
40
+ return true;
41
+ }
42
+ else {
43
+ spinner.fail('Authentication failed');
44
+ console.log(chalk.red('\nPremium subscription required.'));
45
+ console.log(chalk.gray('Visit https://openai-precision-coder.web.app/upgrade'));
46
+ return false;
47
+ }
48
+ }
27
49
  async function main() {
50
+ const args = process.argv.slice(2);
51
+ // Handle login command
52
+ if (args[0] === 'login') {
53
+ console.log(LOGO);
54
+ const success = await handleLogin();
55
+ process.exit(success ? 0 : 1);
56
+ }
57
+ // Handle auth with token
58
+ if (args[0] === 'auth' && args[1] === '--token') {
59
+ const token = args[2];
60
+ if (!token) {
61
+ console.error(chalk.red('Usage: precise-coder auth --token=<token>'));
62
+ process.exit(1);
63
+ }
64
+ console.log(LOGO);
65
+ const success = await loginWithToken(token.replace('--token=', ''));
66
+ if (success) {
67
+ console.log(chalk.green('Authenticated successfully!'));
68
+ }
69
+ else {
70
+ console.log(chalk.red('Invalid token or not a premium user.'));
71
+ }
72
+ process.exit(success ? 0 : 1);
73
+ }
74
+ // Handle logout command
75
+ if (args[0] === 'logout') {
76
+ console.log(LOGO);
77
+ logout();
78
+ console.log(chalk.green('Logged out successfully'));
79
+ process.exit(0);
80
+ }
81
+ // Handle status command
82
+ if (args[0] === 'status') {
83
+ console.log(LOGO);
84
+ if (isAuthenticated()) {
85
+ const email = getEmail();
86
+ console.log(chalk.green(`Authenticated as: ${email}`));
87
+ console.log(chalk.cyan('Premium: ✓'));
88
+ }
89
+ else if (getEmail()) {
90
+ console.log(chalk.yellow(`Logged in as: ${getEmail()}`));
91
+ console.log(chalk.red('Premium: ✗ (upgrade required)'));
92
+ console.log(chalk.gray('Visit: https://openai-precision-coder.web.app/upgrade'));
93
+ }
94
+ else {
95
+ console.log(chalk.yellow('Not authenticated'));
96
+ console.log(chalk.gray('Run: precise-coder login'));
97
+ }
98
+ process.exit(0);
99
+ }
28
100
  console.log(LOGO);
101
+ // Check authentication
102
+ const spinner = ora('Checking authentication...').start();
103
+ if (!isAuthenticated()) {
104
+ spinner.fail('Not authenticated or not premium');
105
+ if (getEmail()) {
106
+ console.log(chalk.yellow('\nPremium subscription required.'));
107
+ console.log(chalk.gray('Upgrade at: https://openai-precision-coder.web.app/upgrade'));
108
+ }
109
+ else {
110
+ console.log(chalk.yellow('\nYou must login first.'));
111
+ console.log(chalk.gray('Run: precise-coder login'));
112
+ }
113
+ process.exit(1);
114
+ }
115
+ spinner.succeed('Authenticated');
116
+ const email = getEmail();
117
+ console.log(chalk.gray(`Logged in as: ${email} (Premium)`));
118
+ // Use the OpenAI API key from environment or a default
29
119
  const apiKey = process.env.OPENAI_API_KEY;
30
120
  if (!apiKey) {
31
- console.error(chalk.red('Error: OPENAI_API_KEY environment variable is required'));
32
- console.log(chalk.gray('Set it with: export OPENAI_API_KEY=your-api-key'));
121
+ console.error(chalk.red('\nOPENAI_API_KEY environment variable required.'));
122
+ console.log(chalk.gray('Set it with: export OPENAI_API_KEY=your-key'));
33
123
  process.exit(1);
34
124
  }
35
125
  const model = process.env.GPT_MODEL || DEFAULT_MODEL;
@@ -47,10 +137,10 @@ async function main() {
47
137
  prompt();
48
138
  return;
49
139
  }
50
- const [command, ...args] = trimmed.split(' ');
51
- const argument = args.join(' ');
140
+ const [command, ...cmdArgs] = trimmed.split(' ');
141
+ const argument = cmdArgs.join(' ');
52
142
  try {
53
- await handleCommand(coder, command.toLowerCase(), argument);
143
+ await handleCommand(coder, command.toLowerCase(), argument, rl);
54
144
  }
55
145
  catch (error) {
56
146
  console.error(chalk.red(`Error: ${error.message}`));
@@ -64,7 +154,7 @@ async function main() {
64
154
  });
65
155
  prompt();
66
156
  }
67
- async function handleCommand(coder, command, argument) {
157
+ async function handleCommand(coder, command, argument, rl) {
68
158
  switch (command) {
69
159
  case 'help':
70
160
  showHelp();
@@ -85,7 +175,6 @@ async function handleCommand(coder, command, argument) {
85
175
  break;
86
176
  case 'refactor':
87
177
  console.log(chalk.yellow('Enter code to refactor, then instructions'));
88
- // Simplified for CLI - in practice would use multi-line input
89
178
  break;
90
179
  case 'debug':
91
180
  console.log(chalk.yellow('Enter code and error message'));
@@ -104,11 +193,16 @@ async function handleCommand(coder, command, argument) {
104
193
  case 'tokens':
105
194
  console.log(chalk.cyan(`Tokens used: ${coder.getTokensUsed()}`));
106
195
  break;
196
+ case 'logout':
197
+ logout();
198
+ console.log(chalk.green('Logged out. Goodbye!'));
199
+ rl.close();
200
+ process.exit(0);
107
201
  case 'exit':
108
202
  case 'quit':
203
+ rl.close();
109
204
  process.exit(0);
110
205
  default:
111
- // Treat as general chat/code request
112
206
  await streamResponse(coder, `${command} ${argument}`.trim());
113
207
  }
114
208
  }
@@ -162,6 +256,10 @@ function showHelp() {
162
256
  for (const [cmd, desc] of Object.entries(COMMANDS)) {
163
257
  console.log(` ${chalk.yellow(cmd.padEnd(12))} ${chalk.gray(desc)}`);
164
258
  }
259
+ console.log(chalk.cyan('\nCLI Commands:\n'));
260
+ console.log(` ${chalk.yellow('login'.padEnd(12))} ${chalk.gray('Authenticate via browser (premium required)')}`);
261
+ console.log(` ${chalk.yellow('logout'.padEnd(12))} ${chalk.gray('Revoke credentials')}`);
262
+ console.log(` ${chalk.yellow('status'.padEnd(12))} ${chalk.gray('Check authentication status')}`);
165
263
  console.log();
166
264
  }
167
265
  main().catch(console.error);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,IAAI,GAAG;EACX,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC;EACnE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,4BAA4B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;EAC1G,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;EACtG,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC;CACpE,CAAC;AAEF,MAAM,QAAQ,GAAG;IACf,IAAI,EAAE,yBAAyB;IAC/B,IAAI,EAAE,gCAAgC;IACtC,OAAO,EAAE,cAAc;IACvB,QAAQ,EAAE,iCAAiC;IAC3C,KAAK,EAAE,+BAA+B;IACtC,MAAM,EAAE,8BAA8B;IACtC,KAAK,EAAE,4BAA4B;IACnC,MAAM,EAAE,kBAAkB;IAC1B,IAAI,EAAE,cAAc;CACrB,CAAC;AAEF,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAElB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,aAAa,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;IAEhE,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAE9C,MAAM,EAAE,GAAG,eAAe,CAAC;QACzB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC7C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,EAAE,CAAC;gBACT,OAAO;YACT,CAAC;YAED,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEhC,IAAI,CAAC;gBACH,MAAM,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAW,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACjE,CAAC;YAED,MAAM,EAAE,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC;AACX,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,KAAe,EAAE,OAAe,EAAE,QAAgB;IAC7E,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM;YACT,QAAQ,EAAE,CAAC;YACX,MAAM;QAER,KAAK,MAAM;YACT,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;gBACvD,MAAM;YACR,CAAC;YACD,MAAM,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM;QAER,KAAK,SAAS;YACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;gBACnD,MAAM;YACR,CAAC;YACD,MAAM,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACrC,MAAM;QAER,KAAK,UAAU;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC,CAAC;YACvE,8DAA8D;YAC9D,MAAM;QAER,KAAK,OAAO;YACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC;YAC1D,MAAM;QAER,KAAK,QAAQ;YACX,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAClD,MAAM;YACR,CAAC;YACD,MAAM,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACpC,MAAM;QAER,KAAK,OAAO;YACV,KAAK,CAAC,YAAY,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC5C,MAAM;QAER,KAAK,QAAQ;YACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;YACjE,MAAM;QAER,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAElB;YACE,qCAAqC;YACrC,MAAM,cAAc,CAAC,KAAK,EAAE,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,KAAe,EAAE,MAAc;IAC3D,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;IAC7C,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,MAAM,KAAK,CAAC,UAAU,CACpB,EAAE,MAAM,EAAE,EACV;QACE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,MAAM,QAAQ,CAAC,UAAU,UAAU,CAAC,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1C,CAAC;KACF,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,KAAe,EAAE,IAAY;IACxD,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,KAAe,EAAE,IAAY;IACvD,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACnD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EACL,eAAe,EAEf,QAAQ,EAER,KAAK,EACL,cAAc,EACd,MAAM,GACP,MAAM,WAAW,CAAC;AAEnB,MAAM,IAAI,GAAG;EACX,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC;EACnE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,4BAA4B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;EAC1G,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;EACtG,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC;CACpE,CAAC;AAEF,MAAM,QAAQ,GAAG;IACf,IAAI,EAAE,yBAAyB;IAC/B,IAAI,EAAE,gCAAgC;IACtC,OAAO,EAAE,cAAc;IACvB,QAAQ,EAAE,iCAAiC;IAC3C,KAAK,EAAE,+BAA+B;IACtC,MAAM,EAAE,8BAA8B;IACtC,KAAK,EAAE,4BAA4B;IACnC,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,+BAA+B;IACvC,IAAI,EAAE,cAAc;CACrB,CAAC;AAEF,KAAK,UAAU,WAAW;IACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,CAAC;IAErE,MAAM,OAAO,GAAG,GAAG,CAAC,+BAA+B,CAAC,CAAC,KAAK,EAAE,CAAC;IAE7D,MAAM,OAAO,GAAG,MAAM,KAAK,EAAE,CAAC;IAE9B,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,KAAK,GAAG,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC,CAAC;QAChF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,uBAAuB;IACvB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,yBAAyB;IACzB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,wBAAwB;IACxB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,wBAAwB;IACxB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,eAAe,EAAE,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,KAAK,EAAE,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,QAAQ,EAAE,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC,CAAC;QACnF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAElB,uBAAuB;IACvB,MAAM,OAAO,GAAG,GAAG,CAAC,4BAA4B,CAAC,CAAC,KAAK,EAAE,CAAC;IAE1D,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAEjD,IAAI,QAAQ,EAAE,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC,CAAC;QACxF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAEjC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,KAAK,YAAY,CAAC,CAAC,CAAC;IAE5D,uDAAuD;IACvD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,aAAa,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;IAEhE,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAE9C,MAAM,EAAE,GAAG,eAAe,CAAC;QACzB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC7C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,EAAE,CAAC;gBACT,OAAO;YACT,CAAC;YAED,MAAM,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEnC,IAAI,CAAC;gBACH,MAAM,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YAClE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAW,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACjE,CAAC;YAED,MAAM,EAAE,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC;AACX,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,KAAe,EACf,OAAe,EACf,QAAgB,EAChB,EAAsC;IAEtC,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM;YACT,QAAQ,EAAE,CAAC;YACX,MAAM;QAER,KAAK,MAAM;YACT,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;gBACvD,MAAM;YACR,CAAC;YACD,MAAM,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM;QAER,KAAK,SAAS;YACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;gBACnD,MAAM;YACR,CAAC;YACD,MAAM,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACrC,MAAM;QAER,KAAK,UAAU;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC,CAAC;YACvE,MAAM;QAER,KAAK,OAAO;YACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC;YAC1D,MAAM;QAER,KAAK,QAAQ;YACX,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAClD,MAAM;YACR,CAAC;YACD,MAAM,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACpC,MAAM;QAER,KAAK,OAAO;YACV,KAAK,CAAC,YAAY,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC5C,MAAM;QAER,KAAK,QAAQ;YACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;YACjE,MAAM;QAER,KAAK,QAAQ;YACX,MAAM,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;YACjD,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAElB,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACT,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAElB;YACE,MAAM,cAAc,CAAC,KAAK,EAAE,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,KAAe,EAAE,MAAc;IAC3D,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;IAC7C,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,MAAM,KAAK,CAAC,UAAU,CACpB,EAAE,MAAM,EAAE,EACV;QACE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,MAAM,QAAQ,CAAC,UAAU,UAAU,CAAC,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1C,CAAC;KACF,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,KAAe,EAAE,IAAY;IACxD,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,KAAe,EAAE,IAAY;IACvD,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACnD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,EAAE,CAAC,CAAC;IAClH,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC;IACnG,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -4,4 +4,5 @@
4
4
  */
5
5
  export { GPTCoder, createCoder } from './client.js';
6
6
  export { GPTCoderConfig, CodeRequest, CodeResponse, ChatMessage, StreamCallbacks, ConversationContext, DEFAULT_MODEL, GPT5_MODEL, DEFAULT_SYSTEM_PROMPT, } from './types.js';
7
+ export { isAuthenticated, isPremium, getEmail, getToken, login, loginWithToken, logout, } from './auth.js';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EACL,cAAc,EACd,WAAW,EACX,YAAY,EACZ,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EACL,cAAc,EACd,WAAW,EACX,YAAY,EACZ,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,EACf,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,cAAc,EACd,MAAM,GACP,MAAM,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -4,4 +4,5 @@
4
4
  */
5
5
  export { GPTCoder, createCoder } from './client.js';
6
6
  export { DEFAULT_MODEL, GPT5_MODEL, DEFAULT_SYSTEM_PROMPT, } from './types.js';
7
+ export { isAuthenticated, isPremium, getEmail, getToken, login, loginWithToken, logout, } from './auth.js';
7
8
  //# 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":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAOL,aAAa,EACb,UAAU,EACV,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAOL,aAAa,EACb,UAAU,EACV,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,EACf,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,cAAc,EACd,MAAM,GACP,MAAM,WAAW,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openai-precise-coder",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "description": "GPT-5.2 Precision Coder - Advanced AI-powered coding assistant using OpenAI's latest models",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -41,8 +41,8 @@
41
41
  "node": ">=20.0.0"
42
42
  },
43
43
  "dependencies": {
44
- "openai": "^4.77.0",
45
44
  "chalk": "^5.6.2",
45
+ "openai": "^4.77.0",
46
46
  "ora": "^8.1.1"
47
47
  },
48
48
  "devDependencies": {