@aigne/cli 1.15.0 → 1.16.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/CHANGELOG.md CHANGED
@@ -1,5 +1,30 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.16.0](https://github.com/AIGNE-io/aigne-framework/compare/cli-v1.15.0...cli-v1.16.0) (2025-06-30)
4
+
5
+
6
+ ### Features
7
+
8
+ * **cli:** auto-load dotenv files for AIGNE CLI ([#192](https://github.com/AIGNE-io/aigne-framework/issues/192)) ([56d5632](https://github.com/AIGNE-io/aigne-framework/commit/56d5632ba427a1cf39235bcd1c30df3bc60643f6))
9
+ * **ux:** polish tracing ux and update docs ([#193](https://github.com/AIGNE-io/aigne-framework/issues/193)) ([f80b63e](https://github.com/AIGNE-io/aigne-framework/commit/f80b63ecb1cfb00daa9b68330026da839d33f8a2))
10
+
11
+
12
+ ### Dependencies
13
+
14
+ * The following workspace dependencies were updated
15
+ * dependencies
16
+ * @aigne/agent-library bumped to 1.17.3
17
+ * @aigne/anthropic bumped to 0.3.10
18
+ * @aigne/bedrock bumped to 0.3.10
19
+ * @aigne/core bumped to 1.26.0
20
+ * @aigne/deepseek bumped to 0.3.10
21
+ * @aigne/gemini bumped to 0.3.10
22
+ * @aigne/observability bumped to 0.3.0
23
+ * @aigne/ollama bumped to 0.3.10
24
+ * @aigne/open-router bumped to 0.3.10
25
+ * @aigne/openai bumped to 0.4.3
26
+ * @aigne/xai bumped to 0.3.10
27
+
3
28
  ## [1.15.0](https://github.com/AIGNE-io/aigne-framework/compare/cli-v1.14.1...cli-v1.15.0) (2025-06-29)
4
29
 
5
30
 
@@ -29,7 +54,7 @@
29
54
 
30
55
  ### Bug Fixes
31
56
 
32
- * agine cli not found package ([#185](https://github.com/AIGNE-io/aigne-framework/issues/185)) ([5d98b61](https://github.com/AIGNE-io/aigne-framework/commit/5d98b6158f1e43e049a3a51a69bab88092bf1c92))
57
+ * aigne cli not found package ([#185](https://github.com/AIGNE-io/aigne-framework/issues/185)) ([5d98b61](https://github.com/AIGNE-io/aigne-framework/commit/5d98b6158f1e43e049a3a51a69bab88092bf1c92))
33
58
 
34
59
 
35
60
  ### Dependencies
package/README.md CHANGED
@@ -64,7 +64,7 @@ aigne test [path]
64
64
  aigne serve [path] --mcp
65
65
 
66
66
  # Start observability server
67
- aigne observability [option]
67
+ aigne observe [option]
68
68
  ```
69
69
 
70
70
  ## Create Command
@@ -142,10 +142,10 @@ Start the service for monitoring data
142
142
 
143
143
  ```bash
144
144
  # Start observability server on default port 7890
145
- aigne observability
145
+ aigne observe
146
146
 
147
147
  # Start observability server on specified port
148
- aigne observability --port 3001
148
+ aigne observe --port 3001
149
149
  ```
150
150
 
151
151
  ## License
package/README.zh.md CHANGED
@@ -64,7 +64,7 @@ aigne test [path]
64
64
  aigne serve [path] --mcp
65
65
 
66
66
  # 启动 observability 服务器
67
- aigne observability [option]
67
+ aigne observe [option]
68
68
  ```
69
69
 
70
70
  ## 创建命令 (create)
@@ -142,10 +142,10 @@ aigne serve path/to/agents --mcp
142
142
 
143
143
  ```bash
144
144
  # 在默认端口 7890 启动 Observability 服务器
145
- aigne observability
145
+ aigne observe
146
146
 
147
147
  # 在指定端口启动 Observability 服务器
148
- aigne observability --port 3001
148
+ aigne observe --port 3001
149
149
  ```
150
150
 
151
151
  ## 协议
package/dist/cli.js CHANGED
@@ -1,6 +1,8 @@
1
1
  #!/usr/bin/env node
2
+ import { config } from "dotenv-flow";
2
3
  import PrettyError from "pretty-error";
3
4
  import { createAIGNECommand } from "./commands/aigne.js";
5
+ config();
4
6
  createAIGNECommand()
5
7
  .parseAsync()
6
8
  .catch((error) => {
@@ -61,7 +61,7 @@ export function createCreateCommand() {
61
61
  const destination = join(path, file);
62
62
  await cp(source, destination, { recursive: true, force: true });
63
63
  }
64
- console.log("\n✅ Aigne project created successfully!");
64
+ console.log("\n✅ AIGNE project created successfully!");
65
65
  console.log(`\nTo use your new agent, run:\n cd ${relative(process.cwd(), path)} && aigne run`);
66
66
  })
67
67
  .showHelpAfterError(true)
@@ -13,10 +13,10 @@ const DEFAULT_PORT = () => tryOrThrow(() => {
13
13
  return port;
14
14
  }, (error) => new Error(`parse PORT error ${error.message}`));
15
15
  export function createObservabilityCommand() {
16
- return new Command("observability")
16
+ return new Command("observe")
17
17
  .description("Start the observability server")
18
- .option("--host <host>", "Host to run the MCP server on, use 0.0.0.0 to publicly expose the server", "localhost")
19
- .option("--port <port>", "Port to run the MCP server on", (s) => Number.parseInt(s))
18
+ .option("--host <host>", "Host to run the observability server on, use 0.0.0.0 to publicly expose the server", "localhost")
19
+ .option("--port <port>", "Port to run the observability server on", (s) => Number.parseInt(s))
20
20
  .action(async (options) => {
21
21
  const port = await detectPort(options.port || DEFAULT_PORT());
22
22
  const dbUrl = getObservabilityDbPath();
@@ -20,7 +20,7 @@ export async function toAIGNEPackage(src, dst) {
20
20
  agents: [],
21
21
  };
22
22
  for (const agent of definition.agents) {
23
- const { content } = await assistantToAigneV2(agent, definition);
23
+ const { content } = await assistantToAIGNEV2(agent, definition);
24
24
  const filename = getAgentFilename(agent);
25
25
  await writeFile(join(dst, filename), content);
26
26
  aigne.agents.push(filename);
@@ -42,7 +42,7 @@ async function loadAgentV1Package(path) {
42
42
  }
43
43
  return definition;
44
44
  }
45
- function assistantToAigneV2(agent, project) {
45
+ function assistantToAIGNEV2(agent, project) {
46
46
  const converter = AGENT_MAP[agent.type];
47
47
  if (!converter)
48
48
  throw new Error(`Unsupported agent type: ${agent.type}`);
@@ -21,7 +21,7 @@ export const createRunAIGNECommand = (name = "run") => new Command(name)
21
21
  .allowExcessArguments(true)
22
22
  .description("Run agent with AIGNE in terminal")
23
23
  .option("--chat", "Run chat loop in terminal", false)
24
- .option("--model <provider[:model]>", `AI model to use in format 'provider[:model]' where model is optional. Examples: 'openai' or 'openai:gpt-4o-mini'. Available providers: ${availableModels.map((i) => i.name.toLowerCase().replace(/ChatModel$/i, "")).join(", ")} (default: openai)`)
24
+ .option("--model <provider[:model]>", `AI model to use in format 'provider[:model]' where model is optional. Examples: 'openai' or 'openai:gpt-4o-mini'. Available providers: ${availableModels.map((i) => i.name.toLowerCase().replace(/ChatModel$/i, "")).join(", ")} (default: openai)`, process.env.MODEL)
25
25
  .option("--temperature <temperature>", "Temperature for the model (controls randomness, higher values produce more random outputs). Range: 0.0-2.0", customZodError("--temperature", (s) => z.coerce.number().min(0).max(2).parse(s)))
26
26
  .option("--top-p <top-p>", "Top P (nucleus sampling) parameter for the model (controls diversity). Range: 0.0-1.0", customZodError("--top-p", (s) => z.coerce.number().min(0).max(1).parse(s)))
27
27
  .option("--presence-penalty <presence-penalty>", "Presence penalty for the model (penalizes repeating the same tokens). Range: -2.0 to 2.0", customZodError("--presence-penalty", (s) => z.coerce.number().min(-2).max(2).parse(s)))
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aigne/cli",
3
- "version": "1.15.0",
3
+ "version": "1.16.0",
4
4
  "description": "cli for AIGNE framework",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -40,6 +40,8 @@
40
40
  "@modelcontextprotocol/sdk": "^1.11.0",
41
41
  "chalk": "^5.4.1",
42
42
  "commander": "^13.1.0",
43
+ "detect-port": "^2.1.0",
44
+ "dotenv-flow": "^4.1.0",
43
45
  "express": "^5.1.0",
44
46
  "glob": "^11.0.2",
45
47
  "gradient-string": "^3.0.0",
@@ -51,18 +53,17 @@
51
53
  "wrap-ansi": "^9.0.0",
52
54
  "yaml": "^2.7.1",
53
55
  "zod": "^3.24.4",
54
- "detect-port": "^2.1.0",
55
- "@aigne/agent-library": "^1.17.2",
56
- "@aigne/anthropic": "^0.3.9",
57
- "@aigne/deepseek": "^0.3.9",
58
- "@aigne/gemini": "^0.3.9",
59
- "@aigne/bedrock": "^0.3.9",
60
- "@aigne/ollama": "^0.3.9",
61
- "@aigne/core": "^1.25.0",
62
- "@aigne/observability": "^0.2.0",
63
- "@aigne/open-router": "^0.3.9",
64
- "@aigne/openai": "^0.4.2",
65
- "@aigne/xai": "^0.3.9"
56
+ "@aigne/agent-library": "^1.17.3",
57
+ "@aigne/anthropic": "^0.3.10",
58
+ "@aigne/bedrock": "^0.3.10",
59
+ "@aigne/core": "^1.26.0",
60
+ "@aigne/deepseek": "^0.3.10",
61
+ "@aigne/observability": "^0.3.0",
62
+ "@aigne/gemini": "^0.3.10",
63
+ "@aigne/ollama": "^0.3.10",
64
+ "@aigne/openai": "^0.4.3",
65
+ "@aigne/xai": "^0.3.10",
66
+ "@aigne/open-router": "^0.3.10"
66
67
  },
67
68
  "devDependencies": {
68
69
  "@types/archiver": "^6.0.3",
@@ -1,6 +1,6 @@
1
- # Aigne Default Template
1
+ # AIGNE Default Template
2
2
 
3
- This is the default project template for the Aigne framework, providing a basic chat agent and JavaScript code execution functionality.
3
+ This is the default project template for the AIGNE framework, providing a basic chat agent and JavaScript code execution functionality.
4
4
 
5
5
  ## Template Structure
6
6