@su-record/vibe 2.6.27 → 2.6.28

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 (246) hide show
  1. package/CLAUDE.md +202 -202
  2. package/LICENSE +21 -21
  3. package/README.md +267 -267
  4. package/agents/architect-low.md +41 -41
  5. package/agents/architect-medium.md +59 -59
  6. package/agents/architect.md +80 -80
  7. package/agents/build-error-resolver.md +115 -115
  8. package/agents/compounder.md +261 -261
  9. package/agents/diagrammer.md +178 -178
  10. package/agents/docs/api-documenter.md +99 -99
  11. package/agents/docs/changelog-writer.md +93 -93
  12. package/agents/e2e-tester.md +266 -266
  13. package/agents/explorer-low.md +42 -42
  14. package/agents/explorer-medium.md +59 -59
  15. package/agents/explorer.md +48 -48
  16. package/agents/implementer-low.md +43 -43
  17. package/agents/implementer-medium.md +52 -52
  18. package/agents/implementer.md +54 -54
  19. package/agents/planning/requirements-analyst.md +84 -84
  20. package/agents/planning/ux-advisor.md +83 -83
  21. package/agents/qa/acceptance-tester.md +86 -86
  22. package/agents/qa/edge-case-finder.md +93 -93
  23. package/agents/refactor-cleaner.md +143 -143
  24. package/agents/research/best-practices-agent.md +199 -199
  25. package/agents/research/codebase-patterns-agent.md +157 -157
  26. package/agents/research/framework-docs-agent.md +188 -188
  27. package/agents/research/security-advisory-agent.md +213 -213
  28. package/agents/review/architecture-reviewer.md +107 -107
  29. package/agents/review/complexity-reviewer.md +116 -116
  30. package/agents/review/data-integrity-reviewer.md +88 -88
  31. package/agents/review/git-history-reviewer.md +103 -103
  32. package/agents/review/performance-reviewer.md +86 -86
  33. package/agents/review/python-reviewer.md +150 -150
  34. package/agents/review/rails-reviewer.md +139 -139
  35. package/agents/review/react-reviewer.md +144 -144
  36. package/agents/review/security-reviewer.md +80 -80
  37. package/agents/review/simplicity-reviewer.md +140 -140
  38. package/agents/review/test-coverage-reviewer.md +116 -116
  39. package/agents/review/typescript-reviewer.md +127 -127
  40. package/agents/searcher.md +54 -54
  41. package/agents/simplifier.md +120 -120
  42. package/agents/tester.md +49 -49
  43. package/agents/ui-previewer.md +268 -268
  44. package/commands/vibe.analyze.md +356 -356
  45. package/commands/vibe.reason.md +329 -329
  46. package/commands/vibe.review.md +423 -423
  47. package/commands/vibe.run.md +1313 -1313
  48. package/commands/vibe.spec.md +1054 -1054
  49. package/commands/vibe.spec.review.md +412 -412
  50. package/commands/vibe.trace.md +161 -161
  51. package/commands/vibe.utils.md +376 -376
  52. package/commands/vibe.verify.md +375 -375
  53. package/dist/cli/collaborator.js +52 -52
  54. package/dist/cli/detect.js +32 -32
  55. package/dist/cli/hud.js +20 -20
  56. package/dist/cli/index.js +112 -112
  57. package/dist/cli/llm.js +144 -144
  58. package/dist/cli/mcp.d.ts +49 -0
  59. package/dist/cli/mcp.d.ts.map +1 -0
  60. package/dist/cli/mcp.js +169 -0
  61. package/dist/cli/mcp.js.map +1 -0
  62. package/dist/cli/postinstall.d.ts.map +1 -1
  63. package/dist/cli/postinstall.js +886 -858
  64. package/dist/cli/postinstall.js.map +1 -1
  65. package/dist/cli/setup/GlobalInstaller.d.ts +6 -0
  66. package/dist/cli/setup/GlobalInstaller.d.ts.map +1 -1
  67. package/dist/cli/setup/GlobalInstaller.js +26 -0
  68. package/dist/cli/setup/GlobalInstaller.js.map +1 -1
  69. package/dist/lib/DeepInit.js +24 -24
  70. package/dist/lib/IterationTracker.js +11 -11
  71. package/dist/lib/PythonParser.js +108 -108
  72. package/dist/lib/ReviewRace.js +96 -96
  73. package/dist/lib/SkillFrontmatter.js +28 -28
  74. package/dist/lib/SkillQualityGate.js +9 -9
  75. package/dist/lib/SkillRepository.js +159 -159
  76. package/dist/lib/UltraQA.js +77 -77
  77. package/dist/lib/gemini-api.js +5 -5
  78. package/dist/lib/gemini-mcp.d.ts +10 -0
  79. package/dist/lib/gemini-mcp.d.ts.map +1 -0
  80. package/dist/lib/gemini-mcp.js +353 -0
  81. package/dist/lib/gemini-mcp.js.map +1 -0
  82. package/dist/lib/gpt-api.js +4 -4
  83. package/dist/lib/gpt-mcp.d.ts +10 -0
  84. package/dist/lib/gpt-mcp.d.ts.map +1 -0
  85. package/dist/lib/gpt-mcp.js +352 -0
  86. package/dist/lib/gpt-mcp.js.map +1 -0
  87. package/dist/lib/memory/KnowledgeGraph.js +4 -4
  88. package/dist/lib/memory/MemorySearch.js +43 -43
  89. package/dist/lib/memory/MemoryStorage.js +130 -130
  90. package/dist/lib/memory/ObservationStore.js +28 -28
  91. package/dist/lib/memory/SessionRAGRetriever.js +7 -7
  92. package/dist/lib/memory/SessionRAGStore.js +216 -216
  93. package/dist/lib/memory/SessionSummarizer.js +9 -9
  94. package/dist/orchestrator/AgentManager.js +12 -12
  95. package/dist/orchestrator/MultiLlmResearch.js +8 -8
  96. package/dist/orchestrator/SmartRouter.js +11 -11
  97. package/dist/orchestrator/SwarmOrchestrator.test.js +16 -16
  98. package/dist/orchestrator/parallelResearch.js +24 -24
  99. package/dist/tools/analytics/getUsageAnalytics.d.ts +10 -0
  100. package/dist/tools/analytics/getUsageAnalytics.d.ts.map +1 -0
  101. package/dist/tools/analytics/getUsageAnalytics.js +246 -0
  102. package/dist/tools/analytics/getUsageAnalytics.js.map +1 -0
  103. package/dist/tools/analytics/index.d.ts +5 -0
  104. package/dist/tools/analytics/index.d.ts.map +1 -0
  105. package/dist/tools/analytics/index.js +5 -0
  106. package/dist/tools/analytics/index.js.map +1 -0
  107. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  108. package/dist/tools/convention/getCodingGuide.d.ts +7 -0
  109. package/dist/tools/convention/getCodingGuide.d.ts.map +1 -0
  110. package/dist/tools/convention/getCodingGuide.js +69 -0
  111. package/dist/tools/convention/getCodingGuide.js.map +1 -0
  112. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  113. package/dist/tools/planning/analyzeRequirements.d.ts +9 -0
  114. package/dist/tools/planning/analyzeRequirements.d.ts.map +1 -0
  115. package/dist/tools/planning/analyzeRequirements.js +171 -0
  116. package/dist/tools/planning/analyzeRequirements.js.map +1 -0
  117. package/dist/tools/planning/createUserStories.d.ts +9 -0
  118. package/dist/tools/planning/createUserStories.d.ts.map +1 -0
  119. package/dist/tools/planning/createUserStories.js +124 -0
  120. package/dist/tools/planning/createUserStories.js.map +1 -0
  121. package/dist/tools/planning/featureRoadmap.d.ts +10 -0
  122. package/dist/tools/planning/featureRoadmap.d.ts.map +1 -0
  123. package/dist/tools/planning/featureRoadmap.js +207 -0
  124. package/dist/tools/planning/featureRoadmap.js.map +1 -0
  125. package/dist/tools/planning/generatePrd.d.ts +11 -0
  126. package/dist/tools/planning/generatePrd.d.ts.map +1 -0
  127. package/dist/tools/planning/generatePrd.js +161 -0
  128. package/dist/tools/planning/generatePrd.js.map +1 -0
  129. package/dist/tools/planning/index.d.ts +8 -0
  130. package/dist/tools/planning/index.d.ts.map +1 -0
  131. package/dist/tools/planning/index.js +8 -0
  132. package/dist/tools/planning/index.js.map +1 -0
  133. package/dist/tools/prompt/analyzePrompt.d.ts +7 -0
  134. package/dist/tools/prompt/analyzePrompt.d.ts.map +1 -0
  135. package/dist/tools/prompt/analyzePrompt.js +150 -0
  136. package/dist/tools/prompt/analyzePrompt.js.map +1 -0
  137. package/dist/tools/prompt/enhancePrompt.d.ts +8 -0
  138. package/dist/tools/prompt/enhancePrompt.d.ts.map +1 -0
  139. package/dist/tools/prompt/enhancePrompt.js +110 -0
  140. package/dist/tools/prompt/enhancePrompt.js.map +1 -0
  141. package/dist/tools/prompt/enhancePromptGemini.d.ts +8 -0
  142. package/dist/tools/prompt/enhancePromptGemini.d.ts.map +1 -0
  143. package/dist/tools/prompt/enhancePromptGemini.js +332 -0
  144. package/dist/tools/prompt/enhancePromptGemini.js.map +1 -0
  145. package/dist/tools/prompt/index.d.ts +7 -0
  146. package/dist/tools/prompt/index.d.ts.map +1 -0
  147. package/dist/tools/prompt/index.js +7 -0
  148. package/dist/tools/prompt/index.js.map +1 -0
  149. package/dist/tools/reasoning/applyReasoningFramework.d.ts +8 -0
  150. package/dist/tools/reasoning/applyReasoningFramework.d.ts.map +1 -0
  151. package/dist/tools/reasoning/applyReasoningFramework.js +266 -0
  152. package/dist/tools/reasoning/applyReasoningFramework.js.map +1 -0
  153. package/dist/tools/reasoning/index.d.ts +5 -0
  154. package/dist/tools/reasoning/index.d.ts.map +1 -0
  155. package/dist/tools/reasoning/index.js +5 -0
  156. package/dist/tools/reasoning/index.js.map +1 -0
  157. package/dist/tools/spec/prdParser.test.js +171 -171
  158. package/dist/tools/spec/specGenerator.js +169 -169
  159. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  160. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  161. package/dist/tools/thinking/analyzeProblem.d.ts +7 -0
  162. package/dist/tools/thinking/analyzeProblem.d.ts.map +1 -0
  163. package/dist/tools/thinking/analyzeProblem.js +55 -0
  164. package/dist/tools/thinking/analyzeProblem.js.map +1 -0
  165. package/dist/tools/thinking/breakDownProblem.d.ts +8 -0
  166. package/dist/tools/thinking/breakDownProblem.d.ts.map +1 -0
  167. package/dist/tools/thinking/breakDownProblem.js +145 -0
  168. package/dist/tools/thinking/breakDownProblem.js.map +1 -0
  169. package/dist/tools/thinking/createThinkingChain.d.ts +7 -0
  170. package/dist/tools/thinking/createThinkingChain.d.ts.map +1 -0
  171. package/dist/tools/thinking/createThinkingChain.js +44 -0
  172. package/dist/tools/thinking/createThinkingChain.js.map +1 -0
  173. package/dist/tools/thinking/formatAsPlan.d.ts +9 -0
  174. package/dist/tools/thinking/formatAsPlan.d.ts.map +1 -0
  175. package/dist/tools/thinking/formatAsPlan.js +78 -0
  176. package/dist/tools/thinking/formatAsPlan.js.map +1 -0
  177. package/dist/tools/thinking/index.d.ts +10 -0
  178. package/dist/tools/thinking/index.d.ts.map +1 -0
  179. package/dist/tools/thinking/index.js +10 -0
  180. package/dist/tools/thinking/index.js.map +1 -0
  181. package/dist/tools/thinking/stepByStepAnalysis.d.ts +8 -0
  182. package/dist/tools/thinking/stepByStepAnalysis.d.ts.map +1 -0
  183. package/dist/tools/thinking/stepByStepAnalysis.js +63 -0
  184. package/dist/tools/thinking/stepByStepAnalysis.js.map +1 -0
  185. package/dist/tools/thinking/thinkAloudProcess.d.ts +8 -0
  186. package/dist/tools/thinking/thinkAloudProcess.d.ts.map +1 -0
  187. package/dist/tools/thinking/thinkAloudProcess.js +80 -0
  188. package/dist/tools/thinking/thinkAloudProcess.js.map +1 -0
  189. package/hooks/hooks.json +115 -115
  190. package/hooks/scripts/code-check.js +70 -70
  191. package/hooks/scripts/code-review.js +22 -22
  192. package/hooks/scripts/complexity.js +22 -22
  193. package/hooks/scripts/compound.js +23 -23
  194. package/hooks/scripts/context-save.js +53 -53
  195. package/hooks/scripts/gemini-ui-gen.js +281 -281
  196. package/hooks/scripts/generate-brand-assets.js +474 -474
  197. package/hooks/scripts/hud-multiline.js +262 -262
  198. package/hooks/scripts/hud-status.js +291 -291
  199. package/hooks/scripts/keyword-detector.js +214 -214
  200. package/hooks/scripts/llm-orchestrate.js +171 -171
  201. package/hooks/scripts/post-edit.js +97 -97
  202. package/hooks/scripts/post-tool-verify.js +210 -210
  203. package/hooks/scripts/pre-tool-guard.js +125 -125
  204. package/hooks/scripts/prompt-dispatcher.js +161 -161
  205. package/hooks/scripts/recall.js +22 -22
  206. package/hooks/scripts/session-start.js +30 -30
  207. package/hooks/scripts/skill-injector.js +191 -191
  208. package/hooks/scripts/utils.js +97 -97
  209. package/languages/csharp-unity.md +515 -515
  210. package/languages/gdscript-godot.md +470 -470
  211. package/languages/ruby-rails.md +489 -489
  212. package/languages/typescript-angular.md +433 -433
  213. package/languages/typescript-astro.md +416 -416
  214. package/languages/typescript-electron.md +406 -406
  215. package/languages/typescript-nestjs.md +524 -524
  216. package/languages/typescript-svelte.md +407 -407
  217. package/languages/typescript-tauri.md +365 -365
  218. package/package.json +84 -84
  219. package/skills/brand-assets.md +141 -141
  220. package/skills/commerce-patterns.md +361 -361
  221. package/skills/context7-usage.md +102 -102
  222. package/skills/e2e-commerce.md +304 -304
  223. package/skills/frontend-design.md +92 -92
  224. package/skills/git-worktree.md +181 -181
  225. package/skills/parallel-research.md +77 -77
  226. package/skills/priority-todos.md +239 -239
  227. package/skills/seo-checklist.md +244 -244
  228. package/skills/tool-fallback.md +190 -190
  229. package/skills/vibe-capabilities.md +161 -161
  230. package/vibe/constitution.md +227 -227
  231. package/vibe/rules/core/communication-guide.md +98 -98
  232. package/vibe/rules/core/development-philosophy.md +52 -52
  233. package/vibe/rules/core/quick-start.md +102 -102
  234. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  235. package/vibe/rules/quality/checklist.md +276 -276
  236. package/vibe/rules/quality/testing-strategy.md +440 -440
  237. package/vibe/rules/standards/anti-patterns.md +541 -541
  238. package/vibe/rules/standards/code-structure.md +291 -291
  239. package/vibe/rules/standards/complexity-metrics.md +313 -313
  240. package/vibe/rules/standards/naming-conventions.md +198 -198
  241. package/vibe/setup.sh +31 -31
  242. package/vibe/templates/constitution-template.md +252 -252
  243. package/vibe/templates/contract-backend-template.md +526 -526
  244. package/vibe/templates/contract-frontend-template.md +599 -599
  245. package/vibe/templates/feature-template.md +96 -96
  246. package/vibe/templates/spec-template.md +221 -221
@@ -0,0 +1,8 @@
1
+ import { ToolResult, ToolDefinition } from '../../types/tool.js';
2
+ export declare const breakDownProblemDefinition: ToolDefinition;
3
+ export declare function breakDownProblem(args: {
4
+ problem: string;
5
+ maxDepth?: number;
6
+ approach?: string;
7
+ }): Promise<ToolResult>;
8
+ //# sourceMappingURL=breakDownProblem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breakDownProblem.d.ts","sourceRoot":"","sources":["../../../src/tools/thinking/breakDownProblem.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAiBjE,eAAO,MAAM,0BAA0B,EAAE,cAoBxC,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAwH3H"}
@@ -0,0 +1,145 @@
1
+ // Sequential thinking tool - completely independent
2
+ import { Project, ScriptKind } from "ts-morph";
3
+ const AST_PROJECT = new Project({
4
+ useInMemoryFileSystem: true,
5
+ compilerOptions: { allowJs: true, skipLibCheck: true }
6
+ });
7
+ export const breakDownProblemDefinition = {
8
+ name: 'break_down_problem',
9
+ description: '나눠서|단계별로|세분화|break down|divide|split into parts - Break complex problems into sub-problems',
10
+ inputSchema: {
11
+ type: 'object',
12
+ properties: {
13
+ problem: { type: 'string', description: 'Complex problem to break down' },
14
+ maxDepth: { type: 'number', description: 'Maximum breakdown depth' },
15
+ approach: { type: 'string', description: 'Breakdown approach', enum: ['sequential', 'hierarchical', 'dependency-based'] }
16
+ },
17
+ required: ['problem']
18
+ },
19
+ annotations: {
20
+ title: 'Break Down Problem',
21
+ audience: ['user', 'assistant'],
22
+ readOnlyHint: true,
23
+ destructiveHint: false,
24
+ idempotentHint: true,
25
+ openWorldHint: false
26
+ }
27
+ };
28
+ export async function breakDownProblem(args) {
29
+ const { problem: breakdownProblem, maxDepth = 3, approach = 'hierarchical' } = args;
30
+ // 코드로 추정되는 입력이면 AST 기반 구조 분해 시도
31
+ let codeStructureSubProblems = null;
32
+ if (breakdownProblem.includes('function') || breakdownProblem.includes('class') || breakdownProblem.includes('=>')) {
33
+ try {
34
+ const sourceFile = AST_PROJECT.createSourceFile('temp.ts', breakdownProblem, {
35
+ overwrite: true,
36
+ scriptKind: ScriptKind.TS
37
+ });
38
+ const funcs = sourceFile.getFunctions();
39
+ const classes = sourceFile.getClasses();
40
+ const vars = sourceFile.getVariableDeclarations();
41
+ codeStructureSubProblems = [];
42
+ funcs.forEach((f, i) => {
43
+ codeStructureSubProblems.push({
44
+ id: `codeFunc${i + 1}`,
45
+ title: `함수 분석: ${f.getName() || '익명함수'}`,
46
+ description: f.getText().slice(0, 100) + (f.getText().length > 100 ? '...' : ''),
47
+ complexity: 'medium',
48
+ priority: 'high',
49
+ dependencies: []
50
+ });
51
+ });
52
+ classes.forEach((c, i) => {
53
+ codeStructureSubProblems.push({
54
+ id: `codeClass${i + 1}`,
55
+ title: `클래스 분석: ${c.getName() || '익명클래스'}`,
56
+ description: c.getText().slice(0, 100) + (c.getText().length > 100 ? '...' : ''),
57
+ complexity: 'high',
58
+ priority: 'high',
59
+ dependencies: []
60
+ });
61
+ });
62
+ vars.forEach((v, i) => {
63
+ codeStructureSubProblems.push({
64
+ id: `codeVar${i + 1}`,
65
+ title: `변수 분석: ${v.getName()}`,
66
+ description: v.getText().slice(0, 100) + (v.getText().length > 100 ? '...' : ''),
67
+ complexity: 'low',
68
+ priority: 'medium',
69
+ dependencies: []
70
+ });
71
+ });
72
+ if (codeStructureSubProblems.length === 0)
73
+ codeStructureSubProblems = null;
74
+ }
75
+ catch (e) {
76
+ codeStructureSubProblems = null;
77
+ }
78
+ }
79
+ const generateSubProblems = (parentProblem, depth, maxDepth) => {
80
+ if (depth >= maxDepth)
81
+ return null;
82
+ const subProblems = [
83
+ {
84
+ id: `${depth}.1`,
85
+ title: `Understanding ${parentProblem}`,
86
+ description: `Analyze and understand the core aspects of ${parentProblem}`,
87
+ complexity: 'low',
88
+ priority: 'high',
89
+ dependencies: []
90
+ },
91
+ {
92
+ id: `${depth}.2`,
93
+ title: `Planning solution for ${parentProblem}`,
94
+ description: `Create detailed plan to solve ${parentProblem}`,
95
+ complexity: 'medium',
96
+ priority: 'high',
97
+ dependencies: [`${depth}.1`]
98
+ },
99
+ {
100
+ id: `${depth}.3`,
101
+ title: `Implementing solution for ${parentProblem}`,
102
+ description: `Execute the planned solution for ${parentProblem}`,
103
+ complexity: 'high',
104
+ priority: 'medium',
105
+ dependencies: [`${depth}.2`]
106
+ }
107
+ ];
108
+ if (depth < maxDepth - 1) {
109
+ subProblems.forEach((subProblem) => {
110
+ subProblem.subProblems = generateSubProblems(subProblem.title, depth + 1, maxDepth);
111
+ });
112
+ }
113
+ return subProblems;
114
+ };
115
+ const problemBreakdown = {
116
+ action: 'break_down_problem',
117
+ problem: breakdownProblem,
118
+ approach,
119
+ maxDepth,
120
+ breakdown: {
121
+ rootProblem: {
122
+ id: '0',
123
+ title: breakdownProblem,
124
+ description: `Root problem: ${breakdownProblem}`,
125
+ complexity: 'high',
126
+ subProblems: codeStructureSubProblems || generateSubProblems(breakdownProblem, 1, maxDepth)
127
+ }
128
+ },
129
+ executionOrder: approach === 'dependency-based' ?
130
+ ['Understanding phase', 'Planning phase', 'Implementation phase'] :
131
+ approach === 'sequential' ?
132
+ ['Step 1', 'Step 2', 'Step 3', '...'] :
133
+ ['Top-level analysis', 'Mid-level breakdown', 'Detailed tasks'],
134
+ status: 'success'
135
+ };
136
+ const formatSubProblems = (subs, indent = 0) => {
137
+ if (!subs)
138
+ return '';
139
+ return subs.map(s => `${' '.repeat(indent)}- ${s.title} (${s.complexity}, ${s.priority})${s.subProblems ? '\n' + formatSubProblems(s.subProblems, indent + 1) : ''}`).join('\n');
140
+ };
141
+ return {
142
+ content: [{ type: 'text', text: `Problem: ${breakdownProblem}\nApproach: ${approach}\nMax Depth: ${maxDepth}\n\nBreakdown:\n${formatSubProblems(problemBreakdown.breakdown.rootProblem.subProblems)}\n\nExecution: ${problemBreakdown.executionOrder.join(' → ')}` }]
143
+ };
144
+ }
145
+ //# sourceMappingURL=breakDownProblem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breakDownProblem.js","sourceRoot":"","sources":["../../../src/tools/thinking/breakDownProblem.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { ToolResult, ToolDefinition } from '../../types/tool.js';
2
+ export declare const createThinkingChainDefinition: ToolDefinition;
3
+ export declare function createThinkingChain(args: {
4
+ topic: string;
5
+ steps?: number;
6
+ }): Promise<ToolResult>;
7
+ //# sourceMappingURL=createThinkingChain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createThinkingChain.d.ts","sourceRoot":"","sources":["../../../src/tools/thinking/createThinkingChain.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEjE,eAAO,MAAM,6BAA6B,EAAE,cAmB3C,CAAC;AAEF,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAuBtG"}
@@ -0,0 +1,44 @@
1
+ // Sequential thinking tool - completely independent
2
+ export const createThinkingChainDefinition = {
3
+ name: 'create_thinking_chain',
4
+ description: '생각 과정|사고 흐름|연쇄적으로|thinking process|chain of thought|reasoning chain - Create sequential thinking chain',
5
+ inputSchema: {
6
+ type: 'object',
7
+ properties: {
8
+ topic: { type: 'string', description: 'Topic to think about' },
9
+ steps: { type: 'number', description: 'Number of thinking steps' }
10
+ },
11
+ required: ['topic']
12
+ },
13
+ annotations: {
14
+ title: 'Create Thinking Chain',
15
+ audience: ['user', 'assistant'],
16
+ readOnlyHint: true,
17
+ destructiveHint: false,
18
+ idempotentHint: true,
19
+ openWorldHint: false
20
+ }
21
+ };
22
+ export async function createThinkingChain(args) {
23
+ const { topic, steps = 5 } = args;
24
+ const thinkingChain = {
25
+ action: 'create_thinking_chain',
26
+ topic,
27
+ steps,
28
+ chain: Array.from({ length: steps }, (_, i) => ({
29
+ step: i + 1,
30
+ title: `Step ${i + 1}: Analyze ${topic}`,
31
+ content: `Think about ${topic} from perspective ${i + 1}`,
32
+ questions: [
33
+ `What are the key aspects of ${topic}?`,
34
+ `How does this relate to the overall problem?`,
35
+ `What are the potential implications?`
36
+ ]
37
+ })),
38
+ status: 'success'
39
+ };
40
+ return {
41
+ content: [{ type: 'text', text: `Topic: ${topic}\nSteps: ${steps}\n\n${thinkingChain.chain.map(s => `${s.step}. ${s.title}\n ${s.content}\n Q: ${s.questions.join(', ')}`).join('\n\n')}` }]
42
+ };
43
+ }
44
+ //# sourceMappingURL=createThinkingChain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createThinkingChain.js","sourceRoot":"","sources":["../../../src/tools/thinking/createThinkingChain.ts"],"names":[],"mappings":"AAAA,oDAAoD;AAIpD,MAAM,CAAC,MAAM,6BAA6B,GAAmB;IAC3D,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE,wGAAwG;IACrH,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;YAC9D,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;SACnE;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;IACD,WAAW,EAAE;QACX,KAAK,EAAE,uBAAuB;QAC9B,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;QAC/B,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;KACrB;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAuC;IAC/E,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;IAElC,MAAM,aAAa,GAAG;QACpB,MAAM,EAAE,uBAAuB;QAC/B,KAAK;QACL,KAAK;QACL,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9C,IAAI,EAAE,CAAC,GAAG,CAAC;YACX,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,aAAa,KAAK,EAAE;YACxC,OAAO,EAAE,eAAe,KAAK,qBAAqB,CAAC,GAAG,CAAC,EAAE;YACzD,SAAS,EAAE;gBACT,+BAA+B,KAAK,GAAG;gBACvC,8CAA8C;gBAC9C,sCAAsC;aACvC;SACF,CAAC,CAAC;QACH,MAAM,EAAE,SAAS;KAClB,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,YAAY,KAAK,OAAO,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,OAAO,WAAW,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;KACjM,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ToolResult, ToolDefinition } from '../../types/tool.js';
2
+ export declare const formatAsPlanDefinition: ToolDefinition;
3
+ export declare function formatAsPlan(args: {
4
+ content: string;
5
+ priority?: string;
6
+ includeTimeEstimates?: boolean;
7
+ includeCheckboxes?: boolean;
8
+ }): Promise<ToolResult>;
9
+ //# sourceMappingURL=formatAsPlan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatAsPlan.d.ts","sourceRoot":"","sources":["../../../src/tools/thinking/formatAsPlan.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEjE,eAAO,MAAM,sBAAsB,EAAE,cAqBpC,CAAC;AAEF,wBAAsB,YAAY,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAwDjK"}
@@ -0,0 +1,78 @@
1
+ // Sequential thinking tool - completely independent
2
+ export const formatAsPlanDefinition = {
3
+ name: 'format_as_plan',
4
+ description: '계획으로|정리해줘|체크리스트|format as plan|make a plan|organize this|checklist - Format content into clear plans',
5
+ inputSchema: {
6
+ type: 'object',
7
+ properties: {
8
+ content: { type: 'string', description: 'Content to format as a plan' },
9
+ priority: { type: 'string', description: 'Default priority level', enum: ['high', 'medium', 'low'] },
10
+ includeTimeEstimates: { type: 'boolean', description: 'Include time estimates for each step' },
11
+ includeCheckboxes: { type: 'boolean', description: 'Include checkboxes for tracking progress' }
12
+ },
13
+ required: ['content']
14
+ },
15
+ annotations: {
16
+ title: 'Format as Plan',
17
+ audience: ['user', 'assistant'],
18
+ readOnlyHint: true,
19
+ destructiveHint: false,
20
+ idempotentHint: true,
21
+ openWorldHint: false
22
+ }
23
+ };
24
+ export async function formatAsPlan(args) {
25
+ const { content: planContent, priority = 'medium', includeTimeEstimates = true, includeCheckboxes = true } = args;
26
+ // Parse content into actionable steps
27
+ const sentences = planContent.split(/[.!?]+/).filter(s => s.trim().length > 10);
28
+ const planSteps = sentences.map((sentence, index) => {
29
+ const stepNumber = index + 1;
30
+ const cleanSentence = sentence.trim();
31
+ // Estimate time based on content complexity
32
+ let timeEstimate = '5min';
33
+ if (cleanSentence.length > 100)
34
+ timeEstimate = '15min';
35
+ else if (cleanSentence.length > 50)
36
+ timeEstimate = '10min';
37
+ // Detect priority keywords
38
+ let stepPriority = priority;
39
+ if (cleanSentence.match(/urgent|critical|important|first|must/i))
40
+ stepPriority = 'high';
41
+ else if (cleanSentence.match(/later|eventually|nice|optional/i))
42
+ stepPriority = 'low';
43
+ // Format step
44
+ let formattedStep = includeCheckboxes ? `${stepNumber}. □ ` : `${stepNumber}. `;
45
+ formattedStep += cleanSentence;
46
+ if (includeTimeEstimates)
47
+ formattedStep += ` (${stepPriority.toUpperCase()}, ${timeEstimate})`;
48
+ return {
49
+ number: stepNumber,
50
+ content: cleanSentence,
51
+ priority: stepPriority,
52
+ timeEstimate,
53
+ formatted: formattedStep
54
+ };
55
+ });
56
+ // Calculate total time
57
+ const totalMinutes = planSteps.reduce((total, step) => {
58
+ const minutes = parseInt(step.timeEstimate.replace('min', ''));
59
+ return total + minutes;
60
+ }, 0);
61
+ const planResult = {
62
+ action: 'format_as_plan',
63
+ originalContent: planContent,
64
+ formattedPlan: planSteps.map((s) => s.formatted).join('\n'),
65
+ steps: planSteps.length,
66
+ totalEstimatedTime: `${totalMinutes} minutes`,
67
+ breakdown: {
68
+ high: planSteps.filter((s) => s.priority === 'high').length,
69
+ medium: planSteps.filter((s) => s.priority === 'medium').length,
70
+ low: planSteps.filter((s) => s.priority === 'low').length
71
+ },
72
+ status: 'success'
73
+ };
74
+ return {
75
+ content: [{ type: 'text', text: `${planResult.formattedPlan}\n\nTotal: ${planResult.totalEstimatedTime} | Priority: ${planResult.breakdown.high}H ${planResult.breakdown.medium}M ${planResult.breakdown.low}L` }]
76
+ };
77
+ }
78
+ //# sourceMappingURL=formatAsPlan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatAsPlan.js","sourceRoot":"","sources":["../../../src/tools/thinking/formatAsPlan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Thinking Tools - 사고 체인 및 문제 분석
3
+ */
4
+ export { createThinkingChain } from './createThinkingChain.js';
5
+ export { analyzeProblem } from './analyzeProblem.js';
6
+ export { stepByStepAnalysis } from './stepByStepAnalysis.js';
7
+ export { formatAsPlan } from './formatAsPlan.js';
8
+ export { breakDownProblem } from './breakDownProblem.js';
9
+ export { thinkAloudProcess } from './thinkAloudProcess.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/thinking/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Thinking Tools - 사고 체인 및 문제 분석
3
+ */
4
+ export { createThinkingChain } from './createThinkingChain.js';
5
+ export { analyzeProblem } from './analyzeProblem.js';
6
+ export { stepByStepAnalysis } from './stepByStepAnalysis.js';
7
+ export { formatAsPlan } from './formatAsPlan.js';
8
+ export { breakDownProblem } from './breakDownProblem.js';
9
+ export { thinkAloudProcess } from './thinkAloudProcess.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/thinking/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { ToolResult, ToolDefinition } from '../../types/tool.js';
2
+ export declare const stepByStepAnalysisDefinition: ToolDefinition;
3
+ export declare function stepByStepAnalysis(args: {
4
+ task: string;
5
+ context?: string;
6
+ detailLevel?: string;
7
+ }): Promise<ToolResult>;
8
+ //# sourceMappingURL=stepByStepAnalysis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepByStepAnalysis.d.ts","sourceRoot":"","sources":["../../../src/tools/thinking/stepByStepAnalysis.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEjE,eAAO,MAAM,4BAA4B,EAAE,cAoB1C,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAyC5H"}
@@ -0,0 +1,63 @@
1
+ // Sequential thinking tool - completely independent
2
+ export const stepByStepAnalysisDefinition = {
3
+ name: 'step_by_step_analysis',
4
+ description: '단계별|차근차근|하나씩|step by step|one by one|gradually - Perform detailed step-by-step analysis',
5
+ inputSchema: {
6
+ type: 'object',
7
+ properties: {
8
+ task: { type: 'string', description: 'Task to analyze step by step' },
9
+ context: { type: 'string', description: 'Additional context for the task' },
10
+ detailLevel: { type: 'string', description: 'Level of detail', enum: ['basic', 'detailed', 'comprehensive'] }
11
+ },
12
+ required: ['task']
13
+ },
14
+ annotations: {
15
+ title: 'Step-by-Step Analysis',
16
+ audience: ['user', 'assistant'],
17
+ readOnlyHint: true,
18
+ destructiveHint: false,
19
+ idempotentHint: true,
20
+ openWorldHint: false
21
+ }
22
+ };
23
+ export async function stepByStepAnalysis(args) {
24
+ const { task, context = '', detailLevel = 'detailed' } = args;
25
+ const stepCount = detailLevel === 'basic' ? 3 : detailLevel === 'detailed' ? 5 : 7;
26
+ const stepAnalysis = {
27
+ action: 'step_by_step_analysis',
28
+ task,
29
+ context,
30
+ detailLevel,
31
+ steps: Array.from({ length: stepCount }, (_, i) => {
32
+ const stepNum = i + 1;
33
+ return {
34
+ stepNumber: stepNum,
35
+ title: `Step ${stepNum}: ${task} - Phase ${stepNum}`,
36
+ description: `Detailed analysis of ${task} in step ${stepNum}`,
37
+ actions: [
38
+ `Analyze requirements for step ${stepNum}`,
39
+ `Identify dependencies and prerequisites`,
40
+ `Execute the planned actions`,
41
+ `Validate results and check for issues`,
42
+ `Prepare for next step`
43
+ ],
44
+ checkpoints: [
45
+ `Verify step ${stepNum} requirements are met`,
46
+ `Confirm outputs are as expected`,
47
+ `Check for any blocking issues`
48
+ ],
49
+ estimatedTime: detailLevel === 'comprehensive' ? `${stepNum * 10} minutes` : `${stepNum * 5} minutes`
50
+ };
51
+ }),
52
+ summary: {
53
+ totalSteps: stepCount,
54
+ estimatedTotalTime: detailLevel === 'comprehensive' ? `${stepCount * 35} minutes` : `${stepCount * 20} minutes`,
55
+ complexity: detailLevel === 'basic' ? 'low' : detailLevel === 'detailed' ? 'medium' : 'high'
56
+ },
57
+ status: 'success'
58
+ };
59
+ return {
60
+ content: [{ type: 'text', text: `Task: ${task}\nDetail: ${detailLevel}\nSteps: ${stepCount}\n\n${stepAnalysis.steps.map(s => `Step ${s.stepNumber}: ${s.title}\n Time: ${s.estimatedTime}\n Actions: ${s.actions.join(', ')}\n Checkpoints: ${s.checkpoints.join(', ')}`).join('\n\n')}\n\nTotal Time: ${stepAnalysis.summary.estimatedTotalTime} | Complexity: ${stepAnalysis.summary.complexity}` }]
61
+ };
62
+ }
63
+ //# sourceMappingURL=stepByStepAnalysis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepByStepAnalysis.js","sourceRoot":"","sources":["../../../src/tools/thinking/stepByStepAnalysis.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { ToolResult, ToolDefinition } from '../../types/tool.js';
2
+ export declare const thinkAloudProcessDefinition: ToolDefinition;
3
+ export declare function thinkAloudProcess(args: {
4
+ scenario: string;
5
+ perspective?: string;
6
+ verbosity?: string;
7
+ }): Promise<ToolResult>;
8
+ //# sourceMappingURL=thinkAloudProcess.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thinkAloudProcess.d.ts","sourceRoot":"","sources":["../../../src/tools/thinking/thinkAloudProcess.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEjE,eAAO,MAAM,2BAA2B,EAAE,cAoBzC,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CA4DjI"}
@@ -0,0 +1,80 @@
1
+ // Sequential thinking tool - completely independent
2
+ export const thinkAloudProcessDefinition = {
3
+ name: 'think_aloud_process',
4
+ description: '생각해봐|고민해봐|어떻게 생각해|think about it|let me think|reasoning - Generate think-aloud reasoning process',
5
+ inputSchema: {
6
+ type: 'object',
7
+ properties: {
8
+ scenario: { type: 'string', description: 'Scenario or problem to think through' },
9
+ perspective: { type: 'string', description: 'Thinking perspective', enum: ['analytical', 'creative', 'systematic', 'critical'] },
10
+ verbosity: { type: 'string', description: 'Verbosity level', enum: ['concise', 'moderate', 'verbose'] }
11
+ },
12
+ required: ['scenario']
13
+ },
14
+ annotations: {
15
+ title: 'Think Aloud',
16
+ audience: ['user', 'assistant'],
17
+ readOnlyHint: true,
18
+ destructiveHint: false,
19
+ idempotentHint: true,
20
+ openWorldHint: false
21
+ }
22
+ };
23
+ export async function thinkAloudProcess(args) {
24
+ const { scenario, perspective = 'analytical', verbosity = 'moderate' } = args;
25
+ const thoughtCount = verbosity === 'concise' ? 3 : verbosity === 'moderate' ? 5 : 8;
26
+ const thinkAloudProcess = {
27
+ action: 'think_aloud_process',
28
+ scenario,
29
+ perspective,
30
+ verbosity,
31
+ thoughtProcess: Array.from({ length: thoughtCount }, (_, i) => {
32
+ const thoughtNum = i + 1;
33
+ let thoughtStyle = '';
34
+ switch (perspective) {
35
+ case 'analytical':
36
+ thoughtStyle = `Analyzing: Let me examine ${scenario} systematically...`;
37
+ break;
38
+ case 'creative':
39
+ thoughtStyle = `Brainstorming: What if I approach ${scenario} differently...`;
40
+ break;
41
+ case 'systematic':
42
+ thoughtStyle = `Step ${thoughtNum}: Following systematic approach to ${scenario}...`;
43
+ break;
44
+ case 'critical':
45
+ thoughtStyle = `Questioning: What assumptions am I making about ${scenario}...`;
46
+ break;
47
+ }
48
+ return {
49
+ stepNumber: thoughtNum,
50
+ thought: thoughtStyle,
51
+ reasoning: `In step ${thoughtNum}, I need to consider the implications of ${scenario} from a ${perspective} perspective`,
52
+ questions: [
53
+ `What do I know about this aspect of ${scenario}?`,
54
+ `What don't I know yet?`,
55
+ `What should I explore next?`
56
+ ],
57
+ conclusions: [
58
+ `Based on current analysis...`,
59
+ `This leads me to think that...`,
60
+ `Next I should focus on...`
61
+ ],
62
+ confidence: Math.min(95, 60 + (thoughtNum * 5))
63
+ };
64
+ }),
65
+ metacognition: {
66
+ thinkingStyle: perspective,
67
+ processEffectiveness: verbosity === 'verbose' ? 'highly detailed' : verbosity === 'moderate' ? 'balanced' : 'efficient',
68
+ nextSteps: [
69
+ 'Review thinking process for gaps',
70
+ 'Validate conclusions against evidence',
71
+ 'Plan concrete actions based on analysis'
72
+ ]
73
+ },
74
+ status: 'success'
75
+ };
76
+ return {
77
+ content: [{ type: 'text', text: `Scenario: ${scenario}\nPerspective: ${perspective}\nThoughts: ${thoughtCount}\n${thinkAloudProcess.thoughtProcess.map((t, i) => `${i + 1}. ${t.thought} (confidence: ${t.confidence}%)`).join('\n')}\n\nNext: ${thinkAloudProcess.metacognition.nextSteps.join(', ')}` }]
78
+ };
79
+ }
80
+ //# sourceMappingURL=thinkAloudProcess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thinkAloudProcess.js","sourceRoot":"","sources":["../../../src/tools/thinking/thinkAloudProcess.ts"],"names":[],"mappings":"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"}