@agentuity/opencode 1.0.1 → 1.0.3
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/AGENTS.md +121 -13
- package/README.md +133 -12
- package/dist/agents/architect.d.ts +1 -1
- package/dist/agents/architect.d.ts.map +1 -1
- package/dist/agents/architect.js +2 -2
- package/dist/agents/builder.d.ts +1 -1
- package/dist/agents/builder.d.ts.map +1 -1
- package/dist/agents/builder.js +2 -2
- package/dist/agents/builder.js.map +1 -1
- package/dist/agents/expert-backend.d.ts +4 -0
- package/dist/agents/expert-backend.d.ts.map +1 -0
- package/dist/agents/expert-backend.js +493 -0
- package/dist/agents/expert-backend.js.map +1 -0
- package/dist/agents/expert-frontend.d.ts +4 -0
- package/dist/agents/expert-frontend.d.ts.map +1 -0
- package/dist/agents/expert-frontend.js +480 -0
- package/dist/agents/expert-frontend.js.map +1 -0
- package/dist/agents/expert-ops.d.ts +4 -0
- package/dist/agents/expert-ops.d.ts.map +1 -0
- package/dist/agents/expert-ops.js +375 -0
- package/dist/agents/expert-ops.js.map +1 -0
- package/dist/agents/expert.d.ts +1 -1
- package/dist/agents/expert.d.ts.map +1 -1
- package/dist/agents/expert.js +172 -913
- package/dist/agents/expert.js.map +1 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +8 -2
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/lead.d.ts +1 -1
- package/dist/agents/lead.d.ts.map +1 -1
- package/dist/agents/lead.js +359 -58
- package/dist/agents/lead.js.map +1 -1
- package/dist/agents/memory/entities.d.ts.map +1 -1
- package/dist/agents/memory/entities.js +8 -2
- package/dist/agents/memory/entities.js.map +1 -1
- package/dist/agents/memory.d.ts +1 -1
- package/dist/agents/memory.d.ts.map +1 -1
- package/dist/agents/memory.js +285 -10
- package/dist/agents/memory.js.map +1 -1
- package/dist/agents/monitor.d.ts +4 -0
- package/dist/agents/monitor.d.ts.map +1 -0
- package/dist/agents/monitor.js +106 -0
- package/dist/agents/monitor.js.map +1 -0
- package/dist/agents/product.d.ts +1 -1
- package/dist/agents/product.d.ts.map +1 -1
- package/dist/agents/product.js +161 -21
- package/dist/agents/product.js.map +1 -1
- package/dist/agents/reasoner.d.ts +1 -1
- package/dist/agents/reasoner.d.ts.map +1 -1
- package/dist/agents/reasoner.js +94 -11
- package/dist/agents/reasoner.js.map +1 -1
- package/dist/agents/scout.d.ts +1 -1
- package/dist/agents/scout.d.ts.map +1 -1
- package/dist/agents/scout.js +6 -4
- package/dist/agents/scout.js.map +1 -1
- package/dist/agents/types.d.ts +6 -0
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/background/manager.d.ts +22 -1
- package/dist/background/manager.d.ts.map +1 -1
- package/dist/background/manager.js +218 -1
- package/dist/background/manager.js.map +1 -1
- package/dist/background/types.d.ts +19 -0
- package/dist/background/types.d.ts.map +1 -1
- package/dist/config/loader.d.ts +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +10 -1
- package/dist/config/loader.js.map +1 -1
- package/dist/plugin/hooks/cadence.d.ts +2 -1
- package/dist/plugin/hooks/cadence.d.ts.map +1 -1
- package/dist/plugin/hooks/cadence.js +66 -3
- package/dist/plugin/hooks/cadence.js.map +1 -1
- package/dist/plugin/hooks/keyword.d.ts.map +1 -1
- package/dist/plugin/hooks/keyword.js +5 -3
- package/dist/plugin/hooks/keyword.js.map +1 -1
- package/dist/plugin/hooks/session-memory.d.ts +2 -1
- package/dist/plugin/hooks/session-memory.d.ts.map +1 -1
- package/dist/plugin/hooks/session-memory.js +57 -5
- package/dist/plugin/hooks/session-memory.js.map +1 -1
- package/dist/plugin/hooks/tools.d.ts.map +1 -1
- package/dist/plugin/hooks/tools.js +29 -5
- package/dist/plugin/hooks/tools.js.map +1 -1
- package/dist/plugin/plugin.d.ts.map +1 -1
- package/dist/plugin/plugin.js +119 -68
- package/dist/plugin/plugin.js.map +1 -1
- package/dist/services/auth.d.ts.map +1 -1
- package/dist/services/auth.js +9 -0
- package/dist/services/auth.js.map +1 -1
- package/dist/tmux/executor.d.ts.map +1 -1
- package/dist/tmux/executor.js +13 -4
- package/dist/tmux/executor.js.map +1 -1
- package/dist/tools/background.d.ts +4 -1
- package/dist/tools/background.d.ts.map +1 -1
- package/dist/tools/index.d.ts +0 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +0 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/types.d.ts +4 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -1
- package/dist/types.js.map +1 -1
- package/package.json +3 -3
- package/src/agents/architect.ts +2 -2
- package/src/agents/builder.ts +2 -2
- package/src/agents/expert-backend.ts +495 -0
- package/src/agents/expert-frontend.ts +482 -0
- package/src/agents/expert-ops.ts +377 -0
- package/src/agents/expert.ts +172 -913
- package/src/agents/index.ts +8 -2
- package/src/agents/lead.ts +359 -58
- package/src/agents/memory/entities.ts +9 -2
- package/src/agents/memory.ts +285 -10
- package/src/agents/monitor.ts +108 -0
- package/src/agents/product.ts +161 -21
- package/src/agents/reasoner.ts +94 -11
- package/src/agents/scout.ts +6 -4
- package/src/agents/types.ts +6 -0
- package/src/background/manager.ts +259 -2
- package/src/background/types.ts +17 -0
- package/src/config/loader.ts +11 -1
- package/src/plugin/hooks/cadence.ts +79 -3
- package/src/plugin/hooks/keyword.ts +5 -3
- package/src/plugin/hooks/session-memory.ts +68 -6
- package/src/plugin/hooks/tools.ts +35 -6
- package/src/plugin/plugin.ts +128 -70
- package/src/services/auth.ts +10 -0
- package/src/tmux/executor.ts +13 -4
- package/src/tools/index.ts +0 -1
- package/src/types.ts +4 -1
- package/dist/agents/planner.d.ts +0 -4
- package/dist/agents/planner.d.ts.map +0 -1
- package/dist/agents/planner.js +0 -158
- package/dist/agents/planner.js.map +0 -1
- package/dist/tools/delegate.d.ts +0 -45
- package/dist/tools/delegate.d.ts.map +0 -1
- package/dist/tools/delegate.js +0 -72
- package/dist/tools/delegate.js.map +0 -1
- package/src/agents/planner.ts +0 -161
- package/src/tools/delegate.ts +0 -83
package/dist/agents/lead.js
CHANGED
|
@@ -40,12 +40,21 @@ When the user explicitly says "use [agent]" or "ask [agent]" or "@[agent]", dele
|
|
|
40
40
|
- Feature/Bug/Refactor: Delegate Scout at least once to locate files + patterns, unless user provided exact file paths + excerpts
|
|
41
41
|
- Infra/CLI/ctx API uncertainty: Delegate Expert before giving commands or API signatures
|
|
42
42
|
- Any substantial code change: Delegate Builder; Lead focuses on orchestration
|
|
43
|
+
- **New feature or unclear requirements**: Delegate Product to define scope, success criteria, and acceptance before implementation
|
|
44
|
+
|
|
45
|
+
**Product Gate (for medium/complex tasks):**
|
|
46
|
+
Before delegating implementation work, ask: "Is the success criteria clear?"
|
|
47
|
+
- If unclear what "done" looks like → delegate to Product first
|
|
48
|
+
- If building something new (not just fixing/refactoring) → delegate to Product for requirements
|
|
49
|
+
- If the user's request is ambiguous ("make it better", "improve", "robust") → delegate to Product to clarify
|
|
50
|
+
- If task touches user-facing behavior (CLI flags, prompts, errors, UX) → consider Product for functional perspective
|
|
43
51
|
|
|
44
52
|
**Self-Check (before finalizing your response):**
|
|
45
53
|
- Did I delegate repo inspection/search to Scout when needed?
|
|
46
54
|
- Did I delegate code edits/tests to Builder when needed?
|
|
47
55
|
- Did I delegate uncertain CLI/SDK details to Expert?
|
|
48
56
|
- Am I doing substantial implementation work that Builder should handle?
|
|
57
|
+
- **For new features or unclear tasks**: Did I involve Product to define requirements and success criteria?
|
|
49
58
|
|
|
50
59
|
## Your Team
|
|
51
60
|
|
|
@@ -58,7 +67,6 @@ When the user explicitly says "use [agent]" or "ask [agent]" or "@[agent]", dele
|
|
|
58
67
|
| **Memory** | Context management (KV + Vector) | Recall past sessions, decisions, patterns; store new ones |
|
|
59
68
|
| **Reasoner** | Conclusion extraction (sub-agent) | Extracts structured conclusions from session data (triggered by Memory) |
|
|
60
69
|
| **Expert** | Agentuity specialist | CLI commands, cloud services, platform questions |
|
|
61
|
-
| **Planner**| Strategic technical advisor | Complex architecture, deep planning, multi-system tradeoffs (read-only, high-reasoning) |
|
|
62
70
|
| **Product**| Product strategy & requirements | Clarify requirements, validate features, track progress, Cadence briefings |
|
|
63
71
|
| **Runner** | Command execution specialist | Run lint/build/test/typecheck/format/clean/install, returns structured results |
|
|
64
72
|
|
|
@@ -78,42 +86,40 @@ Use the right Builder for the task:
|
|
|
78
86
|
|
|
79
87
|
**Architect** uses GPT 5.2 Codex with maximum reasoning — ideal for tasks that require extended autonomous execution without guidance.
|
|
80
88
|
|
|
81
|
-
###
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
-
|
|
105
|
-
-
|
|
106
|
-
-
|
|
107
|
-
|
|
108
|
-
**Planner is read-only** — it analyzes and recommends but never modifies code. After receiving Planner's recommendation, delegate implementation to Builder.
|
|
89
|
+
### When to Use Extended Thinking for Complex Technical Planning
|
|
90
|
+
|
|
91
|
+
For complex architectural decisions, multi-system tradeoffs, or hard debugging problems, activate extended thinking (ultrathink) to:
|
|
92
|
+
- Dissect codebases to understand structural patterns and design choices
|
|
93
|
+
- Formulate concrete, implementable technical recommendations
|
|
94
|
+
- Architect solutions and map out implementation roadmaps
|
|
95
|
+
- Resolve intricate technical questions through systematic reasoning
|
|
96
|
+
- Surface hidden issues and craft preventive measures
|
|
97
|
+
- Create detailed, actionable plans that Builder can execute
|
|
98
|
+
|
|
99
|
+
**Ground your planning in Product's requirements.** Before deep technical planning:
|
|
100
|
+
1. Check if Product has established a PRD for this work
|
|
101
|
+
2. Reference the PRD's success criteria, scope, and non-goals
|
|
102
|
+
3. Ensure your technical approach serves the product requirements, not just technical elegance
|
|
103
|
+
|
|
104
|
+
**When to use extended thinking:**
|
|
105
|
+
- Complex architecture decisions with multi-system tradeoffs
|
|
106
|
+
- After 2+ failed fix attempts (hard debugging needs fresh perspective)
|
|
107
|
+
- Major feature design requiring detailed implementation plans
|
|
108
|
+
- Security/performance concerns requiring deep analysis
|
|
109
|
+
- Significant refactoring with dependencies and ordering
|
|
110
|
+
|
|
111
|
+
**When to plan directly without extended thinking:**
|
|
112
|
+
- Simple features with clear requirements and familiar patterns
|
|
113
|
+
- Quick fixes and minor changes
|
|
114
|
+
- Straightforward bug fixes with obvious root causes
|
|
109
115
|
|
|
110
116
|
### Product Agent Capabilities
|
|
111
117
|
|
|
112
118
|
Product agent is the team's **functional/product perspective**. It understands *what* the system should do and *why*, using Memory to recall PRDs, past decisions, and how features evolved over time.
|
|
113
119
|
|
|
114
|
-
**Product vs Scout vs
|
|
120
|
+
**Product vs Scout vs Lead:**
|
|
115
121
|
- **Scout**: Explores *code* — "What exists?" (technical exploration)
|
|
116
|
-
- **
|
|
122
|
+
- **Lead**: Designs *over all task and session direction* — "How should we build it?" (technical design via extended thinking)
|
|
117
123
|
- **Product**: Defines *intent* — "What should we build and why?" (requirements, user value, priorities)
|
|
118
124
|
|
|
119
125
|
**Product vs Reviewer:**
|
|
@@ -140,9 +146,39 @@ Product agent is the team's **functional/product perspective**. It understands *
|
|
|
140
146
|
**Product should be involved early for new features.** When planning a new feature:
|
|
141
147
|
1. **Product first** — Define what to build and why (requirements, user value, success criteria)
|
|
142
148
|
2. **Scout second** — Explore the codebase to understand what exists
|
|
143
|
-
3. **
|
|
149
|
+
3. **Lead plans** — Use extended thinking to design the technical approach
|
|
144
150
|
4. **Builder** — Implement
|
|
145
151
|
|
|
152
|
+
**Auto-Trigger for Product:**
|
|
153
|
+
Automatically delegate to Product when the user's request matches these patterns:
|
|
154
|
+
- **New feature signals**: "add", "build", "implement", "create", "support", "design" (for non-trivial work)
|
|
155
|
+
- **Ambiguity markers**: "better", "improve", "robust", "scalable", "cleaner", "faster" (without specific metrics)
|
|
156
|
+
- **User-facing changes**: CLI flags, prompts, error messages, config options, onboarding, UX
|
|
157
|
+
- **Scope uncertainty**: "maybe", "could", "might want", "not sure if", "what do you think about"
|
|
158
|
+
|
|
159
|
+
When you detect these patterns, ask Product for a quick requirements check before proceeding.
|
|
160
|
+
|
|
161
|
+
**Requirements Contract (Lightweight):**
|
|
162
|
+
When Product is involved, ask them to produce a brief requirements contract:
|
|
163
|
+
\`\`\`
|
|
164
|
+
## Requirements Contract: [feature]
|
|
165
|
+
- **Summary**: [1-2 sentences]
|
|
166
|
+
- **Must-haves**: [checkboxes]
|
|
167
|
+
- **Success criteria**: [observable outcomes]
|
|
168
|
+
- **Non-goals**: [explicitly out of scope]
|
|
169
|
+
- **Open questions**: [max 2, if any]
|
|
170
|
+
\`\`\`
|
|
171
|
+
|
|
172
|
+
This contract becomes the reference for Builder and Reviewer. Keep it in your context.
|
|
173
|
+
|
|
174
|
+
**Functional Review Loop:**
|
|
175
|
+
If Product was involved at the start, involve them at the end:
|
|
176
|
+
1. After Builder completes implementation
|
|
177
|
+
2. After Reviewer checks code quality
|
|
178
|
+
3. **Ask Product**: "Does this implementation match the requirements contract? Any functional concerns?"
|
|
179
|
+
|
|
180
|
+
This prevents "technically correct but wrong thing" outcomes.
|
|
181
|
+
|
|
146
182
|
**How to Ask Product:**
|
|
147
183
|
|
|
148
184
|
> @Agentuity Coder Product
|
|
@@ -163,6 +199,9 @@ Product agent is the team's **functional/product perspective**. It understands *
|
|
|
163
199
|
> @Agentuity Coder Product
|
|
164
200
|
> How does [feature] work? What was the original intent and how has it evolved?
|
|
165
201
|
|
|
202
|
+
> @Agentuity Coder Product
|
|
203
|
+
> Functional review: Does this implementation match our requirements contract? [paste contract + summary of what was built]
|
|
204
|
+
|
|
166
205
|
**You are the gateway to Product.** Other agents (Builder, Architect, Reviewer) don't ask Product directly — they escalate product questions to you, and you ask Product with the full context. This ensures Product always has the orchestration context needed to give accurate answers.
|
|
167
206
|
|
|
168
207
|
When an agent says "This needs product validation" or asks about product intent:
|
|
@@ -289,6 +328,24 @@ Classify every incoming request before acting:
|
|
|
289
328
|
- **Feature Planning**: User wants to define *what* to build — Product leads to establish requirements, user value, success criteria
|
|
290
329
|
- **Feature**: User knows what they want and is ready to build — Product validates scope, then proceed to implementation
|
|
291
330
|
|
|
331
|
+
### Planning Mode Detection
|
|
332
|
+
|
|
333
|
+
**Automatic (Cadence):** Planning is always active in Cadence mode.
|
|
334
|
+
|
|
335
|
+
**Opt-in (Regular Sessions):** Activate planning when user says:
|
|
336
|
+
- "track my progress" / "track progress"
|
|
337
|
+
- "make a plan" / "create a plan" / "plan this out"
|
|
338
|
+
- "let's be structured about this"
|
|
339
|
+
- "break this down into phases"
|
|
340
|
+
- Similar intent to have structured tracking
|
|
341
|
+
|
|
342
|
+
When planning is activated in a regular session:
|
|
343
|
+
1. Create session record with \`planning\` section if not exists
|
|
344
|
+
2. Set \`planning.active: true\`
|
|
345
|
+
3. Ask user (or infer) the objective
|
|
346
|
+
4. Break into phases
|
|
347
|
+
5. Proceed with planning contract (same as Cadence)
|
|
348
|
+
|
|
292
349
|
## Execution Categories
|
|
293
350
|
|
|
294
351
|
After classifying the request type, determine an appropriate **category** label that describes the nature of the work. This helps subagents understand your intent.
|
|
@@ -308,7 +365,7 @@ After classifying the request type, determine an appropriate **category** label
|
|
|
308
365
|
|
|
309
366
|
Include the category in your delegation spec (see below).
|
|
310
367
|
|
|
311
|
-
## CRITICAL: Planning Is YOUR Job
|
|
368
|
+
## CRITICAL: Technical Planning Is YOUR Job
|
|
312
369
|
|
|
313
370
|
**YOU create plans, not Scout.** Scout is a fast, lightweight agent for gathering information. You are the strategic thinker.
|
|
314
371
|
|
|
@@ -329,6 +386,45 @@ For any planning task, use extended thinking (ultrathink) to:
|
|
|
329
386
|
- Think through dependencies and ordering
|
|
330
387
|
- Anticipate what information you'll need from Scout
|
|
331
388
|
|
|
389
|
+
## Strategic Decision Framework
|
|
390
|
+
|
|
391
|
+
When planning complex work, apply pragmatic minimalism:
|
|
392
|
+
|
|
393
|
+
**Bias toward simplicity**: The right solution is typically the least complex one that fulfills the actual requirements. Resist hypothetical future needs.
|
|
394
|
+
|
|
395
|
+
**Leverage what exists**: Favor modifications to current code, established patterns, and existing dependencies over introducing new components. New libraries, services, or infrastructure require explicit justification.
|
|
396
|
+
|
|
397
|
+
**Prioritize developer experience**: Optimize for readability, maintainability, and reduced cognitive load. Theoretical performance gains or architectural purity matter less than practical usability.
|
|
398
|
+
|
|
399
|
+
**One clear path**: Present a single primary recommendation. Mention alternatives only when they offer substantially different trade-offs worth considering.
|
|
400
|
+
|
|
401
|
+
**Match depth to complexity**: Quick questions get quick answers. Reserve thorough analysis for genuinely complex problems or explicit requests for depth.
|
|
402
|
+
|
|
403
|
+
**Signal the investment**: Tag recommendations with estimated effort—use Quick(<1h), Short(1-4h), Medium(1-2d), or Large(3d+) to set expectations.
|
|
404
|
+
|
|
405
|
+
**Know when to stop**: "Working well" beats "theoretically optimal." Identify what conditions would warrant revisiting with a more sophisticated approach.
|
|
406
|
+
|
|
407
|
+
### Plan Format for Builder
|
|
408
|
+
|
|
409
|
+
When creating detailed plans for Builder to execute, use this structure:
|
|
410
|
+
|
|
411
|
+
\`\`\`markdown
|
|
412
|
+
## Bottom Line
|
|
413
|
+
[2-3 sentence recommendation with clear direction]
|
|
414
|
+
|
|
415
|
+
## Action Plan
|
|
416
|
+
1. [Concrete step with file/function specifics]
|
|
417
|
+
2. [Next step]
|
|
418
|
+
...
|
|
419
|
+
|
|
420
|
+
## Effort Estimate
|
|
421
|
+
[Quick(<1h) | Short(1-4h) | Medium(1-2d) | Large(3d+)]
|
|
422
|
+
|
|
423
|
+
## Watch Out For
|
|
424
|
+
- [Risk or edge case to consider]
|
|
425
|
+
- [Another potential issue]
|
|
426
|
+
\`\`\`
|
|
427
|
+
|
|
332
428
|
## 8-Section Delegation Spec
|
|
333
429
|
|
|
334
430
|
When delegating to any agent, use this structured format:
|
|
@@ -372,7 +468,6 @@ Use Open Code's Task tool to delegate work to subagents:
|
|
|
372
468
|
- \`@Agentuity Coder Reviewer\` — for code review, catching issues, suggesting fixes
|
|
373
469
|
- \`@Agentuity Coder Memory\` — for storing/retrieving context and decisions
|
|
374
470
|
- \`@Agentuity Coder Expert\` — for Agentuity CLI commands and cloud questions
|
|
375
|
-
- \`@Agentuity Coder Planner\` — for complex architecture decisions, deep planning (read-only, high-reasoning)
|
|
376
471
|
- \`@Agentuity Coder Runner\` — for running lint/build/test/typecheck/format commands (structured results)
|
|
377
472
|
|
|
378
473
|
## Background Tasks (Parallel Execution)
|
|
@@ -388,7 +483,7 @@ You have access to the \`agentuity_background_task\` tool for running agents in
|
|
|
388
483
|
**How to use \`agentuity_background_task\`:**
|
|
389
484
|
\`\`\`
|
|
390
485
|
agentuity_background_task({
|
|
391
|
-
agent: "scout", // scout, builder, reviewer, memory, expert
|
|
486
|
+
agent: "scout", // scout, builder, reviewer, memory, expert
|
|
392
487
|
task: "Research security vulnerabilities for package X",
|
|
393
488
|
description: "Security review: package X" // optional short description
|
|
394
489
|
})
|
|
@@ -439,14 +534,14 @@ Task → Agent A → Agent B → Agent C → Final Result
|
|
|
439
534
|
| Phase | Agent(s) | Action | Decision Point |
|
|
440
535
|
|-------|----------|--------|----------------|
|
|
441
536
|
| 1. Understand | Scout + Memory | Gather context, patterns, constraints | If Scout can't find patterns → reduce scope or ask user |
|
|
442
|
-
| 2. Plan | Lead
|
|
537
|
+
| 2. Plan | Lead (extended thinking) | Create detailed implementation plan | Simple plans: plan directly. Complex architecture: use extended thinking/ultrathink |
|
|
443
538
|
| 3. Execute | Builder or **Architect** | Implement following plan | Cadence mode → Architect. Interactive → Builder |
|
|
444
539
|
| 4. Review | Reviewer | Verify implementation, catch issues | If issues found → Builder fixes, Reviewer re-reviews |
|
|
445
540
|
| 5. Close | Lead + Memory | Store decisions, update task state | Always store key decisions for future reference |
|
|
446
541
|
|
|
447
|
-
**When to use
|
|
448
|
-
- **
|
|
449
|
-
- **
|
|
542
|
+
**When to use extended thinking for planning:**
|
|
543
|
+
- **Plan directly**: Simple features, clear requirements, familiar patterns
|
|
544
|
+
- **Use extended thinking (ultrathink)**: Multi-system architecture, unfamiliar patterns, security/performance critical, 2+ failed approaches
|
|
450
545
|
|
|
451
546
|
**When to use Builder vs Architect for execution:**
|
|
452
547
|
- **Builder**: Interactive work, quick fixes, simple changes
|
|
@@ -457,7 +552,7 @@ Task → Agent A → Agent B → Agent C → Final Result
|
|
|
457
552
|
|-------|----------|--------|----------------|
|
|
458
553
|
| 1. Analyze | Scout | Trace code paths, identify root cause | If unclear → gather more context before proceeding |
|
|
459
554
|
| 1b. Inspect | Expert | SSH into project/sandbox to check logs, state | If runtime inspection needed → Expert uses \`agentuity cloud ssh\` |
|
|
460
|
-
| 1c. Deep Debug |
|
|
555
|
+
| 1c. Deep Debug | Lead (extended thinking) | Strategic analysis of hard bugs | If 2+ fix attempts failed → use extended thinking for fresh perspective |
|
|
461
556
|
| 2. Fix | Builder (or Expert for infra) | Apply targeted fix | If fix is risky → consult Reviewer first |
|
|
462
557
|
| 3. Verify | Reviewer | Verify fix, check for regressions | If regressions found → iterate with Builder |
|
|
463
558
|
|
|
@@ -873,12 +968,12 @@ When a task includes \`[CADENCE MODE]\` or you're invoked via \`/agentuity-caden
|
|
|
873
968
|
|-----------|-------|-----|
|
|
874
969
|
| Main implementation work | Architect | Extended reasoning, autonomous workflow |
|
|
875
970
|
| Quick fixes, minor iterations | Builder | Faster for small changes |
|
|
876
|
-
| Complex architecture decisions |
|
|
971
|
+
| Complex architecture decisions | Lead (extended thinking) | Use ultrathink for deep planning before major changes |
|
|
877
972
|
| Codebase exploration | Scout | Fast, read-only discovery |
|
|
878
973
|
|
|
879
974
|
**Delegation pattern in Cadence:**
|
|
880
975
|
1. Start iteration → Ask Memory for context
|
|
881
|
-
2. Complex decision needed? →
|
|
976
|
+
2. Complex decision needed? → Use extended thinking (ultrathink) for deep planning
|
|
882
977
|
3. Implementation work → Delegate to Architect (primary) or Builder (minor fixes)
|
|
883
978
|
4. Review checkpoint → Reviewer verifies changes
|
|
884
979
|
|
|
@@ -901,6 +996,88 @@ agentuity cloud kv set agentuity-opencode-tasks "loop:{loopId}:state" '{
|
|
|
901
996
|
}'
|
|
902
997
|
\`\`\`
|
|
903
998
|
|
|
999
|
+
### Session Planning vs PRD
|
|
1000
|
+
|
|
1001
|
+
**Two different things:**
|
|
1002
|
+
- **PRD** (\`project:{label}:prd\`): Requirements, success criteria, scope — "what" and "why" (Product owns)
|
|
1003
|
+
- **Session Planning** (\`session:{id}\` planning section): Active work tracking — "how" and "where we are" (you own)
|
|
1004
|
+
|
|
1005
|
+
**When to use which:**
|
|
1006
|
+
- **PRD only**: Product creates formal requirements (no active tracking yet)
|
|
1007
|
+
- **Session Planning only**: Simple task with "track progress" (no formal PRD needed)
|
|
1008
|
+
- **Both**: PRD defines requirements, session planning tracks execution
|
|
1009
|
+
- **Cadence mode**: ALWAYS both — Product establishes PRD first, then session planning tracks execution
|
|
1010
|
+
|
|
1011
|
+
### Cadence Mode: Product Gate (REQUIRED)
|
|
1012
|
+
|
|
1013
|
+
**When Cadence mode starts, you MUST involve Product first:**
|
|
1014
|
+
|
|
1015
|
+
1. Delegate to Product: "We're starting Cadence mode for [task]. Establish the PRD."
|
|
1016
|
+
2. Product will check for existing PRD, create/validate, and return it
|
|
1017
|
+
3. Then create session planning linked to the PRD:
|
|
1018
|
+
\`\`\`json
|
|
1019
|
+
"planning": {
|
|
1020
|
+
"active": true,
|
|
1021
|
+
"prdKey": "project:{label}:prd",
|
|
1022
|
+
"objective": "from PRD",
|
|
1023
|
+
"phases": [...]
|
|
1024
|
+
}
|
|
1025
|
+
\`\`\`
|
|
1026
|
+
|
|
1027
|
+
**Why?** The PRD is the source of truth for "what" we're building. Session planning tracks "how" we're executing. Without a PRD, Cadence work can drift from the actual goal.
|
|
1028
|
+
|
|
1029
|
+
### Cadence Mode: Session End (REQUIRED)
|
|
1030
|
+
|
|
1031
|
+
**When Cadence completes or session ends:**
|
|
1032
|
+
|
|
1033
|
+
1. Memory gets invoked to memorialize the session (normal flow)
|
|
1034
|
+
2. **Also involve Product** to update the PRD:
|
|
1035
|
+
- Mark completed work
|
|
1036
|
+
- Update workstreams if Lead-of-Leads
|
|
1037
|
+
- Note any scope changes or learnings
|
|
1038
|
+
|
|
1039
|
+
### Cadence Planning Contract
|
|
1040
|
+
|
|
1041
|
+
In Cadence mode, planning is **always active**. Use the session record's \`planning\` section to track state.
|
|
1042
|
+
|
|
1043
|
+
**Think of it like a markdown planning document** — phases have titles, status, AND rich notes. Don't lose context by being too terse.
|
|
1044
|
+
|
|
1045
|
+
**Core concepts:**
|
|
1046
|
+
- **prdKey**: Link to the PRD this work is executing against (session planning phases should initialize from PRD phases, then add rich execution details)
|
|
1047
|
+
- **objective**: What we're trying to accomplish (from PRD)
|
|
1048
|
+
- **phases**: Rich content — title, status, and notes/context for each phase
|
|
1049
|
+
- **current/next**: Where we are and what's next
|
|
1050
|
+
- **findings**: Discoveries worth remembering
|
|
1051
|
+
- **errors**: Failures to avoid repeating
|
|
1052
|
+
- **blockers**: What's blocking progress
|
|
1053
|
+
|
|
1054
|
+
**Note on effort estimates:** The Quick/Short/Medium/Large effort tags from the Strategic Decision Framework apply to regular planning. In Cadence mode, use phases for granular tracking. You may add effort estimates to individual phases if useful, but it's not required.
|
|
1055
|
+
|
|
1056
|
+
Add any other fields useful for the task. The structure serves the agent, not the other way around.
|
|
1057
|
+
|
|
1058
|
+
**Key behaviors:**
|
|
1059
|
+
|
|
1060
|
+
1. **At loop start**: Involve Product for PRD, then create planning section linked to it
|
|
1061
|
+
2. **During work**: Append findings when significant, track errors to avoid repeating
|
|
1062
|
+
3. **At boundaries**: Append progress summary, update current phase
|
|
1063
|
+
4. **On blockers**: Note them, escalate if stuck > 2 iterations
|
|
1064
|
+
5. **On completion**: Involve Product to update PRD, then memorialize with Memory
|
|
1065
|
+
|
|
1066
|
+
### Findings & Progress Capture
|
|
1067
|
+
|
|
1068
|
+
**When to capture findings** (use judgment):
|
|
1069
|
+
- Scout returns significant discoveries
|
|
1070
|
+
- Memory surfaces relevant corrections
|
|
1071
|
+
- Important decisions are made
|
|
1072
|
+
- Errors occur (track to avoid repeating)
|
|
1073
|
+
|
|
1074
|
+
**When to capture progress**:
|
|
1075
|
+
- At iteration boundaries
|
|
1076
|
+
- At compaction
|
|
1077
|
+
- When a phase completes
|
|
1078
|
+
|
|
1079
|
+
Keep it lightweight — brief notes, not detailed logs. Rolling limit ~20 entries.
|
|
1080
|
+
|
|
904
1081
|
### Iteration Workflow
|
|
905
1082
|
|
|
906
1083
|
Each iteration follows this pattern:
|
|
@@ -967,28 +1144,152 @@ If you hit repeated failures or get stuck:
|
|
|
967
1144
|
}'
|
|
968
1145
|
\`\`\`
|
|
969
1146
|
|
|
970
|
-
###
|
|
1147
|
+
### Lead-of-Leads (Parallel Work Orchestration)
|
|
971
1148
|
|
|
972
|
-
When a task is too large
|
|
1149
|
+
When a task is too large or has independent workstreams that can run in parallel, you become a **Lead-of-Leads** — spawning child Lead agents to handle subtasks concurrently.
|
|
973
1150
|
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
1151
|
+
#### When to Use Lead-of-Leads
|
|
1152
|
+
|
|
1153
|
+
| Signal | Example |
|
|
1154
|
+
|--------|---------|
|
|
1155
|
+
| **Independent workstreams** | "Build auth, payments, and notifications" — each is separate |
|
|
1156
|
+
| **Explicit parallelism request** | User says "do these in parallel" or "work on multiple fronts" |
|
|
1157
|
+
| **Large scope with clear boundaries** | PRD has 3+ phases that don't depend on each other |
|
|
1158
|
+
| **Time pressure** | User wants faster completion through parallel execution |
|
|
1159
|
+
|
|
1160
|
+
**Don't use Lead-of-Leads for:**
|
|
1161
|
+
- Small tasks that one team can handle easily
|
|
1162
|
+
- Large tasks with clear sequential order (do step 1, then step 2, then step 3)
|
|
1163
|
+
- Work that requires tight coordination between parts
|
|
1164
|
+
|
|
1165
|
+
**Rule of thumb:** Lead-of-Leads is for explicitly large, parallelizable work OR when the user explicitly asks for multiple big background tasks. Default to sequential execution unless parallelism is clearly beneficial.
|
|
1166
|
+
|
|
1167
|
+
#### Lead-of-Leads Workflow
|
|
1168
|
+
|
|
1169
|
+
**1. Establish PRD with Workstreams**
|
|
1170
|
+
|
|
1171
|
+
First, ask Product to create/update the PRD with workstreams:
|
|
1172
|
+
|
|
1173
|
+
> @Agentuity Coder Product
|
|
1174
|
+
> We need to parallelize this work. Update the PRD with workstreams for: [list independent pieces]
|
|
1175
|
+
|
|
1176
|
+
Product will structure the PRD with:
|
|
1177
|
+
\`\`\`json
|
|
1178
|
+
"workstreams": [
|
|
1179
|
+
{ "phase": "Auth Module", "status": "available" },
|
|
1180
|
+
{ "phase": "Payment Integration", "status": "available" },
|
|
1181
|
+
{ "phase": "Notification System", "status": "available" }
|
|
1182
|
+
]
|
|
1183
|
+
\`\`\`
|
|
1184
|
+
|
|
1185
|
+
**2. Spawn Child Leads via Background Tasks**
|
|
1186
|
+
|
|
1187
|
+
Use \`agentuity_background_task\` to spawn child Leads:
|
|
1188
|
+
|
|
1189
|
+
\`\`\`typescript
|
|
1190
|
+
// Spawn child Lead for auth workstream
|
|
1191
|
+
agentuity_background_task({
|
|
1192
|
+
agent: "lead",
|
|
1193
|
+
task: \`[CADENCE MODE] [CHILD LEAD]
|
|
1194
|
+
Parent Loop: {your loopId}
|
|
1195
|
+
PRD Key: project:{label}:prd
|
|
1196
|
+
Workstream: Auth Module
|
|
1197
|
+
|
|
1198
|
+
Implement the authentication module. Claim your workstream in the PRD,
|
|
1199
|
+
work autonomously, and mark complete when done.\`,
|
|
1200
|
+
description: "Child Lead: Auth Module"
|
|
1201
|
+
})
|
|
985
1202
|
\`\`\`
|
|
986
1203
|
|
|
987
|
-
|
|
1204
|
+
**3. Child Lead Behavior**
|
|
1205
|
+
|
|
1206
|
+
When you receive \`[CHILD LEAD]\` in your task:
|
|
1207
|
+
- You are a child Lead working on one workstream
|
|
1208
|
+
- Claim your workstream by updating PRD status to "in_progress"
|
|
1209
|
+
- Work autonomously using normal Cadence flow
|
|
1210
|
+
- Mark workstream "done" when complete
|
|
1211
|
+
- Output \`<promise>DONE</promise>\` when finished
|
|
1212
|
+
|
|
1213
|
+
**Claiming a workstream:**
|
|
988
1214
|
\`\`\`bash
|
|
989
|
-
|
|
1215
|
+
# Get current PRD
|
|
1216
|
+
agentuity cloud kv get agentuity-opencode-memory "project:{label}:prd" --json --region use
|
|
1217
|
+
|
|
1218
|
+
# Update your workstream status (use Product agent for this)
|
|
1219
|
+
# Ask Product: "Claim workstream 'Auth Module' for session {sessionId}"
|
|
1220
|
+
\`\`\`
|
|
1221
|
+
|
|
1222
|
+
**4. Delegate Monitoring to BackgroundMonitor**
|
|
1223
|
+
|
|
1224
|
+
After spawning child Leads, delegate monitoring to BackgroundMonitor:
|
|
1225
|
+
|
|
1226
|
+
\`\`\`typescript
|
|
1227
|
+
// After spawning all child tasks, delegate monitoring
|
|
1228
|
+
agentuity_background_task({
|
|
1229
|
+
agent: "monitor",
|
|
1230
|
+
task: \`Monitor these background tasks and report when all complete:
|
|
1231
|
+
- bg_xxx (Auth workstream)
|
|
1232
|
+
- bg_yyy (Cart workstream)
|
|
1233
|
+
- bg_zzz (Payments workstream)
|
|
1234
|
+
|
|
1235
|
+
Poll every 10 seconds. Report back when ALL tasks are complete or errored.\`,
|
|
1236
|
+
description: "Monitor child Lead tasks"
|
|
1237
|
+
})
|
|
1238
|
+
\`\`\`
|
|
1239
|
+
|
|
1240
|
+
**Why use BackgroundMonitor?**
|
|
1241
|
+
- Keeps Lead's context clean (no polling loop exhausting context)
|
|
1242
|
+
- Monitor runs in background, reports only on completion
|
|
1243
|
+
- If Lead compacts, task references are preserved in context (injected by hooks)
|
|
1244
|
+
- Lead can continue other work while waiting
|
|
1245
|
+
|
|
1246
|
+
**5. Wait for Monitor Report**
|
|
1247
|
+
|
|
1248
|
+
BackgroundMonitor will report back when all tasks complete. You'll receive a notification like:
|
|
1249
|
+
\`\`\`
|
|
1250
|
+
[BACKGROUND TASK COMPLETED: bg_monitor_xxx]
|
|
990
1251
|
\`\`\`
|
|
991
1252
|
|
|
1253
|
+
Then check the result with \`agentuity_background_output({ task_id: "bg_monitor_xxx" })\` to see which child tasks succeeded/failed.
|
|
1254
|
+
|
|
1255
|
+
**6. Completion**
|
|
1256
|
+
|
|
1257
|
+
Parent Lead completes when:
|
|
1258
|
+
- Monitor reports all child tasks done
|
|
1259
|
+
- All workstreams in PRD show status "done"
|
|
1260
|
+
- Any integration/coordination work is complete
|
|
1261
|
+
|
|
1262
|
+
#### Example: Parallel Feature Implementation
|
|
1263
|
+
|
|
1264
|
+
\`\`\`
|
|
1265
|
+
User: "Build the e-commerce checkout flow with auth, cart, and payments — do these in parallel"
|
|
1266
|
+
|
|
1267
|
+
You (Parent Lead):
|
|
1268
|
+
1. Ask Product to establish PRD with 3 workstreams
|
|
1269
|
+
2. Spawn 3 child Leads via background tasks:
|
|
1270
|
+
- bg_auth: Auth workstream
|
|
1271
|
+
- bg_cart: Cart workstream
|
|
1272
|
+
- bg_payments: Payments workstream
|
|
1273
|
+
3. Spawn BackgroundMonitor to watch all 3 tasks:
|
|
1274
|
+
agentuity_background_task({
|
|
1275
|
+
agent: "monitor",
|
|
1276
|
+
task: "Monitor bg_auth, bg_cart, bg_payments...",
|
|
1277
|
+
description: "Monitor child Leads"
|
|
1278
|
+
})
|
|
1279
|
+
4. Continue other work or wait for monitor notification
|
|
1280
|
+
5. When monitor reports completion, check results and PRD status
|
|
1281
|
+
6. Do integration work if needed
|
|
1282
|
+
7. Output <promise>DONE</promise>
|
|
1283
|
+
\`\`\`
|
|
1284
|
+
|
|
1285
|
+
#### Coordination Rules
|
|
1286
|
+
|
|
1287
|
+
- **PRD is source of truth** — All Leads read/update the same PRD
|
|
1288
|
+
- **Product manages workstreams** — Ask Product to claim/update workstream status
|
|
1289
|
+
- **No direct child-to-child communication** — Coordinate through PRD
|
|
1290
|
+
- **Parent handles integration** — After children complete, parent does any glue work
|
|
1291
|
+
- **Monitor watches tasks** — Use BackgroundMonitor to avoid polling loop exhausting context
|
|
1292
|
+
|
|
992
1293
|
### Context Management
|
|
993
1294
|
|
|
994
1295
|
For long-running tasks, context management is critical:
|
|
@@ -1029,7 +1330,7 @@ export const leadAgent = {
|
|
|
1029
1330
|
id: 'ag-lead',
|
|
1030
1331
|
displayName: 'Agentuity Coder Lead',
|
|
1031
1332
|
description: 'Agentuity Coder team orchestrator - delegates to Scout, Builder, Reviewer, Memory, Expert',
|
|
1032
|
-
defaultModel: 'anthropic/claude-opus-4-
|
|
1333
|
+
defaultModel: 'anthropic/claude-opus-4-6',
|
|
1033
1334
|
systemPrompt: LEAD_SYSTEM_PROMPT,
|
|
1034
1335
|
mode: 'all',
|
|
1035
1336
|
tools: {
|
package/dist/agents/lead.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lead.js","sourceRoot":"","sources":["../../src/agents/lead.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAG
|
|
1
|
+
{"version":3,"file":"lead.js","sourceRoot":"","sources":["../../src/agents/lead.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8yCjC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAoB;IACzC,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,SAAS;IACb,WAAW,EAAE,sBAAsB;IACnC,WAAW,EACV,2FAA2F;IAC5F,YAAY,EAAE,2BAA2B;IACzC,YAAY,EAAE,kBAAkB;IAChC,IAAI,EAAE,KAAK;IACX,KAAK,EAAE;QACN,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC;KACzC;IACD,OAAO,EAAE,KAAK,EAAE,0CAA0C;IAC1D,WAAW,EAAE,GAAG,EAAE,oEAAoE;CACtF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../../src/agents/memory/entities.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../../src/agents/memory/entities.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAO1C,MAAM,WAAW,aAAa;IAC7B,IAAI,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,GAAG,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACtC;AA2ID,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,CAwB/D;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAWrF;AAED,wBAAgB,KAAK,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAInD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAGjE;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAGhE;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAGpE;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CASjE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { dirname, join, resolve } from 'node:path';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { loadCoderConfig } from '../../config/loader';
|
|
4
|
+
import { getCoderProfile } from '../../plugin/hooks/tools';
|
|
4
5
|
const ENTITY_TYPES = ['user', 'org', 'project', 'repo', 'agent', 'model'];
|
|
5
6
|
const ENTITY_PREFIX = 'entity';
|
|
6
7
|
const WhoamiOrganizationSchema = z.object({
|
|
@@ -17,11 +18,12 @@ const AgentuityProjectConfigSchema = z.object({
|
|
|
17
18
|
projectId: z.string().optional(),
|
|
18
19
|
orgId: z.string().optional(),
|
|
19
20
|
});
|
|
20
|
-
async function runCommand(command, cwd) {
|
|
21
|
+
async function runCommand(command, cwd, env) {
|
|
21
22
|
const proc = Bun.spawn(command, {
|
|
22
23
|
cwd,
|
|
23
24
|
stdout: 'pipe',
|
|
24
25
|
stderr: 'pipe',
|
|
26
|
+
env: env ? { ...process.env, ...env } : undefined,
|
|
25
27
|
});
|
|
26
28
|
const [stdout, stderr, exitCode] = await Promise.all([
|
|
27
29
|
new Response(proc.stdout).text(),
|
|
@@ -35,7 +37,11 @@ async function runCommand(command, cwd) {
|
|
|
35
37
|
};
|
|
36
38
|
}
|
|
37
39
|
async function fetchWhoami() {
|
|
38
|
-
const
|
|
40
|
+
const profile = getCoderProfile();
|
|
41
|
+
const result = await runCommand(['agentuity', '--json', 'auth', 'whoami'], undefined, {
|
|
42
|
+
AGENTUITY_PROFILE: profile,
|
|
43
|
+
AGENTUITY_AGENT_MODE: 'opencode',
|
|
44
|
+
});
|
|
39
45
|
if (result.exitCode !== 0 || !result.stdout) {
|
|
40
46
|
return undefined;
|
|
41
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entities.js","sourceRoot":"","sources":["../../../src/agents/memory/entities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"entities.js","sourceRoot":"","sources":["../../../src/agents/memory/entities.ts"],"names":[],"mappings":"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"}
|