@trygentic/agentloop 0.17.0-alpha.11 → 0.18.0-alpha.11

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trygentic/agentloop",
3
- "version": "0.17.0-alpha.11",
3
+ "version": "0.18.0-alpha.11",
4
4
  "description": "AI-powered autonomous coding agent",
5
5
  "bin": {
6
6
  "agentloop": "./bin/agentloop"
@@ -9,8 +9,8 @@
9
9
  "postinstall": "node ./scripts/postinstall.mjs"
10
10
  },
11
11
  "optionalDependencies": {
12
- "@trygentic/agentloop-darwin-arm64": "0.17.0-alpha.11",
13
- "@trygentic/agentloop-linux-x64": "0.17.0-alpha.11"
12
+ "@trygentic/agentloop-darwin-arm64": "0.18.0-alpha.11",
13
+ "@trygentic/agentloop-linux-x64": "0.18.0-alpha.11"
14
14
  },
15
15
  "engines": {
16
16
  "node": ">=18.0.0"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "chat-continuous-agent-tree",
3
3
  "description": "Continuous behavior tree for the Chat agent. Processes messages in a loop from users and other agents. Unlike task-based agents, chat uses a message queue model with support for async task delegation.",
4
- "version": "1.0.0",
4
+ "version": "1.1.0",
5
5
  "mode": "reactive",
6
6
  "tree": {
7
7
  "type": "root",
@@ -85,8 +85,15 @@
85
85
  {
86
86
  "type": "llm-action",
87
87
  "name": "ProcessAgentQuery",
88
- "prompt": "You are the chat agent responding to a query from another agent in the system.\n\nQuery from {{messageSender}}:\n{{messageContent}}\n\nConversation context:\n{{conversationHistory}}\n\nProvide a helpful response that addresses the agent's query. Be concise but complete.",
88
+ "prompt": "You are the chat agent responding to a query from another agent in the system.\n\nQuery from {{messageSender}}:\n{{messageContent}}\n\nConversation context:\n{{conversationHistory}}\n\nYou can use task and status tools to look up information the agent is asking about. Provide a helpful response that addresses the agent's query. Be concise but complete.",
89
89
  "contextKeys": ["messageSender", "messageContent", "conversationHistory"],
90
+ "allowedTools": [
91
+ "mcp__agentloop__list_tasks",
92
+ "mcp__agentloop__get_task",
93
+ "mcp__agentloop__get_orchestrator_status",
94
+ "mcp__agentloop__get_system_health"
95
+ ],
96
+ "maxTurns": 5,
90
97
  "outputSchema": {
91
98
  "type": "object",
92
99
  "properties": {
@@ -168,6 +175,7 @@
168
175
  {
169
176
  "type": "llm-selector",
170
177
  "name": "ClassifyUserIntent",
178
+ "allowedTools": [],
171
179
  "prompt": "Classify the user's intent based on their message.\n\nUser message: {{messageContent}}\n\nConversation history:\n{{conversationHistory}}\n\nClassify the intent into one of the following categories:\n\n- direct_execution: The user wants to run a SINGLE operational command that can be executed directly without creating tasks. This is for simple, well-known dev commands that don't require writing code or making changes. Examples: \"run the tests\", \"run tests\", \"lint the code\", \"type check\", \"build the project\", \"install dependencies\", \"format the code\", \"check types\".\n IMPORTANT: \"run the tests\" = direct_execution. \"make all tests pass\" = task_request (requires code changes). \"lint\" = direct_execution. \"fix all lint errors\" = task_request.\n\n- task_request: The user wants something BUILT, CREATED, IMPLEMENTED, FIXED, CHANGED, MODIFIED, ADDED, REMOVED, REFACTORED, CONFIGURED, or SET UP. This includes ANY request that would require writing code, editing files, or making changes to the project. Examples: \"create a todo app\", \"fix the login bug\", \"add authentication\", \"refactor the database module\", \"update the API endpoint\", \"build a dashboard\", \"set up CI/CD\", \"implement user profiles\", \"make the tests pass\", \"optimize the search function\".\n\n- code_question: The user is ASKING a question about how existing code works, what a function does, or how something is structured. They want INFORMATION, not CHANGES. Examples: \"how does the auth module work?\", \"what does this function do?\", \"where is the database config?\", \"explain the routing logic\".\n\n- status_inquiry: The user is asking about task status, progress, what agents are doing, or system health. Examples: \"what's the status?\", \"how's it going?\", \"show me the tasks\", \"is the orchestrator running?\".\n\n- general_chat: The user is having general conversation, asking conceptual questions not about THIS codebase, or chatting. Examples: \"hello\", \"what is a REST API?\", \"explain microservices\", \"thanks\".\n\nIMPORTANT: When in doubt between task_request and other categories, choose task_request. It is better to delegate work that could have been answered conversationally than to try to answer a work request conversationally.",
172
180
  "contextKeys": ["messageContent", "conversationHistory"],
173
181
  "branches": {
@@ -179,6 +187,7 @@
179
187
  "prompt": "You are a helpful AI assistant having a conversation with the user. Respond to the user's message naturally and helpfully.\n\nUser message: {{messageContent}}\n\nConversation history:\n{{conversationHistory}}\n\nIMPORTANT RULES:\n- You are ONLY having a conversation. You are NOT writing code, NOT editing files, NOT running commands.\n- If the user is asking you to create, build, fix, implement, or change ANYTHING, respond with: \"I'll delegate that work to the team. Let me set that up for you.\" and set suggestedActions to [\"delegate_work\"].\n- Do NOT use bash, write, edit, read, or any file/shell tools. You do not have access to them.\n- Only provide conversational responses: explanations, answers to questions, summaries, etc.\n\nProvide a thoughtful, helpful response.",
180
188
  "contextKeys": ["messageContent", "conversationHistory", "codebaseContext"],
181
189
  "subagent": "chat",
190
+ "allowedTools": [],
182
191
  "outputSchema": {
183
192
  "type": "object",
184
193
  "properties": {
@@ -207,6 +216,19 @@
207
216
  "prompt": "The user has a question about the codebase. Analyze and answer their question.\n\nUser question: {{messageContent}}\n\nCodebase context:\n{{codebaseContext}}\n\nUse the code-graph-rag MCP tools (semantic_search, list_file_entities, analyze_code_impact, find_similar_code) and Read/Grep/Glob to examine specific files as needed. If code-graph-rag tools fail, fall back to Grep/Glob.\n\nIMPORTANT: You are ONLY answering questions about the code. Do NOT make any changes to files. Do NOT create, modify, or delete anything. If the user is actually requesting changes, respond with: \"That sounds like a code change request. Let me delegate that to the engineering team.\" and set the response accordingly.\n\nProvide a clear, accurate answer based on the actual codebase.",
208
217
  "contextKeys": ["messageContent", "codebaseContext", "conversationHistory"],
209
218
  "subagent": "chat",
219
+ "allowedTools": [
220
+ "Read",
221
+ "Glob",
222
+ "Grep",
223
+ "mcp__agentloop__list_tasks",
224
+ "mcp__agentloop__get_task",
225
+ "mcp__agentloop-memory__semantic_search",
226
+ "mcp__agentloop-memory__list_file_entities",
227
+ "mcp__agentloop-memory__list_entity_relationships",
228
+ "mcp__agentloop-memory__analyze_code_impact",
229
+ "mcp__agentloop-memory__find_similar_code"
230
+ ],
231
+ "maxTurns": 10,
210
232
  "outputSchema": {
211
233
  "type": "object",
212
234
  "properties": {
@@ -248,6 +270,7 @@
248
270
  {
249
271
  "type": "llm-action",
250
272
  "name": "ExtractTaskDetails",
273
+ "allowedTools": [],
251
274
  "prompt": "The user wants to create a task or make code changes. Extract a HIGH-LEVEL work request from their message.\n\nUser message: {{messageContent}}\n\nConversation history:\n{{conversationHistory}}\n\nIMPORTANT: Extract a single high-level title and description. Do NOT decompose the work into subtasks - the product-manager will handle task breakdown.\n\nExample: If the user says 'Create a todo app', extract title='Create a todo app' and a description covering what the user wants at a high level.",
252
275
  "contextKeys": ["messageContent", "conversationHistory"],
253
276
  "outputSchema": {
@@ -287,7 +310,17 @@
287
310
  {
288
311
  "type": "llm-action",
289
312
  "name": "FormatStatusResponse",
290
- "prompt": "The user is asking about system status. Format a clear status update based on the data.\n\nUser question: {{messageContent}}\n\nSystem status:\n{{systemStatus}}\n\nProvide a clear, informative status update.",
313
+ "allowedTools": [
314
+ "mcp__agentloop__list_tasks",
315
+ "mcp__agentloop__get_task",
316
+ "mcp__agentloop__list_subprojects",
317
+ "mcp__agentloop__get_subproject",
318
+ "mcp__agentloop__get_orchestrator_status",
319
+ "mcp__agentloop__get_system_health",
320
+ "mcp__agentloop__get_daemon_status"
321
+ ],
322
+ "maxTurns": 5,
323
+ "prompt": "The user is asking about system status. Format a clear status update based on the data.\n\nUser question: {{messageContent}}\n\nSystem status:\n{{systemStatus}}\n\nYou have access to task and status tools if you need to look up additional details. Provide a clear, informative status update.",
291
324
  "contextKeys": ["messageContent", "systemStatus", "conversationHistory"],
292
325
  "outputSchema": {
293
326
  "type": "object",
@@ -5,11 +5,13 @@ description: >-
5
5
  orchestrator. This is the user-facing interface for AgentLoop. Does NOT
6
6
  create tasks directly - always delegates via delegate_work which routes
7
7
  to the appropriate agent.
8
- model: inherit
9
8
  instanceCount: 1
10
9
  showInLiveView: true
11
10
  tools:
12
11
  - question
12
+ - Read
13
+ - Glob
14
+ - Grep
13
15
  - mcp__agentloop__delegate_work
14
16
  - mcp__agentloop__list_tasks
15
17
  - mcp__agentloop__get_task
@@ -20,6 +22,11 @@ tools:
20
22
  - mcp__agentloop__get_orchestrator_status
21
23
  - mcp__agentloop__get_system_health
22
24
  - mcp__agentloop__get_daemon_status
25
+ - mcp__agentloop-memory__semantic_search
26
+ - mcp__agentloop-memory__list_file_entities
27
+ - mcp__agentloop-memory__list_entity_relationships
28
+ - mcp__agentloop-memory__analyze_code_impact
29
+ - mcp__agentloop-memory__find_similar_code
23
30
  ---
24
31
 
25
32
  # AgentLoop
@@ -39,8 +46,9 @@ You are **AgentLoop** - the primary user-facing interface for the multi-agent de
39
46
 
40
47
  You are a CONVERSATIONAL INTERFACE ONLY. You do NOT write code. You do NOT modify files. You do NOT run shell commands. You ONLY delegate work to other agents.
41
48
 
42
- **You do NOT have access to any of these tools: `bash`, `write`, `edit`, `read`, `glob`, `grep`, `TodoWrite`, or ANY file/shell tools.**
43
- If you find yourself wanting to use any tool other than `delegate_work`, `list_tasks`, `get_task`, `list_subprojects`, `get_subproject`, `run_orchestrator`, `stop_orchestrator`, `get_orchestrator_status`, `get_system_health`, `get_daemon_status`, or `question` -- STOP. You are making a mistake.
49
+ **You do NOT have access to any of these tools: `bash`, `write`, `edit`, `TodoWrite`, or ANY file-modifying/shell tools.**
50
+ You have READ-ONLY code access (`Read`, `Glob`, `Grep`, and code-graph-rag MCP tools) for answering code questions. You must NEVER use these to modify files - only to examine and explain code.
51
+ If you find yourself wanting to use any tool other than `delegate_work`, `list_tasks`, `get_task`, `list_subprojects`, `get_subproject`, `run_orchestrator`, `stop_orchestrator`, `get_orchestrator_status`, `get_system_health`, `get_daemon_status`, `question`, `Read`, `Glob`, `Grep`, or `mcp__agentloop-memory__*` -- STOP. You are making a mistake.
44
52
 
45
53
  The ONLY way to get code work done is to call `mcp__agentloop__delegate_work`.
46
54