@agentlang/cli 0.6.8 → 0.6.9

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/README.md CHANGED
@@ -3,13 +3,14 @@
3
3
  > A powerful command-line interface for building, running, and managing
4
4
  > Agentlang applications
5
5
 
6
- [![npm version](https://img.shields.io/npm/v/@agentlang/cli.svg)](https://www.npmjs.com/package/@agentlang/cli)
6
+ [![npm version](https://img.shields.io/npm/v/agentlangcli.svg)](https://www.npmjs.com/package/agentlangcli)
7
7
  [![Node.js Version](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen.svg)](https://nodejs.org)
8
8
  [![License](https://img.shields.io/badge/License-Sustainable%20Use-blue.svg)](LICENSE)
9
9
 
10
- Agentlang is a programming abstraction designed for building reliable AI Agents
11
- and Agentic apps. This CLI provides a complete toolkit for developing, testing,
12
- and deploying Agentlang applications.
10
+ Agentlang is a programming language designed for building agent-based
11
+ applications with built-in support for entities, events, and relationships. This
12
+ CLI provides a complete toolkit for developing, testing, and deploying Agentlang
13
+ applications.
13
14
 
14
15
  ## Table of Contents
15
16
 
@@ -23,7 +24,6 @@ and deploying Agentlang applications.
23
24
  - [doc](#doc)
24
25
  - [parseAndValidate](#parseandvalidate)
25
26
  - [ui-gen](#ui-gen)
26
- - [studio](#studio)
27
27
  - [Configuration](#configuration)
28
28
  - [Examples](#examples)
29
29
  - [License](#license)
@@ -38,10 +38,8 @@ and deploying Agentlang applications.
38
38
  correctness
39
39
  - **📚 API Documentation** - Auto-generate OpenAPI/Swagger docs from your
40
40
  modules
41
- - **🎨 UI Generation** - Generate complete React + TypeScript + Vite frontend
42
- for your agentlang app (uses Claude AI)
43
- - **🎨 Design Studio** - Visual editor for designing Agents, Data Models, and
44
- Workflows locally
41
+ - **🎨 UI Generation** - Generate complete React + TypeScript + Vite apps using
42
+ Claude AI
45
43
 
46
44
  ## Installation
47
45
 
@@ -53,19 +51,19 @@ and deploying Agentlang applications.
53
51
  ### Global Installation
54
52
 
55
53
  ```bash
56
- npm install -g @agentlang/cli
54
+ npm install -g agentlangcli
57
55
  ```
58
56
 
59
- ### Using pnpm
57
+ ### Local Installation
60
58
 
61
59
  ```bash
62
- pnpm install -g @agentlang/cli
60
+ npm install agentlangcli
63
61
  ```
64
62
 
65
- ### Using yarn
63
+ ### Using pnpm
66
64
 
67
65
  ```bash
68
- yarn global add @agentlang/cli
66
+ pnpm install -g agentlangcli
69
67
  ```
70
68
 
71
69
  After installation, the `agent` command will be available globally.
@@ -457,108 +455,6 @@ By default, mock data mode is enabled for immediate testing. Set
457
455
 
458
456
  ---
459
457
 
460
- ### studio
461
-
462
- Start the Agentlang Design Studio locally for visual editing of your project.
463
-
464
- ```bash
465
- agent studio [path]
466
- ```
467
-
468
- **Arguments:**
469
-
470
- - `[path]` - Path to Agentlang project directory (default: current directory)
471
-
472
- **Options:**
473
-
474
- - `-p, --port <port>` - Port to run Studio server on (default: 4000)
475
-
476
- **What it does:**
477
-
478
- The `studio` command starts a local development environment that includes:
479
-
480
- 1. **Agentlang Server** - Runs your Agentlang application in the background (via
481
- `agent run`)
482
- 2. **Studio UI** - Serves the visual Design Studio interface
483
- 3. **File System Access** - Provides API endpoints for reading and writing
484
- project files
485
-
486
- **Prerequisites:**
487
-
488
- Install `@agentlang/lstudio` as a development dependency in your project:
489
-
490
- ```bash
491
- npm install --save-dev @agentlang/lstudio
492
- ```
493
-
494
- The command will automatically find `@agentlang/lstudio` from:
495
-
496
- - Your project's `node_modules` (if installed locally)
497
- - Agentlang CLI's `node_modules` (fallback)
498
-
499
- **Examples:**
500
-
501
- ```bash
502
- # Start Studio in current directory
503
- agent studio
504
-
505
- # Start Studio for specific project
506
- agent studio ./my-project
507
-
508
- # Start Studio on custom port
509
- agent studio --port 5000
510
-
511
- # Combine path and port options
512
- agent studio ./monitoring -p 5000
513
- ```
514
-
515
- **Features:**
516
-
517
- - **Visual Editor** - Design Agents, Data Models, and Workflows visually
518
- - **Live File Sync** - Changes made in Studio are saved directly to your `.al`
519
- files
520
- - **Auto Browser** - Automatically opens your default browser to the Studio UI
521
- - **Background Server** - Agentlang API server runs in the background (default
522
- port: 8080)
523
- - **Hot Reload** - File changes are reflected immediately
524
-
525
- **Usage Workflow:**
526
-
527
- ```bash
528
- # 1. Navigate to your Agentlang project
529
- cd my-agentlang-app
530
-
531
- # 2. Ensure @agentlang/lstudio is installed
532
- npm install --save-dev @agentlang/lstudio
533
-
534
- # 3. Start the Studio
535
- agent studio
536
-
537
- # 4. Browser opens automatically at http://localhost:4000
538
- # 5. Edit your project visually in the Studio UI
539
- # 6. Changes are saved directly to your source files
540
- ```
541
-
542
- **Ports:**
543
-
544
- - **Studio UI**: Default port `4000` (configurable with `--port`)
545
- - **Agentlang API**: Default port `8080` (configured in `config.al`)
546
-
547
- **Troubleshooting:**
548
-
549
- If you see "Failed to find @agentlang/lstudio":
550
-
551
- ```bash
552
- # Install it in your project
553
- npm install --save-dev @agentlang/lstudio
554
-
555
- # Or install it globally in agentlang-cli
556
- cd /path/to/agentlang-cli
557
- npm install @agentlang/lstudio
558
- ```
559
-
560
- ---
561
-
562
458
  ## Configuration
563
459
 
564
460
  The CLI supports configuration through a `config.al` or custom configuration
package/out/main.js CHANGED
@@ -12,7 +12,6 @@ import { startRepl } from './repl.js';
12
12
  import { generateUI } from './ui-generator/uiGenerator.js';
13
13
  import { loadUISpec } from './ui-generator/specLoader.js';
14
14
  import { findSpecFile } from './ui-generator/specFinder.js';
15
- import { startStudio } from './studio.js';
16
15
  import { prepareIntegrations } from 'agentlang/out/runtime/integrations.js';
17
16
  import { isNodeEnv } from 'agentlang/out/utils/runtime.js';
18
17
  import { OpenAPIClientAxios } from 'openapi-client-axios';
@@ -182,12 +181,6 @@ function customHelp() {
182
181
  ${chalk.cyan('-p, --push')} Commit and push to git
183
182
  ${chalk.cyan('-m, --message')} ${chalk.dim('<text>')} Update instructions
184
183
 
185
- ${chalk.cyan.bold('studio')} ${chalk.dim('[path]')}
186
- ${chalk.white('▸')} Start Agentlang Studio with local server
187
- ${chalk.dim('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')}
188
- ${chalk.yellow('OPTIONS')}
189
- ${chalk.cyan('-p, --port')} ${chalk.dim('<port>')} Port to run Studio server on (default: 4000)
190
-
191
184
  ${chalk.bold.white('GLOBAL OPTIONS')}
192
185
  ${chalk.cyan('-h, --help')} Display help information
193
186
  ${chalk.cyan('-V, --version')} Display version number
@@ -387,35 +380,6 @@ ${chalk.bold.white('EXAMPLES')}
387
380
  ${chalk.dim('$')} ${chalk.cyan('agent ui-gen --api-key sk-ant-...')}
388
381
  `)
389
382
  .action(generateUICommand);
390
- program
391
- .command('studio')
392
- .argument('[path]', 'Path to Agentlang project directory (default: current directory)', '.')
393
- .option('-p, --port <port>', 'Port to run Studio server on', '4000')
394
- .description('Start Agentlang Studio with local server')
395
- .addHelpText('after', `
396
- ${chalk.bold.white('DESCRIPTION')}
397
- Starts the Agentlang Design Studio locally for your project. This command:
398
- • Starts the Agentlang server (via 'agent run')
399
- • Serves the Studio UI on a local web server
400
- • Provides file system access for editing your project files
401
-
402
- The Studio UI allows you to visually edit Agents, Data Models, and Workflows,
403
- with changes saved directly to your project files (.al files, package.json, etc.).
404
-
405
- ${chalk.bold.white('EXAMPLES')}
406
- ${chalk.dim('Start Studio in current directory')}
407
- ${chalk.dim('$')} ${chalk.cyan('agent studio')}
408
-
409
- ${chalk.dim('Start Studio for specific project')}
410
- ${chalk.dim('$')} ${chalk.cyan('agent studio ./my-project')}
411
-
412
- ${chalk.dim('Start Studio on custom port')}
413
- ${chalk.dim('$')} ${chalk.cyan('agent studio --port 5000')}
414
-
415
- ${chalk.dim('Start Studio with path and custom port')}
416
- ${chalk.dim('$')} ${chalk.cyan('agent studio ./monitoring -p 5000')}
417
- `)
418
- .action(studioCommand);
419
383
  program.parse(process.argv);
420
384
  }
421
385
  export async function runPostInitTasks(appSpec, config) {
@@ -423,9 +387,8 @@ export async function runPostInitTasks(appSpec, config) {
423
387
  await initDatabase(config === null || config === void 0 ? void 0 : config.store);
424
388
  await runInitFunctions();
425
389
  await runStandaloneStatements();
426
- if (appSpec) {
427
- void startServer(appSpec, ((_a = config === null || config === void 0 ? void 0 : config.service) === null || _a === void 0 ? void 0 : _a.port) || 8080);
428
- }
390
+ if (appSpec)
391
+ startServer(appSpec, ((_a = config === null || config === void 0 ? void 0 : config.service) === null || _a === void 0 ? void 0 : _a.port) || 8080);
429
392
  }
430
393
  export async function runPreInitTasks() {
431
394
  let result = true;
@@ -566,22 +529,6 @@ export const generateUICommand = async (specFile, options) => {
566
529
  process.exit(1);
567
530
  }
568
531
  };
569
- /* eslint-enable no-console */
570
- /* eslint-disable no-console */
571
- export const studioCommand = async (projectPath, options) => {
572
- try {
573
- const port = parseInt((options === null || options === void 0 ? void 0 : options.port) || '4000', 10);
574
- if (isNaN(port) || port < 1 || port > 65535) {
575
- console.error(chalk.red('Invalid port number. Port must be between 1 and 65535.'));
576
- process.exit(1);
577
- }
578
- await startStudio(projectPath || '.', port);
579
- }
580
- catch (error) {
581
- console.error(chalk.red(`Failed to start Studio: ${error instanceof Error ? error.message : String(error)}`));
582
- process.exit(1);
583
- }
584
- };
585
532
  async function loadOpenApiSpec(openApiConfig) {
586
533
  var _a;
587
534
  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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"}
package/package.json CHANGED
@@ -1,9 +1,12 @@
1
1
  {
2
2
  "name": "@agentlang/cli",
3
- "version": "0.6.8",
3
+ "version": "0.6.9",
4
4
  "description": "A command-line interface tool for Agentlang",
5
5
  "main": "out/main.js",
6
6
  "type": "module",
7
+ "publishConfig": {
8
+ "access": "public"
9
+ },
7
10
  "bin": {
8
11
  "agent": "./bin/cli.js"
9
12
  },
@@ -50,23 +53,19 @@
50
53
  "node": ">=20.0.0"
51
54
  },
52
55
  "dependencies": {
53
- "@agentlang/lstudio": "^0.0.7",
54
56
  "@anthropic-ai/claude-agent-sdk": "^0.1.1",
55
57
  "@anthropic-ai/sdk": "^0.65.0",
56
58
  "@asteasolutions/zod-to-openapi": "7.3.4",
57
59
  "@redocly/cli": "^2.0.2",
58
- "agentlang": "^0.6.6",
60
+ "agentlang": "^0.6.7",
59
61
  "better-sqlite3": "^12.4.1",
60
62
  "chalk": "^5.4.1",
61
63
  "chokidar": "^4.0.3",
62
64
  "commander": "^14.0.0",
63
- "cors": "^2.8.5",
64
65
  "dotenv": "^17.2.1",
65
66
  "esbuild": "^0.25.8",
66
- "express": "^4.21.2",
67
67
  "fs-extra": "^11.3.0",
68
68
  "langium": "^4.0.0",
69
- "open": "^11.0.0",
70
69
  "openapi-client-axios": "^7.7.0",
71
70
  "openapi-to-postmanv2": "^5.0.1",
72
71
  "ora": "^8.0.1",
@@ -85,8 +84,6 @@
85
84
  "devDependencies": {
86
85
  "@eslint/js": "^9.32.0",
87
86
  "@types/better-sqlite3": "^7.6.13",
88
- "@types/cors": "^2.8.19",
89
- "@types/express": "^5.0.6",
90
87
  "@types/fs-extra": "^11.0.4",
91
88
  "@types/node": "^24.1.0",
92
89
  "@types/openapi-to-postmanv2": "^5.0.0",
package/out/studio.js DELETED
@@ -1,354 +0,0 @@
1
- /* eslint-disable no-console */
2
- import express, { Router } from 'express';
3
- import cors from 'cors';
4
- import path from 'path';
5
- import { fileURLToPath } from 'url';
6
- import { existsSync } from 'fs';
7
- import { spawn, execSync } from 'child_process';
8
- import chalk from 'chalk';
9
- import ora from 'ora';
10
- import open from 'open';
11
- import { flushAllAndLoad, load } from 'agentlang/out/runtime/loader.js';
12
- import { runPreInitTasks } from './main.js';
13
- import fs from 'fs/promises';
14
- const __filename = fileURLToPath(import.meta.url);
15
- const __dirname = path.dirname(__filename);
16
- const ignoredPaths = new Set(['node_modules', '.git', 'dist', 'out']);
17
- class FileService {
18
- constructor(targetDir) {
19
- this.targetDir = targetDir;
20
- }
21
- async loadProject() {
22
- await flushAllAndLoad(this.targetDir);
23
- }
24
- async getFileTree(dirPath = this.targetDir, relativePath = '', skipIgnored = false) {
25
- const dirents = await fs.readdir(dirPath, { withFileTypes: true });
26
- const files = [];
27
- for (const dirent of dirents) {
28
- // Skip ignored paths unless we're explicitly fetching from node_modules
29
- if (!skipIgnored && ignoredPaths.has(dirent.name)) {
30
- continue;
31
- }
32
- const newRelativePath = path.join(relativePath, dirent.name);
33
- if (dirent.isDirectory()) {
34
- files.push({
35
- name: dirent.name,
36
- path: newRelativePath,
37
- type: 'directory',
38
- children: await this.getFileTree(path.join(dirPath, dirent.name), newRelativePath, skipIgnored),
39
- });
40
- }
41
- else {
42
- files.push({
43
- name: dirent.name,
44
- path: newRelativePath,
45
- type: 'file',
46
- });
47
- }
48
- }
49
- return files;
50
- }
51
- async readFile(filePath) {
52
- const fullPath = path.join(this.targetDir, filePath);
53
- return fs.readFile(fullPath, 'utf-8');
54
- }
55
- async writeFile(filePath, content) {
56
- const fullPath = path.join(this.targetDir, filePath);
57
- await fs.writeFile(fullPath, content, 'utf-8');
58
- }
59
- async getPackageInfo() {
60
- try {
61
- const packageJsonPath = path.join(this.targetDir, 'package.json');
62
- const content = await fs.readFile(packageJsonPath, 'utf-8');
63
- return JSON.parse(content);
64
- }
65
- catch (error) {
66
- console.warn('Failed to read package.json:', error);
67
- return {};
68
- }
69
- }
70
- async getCurrentBranch() {
71
- try {
72
- // Check if .git directory exists
73
- const gitDir = path.join(this.targetDir, '.git');
74
- try {
75
- const stat = await fs.stat(gitDir);
76
- if (!stat.isDirectory()) {
77
- return 'main'; // Default branch if not a git repo
78
- }
79
- }
80
- catch (_a) {
81
- return 'main'; // Default branch if .git doesn't exist
82
- }
83
- // Get current branch using git command
84
- const branch = execSync('git rev-parse --abbrev-ref HEAD', {
85
- cwd: this.targetDir,
86
- encoding: 'utf-8',
87
- }).trim();
88
- return branch || 'main';
89
- }
90
- catch (error) {
91
- console.warn('Failed to get current branch:', error);
92
- return 'main'; // Default to main if git command fails
93
- }
94
- }
95
- }
96
- class FileController {
97
- constructor(fileService) {
98
- this.getFiles = async (req, res) => {
99
- try {
100
- const pathParam = req.query.path;
101
- if (pathParam) {
102
- // Fetch file tree for a specific path (e.g., node_modules/depName)
103
- // Skip ignored paths when fetching from node_modules
104
- const fullPath = path.join(this.fileService['targetDir'], pathParam);
105
- const skipIgnored = pathParam.startsWith('node_modules');
106
- const fileTree = await this.fileService.getFileTree(fullPath, '', skipIgnored);
107
- return res.json(fileTree);
108
- }
109
- else {
110
- // Fetch root file tree
111
- const fileTree = await this.fileService.getFileTree();
112
- return res.json(fileTree);
113
- }
114
- }
115
- catch (error) {
116
- if (typeof error === 'object' &&
117
- error !== null &&
118
- 'code' in error &&
119
- typeof error.code === 'string' &&
120
- error.code === 'ENOENT') {
121
- return res.status(404).json({ error: 'Path not found' });
122
- }
123
- return res.status(500).json({ error: 'Failed to read file tree' });
124
- }
125
- };
126
- this.getFile = async (req, res) => {
127
- const filePath = req.query.path;
128
- if (!filePath) {
129
- return res.status(400).json({ error: 'File path is required' });
130
- }
131
- try {
132
- const content = await this.fileService.readFile(filePath);
133
- return res.json({ content });
134
- }
135
- catch (_a) {
136
- return res.status(500).json({ error: `Failed to read file: ${filePath}` });
137
- }
138
- };
139
- this.saveFile = async (req, res) => {
140
- const { path: filePath, content } = req.body;
141
- if (!filePath || content === undefined) {
142
- return res.status(400).json({ error: 'File path and content are required' });
143
- }
144
- try {
145
- await this.fileService.writeFile(filePath, content);
146
- return res.json({ message: `Successfully wrote to ${filePath}` });
147
- }
148
- catch (_a) {
149
- return res.status(500).json({ error: `Failed to write to file: ${filePath}` });
150
- }
151
- };
152
- this.getInfo = async (_req, res) => {
153
- const info = await this.fileService.getPackageInfo();
154
- return res.json(info);
155
- };
156
- this.getBranch = async (_req, res) => {
157
- try {
158
- const branch = await this.fileService.getCurrentBranch();
159
- return res.json({ branch });
160
- }
161
- catch (_a) {
162
- return res.status(500).json({ error: 'Failed to get current branch' });
163
- }
164
- };
165
- this.fileService = fileService;
166
- }
167
- }
168
- function createRoutes(targetDir) {
169
- const router = Router();
170
- const fileService = new FileService(targetDir);
171
- const fileController = new FileController(fileService);
172
- // Initialize project load
173
- fileService.loadProject().catch(console.error);
174
- router.get('/files', fileController.getFiles);
175
- router.get('/file', fileController.getFile);
176
- router.post('/file', fileController.saveFile);
177
- router.get('/info', fileController.getInfo);
178
- router.get('/branch', fileController.getBranch);
179
- router.get('/test', (_req, res) => {
180
- return res.json({ message: 'Hello from agent studio!' });
181
- });
182
- return router;
183
- }
184
- function findLStudioPath(projectDir) {
185
- // First, try to find @agentlang/lstudio in the project's node_modules
186
- // Check for dist subfolder first (local development)
187
- const projectLStudioDistPath = path.join(projectDir, 'node_modules', '@agentlang', 'lstudio', 'dist');
188
- if (existsSync(projectLStudioDistPath) && existsSync(path.join(projectLStudioDistPath, 'index.html'))) {
189
- return projectLStudioDistPath;
190
- }
191
- // Check root of package (npm installed version)
192
- const projectLStudioRootPath = path.join(projectDir, 'node_modules', '@agentlang', 'lstudio');
193
- if (existsSync(path.join(projectLStudioRootPath, 'index.html'))) {
194
- return projectLStudioRootPath;
195
- }
196
- // If not found, try agentlang-cli's node_modules
197
- // Check for dist subfolder first
198
- const cliLStudioDistPath = path.join(__dirname, '..', 'node_modules', '@agentlang', 'lstudio', 'dist');
199
- if (existsSync(cliLStudioDistPath) && existsSync(path.join(cliLStudioDistPath, 'index.html'))) {
200
- return cliLStudioDistPath;
201
- }
202
- // Check root of package in cli's node_modules
203
- const cliLStudioRootPath = path.join(__dirname, '..', 'node_modules', '@agentlang', 'lstudio');
204
- if (existsSync(path.join(cliLStudioRootPath, 'index.html'))) {
205
- return cliLStudioRootPath;
206
- }
207
- return null;
208
- }
209
- export async function startStudio(projectPath = '.', studioPort = 4000) {
210
- const spinner = ora('Starting Agent Studio...').start();
211
- const targetDir = path.resolve(process.cwd(), projectPath);
212
- // Validate that the directory contains an agentlang project
213
- spinner.text = 'Validating Agentlang project...';
214
- try {
215
- // Initialize runtime first
216
- const preInitSuccess = await runPreInitTasks();
217
- if (!preInitSuccess) {
218
- spinner.fail(chalk.red('Failed to initialize Agentlang runtime'));
219
- process.exit(1);
220
- }
221
- // Try to load the project to validate it's a valid agentlang project
222
- await load(targetDir, undefined, async () => {
223
- // Callback is called when loading completes successfully
224
- });
225
- spinner.succeed(chalk.green('Validated Agentlang project'));
226
- }
227
- catch (error) {
228
- spinner.fail(chalk.red('Failed to load Agentlang project'));
229
- console.error(chalk.red(`The directory "${targetDir}" does not appear to contain a valid Agentlang project.\n` +
230
- `Error: ${error instanceof Error ? error.message : String(error)}`));
231
- console.error(chalk.yellow('\nPlease ensure the directory contains valid Agentlang (.al) files and try again.'));
232
- process.exit(1);
233
- }
234
- // Find @agentlang/lstudio
235
- spinner.text = 'Finding @agentlang/lstudio...';
236
- const lstudioPath = findLStudioPath(targetDir);
237
- if (!lstudioPath) {
238
- spinner.fail(chalk.red('Failed to find @agentlang/lstudio'));
239
- console.error(chalk.yellow('Please install @agentlang/lstudio in your project:\n npm install --save-dev @agentlang/lstudio'));
240
- process.exit(1);
241
- }
242
- spinner.succeed(chalk.green('Found @agentlang/lstudio'));
243
- spinner.text = 'Starting Agentlang server...';
244
- // Start agentlang server in background
245
- // We'll run it in a separate process to avoid blocking
246
- let agentProcess = null;
247
- try {
248
- // Determine the path to the agent CLI
249
- const cliPath = path.join(__dirname, '..', 'bin', 'cli.js');
250
- // Use spawn to run agent run command
251
- if (existsSync(cliPath)) {
252
- // Use direct path to cli.js
253
- agentProcess = spawn('node', [cliPath, 'run', targetDir], {
254
- stdio: 'pipe', // Use pipe instead of inherit to avoid mixing output
255
- shell: false,
256
- cwd: targetDir,
257
- });
258
- }
259
- else {
260
- // Fallback to agent command if available in PATH
261
- agentProcess = spawn('agent', ['run', targetDir], {
262
- stdio: 'pipe',
263
- shell: true,
264
- cwd: targetDir,
265
- });
266
- }
267
- // Handle process output
268
- if (agentProcess.stdout) {
269
- agentProcess.stdout.on('data', (data) => {
270
- process.stdout.write(chalk.dim(`[Agent] ${data.toString()}`));
271
- });
272
- }
273
- if (agentProcess.stderr) {
274
- agentProcess.stderr.on('data', (data) => {
275
- process.stderr.write(chalk.dim(`[Agent] ${data.toString()}`));
276
- });
277
- }
278
- agentProcess.on('error', (err) => {
279
- spinner.warn(chalk.yellow('Could not start agentlang server in background'));
280
- console.warn(chalk.dim(`Error: ${err.message}`));
281
- agentProcess = null;
282
- });
283
- agentProcess.on('exit', code => {
284
- if (code !== null && code !== 0) {
285
- console.warn(chalk.yellow(`Agentlang server exited with code ${code}`));
286
- }
287
- });
288
- }
289
- catch (error) {
290
- spinner.warn(chalk.yellow('Could not start agentlang server in background, continuing anyway...'));
291
- console.warn(chalk.dim(error instanceof Error ? error.message : String(error)));
292
- agentProcess = null;
293
- }
294
- spinner.text = 'Starting Studio server...';
295
- // Create Express app
296
- const app = express();
297
- app.use(cors());
298
- app.use(express.json());
299
- // Serve static files from @agentlang/lstudio/dist
300
- app.use(express.static(lstudioPath));
301
- // Setup Routes
302
- app.use('/', createRoutes(targetDir));
303
- // Handle client-side routing
304
- app.get('*', (req, res, next) => {
305
- // Skip if handled by API routes
306
- if (req.path.startsWith('/files') ||
307
- req.path.startsWith('/file') ||
308
- req.path.startsWith('/test') ||
309
- req.path.startsWith('/info') ||
310
- req.path.startsWith('/branch') ||
311
- req.path.startsWith('/env-config.js')) {
312
- return next();
313
- }
314
- res.sendFile(path.join(lstudioPath, 'index.html'));
315
- });
316
- // Start server
317
- await new Promise(resolve => {
318
- app.listen(studioPort, () => {
319
- spinner.succeed(chalk.green(`Studio server is running on http://localhost:${studioPort}`));
320
- console.log(chalk.blue(`Serving files from: ${targetDir}`));
321
- const studioUrl = `http://localhost:${studioPort}`;
322
- console.log(chalk.blue(`Studio UI is available at: ${studioUrl}`));
323
- if (agentProcess) {
324
- console.log(chalk.dim('Agentlang server is running in the background'));
325
- }
326
- // Open browser automatically (fire and forget)
327
- open(studioUrl)
328
- .then(() => {
329
- console.log(chalk.green(`✓ Opened browser at ${studioUrl}`));
330
- })
331
- .catch((error) => {
332
- console.warn(chalk.yellow(`⚠ Could not open browser automatically: ${error instanceof Error ? error.message : String(error)}`));
333
- console.log(chalk.dim(` Please open ${studioUrl} manually in your browser`));
334
- });
335
- // Handle cleanup on exit
336
- process.on('SIGINT', () => {
337
- console.log(chalk.yellow('\nShutting down...'));
338
- if (agentProcess) {
339
- agentProcess.kill();
340
- }
341
- process.exit(0);
342
- });
343
- process.on('SIGTERM', () => {
344
- console.log(chalk.yellow('\nShutting down...'));
345
- if (agentProcess) {
346
- agentProcess.kill();
347
- }
348
- process.exit(0);
349
- });
350
- resolve();
351
- });
352
- });
353
- }
354
- //# sourceMappingURL=studio.js.map
package/out/studio.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"studio.js","sourceRoot":"","sources":["../src/studio.ts"],"names":[],"mappings":"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"}