@baijimu/cli 0.1.5 → 0.1.7

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 (69) hide show
  1. package/README.md +58 -124
  2. package/dist/index.js +7 -66
  3. package/dist/index.js.map +1 -1
  4. package/dist/install.d.ts +4 -0
  5. package/dist/install.js +155 -0
  6. package/dist/install.js.map +1 -0
  7. package/dist/native.d.ts +7 -0
  8. package/dist/native.js +51 -0
  9. package/dist/native.js.map +1 -0
  10. package/dist/platform.d.ts +22 -0
  11. package/dist/platform.js +99 -0
  12. package/dist/platform.js.map +1 -0
  13. package/native/linux-x64/baijimu +0 -0
  14. package/package.json +10 -3
  15. package/scripts/postinstall.cjs +18 -0
  16. package/dist/args.d.ts +0 -9
  17. package/dist/args.js +0 -54
  18. package/dist/args.js.map +0 -1
  19. package/dist/commands/agent.d.ts +0 -1
  20. package/dist/commands/agent.js +0 -371
  21. package/dist/commands/agent.js.map +0 -1
  22. package/dist/commands/api.d.ts +0 -3
  23. package/dist/commands/api.js +0 -52
  24. package/dist/commands/api.js.map +0 -1
  25. package/dist/commands/auth.d.ts +0 -1
  26. package/dist/commands/auth.js +0 -166
  27. package/dist/commands/auth.js.map +0 -1
  28. package/dist/commands/db-profile.d.ts +0 -1
  29. package/dist/commands/db-profile.js +0 -66
  30. package/dist/commands/db-profile.js.map +0 -1
  31. package/dist/commands/hosted-service.d.ts +0 -1
  32. package/dist/commands/hosted-service.js +0 -349
  33. package/dist/commands/hosted-service.js.map +0 -1
  34. package/dist/commands/module.d.ts +0 -1
  35. package/dist/commands/module.js +0 -199
  36. package/dist/commands/module.js.map +0 -1
  37. package/dist/commands/platform-app.d.ts +0 -1
  38. package/dist/commands/platform-app.js +0 -225
  39. package/dist/commands/platform-app.js.map +0 -1
  40. package/dist/commands/project.d.ts +0 -1
  41. package/dist/commands/project.js +0 -357
  42. package/dist/commands/project.js.map +0 -1
  43. package/dist/commands/runtime.d.ts +0 -1
  44. package/dist/commands/runtime.js +0 -282
  45. package/dist/commands/runtime.js.map +0 -1
  46. package/dist/commands/skill.d.ts +0 -1
  47. package/dist/commands/skill.js +0 -224
  48. package/dist/commands/skill.js.map +0 -1
  49. package/dist/commands/workspace.d.ts +0 -1
  50. package/dist/commands/workspace.js +0 -32
  51. package/dist/commands/workspace.js.map +0 -1
  52. package/dist/config.d.ts +0 -10
  53. package/dist/config.js +0 -71
  54. package/dist/config.js.map +0 -1
  55. package/dist/errors.d.ts +0 -5
  56. package/dist/errors.js +0 -14
  57. package/dist/errors.js.map +0 -1
  58. package/dist/help.d.ts +0 -1
  59. package/dist/help.js +0 -153
  60. package/dist/help.js.map +0 -1
  61. package/dist/http.d.ts +0 -14
  62. package/dist/http.js +0 -82
  63. package/dist/http.js.map +0 -1
  64. package/dist/json.d.ts +0 -3
  65. package/dist/json.js +0 -19
  66. package/dist/json.js.map +0 -1
  67. package/dist/types.d.ts +0 -27
  68. package/dist/types.js +0 -2
  69. package/dist/types.js.map +0 -1
@@ -0,0 +1,99 @@
1
+ import { accessSync, constants, chmodSync, existsSync, mkdirSync, readFileSync, realpathSync } from "node:fs";
2
+ import { homedir } from "node:os";
3
+ import { dirname, join, resolve } from "node:path";
4
+ import { fileURLToPath } from "node:url";
5
+ export const PACKAGE_METADATA = readPackageMetadata();
6
+ export const PACKAGE_VERSION = PACKAGE_METADATA.version;
7
+ export const NATIVE_VERSION = PACKAGE_METADATA.nativeVersion;
8
+ function readPackageMetadata() {
9
+ const root = resolve(dirname(fileURLToPath(import.meta.url)), "..");
10
+ const raw = readFileSync(join(root, "package.json"), "utf8");
11
+ const parsed = JSON.parse(raw);
12
+ if (typeof parsed.version !== "string" || !parsed.version) {
13
+ throw new Error("package.json is missing a valid version");
14
+ }
15
+ const nativeVersion = typeof parsed.baijimu?.nativeVersion === "string" && parsed.baijimu.nativeVersion
16
+ ? parsed.baijimu.nativeVersion
17
+ : parsed.version;
18
+ const releaseBaseUrl = typeof parsed.baijimu?.releaseBaseUrl === "string" && parsed.baijimu.releaseBaseUrl
19
+ ? parsed.baijimu.releaseBaseUrl
20
+ : null;
21
+ return {
22
+ version: parsed.version,
23
+ nativeVersion,
24
+ releaseBaseUrl,
25
+ };
26
+ }
27
+ export function binaryName() {
28
+ return process.platform === "win32" ? "baijimu.exe" : "baijimu";
29
+ }
30
+ export function platformTriple() {
31
+ return `${process.platform}-${process.arch}`;
32
+ }
33
+ export function packageRoot(importMetaUrl) {
34
+ return resolve(dirname(fileURLToPath(importMetaUrl)), "..");
35
+ }
36
+ export function bundledNativePath(root) {
37
+ return join(root, "native", platformTriple(), binaryName());
38
+ }
39
+ export function shouldIgnoreBundledNative() {
40
+ return process.env.BAIJIMU_CLI_IGNORE_BUNDLED === "1";
41
+ }
42
+ export function cacheNativePath() {
43
+ return join(nativeCacheDir(), binaryName());
44
+ }
45
+ export function nativeCacheDir() {
46
+ return join(cacheRoot(), NATIVE_VERSION, platformTriple());
47
+ }
48
+ export function cacheRoot() {
49
+ if (process.env.BAIJIMU_CLI_CACHE_DIR) {
50
+ return process.env.BAIJIMU_CLI_CACHE_DIR;
51
+ }
52
+ if (process.platform === "win32") {
53
+ return join(process.env.LOCALAPPDATA || homedir(), "Baijimu", "cli-native");
54
+ }
55
+ return join(homedir(), ".cache", "baijimu-cli", "native");
56
+ }
57
+ export function externalNativeCandidates() {
58
+ if (process.env.BAIJIMU_CLI_IGNORE_EXTERNAL === "1") {
59
+ return [];
60
+ }
61
+ const candidates = [
62
+ process.platform === "win32"
63
+ ? join(process.env.LOCALAPPDATA || homedir(), "Baijimu", "bin", binaryName())
64
+ : join(homedir(), ".local", "bin", binaryName()),
65
+ process.platform === "win32" ? undefined : "/usr/local/bin/baijimu",
66
+ ];
67
+ return candidates.filter((candidate) => Boolean(candidate));
68
+ }
69
+ export function explicitNativeCandidate() {
70
+ return process.env.BAIJIMU_NATIVE_CLI || null;
71
+ }
72
+ export function isExecutable(path) {
73
+ try {
74
+ accessSync(path, constants.X_OK);
75
+ return true;
76
+ }
77
+ catch {
78
+ return false;
79
+ }
80
+ }
81
+ export function ensureExecutable(path) {
82
+ if (process.platform !== "win32" && existsSync(path)) {
83
+ chmodSync(path, 0o755);
84
+ }
85
+ }
86
+ export function ensureNativeCacheDir() {
87
+ const dir = nativeCacheDir();
88
+ mkdirSync(dir, { recursive: true });
89
+ return dir;
90
+ }
91
+ export function isSamePath(left, right) {
92
+ try {
93
+ return realpathSync(left) === realpathSync(right);
94
+ }
95
+ catch {
96
+ return false;
97
+ }
98
+ }
99
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
Binary file
package/package.json CHANGED
@@ -1,7 +1,11 @@
1
1
  {
2
2
  "name": "@baijimu/cli",
3
- "version": "0.1.5",
4
- "description": "Baijimu command line client for PAT-authenticated Partner API operations.",
3
+ "version": "0.1.7",
4
+ "description": "npm distribution wrapper for the native Rust Baijimu CLI.",
5
+ "baijimu": {
6
+ "nativeVersion": "0.1.0",
7
+ "releaseBaseUrl": "https://gitee.com/zxflimit_admin/baijimu-cli-rs/releases/download/v${version}"
8
+ },
5
9
  "type": "module",
6
10
  "private": false,
7
11
  "bin": {
@@ -10,13 +14,16 @@
10
14
  },
11
15
  "files": [
12
16
  "dist",
17
+ "native",
18
+ "scripts/postinstall.cjs",
13
19
  "README.md"
14
20
  ],
15
21
  "scripts": {
16
- "build": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json && chmod +x dist/index.js",
22
+ "build": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json && chmod +x dist/index.js dist/install.js",
17
23
  "check": "tsc -p tsconfig.json --noEmit",
18
24
  "test": "npm run build && node --test test/*.test.mjs",
19
25
  "pack:check": "npm pack --dry-run",
26
+ "postinstall": "node scripts/postinstall.cjs",
20
27
  "release:npm": "npm publish --access public --registry https://registry.npmjs.org/",
21
28
  "prepublishOnly": "npm run test && npm run pack:check",
22
29
  "prepare": "npm run build"
@@ -0,0 +1,18 @@
1
+ const { existsSync } = require("node:fs");
2
+ const { join } = require("node:path");
3
+ const { pathToFileURL } = require("node:url");
4
+
5
+ const installScript = join(__dirname, "..", "dist", "install.js");
6
+
7
+ if (!existsSync(installScript)) {
8
+ process.stderr.write("@baijimu/cli: dist/install.js is not built; skipping source checkout postinstall\n");
9
+ process.exit(0);
10
+ }
11
+
12
+ import(pathToFileURL(installScript).toString())
13
+ .then((module) => module.main())
14
+ .catch((error) => {
15
+ const message = error instanceof Error ? error.message : String(error);
16
+ process.stderr.write(`@baijimu/cli: ${message}\n`);
17
+ process.exit(1);
18
+ });
package/dist/args.d.ts DELETED
@@ -1,9 +0,0 @@
1
- export interface ParsedOptions {
2
- values: Record<string, string[]>;
3
- flags: Set<string>;
4
- positionals: string[];
5
- }
6
- export declare function parseOptions(args: string[]): ParsedOptions;
7
- export declare function option(options: ParsedOptions, name: string): string | undefined;
8
- export declare function optionList(options: ParsedOptions, name: string): string[];
9
- export declare function hasFlag(options: ParsedOptions, name: string): boolean;
package/dist/args.js DELETED
@@ -1,54 +0,0 @@
1
- import { CliError } from "./errors.js";
2
- export function parseOptions(args) {
3
- const values = {};
4
- const flags = new Set();
5
- const positionals = [];
6
- for (let i = 0; i < args.length; i += 1) {
7
- const arg = args[i];
8
- if (arg === "--") {
9
- positionals.push(...args.slice(i + 1));
10
- break;
11
- }
12
- if (!arg.startsWith("--")) {
13
- positionals.push(arg);
14
- continue;
15
- }
16
- const eq = arg.indexOf("=");
17
- const rawName = eq > 0 ? arg.slice(2, eq) : arg.slice(2);
18
- const name = normalizeOptionName(rawName);
19
- if (!name) {
20
- throw new CliError(`非法参数: ${arg}`);
21
- }
22
- if (eq > 0) {
23
- pushValue(values, name, arg.slice(eq + 1));
24
- continue;
25
- }
26
- const next = args[i + 1];
27
- if (next && !next.startsWith("--")) {
28
- pushValue(values, name, next);
29
- i += 1;
30
- }
31
- else {
32
- flags.add(name);
33
- }
34
- }
35
- return { values, flags, positionals };
36
- }
37
- export function option(options, name) {
38
- const values = options.values[normalizeOptionName(name)];
39
- return values ? values[values.length - 1] : undefined;
40
- }
41
- export function optionList(options, name) {
42
- return options.values[normalizeOptionName(name)] || [];
43
- }
44
- export function hasFlag(options, name) {
45
- return options.flags.has(normalizeOptionName(name));
46
- }
47
- function pushValue(values, name, value) {
48
- values[name] ||= [];
49
- values[name].push(value);
50
- }
51
- function normalizeOptionName(name) {
52
- return name.trim().replace(/[A-Z]/g, (char) => `-${char.toLowerCase()}`);
53
- }
54
- //# sourceMappingURL=args.js.map
package/dist/args.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function runAgentCommand(args: string[]): Promise<void>;
@@ -1,371 +0,0 @@
1
- import { currentAuth, currentEnvironment, loadConfig } from "../config.js";
2
- import { assertCondition, CliError } from "../errors.js";
3
- import { BaijimuHttpClient } from "../http.js";
4
- import { hasFlag, option, parseOptions } from "../args.js";
5
- import { parseJsonInput, printJson } from "../json.js";
6
- export async function runAgentCommand(args) {
7
- const [area, ...rest] = args;
8
- const client = await authenticatedClient();
9
- if (area === "session" || area === "sessions") {
10
- await runAgentSessionCommand(client, rest);
11
- return;
12
- }
13
- if (area === "chat") {
14
- await runAgentChatCommand(client, rest);
15
- return;
16
- }
17
- if (area === "config" || area === "configs") {
18
- await runAgentConfigCommand(client, rest);
19
- return;
20
- }
21
- if (area === "runtime" || area === "runtimes") {
22
- await runAgentRuntimeCommand(client, rest);
23
- return;
24
- }
25
- throw new CliError("用法: baijimu agent <session|chat|config|runtime> ...");
26
- }
27
- async function runAgentChatCommand(client, args) {
28
- const [projectId, sessionId, ...rest] = args;
29
- assertCondition(projectId && sessionId, "用法: baijimu agent chat <projectId> <sessionId> --message <text> [--agent-config-id id] [--client-message-id id]");
30
- const options = parseOptions(rest);
31
- const message = option(options, "message");
32
- assertCondition(message, "缺少 --message");
33
- const body = {
34
- data: {
35
- type: "input",
36
- content: [
37
- {
38
- type: "text",
39
- text: message
40
- }
41
- ]
42
- }
43
- };
44
- const agentConfigId = option(options, "agent-config-id");
45
- const clientMessageId = option(options, "client-message-id");
46
- if (agentConfigId) {
47
- body.agentConfigId = Number(agentConfigId);
48
- }
49
- if (clientMessageId) {
50
- body.metadata = { clientMessageId };
51
- }
52
- printJson(await client.request({
53
- method: "POST",
54
- path: `/partner/v1/projects/${projectId}/sessions/${sessionId}/messages`,
55
- body
56
- }));
57
- }
58
- async function runAgentSessionCommand(client, args) {
59
- const [subcommand, projectId, sessionId, ...rest] = args;
60
- assertCondition(subcommand, "用法: baijimu agent session <create|list|recent|get|messages|audit|delete> ...");
61
- if (subcommand === "recent") {
62
- const options = parseOptions([projectId, sessionId, ...rest].filter(Boolean));
63
- printJson(await client.request({
64
- method: "POST",
65
- path: "/partner/v1/agent-sessions/recent",
66
- body: bodyFromOptions(options, ["limit", "offset"])
67
- }));
68
- return;
69
- }
70
- assertCondition(projectId, `用法: baijimu agent session ${subcommand} <projectId> ...`);
71
- if (subcommand === "create") {
72
- const options = parseOptions([sessionId, ...rest].filter(Boolean));
73
- const agentConfigId = option(options, "agent-config-id");
74
- assertCondition(agentConfigId, "create 需要 --agent-config-id");
75
- const metadataInput = option(options, "metadata");
76
- const metadata = metadataInput ? await parseJsonInput(metadataInput, undefined) : undefined;
77
- const body = {
78
- agentConfigId: Number(agentConfigId),
79
- channel: option(options, "channel") || "baijimu-cli"
80
- };
81
- const sessionTitle = option(options, "title");
82
- const agentName = option(options, "agent-name");
83
- const statusMessage = option(options, "status-message");
84
- const parentSessionId = option(options, "parent-session-id");
85
- const browserProfileId = option(options, "browser-profile-id");
86
- if (sessionTitle) {
87
- body.sessionTitle = sessionTitle;
88
- }
89
- if (agentName) {
90
- body.agentName = agentName;
91
- }
92
- if (statusMessage) {
93
- body.statusMessage = statusMessage;
94
- }
95
- if (parentSessionId) {
96
- body.parentSessionId = parentSessionId;
97
- }
98
- if (browserProfileId) {
99
- body.browserProfileId = Number(browserProfileId);
100
- }
101
- if (metadata !== undefined) {
102
- body.metadata = metadata;
103
- }
104
- printJson(await client.request({
105
- method: "POST",
106
- path: `/partner/v1/projects/${projectId}/agent-sessions/create`,
107
- body
108
- }));
109
- return;
110
- }
111
- if (subcommand === "list") {
112
- const options = parseOptions([sessionId, ...rest].filter(Boolean));
113
- printJson(await client.request({
114
- method: "POST",
115
- path: `/partner/v1/projects/${projectId}/agent-sessions/list`,
116
- body: bodyFromOptions(options, ["limit", "offset"])
117
- }));
118
- return;
119
- }
120
- if (subcommand === "get") {
121
- assertCondition(sessionId, "用法: baijimu agent session get <projectId> <sessionId>");
122
- printJson(await client.request({
123
- method: "POST",
124
- path: `/partner/v1/projects/${projectId}/agent-sessions/${sessionId}/get`
125
- }));
126
- return;
127
- }
128
- if (subcommand === "messages") {
129
- assertCondition(sessionId, "用法: baijimu agent session messages <projectId> <sessionId> [--limit n] [--before-message-id id]");
130
- const options = parseOptions(rest);
131
- const beforeMessageId = option(options, "before-message-id");
132
- printJson(await client.request({
133
- method: "POST",
134
- path: `/partner/v1/projects/${projectId}/agent-sessions/${sessionId}/${beforeMessageId ? "messages-cursor" : "messages"}`,
135
- body: bodyFromOptions(options, beforeMessageId ? ["limit", "before-message-id"] : ["limit", "offset"])
136
- }));
137
- return;
138
- }
139
- if (subcommand === "audit") {
140
- assertCondition(sessionId, "用法: baijimu agent session audit <projectId> <sessionId>");
141
- const options = parseOptions(rest);
142
- printJson(await client.request({
143
- method: "POST",
144
- path: `/partner/v1/projects/${projectId}/agent-sessions/${sessionId}/audit`,
145
- body: bodyFromOptions(options, ["workspace-id", "message-limit", "trace-limit", "billing-limit"])
146
- }));
147
- return;
148
- }
149
- if (subcommand === "delete") {
150
- assertCondition(sessionId, "用法: baijimu agent session delete <projectId> <sessionId>");
151
- printJson(await client.request({
152
- method: "POST",
153
- path: `/partner/v1/projects/${projectId}/agent-sessions/${sessionId}/delete`
154
- }));
155
- return;
156
- }
157
- throw new CliError("用法: baijimu agent session <create|list|recent|get|messages|audit|delete> ...");
158
- }
159
- async function runAgentConfigCommand(client, args) {
160
- const [subcommand, first, second, ...rest] = args;
161
- assertCondition(subcommand, "用法: baijimu agent config <list|get|save|delete|project|default|recommended|versions|latest-approved|version|review|market> ...");
162
- if (subcommand === "list") {
163
- const options = parseOptions([first, second, ...rest].filter(Boolean));
164
- const workspaceId = options.positionals[0] || option(options, "workspace-id");
165
- printJson(await client.request({
166
- method: "GET",
167
- path: hasFlag(options, "manage") ? "/api/agent-config/workspace/manage" : "/api/agent-config/workspace",
168
- query: compactQuery({ workspaceId })
169
- }));
170
- return;
171
- }
172
- if (subcommand === "get") {
173
- assertCondition(first, "用法: baijimu agent config get <configId>");
174
- await get(client, `/api/agent-config/template/${encodeURIComponent(first)}`);
175
- return;
176
- }
177
- if (subcommand === "save") {
178
- const body = await parseConfigBody([first, second, ...rest].filter(Boolean));
179
- await post(client, "/api/agent-config/template", body);
180
- return;
181
- }
182
- if (subcommand === "delete") {
183
- assertCondition(first, "用法: baijimu agent config delete <configId>");
184
- printJson(await client.request({
185
- method: "DELETE",
186
- path: `/api/agent-config/template/${encodeURIComponent(first)}`
187
- }));
188
- return;
189
- }
190
- if (subcommand === "project") {
191
- assertCondition(first, "用法: baijimu agent config project <projectId>");
192
- await get(client, `/api/agent-config/project/${encodeURIComponent(first)}`);
193
- return;
194
- }
195
- if (subcommand === "default") {
196
- await get(client, "/api/agent-config/default");
197
- return;
198
- }
199
- if (subcommand === "recommended") {
200
- await get(client, "/api/agent-config/recommended");
201
- return;
202
- }
203
- if (subcommand === "versions") {
204
- assertCondition(first, "用法: baijimu agent config versions <configId>");
205
- await get(client, `/api/agent-config/${encodeURIComponent(first)}/versions`);
206
- return;
207
- }
208
- if (subcommand === "latest-approved") {
209
- assertCondition(first, "用法: baijimu agent config latest-approved <configId>");
210
- await get(client, `/api/agent-config/${encodeURIComponent(first)}/latest-approved-version`);
211
- return;
212
- }
213
- if (subcommand === "version") {
214
- await runAgentConfigVersionCommand(client, first, [second, ...rest].filter(Boolean));
215
- return;
216
- }
217
- if (subcommand === "review") {
218
- await runAgentConfigReviewCommand(client, first, [second, ...rest].filter(Boolean));
219
- return;
220
- }
221
- if (subcommand === "market") {
222
- await runAgentConfigMarketCommand(client, first, [second, ...rest].filter(Boolean));
223
- return;
224
- }
225
- throw new CliError("用法: baijimu agent config <list|get|save|delete|project|default|recommended|versions|latest-approved|version|review|market> ...");
226
- }
227
- async function runAgentConfigVersionCommand(client, command, args) {
228
- if (command === "get") {
229
- const [versionId] = args;
230
- assertCondition(versionId, "用法: baijimu agent config version get <versionId>");
231
- await get(client, `/api/agent-config/versions/${encodeURIComponent(versionId)}`);
232
- return;
233
- }
234
- if (command === "publish") {
235
- const [configId, ...optionArgs] = args;
236
- assertCondition(configId, "用法: baijimu agent config version publish <configId> --version <semver> [--description text]");
237
- const options = parseOptions(optionArgs);
238
- const version = option(options, "version");
239
- assertCondition(version, "version publish 需要 --version");
240
- await post(client, `/api/agent-config/${encodeURIComponent(configId)}/publish-version`, {
241
- version,
242
- description: option(options, "description") || ""
243
- });
244
- return;
245
- }
246
- throw new CliError("用法: baijimu agent config version <get|publish> ...");
247
- }
248
- async function runAgentConfigReviewCommand(client, command, args) {
249
- const [configId, ...rest] = args;
250
- assertCondition(configId, "用法: baijimu agent config review <submit|history> <configId>");
251
- if (command === "submit") {
252
- await post(client, `/api/agent-config/reviews/${encodeURIComponent(configId)}/submit`, await parseObjectInput(option(parseOptions(rest), "data")));
253
- return;
254
- }
255
- if (command === "history") {
256
- await get(client, `/api/agent-config/reviews/${encodeURIComponent(configId)}/history`);
257
- return;
258
- }
259
- throw new CliError("用法: baijimu agent config review <submit|history> <configId>");
260
- }
261
- async function runAgentConfigMarketCommand(client, command, args) {
262
- if (command === "install") {
263
- await post(client, "/api/agent-config/market/install", await parseObjectOptions(args));
264
- return;
265
- }
266
- if (command === "uninstall") {
267
- const [installedConfigId] = args;
268
- assertCondition(installedConfigId, "用法: baijimu agent config market uninstall <installedConfigId>");
269
- printJson(await client.request({
270
- method: "DELETE",
271
- path: `/api/agent-config/market/install/${encodeURIComponent(installedConfigId)}`
272
- }));
273
- return;
274
- }
275
- throw new CliError("用法: baijimu agent config market <install|uninstall> ...");
276
- }
277
- async function runAgentRuntimeCommand(client, args) {
278
- const [subcommand, runtimeId, ...rest] = args;
279
- if (subcommand === "list") {
280
- await get(client, "/api/agent-runtime/list");
281
- return;
282
- }
283
- if (subcommand === "models") {
284
- assertCondition(runtimeId, "用法: baijimu agent runtime models <runtimeId> [--workspace-id id]");
285
- const options = parseOptions(rest);
286
- printJson(await client.request({
287
- method: "GET",
288
- path: `/api/agent-runtime/${encodeURIComponent(runtimeId)}/models`,
289
- query: compactQuery({ workspaceId: option(options, "workspace-id") })
290
- }));
291
- return;
292
- }
293
- throw new CliError("用法: baijimu agent runtime <list|models> ...");
294
- }
295
- function bodyFromOptions(options, names) {
296
- const body = {};
297
- for (const name of names) {
298
- const value = option(options, name);
299
- if (value !== undefined) {
300
- const key = toCamelCase(name);
301
- body[key] = isNumericOption(name) ? Number(value) : value;
302
- }
303
- }
304
- return body;
305
- }
306
- function toCamelCase(name) {
307
- return name.replace(/-([a-z])/g, (_, char) => char.toUpperCase());
308
- }
309
- function isNumericOption(name) {
310
- return ["limit", "offset", "workspace-id", "message-limit", "trace-limit", "billing-limit"].includes(name);
311
- }
312
- async function get(client, path) {
313
- printJson(await client.request({ method: "GET", path }));
314
- }
315
- async function post(client, path, body) {
316
- printJson(await client.request({ method: "POST", path, body }));
317
- }
318
- async function parseConfigBody(args) {
319
- const options = parseOptions(args);
320
- const body = await parseObjectInput(option(options, "data"));
321
- assignNumber(body, "id", option(options, "id"));
322
- assignNumber(body, "workspaceId", option(options, "workspace-id"));
323
- assignString(body, "name", option(options, "name"));
324
- assignString(body, "displayName", option(options, "display-name"));
325
- assignString(body, "description", option(options, "description"));
326
- assignString(body, "modelName", option(options, "model-name"));
327
- assignString(body, "runtimeId", option(options, "runtime-id"));
328
- assignString(body, "prompt", option(options, "prompt"));
329
- assignString(body, "visibility", option(options, "visibility"));
330
- return body;
331
- }
332
- async function parseObjectOptions(args) {
333
- return parseObjectInput(option(parseOptions(args), "data"));
334
- }
335
- async function parseObjectInput(input) {
336
- const parsed = await parseJsonInput(input, {});
337
- assertCondition(isPlainObject(parsed), "--data 必须是 JSON object");
338
- return { ...parsed };
339
- }
340
- function compactQuery(input) {
341
- const query = {};
342
- for (const [key, value] of Object.entries(input)) {
343
- if (value !== undefined && value !== "") {
344
- query[key] = [value];
345
- }
346
- }
347
- return query;
348
- }
349
- function assignString(body, key, value) {
350
- if (value !== undefined) {
351
- body[key] = value;
352
- }
353
- }
354
- function assignNumber(body, key, value) {
355
- if (value !== undefined) {
356
- body[key] = Number(value);
357
- }
358
- }
359
- function isPlainObject(value) {
360
- return value !== null && typeof value === "object" && !Array.isArray(value);
361
- }
362
- async function authenticatedClient() {
363
- const config = await loadConfig();
364
- const auth = currentAuth(config);
365
- assertCondition(auth.token, "当前环境未登录,请先执行 baijimu auth login");
366
- return new BaijimuHttpClient({
367
- environment: currentEnvironment(config),
368
- token: auth.token
369
- });
370
- }
371
- //# sourceMappingURL=agent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export declare function runApiCommand(args: string[]): Promise<void>;
2
- export declare function parseQueryOptions(values: string[]): Record<string, string[]>;
3
- export declare function parseHeaderOptions(values: string[]): Record<string, string>;