@defai.digital/ax-cli 1.2.1 → 1.2.2

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 (33) hide show
  1. package/automatosx.config.json +333 -0
  2. package/config/messages.yaml +2 -0
  3. package/dist/agent/grok-agent.js +5 -1
  4. package/dist/agent/grok-agent.js.map +1 -1
  5. package/dist/commands/mcp.js +8 -2
  6. package/dist/commands/mcp.js.map +1 -1
  7. package/dist/commands/update.js +29 -25
  8. package/dist/commands/update.js.map +1 -1
  9. package/dist/ui/components/api-key-input.js +7 -5
  10. package/dist/ui/components/api-key-input.js.map +1 -1
  11. package/dist/utils/project-analyzer.d.ts +11 -0
  12. package/dist/utils/project-analyzer.js +180 -196
  13. package/dist/utils/project-analyzer.js.map +1 -1
  14. package/dist/utils/settings-manager.js +34 -26
  15. package/dist/utils/settings-manager.js.map +1 -1
  16. package/package.json +2 -2
  17. package/packages/schemas/dist/index.d.ts +14 -0
  18. package/packages/schemas/dist/index.d.ts.map +1 -0
  19. package/packages/schemas/dist/index.js +19 -0
  20. package/packages/schemas/dist/index.js.map +1 -0
  21. package/packages/schemas/dist/public/core/brand-types.d.ts +308 -0
  22. package/packages/schemas/dist/public/core/brand-types.d.ts.map +1 -0
  23. package/packages/schemas/dist/public/core/brand-types.js +243 -0
  24. package/packages/schemas/dist/public/core/brand-types.js.map +1 -0
  25. package/packages/schemas/dist/public/core/enums.d.ts +227 -0
  26. package/packages/schemas/dist/public/core/enums.d.ts.map +1 -0
  27. package/packages/schemas/dist/public/core/enums.js +222 -0
  28. package/packages/schemas/dist/public/core/enums.js.map +1 -0
  29. package/packages/schemas/dist/public/core/id-types.d.ts +286 -0
  30. package/packages/schemas/dist/public/core/id-types.d.ts.map +1 -0
  31. package/packages/schemas/dist/public/core/id-types.js +136 -0
  32. package/packages/schemas/dist/public/core/id-types.js.map +1 -0
  33. package/README.old.md +0 -1608
@@ -1,4 +1,4 @@
1
- import React, { useState } from "react";
1
+ import React, { useState, useMemo } from "react";
2
2
  import { Box, Text, useInput, useApp } from "ink";
3
3
  import { GrokAgent } from "../../agent/grok-agent.js";
4
4
  import { getSettingsManager } from "../../utils/settings-manager.js";
@@ -65,10 +65,12 @@ export default function ApiKeyInput({ onApiKeySet }) {
65
65
  const displayText = input.length > 0 ?
66
66
  (isSubmitting ? "*".repeat(input.length) : "*".repeat(input.length) + "█") :
67
67
  (isSubmitting ? " " : "█");
68
- // Get settings path for display
69
- const manager = getSettingsManager();
70
- const settingsPath = manager.getUserSettingsPath();
71
- const saveLocationMsg = formatMessage(uiMessages.save_location || "Note: API key will be saved to {path}", { path: settingsPath });
68
+ // Get settings path for display - memoized to avoid repeated calls
69
+ const saveLocationMsg = useMemo(() => {
70
+ const manager = getSettingsManager();
71
+ const settingsPath = manager.getUserSettingsPath();
72
+ return formatMessage(uiMessages.save_location || "Note: API key will be saved to {path}", { path: settingsPath });
73
+ }, [uiMessages.save_location]);
72
74
  return (React.createElement(Box, { flexDirection: "column", paddingX: 2, paddingY: 1 },
73
75
  React.createElement(Text, { color: "yellow" }, uiMessages.title || "🔑 Grok API Key Required"),
74
76
  React.createElement(Box, { marginBottom: 1 },
@@ -1 +1 @@
1
- {"version":3,"file":"api-key-input.js","sourceRoot":"","sources":["../../../src/ui/components/api-key-input.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-key-input.js","sourceRoot":"","sources":["../../../src/ui/components/api-key-input.tsx"],"names":[],"mappings":"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"}
@@ -5,7 +5,18 @@ import type { AnalysisResult } from '../types/project-analysis.js';
5
5
  export declare class ProjectAnalyzer {
6
6
  private projectRoot;
7
7
  private warnings;
8
+ private packageJsonCache;
9
+ private tsConfigCache;
8
10
  constructor(projectRoot?: string);
11
+ /**
12
+ * Helper: Read and cache package.json
13
+ * Reduces file I/O from 8 reads to 1 read
14
+ */
15
+ private getPackageJson;
16
+ /**
17
+ * Helper: Read and cache tsconfig.json
18
+ */
19
+ private getTsConfig;
9
20
  /**
10
21
  * Analyze the project and extract comprehensive information
11
22
  */
@@ -3,12 +3,51 @@
3
3
  */
4
4
  import * as fs from 'fs';
5
5
  import * as path from 'path';
6
+ import { parseJsonFile } from './json-utils.js';
6
7
  export class ProjectAnalyzer {
7
8
  projectRoot;
8
9
  warnings = [];
10
+ packageJsonCache = undefined;
11
+ tsConfigCache = undefined;
9
12
  constructor(projectRoot = process.cwd()) {
10
13
  this.projectRoot = projectRoot;
11
14
  }
15
+ /**
16
+ * Helper: Read and cache package.json
17
+ * Reduces file I/O from 8 reads to 1 read
18
+ */
19
+ getPackageJson() {
20
+ if (this.packageJsonCache !== undefined) {
21
+ return this.packageJsonCache;
22
+ }
23
+ const packageJsonPath = path.join(this.projectRoot, 'package.json');
24
+ const result = parseJsonFile(packageJsonPath);
25
+ if (!result.success) {
26
+ if (fs.existsSync(packageJsonPath)) {
27
+ this.warnings.push(`Failed to parse package.json: ${result.error}`);
28
+ }
29
+ this.packageJsonCache = null;
30
+ return null;
31
+ }
32
+ this.packageJsonCache = result.data;
33
+ return result.data;
34
+ }
35
+ /**
36
+ * Helper: Read and cache tsconfig.json
37
+ */
38
+ getTsConfig() {
39
+ if (this.tsConfigCache !== undefined) {
40
+ return this.tsConfigCache;
41
+ }
42
+ const tsconfigPath = path.join(this.projectRoot, 'tsconfig.json');
43
+ const result = parseJsonFile(tsconfigPath);
44
+ if (!result.success) {
45
+ this.tsConfigCache = null;
46
+ return null;
47
+ }
48
+ this.tsConfigCache = result.data;
49
+ return result.data;
50
+ }
12
51
  /**
13
52
  * Analyze the project and extract comprehensive information
14
53
  */
@@ -44,34 +83,16 @@ export class ProjectAnalyzer {
44
83
  }
45
84
  }
46
85
  async detectProjectName() {
47
- // Try package.json first
48
- const packageJsonPath = path.join(this.projectRoot, 'package.json');
49
- if (fs.existsSync(packageJsonPath)) {
50
- try {
51
- const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
52
- if (packageJson.name) {
53
- return packageJson.name;
54
- }
55
- }
56
- catch {
57
- this.warnings.push('Failed to parse package.json');
58
- }
86
+ const packageJson = this.getPackageJson();
87
+ if (packageJson?.name) {
88
+ return packageJson.name;
59
89
  }
60
90
  // Fallback to directory name
61
91
  return path.basename(this.projectRoot);
62
92
  }
63
93
  async detectVersion() {
64
- const packageJsonPath = path.join(this.projectRoot, 'package.json');
65
- if (fs.existsSync(packageJsonPath)) {
66
- try {
67
- const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
68
- return packageJson.version;
69
- }
70
- catch {
71
- // Ignore
72
- }
73
- }
74
- return undefined;
94
+ const packageJson = this.getPackageJson();
95
+ return packageJson?.version;
75
96
  }
76
97
  async detectPrimaryLanguage() {
77
98
  // Check for config files to determine language
@@ -96,84 +117,78 @@ export class ProjectAnalyzer {
96
117
  }
97
118
  async detectTechStack() {
98
119
  const stack = [];
99
- const packageJsonPath = path.join(this.projectRoot, 'package.json');
100
- if (fs.existsSync(packageJsonPath)) {
101
- try {
102
- const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
103
- const allDeps = {
104
- ...packageJson.dependencies,
105
- ...packageJson.devDependencies,
106
- };
107
- // Framework detection
108
- if (allDeps['react'])
109
- stack.push('React');
110
- if (allDeps['vue'])
111
- stack.push('Vue');
112
- if (allDeps['@angular/core'])
113
- stack.push('Angular');
114
- if (allDeps['svelte'])
115
- stack.push('Svelte');
116
- if (allDeps['next'])
117
- stack.push('Next.js');
118
- if (allDeps['nuxt'])
119
- stack.push('Nuxt');
120
- // Backend frameworks
121
- if (allDeps['express'])
122
- stack.push('Express');
123
- if (allDeps['fastify'])
124
- stack.push('Fastify');
125
- if (allDeps['koa'])
126
- stack.push('Koa');
127
- if (allDeps['@nestjs/core'])
128
- stack.push('NestJS');
129
- // Testing
130
- if (allDeps['vitest'])
131
- stack.push('Vitest');
132
- if (allDeps['jest'])
133
- stack.push('Jest');
134
- if (allDeps['mocha'])
135
- stack.push('Mocha');
136
- if (allDeps['playwright'])
137
- stack.push('Playwright');
138
- if (allDeps['cypress'])
139
- stack.push('Cypress');
140
- // Build tools
141
- if (allDeps['vite'])
142
- stack.push('Vite');
143
- if (allDeps['webpack'])
144
- stack.push('Webpack');
145
- if (allDeps['esbuild'])
146
- stack.push('ESBuild');
147
- if (allDeps['rollup'])
148
- stack.push('Rollup');
149
- // Validation
150
- if (allDeps['zod'])
151
- stack.push('Zod');
152
- if (allDeps['yup'])
153
- stack.push('Yup');
154
- if (allDeps['joi'])
155
- stack.push('Joi');
156
- // CLI
157
- if (allDeps['commander'])
158
- stack.push('Commander');
159
- if (allDeps['yargs'])
160
- stack.push('Yargs');
161
- if (allDeps['ink'])
162
- stack.push('Ink');
163
- // Database
164
- if (allDeps['prisma'])
165
- stack.push('Prisma');
166
- if (allDeps['typeorm'])
167
- stack.push('TypeORM');
168
- if (allDeps['mongoose'])
169
- stack.push('Mongoose');
170
- // Runtime
171
- if (packageJson.type === 'module')
172
- stack.push('ESM');
173
- }
174
- catch {
175
- this.warnings.push('Failed to parse package.json for tech stack');
176
- }
120
+ const packageJson = this.getPackageJson();
121
+ if (packageJson) {
122
+ const allDeps = {
123
+ ...packageJson.dependencies,
124
+ ...packageJson.devDependencies,
125
+ };
126
+ // Framework detection
127
+ if (allDeps['react'])
128
+ stack.push('React');
129
+ if (allDeps['vue'])
130
+ stack.push('Vue');
131
+ if (allDeps['@angular/core'])
132
+ stack.push('Angular');
133
+ if (allDeps['svelte'])
134
+ stack.push('Svelte');
135
+ if (allDeps['next'])
136
+ stack.push('Next.js');
137
+ if (allDeps['nuxt'])
138
+ stack.push('Nuxt');
139
+ // Backend frameworks
140
+ if (allDeps['express'])
141
+ stack.push('Express');
142
+ if (allDeps['fastify'])
143
+ stack.push('Fastify');
144
+ if (allDeps['koa'])
145
+ stack.push('Koa');
146
+ if (allDeps['@nestjs/core'])
147
+ stack.push('NestJS');
148
+ // Testing
149
+ if (allDeps['vitest'])
150
+ stack.push('Vitest');
151
+ if (allDeps['jest'])
152
+ stack.push('Jest');
153
+ if (allDeps['mocha'])
154
+ stack.push('Mocha');
155
+ if (allDeps['playwright'])
156
+ stack.push('Playwright');
157
+ if (allDeps['cypress'])
158
+ stack.push('Cypress');
159
+ // Build tools
160
+ if (allDeps['vite'])
161
+ stack.push('Vite');
162
+ if (allDeps['webpack'])
163
+ stack.push('Webpack');
164
+ if (allDeps['esbuild'])
165
+ stack.push('ESBuild');
166
+ if (allDeps['rollup'])
167
+ stack.push('Rollup');
168
+ // Validation
169
+ if (allDeps['zod'])
170
+ stack.push('Zod');
171
+ if (allDeps['yup'])
172
+ stack.push('Yup');
173
+ if (allDeps['joi'])
174
+ stack.push('Joi');
175
+ // CLI
176
+ if (allDeps['commander'])
177
+ stack.push('Commander');
178
+ if (allDeps['yargs'])
179
+ stack.push('Yargs');
180
+ if (allDeps['ink'])
181
+ stack.push('Ink');
182
+ // Database
183
+ if (allDeps['prisma'])
184
+ stack.push('Prisma');
185
+ if (allDeps['typeorm'])
186
+ stack.push('TypeORM');
187
+ if (allDeps['mongoose'])
188
+ stack.push('Mongoose');
189
+ // Runtime
190
+ if (packageJson.type === 'module')
191
+ stack.push('ESM');
177
192
  }
178
193
  // TypeScript detection
179
194
  if (fs.existsSync(path.join(this.projectRoot, 'tsconfig.json'))) {
@@ -182,66 +197,54 @@ export class ProjectAnalyzer {
182
197
  return stack;
183
198
  }
184
199
  async detectProjectType() {
185
- const packageJsonPath = path.join(this.projectRoot, 'package.json');
186
- if (fs.existsSync(packageJsonPath)) {
187
- try {
188
- const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
189
- // Check for bin field (CLI tool)
190
- if (packageJson.bin)
191
- return 'cli';
192
- // Check dependencies for framework hints
193
- const deps = { ...packageJson.dependencies, ...packageJson.devDependencies };
194
- if (deps['react'] || deps['vue'] || deps['@angular/core'] || deps['svelte']) {
195
- if (deps['next'] || deps['nuxt'])
196
- return 'web-app-ssr';
197
- return 'web-app';
198
- }
199
- if (deps['express'] || deps['fastify'] || deps['koa'] || deps['@nestjs/core']) {
200
- return 'api';
201
- }
202
- // Check for library indicators
203
- if (packageJson.main || packageJson.exports) {
204
- return 'library';
205
- }
200
+ const packageJson = this.getPackageJson();
201
+ if (packageJson) {
202
+ // Check for bin field (CLI tool)
203
+ if (packageJson.bin)
204
+ return 'cli';
205
+ // Check dependencies for framework hints
206
+ const deps = { ...packageJson.dependencies, ...packageJson.devDependencies };
207
+ if (deps['react'] || deps['vue'] || deps['@angular/core'] || deps['svelte']) {
208
+ if (deps['next'] || deps['nuxt'])
209
+ return 'web-app-ssr';
210
+ return 'web-app';
206
211
  }
207
- catch {
208
- // Ignore
212
+ if (deps['express'] || deps['fastify'] || deps['koa'] || deps['@nestjs/core']) {
213
+ return 'api';
214
+ }
215
+ // Check for library indicators
216
+ if (packageJson.main || packageJson.exports) {
217
+ return 'library';
209
218
  }
210
219
  }
211
220
  return 'application';
212
221
  }
213
222
  async detectEntryPoint() {
214
- const packageJsonPath = path.join(this.projectRoot, 'package.json');
215
- if (fs.existsSync(packageJsonPath)) {
216
- try {
217
- const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
218
- // CLI tools
219
- if (packageJson.bin) {
220
- if (typeof packageJson.bin === 'string') {
221
- return packageJson.bin;
222
- }
223
- // Get first bin entry
224
- return Object.values(packageJson.bin)[0];
225
- }
226
- // Libraries
227
- if (packageJson.main)
228
- return packageJson.main;
229
- if (packageJson.exports) {
230
- if (typeof packageJson.exports === 'string')
231
- return packageJson.exports;
232
- if (packageJson.exports['.']) {
233
- const mainExport = packageJson.exports['.'];
234
- if (typeof mainExport === 'string')
235
- return mainExport;
236
- if (mainExport.import)
237
- return mainExport.import;
238
- if (mainExport.require)
239
- return mainExport.require;
240
- }
223
+ const packageJson = this.getPackageJson();
224
+ if (packageJson) {
225
+ // CLI tools
226
+ if (packageJson.bin) {
227
+ if (typeof packageJson.bin === 'string') {
228
+ return packageJson.bin;
241
229
  }
230
+ // Get first bin entry
231
+ return Object.values(packageJson.bin)[0];
242
232
  }
243
- catch {
244
- // Ignore
233
+ // Libraries
234
+ if (packageJson.main)
235
+ return packageJson.main;
236
+ if (packageJson.exports) {
237
+ if (typeof packageJson.exports === 'string')
238
+ return packageJson.exports;
239
+ if (packageJson.exports['.']) {
240
+ const mainExport = packageJson.exports['.'];
241
+ if (typeof mainExport === 'string')
242
+ return mainExport;
243
+ if (mainExport.import)
244
+ return mainExport.import;
245
+ if (mainExport.require)
246
+ return mainExport.require;
247
+ }
245
248
  }
246
249
  }
247
250
  // Common entry points
@@ -327,21 +330,15 @@ export class ProjectAnalyzer {
327
330
  }
328
331
  }
329
332
  // TypeScript config
330
- const tsconfigPath = path.join(this.projectRoot, 'tsconfig.json');
331
- if (fs.existsSync(tsconfigPath)) {
332
- try {
333
- const tsconfig = JSON.parse(fs.readFileSync(tsconfigPath, 'utf-8'));
334
- conventions.typeChecker = 'TypeScript';
335
- // Check for ESM extensions requirement
336
- if (tsconfig.compilerOptions?.module === 'NodeNext' ||
337
- tsconfig.compilerOptions?.module === 'Node16' ||
338
- tsconfig.compilerOptions?.moduleResolution === 'NodeNext' ||
339
- tsconfig.compilerOptions?.moduleResolution === 'Bundler') {
340
- conventions.importExtension = '.js';
341
- }
342
- }
343
- catch {
344
- this.warnings.push('Failed to parse tsconfig.json');
333
+ const tsconfig = this.getTsConfig();
334
+ if (tsconfig) {
335
+ conventions.typeChecker = 'TypeScript';
336
+ // Check for ESM extensions requirement
337
+ if (tsconfig.compilerOptions?.module === 'NodeNext' ||
338
+ tsconfig.compilerOptions?.module === 'Node16' ||
339
+ tsconfig.compilerOptions?.moduleResolution === 'NodeNext' ||
340
+ tsconfig.compilerOptions?.moduleResolution === 'Bundler') {
341
+ conventions.importExtension = '.js';
345
342
  }
346
343
  }
347
344
  // Testing framework
@@ -360,39 +357,26 @@ export class ProjectAnalyzer {
360
357
  conventions.linter = 'eslint';
361
358
  }
362
359
  // Validation library from package.json
363
- if (fs.existsSync(packageJsonPath)) {
364
- try {
365
- const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
366
- const deps = { ...packageJson.dependencies, ...packageJson.devDependencies };
367
- if (deps['zod'])
368
- conventions.validation = 'zod';
369
- else if (deps['yup'])
370
- conventions.validation = 'yup';
371
- else if (deps['joi'])
372
- conventions.validation = 'joi';
373
- }
374
- catch {
375
- // Ignore
376
- }
360
+ const packageJson = this.getPackageJson();
361
+ if (packageJson) {
362
+ const deps = { ...packageJson.dependencies, ...packageJson.devDependencies };
363
+ if (deps['zod'])
364
+ conventions.validation = 'zod';
365
+ else if (deps['yup'])
366
+ conventions.validation = 'yup';
367
+ else if (deps['joi'])
368
+ conventions.validation = 'joi';
377
369
  }
378
370
  return conventions;
379
371
  }
380
372
  async detectScripts() {
381
373
  const scripts = {};
382
- const packageJsonPath = path.join(this.projectRoot, 'package.json');
383
- if (fs.existsSync(packageJsonPath)) {
384
- try {
385
- const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
386
- if (packageJson.scripts) {
387
- scripts.build = packageJson.scripts.build;
388
- scripts.test = packageJson.scripts.test;
389
- scripts.lint = packageJson.scripts.lint;
390
- scripts.dev = packageJson.scripts.dev || packageJson.scripts.start;
391
- }
392
- }
393
- catch {
394
- this.warnings.push('Failed to parse scripts from package.json');
395
- }
374
+ const packageJson = this.getPackageJson();
375
+ if (packageJson?.scripts) {
376
+ scripts.build = packageJson.scripts.build;
377
+ scripts.test = packageJson.scripts.test;
378
+ scripts.lint = packageJson.scripts.lint;
379
+ scripts.dev = packageJson.scripts.dev || packageJson.scripts.start;
396
380
  }
397
381
  return scripts;
398
382
  }
@@ -1 +1 @@
1
- {"version":3,"file":"project-analyzer.js","sourceRoot":"","sources":["../../src/utils/project-analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-analyzer.js","sourceRoot":"","sources":["../../src/utils/project-analyzer.ts"],"names":[],"mappings":"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"}