@aiyou-dev/cli 0.1.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.
Files changed (179) hide show
  1. package/bin/aiyoucli-mcp.js +7 -0
  2. package/bin/aiyoucli.js +29 -0
  3. package/dist/commands/index.d.ts +9 -0
  4. package/dist/commands/index.d.ts.map +1 -0
  5. package/dist/commands/index.js +968 -0
  6. package/dist/commands/index.js.map +1 -0
  7. package/dist/config.d.ts +6 -0
  8. package/dist/config.d.ts.map +1 -0
  9. package/dist/config.js +99 -0
  10. package/dist/config.js.map +1 -0
  11. package/dist/index.d.ts +18 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +149 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/init/agentsmd-generator.d.ts +13 -0
  16. package/dist/init/agentsmd-generator.d.ts.map +1 -0
  17. package/dist/init/agentsmd-generator.js +138 -0
  18. package/dist/init/agentsmd-generator.js.map +1 -0
  19. package/dist/init/interactive.d.ts +6 -0
  20. package/dist/init/interactive.d.ts.map +1 -0
  21. package/dist/init/interactive.js +288 -0
  22. package/dist/init/interactive.js.map +1 -0
  23. package/dist/init/settings-generator.d.ts +17 -0
  24. package/dist/init/settings-generator.d.ts.map +1 -0
  25. package/dist/init/settings-generator.js +132 -0
  26. package/dist/init/settings-generator.js.map +1 -0
  27. package/dist/mcp/client.d.ts +27 -0
  28. package/dist/mcp/client.d.ts.map +1 -0
  29. package/dist/mcp/client.js +93 -0
  30. package/dist/mcp/client.js.map +1 -0
  31. package/dist/mcp/server.d.ts +8 -0
  32. package/dist/mcp/server.d.ts.map +1 -0
  33. package/dist/mcp/server.js +74 -0
  34. package/dist/mcp/server.js.map +1 -0
  35. package/dist/mcp/tools/agent-tools.d.ts +6 -0
  36. package/dist/mcp/tools/agent-tools.d.ts.map +1 -0
  37. package/dist/mcp/tools/agent-tools.js +196 -0
  38. package/dist/mcp/tools/agent-tools.js.map +1 -0
  39. package/dist/mcp/tools/analyze-tools.d.ts +6 -0
  40. package/dist/mcp/tools/analyze-tools.d.ts.map +1 -0
  41. package/dist/mcp/tools/analyze-tools.js +49 -0
  42. package/dist/mcp/tools/analyze-tools.js.map +1 -0
  43. package/dist/mcp/tools/config-tools.d.ts +6 -0
  44. package/dist/mcp/tools/config-tools.d.ts.map +1 -0
  45. package/dist/mcp/tools/config-tools.js +69 -0
  46. package/dist/mcp/tools/config-tools.js.map +1 -0
  47. package/dist/mcp/tools/coordination-tools.d.ts +6 -0
  48. package/dist/mcp/tools/coordination-tools.d.ts.map +1 -0
  49. package/dist/mcp/tools/coordination-tools.js +44 -0
  50. package/dist/mcp/tools/coordination-tools.js.map +1 -0
  51. package/dist/mcp/tools/distiller-tools.d.ts +7 -0
  52. package/dist/mcp/tools/distiller-tools.d.ts.map +1 -0
  53. package/dist/mcp/tools/distiller-tools.js +50 -0
  54. package/dist/mcp/tools/distiller-tools.js.map +1 -0
  55. package/dist/mcp/tools/gcc-tools.d.ts +6 -0
  56. package/dist/mcp/tools/gcc-tools.d.ts.map +1 -0
  57. package/dist/mcp/tools/gcc-tools.js +37 -0
  58. package/dist/mcp/tools/gcc-tools.js.map +1 -0
  59. package/dist/mcp/tools/hooks-tools.d.ts +7 -0
  60. package/dist/mcp/tools/hooks-tools.d.ts.map +1 -0
  61. package/dist/mcp/tools/hooks-tools.js +125 -0
  62. package/dist/mcp/tools/hooks-tools.js.map +1 -0
  63. package/dist/mcp/tools/index.d.ts +5 -0
  64. package/dist/mcp/tools/index.d.ts.map +1 -0
  65. package/dist/mcp/tools/index.js +43 -0
  66. package/dist/mcp/tools/index.js.map +1 -0
  67. package/dist/mcp/tools/memory-tools.d.ts +7 -0
  68. package/dist/mcp/tools/memory-tools.d.ts.map +1 -0
  69. package/dist/mcp/tools/memory-tools.js +153 -0
  70. package/dist/mcp/tools/memory-tools.js.map +1 -0
  71. package/dist/mcp/tools/metrics-tools.d.ts +6 -0
  72. package/dist/mcp/tools/metrics-tools.d.ts.map +1 -0
  73. package/dist/mcp/tools/metrics-tools.js +126 -0
  74. package/dist/mcp/tools/metrics-tools.js.map +1 -0
  75. package/dist/mcp/tools/neural-tools.d.ts +11 -0
  76. package/dist/mcp/tools/neural-tools.d.ts.map +1 -0
  77. package/dist/mcp/tools/neural-tools.js +68 -0
  78. package/dist/mcp/tools/neural-tools.js.map +1 -0
  79. package/dist/mcp/tools/performance-tools.d.ts +6 -0
  80. package/dist/mcp/tools/performance-tools.d.ts.map +1 -0
  81. package/dist/mcp/tools/performance-tools.js +54 -0
  82. package/dist/mcp/tools/performance-tools.js.map +1 -0
  83. package/dist/mcp/tools/security-tools.d.ts +6 -0
  84. package/dist/mcp/tools/security-tools.d.ts.map +1 -0
  85. package/dist/mcp/tools/security-tools.js +51 -0
  86. package/dist/mcp/tools/security-tools.js.map +1 -0
  87. package/dist/mcp/tools/session-tools.d.ts +6 -0
  88. package/dist/mcp/tools/session-tools.d.ts.map +1 -0
  89. package/dist/mcp/tools/session-tools.js +85 -0
  90. package/dist/mcp/tools/session-tools.js.map +1 -0
  91. package/dist/mcp/tools/skills-tools.d.ts +9 -0
  92. package/dist/mcp/tools/skills-tools.d.ts.map +1 -0
  93. package/dist/mcp/tools/skills-tools.js +167 -0
  94. package/dist/mcp/tools/skills-tools.js.map +1 -0
  95. package/dist/mcp/tools/statusline-tools.d.ts +6 -0
  96. package/dist/mcp/tools/statusline-tools.d.ts.map +1 -0
  97. package/dist/mcp/tools/statusline-tools.js +26 -0
  98. package/dist/mcp/tools/statusline-tools.js.map +1 -0
  99. package/dist/mcp/tools/swarm-tools.d.ts +6 -0
  100. package/dist/mcp/tools/swarm-tools.d.ts.map +1 -0
  101. package/dist/mcp/tools/swarm-tools.js +75 -0
  102. package/dist/mcp/tools/swarm-tools.js.map +1 -0
  103. package/dist/mcp/tools/system-tools.d.ts +6 -0
  104. package/dist/mcp/tools/system-tools.d.ts.map +1 -0
  105. package/dist/mcp/tools/system-tools.js +68 -0
  106. package/dist/mcp/tools/system-tools.js.map +1 -0
  107. package/dist/mcp/tools/task-tools.d.ts +6 -0
  108. package/dist/mcp/tools/task-tools.d.ts.map +1 -0
  109. package/dist/mcp/tools/task-tools.js +102 -0
  110. package/dist/mcp/tools/task-tools.js.map +1 -0
  111. package/dist/mcp/types.d.ts +19 -0
  112. package/dist/mcp/types.d.ts.map +1 -0
  113. package/dist/mcp/types.js +5 -0
  114. package/dist/mcp/types.js.map +1 -0
  115. package/dist/metrics/benchmark.d.ts +95 -0
  116. package/dist/metrics/benchmark.d.ts.map +1 -0
  117. package/dist/metrics/benchmark.js +195 -0
  118. package/dist/metrics/benchmark.js.map +1 -0
  119. package/dist/metrics/builtin-benchmarks.d.ts +9 -0
  120. package/dist/metrics/builtin-benchmarks.d.ts.map +1 -0
  121. package/dist/metrics/builtin-benchmarks.js +171 -0
  122. package/dist/metrics/builtin-benchmarks.js.map +1 -0
  123. package/dist/metrics/collector.d.ts +89 -0
  124. package/dist/metrics/collector.d.ts.map +1 -0
  125. package/dist/metrics/collector.js +181 -0
  126. package/dist/metrics/collector.js.map +1 -0
  127. package/dist/napi/index.d.ts +159 -0
  128. package/dist/napi/index.d.ts.map +1 -0
  129. package/dist/napi/index.js +111 -0
  130. package/dist/napi/index.js.map +1 -0
  131. package/dist/output.d.ts +44 -0
  132. package/dist/output.d.ts.map +1 -0
  133. package/dist/output.js +138 -0
  134. package/dist/output.js.map +1 -0
  135. package/dist/parser.d.ts +12 -0
  136. package/dist/parser.d.ts.map +1 -0
  137. package/dist/parser.js +135 -0
  138. package/dist/parser.js.map +1 -0
  139. package/dist/production/circuit-breaker.d.ts +31 -0
  140. package/dist/production/circuit-breaker.d.ts.map +1 -0
  141. package/dist/production/circuit-breaker.js +87 -0
  142. package/dist/production/circuit-breaker.js.map +1 -0
  143. package/dist/production/error-handler.d.ts +13 -0
  144. package/dist/production/error-handler.d.ts.map +1 -0
  145. package/dist/production/error-handler.js +52 -0
  146. package/dist/production/error-handler.js.map +1 -0
  147. package/dist/production/index.d.ts +9 -0
  148. package/dist/production/index.d.ts.map +1 -0
  149. package/dist/production/index.js +5 -0
  150. package/dist/production/index.js.map +1 -0
  151. package/dist/production/rate-limiter.d.ts +22 -0
  152. package/dist/production/rate-limiter.d.ts.map +1 -0
  153. package/dist/production/rate-limiter.js +44 -0
  154. package/dist/production/rate-limiter.js.map +1 -0
  155. package/dist/production/retry.d.ts +9 -0
  156. package/dist/production/retry.d.ts.map +1 -0
  157. package/dist/production/retry.js +32 -0
  158. package/dist/production/retry.js.map +1 -0
  159. package/dist/services/worker-daemon.d.ts +44 -0
  160. package/dist/services/worker-daemon.d.ts.map +1 -0
  161. package/dist/services/worker-daemon.js +99 -0
  162. package/dist/services/worker-daemon.js.map +1 -0
  163. package/dist/services/worker-queue.d.ts +38 -0
  164. package/dist/services/worker-queue.d.ts.map +1 -0
  165. package/dist/services/worker-queue.js +86 -0
  166. package/dist/services/worker-queue.js.map +1 -0
  167. package/dist/statusline/generator.d.ts +12 -0
  168. package/dist/statusline/generator.d.ts.map +1 -0
  169. package/dist/statusline/generator.js +361 -0
  170. package/dist/statusline/generator.js.map +1 -0
  171. package/dist/suggest.d.ts +5 -0
  172. package/dist/suggest.d.ts.map +1 -0
  173. package/dist/suggest.js +40 -0
  174. package/dist/suggest.js.map +1 -0
  175. package/dist/types.d.ts +112 -0
  176. package/dist/types.d.ts.map +1 -0
  177. package/dist/types.js +23 -0
  178. package/dist/types.js.map +1 -0
  179. package/package.json +64 -0
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Hooks tools — lifecycle hooks for pre/post task, routing, workers.
3
+ * Q-table persisted to .aiyoucli/q-table.json between sessions.
4
+ */
5
+ import type { MCPTool } from "../../types.js";
6
+ export declare const hooksTools: MCPTool[];
7
+ //# sourceMappingURL=hooks-tools.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Hooks tools — lifecycle hooks for pre/post task, routing, workers.
3
+ * Q-table persisted to .aiyoucli/q-table.json between sessions.
4
+ */
5
+ import { readFile, writeFile, mkdir } from "node:fs/promises";
6
+ import { join } from "node:path";
7
+ import { existsSync } from "node:fs";
8
+ import { createRoutingEngine } from "../../napi/index.js";
9
+ const Q_TABLE_DIR = join(process.cwd(), ".aiyoucli");
10
+ const Q_TABLE_PATH = join(Q_TABLE_DIR, "q-table.json");
11
+ let router = null;
12
+ async function getRouter() {
13
+ if (!router) {
14
+ router = createRoutingEngine();
15
+ // Load persisted Q-table if it exists
16
+ if (existsSync(Q_TABLE_PATH)) {
17
+ try {
18
+ const data = await readFile(Q_TABLE_PATH, "utf-8");
19
+ router.importQTable(data);
20
+ }
21
+ catch {
22
+ // Corrupted file — start fresh
23
+ }
24
+ }
25
+ }
26
+ return router;
27
+ }
28
+ async function persistQTable() {
29
+ if (!router)
30
+ return;
31
+ try {
32
+ await mkdir(Q_TABLE_DIR, { recursive: true });
33
+ const data = router.exportQTable();
34
+ await writeFile(Q_TABLE_PATH, data);
35
+ }
36
+ catch {
37
+ // Non-critical — best effort persistence
38
+ }
39
+ }
40
+ function text(t) { return { content: [{ type: "text", text: t }] }; }
41
+ function json(d) { return { content: [{ type: "text", text: JSON.stringify(d, null, 2) }] }; }
42
+ export const hooksTools = [
43
+ {
44
+ name: "hooks_pre_task",
45
+ description: "Pre-task hook — get routing recommendation before starting work",
46
+ inputSchema: {
47
+ type: "object",
48
+ properties: {
49
+ description: { type: "string", description: "Task description" },
50
+ },
51
+ required: ["description"],
52
+ },
53
+ handler: async (input) => {
54
+ const r = await getRouter();
55
+ const result = r.route(input.description);
56
+ return json({
57
+ recommended_agent: result.route,
58
+ model_tier: result.model_tier,
59
+ confidence: result.confidence,
60
+ alternatives: result.alternatives,
61
+ });
62
+ },
63
+ },
64
+ {
65
+ name: "hooks_post_task",
66
+ description: "Post-task hook — record outcome for learning, persists Q-table to disk",
67
+ inputSchema: {
68
+ type: "object",
69
+ properties: {
70
+ description: { type: "string", description: "Task description" },
71
+ agent: { type: "string", description: "Agent type that was used" },
72
+ success: { type: "boolean", description: "Whether the task succeeded" },
73
+ },
74
+ required: ["description", "agent", "success"],
75
+ },
76
+ handler: async (input) => {
77
+ const r = await getRouter();
78
+ const reward = input.success ? 1.0 : -0.5;
79
+ r.recordReward(input.description, input.agent, reward);
80
+ await persistQTable();
81
+ return text(`Recorded ${input.success ? "success" : "failure"} for ${input.agent} (Q-table saved)`);
82
+ },
83
+ },
84
+ {
85
+ name: "hooks_route",
86
+ description: "Route a task to the optimal agent type",
87
+ inputSchema: {
88
+ type: "object",
89
+ properties: {
90
+ task: { type: "string", description: "Task description" },
91
+ },
92
+ required: ["task"],
93
+ },
94
+ handler: async (input) => {
95
+ const r = await getRouter();
96
+ return json(r.route(input.task));
97
+ },
98
+ },
99
+ {
100
+ name: "hooks_model_route",
101
+ description: "Select optimal model tier (haiku/sonnet/opus) for a task",
102
+ inputSchema: {
103
+ type: "object",
104
+ properties: {
105
+ task: { type: "string", description: "Task description" },
106
+ },
107
+ required: ["task"],
108
+ },
109
+ handler: async (input) => {
110
+ const r = await getRouter();
111
+ const tier = r.selectModelTier(input.task);
112
+ return json({ model: tier });
113
+ },
114
+ },
115
+ {
116
+ name: "hooks_stats",
117
+ description: "Get routing engine statistics",
118
+ inputSchema: { type: "object", properties: {} },
119
+ handler: async () => {
120
+ const r = await getRouter();
121
+ return json(r.stats());
122
+ },
123
+ },
124
+ ];
125
+ //# sourceMappingURL=hooks-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/hooks-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Tool module aggregator — registers all 14 tool modules.
3
+ */
4
+ export declare function registerAllTools(): void;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Tool module aggregator — registers all 14 tool modules.
3
+ */
4
+ import { registry } from "../client.js";
5
+ import { memoryTools } from "./memory-tools.js";
6
+ import { agentTools } from "./agent-tools.js";
7
+ import { swarmTools } from "./swarm-tools.js";
8
+ import { taskTools } from "./task-tools.js";
9
+ import { sessionTools } from "./session-tools.js";
10
+ import { hooksTools } from "./hooks-tools.js";
11
+ import { configTools } from "./config-tools.js";
12
+ import { systemTools } from "./system-tools.js";
13
+ import { analyzeTools } from "./analyze-tools.js";
14
+ import { neuralTools } from "./neural-tools.js";
15
+ import { gccTools } from "./gcc-tools.js";
16
+ import { securityTools } from "./security-tools.js";
17
+ import { performanceTools } from "./performance-tools.js";
18
+ import { coordinationTools } from "./coordination-tools.js";
19
+ import { statuslineTools } from "./statusline-tools.js";
20
+ import { metricsTools } from "./metrics-tools.js";
21
+ import { distillerTools } from "./distiller-tools.js";
22
+ import { skillsTools } from "./skills-tools.js";
23
+ export function registerAllTools() {
24
+ registry.registerAll(memoryTools);
25
+ registry.registerAll(agentTools);
26
+ registry.registerAll(swarmTools);
27
+ registry.registerAll(taskTools);
28
+ registry.registerAll(sessionTools);
29
+ registry.registerAll(hooksTools);
30
+ registry.registerAll(configTools);
31
+ registry.registerAll(systemTools);
32
+ registry.registerAll(analyzeTools);
33
+ registry.registerAll(neuralTools);
34
+ registry.registerAll(gccTools);
35
+ registry.registerAll(securityTools);
36
+ registry.registerAll(performanceTools);
37
+ registry.registerAll(coordinationTools);
38
+ registry.registerAll(statuslineTools);
39
+ registry.registerAll(metricsTools);
40
+ registry.registerAll(distillerTools);
41
+ registry.registerAll(skillsTools);
42
+ }
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Memory tools — vector store/search/list via NAPI (aiyouvector-core).
3
+ * Persistent by default: stores vectors at .aiyoucli/vectors/ and config at .aiyoucli/memory-config.json.
4
+ */
5
+ import type { MCPTool } from "../../types.js";
6
+ export declare const memoryTools: MCPTool[];
7
+ //# sourceMappingURL=memory-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/memory-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,gBAAgB,CAAC;AAoD7D,eAAO,MAAM,WAAW,EAAE,OAAO,EAuHhC,CAAC"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Memory tools — vector store/search/list via NAPI (aiyouvector-core).
3
+ * Persistent by default: stores vectors at .aiyoucli/vectors/ and config at .aiyoucli/memory-config.json.
4
+ */
5
+ import { inMemoryVectorDB, openVectorDB } from "../../napi/index.js";
6
+ import { readFileSync, writeFileSync, mkdirSync, existsSync } from "node:fs";
7
+ import { join, resolve } from "node:path";
8
+ const AIYOUCLI_DIR = join(process.cwd(), ".aiyoucli");
9
+ const CONFIG_PATH = join(AIYOUCLI_DIR, "memory-config.json");
10
+ const DEFAULT_VECTORS_PATH = join(AIYOUCLI_DIR, "vectors.redb");
11
+ function loadConfig() {
12
+ if (existsSync(CONFIG_PATH)) {
13
+ try {
14
+ return JSON.parse(readFileSync(CONFIG_PATH, "utf-8"));
15
+ }
16
+ catch { /* fall through */ }
17
+ }
18
+ return { path: DEFAULT_VECTORS_PATH, dimensions: 384, hnsw: true };
19
+ }
20
+ function saveConfig(config) {
21
+ mkdirSync(AIYOUCLI_DIR, { recursive: true });
22
+ writeFileSync(CONFIG_PATH, JSON.stringify(config, null, 2));
23
+ }
24
+ let db = null;
25
+ function getDB() {
26
+ if (!db) {
27
+ const config = loadConfig();
28
+ if (config.path) {
29
+ mkdirSync(AIYOUCLI_DIR, { recursive: true });
30
+ db = openVectorDB(config.path, config.dimensions);
31
+ }
32
+ else {
33
+ db = inMemoryVectorDB(config.dimensions, config.hnsw);
34
+ }
35
+ }
36
+ return db;
37
+ }
38
+ function textResult(text) {
39
+ return { content: [{ type: "text", text }] };
40
+ }
41
+ function jsonResult(data) {
42
+ return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
43
+ }
44
+ export const memoryTools = [
45
+ {
46
+ name: "memory_init",
47
+ description: "Initialize the vector memory database. Persistent by default (stored in .aiyoucli/vectors/).",
48
+ inputSchema: {
49
+ type: "object",
50
+ properties: {
51
+ path: { type: "string", description: "Storage path (default: .aiyoucli/vectors/). Use 'memory' for in-memory only." },
52
+ dimensions: { type: "number", description: "Vector dimensions (default: 384)" },
53
+ enable_hnsw: { type: "boolean", description: "Enable HNSW index (default: true)" },
54
+ },
55
+ },
56
+ handler: async (input) => {
57
+ const rawPath = input.path;
58
+ const dims = input.dimensions ?? 384;
59
+ const hnsw = input.enable_hnsw ?? true;
60
+ const isMemoryOnly = rawPath === "memory";
61
+ if (rawPath && !isMemoryOnly) {
62
+ const resolved = resolve(rawPath);
63
+ const allowedDir = resolve(AIYOUCLI_DIR);
64
+ if (!resolved.startsWith(allowedDir + "/") && resolved !== allowedDir) {
65
+ throw new Error(`Storage path must be within .aiyoucli/: ${resolved}`);
66
+ }
67
+ }
68
+ const storagePath = isMemoryOnly ? null : (rawPath ?? DEFAULT_VECTORS_PATH);
69
+ const config = { path: storagePath, dimensions: dims, hnsw };
70
+ saveConfig(config);
71
+ // Reset singleton so next getDB() picks up new config
72
+ db = null;
73
+ const indexType = hnsw ? "HNSW" : "flat";
74
+ const location = isMemoryOnly ? "in-memory" : storagePath;
75
+ return textResult(`Memory initialized (${location}, ${dims}d, ${indexType})`);
76
+ },
77
+ },
78
+ {
79
+ name: "memory_store",
80
+ description: "Store a vector with optional ID and metadata",
81
+ inputSchema: {
82
+ type: "object",
83
+ properties: {
84
+ vector: { type: "array", items: { type: "number" }, description: "Vector to store" },
85
+ id: { type: "string", description: "Optional ID" },
86
+ metadata: { type: "object", description: "Optional metadata" },
87
+ },
88
+ required: ["vector"],
89
+ },
90
+ handler: async (input) => {
91
+ const vector = input.vector;
92
+ const id = input.id;
93
+ const metadata = input.metadata;
94
+ const config = loadConfig();
95
+ if (vector.length !== config.dimensions) {
96
+ throw new Error(`Vector has ${vector.length} dimensions, expected ${config.dimensions}`);
97
+ }
98
+ const resultId = getDB().insert(vector, id, metadata ? JSON.parse(JSON.stringify(metadata)) : undefined);
99
+ return textResult(`Stored vector: ${resultId}`);
100
+ },
101
+ },
102
+ {
103
+ name: "memory_search",
104
+ description: "Search for similar vectors using HNSW index",
105
+ inputSchema: {
106
+ type: "object",
107
+ properties: {
108
+ vector: { type: "array", items: { type: "number" }, description: "Query vector" },
109
+ k: { type: "number", description: "Number of results (default: 5)" },
110
+ },
111
+ required: ["vector"],
112
+ },
113
+ handler: async (input) => {
114
+ const vector = input.vector;
115
+ const k = Math.min(Math.max(input.k ?? 5, 1), 1000);
116
+ const results = getDB().search(vector, k);
117
+ return jsonResult(results);
118
+ },
119
+ },
120
+ {
121
+ name: "memory_count",
122
+ description: "Get the number of vectors in memory",
123
+ inputSchema: { type: "object", properties: {} },
124
+ handler: async () => {
125
+ return textResult(`Vectors: ${getDB().count()}`);
126
+ },
127
+ },
128
+ {
129
+ name: "memory_stats",
130
+ description: "Get memory database statistics",
131
+ inputSchema: { type: "object", properties: {} },
132
+ handler: async () => {
133
+ return jsonResult(getDB().stats());
134
+ },
135
+ },
136
+ {
137
+ name: "memory_delete",
138
+ description: "Delete a vector by ID",
139
+ inputSchema: {
140
+ type: "object",
141
+ properties: {
142
+ id: { type: "string", description: "Vector ID to delete" },
143
+ },
144
+ required: ["id"],
145
+ },
146
+ handler: async (input) => {
147
+ const id = input.id;
148
+ const deleted = getDB().delete(id);
149
+ return textResult(deleted ? `Deleted: ${id}` : `Not found: ${id}`);
150
+ },
151
+ },
152
+ ];
153
+ //# sourceMappingURL=memory-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/memory-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * MCP tools for metrics — token usage, cost, latency, memory.
3
+ */
4
+ import type { MCPTool } from "../../types.js";
5
+ export declare const metricsTools: MCPTool[];
6
+ //# sourceMappingURL=metrics-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/metrics-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,YAAY,EAAE,OAAO,EA4HjC,CAAC"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * MCP tools for metrics — token usage, cost, latency, memory.
3
+ */
4
+ import { metrics } from "../../metrics/collector.js";
5
+ export const metricsTools = [
6
+ {
7
+ name: "metrics_snapshot",
8
+ description: "Get a full metrics snapshot: tokens, cost, tool call stats, memory usage, latency percentiles.",
9
+ inputSchema: {
10
+ type: "object",
11
+ properties: {
12
+ model_tier: {
13
+ type: "string",
14
+ description: 'Model tier for cost calculation (opus/sonnet/haiku). Auto-detected if omitted.',
15
+ },
16
+ },
17
+ },
18
+ handler: async (input) => {
19
+ const tier = input.model_tier;
20
+ const snap = metrics.snapshot(tier);
21
+ return {
22
+ content: [{ type: "text", text: JSON.stringify(snap, null, 2) }],
23
+ };
24
+ },
25
+ },
26
+ {
27
+ name: "metrics_record_tokens",
28
+ description: "Record token usage from an LLM response.",
29
+ inputSchema: {
30
+ type: "object",
31
+ properties: {
32
+ input_tokens: { type: "number", description: "Input tokens consumed" },
33
+ output_tokens: { type: "number", description: "Output tokens generated" },
34
+ cache_read_tokens: { type: "number", description: "Tokens read from cache" },
35
+ cache_write_tokens: { type: "number", description: "Tokens written to cache" },
36
+ },
37
+ },
38
+ handler: async (input) => {
39
+ metrics.recordTokens({
40
+ inputTokens: input.input_tokens ?? 0,
41
+ outputTokens: input.output_tokens ?? 0,
42
+ cacheReadTokens: input.cache_read_tokens ?? 0,
43
+ cacheWriteTokens: input.cache_write_tokens ?? 0,
44
+ });
45
+ return {
46
+ content: [{ type: "text", text: JSON.stringify(metrics.getTokens()) }],
47
+ };
48
+ },
49
+ },
50
+ {
51
+ name: "metrics_cost",
52
+ description: "Calculate estimated cost based on recorded token usage. Returns input/output/total in USD.",
53
+ inputSchema: {
54
+ type: "object",
55
+ properties: {
56
+ model_tier: {
57
+ type: "string",
58
+ description: "Model tier (opus/sonnet/haiku). Auto-detected if omitted.",
59
+ },
60
+ },
61
+ },
62
+ handler: async (input) => {
63
+ const tier = input.model_tier;
64
+ const cost = metrics.calculateCost(tier);
65
+ return {
66
+ content: [{ type: "text", text: JSON.stringify(cost, null, 2) }],
67
+ };
68
+ },
69
+ },
70
+ {
71
+ name: "metrics_memory",
72
+ description: "Get current process memory usage (heap, RSS, external).",
73
+ inputSchema: { type: "object", properties: {} },
74
+ handler: async () => {
75
+ const mem = metrics.getMemoryMetrics();
76
+ return {
77
+ content: [{ type: "text", text: JSON.stringify(mem, null, 2) }],
78
+ };
79
+ },
80
+ },
81
+ {
82
+ name: "metrics_latency",
83
+ description: "Get tool call latency stats (avg, p50, p95, p99, max).",
84
+ inputSchema: { type: "object", properties: {} },
85
+ handler: async () => {
86
+ const lat = metrics.getLatencyMetrics();
87
+ return {
88
+ content: [{ type: "text", text: JSON.stringify(lat, null, 2) }],
89
+ };
90
+ },
91
+ },
92
+ {
93
+ name: "metrics_tools_summary",
94
+ description: "Get per-tool call statistics: count, avg latency, error rate.",
95
+ inputSchema: { type: "object", properties: {} },
96
+ handler: async () => {
97
+ const summary = metrics.getToolCallSummary();
98
+ return {
99
+ content: [{ type: "text", text: JSON.stringify(summary, null, 2) }],
100
+ };
101
+ },
102
+ },
103
+ {
104
+ name: "metrics_save",
105
+ description: "Persist current session metrics to .aiyoucli/metrics/.",
106
+ inputSchema: { type: "object", properties: {} },
107
+ handler: async () => {
108
+ const filepath = await metrics.save();
109
+ return {
110
+ content: [{ type: "text", text: `Metrics saved to ${filepath}` }],
111
+ };
112
+ },
113
+ },
114
+ {
115
+ name: "metrics_reset",
116
+ description: "Reset all accumulated metrics for a fresh session.",
117
+ inputSchema: { type: "object", properties: {} },
118
+ handler: async () => {
119
+ metrics.reset();
120
+ return {
121
+ content: [{ type: "text", text: "Metrics reset" }],
122
+ };
123
+ },
124
+ },
125
+ ];
126
+ //# sourceMappingURL=metrics-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/metrics-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Neural tools — SONA learning engine via NAPI.
3
+ *
4
+ * Note: SONA state is in-memory only — it accumulates within a single process.
5
+ * In MCP mode (persistent server), observations build up across tool calls.
6
+ * In CLI mode (one process per command), each invocation starts fresh.
7
+ * Use `neural observe` + `neural learn` in the same MCP session for full learning cycles.
8
+ */
9
+ import type { MCPTool } from "../../types.js";
10
+ export declare const neuralTools: MCPTool[];
11
+ //# sourceMappingURL=neural-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neural-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/neural-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,gBAAgB,CAAC;AAY7D,eAAO,MAAM,WAAW,EAAE,OAAO,EAqDhC,CAAC"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Neural tools — SONA learning engine via NAPI.
3
+ *
4
+ * Note: SONA state is in-memory only — it accumulates within a single process.
5
+ * In MCP mode (persistent server), observations build up across tool calls.
6
+ * In CLI mode (one process per command), each invocation starts fresh.
7
+ * Use `neural observe` + `neural learn` in the same MCP session for full learning cycles.
8
+ */
9
+ import { createSonaEngine } from "../../napi/index.js";
10
+ let sona = null;
11
+ function getSona() {
12
+ if (!sona)
13
+ sona = createSonaEngine();
14
+ return sona;
15
+ }
16
+ function text(t) { return { content: [{ type: "text", text: t }] }; }
17
+ function json(d) { return { content: [{ type: "text", text: JSON.stringify(d, null, 2) }] }; }
18
+ export const neuralTools = [
19
+ {
20
+ name: "neural_observe",
21
+ description: "Submit an observation to the SONA learning engine (accumulates in MCP session, resets per CLI invocation)",
22
+ inputSchema: {
23
+ type: "object",
24
+ properties: {
25
+ embedding: { type: "array", items: { type: "number" }, description: "Observation embedding vector" },
26
+ quality: { type: "number", description: "Quality score 0.0-1.0" },
27
+ kind: { type: "string", description: "Observation kind: commit, test, edit" },
28
+ },
29
+ required: ["embedding", "quality"],
30
+ },
31
+ handler: async (input) => {
32
+ getSona().submitObservation(input.embedding, input.quality, input.kind);
33
+ const stats = getSona().stats();
34
+ return text(`Observation recorded (buffered: ${stats.trajectories_buffered}, total: ${stats.signals_processed})`);
35
+ },
36
+ },
37
+ {
38
+ name: "neural_transform",
39
+ description: "Transform an embedding through learned LoRA weights",
40
+ inputSchema: {
41
+ type: "object",
42
+ properties: {
43
+ embedding: { type: "array", items: { type: "number" }, description: "Input embedding" },
44
+ },
45
+ required: ["embedding"],
46
+ },
47
+ handler: async (input) => {
48
+ const result = getSona().transformEmbedding(input.embedding);
49
+ return json(result);
50
+ },
51
+ },
52
+ {
53
+ name: "neural_learn",
54
+ description: "Force background learning (Loop B) on buffered observations",
55
+ inputSchema: { type: "object", properties: {} },
56
+ handler: async () => {
57
+ const processed = getSona().forceLearn();
58
+ return text(`Processed ${processed} trajectories`);
59
+ },
60
+ },
61
+ {
62
+ name: "neural_stats",
63
+ description: "Get SONA engine statistics (resets per CLI invocation, accumulates in MCP session)",
64
+ inputSchema: { type: "object", properties: {} },
65
+ handler: async () => json(getSona().stats()),
66
+ },
67
+ ];
68
+ //# sourceMappingURL=neural-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neural-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/neural-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Performance tools — benchmarking and profiling.
3
+ */
4
+ import type { MCPTool } from "../../types.js";
5
+ export declare const performanceTools: MCPTool[];
6
+ //# sourceMappingURL=performance-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/performance-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,gBAAgB,CAAC;AAK7D,eAAO,MAAM,gBAAgB,EAAE,OAAO,EAmDrC,CAAC"}