@agentlang/cli 0.10.5 → 0.10.6

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/out/main.js CHANGED
@@ -5,7 +5,12 @@ import * as path from 'node:path';
5
5
  import { createInterface } from 'node:readline/promises';
6
6
  import os from 'node:os';
7
7
  import { simpleGit } from 'simple-git';
8
- import { generateApp } from './app-generator/index.js';
8
+ import { initializeProject } from './utils/projectInitializer.js';
9
+ import { existsSync, readFileSync } from 'node:fs';
10
+ import { fileURLToPath } from 'node:url';
11
+ import { dirname, join } from 'node:path';
12
+ const __filename = fileURLToPath(import.meta.url);
13
+ const __dirname = dirname(__filename);
9
14
  let agPath = 'agentlang';
10
15
  // Check if ./node_modules/agentlang exists in the current directory, add to agPath
11
16
  const nodeModulesPath = path.resolve(process.cwd(), 'node_modules/agentlang');
@@ -35,12 +40,7 @@ import { loadUISpec } from './ui-generator/specLoader.js';
35
40
  import { findSpecFile } from './ui-generator/specFinder.js';
36
41
  import { startStudio } from './studio.js';
37
42
  import { OpenAPIClientAxios } from 'openapi-client-axios';
38
- import { readFileSync, existsSync, readdirSync, statSync, writeFileSync, mkdirSync } from 'node:fs';
39
- //import { execSync } from 'child_process';
40
- import { fileURLToPath } from 'node:url';
41
- import { dirname, join } from 'node:path';
42
- const __filename = fileURLToPath(import.meta.url);
43
- const __dirname = dirname(__filename);
43
+ import { forkApp } from './utils/forkApp.js';
44
44
  // Read package.json for version
45
45
  let packageVersion = '0.0.0';
46
46
  try {
@@ -51,86 +51,6 @@ try {
51
51
  catch (_a) {
52
52
  // Fallback to a default version
53
53
  }
54
- // Helper function to recursively find .al files (excluding config.al)
55
- function findAgentlangFiles(dir, fileList = []) {
56
- try {
57
- const files = readdirSync(dir);
58
- files.forEach(file => {
59
- const filePath = join(dir, file);
60
- try {
61
- const stat = statSync(filePath);
62
- if (stat.isDirectory()) {
63
- if (file !== 'node_modules' && file !== '.git') {
64
- findAgentlangFiles(filePath, fileList);
65
- }
66
- }
67
- else if (file.endsWith('.al') && file !== 'config.al') {
68
- fileList.push(filePath);
69
- }
70
- }
71
- catch (_a) {
72
- // Skip files/directories we can't access
73
- }
74
- });
75
- }
76
- catch (_a) {
77
- // Directory doesn't exist or can't be read
78
- }
79
- return fileList;
80
- }
81
- // Check if an Agentlang app is already initialized
82
- function isAppInitialized(targetDir) {
83
- const packageJsonPath = join(targetDir, 'package.json');
84
- const hasPackageJson = existsSync(packageJsonPath);
85
- const hasAgentlangFiles = findAgentlangFiles(targetDir).length > 0;
86
- return hasPackageJson || hasAgentlangFiles;
87
- }
88
- const defaultGitignoreContent = `node_modules/
89
- dist/
90
- build/
91
- tmp/
92
- temp/
93
- .env
94
- .env.local
95
- .env.*.local
96
- npm-debug.log*
97
- pnpm-debug.log*
98
- yarn-error.log*
99
- .DS_Store
100
- *.sqlite
101
- *.db
102
- `;
103
- function writeGitignore(targetDir) {
104
- const gitignorePath = join(targetDir, '.gitignore');
105
- if (existsSync(gitignorePath)) {
106
- return;
107
- }
108
- writeFileSync(gitignorePath, defaultGitignoreContent, 'utf-8');
109
- // eslint-disable-next-line no-console
110
- console.log(`${chalk.green('✓')} Created ${chalk.cyan('.gitignore')}`);
111
- }
112
- async function initializeGitRepository(targetDir) {
113
- try {
114
- const git = simpleGit(targetDir);
115
- const isRepo = await git.checkIsRepo();
116
- if (!isRepo) {
117
- await git.init();
118
- await git.checkoutLocalBranch('main');
119
- // eslint-disable-next-line no-console
120
- console.log(`${chalk.green('✓')} Initialized ${chalk.cyan('git')} repository`);
121
- }
122
- else {
123
- // eslint-disable-next-line no-console
124
- console.log(chalk.dim('ℹ️ Git repository already initialized.'));
125
- }
126
- return git;
127
- }
128
- catch (error) {
129
- // eslint-disable-next-line no-console
130
- console.log(chalk.yellow(`⚠️ Skipping git initialization: ${error instanceof Error ? error.message : String(error)}`));
131
- return null;
132
- }
133
- }
134
54
  function getDefaultRepoUrl(appName) {
135
55
  const username = os.userInfo().username || 'username';
136
56
  const repoName = appName.replace(/\s+/g, '');
@@ -179,130 +99,24 @@ async function promptAndPushRepository(git, appName) {
179
99
  rl.close();
180
100
  }
181
101
  }
182
- async function setupGitRepository(targetDir, appName) {
183
- writeGitignore(targetDir);
184
- const git = await initializeGitRepository(targetDir);
185
- if (!git) {
186
- return;
187
- }
188
- try {
189
- await git.add('.');
190
- const status = await git.status();
191
- if (status.files.length > 0) {
192
- await git.commit('chore: initial Agentlang app scaffold');
193
- // eslint-disable-next-line no-console
194
- console.log(`${chalk.green('✓')} Created initial git commit`);
195
- }
196
- }
197
- catch (error) {
198
- // eslint-disable-next-line no-console
199
- console.log(chalk.yellow(`⚠️ Skipping commit: ${error instanceof Error ? error.message : String(error)}`));
200
- }
201
- await promptAndPushRepository(git, appName);
202
- }
203
102
  // Initialize a new Agentlang application
204
103
  export const initCommand = async (appName, options) => {
205
104
  const currentDir = process.cwd();
206
105
  const targetDir = join(currentDir, appName);
207
- let coreContent;
208
- if (options === null || options === void 0 ? void 0 : options.prompt) {
209
- // eslint-disable-next-line no-console
210
- console.log(chalk.dim('Generating app template via AI...'));
211
- coreContent = await generateApp(options.prompt, appName);
212
- // eslint-disable-next-line no-console
213
- console.log(`${chalk.green('✓')} Finished generating app template via AI`);
214
- }
215
- else {
216
- coreContent = `module ${appName}.core`;
217
- }
218
- // Check if already initialized
219
- if (isAppInitialized(targetDir)) {
220
- // eslint-disable-next-line no-console
221
- console.log(chalk.yellow('⚠️ This directory already contains an Agentlang application.'));
222
- // eslint-disable-next-line no-console
223
- console.log(chalk.dim(' Found existing package.json or .al files.'));
224
- // eslint-disable-next-line no-console
225
- console.log(chalk.dim(' No initialization needed.'));
226
- return;
227
- }
228
106
  try {
229
- // eslint-disable-next-line no-console
230
- console.log(chalk.cyan(`🚀 Initializing Agentlang application: ${chalk.bold(appName)}\n`));
231
- mkdirSync(targetDir);
232
- // Create package.json
233
- const packageJson = {
234
- name: appName,
235
- version: '0.0.1',
236
- dependencies: {
237
- agentlang: '*',
238
- },
239
- devDependencies: {
240
- '@agentlang/lstudio': '*',
241
- },
242
- };
243
- writeFileSync(join(targetDir, 'package.json'), JSON.stringify(packageJson, null, 2), 'utf-8');
244
- // eslint-disable-next-line no-console
245
- console.log(`${chalk.green('✓')} Created ${chalk.cyan('package.json')}`);
246
- // Create config.al with Agentlang syntax for LLM and JSON for the rest
247
- const configAlContent = `{
248
- "agentlang": {
249
- "service": {
250
- "port": 8080
251
- },
252
- "store": {
253
- "type": "sqlite",
254
- "dbname": "${appName}.db"
255
- },
256
- "rbac": {
257
- "enabled": false
258
- },
259
- "auth": {
260
- "enabled": false
261
- },
262
- "auditTrail": {
263
- "enabled": true
264
- },
265
- "monitoring": {
266
- "enabled": true
267
- }
268
- },
269
- "agentlang.ai": [
270
- {
271
- "agentlang.ai/LLM": {
272
- "name": "llm01",
273
- "service": "openai",
274
- "config": {
275
- "model": "gpt-4o"
276
- }
277
- }
278
- }
279
- ]
280
- }`;
281
- writeFileSync(join(targetDir, 'config.al'), configAlContent, 'utf-8');
282
- // eslint-disable-next-line no-console
283
- console.log(`${chalk.green('✓')} Created ${chalk.cyan('config.al')}`);
284
- // Create src directory
285
- const srcDir = join(targetDir, 'src');
286
- mkdirSync(srcDir, { recursive: true });
287
- writeFileSync(join(srcDir, 'core.al'), coreContent, 'utf-8');
288
- // eslint-disable-next-line no-console
289
- console.log(`${chalk.green('✓')} Created ${chalk.cyan('src/core.al')}`);
290
- // Install dependencies
291
- // eslint-disable-next-line no-console
292
- console.log(chalk.cyan('\n📦 Installing dependencies...'));
107
+ await initializeProject(targetDir, appName, {
108
+ prompt: options === null || options === void 0 ? void 0 : options.prompt,
109
+ silent: false, // Maintain logs for CLI
110
+ });
111
+ // Change to the app directory (for CLI context)
293
112
  try {
294
- // execSync('npm install', { cwd: targetDir, stdio: 'inherit' });
113
+ process.chdir(targetDir);
295
114
  // eslint-disable-next-line no-console
296
- console.log(`${chalk.green('✓')} Dependencies installed`);
115
+ console.log(chalk.cyan(`\n📂 Changed directory to ${chalk.bold(appName)}`));
297
116
  }
298
117
  catch (_a) {
299
- // eslint-disable-next-line no-console
300
- console.log(chalk.yellow('⚠️ Failed to install dependencies. You may need to run npm install manually.'));
118
+ // Ignore if can't change directory
301
119
  }
302
- // Change to the app directory
303
- process.chdir(targetDir);
304
- // eslint-disable-next-line no-console
305
- console.log(chalk.cyan(`\n📂 Changed directory to ${chalk.bold(appName)}`));
306
120
  // eslint-disable-next-line no-console
307
121
  console.log(chalk.green('\n✨ Successfully initialized Agentlang application!'));
308
122
  // eslint-disable-next-line no-console
@@ -313,7 +127,12 @@ export const initCommand = async (appName, options) => {
313
127
  console.log(chalk.dim(' 2. Run your app with: ') + chalk.cyan('agent run'));
314
128
  // eslint-disable-next-line no-console
315
129
  console.log(chalk.dim(' 3. Or start Studio UI with: ') + chalk.cyan('agent studio'));
316
- await setupGitRepository(targetDir, appName);
130
+ // Handle interactive git push
131
+ const git = simpleGit(targetDir);
132
+ // Check if git is initialized (initializeProject does it, but let's be safe)
133
+ if (await git.checkIsRepo()) {
134
+ await promptAndPushRepository(git, appName);
135
+ }
317
136
  if (options === null || options === void 0 ? void 0 : options.prompt) {
318
137
  process.exit(0);
319
138
  }
@@ -385,6 +204,22 @@ function customHelp() {
385
204
  ${chalk.cyan('-p, --push')} Commit and push to git
386
205
  ${chalk.cyan('-m, --message')} ${chalk.dim('<text>')} Update instructions
387
206
 
207
+ ${chalk.cyan.bold('fork')} ${chalk.dim('<source> [name]')}
208
+ ${chalk.white('▸')} Fork an app from a local directory or git repository
209
+ ${chalk.dim('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')}
210
+ ${chalk.yellow('OPTIONS')}
211
+ ${chalk.cyan('-b, --branch')} ${chalk.dim('<branch>')} Git branch to clone (for git URLs)
212
+ ${chalk.cyan('-u, --username')} ${chalk.dim('<username>')} GitHub username for authenticated access
213
+ ${chalk.cyan('-t, --token')} ${chalk.dim('<token>')} GitHub token for authenticated access
214
+
215
+ ${chalk.cyan.bold('import')} ${chalk.dim('<source> [name]')}
216
+ ${chalk.white('▸')} Import an app (alias for fork)
217
+ ${chalk.dim('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')}
218
+ ${chalk.yellow('OPTIONS')}
219
+ ${chalk.cyan('-b, --branch')} ${chalk.dim('<branch>')} Git branch to clone (for git URLs)
220
+ ${chalk.cyan('-u, --username')} ${chalk.dim('<username>')} GitHub username for authenticated access
221
+ ${chalk.cyan('-t, --token')} ${chalk.dim('<token>')} GitHub token for authenticated access
222
+
388
223
  ${chalk.cyan.bold('studio')} ${chalk.dim('[path]')}
389
224
  ${chalk.white('▸')} Start Agentlang Studio with local server
390
225
  ${chalk.dim('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')}
@@ -594,6 +429,58 @@ ${chalk.bold.white('EXAMPLES')}
594
429
  ${chalk.dim('$')} ${chalk.cyan('agent ui-gen --api-key sk-ant-...')}
595
430
  `)
596
431
  .action(generateUICommand);
432
+ program
433
+ .command('fork')
434
+ .argument('<source>', 'Source path (local directory or git URL)')
435
+ .argument('[name]', 'Name for the forked app (defaults to source name)')
436
+ .option('-b, --branch <branch>', 'Git branch to clone (for git URLs)')
437
+ .option('-u, --username <username>', 'GitHub username for authenticated access')
438
+ .option('-t, --token <token>', 'GitHub token for authenticated access')
439
+ .description('Fork an app from a local directory or git repository')
440
+ .addHelpText('after', `
441
+ ${chalk.bold.white('DESCRIPTION')}
442
+ Forks an Agentlang application from a source path (local directory or git URL)
443
+ into the current workspace. The forked app will be initialized with dependencies
444
+ installed and a fresh git repository.
445
+
446
+ ${chalk.bold.white('EXAMPLES')}
447
+ ${chalk.dim('Fork from local directory')}
448
+ ${chalk.dim('$')} ${chalk.cyan('agent fork ./my-app MyForkedApp')}
449
+
450
+ ${chalk.dim('Fork from GitHub repository')}
451
+ ${chalk.dim('$')} ${chalk.cyan('agent fork https://github.com/user/repo.git MyApp')}
452
+
453
+ ${chalk.dim('Fork from GitHub with specific branch')}
454
+ ${chalk.dim('$')} ${chalk.cyan('agent fork https://github.com/user/repo.git MyApp --branch develop')}
455
+
456
+ ${chalk.dim('Fork private repository with authentication')}
457
+ ${chalk.dim('$')} ${chalk.cyan('agent fork https://github.com/user/repo.git MyApp -u username -t token')}
458
+
459
+ ${chalk.dim('Fork using git@ URL')}
460
+ ${chalk.dim('$')} ${chalk.cyan('agent fork git@github.com:user/repo.git MyApp')}
461
+ `)
462
+ .action(forkCommand);
463
+ program
464
+ .command('import')
465
+ .argument('<source>', 'Source path (local directory or git URL)')
466
+ .argument('[name]', 'Name for the imported app (defaults to source name)')
467
+ .option('-b, --branch <branch>', 'Git branch to clone (for git URLs)')
468
+ .option('-u, --username <username>', 'GitHub username for authenticated access')
469
+ .option('-t, --token <token>', 'GitHub token for authenticated access')
470
+ .description('Import an app from a local directory or git repository (alias for fork)')
471
+ .addHelpText('after', `
472
+ ${chalk.bold.white('DESCRIPTION')}
473
+ Imports an Agentlang application from a source path. This is an alias for the
474
+ 'fork' command and uses the same functionality.
475
+
476
+ ${chalk.bold.white('EXAMPLES')}
477
+ ${chalk.dim('Import from local directory')}
478
+ ${chalk.dim('$')} ${chalk.cyan('agent import ./my-app MyImportedApp')}
479
+
480
+ ${chalk.dim('Import from GitHub repository')}
481
+ ${chalk.dim('$')} ${chalk.cyan('agent import https://github.com/user/repo.git MyApp')}
482
+ `)
483
+ .action(forkCommand);
597
484
  program
598
485
  .command('studio')
599
486
  .argument('[path]', 'Path to Agentlang project directory (default: current directory)', '.')
@@ -772,6 +659,58 @@ export const studioCommand = async (projectPath, options) => {
772
659
  process.exit(1);
773
660
  }
774
661
  };
662
+ /* eslint-enable no-console */
663
+ /* eslint-disable no-console */
664
+ export const forkCommand = async (source, name, options) => {
665
+ try {
666
+ console.log(chalk.blue('🚀 Forking Agentlang application...\n'));
667
+ // Determine destination name
668
+ let appName = name;
669
+ if (!appName) {
670
+ if (source.startsWith('http') || source.startsWith('git@')) {
671
+ // Try to infer from URL
672
+ const parts = source.split('/');
673
+ const lastPart = parts[parts.length - 1].replace('.git', '');
674
+ appName = lastPart;
675
+ }
676
+ else {
677
+ appName = path.basename(path.resolve(source));
678
+ }
679
+ }
680
+ // Determine destination path (current directory)
681
+ const destPath = path.resolve(process.cwd(), appName);
682
+ // Build fork options
683
+ const forkOptions = {};
684
+ if (options === null || options === void 0 ? void 0 : options.branch) {
685
+ forkOptions.branch = options.branch;
686
+ }
687
+ if ((options === null || options === void 0 ? void 0 : options.username) && (options === null || options === void 0 ? void 0 : options.token)) {
688
+ forkOptions.credentials = {
689
+ username: options.username,
690
+ token: options.token,
691
+ };
692
+ }
693
+ console.log(chalk.cyan(`📦 Source: ${source}`));
694
+ console.log(chalk.cyan(`📂 Destination: ${destPath}`));
695
+ if (options === null || options === void 0 ? void 0 : options.branch) {
696
+ console.log(chalk.cyan(`🌿 Branch: ${options.branch}`));
697
+ }
698
+ if (forkOptions.credentials) {
699
+ console.log(chalk.cyan(`🔐 Authenticated as: ${forkOptions.credentials.username}`));
700
+ }
701
+ // Perform the fork
702
+ const result = await forkApp(source, destPath, forkOptions);
703
+ console.log(chalk.green(`\n✅ Successfully forked app "${result.name}"!`));
704
+ console.log(chalk.dim('\nNext steps:'));
705
+ console.log(chalk.dim(' 1. Change directory: ') + chalk.cyan(`cd ${result.name}`));
706
+ console.log(chalk.dim(' 2. Run your app: ') + chalk.cyan('agent run'));
707
+ console.log(chalk.dim(' 3. Or start Studio: ') + chalk.cyan('agent studio'));
708
+ }
709
+ catch (error) {
710
+ console.error(chalk.red('\n❌ Error:'), error instanceof Error ? error.message : error);
711
+ process.exit(1);
712
+ }
713
+ };
775
714
  async function loadOpenApiSpec(openApiConfig) {
776
715
  var _a;
777
716
  for (const cfg of openApiConfig) {
package/out/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ import path from 'path';
2
+ export class FileController {
3
+ constructor(fileService) {
4
+ this.getFiles = async (req, res) => {
5
+ try {
6
+ const pathParam = req.query.path;
7
+ if (pathParam) {
8
+ // Fetch file tree for a specific path (e.g., node_modules/depName)
9
+ // Skip ignored paths when fetching from node_modules
10
+ // Use FileService's current targetDir
11
+ const fullPath = path.join(this.fileService.getTargetDir(), pathParam);
12
+ const skipIgnored = pathParam.startsWith('node_modules');
13
+ const fileTree = await this.fileService.getFileTree(fullPath, '', skipIgnored);
14
+ return res.json(fileTree);
15
+ }
16
+ else {
17
+ // Fetch root file tree
18
+ const fileTree = await this.fileService.getFileTree();
19
+ return res.json(fileTree);
20
+ }
21
+ }
22
+ catch (error) {
23
+ if (typeof error === 'object' &&
24
+ error !== null &&
25
+ 'code' in error &&
26
+ typeof error.code === 'string' &&
27
+ error.code === 'ENOENT') {
28
+ return res.status(404).json({ error: 'Path not found' });
29
+ }
30
+ return res.status(500).json({ error: 'Failed to read file tree' });
31
+ }
32
+ };
33
+ this.getFile = async (req, res) => {
34
+ const filePath = req.query.path;
35
+ const includeMetadata = req.query.metadata === 'true';
36
+ if (!filePath) {
37
+ return res.status(400).json({ error: 'File path is required' });
38
+ }
39
+ try {
40
+ const content = await this.fileService.readFile(filePath);
41
+ if (includeMetadata) {
42
+ const stats = await this.fileService.stat(filePath);
43
+ return res.json({ content, type: stats.type, size: stats.size, mtime: stats.mtime });
44
+ }
45
+ return res.json({ content });
46
+ }
47
+ catch (error) {
48
+ if (typeof error === 'object' &&
49
+ error !== null &&
50
+ 'code' in error &&
51
+ typeof error.code === 'string' &&
52
+ error.code === 'ENOENT') {
53
+ return res.status(404).json({ error: 'File not found' });
54
+ }
55
+ return res.status(500).json({ error: `Failed to read file: ${filePath}` });
56
+ }
57
+ };
58
+ this.getStat = async (req, res) => {
59
+ const filePath = req.query.path;
60
+ if (!filePath) {
61
+ return res.status(400).json({ error: 'File path is required' });
62
+ }
63
+ try {
64
+ const stats = await this.fileService.stat(filePath);
65
+ return res.json(stats);
66
+ }
67
+ catch (error) {
68
+ if (typeof error === 'object' &&
69
+ error !== null &&
70
+ 'code' in error &&
71
+ typeof error.code === 'string' &&
72
+ error.code === 'ENOENT') {
73
+ return res.status(404).json({ error: 'Path not found' });
74
+ }
75
+ return res.status(500).json({ error: `Failed to get stat for: ${filePath}` });
76
+ }
77
+ };
78
+ this.saveFile = async (req, res) => {
79
+ const { path: filePath, content, commitMessage, } = req.body;
80
+ if (!filePath || content === undefined) {
81
+ return res.status(400).json({ error: 'File path and content are required' });
82
+ }
83
+ try {
84
+ await this.fileService.writeFile(filePath, content, commitMessage);
85
+ return res.json({ message: `Successfully wrote to ${filePath}` });
86
+ }
87
+ catch (_a) {
88
+ return res.status(500).json({ error: `Failed to write to file: ${filePath}` });
89
+ }
90
+ };
91
+ this.getInfo = async (_req, res) => {
92
+ const info = await this.fileService.getPackageInfo();
93
+ return res.json(info);
94
+ };
95
+ this.getBranch = async (_req, res) => {
96
+ try {
97
+ const branch = await this.fileService.getCurrentBranch();
98
+ return res.json({ branch });
99
+ }
100
+ catch (_a) {
101
+ return res.status(500).json({ error: 'Failed to get current branch' });
102
+ }
103
+ };
104
+ this.installDependencies = (req, res) => {
105
+ try {
106
+ const { githubUsername, githubToken } = req.body || {};
107
+ this.fileService.installDependencies(githubUsername, githubToken);
108
+ return res.json({ message: 'Dependencies installed successfully' });
109
+ }
110
+ catch (error) {
111
+ const errorMessage = error instanceof Error ? error.message : String(error);
112
+ return res.status(500).json({ error: errorMessage });
113
+ }
114
+ };
115
+ this.fileService = fileService;
116
+ }
117
+ }
118
+ //# sourceMappingURL=FileController.js.map