@aiyou-dev/cli 0.1.0 → 1.0.2

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 (89) hide show
  1. package/README.md +438 -0
  2. package/dist/commands/index.d.ts.map +1 -1
  3. package/dist/commands/index.js +360 -4
  4. package/dist/commands/index.js.map +1 -1
  5. package/dist/config.js +3 -0
  6. package/dist/config.js.map +1 -1
  7. package/dist/init/interactive.d.ts +2 -0
  8. package/dist/init/interactive.d.ts.map +1 -1
  9. package/dist/init/interactive.js +2 -2
  10. package/dist/init/interactive.js.map +1 -1
  11. package/dist/init/opencode-config.d.ts +46 -0
  12. package/dist/init/opencode-config.d.ts.map +1 -0
  13. package/dist/init/opencode-config.js +82 -0
  14. package/dist/init/opencode-config.js.map +1 -0
  15. package/dist/init/settings-generator.d.ts +21 -10
  16. package/dist/init/settings-generator.d.ts.map +1 -1
  17. package/dist/init/settings-generator.js +121 -35
  18. package/dist/init/settings-generator.js.map +1 -1
  19. package/dist/init/team-setup.d.ts +43 -0
  20. package/dist/init/team-setup.d.ts.map +1 -0
  21. package/dist/init/team-setup.js +237 -0
  22. package/dist/init/team-setup.js.map +1 -0
  23. package/dist/mcp/tools/ast-tools.d.ts +6 -0
  24. package/dist/mcp/tools/ast-tools.d.ts.map +1 -0
  25. package/dist/mcp/tools/ast-tools.js +101 -0
  26. package/dist/mcp/tools/ast-tools.js.map +1 -0
  27. package/dist/mcp/tools/config-tools.js +1 -1
  28. package/dist/mcp/tools/config-tools.js.map +1 -1
  29. package/dist/mcp/tools/hooks-tools.d.ts.map +1 -1
  30. package/dist/mcp/tools/hooks-tools.js +99 -1
  31. package/dist/mcp/tools/hooks-tools.js.map +1 -1
  32. package/dist/mcp/tools/index.d.ts +1 -1
  33. package/dist/mcp/tools/index.d.ts.map +1 -1
  34. package/dist/mcp/tools/index.js +13 -1
  35. package/dist/mcp/tools/index.js.map +1 -1
  36. package/dist/mcp/tools/model-engine-tools.d.ts +3 -0
  37. package/dist/mcp/tools/model-engine-tools.d.ts.map +1 -0
  38. package/dist/mcp/tools/model-engine-tools.js +52 -0
  39. package/dist/mcp/tools/model-engine-tools.js.map +1 -0
  40. package/dist/mcp/tools/models-tools.d.ts +6 -0
  41. package/dist/mcp/tools/models-tools.d.ts.map +1 -0
  42. package/dist/mcp/tools/models-tools.js +162 -0
  43. package/dist/mcp/tools/models-tools.js.map +1 -0
  44. package/dist/mcp/tools/proxy-tools.d.ts +6 -0
  45. package/dist/mcp/tools/proxy-tools.d.ts.map +1 -0
  46. package/dist/mcp/tools/proxy-tools.js +243 -0
  47. package/dist/mcp/tools/proxy-tools.js.map +1 -0
  48. package/dist/mcp/tools/rd-tools.d.ts +6 -0
  49. package/dist/mcp/tools/rd-tools.d.ts.map +1 -0
  50. package/dist/mcp/tools/rd-tools.js +205 -0
  51. package/dist/mcp/tools/rd-tools.js.map +1 -0
  52. package/dist/mcp/tools/semantic-tools.d.ts +6 -0
  53. package/dist/mcp/tools/semantic-tools.d.ts.map +1 -0
  54. package/dist/mcp/tools/semantic-tools.js +129 -0
  55. package/dist/mcp/tools/semantic-tools.js.map +1 -0
  56. package/dist/models/index.d.ts +6 -0
  57. package/dist/models/index.d.ts.map +1 -0
  58. package/dist/models/index.js +6 -0
  59. package/dist/models/index.js.map +1 -0
  60. package/dist/models/launcher.d.ts +15 -0
  61. package/dist/models/launcher.d.ts.map +1 -0
  62. package/dist/models/launcher.js +187 -0
  63. package/dist/models/launcher.js.map +1 -0
  64. package/dist/models/manager.d.ts +13 -0
  65. package/dist/models/manager.d.ts.map +1 -0
  66. package/dist/models/manager.js +247 -0
  67. package/dist/models/manager.js.map +1 -0
  68. package/dist/models/minio.d.ts +17 -0
  69. package/dist/models/minio.d.ts.map +1 -0
  70. package/dist/models/minio.js +93 -0
  71. package/dist/models/minio.js.map +1 -0
  72. package/dist/models/types.d.ts +48 -0
  73. package/dist/models/types.d.ts.map +1 -0
  74. package/dist/models/types.js +2 -0
  75. package/dist/models/types.js.map +1 -0
  76. package/dist/models/vram.d.ts +9 -0
  77. package/dist/models/vram.d.ts.map +1 -0
  78. package/dist/models/vram.js +139 -0
  79. package/dist/models/vram.js.map +1 -0
  80. package/dist/napi/proxy.d.ts +214 -0
  81. package/dist/napi/proxy.d.ts.map +1 -0
  82. package/dist/napi/proxy.js +39 -0
  83. package/dist/napi/proxy.js.map +1 -0
  84. package/dist/production/error-handler.js +1 -1
  85. package/dist/production/error-handler.js.map +1 -1
  86. package/dist/types.d.ts +35 -0
  87. package/dist/types.d.ts.map +1 -1
  88. package/dist/types.js.map +1 -1
  89. package/package.json +9 -5
@@ -0,0 +1,237 @@
1
+ /**
2
+ * Team Setup — integrates aiyou-team agent teams into OpenCode.
3
+ *
4
+ * When `aiyoucli init --tool opencode` runs, this module:
5
+ * 1. Detects aiyou-team CLI (npx from local dependency > global PATH)
6
+ * 2. If not found, installs it globally via `npm install -g @aiyou-dev/team`
7
+ * 3. Runs `aiyou-team setup` to configure agent teams in OpenCode
8
+ * 4. Reports what was configured
9
+ *
10
+ * aiyou-dev/team is bundled as a dependency of @aiyou-dev/cli.
11
+ * The npx resolution finds it in node_modules/.bin automatically.
12
+ */
13
+ import { spawnSync } from "node:child_process";
14
+ // ── Detection ──────────────────────────────────────────────────────
15
+ function runCommand(command, args, stdio) {
16
+ const result = spawnSync(command, args, {
17
+ encoding: "utf8",
18
+ shell: process.platform === "win32",
19
+ stdio,
20
+ });
21
+ return {
22
+ status: result.status,
23
+ stdout: typeof result.stdout === "string" ? result.stdout : undefined,
24
+ stderr: typeof result.stderr === "string" ? result.stderr : undefined,
25
+ error: result.error,
26
+ };
27
+ }
28
+ /**
29
+ * Detect aiyou-team CLI availability.
30
+ * Priority: npx (local node_modules) > global PATH.
31
+ * npx resolves from node_modules/.bin when @aiyou-dev/team is a dependency.
32
+ */
33
+ function detectAiyouTeamCli() {
34
+ // 1. Try npx (resolves from node_modules/.bin when installed as dependency)
35
+ const npxResult = runCommand("npx", ["aiyou-team", "version"], "pipe");
36
+ if (!npxResult.error && npxResult.status === 0) {
37
+ const version = npxResult.stdout?.trim();
38
+ return {
39
+ found: true,
40
+ version: version && version.length > 0 ? version : undefined,
41
+ via: "npx",
42
+ };
43
+ }
44
+ // 2. Try global PATH
45
+ const globalResult = runCommand("aiyou-team", ["version"], "pipe");
46
+ if (!globalResult.error && globalResult.status === 0) {
47
+ const version = globalResult.stdout?.trim();
48
+ return {
49
+ found: true,
50
+ version: version && version.length > 0 ? version : undefined,
51
+ via: "global",
52
+ };
53
+ }
54
+ return { found: false, via: "none" };
55
+ }
56
+ // ── Installation ───────────────────────────────────────────────────
57
+ function installAiyouTeamGlobally(options) {
58
+ const args = [
59
+ "install",
60
+ "-g",
61
+ "@aiyou-dev/team",
62
+ "--no-audit",
63
+ "--no-fund",
64
+ ];
65
+ if (options.verbose) {
66
+ console.log(` Running: npm ${args.join(" ")}`);
67
+ }
68
+ if (options.dryRun) {
69
+ console.log(` [dry-run] Would run: npm ${args.join(" ")}`);
70
+ return true;
71
+ }
72
+ try {
73
+ const result = spawnSync("npm", args, {
74
+ shell: process.platform === "win32",
75
+ stdio: "inherit",
76
+ timeout: 120_000, // 2 minutes max
77
+ });
78
+ if (result.error) {
79
+ console.log(` Warning: npm install failed: ${result.error.message}`);
80
+ return false;
81
+ }
82
+ return (result.status ?? 1) === 0;
83
+ }
84
+ catch {
85
+ return false;
86
+ }
87
+ }
88
+ // ── Team Setup ─────────────────────────────────────────────────────
89
+ function runAiyouTeamSetup(options) {
90
+ const args = ["aiyou-team", "setup"];
91
+ if (options.verbose) {
92
+ args.push("--verbose");
93
+ }
94
+ if (options.dryRun) {
95
+ args.push("--dry-run");
96
+ }
97
+ try {
98
+ // Try npx first (resolves from node_modules/.bin)
99
+ const result = spawnSync("npx", args, {
100
+ shell: process.platform === "win32",
101
+ stdio: "pipe",
102
+ timeout: 60_000,
103
+ encoding: "utf8",
104
+ });
105
+ const output = (result.stdout || result.stderr || "").toString().trim();
106
+ // Exit code 1 means doctor found issues, but setup still completed
107
+ if (result.status === 0 || (result.status === 1 && output.includes("setup completed"))) {
108
+ return { success: true, output };
109
+ }
110
+ // Fallback to global
111
+ const globalResult = spawnSync("aiyou-team", ["setup", ...args.slice(1)], {
112
+ shell: process.platform === "win32",
113
+ stdio: "pipe",
114
+ timeout: 60_000,
115
+ encoding: "utf8",
116
+ });
117
+ const globalOutput = (globalResult.stdout || globalResult.stderr || "").toString().trim();
118
+ return {
119
+ success: (globalResult.status ?? 1) === 0 || (globalResult.status === 1 && globalOutput.includes("setup completed")),
120
+ output: globalOutput,
121
+ };
122
+ }
123
+ catch {
124
+ return { success: false, output: "" };
125
+ }
126
+ }
127
+ function parseTeamsFromSetupOutput(output) {
128
+ // Parse lines like "✓ Config: /path/to/aiyou-team.json"
129
+ // or "✓ Install root: /path/to/opencode"
130
+ const teams = [];
131
+ // Look for team names in output
132
+ const teamPatterns = [
133
+ /coding-team/,
134
+ /general-team/,
135
+ /wukong-team/,
136
+ ];
137
+ for (const pattern of teamPatterns) {
138
+ if (pattern.test(output)) {
139
+ teams.push(pattern.source);
140
+ }
141
+ }
142
+ // Fallback: if setup succeeded, assume coding-team is configured
143
+ if (teams.length === 0 && output.includes("completed")) {
144
+ teams.push("coding-team");
145
+ }
146
+ return teams;
147
+ }
148
+ // ── Main Entry Point ───────────────────────────────────────────────
149
+ /**
150
+ * Set up aiyou-team agent teams for OpenCode integration.
151
+ *
152
+ * Called from `aiyoucli init --tool opencode` to install and configure
153
+ * structured agent teams (coding-team, general-team, etc.) that work
154
+ * with OpenCode's plugin system.
155
+ *
156
+ * @returns TeamSetupResult describing what was configured
157
+ */
158
+ export async function setupAiyouTeam(options = {}) {
159
+ // Step 1: Check if aiyou-team is already installed globally
160
+ const detection = detectAiyouTeamCli();
161
+ if (detection.found) {
162
+ // Already installed — run setup directly
163
+ const setup = runAiyouTeamSetup(options);
164
+ const teams = parseTeamsFromSetupOutput(setup.output);
165
+ return {
166
+ installed: true,
167
+ installedGlobally: true,
168
+ setupRan: true,
169
+ teamsConfigured: teams.length > 0 ? teams : ["coding-team"],
170
+ message: setup.success
171
+ ? `aiyou-team v${detection.version ?? "unknown"} already installed. Teams configured: ${teams.join(", ") || "coding-team"}.`
172
+ : `aiyou-team v${detection.version ?? "unknown"} found but setup failed. You can run 'aiyou-team setup' manually.`,
173
+ };
174
+ }
175
+ // Step 2: Not installed — try to install globally
176
+ if (!options.dryRun) {
177
+ console.log(" aiyou-team not found. Installing...");
178
+ }
179
+ const installed = installAiyouTeamGlobally(options);
180
+ if (!installed) {
181
+ return {
182
+ installed: false,
183
+ installedGlobally: false,
184
+ setupRan: false,
185
+ teamsConfigured: [],
186
+ message: [
187
+ "Could not install aiyou-team automatically.",
188
+ "",
189
+ "To set up agent teams manually, run:",
190
+ " npm install -g @aiyou-dev/team",
191
+ " aiyou-team setup",
192
+ "",
193
+ "Or use npx (no global install needed):",
194
+ " npx @aiyou-dev/team setup",
195
+ ].join("\n"),
196
+ };
197
+ }
198
+ // Step 3: Re-detect after installation
199
+ const postInstall = detectAiyouTeamCli();
200
+ if (!postInstall.found) {
201
+ return {
202
+ installed: true,
203
+ installedGlobally: true,
204
+ setupRan: false,
205
+ teamsConfigured: [],
206
+ message: [
207
+ "aiyou-team installed but not found in PATH.",
208
+ "Open a new terminal or run: aiyou-team setup",
209
+ ].join("\n"),
210
+ };
211
+ }
212
+ // Step 4: Run setup
213
+ const setup = runAiyouTeamSetup(options);
214
+ const teams = parseTeamsFromSetupOutput(setup.output);
215
+ return {
216
+ installed: true,
217
+ installedGlobally: true,
218
+ setupRan: true,
219
+ teamsConfigured: teams.length > 0 ? teams : ["coding-team"],
220
+ message: setup.success
221
+ ? `aiyou-team installed and configured. Teams: ${teams.join(", ") || "coding-team"}.`
222
+ : `aiyou-team installed but setup failed. Run 'aiyou-team setup' manually.`,
223
+ };
224
+ }
225
+ /**
226
+ * Quick check: is aiyou-team already configured for the current OpenCode installation?
227
+ * Useful for showing status during init without triggering any installs.
228
+ */
229
+ export function checkAiyouTeamStatus() {
230
+ const detection = detectAiyouTeamCli();
231
+ return {
232
+ installed: detection.found,
233
+ cliAvailable: detection.found,
234
+ via: detection.via,
235
+ };
236
+ }
237
+ //# sourceMappingURL=team-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-setup.js","sourceRoot":"","sources":["../../src/init/team-setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * AST tools — multi-language AST analysis via aiyoucli-proxy NAPI.
3
+ */
4
+ import type { MCPTool } from "../../types.js";
5
+ export declare const astTools: MCPTool[];
6
+ //# sourceMappingURL=ast-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/ast-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,gBAAgB,CAAC;AAsB7D,eAAO,MAAM,QAAQ,EAAE,OAAO,EAwE7B,CAAC"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * AST tools — multi-language AST analysis via aiyoucli-proxy NAPI.
3
+ */
4
+ function text(t) { return { content: [{ type: "text", text: t }] }; }
5
+ function json(d) { return { content: [{ type: "text", text: JSON.stringify(d, null, 2) }] }; }
6
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
+ let proxyEngine = null;
8
+ function createProxyEngine() {
9
+ try {
10
+ const mod = require("../../napi/proxy.js");
11
+ return mod.getProxyEngine?.() ?? null;
12
+ }
13
+ catch {
14
+ return null;
15
+ }
16
+ }
17
+ function getEngine() {
18
+ if (!proxyEngine)
19
+ proxyEngine = createProxyEngine();
20
+ return proxyEngine;
21
+ }
22
+ export const astTools = [
23
+ {
24
+ name: "ast_analyze",
25
+ description: "Analyze source code AST — extracts functions, classes, imports for JS/TS/Python/Rust/Go/Java",
26
+ inputSchema: {
27
+ type: "object",
28
+ properties: {
29
+ source: { type: "string", description: "Source code content" },
30
+ language: { type: "string", description: "Language hint (auto-detected if omitted)" },
31
+ },
32
+ required: ["source"],
33
+ },
34
+ handler: async (input) => {
35
+ const engine = getEngine();
36
+ if (!engine)
37
+ return text("AST analyzer not available");
38
+ try {
39
+ return json(engine.analyzeCode(input.source, input.language));
40
+ }
41
+ catch (err) {
42
+ return text(`AST analyze error: ${err instanceof Error ? err.message : String(err)}`);
43
+ }
44
+ },
45
+ },
46
+ {
47
+ name: "ast_analyze_batch",
48
+ description: "Batch-analyze multiple source files",
49
+ inputSchema: {
50
+ type: "object",
51
+ properties: {
52
+ files: {
53
+ type: "array",
54
+ items: {
55
+ type: "object",
56
+ properties: {
57
+ path: { type: "string" },
58
+ source: { type: "string" },
59
+ },
60
+ },
61
+ description: "Array of {path, source} objects",
62
+ },
63
+ },
64
+ required: ["files"],
65
+ },
66
+ handler: async (input) => {
67
+ const engine = getEngine();
68
+ if (!engine)
69
+ return text("AST analyzer not available");
70
+ try {
71
+ return json(engine.analyzeCodeBatch(input.files));
72
+ }
73
+ catch (err) {
74
+ return text(`AST batch error: ${err instanceof Error ? err.message : String(err)}`);
75
+ }
76
+ },
77
+ },
78
+ {
79
+ name: "ast_detect_language",
80
+ description: "Detect programming language by file extension",
81
+ inputSchema: {
82
+ type: "object",
83
+ properties: {
84
+ path: { type: "string", description: "File path or extension" },
85
+ },
86
+ required: ["path"],
87
+ },
88
+ handler: async (input) => {
89
+ const engine = getEngine();
90
+ if (!engine)
91
+ return text("AST analyzer not available");
92
+ try {
93
+ return json(engine.detectLanguage(input.path));
94
+ }
95
+ catch (err) {
96
+ return text(`AST detect error: ${err instanceof Error ? err.message : String(err)}`);
97
+ }
98
+ },
99
+ },
100
+ ];
101
+ //# sourceMappingURL=ast-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/ast-tools.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@ export const configTools = [
40
40
  type: "object",
41
41
  properties: {
42
42
  key: { type: "string", description: "Config key path" },
43
- value: { description: "New value" },
43
+ value: { type: "string", description: "New value" },
44
44
  },
45
45
  required: ["key", "value"],
46
46
  },
@@ -1 +1 @@
1
- {"version":3,"file":"config-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/config-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/config-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/hooks-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,gBAAgB,CAAC;AAsC7D,eAAO,MAAM,UAAU,EAAE,OAAO,EAsF/B,CAAC"}
1
+ {"version":3,"file":"hooks-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/hooks-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,gBAAgB,CAAC;AAuE7D,eAAO,MAAM,UAAU,EAAE,OAAO,EA4J/B,CAAC"}
@@ -5,7 +5,41 @@
5
5
  import { readFile, writeFile, mkdir } from "node:fs/promises";
6
6
  import { join } from "node:path";
7
7
  import { existsSync } from "node:fs";
8
+ import { execSync, spawn } from "node:child_process";
9
+ import net from "node:net";
8
10
  import { createRoutingEngine } from "../../napi/index.js";
11
+ import { loadConfig } from "../../config.js";
12
+ import { isPortInUse, stopAll } from "../../models/launcher.js";
13
+ function checkPortReachable(port) {
14
+ return new Promise((resolve) => {
15
+ const socket = new net.Socket();
16
+ socket.setTimeout(1000);
17
+ socket.once("connect", () => {
18
+ socket.end();
19
+ resolve(true);
20
+ });
21
+ socket.once("error", () => resolve(false));
22
+ socket.once("timeout", () => resolve(false));
23
+ socket.connect(port, "127.0.0.1");
24
+ });
25
+ }
26
+ async function waitForPortsReady(ports, timeoutMs = 30000) {
27
+ const start = Date.now();
28
+ while (Date.now() - start < timeoutMs) {
29
+ let allReady = true;
30
+ for (const port of ports) {
31
+ const ready = await checkPortReachable(port);
32
+ if (!ready) {
33
+ allReady = false;
34
+ break;
35
+ }
36
+ }
37
+ if (allReady)
38
+ return true;
39
+ await new Promise((resolve) => setTimeout(resolve, 1000));
40
+ }
41
+ return false;
42
+ }
9
43
  const Q_TABLE_DIR = join(process.cwd(), ".aiyoucli");
10
44
  const Q_TABLE_PATH = join(Q_TABLE_DIR, "q-table.json");
11
45
  let router = null;
@@ -51,8 +85,62 @@ export const hooksTools = [
51
85
  required: ["description"],
52
86
  },
53
87
  handler: async (input) => {
88
+ // Execute configured pre_task shell command if present
89
+ const config = loadConfig();
90
+ if (config.hooks?.pre_task) {
91
+ try {
92
+ execSync(config.hooks.pre_task, { stdio: "inherit" });
93
+ }
94
+ catch (err) {
95
+ // Log or handle error but proceed
96
+ console.error(`Error running pre_task hook: ${err}`);
97
+ }
98
+ }
54
99
  const r = await getRouter();
55
- const result = r.route(input.description);
100
+ const taskDescription = input.description;
101
+ const result = r.route(taskDescription);
102
+ // Auto Wake-on-Request local models logic
103
+ const recommendedTier = result.model_tier; // e.g. unimodel, dualmodels, treemodels
104
+ const isResearch = /research|investiga|redacta|write|summary|report|analiza|articulo|redacción/i.test(taskDescription);
105
+ const mode = isResearch ? "research" : "coder";
106
+ const modes = config.routing?.modes;
107
+ if (modes && modes[mode] && modes[mode][recommendedTier]) {
108
+ const tierConfig = modes[mode][recommendedTier];
109
+ const ports = tierConfig.ports || [];
110
+ let portsActive = true;
111
+ for (const port of ports) {
112
+ if (!isPortInUse(port) && !(await checkPortReachable(port))) {
113
+ portsActive = false;
114
+ break;
115
+ }
116
+ }
117
+ if (!portsActive) {
118
+ console.log(`[Hooks Pre-Task] Levantando perfiles para modo ${mode} en Tier ${recommendedTier}...`);
119
+ try {
120
+ // Detener servidores corriendo para evitar colisiones de VRAM
121
+ stopAll();
122
+ }
123
+ catch { }
124
+ // Lanza el script correspondiente en segundo plano
125
+ const scriptName = `${recommendedTier}.sh`;
126
+ const scriptPath = join(config.projectRoot, "scripts", scriptName);
127
+ try {
128
+ const child = spawn("bash", [scriptPath, mode], { detached: true, stdio: "ignore" });
129
+ child.unref();
130
+ console.log(`[Hooks Pre-Task] Esperando a que los puertos [${ports.join(", ")}] esten listos...`);
131
+ const ready = await waitForPortsReady(ports);
132
+ if (ready) {
133
+ console.log(`[Hooks Pre-Task] Modelos iniciados y listos en modo ${mode}.`);
134
+ }
135
+ else {
136
+ console.warn(`[Hooks Pre-Task] Advertencia: Algunos modelos no respondieron a tiempo.`);
137
+ }
138
+ }
139
+ catch (err) {
140
+ console.error(`[Hooks Pre-Task] Error al arrancar lanzador: ${err}`);
141
+ }
142
+ }
143
+ }
56
144
  return json({
57
145
  recommended_agent: result.route,
58
146
  model_tier: result.model_tier,
@@ -78,6 +166,16 @@ export const hooksTools = [
78
166
  const reward = input.success ? 1.0 : -0.5;
79
167
  r.recordReward(input.description, input.agent, reward);
80
168
  await persistQTable();
169
+ // Execute configured post_task shell command if present
170
+ const config = loadConfig();
171
+ if (config.hooks?.post_task) {
172
+ try {
173
+ execSync(config.hooks.post_task, { stdio: "inherit" });
174
+ }
175
+ catch (err) {
176
+ console.error(`Error running post_task hook: ${err}`);
177
+ }
178
+ }
81
179
  return text(`Recorded ${input.success ? "success" : "failure"} for ${input.agent} (Q-table saved)`);
82
180
  },
83
181
  },
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/hooks-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/hooks-tools.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Tool module aggregator — registers all 14 tool modules.
2
+ * Tool module aggregator — registers all tool modules.
3
3
  */
4
4
  export declare function registerAllTools(): void;
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAsBH,wBAAgB,gBAAgB,IAAI,IAAI,CAmBvC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AA4BH,wBAAgB,gBAAgB,IAAI,IAAI,CAyBvC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Tool module aggregator — registers all 14 tool modules.
2
+ * Tool module aggregator — registers all tool modules.
3
3
  */
4
4
  import { registry } from "../client.js";
5
5
  import { memoryTools } from "./memory-tools.js";
@@ -20,6 +20,12 @@ import { statuslineTools } from "./statusline-tools.js";
20
20
  import { metricsTools } from "./metrics-tools.js";
21
21
  import { distillerTools } from "./distiller-tools.js";
22
22
  import { skillsTools } from "./skills-tools.js";
23
+ import { proxyTools } from "./proxy-tools.js";
24
+ import { astTools } from "./ast-tools.js";
25
+ import { semanticTools } from "./semantic-tools.js";
26
+ import { modelsTools } from "./models-tools.js";
27
+ import { modelEngineTools } from "./model-engine-tools.js";
28
+ import { rdTools } from "./rd-tools.js";
23
29
  export function registerAllTools() {
24
30
  registry.registerAll(memoryTools);
25
31
  registry.registerAll(agentTools);
@@ -39,5 +45,11 @@ export function registerAllTools() {
39
45
  registry.registerAll(metricsTools);
40
46
  registry.registerAll(distillerTools);
41
47
  registry.registerAll(skillsTools);
48
+ registry.registerAll(proxyTools);
49
+ registry.registerAll(astTools);
50
+ registry.registerAll(semanticTools);
51
+ registry.registerAll(modelsTools);
52
+ registry.registerAll(modelEngineTools);
53
+ registry.registerAll(rdTools);
42
54
  }
43
55
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,UAAU,gBAAgB;IAC9B,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAClC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAClC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAClC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAClC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACvC,QAAQ,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IACxC,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IACtC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/tools/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { MCPTool } from "../../types.js";
2
+ export declare const modelEngineTools: MCPTool[];
3
+ //# sourceMappingURL=model-engine-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-engine-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/model-engine-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,gBAAgB,CAAC;AAU7D,eAAO,MAAM,gBAAgB,EAAE,OAAO,EAwCrC,CAAC"}