@magic-ingredients/tiny-brain-local 0.8.0 → 0.10.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 (147) hide show
  1. package/dist/agents/formatters/claude-code-formatter.d.ts +37 -0
  2. package/dist/agents/formatters/claude-code-formatter.d.ts.map +1 -0
  3. package/dist/agents/formatters/claude-code-formatter.js +217 -0
  4. package/dist/agents/formatters/claude-code-formatter.js.map +1 -0
  5. package/dist/agents/formatters/formatter-factory.d.ts +25 -0
  6. package/dist/agents/formatters/formatter-factory.d.ts.map +1 -0
  7. package/dist/agents/formatters/formatter-factory.js +61 -0
  8. package/dist/agents/formatters/formatter-factory.js.map +1 -0
  9. package/dist/agents/types.d.ts +68 -0
  10. package/dist/agents/types.d.ts.map +1 -0
  11. package/dist/agents/types.js +12 -0
  12. package/dist/agents/types.js.map +1 -0
  13. package/dist/analyser/analyzers/script-analyzer.d.ts +10 -0
  14. package/dist/analyser/analyzers/script-analyzer.d.ts.map +1 -0
  15. package/dist/analyser/analyzers/script-analyzer.js +205 -0
  16. package/dist/analyser/analyzers/script-analyzer.js.map +1 -0
  17. package/dist/analyser/detectors/base-detector.d.ts +12 -0
  18. package/dist/analyser/detectors/base-detector.d.ts.map +1 -0
  19. package/dist/analyser/detectors/base-detector.js +50 -0
  20. package/dist/analyser/detectors/base-detector.js.map +1 -0
  21. package/dist/analyser/detectors/javascript-detector.d.ts +19 -0
  22. package/dist/analyser/detectors/javascript-detector.d.ts.map +1 -0
  23. package/dist/analyser/detectors/javascript-detector.js +347 -0
  24. package/dist/analyser/detectors/javascript-detector.js.map +1 -0
  25. package/dist/analyser/index.d.ts +5 -0
  26. package/dist/analyser/index.d.ts.map +1 -0
  27. package/dist/analyser/index.js +315 -0
  28. package/dist/analyser/index.js.map +1 -0
  29. package/dist/analyser/types.d.ts +2 -0
  30. package/dist/analyser/types.d.ts.map +1 -0
  31. package/dist/analyser/types.js +2 -0
  32. package/dist/analyser/types.js.map +1 -0
  33. package/dist/analyser/utils.d.ts +5 -0
  34. package/dist/analyser/utils.d.ts.map +1 -0
  35. package/dist/analyser/utils.js +24 -0
  36. package/dist/analyser/utils.js.map +1 -0
  37. package/dist/cli/cli-factory.d.ts.map +1 -1
  38. package/dist/cli/cli-factory.js +17 -0
  39. package/dist/cli/cli-factory.js.map +1 -1
  40. package/dist/cli/commands/analyse.command.d.ts +7 -0
  41. package/dist/cli/commands/analyse.command.d.ts.map +1 -0
  42. package/dist/cli/commands/analyse.command.js +130 -0
  43. package/dist/cli/commands/analyse.command.js.map +1 -0
  44. package/dist/cli/commands/status.command.d.ts.map +1 -1
  45. package/dist/cli/commands/status.command.js +3 -1
  46. package/dist/cli/commands/status.command.js.map +1 -1
  47. package/dist/core/mcp-server.d.ts +10 -8
  48. package/dist/core/mcp-server.d.ts.map +1 -1
  49. package/dist/core/mcp-server.js +93 -85
  50. package/dist/core/mcp-server.js.map +1 -1
  51. package/dist/index.d.ts +3 -0
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +33 -8
  54. package/dist/index.js.map +1 -1
  55. package/dist/prompts/persona/persona.prompt.js +8 -8
  56. package/dist/prompts/persona/persona.prompt.js.map +1 -1
  57. package/dist/prompts/planning/planning.prompt.d.ts +0 -8
  58. package/dist/prompts/planning/planning.prompt.d.ts.map +1 -1
  59. package/dist/prompts/planning/planning.prompt.js +0 -175
  60. package/dist/prompts/planning/planning.prompt.js.map +1 -1
  61. package/dist/services/agent-installation-service.d.ts +101 -0
  62. package/dist/services/agent-installation-service.d.ts.map +1 -0
  63. package/dist/services/agent-installation-service.js +328 -0
  64. package/dist/services/agent-installation-service.js.map +1 -0
  65. package/dist/services/agent-manager.d.ts +45 -0
  66. package/dist/services/agent-manager.d.ts.map +1 -0
  67. package/dist/services/agent-manager.js +154 -0
  68. package/dist/services/agent-manager.js.map +1 -0
  69. package/dist/services/agent-service.d.ts +70 -0
  70. package/dist/services/agent-service.d.ts.map +1 -0
  71. package/dist/services/agent-service.js +273 -0
  72. package/dist/services/agent-service.js.map +1 -0
  73. package/dist/services/analyse-service.d.ts +97 -0
  74. package/dist/services/analyse-service.d.ts.map +1 -0
  75. package/dist/services/analyse-service.js +370 -0
  76. package/dist/services/analyse-service.js.map +1 -0
  77. package/dist/services/dashboard-launcher.service.d.ts +20 -0
  78. package/dist/services/dashboard-launcher.service.d.ts.map +1 -0
  79. package/dist/services/dashboard-launcher.service.js +30 -0
  80. package/dist/services/dashboard-launcher.service.js.map +1 -0
  81. package/dist/services/persona-enhancer.d.ts +52 -0
  82. package/dist/services/persona-enhancer.d.ts.map +1 -0
  83. package/dist/services/persona-enhancer.js +252 -0
  84. package/dist/services/persona-enhancer.js.map +1 -0
  85. package/dist/services/persona-grouper.d.ts +29 -0
  86. package/dist/services/persona-grouper.d.ts.map +1 -0
  87. package/dist/services/persona-grouper.js +111 -0
  88. package/dist/services/persona-grouper.js.map +1 -0
  89. package/dist/services/persona-service.d.ts +52 -0
  90. package/dist/services/persona-service.d.ts.map +1 -0
  91. package/dist/services/{enhanced-persona-service.js → persona-service.js} +125 -7
  92. package/dist/services/persona-service.js.map +1 -0
  93. package/dist/services/remote/auth-token-service.d.ts.map +1 -1
  94. package/dist/services/remote/auth-token-service.js +10 -3
  95. package/dist/services/remote/auth-token-service.js.map +1 -1
  96. package/dist/services/remote/system-persona-service.d.ts.map +1 -1
  97. package/dist/services/remote/system-persona-service.js +41 -10
  98. package/dist/services/remote/system-persona-service.js.map +1 -1
  99. package/dist/services/repo-service.d.ts +195 -0
  100. package/dist/services/repo-service.d.ts.map +1 -0
  101. package/dist/services/repo-service.js +1023 -0
  102. package/dist/services/repo-service.js.map +1 -0
  103. package/dist/services/types/persona-types.d.ts +84 -0
  104. package/dist/services/types/persona-types.d.ts.map +1 -0
  105. package/dist/services/types/persona-types.js +5 -0
  106. package/dist/services/types/persona-types.js.map +1 -0
  107. package/dist/services/versioning-service.d.ts +79 -0
  108. package/dist/services/versioning-service.d.ts.map +1 -0
  109. package/dist/services/versioning-service.js +191 -0
  110. package/dist/services/versioning-service.js.map +1 -0
  111. package/dist/storage/local-filesystem-adapter.d.ts +1 -0
  112. package/dist/storage/local-filesystem-adapter.d.ts.map +1 -1
  113. package/dist/storage/local-filesystem-adapter.js +47 -3
  114. package/dist/storage/local-filesystem-adapter.js.map +1 -1
  115. package/dist/storage/platform-config-adapter.d.ts +9 -0
  116. package/dist/storage/platform-config-adapter.d.ts.map +1 -1
  117. package/dist/storage/platform-config-adapter.js +55 -1
  118. package/dist/storage/platform-config-adapter.js.map +1 -1
  119. package/dist/tools/analyse.tool.d.ts +17 -0
  120. package/dist/tools/analyse.tool.d.ts.map +1 -0
  121. package/dist/tools/analyse.tool.js +124 -0
  122. package/dist/tools/analyse.tool.js.map +1 -0
  123. package/dist/tools/persona/as.tool.d.ts +32 -11
  124. package/dist/tools/persona/as.tool.d.ts.map +1 -1
  125. package/dist/tools/persona/as.tool.js +452 -317
  126. package/dist/tools/persona/as.tool.js.map +1 -1
  127. package/dist/tools/persona/persona.tool.js +2 -2
  128. package/dist/tools/persona/persona.tool.js.map +1 -1
  129. package/dist/tools/plan/plan.tool.d.ts +3 -3
  130. package/dist/tools/plan/plan.tool.d.ts.map +1 -1
  131. package/dist/tools/plan/plan.tool.js +78 -55
  132. package/dist/tools/plan/plan.tool.js.map +1 -1
  133. package/dist/tools/tool-registry.d.ts.map +1 -1
  134. package/dist/tools/tool-registry.js +4 -0
  135. package/dist/tools/tool-registry.js.map +1 -1
  136. package/dist/utils/repo-utils.d.ts +10 -0
  137. package/dist/utils/repo-utils.d.ts.map +1 -0
  138. package/dist/utils/repo-utils.js +55 -0
  139. package/dist/utils/repo-utils.js.map +1 -0
  140. package/package.json +6 -2
  141. package/dist/services/enhanced-persona-service.d.ts +0 -22
  142. package/dist/services/enhanced-persona-service.d.ts.map +0 -1
  143. package/dist/services/enhanced-persona-service.js.map +0 -1
  144. package/dist/services/plan-watcher.service.d.ts +0 -141
  145. package/dist/services/plan-watcher.service.d.ts.map +0 -1
  146. package/dist/services/plan-watcher.service.js +0 -1010
  147. package/dist/services/plan-watcher.service.js.map +0 -1
@@ -1,7 +1,8 @@
1
1
  import { LocalFilesystemStorageAdapter } from './local-filesystem-adapter.js';
2
2
  import { PlatformPathBuilder } from './platform-path-builder.js';
3
- import { promises as fs } from 'fs';
3
+ import { promises as fs, existsSync } from 'fs';
4
4
  import * as path from 'path';
5
+ import { getRepoRoot } from '../utils/repo-utils.js';
5
6
  export class PlatformConfigAdapter extends LocalFilesystemStorageAdapter {
6
7
  platformPathBuilder;
7
8
  constructor(config) {
@@ -124,5 +125,58 @@ export class PlatformConfigAdapter extends LocalFilesystemStorageAdapter {
124
125
  }
125
126
  return !!(config.servers && config.servers[serverName]);
126
127
  }
128
+ /**
129
+ * Get the repository context file path for the current platform
130
+ * This is where repo-specific information is stored (tech stack, conventions, etc.)
131
+ */
132
+ static getRepoContextFile() {
133
+ const platform = PlatformConfigAdapter.detectPlatform();
134
+ const repoRoot = getRepoRoot();
135
+ switch (platform) {
136
+ case 'claude-code':
137
+ // Claude Code uses CLAUDE.md in repo root
138
+ return path.join(repoRoot, 'CLAUDE.md');
139
+ case 'cursor':
140
+ // Cursor uses .cursorrules
141
+ return path.join(repoRoot, '.cursorrules');
142
+ case 'vscode':
143
+ // VS Code might use .vscode/context.md
144
+ return path.join(repoRoot, '.vscode', 'context.md');
145
+ case 'windsurf':
146
+ // Windsurf uses .windsurfrules
147
+ return path.join(repoRoot, '.windsurfrules');
148
+ default:
149
+ // Fallback to .claude/CLAUDE.md
150
+ return path.join(repoRoot, '.claude', 'CLAUDE.md');
151
+ }
152
+ }
153
+ /**
154
+ * Detect the current platform based on environment variables
155
+ */
156
+ static detectPlatform() {
157
+ // Check environment variables
158
+ if (process.env.CLAUDE_CODE || process.env.MCP_SERVER) {
159
+ return 'claude-code';
160
+ }
161
+ if (process.env.CURSOR_IDE) {
162
+ return 'cursor';
163
+ }
164
+ if (process.env.VSCODE) {
165
+ return 'vscode';
166
+ }
167
+ if (process.env.WINDSURF) {
168
+ return 'windsurf';
169
+ }
170
+ // Check for platform-specific files or directories
171
+ const homeDir = process.env.HOME || process.env.USERPROFILE || '';
172
+ if (existsSync(path.join(homeDir, '.claude-code'))) {
173
+ return 'claude-code';
174
+ }
175
+ if (existsSync(path.join(homeDir, 'Library', 'Application Support', 'Claude'))) {
176
+ return 'claude-desktop';
177
+ }
178
+ // Default to unknown
179
+ return 'unknown';
180
+ }
127
181
  }
128
182
  //# sourceMappingURL=platform-config-adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform-config-adapter.js","sourceRoot":"","sources":["../../src/storage/platform-config-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAe,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAM7B,MAAM,OAAO,qBAAsB,SAAQ,6BAA6B;IAC9D,mBAAmB,CAAsB;IAEjD,YAAY,MAAiD;QAC3D,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,QAAgB,EAAE,KAAmB;QAC5D,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC3E,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAsB,CAAC;YACnC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,0CAA0C;gBAC1C,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,QAAgB,EAAE,MAAW,EAAE,KAAmB;QAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE3C,0BAA0B;QAC1B,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/C,uBAAuB;QACvB,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CAAC,QAAgB,EAAE,KAAmB;QAC9D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAE9D,wCAAwC;YACxC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,+BAA+B;YAC/B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAClF,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,CAAC;YAChE,MAAM,UAAU,GAAG,GAAG,QAAQ,IAAI,SAAS,SAAS,CAAC;YACrD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAEpD,iCAAiC;YACjC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE/C,eAAe;YACf,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAEzE,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAsB,CAAC;YACnC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CACzB,QAAgB,EAChB,QAAgB,EAChB,KAAmB;QAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,CAAC;QAChE,MAAM,UAAU,GAAG,GAAG,QAAQ,IAAI,QAAQ,SAAS,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAEpD,cAAc;QACd,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAEzC,2BAA2B;QAC3B,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,QAAgB,EAChB,UAAkB,EAClB,YAIC,EACD,KAAmB;QAEnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAE9D,qCAAqC;QACrC,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;YAClC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;YAC5C,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;QAC/C,CAAC;aAAM,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YACtC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;YACtC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;YACtC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;QAC5C,CAAC;QAED,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,QAAgB,EAChB,UAAkB,EAClB,KAAmB;QAEnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAE9D,qCAAqC;QACrC,IAAI,QAAQ,KAAK,gBAAgB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACvD,OAAO,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CACzB,QAAgB,EAChB,UAAkB,EAClB,KAAmB;QAEnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAE9D,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;YAClC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1D,CAAC;CACF"}
1
+ {"version":3,"file":"platform-config-adapter.js","sourceRoot":"","sources":["../../src/storage/platform-config-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { type ToolArguments, type ToolResult } from './index.js';
2
+ import type { RequestContext } from '../types/request-context.js';
3
+ import { Tool as MCPTool } from '@modelcontextprotocol/sdk/types.js';
4
+ /**
5
+ * Analyse Tool - Analyze repository and manage agents
6
+ *
7
+ * This tool provides repository analysis and agent management functionality.
8
+ * It analyzes the tech stack and installs/updates appropriate agents.
9
+ */
10
+ export declare class AnalyseTool {
11
+ static getToolDefinition(): MCPTool;
12
+ /**
13
+ * Execute repository analysis
14
+ */
15
+ static execute(args: ToolArguments, context: RequestContext): Promise<ToolResult>;
16
+ }
17
+ //# sourceMappingURL=analyse.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyse.tool.d.ts","sourceRoot":"","sources":["../../src/tools/analyse.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAOrE;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,MAAM,CAAC,iBAAiB,IAAI,OAAO;IAwBnC;;OAEG;WACU,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;CAiGxF"}
@@ -0,0 +1,124 @@
1
+ import { z } from 'zod';
2
+ import { createErrorResult } from './index.js';
3
+ import { AnalyseService } from '../services/analyse-service.js';
4
+ import { AgentManager } from '../services/agent-manager.js';
5
+ const AnalyseArgsSchema = z.object({
6
+ dryRun: z.boolean().optional().default(false),
7
+ confirmInstall: z.boolean().optional().default(false),
8
+ }).passthrough(); // Allow additional options to pass through
9
+ /**
10
+ * Analyse Tool - Analyze repository and manage agents
11
+ *
12
+ * This tool provides repository analysis and agent management functionality.
13
+ * It analyzes the tech stack and installs/updates appropriate agents.
14
+ */
15
+ export class AnalyseTool {
16
+ static getToolDefinition() {
17
+ return {
18
+ name: 'analyse',
19
+ description: "šŸ” REPOSITORY ANALYSIS šŸ”\n\n⚔ ANALYZE & UPDATE: Analyze repository tech stack and manage agents.\n\nāœ… FEATURES:\n • Detect languages, frameworks, and tools\n • Prompt to install recommended agents\n • Check for agent updates\n • Show tech stack changes\n • Dry-run mode for preview\n\nšŸ’” USAGE:\n • analyse - Analyze and prompt for installation\n • analyse --dry-run - Preview changes without prompting\n\nšŸ¤– AGENTS:\n • Recommends agents based on tech stack\n • Updates agents to latest versions\n • Removes deprecated agents\n\nšŸ“Š OUTPUT:\n • Tech stack summary\n • Agent recommendations\n • Installation results",
20
+ inputSchema: {
21
+ type: 'object',
22
+ properties: {
23
+ dryRun: {
24
+ type: 'boolean',
25
+ description: 'Preview changes without applying them',
26
+ default: false,
27
+ },
28
+ confirmInstall: {
29
+ type: 'boolean',
30
+ description: 'Confirm installation of agents (used internally)',
31
+ default: false,
32
+ },
33
+ },
34
+ required: [],
35
+ },
36
+ };
37
+ }
38
+ /**
39
+ * Execute repository analysis
40
+ */
41
+ static async execute(args, context) {
42
+ try {
43
+ const validatedArgs = AnalyseArgsSchema.parse(args);
44
+ // Create service and perform analysis
45
+ const service = new AnalyseService(context);
46
+ const result = await service.performAnalysis(validatedArgs);
47
+ // Format output for display
48
+ let output = service.formatAnalysisOutput(result);
49
+ // Handle agent installation
50
+ if (!validatedArgs.dryRun && result.recommendations) {
51
+ const hasRecommendations = (result.recommendations.install?.length || 0) > 0 ||
52
+ (result.recommendations.update?.length || 0) > 0 ||
53
+ (result.recommendations.remove?.length || 0) > 0;
54
+ if (hasRecommendations) {
55
+ // Check if user has confirmed installation
56
+ if (!validatedArgs.confirmInstall) {
57
+ // Return JSON asking for confirmation (for MCP context)
58
+ return {
59
+ content: [{
60
+ type: 'text',
61
+ text: JSON.stringify({
62
+ requiresConfirmation: true,
63
+ action: 'installAgents',
64
+ recommendations: {
65
+ install: result.recommendations.install?.length || 0,
66
+ update: result.recommendations.update?.length || 0,
67
+ remove: result.recommendations.remove?.length || 0,
68
+ },
69
+ message: output + '\n\nWould you like to install these agents?',
70
+ hint: 'To confirm installation, call the tool again with confirmInstall: true',
71
+ }, null, 2),
72
+ }],
73
+ isError: false,
74
+ };
75
+ }
76
+ // User has confirmed - proceed with installation
77
+ const selection = {
78
+ install: result.recommendations.install || [],
79
+ update: result.recommendations.update || [],
80
+ remove: result.recommendations.remove || []
81
+ };
82
+ // Apply the recommendations using AgentManager
83
+ output += '\nšŸ“¦ Installing agents...\n';
84
+ const agentManager = new AgentManager(context);
85
+ const executionResult = await agentManager.executeRecommendations(selection, result.analysis);
86
+ // Report results
87
+ if (executionResult.installed.length > 0) {
88
+ output += `āœ… Installed: ${executionResult.installed.join(', ')}\n`;
89
+ }
90
+ if (executionResult.updated.length > 0) {
91
+ output += `āœ… Updated: ${executionResult.updated.join(', ')}\n`;
92
+ }
93
+ if (executionResult.removed.length > 0) {
94
+ output += `āœ… Removed: ${executionResult.removed.join(', ')}\n`;
95
+ }
96
+ if (executionResult.skipped.length > 0) {
97
+ output += `ā­ļø Skipped (already up-to-date): ${executionResult.skipped.join(', ')}\n`;
98
+ }
99
+ if (executionResult.errors.length > 0) {
100
+ output += 'āš ļø Errors:\n';
101
+ executionResult.errors.forEach(e => {
102
+ output += ` - ${e.message}\n`;
103
+ });
104
+ }
105
+ output += '\nāœ… Agent management completed!';
106
+ }
107
+ }
108
+ return {
109
+ content: [{
110
+ type: 'text',
111
+ text: output,
112
+ }],
113
+ isError: false,
114
+ };
115
+ }
116
+ catch (error) {
117
+ if (error instanceof z.ZodError) {
118
+ return createErrorResult(`Invalid arguments: ${error.errors.map((e) => e.message).join(', ')}`);
119
+ }
120
+ return createErrorResult(error instanceof Error ? error.message : 'Analysis failed');
121
+ }
122
+ }
123
+ }
124
+ //# sourceMappingURL=analyse.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyse.tool.js","sourceRoot":"","sources":["../../src/tools/analyse.tool.ts"],"names":[],"mappings":"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"}
@@ -2,28 +2,49 @@ import { type ToolArguments, type ToolResult } from '../index.js';
2
2
  import type { RequestContext } from '../../types/request-context.js';
3
3
  import { Tool as MCPTool } from '@modelcontextprotocol/sdk/types.js';
4
4
  /**
5
- * Top-level 'as' tool for quick persona switching
6
- * This is a convenience tool that mirrors the functionality of the persona tool
7
- * but is exposed at the top level for easier access
5
+ * AS Tool - Switch personas with repository-specific agent enhancement
6
+ *
7
+ * Flow:
8
+ * 1. Show current persona (if no name provided)
9
+ * 2. Load local persona OR import from library
10
+ * 3. Enhance imported personas with agents
11
+ * 4. Activate persona in context
12
+ * 5. Return formatted response
8
13
  */
9
14
  export declare class AsTool {
10
15
  static getToolDefinition(): MCPTool;
16
+ /**
17
+ * Main execution entry point
18
+ */
11
19
  static execute(args: ToolArguments, context: RequestContext): Promise<ToolResult>;
12
20
  /**
13
- * Load optimized context focused on actionable AI guidance
21
+ * Handle showing the current active persona
22
+ */
23
+ private static handleShowCurrentPersona;
24
+ /**
25
+ * Handle persona switch/creation with clear flow
26
+ */
27
+ private static handleSwitchPersona;
28
+ /**
29
+ * Handle library persona import - simplified to only import persona
30
+ */
31
+ private static handleLibraryPersona;
32
+ /**
33
+ * Activate persona in context and return updated context
14
34
  */
15
- private static loadOptimizedContext;
35
+ private static activatePersona;
16
36
  /**
17
- * Extract background from profile markdown
37
+ * Build persona response data structure
18
38
  */
19
- private static extractBackground;
39
+ private static buildResponse;
20
40
  /**
21
- * Extract communication style from profile markdown
41
+ * Format the persona response as human-readable markdown with enforced workflow
22
42
  */
23
- private static extractCommunicationStyleText;
43
+ private static formatResponse;
24
44
  /**
25
- * Extract patterns to avoid from insights
45
+ * Handle renaming an existing persona
26
46
  */
27
- private static extractAvoidPatterns;
47
+ private static handlePersonaRename;
48
+ private static handlePersonaNotFound;
28
49
  }
29
50
  //# sourceMappingURL=as.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"as.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/persona/as.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAyCrE;;;;GAIG;AACH,qBAAa,MAAM;IACjB,MAAM,CAAC,iBAAiB,IAAI,OAAO;WA4BtB,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IAyLvF;;OAEG;mBACkB,oBAAoB;IAiJzC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAWhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAY5C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;CAmCpC"}
1
+ {"version":3,"file":"as.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/persona/as.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAWrE,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAkCrE;;;;;;;;;GASG;AACH,qBAAa,MAAM;IACjB,MAAM,CAAC,iBAAiB,IAAI,OAAO;IAqDnC;;OAEG;WACU,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IA4BvF;;OAEG;mBACkB,wBAAwB;IA+D7C;;OAEG;mBACkB,mBAAmB;IAkExC;;OAEG;mBACkB,oBAAoB;IAkGzC;;OAEG;mBACkB,eAAe;IAkBpC;;OAEG;mBACkB,aAAa;IA6DlC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAyG7B;;OAEG;mBACkB,mBAAmB;mBAgDnB,qBAAqB;CAsC3C"}