@gencode/cli 0.0.1

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 (61) hide show
  1. package/dist/auth.d.ts +4 -0
  2. package/dist/auth.d.ts.map +1 -0
  3. package/dist/auth.js +9 -0
  4. package/dist/auth.js.map +1 -0
  5. package/dist/bin.d.ts +6 -0
  6. package/dist/bin.d.ts.map +1 -0
  7. package/dist/bin.js +12 -0
  8. package/dist/bin.js.map +1 -0
  9. package/dist/commands/agents.d.ts +10 -0
  10. package/dist/commands/agents.d.ts.map +1 -0
  11. package/dist/commands/agents.js +319 -0
  12. package/dist/commands/agents.js.map +1 -0
  13. package/dist/commands/bootstrap.d.ts +12 -0
  14. package/dist/commands/bootstrap.d.ts.map +1 -0
  15. package/dist/commands/bootstrap.js +25 -0
  16. package/dist/commands/bootstrap.js.map +1 -0
  17. package/dist/commands/commands.d.ts +12 -0
  18. package/dist/commands/commands.d.ts.map +1 -0
  19. package/dist/commands/commands.js +37 -0
  20. package/dist/commands/commands.js.map +1 -0
  21. package/dist/commands/memory.d.ts +14 -0
  22. package/dist/commands/memory.d.ts.map +1 -0
  23. package/dist/commands/memory.js +173 -0
  24. package/dist/commands/memory.js.map +1 -0
  25. package/dist/commands/plugins.d.ts +3 -0
  26. package/dist/commands/plugins.d.ts.map +1 -0
  27. package/dist/commands/plugins.js +228 -0
  28. package/dist/commands/plugins.js.map +1 -0
  29. package/dist/commands/run.d.ts +26 -0
  30. package/dist/commands/run.d.ts.map +1 -0
  31. package/dist/commands/run.js +163 -0
  32. package/dist/commands/run.js.map +1 -0
  33. package/dist/commands/sessions.d.ts +14 -0
  34. package/dist/commands/sessions.d.ts.map +1 -0
  35. package/dist/commands/sessions.js +31 -0
  36. package/dist/commands/sessions.js.map +1 -0
  37. package/dist/config.d.ts +21 -0
  38. package/dist/config.d.ts.map +1 -0
  39. package/dist/config.js +33 -0
  40. package/dist/config.js.map +1 -0
  41. package/dist/output.d.ts +20 -0
  42. package/dist/output.d.ts.map +1 -0
  43. package/dist/output.js +90 -0
  44. package/dist/output.js.map +1 -0
  45. package/dist/pkg-path.d.ts +6 -0
  46. package/dist/pkg-path.d.ts.map +1 -0
  47. package/dist/pkg-path.js +8 -0
  48. package/dist/pkg-path.js.map +1 -0
  49. package/dist/plugins-config.d.ts +5 -0
  50. package/dist/plugins-config.d.ts.map +1 -0
  51. package/dist/plugins-config.js +30 -0
  52. package/dist/plugins-config.js.map +1 -0
  53. package/dist/program.d.ts +11 -0
  54. package/dist/program.d.ts.map +1 -0
  55. package/dist/program.js +37 -0
  56. package/dist/program.js.map +1 -0
  57. package/dist/utils/message-input.d.ts +72 -0
  58. package/dist/utils/message-input.d.ts.map +1 -0
  59. package/dist/utils/message-input.js +117 -0
  60. package/dist/utils/message-input.js.map +1 -0
  61. package/package.json +37 -0
package/dist/auth.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export declare function encryptWithSM4(ticket: string): string;
2
+ export declare function generateApiKey(ticket: string): string;
3
+ export {};
4
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,OAAO,EAAE,CAAC"}
package/dist/auth.js ADDED
@@ -0,0 +1,9 @@
1
+ import gensign from "gensign-node";
2
+ export function encryptWithSM4(ticket) {
3
+ return gensign.sm4_encrypt_ecb(ticket);
4
+ }
5
+ export function generateApiKey(ticket) {
6
+ return encryptWithSM4(ticket);
7
+ }
8
+ export {};
9
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,OAAO,EAAE,CAAC"}
package/dist/bin.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * CLI entrypoint for @gencode/cli.
4
+ */
5
+ import "./pkg-path.js";
6
+ //# sourceMappingURL=bin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,eAAe,CAAC"}
package/dist/bin.js ADDED
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * CLI entrypoint for @gencode/cli.
4
+ */
5
+ import "./pkg-path.js";
6
+ import { createProgram } from "./program.js";
7
+ const program = createProgram();
8
+ program.parseAsync(process.argv).catch((err) => {
9
+ process.stderr.write(`Unexpected error: ${err.message}\n`);
10
+ process.exit(1);
11
+ });
12
+ //# sourceMappingURL=bin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IACtD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAsB,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;IACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Agents command group for @gencode/cli.
3
+ * Manages multi-agent configuration (add, delete, list, bind, unbind, set-identity).
4
+ */
5
+ import { Command } from "commander";
6
+ /**
7
+ * Registers all agents subcommands with the program.
8
+ */
9
+ export declare function registerAgentsCommands(program: Command, getDataDir: () => string): void;
10
+ //# sourceMappingURL=agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/commands/agents.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0TpC;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,MAAM,GACvB,IAAI,CAmFN"}
@@ -0,0 +1,319 @@
1
+ /**
2
+ * Agents command group for @gencode/cli.
3
+ * Manages multi-agent configuration (add, delete, list, bind, unbind, set-identity).
4
+ */
5
+ import { Command } from "commander";
6
+ import { loadAgentsConfig, saveAgentsConfig, listAgents, listBindings, getAgentConfig, resolveDefaultAgentId, resolveAgentDir, normalizeAgentId, addAgent, removeAgent, addBinding, removeBindings, updateAgentIdentity, } from "@gencode/agents/config";
7
+ import fs from "node:fs/promises";
8
+ /**
9
+ * Formats an agent binding for display.
10
+ */
11
+ function describeBinding(binding) {
12
+ const route = binding.match.accountId
13
+ ? `${binding.match.channel}:${binding.match.accountId}`
14
+ : binding.match.channel;
15
+ return `${route} -> ${binding.agentId}`;
16
+ }
17
+ /**
18
+ * Lists all configured agents.
19
+ */
20
+ function agentsListAction(options) {
21
+ return async (dataDir) => {
22
+ const config = await loadAgentsConfig(dataDir);
23
+ const agents = listAgents(config);
24
+ const bindings = listBindings(config);
25
+ const defaultId = resolveDefaultAgentId(config);
26
+ if (options.json) {
27
+ console.log(JSON.stringify({ agents, bindings }, null, 2));
28
+ return;
29
+ }
30
+ console.log("Agents:");
31
+ for (const agent of agents) {
32
+ const defaultTag = agent.default ? " (default)" : "";
33
+ const header = agent.name && agent.name !== agent.id
34
+ ? `${agent.id}${defaultTag} (${agent.name})`
35
+ : `${agent.id}${defaultTag}`;
36
+ console.log(` - ${header}`);
37
+ if (agent.identity?.emoji || agent.identity?.name) {
38
+ const identity = [agent.identity.emoji, agent.identity.name]
39
+ .filter(Boolean)
40
+ .join(" ");
41
+ console.log(` Identity: ${identity}`);
42
+ }
43
+ const agentDir = resolveAgentDir(dataDir, agent.id);
44
+ console.log(` Agent dir: ${agentDir}`);
45
+ if (agent.model) {
46
+ const modelStr = typeof agent.model === "string"
47
+ ? agent.model
48
+ : agent.model.primary;
49
+ console.log(` Model: ${modelStr}`);
50
+ }
51
+ // 绑定规则
52
+ const agentBindings = bindings.filter((b) => b.agentId === agent.id);
53
+ if (agentBindings.length > 0) {
54
+ console.log(` Routing rules:`);
55
+ for (const binding of agentBindings) {
56
+ console.log(` - ${describeBinding(binding)}`);
57
+ }
58
+ }
59
+ }
60
+ };
61
+ }
62
+ /**
63
+ * Adds a new agent.
64
+ */
65
+ function agentsAddAction(id, options) {
66
+ return async (dataDir) => {
67
+ const config = await loadAgentsConfig(dataDir);
68
+ // 检查 ID 是否已存在
69
+ const normalizedId = normalizeAgentId(id);
70
+ if (getAgentConfig(config, normalizedId)) {
71
+ console.error(`Agent "${id}" already exists.`);
72
+ process.exit(1);
73
+ }
74
+ const newAgent = {
75
+ id,
76
+ name: options.name,
77
+ model: options.model,
78
+ default: options.default,
79
+ };
80
+ const created = await addAgent(dataDir, newAgent);
81
+ if (!created) {
82
+ console.error(`Agent "${id}" already exists.`);
83
+ process.exit(1);
84
+ }
85
+ const agentDir = resolveAgentDir(dataDir, id);
86
+ console.log(`Agent "${id}" added successfully.`);
87
+ console.log(` Agent dir: ${agentDir}`);
88
+ };
89
+ }
90
+ /**
91
+ * Deletes an agent.
92
+ */
93
+ function agentsDeleteAction(id) {
94
+ return async (dataDir) => {
95
+ const config = await loadAgentsConfig(dataDir);
96
+ const normalizedId = normalizeAgentId(id);
97
+ const agent = getAgentConfig(config, normalizedId);
98
+ if (!agent) {
99
+ console.error(`Agent "${id}" not found.`);
100
+ process.exit(1);
101
+ }
102
+ // 不允许删除默认 agent
103
+ if (agent.default === true) {
104
+ console.error(`Cannot delete default agent "${id}".`);
105
+ process.exit(1);
106
+ }
107
+ const removed = await removeAgent(dataDir, id);
108
+ if (!removed) {
109
+ console.error(`Failed to delete agent "${id}".`);
110
+ process.exit(1);
111
+ }
112
+ console.log(`Agent "${id}" deleted.`);
113
+ };
114
+ }
115
+ /**
116
+ * Binds a channel to an agent.
117
+ */
118
+ function agentsBindAction(options) {
119
+ return async (dataDir) => {
120
+ const config = await loadAgentsConfig(dataDir);
121
+ const agentId = options.agent ?? resolveDefaultAgentId(config);
122
+ // 验证 agent 存在
123
+ if (!getAgentConfig(config, agentId)) {
124
+ console.error(`Agent "${agentId}" not found.`);
125
+ process.exit(1);
126
+ }
127
+ if (!options.bind || options.bind.length === 0) {
128
+ console.error("Please specify --bind <channel>[:<account>]");
129
+ process.exit(1);
130
+ }
131
+ for (const bindSpec of options.bind) {
132
+ const [channel, ...rest] = bindSpec.split(":");
133
+ const accountId = rest.join(":");
134
+ const validChannels = ["H5", "WEB", "KLPA", "CRON"];
135
+ if (!validChannels.includes(channel)) {
136
+ console.error(`Invalid channel: ${channel}`);
137
+ console.error(`Valid channels: ${validChannels.join(", ")}`);
138
+ process.exit(1);
139
+ }
140
+ const binding = {
141
+ agentId,
142
+ match: {
143
+ channel: channel,
144
+ accountId: accountId || undefined,
145
+ },
146
+ };
147
+ await addBinding(dataDir, binding);
148
+ console.log(`Binding added: ${bindSpec} -> ${agentId}`);
149
+ }
150
+ };
151
+ }
152
+ /**
153
+ * Unbinds a channel from an agent.
154
+ */
155
+ function agentsUnbindAction(options) {
156
+ return async (dataDir) => {
157
+ const config = await loadAgentsConfig(dataDir);
158
+ const agentId = options.agent ?? resolveDefaultAgentId(config);
159
+ // 验证 agent 存在
160
+ if (!getAgentConfig(config, agentId)) {
161
+ console.error(`Agent "${agentId}" not found.`);
162
+ process.exit(1);
163
+ }
164
+ if (options.all) {
165
+ // 删除该 agent 的所有绑定
166
+ const removed = await removeBindings(dataDir, agentId, "*");
167
+ console.log(`Removed ${removed} binding(s) for agent "${agentId}".`);
168
+ }
169
+ else if (options.bind && options.bind.length > 0) {
170
+ // 删除指定绑定
171
+ let totalRemoved = 0;
172
+ for (const bindSpec of options.bind) {
173
+ const [channel, ...rest] = bindSpec.split(":");
174
+ const accountId = rest.join(":");
175
+ const removed = await removeBindings(dataDir, agentId, channel, accountId || undefined);
176
+ if (removed > 0) {
177
+ console.log(`Binding removed: ${bindSpec} -> ${agentId}`);
178
+ totalRemoved += removed;
179
+ }
180
+ else {
181
+ console.log(`No binding found: ${bindSpec} -> ${agentId}`);
182
+ }
183
+ }
184
+ }
185
+ else {
186
+ console.error('Please specify --bind <channel>[:<account>] or --all');
187
+ process.exit(1);
188
+ }
189
+ };
190
+ }
191
+ /**
192
+ * Lists routing bindings.
193
+ */
194
+ function agentsBindingsAction(options) {
195
+ return async (dataDir) => {
196
+ const config = await loadAgentsConfig(dataDir);
197
+ let bindings = listBindings(config);
198
+ if (options.agent) {
199
+ bindings = bindings.filter((b) => b.agentId === options.agent);
200
+ }
201
+ if (options.json) {
202
+ console.log(JSON.stringify(bindings, null, 2));
203
+ return;
204
+ }
205
+ if (bindings.length === 0) {
206
+ console.log("No bindings configured.");
207
+ return;
208
+ }
209
+ console.log("Routing bindings:");
210
+ for (const binding of bindings) {
211
+ console.log(` ${describeBinding(binding)}`);
212
+ }
213
+ };
214
+ }
215
+ /**
216
+ * Sets agent identity.
217
+ */
218
+ function agentsSetIdentityAction(options) {
219
+ return async (dataDir) => {
220
+ const config = await loadAgentsConfig(dataDir);
221
+ const agentId = options.agent ?? resolveDefaultAgentId(config);
222
+ // 验证 agent 存在
223
+ if (!getAgentConfig(config, agentId)) {
224
+ console.error(`Agent "${agentId}" not found.`);
225
+ process.exit(1);
226
+ }
227
+ const updated = await updateAgentIdentity(dataDir, agentId, {
228
+ name: options.name,
229
+ emoji: options.emoji,
230
+ avatar: options.avatar,
231
+ });
232
+ if (!updated) {
233
+ console.error(`Failed to update identity for agent "${agentId}".`);
234
+ process.exit(1);
235
+ }
236
+ console.log(`Identity updated for agent "${agentId}".`);
237
+ };
238
+ }
239
+ /**
240
+ * Registers all agents subcommands with the program.
241
+ */
242
+ export function registerAgentsCommands(program, getDataDir) {
243
+ const agentsCmd = program
244
+ .command("agents")
245
+ .description("Manage agents");
246
+ // agents list
247
+ agentsCmd
248
+ .command("list")
249
+ .description("List all configured agents")
250
+ .option("-j, --json", "Output as JSON")
251
+ .option("-b, --bindings", "Show detailed binding rules")
252
+ .action(async (opts) => {
253
+ const dataDir = getDataDir();
254
+ await agentsListAction(opts)(dataDir);
255
+ });
256
+ // agents add
257
+ agentsCmd
258
+ .command("add <id>")
259
+ .description("Add a new agent")
260
+ .option("-n, --name <name>", "Display name")
261
+ .option("-m, --model <model>", "Model identifier")
262
+ .option("--default", "Mark as default agent")
263
+ .action(async (id, opts) => {
264
+ const dataDir = getDataDir();
265
+ await agentsAddAction(id, opts)(dataDir);
266
+ });
267
+ // agents delete
268
+ agentsCmd
269
+ .command("delete <id>")
270
+ .description("Delete an agent")
271
+ .action(async (id) => {
272
+ const dataDir = getDataDir();
273
+ await agentsDeleteAction(id)(dataDir);
274
+ });
275
+ // agents bind
276
+ agentsCmd
277
+ .command("bind")
278
+ .description("Bind a channel to an agent")
279
+ .option("-a, --agent <id>", "Target agent ID")
280
+ .option("-b, --bind <channel...>", "Channel binding (e.g., WEB, KLPA:ops)")
281
+ .action(async (opts) => {
282
+ const dataDir = getDataDir();
283
+ await agentsBindAction(opts)(dataDir);
284
+ });
285
+ // agents unbind
286
+ agentsCmd
287
+ .command("unbind")
288
+ .description("Unbind a channel from an agent")
289
+ .option("-a, --agent <id>", "Target agent ID")
290
+ .option("-b, --bind <channel...>", "Channel binding to remove")
291
+ .option("--all", "Remove all bindings for the agent")
292
+ .action(async (opts) => {
293
+ const dataDir = getDataDir();
294
+ await agentsUnbindAction(opts)(dataDir);
295
+ });
296
+ // agents bindings
297
+ agentsCmd
298
+ .command("bindings")
299
+ .description("List routing bindings")
300
+ .option("-a, --agent <id>", "Filter by agent ID")
301
+ .option("-j, --json", "Output as JSON")
302
+ .action(async (opts) => {
303
+ const dataDir = getDataDir();
304
+ await agentsBindingsAction(opts)(dataDir);
305
+ });
306
+ // agents set-identity
307
+ agentsCmd
308
+ .command("set-identity")
309
+ .description("Set agent identity")
310
+ .option("-a, --agent <id>", "Target agent ID")
311
+ .option("-n, --name <name>", "Agent name")
312
+ .option("-e, --emoji <emoji>", "Agent emoji")
313
+ .option("--avatar <path>", "Avatar path")
314
+ .action(async (opts) => {
315
+ const dataDir = getDataDir();
316
+ await agentsSetIdentityAction(opts)(dataDir);
317
+ });
318
+ }
319
+ //# sourceMappingURL=agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/commands/agents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `aimax bootstrap` command — initializes the data directory structure.
3
+ */
4
+ import type { Command } from "commander";
5
+ import { type OutputFormat } from "../output.js";
6
+ export type BootstrapOptions = {
7
+ dataDir: string;
8
+ output?: OutputFormat;
9
+ };
10
+ /** Registers the `bootstrap` subcommand on the given Commander program */
11
+ export declare function registerBootstrapCommand(program: Command): void;
12
+ //# sourceMappingURL=bootstrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAoC,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAEnF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB,CAAC;AAEF,0EAA0E;AAC1E,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgB/D"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * `aimax bootstrap` command — initializes the data directory structure.
3
+ */
4
+ import { bootstrapMountLayout } from "@gencode/agents";
5
+ import { printBootstrapResult, writeError } from "../output.js";
6
+ /** Registers the `bootstrap` subcommand on the given Commander program */
7
+ export function registerBootstrapCommand(program) {
8
+ program
9
+ .command("bootstrap")
10
+ .description("Initialize the data directory with required directories and templates")
11
+ .requiredOption("-d, --data-dir <path>", "Data directory path")
12
+ .option("--output <format>", "Output format: text (default) or json", "text")
13
+ .action(async (options) => {
14
+ const format = options.output === "json" ? "json" : "text";
15
+ try {
16
+ const result = await bootstrapMountLayout(options.dataDir);
17
+ printBootstrapResult(result, format);
18
+ }
19
+ catch (err) {
20
+ writeError(`Error bootstrapping data directory: ${err.message}`);
21
+ process.exit(1);
22
+ }
23
+ });
24
+ }
25
+ //# sourceMappingURL=bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAqB,MAAM,cAAc,CAAC;AAOnF,0EAA0E;AAC1E,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,OAAO;SACJ,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,uEAAuE,CAAC;SACpF,cAAc,CAAC,uBAAuB,EAAE,qBAAqB,CAAC;SAC9D,MAAM,CAAC,mBAAmB,EAAE,uCAAuC,EAAE,MAAM,CAAC;SAC5E,MAAM,CAAC,KAAK,EAAE,OAAyB,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAiB,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACzE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC3D,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,CAAC,uCAAwC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `aimax commands` command — lists available slash commands.
3
+ */
4
+ import type { Command } from "commander";
5
+ import { type OutputFormat } from "../output.js";
6
+ export type CommandsOptions = {
7
+ dataDir: string;
8
+ output?: OutputFormat;
9
+ };
10
+ /** Registers the `commands` subcommand on the given Commander program */
11
+ export declare function registerCommandsCommand(program: Command): void;
12
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/commands/commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAExE,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB,CAAC;AAEF,yEAAyE;AACzE,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6B9D"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * `aimax commands` command — lists available slash commands.
3
+ */
4
+ import { loadSkillsWithPluginDirs, listAvailableSlashCommands } from "@gencode/agents";
5
+ import { writeLine, writeError } from "../output.js";
6
+ /** Registers the `commands` subcommand on the given Commander program */
7
+ export function registerCommandsCommand(program) {
8
+ program
9
+ .command("commands")
10
+ .description("List available slash commands for a data directory")
11
+ .requiredOption("-d, --data-dir <path>", "Data directory path")
12
+ .option("--output <format>", "Output format: text (default) or json", "text")
13
+ .action(async (options) => {
14
+ const format = options.output === "json" ? "json" : "text";
15
+ try {
16
+ const skills = await loadSkillsWithPluginDirs(options.dataDir, []);
17
+ const commands = listAvailableSlashCommands(skills);
18
+ if (format === "json") {
19
+ writeLine(JSON.stringify(commands, null, 2));
20
+ return;
21
+ }
22
+ writeLine("Commands");
23
+ writeLine(` builtin: ${commands.builtin.map((c) => c.name).join(" | ")}`);
24
+ if (commands.skillCommands.length > 0) {
25
+ writeLine(` skills: ${commands.skillCommands.map((c) => c.name).join(" | ")}`);
26
+ }
27
+ else {
28
+ writeLine(" skills: (none)");
29
+ }
30
+ }
31
+ catch (err) {
32
+ writeError(`Error listing commands: ${err.message}`);
33
+ process.exit(1);
34
+ }
35
+ });
36
+ }
37
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/commands/commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,UAAU,EAAqB,MAAM,cAAc,CAAC;AAOxE,yEAAyE;AACzE,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,oDAAoD,CAAC;SACjE,cAAc,CAAC,uBAAuB,EAAE,qBAAqB,CAAC;SAC9D,MAAM,CAAC,mBAAmB,EAAE,uCAAuC,EAAE,MAAM,CAAC;SAC5E,MAAM,CAAC,KAAK,EAAE,OAAwB,EAAE,EAAE;QACzC,MAAM,MAAM,GAAiB,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACzE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;YAEpD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7C,OAAO;YACT,CAAC;YAED,SAAS,CAAC,UAAU,CAAC,CAAC;YACtB,SAAS,CAAC,cAAc,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7E,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,SAAS,CAAC,aAAa,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,kBAAkB,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,CAAC,2BAA4B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * `aimax memory` command — status/index/search for semantic memory.
3
+ */
4
+ import type { Command } from "commander";
5
+ import { type OutputFormat } from "../output.js";
6
+ export type MemoryCommandOptions = {
7
+ dataDir: string;
8
+ output?: OutputFormat;
9
+ includeSessions?: boolean;
10
+ provider?: string;
11
+ providerPlugin?: string;
12
+ };
13
+ export declare function registerMemoryCommand(program: Command): void;
14
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/commands/memory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAExE,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAgFF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6G5D"}