@within-7/minto 0.1.2 → 0.1.4
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.
- package/dist/commands/build.js +74 -0
- package/dist/commands/build.js.map +7 -0
- package/dist/commands/mcp.js +40 -0
- package/dist/commands/mcp.js.map +7 -0
- package/dist/commands/mcp_refresh.js +40 -0
- package/dist/commands/mcp_refresh.js.map +7 -0
- package/dist/components/AskUserQuestionDialog/AskUserQuestionDialog.js +140 -0
- package/dist/components/AskUserQuestionDialog/AskUserQuestionDialog.js.map +7 -0
- package/dist/components/AskUserQuestionDialog/QuestionView.js +45 -0
- package/dist/components/AskUserQuestionDialog/QuestionView.js.map +7 -0
- package/dist/components/AskUserQuestionDialog/index.js +7 -0
- package/dist/components/AskUserQuestionDialog/index.js.map +7 -0
- package/dist/components/TodoPanel.js +2 -3
- package/dist/components/TodoPanel.js.map +2 -2
- package/dist/entrypoints/cli-wrapper.js +61 -0
- package/dist/entrypoints/cli-wrapper.js.map +7 -0
- package/dist/entrypoints/cli.js +0 -0
- package/dist/hooks/useAskUser.js +24 -0
- package/dist/hooks/useAskUser.js.map +7 -0
- package/dist/query.js.map +2 -2
- package/dist/screens/REPL.js +18 -5
- package/dist/screens/REPL.js.map +2 -2
- package/dist/tools/AskUserQuestionTool/AskUserQuestionTool.js +113 -0
- package/dist/tools/AskUserQuestionTool/AskUserQuestionTool.js.map +7 -0
- package/dist/tools/AskUserQuestionTool/index.js +5 -0
- package/dist/tools/AskUserQuestionTool/index.js.map +7 -0
- package/dist/tools/AskUserQuestionTool/prompt.js +167 -0
- package/dist/tools/AskUserQuestionTool/prompt.js.map +7 -0
- package/dist/tools.js +2 -0
- package/dist/tools.js.map +2 -2
- package/dist/types/askUserQuestion.js +1 -0
- package/dist/types/askUserQuestion.js.map +7 -0
- package/dist/version.js +7 -0
- package/dist/version.js.map +7 -0
- package/package.json +17 -15
- package/.npmrc +0 -3
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
const DESCRIPTION = `Use this tool to ask the user questions to gather preferences, clarify requirements, or confirm implementation choices before proceeding with a task.`;
|
|
2
|
+
const PROMPT = `## AskUserQuestion Tool
|
|
3
|
+
|
|
4
|
+
Use this tool proactively when you need to gather information from the user before proceeding with task execution.
|
|
5
|
+
|
|
6
|
+
### When to Use This Tool
|
|
7
|
+
|
|
8
|
+
Use AskUserQuestion when you encounter:
|
|
9
|
+
|
|
10
|
+
1. **Ambiguous Requirements**
|
|
11
|
+
- Multiple valid interpretations of the user's request
|
|
12
|
+
- Unclear scope or boundaries
|
|
13
|
+
- Missing critical details
|
|
14
|
+
|
|
15
|
+
2. **Technical Choices**
|
|
16
|
+
- Library/framework selection (e.g., React vs Vue, REST vs GraphQL)
|
|
17
|
+
- Architecture patterns (e.g., monolith vs microservices)
|
|
18
|
+
- Authentication methods (e.g., JWT vs Session)
|
|
19
|
+
- Database choices (e.g., SQL vs NoSQL)
|
|
20
|
+
|
|
21
|
+
3. **User Preferences**
|
|
22
|
+
- Code style preferences
|
|
23
|
+
- Naming conventions
|
|
24
|
+
- File organization
|
|
25
|
+
- Feature prioritization
|
|
26
|
+
|
|
27
|
+
4. **Major Decisions**
|
|
28
|
+
- Breaking changes that affect existing code
|
|
29
|
+
- Significant refactoring that changes architecture
|
|
30
|
+
- Adding dependencies or changing build configuration
|
|
31
|
+
- Database schema changes
|
|
32
|
+
|
|
33
|
+
5. **Validation of Assumptions**
|
|
34
|
+
- When you're inferring requirements
|
|
35
|
+
- When the user's intent is unclear
|
|
36
|
+
- Before making irreversible changes
|
|
37
|
+
|
|
38
|
+
### When NOT to Use This Tool
|
|
39
|
+
|
|
40
|
+
Avoid using this tool for:
|
|
41
|
+
|
|
42
|
+
- **Trivial tasks** with obvious, single implementations
|
|
43
|
+
- **Well-specified requests** where the user already provided clear instructions
|
|
44
|
+
- **Standard practices** that don't require user input (e.g., using try-catch for error handling)
|
|
45
|
+
- **Informational responses** where you're just explaining concepts
|
|
46
|
+
|
|
47
|
+
### Usage Guidelines
|
|
48
|
+
|
|
49
|
+
**Question Structure:**
|
|
50
|
+
- Ask 1-4 related questions at a time
|
|
51
|
+
- Each question should have 2-4 options
|
|
52
|
+
- Provide clear, concise descriptions for each option
|
|
53
|
+
- Use the \`header\` field for short category labels (max 12 characters)
|
|
54
|
+
|
|
55
|
+
**Option Ordering:**
|
|
56
|
+
- Place the recommended option first
|
|
57
|
+
- Add "(Recommended)" suffix to highlight your suggestion
|
|
58
|
+
- Order remaining options by likelihood or popularity
|
|
59
|
+
|
|
60
|
+
**Best Practices:**
|
|
61
|
+
- Group related questions together
|
|
62
|
+
- Keep question text focused and specific
|
|
63
|
+
- Provide enough context in option descriptions
|
|
64
|
+
- Allow for custom input when appropriate
|
|
65
|
+
|
|
66
|
+
### Examples
|
|
67
|
+
|
|
68
|
+
**Good Usage:**
|
|
69
|
+
|
|
70
|
+
\`\`\`
|
|
71
|
+
User: "Add authentication to the app"
|
|
72
|
+
|
|
73
|
+
Assistant uses AskUserQuestion:
|
|
74
|
+
{
|
|
75
|
+
"questions": [
|
|
76
|
+
{
|
|
77
|
+
"question": "Which authentication method should we use?",
|
|
78
|
+
"header": "Auth Method",
|
|
79
|
+
"options": [
|
|
80
|
+
{
|
|
81
|
+
"label": "JWT Token (Recommended)",
|
|
82
|
+
"description": "Stateless authentication, suitable for API-first architectures"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"label": "Session-based",
|
|
86
|
+
"description": "Traditional server-side sessions with cookies"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"label": "OAuth2",
|
|
90
|
+
"description": "Third-party authentication (Google, GitHub, etc.)"
|
|
91
|
+
}
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"question": "Should we implement 'Remember Me' functionality?",
|
|
96
|
+
"header": "Remember Me",
|
|
97
|
+
"options": [
|
|
98
|
+
{
|
|
99
|
+
"label": "Yes (Recommended)",
|
|
100
|
+
"description": "Allow users to stay logged in across sessions"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"label": "No",
|
|
104
|
+
"description": "Users must log in each time"
|
|
105
|
+
}
|
|
106
|
+
]
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
}
|
|
110
|
+
\`\`\`
|
|
111
|
+
|
|
112
|
+
**Bad Usage:**
|
|
113
|
+
|
|
114
|
+
\`\`\`
|
|
115
|
+
User: "Fix the typo in README.md"
|
|
116
|
+
|
|
117
|
+
Assistant should NOT use AskUserQuestion - this is straightforward
|
|
118
|
+
\`\`\`
|
|
119
|
+
|
|
120
|
+
### Response Format
|
|
121
|
+
|
|
122
|
+
The tool will return user answers in this format:
|
|
123
|
+
|
|
124
|
+
\`\`\`json
|
|
125
|
+
[
|
|
126
|
+
{
|
|
127
|
+
"questionIndex": 0,
|
|
128
|
+
"selectedOptions": [0], // User selected first option
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"questionIndex": 1,
|
|
132
|
+
"customInput": "30 days" // User provided custom input
|
|
133
|
+
}
|
|
134
|
+
]
|
|
135
|
+
\`\`\`
|
|
136
|
+
|
|
137
|
+
Use these answers to inform your implementation decisions and proceed with the task.
|
|
138
|
+
|
|
139
|
+
### Multi-Select Support
|
|
140
|
+
|
|
141
|
+
Set \`multiSelect: true\` to allow users to select multiple options:
|
|
142
|
+
|
|
143
|
+
\`\`\`json
|
|
144
|
+
{
|
|
145
|
+
"question": "Which features should we prioritize?",
|
|
146
|
+
"multiSelect": true,
|
|
147
|
+
"options": [
|
|
148
|
+
{ "label": "User profiles" },
|
|
149
|
+
{ "label": "Messaging system" },
|
|
150
|
+
{ "label": "Notifications" }
|
|
151
|
+
]
|
|
152
|
+
}
|
|
153
|
+
\`\`\`
|
|
154
|
+
|
|
155
|
+
### Important Notes
|
|
156
|
+
|
|
157
|
+
- Users can always choose "Other" to provide custom input
|
|
158
|
+
- Questions block execution until answered
|
|
159
|
+
- Users can cancel with Esc or Ctrl+C
|
|
160
|
+
- Don't ask more than 4 questions at once to avoid overwhelming users
|
|
161
|
+
- Each question should have 2-4 options for optimal UX
|
|
162
|
+
`;
|
|
163
|
+
export {
|
|
164
|
+
DESCRIPTION,
|
|
165
|
+
PROMPT
|
|
166
|
+
};
|
|
167
|
+
//# sourceMappingURL=prompt.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/tools/AskUserQuestionTool/prompt.ts"],
|
|
4
|
+
"sourcesContent": ["export const DESCRIPTION = `Use this tool to ask the user questions to gather preferences, clarify requirements, or confirm implementation choices before proceeding with a task.`\n\nexport const PROMPT = `## AskUserQuestion Tool\n\nUse this tool proactively when you need to gather information from the user before proceeding with task execution.\n\n### When to Use This Tool\n\nUse AskUserQuestion when you encounter:\n\n1. **Ambiguous Requirements**\n - Multiple valid interpretations of the user's request\n - Unclear scope or boundaries\n - Missing critical details\n\n2. **Technical Choices**\n - Library/framework selection (e.g., React vs Vue, REST vs GraphQL)\n - Architecture patterns (e.g., monolith vs microservices)\n - Authentication methods (e.g., JWT vs Session)\n - Database choices (e.g., SQL vs NoSQL)\n\n3. **User Preferences**\n - Code style preferences\n - Naming conventions\n - File organization\n - Feature prioritization\n\n4. **Major Decisions**\n - Breaking changes that affect existing code\n - Significant refactoring that changes architecture\n - Adding dependencies or changing build configuration\n - Database schema changes\n\n5. **Validation of Assumptions**\n - When you're inferring requirements\n - When the user's intent is unclear\n - Before making irreversible changes\n\n### When NOT to Use This Tool\n\nAvoid using this tool for:\n\n- **Trivial tasks** with obvious, single implementations\n- **Well-specified requests** where the user already provided clear instructions\n- **Standard practices** that don't require user input (e.g., using try-catch for error handling)\n- **Informational responses** where you're just explaining concepts\n\n### Usage Guidelines\n\n**Question Structure:**\n- Ask 1-4 related questions at a time\n- Each question should have 2-4 options\n- Provide clear, concise descriptions for each option\n- Use the \\`header\\` field for short category labels (max 12 characters)\n\n**Option Ordering:**\n- Place the recommended option first\n- Add \"(Recommended)\" suffix to highlight your suggestion\n- Order remaining options by likelihood or popularity\n\n**Best Practices:**\n- Group related questions together\n- Keep question text focused and specific\n- Provide enough context in option descriptions\n- Allow for custom input when appropriate\n\n### Examples\n\n**Good Usage:**\n\n\\`\\`\\`\nUser: \"Add authentication to the app\"\n\nAssistant uses AskUserQuestion:\n{\n \"questions\": [\n {\n \"question\": \"Which authentication method should we use?\",\n \"header\": \"Auth Method\",\n \"options\": [\n {\n \"label\": \"JWT Token (Recommended)\",\n \"description\": \"Stateless authentication, suitable for API-first architectures\"\n },\n {\n \"label\": \"Session-based\",\n \"description\": \"Traditional server-side sessions with cookies\"\n },\n {\n \"label\": \"OAuth2\",\n \"description\": \"Third-party authentication (Google, GitHub, etc.)\"\n }\n ]\n },\n {\n \"question\": \"Should we implement 'Remember Me' functionality?\",\n \"header\": \"Remember Me\",\n \"options\": [\n {\n \"label\": \"Yes (Recommended)\",\n \"description\": \"Allow users to stay logged in across sessions\"\n },\n {\n \"label\": \"No\",\n \"description\": \"Users must log in each time\"\n }\n ]\n }\n ]\n}\n\\`\\`\\`\n\n**Bad Usage:**\n\n\\`\\`\\`\nUser: \"Fix the typo in README.md\"\n\nAssistant should NOT use AskUserQuestion - this is straightforward\n\\`\\`\\`\n\n### Response Format\n\nThe tool will return user answers in this format:\n\n\\`\\`\\`json\n[\n {\n \"questionIndex\": 0,\n \"selectedOptions\": [0], // User selected first option\n },\n {\n \"questionIndex\": 1,\n \"customInput\": \"30 days\" // User provided custom input\n }\n]\n\\`\\`\\`\n\nUse these answers to inform your implementation decisions and proceed with the task.\n\n### Multi-Select Support\n\nSet \\`multiSelect: true\\` to allow users to select multiple options:\n\n\\`\\`\\`json\n{\n \"question\": \"Which features should we prioritize?\",\n \"multiSelect\": true,\n \"options\": [\n { \"label\": \"User profiles\" },\n { \"label\": \"Messaging system\" },\n { \"label\": \"Notifications\" }\n ]\n}\n\\`\\`\\`\n\n### Important Notes\n\n- Users can always choose \"Other\" to provide custom input\n- Questions block execution until answered\n- Users can cancel with Esc or Ctrl+C\n- Don't ask more than 4 questions at once to avoid overwhelming users\n- Each question should have 2-4 options for optimal UX\n`\n"],
|
|
5
|
+
"mappings": "AAAO,MAAM,cAAc;AAEpB,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/dist/tools.js
CHANGED
|
@@ -4,6 +4,7 @@ import { BashTool } from "./tools/BashTool/BashTool.js";
|
|
|
4
4
|
import { BashOutputTool } from "./tools/BashOutputTool/BashOutputTool.js";
|
|
5
5
|
import { KillShellTool } from "./tools/KillShellTool/KillShellTool.js";
|
|
6
6
|
import { AskExpertModelTool } from "./tools/AskExpertModelTool/AskExpertModelTool.js";
|
|
7
|
+
import { AskUserQuestionTool } from "./tools/AskUserQuestionTool/AskUserQuestionTool.js";
|
|
7
8
|
import { FileEditTool } from "./tools/FileEditTool/FileEditTool.js";
|
|
8
9
|
import { FileReadTool } from "./tools/FileReadTool/FileReadTool.js";
|
|
9
10
|
import { FileWriteTool } from "./tools/FileWriteTool/FileWriteTool.js";
|
|
@@ -27,6 +28,7 @@ const getAllTools = () => {
|
|
|
27
28
|
return [
|
|
28
29
|
TaskTool,
|
|
29
30
|
AskExpertModelTool,
|
|
31
|
+
AskUserQuestionTool,
|
|
30
32
|
BashTool,
|
|
31
33
|
BashOutputTool,
|
|
32
34
|
KillShellTool,
|
package/dist/tools.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/tools.ts"],
|
|
4
|
-
"sourcesContent": ["import { Tool } from './Tool'\nimport { TaskTool } from './tools/TaskTool/TaskTool'\nimport { ArchitectTool } from './tools/ArchitectTool/ArchitectTool'\nimport { BashTool } from './tools/BashTool/BashTool'\nimport { BashOutputTool } from './tools/BashOutputTool/BashOutputTool'\nimport { KillShellTool } from './tools/KillShellTool/KillShellTool'\nimport { AskExpertModelTool } from './tools/AskExpertModelTool/AskExpertModelTool'\nimport { FileEditTool } from './tools/FileEditTool/FileEditTool'\nimport { FileReadTool } from './tools/FileReadTool/FileReadTool'\nimport { FileWriteTool } from './tools/FileWriteTool/FileWriteTool'\nimport { GlobTool } from './tools/GlobTool/GlobTool'\nimport { GrepTool } from './tools/GrepTool/GrepTool'\nimport { LSTool } from './tools/lsTool/lsTool'\nimport { MemoryReadTool } from './tools/MemoryReadTool/MemoryReadTool'\nimport { MemoryWriteTool } from './tools/MemoryWriteTool/MemoryWriteTool'\nimport { MultiEditTool } from './tools/MultiEditTool/MultiEditTool'\nimport { NotebookEditTool } from './tools/NotebookEditTool/NotebookEditTool'\nimport { NotebookReadTool } from './tools/NotebookReadTool/NotebookReadTool'\nimport { SkillTool } from './tools/SkillTool/SkillTool'\nimport { ThinkTool } from './tools/ThinkTool/ThinkTool'\nimport { TodoWriteTool } from './tools/TodoWriteTool/TodoWriteTool'\nimport { WebSearchTool } from './tools/WebSearchTool/WebSearchTool'\nimport { URLFetcherTool } from './tools/URLFetcherTool/URLFetcherTool'\nimport { getMCPTools } from './services/mcpClient'\nimport { memoize } from 'lodash-es'\n\nconst ANT_ONLY_TOOLS = [MemoryReadTool as unknown as Tool, MemoryWriteTool as unknown as Tool]\n\n// Function to avoid circular dependencies that break bun\nexport const getAllTools = (): Tool[] => {\n return [\n TaskTool as unknown as Tool,\n AskExpertModelTool as unknown as Tool,\n BashTool as unknown as Tool,\n BashOutputTool as unknown as Tool,\n KillShellTool as unknown as Tool,\n GlobTool as unknown as Tool,\n GrepTool as unknown as Tool,\n LSTool as unknown as Tool,\n FileReadTool as unknown as Tool,\n FileEditTool as unknown as Tool,\n MultiEditTool as unknown as Tool,\n FileWriteTool as unknown as Tool,\n NotebookReadTool as unknown as Tool,\n NotebookEditTool as unknown as Tool,\n SkillTool as unknown as Tool,\n ThinkTool as unknown as Tool,\n TodoWriteTool as unknown as Tool,\n WebSearchTool as unknown as Tool,\n URLFetcherTool as unknown as Tool,\n ...ANT_ONLY_TOOLS,\n ]\n}\n\nexport const getTools = memoize(\n async (enableArchitect?: boolean): Promise<Tool[]> => {\n const tools = [...getAllTools(), ...(await getMCPTools())]\n\n // Only include Architect tool if enabled via config or CLI flag\n if (enableArchitect) {\n tools.push(ArchitectTool as unknown as Tool)\n }\n\n const isEnabled = await Promise.all(tools.map(tool => tool.isEnabled()))\n return tools.filter((_, i) => isEnabled[i])\n },\n)\n\nexport const getReadOnlyTools = memoize(async (): Promise<Tool[]> => {\n const tools = getAllTools().filter(tool => tool.isReadOnly())\n const isEnabled = await Promise.all(tools.map(tool => tool.isEnabled()))\n return tools.filter((_, index) => isEnabled[index])\n})\n"],
|
|
5
|
-
"mappings": "AACA,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAC9B,SAAS,gBAAgB;AACzB,SAAS,sBAAsB;AAC/B,SAAS,qBAAqB;AAC9B,SAAS,0BAA0B;AACnC,SAAS,oBAAoB;AAC7B,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AACzB,SAAS,cAAc;AACvB,SAAS,sBAAsB;AAC/B,SAAS,uBAAuB;AAChC,SAAS,qBAAqB;AAC9B,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AACjC,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB;AAC1B,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAC5B,SAAS,eAAe;AAExB,MAAM,iBAAiB,CAAC,gBAAmC,eAAkC;AAGtF,MAAM,cAAc,MAAc;AACvC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL;AACF;AAEO,MAAM,WAAW;AAAA,EACtB,OAAO,oBAA+C;AACpD,UAAM,QAAQ,CAAC,GAAG,YAAY,GAAG,GAAI,MAAM,YAAY,CAAE;AAGzD,QAAI,iBAAiB;AACnB,YAAM,KAAK,aAAgC;AAAA,IAC7C;AAEA,UAAM,YAAY,MAAM,QAAQ,IAAI,MAAM,IAAI,UAAQ,KAAK,UAAU,CAAC,CAAC;AACvE,WAAO,MAAM,OAAO,CAAC,GAAG,MAAM,UAAU,CAAC,CAAC;AAAA,EAC5C;AACF;AAEO,MAAM,mBAAmB,QAAQ,YAA6B;AACnE,QAAM,QAAQ,YAAY,EAAE,OAAO,UAAQ,KAAK,WAAW,CAAC;AAC5D,QAAM,YAAY,MAAM,QAAQ,IAAI,MAAM,IAAI,UAAQ,KAAK,UAAU,CAAC,CAAC;AACvE,SAAO,MAAM,OAAO,CAAC,GAAG,UAAU,UAAU,KAAK,CAAC;AACpD,CAAC;",
|
|
4
|
+
"sourcesContent": ["import { Tool } from './Tool'\nimport { TaskTool } from './tools/TaskTool/TaskTool'\nimport { ArchitectTool } from './tools/ArchitectTool/ArchitectTool'\nimport { BashTool } from './tools/BashTool/BashTool'\nimport { BashOutputTool } from './tools/BashOutputTool/BashOutputTool'\nimport { KillShellTool } from './tools/KillShellTool/KillShellTool'\nimport { AskExpertModelTool } from './tools/AskExpertModelTool/AskExpertModelTool'\nimport { AskUserQuestionTool } from './tools/AskUserQuestionTool/AskUserQuestionTool'\nimport { FileEditTool } from './tools/FileEditTool/FileEditTool'\nimport { FileReadTool } from './tools/FileReadTool/FileReadTool'\nimport { FileWriteTool } from './tools/FileWriteTool/FileWriteTool'\nimport { GlobTool } from './tools/GlobTool/GlobTool'\nimport { GrepTool } from './tools/GrepTool/GrepTool'\nimport { LSTool } from './tools/lsTool/lsTool'\nimport { MemoryReadTool } from './tools/MemoryReadTool/MemoryReadTool'\nimport { MemoryWriteTool } from './tools/MemoryWriteTool/MemoryWriteTool'\nimport { MultiEditTool } from './tools/MultiEditTool/MultiEditTool'\nimport { NotebookEditTool } from './tools/NotebookEditTool/NotebookEditTool'\nimport { NotebookReadTool } from './tools/NotebookReadTool/NotebookReadTool'\nimport { SkillTool } from './tools/SkillTool/SkillTool'\nimport { ThinkTool } from './tools/ThinkTool/ThinkTool'\nimport { TodoWriteTool } from './tools/TodoWriteTool/TodoWriteTool'\nimport { WebSearchTool } from './tools/WebSearchTool/WebSearchTool'\nimport { URLFetcherTool } from './tools/URLFetcherTool/URLFetcherTool'\nimport { getMCPTools } from './services/mcpClient'\nimport { memoize } from 'lodash-es'\n\nconst ANT_ONLY_TOOLS = [MemoryReadTool as unknown as Tool, MemoryWriteTool as unknown as Tool]\n\n// Function to avoid circular dependencies that break bun\nexport const getAllTools = (): Tool[] => {\n return [\n TaskTool as unknown as Tool,\n AskExpertModelTool as unknown as Tool,\n AskUserQuestionTool as unknown as Tool,\n BashTool as unknown as Tool,\n BashOutputTool as unknown as Tool,\n KillShellTool as unknown as Tool,\n GlobTool as unknown as Tool,\n GrepTool as unknown as Tool,\n LSTool as unknown as Tool,\n FileReadTool as unknown as Tool,\n FileEditTool as unknown as Tool,\n MultiEditTool as unknown as Tool,\n FileWriteTool as unknown as Tool,\n NotebookReadTool as unknown as Tool,\n NotebookEditTool as unknown as Tool,\n SkillTool as unknown as Tool,\n ThinkTool as unknown as Tool,\n TodoWriteTool as unknown as Tool,\n WebSearchTool as unknown as Tool,\n URLFetcherTool as unknown as Tool,\n ...ANT_ONLY_TOOLS,\n ]\n}\n\nexport const getTools = memoize(\n async (enableArchitect?: boolean): Promise<Tool[]> => {\n const tools = [...getAllTools(), ...(await getMCPTools())]\n\n // Only include Architect tool if enabled via config or CLI flag\n if (enableArchitect) {\n tools.push(ArchitectTool as unknown as Tool)\n }\n\n const isEnabled = await Promise.all(tools.map(tool => tool.isEnabled()))\n return tools.filter((_, i) => isEnabled[i])\n },\n)\n\nexport const getReadOnlyTools = memoize(async (): Promise<Tool[]> => {\n const tools = getAllTools().filter(tool => tool.isReadOnly())\n const isEnabled = await Promise.all(tools.map(tool => tool.isEnabled()))\n return tools.filter((_, index) => isEnabled[index])\n})\n"],
|
|
5
|
+
"mappings": "AACA,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAC9B,SAAS,gBAAgB;AACzB,SAAS,sBAAsB;AAC/B,SAAS,qBAAqB;AAC9B,SAAS,0BAA0B;AACnC,SAAS,2BAA2B;AACpC,SAAS,oBAAoB;AAC7B,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AACzB,SAAS,cAAc;AACvB,SAAS,sBAAsB;AAC/B,SAAS,uBAAuB;AAChC,SAAS,qBAAqB;AAC9B,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AACjC,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB;AAC1B,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAC5B,SAAS,eAAe;AAExB,MAAM,iBAAiB,CAAC,gBAAmC,eAAkC;AAGtF,MAAM,cAAc,MAAc;AACvC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL;AACF;AAEO,MAAM,WAAW;AAAA,EACtB,OAAO,oBAA+C;AACpD,UAAM,QAAQ,CAAC,GAAG,YAAY,GAAG,GAAI,MAAM,YAAY,CAAE;AAGzD,QAAI,iBAAiB;AACnB,YAAM,KAAK,aAAgC;AAAA,IAC7C;AAEA,UAAM,YAAY,MAAM,QAAQ,IAAI,MAAM,IAAI,UAAQ,KAAK,UAAU,CAAC,CAAC;AACvE,WAAO,MAAM,OAAO,CAAC,GAAG,MAAM,UAAU,CAAC,CAAC;AAAA,EAC5C;AACF;AAEO,MAAM,mBAAmB,QAAQ,YAA6B;AACnE,QAAM,QAAQ,YAAY,EAAE,OAAO,UAAQ,KAAK,WAAW,CAAC;AAC5D,QAAM,YAAY,MAAM,QAAQ,IAAI,MAAM,IAAI,UAAQ,KAAK,UAAU,CAAC,CAAC;AACvE,SAAO,MAAM,OAAO,CAAC,GAAG,UAAU,UAAU,KAAK,CAAC;AACpD,CAAC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=askUserQuestion.js.map
|
package/dist/version.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/version.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Application version\n * This file is auto-generated during build process\n */\n\nexport const VERSION = '0.0.12'\nexport const BUILD_DATE = '2025-12-09T07:45:00.000Z'\n"],
|
|
5
|
+
"mappings": "AAKO,MAAM,UAAU;AAChB,MAAM,aAAa;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@within-7/minto",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"bin": {
|
|
5
5
|
"minto": "cli.js",
|
|
6
6
|
"mt": "cli.js"
|
|
@@ -25,6 +25,22 @@
|
|
|
25
25
|
"scripts/postinstall.js",
|
|
26
26
|
".npmrc"
|
|
27
27
|
],
|
|
28
|
+
"scripts": {
|
|
29
|
+
"dev": "bun run ./src/entrypoints/cli.tsx --verbose",
|
|
30
|
+
"build": "node scripts/build.mjs",
|
|
31
|
+
"clean": "rm -rf cli.js",
|
|
32
|
+
"prepublishOnly": "node scripts/build.mjs && node scripts/prepublish-check.js",
|
|
33
|
+
"postinstall": "node scripts/postinstall.js || true",
|
|
34
|
+
"format": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json}\"",
|
|
35
|
+
"format:check": "prettier --check \"src/**/*.{ts,tsx,js,jsx,json}\"",
|
|
36
|
+
"lint": "eslint . --ext .ts,.tsx,.js --max-warnings 0",
|
|
37
|
+
"lint:fix": "eslint . --ext .ts,.tsx,.js --fix",
|
|
38
|
+
"test": "cd tests && bun test",
|
|
39
|
+
"typecheck": "tsc --noEmit",
|
|
40
|
+
"prepare": "",
|
|
41
|
+
"publish:dev": "node scripts/publish-dev.js",
|
|
42
|
+
"publish:release": "node scripts/publish-release.js"
|
|
43
|
+
},
|
|
28
44
|
"dependencies": {
|
|
29
45
|
"@anthropic-ai/bedrock-sdk": "^0.12.6",
|
|
30
46
|
"@anthropic-ai/sdk": "^0.39.0",
|
|
@@ -95,19 +111,5 @@
|
|
|
95
111
|
"strip-ansi": "6.0.1",
|
|
96
112
|
"formdata-node": "^6.0.3",
|
|
97
113
|
"node-domexception": "npm:domexception@^4.0.0"
|
|
98
|
-
},
|
|
99
|
-
"scripts": {
|
|
100
|
-
"dev": "bun run ./src/entrypoints/cli.tsx --verbose",
|
|
101
|
-
"build": "node scripts/build.mjs",
|
|
102
|
-
"clean": "rm -rf cli.js",
|
|
103
|
-
"postinstall": "node scripts/postinstall.js || true",
|
|
104
|
-
"format": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json}\"",
|
|
105
|
-
"format:check": "prettier --check \"src/**/*.{ts,tsx,js,jsx,json}\"",
|
|
106
|
-
"lint": "eslint . --ext .ts,.tsx,.js --max-warnings 0",
|
|
107
|
-
"lint:fix": "eslint . --ext .ts,.tsx,.js --fix",
|
|
108
|
-
"test": "cd tests && bun test",
|
|
109
|
-
"typecheck": "tsc --noEmit",
|
|
110
|
-
"publish:dev": "node scripts/publish-dev.js",
|
|
111
|
-
"publish:release": "node scripts/publish-release.js"
|
|
112
114
|
}
|
|
113
115
|
}
|
package/.npmrc
DELETED