cast-code 1.0.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 (221) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +217 -0
  3. package/dist/app.module.js +45 -0
  4. package/dist/app.module.js.map +1 -0
  5. package/dist/common/common.module.js +49 -0
  6. package/dist/common/common.module.js.map +1 -0
  7. package/dist/common/constants/index.js +105 -0
  8. package/dist/common/constants/index.js.map +1 -0
  9. package/dist/common/index.js +24 -0
  10. package/dist/common/index.js.map +1 -0
  11. package/dist/common/services/config.service.js +119 -0
  12. package/dist/common/services/config.service.js.map +1 -0
  13. package/dist/common/services/llm.service.js +56 -0
  14. package/dist/common/services/llm.service.js.map +1 -0
  15. package/dist/common/services/markdown-parser.service.js +101 -0
  16. package/dist/common/services/markdown-parser.service.js.map +1 -0
  17. package/dist/common/services/markdown-renderer.service.js +220 -0
  18. package/dist/common/services/markdown-renderer.service.js.map +1 -0
  19. package/dist/common/services/multi-llm.service.js +115 -0
  20. package/dist/common/services/multi-llm.service.js.map +1 -0
  21. package/dist/common/types/index.js +20 -0
  22. package/dist/common/types/index.js.map +1 -0
  23. package/dist/common/types/markdown.types.js +6 -0
  24. package/dist/common/types/markdown.types.js.map +1 -0
  25. package/dist/main.js +84 -0
  26. package/dist/main.js.map +1 -0
  27. package/dist/modules/agents/agents.module.js +43 -0
  28. package/dist/modules/agents/agents.module.js.map +1 -0
  29. package/dist/modules/agents/definitions/architect.md +35 -0
  30. package/dist/modules/agents/definitions/backend.md +43 -0
  31. package/dist/modules/agents/definitions/coder.md +34 -0
  32. package/dist/modules/agents/definitions/devops.md +42 -0
  33. package/dist/modules/agents/definitions/frontend.md +46 -0
  34. package/dist/modules/agents/definitions/reviewer.md +35 -0
  35. package/dist/modules/agents/definitions/tester.md +41 -0
  36. package/dist/modules/agents/index.js +23 -0
  37. package/dist/modules/agents/index.js.map +1 -0
  38. package/dist/modules/agents/services/agent-loader.service.js +150 -0
  39. package/dist/modules/agents/services/agent-loader.service.js.map +1 -0
  40. package/dist/modules/agents/services/agent-registry.service.js +108 -0
  41. package/dist/modules/agents/services/agent-registry.service.js.map +1 -0
  42. package/dist/modules/agents/types/agent.types.js +6 -0
  43. package/dist/modules/agents/types/agent.types.js.map +1 -0
  44. package/dist/modules/agents/types/index.js +20 -0
  45. package/dist/modules/agents/types/index.js.map +1 -0
  46. package/dist/modules/config/config.module.js +38 -0
  47. package/dist/modules/config/config.module.js.map +1 -0
  48. package/dist/modules/config/index.js +24 -0
  49. package/dist/modules/config/index.js.map +1 -0
  50. package/dist/modules/config/services/config-commands.service.js +405 -0
  51. package/dist/modules/config/services/config-commands.service.js.map +1 -0
  52. package/dist/modules/config/services/config-manager.service.js +175 -0
  53. package/dist/modules/config/services/config-manager.service.js.map +1 -0
  54. package/dist/modules/config/services/init-config.service.js +238 -0
  55. package/dist/modules/config/services/init-config.service.js.map +1 -0
  56. package/dist/modules/config/types/config.types.js +163 -0
  57. package/dist/modules/config/types/config.types.js.map +1 -0
  58. package/dist/modules/config/types/index.js +20 -0
  59. package/dist/modules/config/types/index.js.map +1 -0
  60. package/dist/modules/core/core.module.js +60 -0
  61. package/dist/modules/core/core.module.js.map +1 -0
  62. package/dist/modules/core/index.js +22 -0
  63. package/dist/modules/core/index.js.map +1 -0
  64. package/dist/modules/core/services/deep-agent.service.js +575 -0
  65. package/dist/modules/core/services/deep-agent.service.js.map +1 -0
  66. package/dist/modules/core/services/plan-mode.service.js +225 -0
  67. package/dist/modules/core/services/plan-mode.service.js.map +1 -0
  68. package/dist/modules/git/git.module.js +48 -0
  69. package/dist/modules/git/git.module.js.map +1 -0
  70. package/dist/modules/git/index.js +23 -0
  71. package/dist/modules/git/index.js.map +1 -0
  72. package/dist/modules/git/services/code-review.service.js +330 -0
  73. package/dist/modules/git/services/code-review.service.js.map +1 -0
  74. package/dist/modules/git/services/commit-generator.service.js +403 -0
  75. package/dist/modules/git/services/commit-generator.service.js.map +1 -0
  76. package/dist/modules/git/services/index.js +21 -0
  77. package/dist/modules/git/services/index.js.map +1 -0
  78. package/dist/modules/git/services/monorepo-detector.service.js +338 -0
  79. package/dist/modules/git/services/monorepo-detector.service.js.map +1 -0
  80. package/dist/modules/git/services/pr-generator.service.js +429 -0
  81. package/dist/modules/git/services/pr-generator.service.js.map +1 -0
  82. package/dist/modules/git/services/release-notes.service.js +426 -0
  83. package/dist/modules/git/services/release-notes.service.js.map +1 -0
  84. package/dist/modules/git/types/git.types.js +6 -0
  85. package/dist/modules/git/types/git.types.js.map +1 -0
  86. package/dist/modules/git/types/index.js +20 -0
  87. package/dist/modules/git/types/index.js.map +1 -0
  88. package/dist/modules/mcp/catalog/mcp-templates.js +606 -0
  89. package/dist/modules/mcp/catalog/mcp-templates.js.map +1 -0
  90. package/dist/modules/mcp/index.js +23 -0
  91. package/dist/modules/mcp/index.js.map +1 -0
  92. package/dist/modules/mcp/mcp.module.js +35 -0
  93. package/dist/modules/mcp/mcp.module.js.map +1 -0
  94. package/dist/modules/mcp/services/mcp-client.service.js +289 -0
  95. package/dist/modules/mcp/services/mcp-client.service.js.map +1 -0
  96. package/dist/modules/mcp/services/mcp-registry.service.js +197 -0
  97. package/dist/modules/mcp/services/mcp-registry.service.js.map +1 -0
  98. package/dist/modules/mcp/types/index.js +20 -0
  99. package/dist/modules/mcp/types/index.js.map +1 -0
  100. package/dist/modules/mcp/types/mcp.types.js +6 -0
  101. package/dist/modules/mcp/types/mcp.types.js.map +1 -0
  102. package/dist/modules/memory/index.js +23 -0
  103. package/dist/modules/memory/index.js.map +1 -0
  104. package/dist/modules/memory/memory.module.js +35 -0
  105. package/dist/modules/memory/memory.module.js.map +1 -0
  106. package/dist/modules/memory/services/memory-tools.service.js +78 -0
  107. package/dist/modules/memory/services/memory-tools.service.js.map +1 -0
  108. package/dist/modules/memory/services/memory.service.js +169 -0
  109. package/dist/modules/memory/services/memory.service.js.map +1 -0
  110. package/dist/modules/memory/types/index.js +20 -0
  111. package/dist/modules/memory/types/index.js.map +1 -0
  112. package/dist/modules/memory/types/memory.types.js +6 -0
  113. package/dist/modules/memory/types/memory.types.js.map +1 -0
  114. package/dist/modules/mentions/index.js +22 -0
  115. package/dist/modules/mentions/index.js.map +1 -0
  116. package/dist/modules/mentions/mentions.module.js +32 -0
  117. package/dist/modules/mentions/mentions.module.js.map +1 -0
  118. package/dist/modules/mentions/services/mentions.service.js +336 -0
  119. package/dist/modules/mentions/services/mentions.service.js.map +1 -0
  120. package/dist/modules/mentions/types/index.js +20 -0
  121. package/dist/modules/mentions/types/index.js.map +1 -0
  122. package/dist/modules/mentions/types/mention.types.js +19 -0
  123. package/dist/modules/mentions/types/mention.types.js.map +1 -0
  124. package/dist/modules/permissions/index.js +23 -0
  125. package/dist/modules/permissions/index.js.map +1 -0
  126. package/dist/modules/permissions/permissions.module.js +35 -0
  127. package/dist/modules/permissions/permissions.module.js.map +1 -0
  128. package/dist/modules/permissions/services/permission.service.js +269 -0
  129. package/dist/modules/permissions/services/permission.service.js.map +1 -0
  130. package/dist/modules/permissions/services/prompt.service.js +116 -0
  131. package/dist/modules/permissions/services/prompt.service.js.map +1 -0
  132. package/dist/modules/permissions/types/permission.types.js +32 -0
  133. package/dist/modules/permissions/types/permission.types.js.map +1 -0
  134. package/dist/modules/project/index.js +24 -0
  135. package/dist/modules/project/index.js.map +1 -0
  136. package/dist/modules/project/project.module.js +38 -0
  137. package/dist/modules/project/project.module.js.map +1 -0
  138. package/dist/modules/project/services/project-analyzer.service.js +1063 -0
  139. package/dist/modules/project/services/project-analyzer.service.js.map +1 -0
  140. package/dist/modules/project/services/project-context.service.js +62 -0
  141. package/dist/modules/project/services/project-context.service.js.map +1 -0
  142. package/dist/modules/project/services/project-loader.service.js +147 -0
  143. package/dist/modules/project/services/project-loader.service.js.map +1 -0
  144. package/dist/modules/project/types/index.js +20 -0
  145. package/dist/modules/project/types/index.js.map +1 -0
  146. package/dist/modules/project/types/project.types.js +6 -0
  147. package/dist/modules/project/types/project.types.js.map +1 -0
  148. package/dist/modules/repl/index.js +21 -0
  149. package/dist/modules/repl/index.js.map +1 -0
  150. package/dist/modules/repl/repl.module.js +66 -0
  151. package/dist/modules/repl/repl.module.js.map +1 -0
  152. package/dist/modules/repl/services/commands/agent-commands.service.js +196 -0
  153. package/dist/modules/repl/services/commands/agent-commands.service.js.map +1 -0
  154. package/dist/modules/repl/services/commands/git-commands.service.js +500 -0
  155. package/dist/modules/repl/services/commands/git-commands.service.js.map +1 -0
  156. package/dist/modules/repl/services/commands/mcp-commands.service.js +579 -0
  157. package/dist/modules/repl/services/commands/mcp-commands.service.js.map +1 -0
  158. package/dist/modules/repl/services/commands/project-commands.service.js +226 -0
  159. package/dist/modules/repl/services/commands/project-commands.service.js.map +1 -0
  160. package/dist/modules/repl/services/commands/repl-commands.service.js +254 -0
  161. package/dist/modules/repl/services/commands/repl-commands.service.js.map +1 -0
  162. package/dist/modules/repl/services/repl.service.js +647 -0
  163. package/dist/modules/repl/services/repl.service.js.map +1 -0
  164. package/dist/modules/repl/services/smart-input.js +544 -0
  165. package/dist/modules/repl/services/smart-input.js.map +1 -0
  166. package/dist/modules/repl/services/welcome-screen.service.js +117 -0
  167. package/dist/modules/repl/services/welcome-screen.service.js.map +1 -0
  168. package/dist/modules/repl/utils/prompts-with-esc.js +187 -0
  169. package/dist/modules/repl/utils/prompts-with-esc.js.map +1 -0
  170. package/dist/modules/repl/utils/theme.js +185 -0
  171. package/dist/modules/repl/utils/theme.js.map +1 -0
  172. package/dist/modules/skills/definitions/general/file-operations.md +60 -0
  173. package/dist/modules/skills/definitions/general/git-operations.md +59 -0
  174. package/dist/modules/skills/definitions/general/planning.md +86 -0
  175. package/dist/modules/skills/definitions/general/search.md +59 -0
  176. package/dist/modules/skills/definitions/specialized/api-design.md +85 -0
  177. package/dist/modules/skills/definitions/specialized/database-operations.md +78 -0
  178. package/dist/modules/skills/definitions/specialized/frontend-bootstrap.md +71 -0
  179. package/dist/modules/skills/definitions/specialized/react-patterns.md +77 -0
  180. package/dist/modules/skills/definitions/specialized/testing-strategies.md +79 -0
  181. package/dist/modules/skills/index.js +23 -0
  182. package/dist/modules/skills/index.js.map +1 -0
  183. package/dist/modules/skills/services/skill-loader.service.js +130 -0
  184. package/dist/modules/skills/services/skill-loader.service.js.map +1 -0
  185. package/dist/modules/skills/services/skill-registry.service.js +96 -0
  186. package/dist/modules/skills/services/skill-registry.service.js.map +1 -0
  187. package/dist/modules/skills/skills.module.js +38 -0
  188. package/dist/modules/skills/skills.module.js.map +1 -0
  189. package/dist/modules/skills/types/index.js +20 -0
  190. package/dist/modules/skills/types/index.js.map +1 -0
  191. package/dist/modules/skills/types/skill.types.js +6 -0
  192. package/dist/modules/skills/types/skill.types.js.map +1 -0
  193. package/dist/modules/tasks/index.js +24 -0
  194. package/dist/modules/tasks/index.js.map +1 -0
  195. package/dist/modules/tasks/services/plan-executor.service.js +199 -0
  196. package/dist/modules/tasks/services/plan-executor.service.js.map +1 -0
  197. package/dist/modules/tasks/services/plan-mode.service.js +118 -0
  198. package/dist/modules/tasks/services/plan-mode.service.js.map +1 -0
  199. package/dist/modules/tasks/services/plan-persistence.service.js +148 -0
  200. package/dist/modules/tasks/services/plan-persistence.service.js.map +1 -0
  201. package/dist/modules/tasks/services/task-management.service.js +255 -0
  202. package/dist/modules/tasks/services/task-management.service.js.map +1 -0
  203. package/dist/modules/tasks/services/task-tools.service.js +270 -0
  204. package/dist/modules/tasks/services/task-tools.service.js.map +1 -0
  205. package/dist/modules/tasks/tasks.module.js +49 -0
  206. package/dist/modules/tasks/tasks.module.js.map +1 -0
  207. package/dist/modules/tasks/types/task.types.js +21 -0
  208. package/dist/modules/tasks/types/task.types.js.map +1 -0
  209. package/dist/modules/tools/index.js +24 -0
  210. package/dist/modules/tools/index.js.map +1 -0
  211. package/dist/modules/tools/services/filesystem-tools.service.js +450 -0
  212. package/dist/modules/tools/services/filesystem-tools.service.js.map +1 -0
  213. package/dist/modules/tools/services/search-tools.service.js +63 -0
  214. package/dist/modules/tools/services/search-tools.service.js.map +1 -0
  215. package/dist/modules/tools/services/shell-tools.service.js +194 -0
  216. package/dist/modules/tools/services/shell-tools.service.js.map +1 -0
  217. package/dist/modules/tools/services/tools-registry.service.js +83 -0
  218. package/dist/modules/tools/services/tools-registry.service.js.map +1 -0
  219. package/dist/modules/tools/tools.module.js +46 -0
  220. package/dist/modules/tools/tools.module.js.map +1 -0
  221. package/package.json +74 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/modules/repl/services/commands/repl-commands.service.ts"],"sourcesContent":["import { Injectable } from '@nestjs/common';\nimport { Colors, colorize, Box, Icons } from '../../utils/theme';\nimport { ConfigService } from '../../../../common/services/config.service';\nimport { DeepAgentService } from '../../../core/services/deep-agent.service';\nimport { McpRegistryService } from '../../../mcp/services/mcp-registry.service';\nimport { AgentLoaderService } from '../../../agents/services/agent-loader.service';\nimport { SkillRegistryService } from '../../../skills/services/skill-registry.service';\nimport { ProjectContextService } from '../../../project/services/project-context.service';\nimport { MemoryService } from '../../../memory/services/memory.service';\n\n@Injectable()\nexport class ReplCommandsService {\n constructor(\n private readonly deepAgent: DeepAgentService,\n private readonly configService: ConfigService,\n private readonly mcpRegistry: McpRegistryService,\n private readonly agentLoader: AgentLoaderService,\n private readonly skillRegistry: SkillRegistryService,\n private readonly projectContext: ProjectContextService,\n private readonly memoryService: MemoryService,\n ) {}\n\n printHelp(): void {\n const header = (text: string, icon?: string) => {\n const iconStr = icon ? colorize(icon + ' ', 'accent') : '';\n return '\\n' + iconStr + colorize(text, 'bold') + '\\n' + colorize(Box.horizontal.repeat(text.length + (icon ? 2 : 0)), 'subtle') + '\\n';\n };\n\n const cmd = (name: string, desc: string, nameWidth = 16) => {\n const paddedName = name.padEnd(nameWidth);\n return ` ${colorize(paddedName, 'cyan')} ${colorize(desc, 'muted')}\\r\\n`;\n };\n\n process.stdout.write('\\r\\n');\n \n process.stdout.write(header('Commands', Icons.diamond));\n process.stdout.write(cmd('/help', 'Show this help'));\n process.stdout.write(cmd('/clear', 'Clear conversation'));\n process.stdout.write(cmd('/compact', 'Compact history'));\n process.stdout.write(cmd('/exit', 'Exit'));\n\n process.stdout.write(header('Git', Icons.branch));\n process.stdout.write(cmd('/status', 'Git status'));\n process.stdout.write(cmd('/diff', 'Git diff'));\n process.stdout.write(cmd('/log', 'Git log (recent 15)'));\n process.stdout.write(cmd('/commit [msg]', 'Commit (AI-assisted or manual)'));\n process.stdout.write(cmd('/up', 'Smart commit & push'));\n process.stdout.write(cmd('/split-up', 'Split into multiple commits'));\n process.stdout.write(cmd('/pr', 'Create PR with AI description'));\n process.stdout.write(cmd('/review [files]', 'Code review'));\n process.stdout.write(cmd('/fix <file>', 'Auto-fix code issues'));\n process.stdout.write(cmd('/ident', 'Format all code files'));\n process.stdout.write(cmd('/release [tag]', 'Generate release notes'));\n\n process.stdout.write(header('Agents & Skills', Icons.robot));\n process.stdout.write(cmd('/agents', 'List agents'));\n process.stdout.write(cmd('/agents create', 'Create new agent'));\n process.stdout.write(cmd('/skills', 'List skills'));\n process.stdout.write(cmd('/skills create', 'Create new skill'));\n\n process.stdout.write(header('Info', Icons.search));\n process.stdout.write(cmd('/tools', 'List available tools'));\n process.stdout.write(cmd('/context', 'Session info'));\n process.stdout.write(cmd('/mentions', 'Mentions help (@)'));\n\n process.stdout.write(header('Config', Icons.gear));\n process.stdout.write(cmd('/model', 'Show/change model'));\n process.stdout.write(cmd('/config', 'Show configuration'));\n process.stdout.write(cmd('/init', 'Analyze project and generate context'));\n process.stdout.write(cmd('/project-deep', 'Generate deep context + agent brief'));\n\n process.stdout.write(header('MCP', Icons.cloud));\n process.stdout.write(cmd('/mcp list', 'List MCP servers'));\n process.stdout.write(cmd('/mcp tools', 'List MCP tools'));\n process.stdout.write(cmd('/mcp add', 'Add new MCP server'));\n process.stdout.write(cmd('/mcp help', 'MCP setup guide'));\n\n process.stdout.write(header('Frontend Flow', Icons.lightbulb));\n process.stdout.write(cmd('1) /mcp add', 'Connect Figma MCP'));\n process.stdout.write(cmd('2) /init', 'Map project and create context'));\n process.stdout.write(cmd('3) /agents', 'Ensure frontend agent is loaded'));\n process.stdout.write(cmd('4) prompt', 'Ask to scaffold screens/components from Figma'));\n\n process.stdout.write(header('Mentions', Icons.file));\n process.stdout.write(cmd('@file.ts', 'Inject file content'));\n process.stdout.write(cmd('@dir/', 'Inject directory listing'));\n process.stdout.write(cmd('@git:status', 'Inject git status'));\n\n process.stdout.write(header('Tips', Icons.lightbulb));\n process.stdout.write(` ${colorize('Type /', 'dim')} Commands appear as you type\\r\\n`);\n process.stdout.write(` ${colorize('Type @', 'dim')} File suggestions appear\\r\\n`);\n process.stdout.write(` ${colorize('Tab', 'dim')} Accept suggestion\\r\\n`);\n process.stdout.write(` ${colorize('↑↓', 'dim')} Navigate suggestions\\r\\n`);\n process.stdout.write(` ${colorize('Ctrl+C', 'dim')} Cancel operation\\r\\n`);\n process.stdout.write(` ${colorize('Ctrl+D', 'dim')} Exit\\r\\n`);\n \n process.stdout.write('\\r\\n');\n }\n\n cmdClear(welcomeScreen: { printBanner: () => void }): void {\n this.deepAgent.clearHistory();\n process.stdout.write('\\x1b[2J\\x1b[H');\n welcomeScreen.printBanner();\n process.stdout.write(`${Colors.green} Conversation cleared${Colors.reset}\\r\\n`);\n }\n\n cmdContext(): void {\n const w = (s: string) => process.stdout.write(s);\n\n w('\\r\\n');\n w(colorize(Icons.circle + ' ', 'accent') + colorize('Session Info', 'bold') + '\\r\\n');\n w(colorize(Box.horizontal.repeat(40), 'subtle') + '\\r\\n\\r\\n');\n\n w(` ${colorize('Messages:', 'muted')} ${this.deepAgent.getMessageCount()}\\r\\n`);\n w(` ${colorize('Tokens:', 'muted')} ${colorize(this.deepAgent.getTokenCount().toLocaleString(), 'cyan')}\\r\\n`);\n w(` ${colorize('CWD:', 'muted')} ${colorize(process.cwd(), 'accent')}\\r\\n`);\n w(` ${colorize('Model:', 'muted')} ${colorize(this.configService.getProvider() + '/' + this.configService.getModel(), 'cyan')}\\r\\n\\r\\n`);\n\n const mcpSummaries = this.mcpRegistry.getServerSummaries();\n const mcpConnected = mcpSummaries.filter(s => s.status === 'connected').length;\n const mcpTotal = mcpSummaries.length;\n const mcpTools = mcpSummaries.reduce((sum, s) => sum + s.toolCount, 0);\n\n w(` ${colorize('MCP Servers:', 'muted')} ${colorize(mcpConnected.toString(), mcpConnected > 0 ? 'success' : 'muted')}/${mcpTotal}`);\n if (mcpTools > 0) {\n w(` ${colorize(`(${mcpTools} tools)`, 'muted')}`);\n }\n w('\\r\\n');\n\n if (mcpSummaries.length > 0) {\n mcpSummaries.forEach(s => {\n const icon = s.status === 'connected' ? colorize('●', 'success') : colorize('○', 'error');\n w(` ${icon} ${colorize(s.name, 'cyan')} ${colorize(`(${s.toolCount} tools)`, 'muted')}\\r\\n`);\n });\n w('\\r\\n');\n }\n\n const agents = this.agentLoader.getAllAgents();\n w(` ${colorize('Agents:', 'muted')} ${colorize(agents.length.toString(), 'cyan')}\\r\\n`);\n if (agents.length > 0) {\n const agentNames = agents.slice(0, 5).map(a => a.name).join(', ');\n const more = agents.length > 5 ? ` +${agents.length - 5}` : '';\n w(` ${colorize(agentNames + more, 'muted')}\\r\\n\\r\\n`);\n } else {\n w('\\r\\n');\n }\n\n const skills = this.skillRegistry.getAllSkills();\n w(` ${colorize('Skills:', 'muted')} ${colorize(skills.length.toString(), 'cyan')}\\r\\n`);\n if (skills.length > 0) {\n const skillNames = skills.slice(0, 5).map(s => s.name).join(', ');\n const more = skills.length > 5 ? ` +${skills.length - 5}` : '';\n w(` ${colorize(skillNames + more, 'muted')}\\r\\n\\r\\n`);\n } else {\n w('\\r\\n');\n }\n\n const hasContext = this.projectContext.hasContext();\n w(` ${colorize('Project:', 'muted')} ${hasContext ? colorize('✓ loaded', 'success') : colorize('not loaded', 'muted')}\\r\\n`);\n\n try {\n const memoryPath = this.memoryService['memoryPath'];\n if (memoryPath) {\n w(` ${colorize('Memory:', 'muted')} ${colorize('✓ enabled', 'success')}\\r\\n`);\n }\n } catch {\n w(` ${colorize('Memory:', 'muted')} ${colorize('not configured', 'muted')}\\r\\n`);\n }\n\n w('\\r\\n');\n }\n\n cmdConfig(): void {\n const fs = require('fs');\n const path = require('path');\n const castDir = path.join(process.cwd(), '.cast');\n const hasCastDir = fs.existsSync(castDir);\n \n process.stdout.write('\\r\\n');\n process.stdout.write(colorize(Icons.gear + ' ', 'accent') + colorize('Configuration', 'bold') + '\\r\\n');\n process.stdout.write(colorize(Box.horizontal.repeat(25), 'subtle') + '\\r\\n');\n process.stdout.write(` ${colorize('Provider:', 'muted')} ${colorize(this.configService.getProvider(), 'cyan')}\\r\\n`);\n process.stdout.write(` ${colorize('Model:', 'muted')} ${colorize(this.configService.getModel(), 'cyan')}\\r\\n`);\n process.stdout.write(` ${colorize('CWD:', 'muted')} ${colorize(process.cwd(), 'accent')}\\r\\n`);\n process.stdout.write(` ${colorize('Messages:', 'muted')} ${this.deepAgent.getMessageCount()}\\r\\n`);\n process.stdout.write(` ${colorize('.cast/:', 'muted')} ${hasCastDir ? colorize('✓ found', 'success') : colorize('not found (use /project)', 'warning')}\\r\\n`);\n process.stdout.write('\\r\\n');\n }\n\n cmdModel(args: string[]): void {\n if (args.length === 0) {\n process.stdout.write('\\r\\n' + colorize(Icons.robot + ' ', 'accent') + colorize('Current Model', 'bold') + '\\r\\n');\n process.stdout.write(colorize(Box.horizontal.repeat(20), 'subtle') + '\\r\\n');\n process.stdout.write(` Provider: ${colorize(this.configService.getProvider(), 'cyan')}\\r\\n`);\n process.stdout.write(` Model: ${colorize(this.configService.getModel(), 'cyan')}\\r\\n\\r\\n`);\n process.stdout.write(` ${colorize('Tip:', 'muted')} Set via env vars or .cast/config.md\\r\\n\\r\\n`);\n return;\n }\n process.stdout.write(`${Colors.yellow} Model change requires restart${Colors.reset}\\r\\n`);\n }\n\n cmdInit(): void {\n const fs = require('fs');\n const path = require('path');\n const castDir = path.join(process.cwd(), '.cast');\n\n if (fs.existsSync(castDir)) {\n process.stdout.write(` ${Colors.dim}.cast/ already exists${Colors.reset}\\r\\n`);\n return;\n }\n\n fs.mkdirSync(castDir, { recursive: true });\n fs.mkdirSync(path.join(castDir, 'agents'), { recursive: true });\n fs.mkdirSync(path.join(castDir, 'skills'), { recursive: true });\n fs.mkdirSync(path.join(castDir, 'mcp'), { recursive: true });\n\n fs.writeFileSync(\n path.join(castDir, 'config.md'),\n [\n '---',\n 'model: gpt-4.1',\n '---',\n '',\n '# Project Context',\n '',\n 'Describe your project here.',\n '',\n ].join('\\n'),\n );\n\n process.stdout.write(`${Colors.green} Initialized .cast/ directory${Colors.reset}\\r\\n`);\n process.stdout.write(` ${Colors.dim}Created: config.md, agents/, skills/, mcp/${Colors.reset}\\r\\n\\r\\n`);\n }\n\n cmdMentionsHelp(): void {\n process.stdout.write('\\r\\n');\n process.stdout.write(colorize(Icons.file + ' ', 'accent') + colorize('Mentions — inject context with @', 'bold') + '\\r\\n');\n process.stdout.write(colorize(Box.horizontal.repeat(35), 'subtle') + '\\r\\n');\n process.stdout.write(` ${colorize('@path/to/file.ts', 'cyan')} Read file content\\r\\n`);\n process.stdout.write(` ${colorize('@path/to/dir/', 'cyan')} List directory\\r\\n`);\n process.stdout.write(` ${colorize('@https://url.com', 'cyan')} Fetch URL\\r\\n`);\n process.stdout.write(` ${colorize('@git:status', 'cyan')} Git status\\r\\n`);\n process.stdout.write(` ${colorize('@git:diff', 'cyan')} Git diff\\r\\n`);\n process.stdout.write(` ${colorize('@git:log', 'cyan')} Git log\\r\\n`);\n process.stdout.write(` ${colorize('@git:branch', 'cyan')} List branches\\r\\n`);\n process.stdout.write('\\r\\n');\n process.stdout.write(` ${colorize('Example:', 'muted')} \"Explain this @src/main.ts\"\\r\\n`);\n process.stdout.write(` ${colorize('Tip:', 'muted')} Type @ and suggestions will appear\\r\\n`);\n process.stdout.write('\\r\\n');\n }\n}\n"],"names":["ReplCommandsService","printHelp","header","text","icon","iconStr","colorize","Box","horizontal","repeat","length","cmd","name","desc","nameWidth","paddedName","padEnd","process","stdout","write","Icons","diamond","branch","robot","search","gear","cloud","lightbulb","file","cmdClear","welcomeScreen","deepAgent","clearHistory","printBanner","Colors","green","reset","cmdContext","w","s","circle","getMessageCount","getTokenCount","toLocaleString","cwd","configService","getProvider","getModel","mcpSummaries","mcpRegistry","getServerSummaries","mcpConnected","filter","status","mcpTotal","mcpTools","reduce","sum","toolCount","toString","forEach","agents","agentLoader","getAllAgents","agentNames","slice","map","a","join","more","skills","skillRegistry","getAllSkills","skillNames","hasContext","projectContext","memoryPath","memoryService","cmdConfig","fs","require","path","castDir","hasCastDir","existsSync","cmdModel","args","yellow","cmdInit","dim","mkdirSync","recursive","writeFileSync","cmdMentionsHelp"],"mappings":"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"}