@agentlang/cli 0.10.4 → 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 +141 -202
- package/out/main.js.map +1 -1
- package/out/studio/controllers/FileController.js +118 -0
- package/out/studio/controllers/FileController.js.map +1 -0
- package/out/studio/routes.js +163 -0
- package/out/studio/routes.js.map +1 -0
- package/out/studio/runtime.js +13 -0
- package/out/studio/runtime.js.map +1 -0
- package/out/studio/services/AppManagementService.js +69 -0
- package/out/studio/services/AppManagementService.js.map +1 -0
- package/out/studio/services/AppRuntimeService.js +129 -0
- package/out/studio/services/AppRuntimeService.js.map +1 -0
- package/out/studio/services/FileService.js +183 -0
- package/out/studio/services/FileService.js.map +1 -0
- package/out/studio/services/GitHubService.js +193 -0
- package/out/studio/services/GitHubService.js.map +1 -0
- package/out/studio/services/StudioServer.js +50 -0
- package/out/studio/services/StudioServer.js.map +1 -0
- package/out/studio/services/WorkspaceService.js +48 -0
- package/out/studio/services/WorkspaceService.js.map +1 -0
- package/out/studio/types.js +2 -0
- package/out/studio/types.js.map +1 -0
- package/out/studio/utils.js +99 -0
- package/out/studio/utils.js.map +1 -0
- package/out/studio.js +49 -428
- package/out/studio.js.map +1 -1
- package/out/utils/forkApp.js +103 -0
- package/out/utils/forkApp.js.map +1 -0
- package/out/utils/projectInitializer.js +262 -0
- package/out/utils/projectInitializer.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { existsSync } from 'fs';
|
|
4
|
+
import { cp, rm, mkdir } from 'fs/promises';
|
|
5
|
+
import { execSync } from 'child_process';
|
|
6
|
+
import { simpleGit } from 'simple-git';
|
|
7
|
+
import os from 'os';
|
|
8
|
+
/**
|
|
9
|
+
* Forks an app from a source path (local directory or git URL) to a destination.
|
|
10
|
+
* This is the core fork functionality shared between CLI and Studio Server.
|
|
11
|
+
*
|
|
12
|
+
* @param sourcePath - Local directory path or git URL (http/https/git@)
|
|
13
|
+
* @param destPath - Destination directory where the forked app will be created
|
|
14
|
+
* @param options - Optional credentials and branch for git repos
|
|
15
|
+
* @returns Promise resolving to fork result with name and path
|
|
16
|
+
*/
|
|
17
|
+
export async function forkApp(sourcePath, destPath, options) {
|
|
18
|
+
if (existsSync(destPath)) {
|
|
19
|
+
throw new Error(`Destination path "${destPath}" already exists.`);
|
|
20
|
+
}
|
|
21
|
+
// Check if source is a git URL
|
|
22
|
+
if (sourcePath.startsWith('http') || sourcePath.startsWith('git@')) {
|
|
23
|
+
return forkGitRepo(sourcePath, destPath, options);
|
|
24
|
+
}
|
|
25
|
+
if (!existsSync(sourcePath)) {
|
|
26
|
+
throw new Error(`Source path "${sourcePath}" does not exist.`);
|
|
27
|
+
}
|
|
28
|
+
// 1. Copy the source directory to the destination
|
|
29
|
+
// recursive: true copies all files
|
|
30
|
+
// filter: skip node_modules, .git, and build folders
|
|
31
|
+
await cp(sourcePath, destPath, {
|
|
32
|
+
recursive: true,
|
|
33
|
+
filter: src => {
|
|
34
|
+
const basename = path.basename(src);
|
|
35
|
+
return !['node_modules', '.git', 'dist', 'out', '.DS_Store'].includes(basename);
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
// 2. Post-fork initialization: install deps and initialize git
|
|
39
|
+
await postForkInit(destPath, sourcePath);
|
|
40
|
+
return {
|
|
41
|
+
name: path.basename(destPath),
|
|
42
|
+
path: destPath,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Forks a git repository by cloning it to a temp directory, then copying to destination.
|
|
47
|
+
*/
|
|
48
|
+
async function forkGitRepo(repoUrl, destPath, options) {
|
|
49
|
+
var _a, _b;
|
|
50
|
+
// 1. Clone to a temporary directory
|
|
51
|
+
const tempDir = path.join(os.tmpdir(), `agentlang-fork-${Date.now()}`);
|
|
52
|
+
await mkdir(tempDir, { recursive: true });
|
|
53
|
+
try {
|
|
54
|
+
const git = simpleGit();
|
|
55
|
+
// Build authenticated URL if credentials provided
|
|
56
|
+
let cloneUrl = repoUrl;
|
|
57
|
+
if (((_a = options === null || options === void 0 ? void 0 : options.credentials) === null || _a === void 0 ? void 0 : _a.username) && ((_b = options === null || options === void 0 ? void 0 : options.credentials) === null || _b === void 0 ? void 0 : _b.token)) {
|
|
58
|
+
// Convert https://github.com/org/repo.git to https://user:token@github.com/org/repo.git
|
|
59
|
+
const urlMatch = repoUrl.match(/^https:\/\/github\.com\/(.+)$/);
|
|
60
|
+
if (urlMatch) {
|
|
61
|
+
cloneUrl = `https://${options.credentials.username}:${options.credentials.token}@github.com/${urlMatch[1]}`;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// Clone with specific branch if provided, otherwise clone default branch
|
|
65
|
+
const cloneOptions = [];
|
|
66
|
+
if (options === null || options === void 0 ? void 0 : options.branch) {
|
|
67
|
+
cloneOptions.push('--branch', options.branch);
|
|
68
|
+
}
|
|
69
|
+
await git.clone(cloneUrl, tempDir, cloneOptions);
|
|
70
|
+
// 2. Reuse the fork logic to copy from temp -> destination
|
|
71
|
+
// This automatically strips .git, giving us a fresh copy
|
|
72
|
+
// Don't pass options here since we're copying from local temp dir
|
|
73
|
+
return await forkApp(tempDir, destPath);
|
|
74
|
+
}
|
|
75
|
+
finally {
|
|
76
|
+
// 3. Cleanup temp dir
|
|
77
|
+
await rm(tempDir, { recursive: true, force: true });
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Performs post-fork initialization: installs dependencies and initializes git.
|
|
82
|
+
*/
|
|
83
|
+
async function postForkInit(destPath, sourcePath) {
|
|
84
|
+
// Install dependencies
|
|
85
|
+
try {
|
|
86
|
+
execSync('npm install', { cwd: destPath, stdio: 'ignore' });
|
|
87
|
+
}
|
|
88
|
+
catch (e) {
|
|
89
|
+
console.warn('Failed to install dependencies for forked app:', e);
|
|
90
|
+
}
|
|
91
|
+
// Initialize Git
|
|
92
|
+
try {
|
|
93
|
+
const git = simpleGit(destPath);
|
|
94
|
+
await git.init();
|
|
95
|
+
await git.checkoutLocalBranch('main');
|
|
96
|
+
await git.add('.');
|
|
97
|
+
await git.commit(`chore: forked from ${path.basename(sourcePath)}`);
|
|
98
|
+
}
|
|
99
|
+
catch (e) {
|
|
100
|
+
console.warn('Failed to initialize git for forked app:', e);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=forkApp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forkApp.js","sourceRoot":"","sources":["../../src/utils/forkApp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
import { join } from 'path';
|
|
3
|
+
import { existsSync, mkdirSync, writeFileSync, readdirSync, statSync } from 'fs';
|
|
4
|
+
import { execSync } from 'child_process';
|
|
5
|
+
import chalk from 'chalk';
|
|
6
|
+
import { simpleGit } from 'simple-git';
|
|
7
|
+
import { generateApp } from '../app-generator/index.js';
|
|
8
|
+
// Check if an Agentlang app is already initialized
|
|
9
|
+
export function isAppInitialized(targetDir) {
|
|
10
|
+
try {
|
|
11
|
+
const packageJsonPath = join(targetDir, 'package.json');
|
|
12
|
+
const hasPackageJson = existsSync(packageJsonPath);
|
|
13
|
+
const hasAgentlangFiles = findAgentlangFiles(targetDir).length > 0;
|
|
14
|
+
return hasPackageJson || hasAgentlangFiles;
|
|
15
|
+
}
|
|
16
|
+
catch (_a) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
// Helper function to recursively find .al files (excluding config.al)
|
|
21
|
+
function findAgentlangFiles(dir, fileList = []) {
|
|
22
|
+
try {
|
|
23
|
+
const files = readdirSync(dir);
|
|
24
|
+
files.forEach(file => {
|
|
25
|
+
const filePath = join(dir, file);
|
|
26
|
+
try {
|
|
27
|
+
const stat = statSync(filePath);
|
|
28
|
+
if (stat.isDirectory()) {
|
|
29
|
+
if (file !== 'node_modules' && file !== '.git') {
|
|
30
|
+
findAgentlangFiles(filePath, fileList);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
else if (file.endsWith('.al') && file !== 'config.al') {
|
|
34
|
+
fileList.push(filePath);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
catch (_a) {
|
|
38
|
+
// Skip files/directories we can't access
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
catch (_a) {
|
|
43
|
+
// Directory doesn't exist or can't be read
|
|
44
|
+
}
|
|
45
|
+
return fileList;
|
|
46
|
+
}
|
|
47
|
+
const defaultGitignoreContent = `node_modules/
|
|
48
|
+
dist/
|
|
49
|
+
build/
|
|
50
|
+
tmp/
|
|
51
|
+
temp/
|
|
52
|
+
.env
|
|
53
|
+
.env.local
|
|
54
|
+
.env.*.local
|
|
55
|
+
npm-debug.log*
|
|
56
|
+
pnpm-debug.log*
|
|
57
|
+
yarn-error.log*
|
|
58
|
+
.DS_Store
|
|
59
|
+
*.sqlite
|
|
60
|
+
*.db
|
|
61
|
+
`;
|
|
62
|
+
function writeGitignore(targetDir, silent = false) {
|
|
63
|
+
const gitignorePath = join(targetDir, '.gitignore');
|
|
64
|
+
if (existsSync(gitignorePath)) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
writeFileSync(gitignorePath, defaultGitignoreContent, 'utf-8');
|
|
68
|
+
if (!silent)
|
|
69
|
+
console.log(`${chalk.green('✓')} Created ${chalk.cyan('.gitignore')}`);
|
|
70
|
+
}
|
|
71
|
+
async function initializeGitRepository(targetDir, silent = false) {
|
|
72
|
+
try {
|
|
73
|
+
const git = simpleGit(targetDir);
|
|
74
|
+
const isRepo = await git.checkIsRepo();
|
|
75
|
+
if (!isRepo) {
|
|
76
|
+
await git.init();
|
|
77
|
+
await git.checkoutLocalBranch('main');
|
|
78
|
+
if (!silent)
|
|
79
|
+
console.log(`${chalk.green('✓')} Initialized ${chalk.cyan('git')} repository`);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
if (!silent)
|
|
83
|
+
console.log(chalk.dim('ℹ️ Git repository already initialized.'));
|
|
84
|
+
}
|
|
85
|
+
return git;
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
if (!silent) {
|
|
89
|
+
console.log(chalk.yellow(`⚠️ Skipping git initialization: ${error instanceof Error ? error.message : String(error)}`));
|
|
90
|
+
}
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
export async function setupGitRepository(targetDir, silent = false) {
|
|
95
|
+
console.log(`[ProjectInitializer] Setting up git repository at ${targetDir}`);
|
|
96
|
+
writeGitignore(targetDir, silent);
|
|
97
|
+
const git = await initializeGitRepository(targetDir, silent);
|
|
98
|
+
if (!git) {
|
|
99
|
+
console.log('[ProjectInitializer] Git repository initialization skipped or failed');
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
try {
|
|
103
|
+
console.log('[ProjectInitializer] Adding files to git repository');
|
|
104
|
+
await git.add('.');
|
|
105
|
+
const status = await git.status();
|
|
106
|
+
if (status.files.length > 0) {
|
|
107
|
+
console.log(`[ProjectInitializer] Creating initial git commit with ${status.files.length} files`);
|
|
108
|
+
await git.commit('chore: initial Agentlang app scaffold');
|
|
109
|
+
if (!silent)
|
|
110
|
+
console.log(`${chalk.green('✓')} Created initial git commit`);
|
|
111
|
+
console.log('[ProjectInitializer] Initial git commit created successfully');
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
console.log('[ProjectInitializer] No files to commit');
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
catch (error) {
|
|
118
|
+
console.error('[ProjectInitializer] Error setting up git repository:', error);
|
|
119
|
+
if (!silent) {
|
|
120
|
+
console.log(chalk.yellow(`⚠️ Skipping commit: ${error instanceof Error ? error.message : String(error)}`));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return git;
|
|
124
|
+
}
|
|
125
|
+
export const initializeProject = async (targetDir, appName, options = {}) => {
|
|
126
|
+
const { prompt, skipInstall, skipGit, silent } = options;
|
|
127
|
+
let coreContent;
|
|
128
|
+
if (prompt) {
|
|
129
|
+
if (!silent)
|
|
130
|
+
console.log(chalk.dim('Generating app template via AI...'));
|
|
131
|
+
coreContent = await generateApp(prompt, appName);
|
|
132
|
+
if (!silent)
|
|
133
|
+
console.log(`${chalk.green('✓')} Finished generating app template via AI`);
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
coreContent = `module ${appName}.core`;
|
|
137
|
+
}
|
|
138
|
+
// Check if already initialized
|
|
139
|
+
if (isAppInitialized(targetDir)) {
|
|
140
|
+
if (!silent) {
|
|
141
|
+
console.log(chalk.yellow('⚠️ This directory already contains an Agentlang application.'));
|
|
142
|
+
console.log(chalk.dim(' Found existing package.json or .al files.'));
|
|
143
|
+
console.log(chalk.dim(' No initialization needed.'));
|
|
144
|
+
}
|
|
145
|
+
throw new Error('Directory already initialized');
|
|
146
|
+
}
|
|
147
|
+
try {
|
|
148
|
+
console.log(`[ProjectInitializer] Starting initialization for "${appName}" at ${targetDir}`);
|
|
149
|
+
if (!silent)
|
|
150
|
+
console.log(chalk.cyan(`🚀 Initializing Agentlang application: ${chalk.bold(appName)}\n`));
|
|
151
|
+
if (!existsSync(targetDir)) {
|
|
152
|
+
console.log(`[ProjectInitializer] Creating directory: ${targetDir}`);
|
|
153
|
+
mkdirSync(targetDir, { recursive: true });
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
console.log(`[ProjectInitializer] Directory already exists: ${targetDir}`);
|
|
157
|
+
}
|
|
158
|
+
// Create package.json
|
|
159
|
+
const packageJson = {
|
|
160
|
+
name: appName,
|
|
161
|
+
version: '0.0.1',
|
|
162
|
+
dependencies: {
|
|
163
|
+
agentlang: '*',
|
|
164
|
+
},
|
|
165
|
+
devDependencies: {
|
|
166
|
+
'@agentlang/lstudio': '*',
|
|
167
|
+
},
|
|
168
|
+
};
|
|
169
|
+
console.log(`[ProjectInitializer] Creating package.json for "${appName}"`);
|
|
170
|
+
writeFileSync(join(targetDir, 'package.json'), JSON.stringify(packageJson, null, 2), 'utf-8');
|
|
171
|
+
if (!silent)
|
|
172
|
+
console.log(`${chalk.green('✓')} Created ${chalk.cyan('package.json')}`);
|
|
173
|
+
// Create config.al with Agentlang syntax for LLM and JSON for the rest
|
|
174
|
+
const configAlContent = `{
|
|
175
|
+
"agentlang": {
|
|
176
|
+
"service": {
|
|
177
|
+
"port": 8080
|
|
178
|
+
},
|
|
179
|
+
"store": {
|
|
180
|
+
"type": "sqlite",
|
|
181
|
+
"dbname": "${appName}.db"
|
|
182
|
+
},
|
|
183
|
+
"rbac": {
|
|
184
|
+
"enabled": false
|
|
185
|
+
},
|
|
186
|
+
"auth": {
|
|
187
|
+
"enabled": false
|
|
188
|
+
},
|
|
189
|
+
"auditTrail": {
|
|
190
|
+
"enabled": true
|
|
191
|
+
},
|
|
192
|
+
"monitoring": {
|
|
193
|
+
"enabled": true
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
"agentlang.ai": [
|
|
197
|
+
{
|
|
198
|
+
"agentlang.ai/LLM": {
|
|
199
|
+
"name": "llm01",
|
|
200
|
+
"service": "openai",
|
|
201
|
+
"config": {
|
|
202
|
+
"model": "gpt-4o"
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
]
|
|
207
|
+
}`;
|
|
208
|
+
console.log(`[ProjectInitializer] Creating config.al for "${appName}"`);
|
|
209
|
+
writeFileSync(join(targetDir, 'config.al'), configAlContent, 'utf-8');
|
|
210
|
+
if (!silent)
|
|
211
|
+
console.log(`${chalk.green('✓')} Created ${chalk.cyan('config.al')}`);
|
|
212
|
+
// Create src directory
|
|
213
|
+
const srcDir = join(targetDir, 'src');
|
|
214
|
+
mkdirSync(srcDir, { recursive: true });
|
|
215
|
+
console.log(`[ProjectInitializer] Creating src/core.al for "${appName}"`);
|
|
216
|
+
writeFileSync(join(srcDir, 'core.al'), coreContent, 'utf-8');
|
|
217
|
+
if (!silent)
|
|
218
|
+
console.log(`${chalk.green('✓')} Created ${chalk.cyan('src/core.al')}`);
|
|
219
|
+
// Install dependencies
|
|
220
|
+
if (!skipInstall) {
|
|
221
|
+
console.log(`[ProjectInitializer] Installing dependencies for "${appName}" (this may take a while)...`);
|
|
222
|
+
const installStartTime = Date.now();
|
|
223
|
+
if (!silent)
|
|
224
|
+
console.log(chalk.cyan('\n📦 Installing dependencies...'));
|
|
225
|
+
try {
|
|
226
|
+
execSync('pnpm install', { cwd: targetDir, stdio: silent ? 'ignore' : 'inherit' });
|
|
227
|
+
// After main deps, install sqlite3 and rebuild it.
|
|
228
|
+
execSync('pnpm install sqlite3', { cwd: targetDir, stdio: silent ? 'ignore' : 'inherit' });
|
|
229
|
+
execSync('npm rebuild sqlite3', { cwd: targetDir, stdio: silent ? 'ignore' : 'inherit' });
|
|
230
|
+
const installDuration = Date.now() - installStartTime;
|
|
231
|
+
console.log(`[ProjectInitializer] Dependencies installed for "${appName}" in ${installDuration}ms`);
|
|
232
|
+
if (!silent)
|
|
233
|
+
console.log(`${chalk.green('✓')} Dependencies installed`);
|
|
234
|
+
}
|
|
235
|
+
catch (error) {
|
|
236
|
+
const installDuration = Date.now() - installStartTime;
|
|
237
|
+
console.error(`[ProjectInitializer] Failed to install dependencies for "${appName}" after ${installDuration}ms:`, error);
|
|
238
|
+
if (!silent)
|
|
239
|
+
console.log(chalk.yellow('⚠️ Failed to install dependencies. You may need to run pnpm install manually.'));
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
console.log(`[ProjectInitializer] Skipping dependency installation for "${appName}"`);
|
|
244
|
+
}
|
|
245
|
+
if (!skipGit) {
|
|
246
|
+
console.log(`[ProjectInitializer] Initializing git repository for "${appName}"`);
|
|
247
|
+
await setupGitRepository(targetDir, silent);
|
|
248
|
+
console.log(`[ProjectInitializer] Git repository initialized for "${appName}"`);
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
console.log(`[ProjectInitializer] Skipping git initialization for "${appName}"`);
|
|
252
|
+
}
|
|
253
|
+
console.log(`[ProjectInitializer] Successfully completed initialization for "${appName}"`);
|
|
254
|
+
}
|
|
255
|
+
catch (error) {
|
|
256
|
+
console.error(`[ProjectInitializer] Error initializing application "${appName}":`, error);
|
|
257
|
+
if (!silent)
|
|
258
|
+
console.error(chalk.red('❌ Error initializing application:'), error instanceof Error ? error.message : error);
|
|
259
|
+
throw error;
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
//# sourceMappingURL=projectInitializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectInitializer.js","sourceRoot":"","sources":["../../src/utils/projectInitializer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentlang/cli",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.6",
|
|
4
4
|
"description": "A command-line interface tool for Agentlang",
|
|
5
5
|
"main": "out/main.js",
|
|
6
6
|
"type": "module",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"@anthropic-ai/sdk": "^0.65.0",
|
|
45
45
|
"@asteasolutions/zod-to-openapi": "7.3.4",
|
|
46
46
|
"@redocly/cli": "^2.0.2",
|
|
47
|
-
"agentlang": "^0.9.
|
|
47
|
+
"agentlang": "^0.9.4",
|
|
48
48
|
"better-sqlite3": "^12.4.1",
|
|
49
49
|
"chalk": "^5.4.1",
|
|
50
50
|
"chokidar": "^4.0.3",
|