@agentuity/opencode 0.1.40 → 0.1.42
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/README.md +324 -19
- package/dist/agents/architect.d.ts +4 -0
- package/dist/agents/architect.d.ts.map +1 -0
- package/dist/agents/architect.js +259 -0
- package/dist/agents/architect.js.map +1 -0
- package/dist/agents/builder.d.ts +1 -1
- package/dist/agents/builder.d.ts.map +1 -1
- package/dist/agents/builder.js +44 -1
- package/dist/agents/builder.js.map +1 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +6 -0
- 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 +185 -22
- package/dist/agents/lead.js.map +1 -1
- package/dist/agents/planner.d.ts +4 -0
- package/dist/agents/planner.d.ts.map +1 -0
- package/dist/agents/planner.js +158 -0
- package/dist/agents/planner.js.map +1 -0
- package/dist/agents/runner.d.ts +4 -0
- package/dist/agents/runner.d.ts.map +1 -0
- package/dist/agents/runner.js +364 -0
- package/dist/agents/runner.js.map +1 -0
- package/dist/agents/types.d.ts +5 -1
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/background/concurrency.d.ts +36 -0
- package/dist/background/concurrency.d.ts.map +1 -0
- package/dist/background/concurrency.js +92 -0
- package/dist/background/concurrency.js.map +1 -0
- package/dist/background/index.d.ts +5 -0
- package/dist/background/index.d.ts.map +1 -0
- package/dist/background/index.js +4 -0
- package/dist/background/index.js.map +1 -0
- package/dist/background/manager.d.ts +54 -0
- package/dist/background/manager.d.ts.map +1 -0
- package/dist/background/manager.js +409 -0
- package/dist/background/manager.js.map +1 -0
- package/dist/background/types.d.ts +47 -0
- package/dist/background/types.d.ts.map +1 -0
- package/dist/background/types.js +2 -0
- package/dist/background/types.js.map +1 -0
- package/dist/config/index.d.ts +2 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +2 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/loader.d.ts +24 -0
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +102 -23
- package/dist/config/loader.js.map +1 -1
- package/dist/config/presets.d.ts +16 -0
- package/dist/config/presets.d.ts.map +1 -0
- package/dist/config/presets.js +20 -0
- package/dist/config/presets.js.map +1 -0
- package/dist/config/validation.d.ts +26 -0
- package/dist/config/validation.d.ts.map +1 -0
- package/dist/config/validation.js +48 -0
- package/dist/config/validation.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/plugin/hooks/cadence.d.ts.map +1 -1
- package/dist/plugin/hooks/cadence.js +3 -1
- 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 +3 -0
- package/dist/plugin/hooks/keyword.js.map +1 -1
- package/dist/plugin/plugin.d.ts.map +1 -1
- package/dist/plugin/plugin.js +335 -36
- package/dist/plugin/plugin.js.map +1 -1
- package/dist/skills/frontmatter.d.ts +7 -0
- package/dist/skills/frontmatter.d.ts.map +1 -0
- package/dist/skills/frontmatter.js +17 -0
- package/dist/skills/frontmatter.js.map +1 -0
- package/dist/skills/index.d.ts +4 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +4 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/loader.d.ts +20 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +152 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/skills/types.d.ts +41 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js +2 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/tmux/decision-engine.d.ts +24 -0
- package/dist/tmux/decision-engine.d.ts.map +1 -0
- package/dist/tmux/decision-engine.js +193 -0
- package/dist/tmux/decision-engine.js.map +1 -0
- package/dist/tmux/executor.d.ts +84 -0
- package/dist/tmux/executor.d.ts.map +1 -0
- package/dist/tmux/executor.js +546 -0
- package/dist/tmux/executor.js.map +1 -0
- package/dist/tmux/index.d.ts +7 -0
- package/dist/tmux/index.d.ts.map +1 -0
- package/dist/tmux/index.js +7 -0
- package/dist/tmux/index.js.map +1 -0
- package/dist/tmux/manager.d.ts +116 -0
- package/dist/tmux/manager.d.ts.map +1 -0
- package/dist/tmux/manager.js +488 -0
- package/dist/tmux/manager.js.map +1 -0
- package/dist/tmux/state-query.d.ts +7 -0
- package/dist/tmux/state-query.d.ts.map +1 -0
- package/dist/tmux/state-query.js +70 -0
- package/dist/tmux/state-query.js.map +1 -0
- package/dist/tmux/types.d.ts +97 -0
- package/dist/tmux/types.d.ts.map +1 -0
- package/dist/tmux/types.js +8 -0
- package/dist/tmux/types.js.map +1 -0
- package/dist/tmux/utils.d.ts +32 -0
- package/dist/tmux/utils.d.ts.map +1 -0
- package/dist/tmux/utils.js +80 -0
- package/dist/tmux/utils.js.map +1 -0
- package/dist/tools/background.d.ts +61 -0
- package/dist/tools/background.d.ts.map +1 -0
- package/dist/tools/background.js +78 -0
- package/dist/tools/background.js.map +1 -0
- package/dist/tools/delegate.d.ts +6 -0
- package/dist/tools/delegate.d.ts.map +1 -1
- package/dist/tools/delegate.js +8 -2
- package/dist/tools/delegate.js.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/types.d.ts +118 -18
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +49 -7
- package/dist/types.js.map +1 -1
- package/package.json +4 -3
- package/src/agents/architect.ts +262 -0
- package/src/agents/builder.ts +44 -1
- package/src/agents/index.ts +6 -0
- package/src/agents/lead.ts +185 -22
- package/src/agents/planner.ts +161 -0
- package/src/agents/runner.ts +367 -0
- package/src/agents/types.ts +5 -1
- package/src/background/concurrency.ts +116 -0
- package/src/background/index.ts +4 -0
- package/src/background/manager.ts +478 -0
- package/src/background/types.ts +52 -0
- package/src/config/index.ts +2 -0
- package/src/config/loader.ts +128 -31
- package/src/config/presets.ts +21 -0
- package/src/config/validation.ts +70 -0
- package/src/index.ts +1 -0
- package/src/plugin/hooks/cadence.ts +2 -1
- package/src/plugin/hooks/keyword.ts +3 -0
- package/src/plugin/plugin.ts +374 -42
- package/src/skills/frontmatter.ts +25 -0
- package/src/skills/index.ts +3 -0
- package/src/skills/loader.ts +185 -0
- package/src/skills/types.ts +43 -0
- package/src/tmux/decision-engine.ts +246 -0
- package/src/tmux/executor.ts +618 -0
- package/src/tmux/index.ts +14 -0
- package/src/tmux/manager.ts +577 -0
- package/src/tmux/state-query.ts +77 -0
- package/src/tmux/types.ts +107 -0
- package/src/tmux/utils.ts +85 -0
- package/src/tools/background.ts +145 -0
- package/src/tools/delegate.ts +8 -2
- package/src/tools/index.ts +9 -0
- package/src/types.ts +88 -15
package/dist/plugin/plugin.js
CHANGED
|
@@ -1,19 +1,51 @@
|
|
|
1
|
+
import { tool } from '@opencode-ai/plugin';
|
|
2
|
+
import { loadAllSkills } from '../skills';
|
|
1
3
|
import { agents } from '../agents';
|
|
2
|
-
import { loadCoderConfig, getDefaultConfig, mergeConfig } from '../config';
|
|
4
|
+
import { loadCoderConfig, getDefaultConfig, mergeConfig, validateAndWarnConfigs } from '../config';
|
|
3
5
|
import { createSessionHooks } from './hooks/session';
|
|
4
6
|
import { createToolHooks } from './hooks/tools';
|
|
5
7
|
import { createKeywordHooks } from './hooks/keyword';
|
|
6
8
|
import { createParamsHooks } from './hooks/params';
|
|
7
9
|
import { createCadenceHooks } from './hooks/cadence';
|
|
8
10
|
import { createSessionMemoryHooks } from './hooks/session-memory';
|
|
11
|
+
import { BackgroundManager } from '../background';
|
|
12
|
+
import { TmuxSessionManager } from '../tmux';
|
|
13
|
+
// Sandbox environment detection
|
|
14
|
+
const SANDBOX_ID = process.env.AGENTUITY_SANDBOX_ID;
|
|
15
|
+
const IN_SANDBOX = !!SANDBOX_ID;
|
|
16
|
+
// Sandbox context injected into Lead, Builder, and Architect prompts
|
|
17
|
+
const SANDBOX_CONTEXT = IN_SANDBOX
|
|
18
|
+
? `
|
|
19
|
+
## Sandbox Environment
|
|
20
|
+
|
|
21
|
+
You are running inside an Agentuity Sandbox (ID: ${SANDBOX_ID}).
|
|
22
|
+
|
|
23
|
+
**Permissions:** All file operations are allowed without prompts.
|
|
24
|
+
|
|
25
|
+
**File Locations:**
|
|
26
|
+
- Working directory: \`/home/agentuity\`
|
|
27
|
+
- Temp files: \`/home/agentuity/tmp/\` (preferred over \`/tmp/\`)
|
|
28
|
+
- Artifacts: \`/home/agentuity/.agentuity/\`
|
|
29
|
+
|
|
30
|
+
**Tips:**
|
|
31
|
+
- No permission prompts - you can read/write freely
|
|
32
|
+
- Sandbox is isolated - safe to experiment
|
|
33
|
+
- Use \`/home/agentuity/\` paths for all file operations
|
|
34
|
+
`
|
|
35
|
+
: '';
|
|
36
|
+
// Agents that should receive sandbox context in their prompts
|
|
37
|
+
const SANDBOX_AWARE_AGENTS = ['lead', 'builder', 'architect'];
|
|
9
38
|
// Agent display names for @mentions
|
|
10
39
|
const AGENT_MENTIONS = {
|
|
11
40
|
lead: '@Agentuity Coder Lead',
|
|
12
41
|
scout: '@Agentuity Coder Scout',
|
|
13
42
|
builder: '@Agentuity Coder Builder',
|
|
43
|
+
architect: '@Agentuity Coder Architect',
|
|
14
44
|
reviewer: '@Agentuity Coder Reviewer',
|
|
15
45
|
memory: '@Agentuity Coder Memory',
|
|
16
46
|
expert: '@Agentuity Coder Expert',
|
|
47
|
+
planner: '@Agentuity Coder Planner',
|
|
48
|
+
runner: '@Agentuity Coder Runner',
|
|
17
49
|
};
|
|
18
50
|
export async function createCoderPlugin(ctx) {
|
|
19
51
|
ctx.client.app.log({
|
|
@@ -30,13 +62,44 @@ export async function createCoderPlugin(ctx) {
|
|
|
30
62
|
const keywordHooks = createKeywordHooks(ctx, coderConfig);
|
|
31
63
|
const paramsHooks = createParamsHooks(ctx, coderConfig);
|
|
32
64
|
const cadenceHooks = createCadenceHooks(ctx, coderConfig);
|
|
65
|
+
const tmuxManager = coderConfig.tmux?.enabled
|
|
66
|
+
? new TmuxSessionManager(ctx, coderConfig.tmux, {
|
|
67
|
+
onLog: (message) => ctx.client.app.log({
|
|
68
|
+
body: {
|
|
69
|
+
service: 'agentuity-coder',
|
|
70
|
+
level: 'info',
|
|
71
|
+
message,
|
|
72
|
+
},
|
|
73
|
+
}),
|
|
74
|
+
})
|
|
75
|
+
: undefined;
|
|
76
|
+
const backgroundManager = new BackgroundManager(ctx, coderConfig.background, {
|
|
77
|
+
onSubagentSessionCreated: tmuxManager
|
|
78
|
+
? (event) => {
|
|
79
|
+
void tmuxManager.onSessionCreated(event);
|
|
80
|
+
}
|
|
81
|
+
: undefined,
|
|
82
|
+
onSubagentSessionDeleted: tmuxManager
|
|
83
|
+
? (event) => {
|
|
84
|
+
void tmuxManager.onSessionDeleted(event);
|
|
85
|
+
}
|
|
86
|
+
: undefined,
|
|
87
|
+
});
|
|
33
88
|
// Session memory hooks handle checkpointing and compaction for non-Cadence sessions
|
|
34
89
|
// Orchestration (deciding which module handles which session) happens below in the hooks
|
|
35
90
|
const sessionMemoryHooks = createSessionMemoryHooks(ctx, coderConfig);
|
|
36
91
|
const configHandler = createConfigHandler(coderConfig);
|
|
37
|
-
//
|
|
38
|
-
const
|
|
39
|
-
|
|
92
|
+
// Create plugin tools using the @opencode-ai/plugin tool helper
|
|
93
|
+
const tools = createTools(backgroundManager);
|
|
94
|
+
// Create a logger for shutdown handler
|
|
95
|
+
const shutdownLogger = (message) => ctx.client.app.log({
|
|
96
|
+
body: {
|
|
97
|
+
service: 'agentuity-coder',
|
|
98
|
+
level: 'info',
|
|
99
|
+
message: `[shutdown] ${message}`,
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
registerShutdownHandler(backgroundManager, tmuxManager, shutdownLogger);
|
|
40
103
|
// Show startup toast (fire and forget, don't block)
|
|
41
104
|
try {
|
|
42
105
|
ctx.client.tui.showToast({
|
|
@@ -58,6 +121,10 @@ export async function createCoderPlugin(ctx) {
|
|
|
58
121
|
'tool.execute.before': toolHooks.before,
|
|
59
122
|
'tool.execute.after': toolHooks.after,
|
|
60
123
|
event: async (input) => {
|
|
124
|
+
const event = extractEventFromInput(input);
|
|
125
|
+
if (event) {
|
|
126
|
+
backgroundManager.handleEvent(event);
|
|
127
|
+
}
|
|
61
128
|
// Orchestrate: route to appropriate module based on session type
|
|
62
129
|
const sessionId = extractSessionIdFromEvent(input);
|
|
63
130
|
if (sessionId && cadenceHooks.isActiveCadenceSession(sessionId)) {
|
|
@@ -83,20 +150,51 @@ function createConfigHandler(coderConfig) {
|
|
|
83
150
|
return async (config) => {
|
|
84
151
|
const agentConfigs = createAgentConfigs(coderConfig);
|
|
85
152
|
const commands = createCommands();
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
153
|
+
const loadedSkills = await loadAllSkills(coderConfig.skills);
|
|
154
|
+
const skillCommands = createSkillCommands(loadedSkills);
|
|
155
|
+
// Merge agent configs: our defaults first, then user's opencode.json overrides on top
|
|
156
|
+
// This allows users to customize any agent via their opencode.json
|
|
157
|
+
const userAgentConfigs = config.agent;
|
|
158
|
+
const mergedAgents = { ...agentConfigs };
|
|
159
|
+
// Shallow merge user overrides on top of our defaults (nested objects like tools are replaced, not merged)
|
|
160
|
+
if (userAgentConfigs) {
|
|
161
|
+
for (const [name, userConfig] of Object.entries(userAgentConfigs)) {
|
|
162
|
+
if (mergedAgents[name]) {
|
|
163
|
+
// Merge user config on top of our default
|
|
164
|
+
mergedAgents[name] = {
|
|
165
|
+
...mergedAgents[name],
|
|
166
|
+
...userConfig,
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
// User defined a new agent not in our defaults
|
|
171
|
+
mergedAgents[name] = userConfig;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
config.agent = mergedAgents;
|
|
176
|
+
// Validate merged configs and warn about mismatches
|
|
177
|
+
validateAndWarnConfigs(mergedAgents);
|
|
178
|
+
// In sandbox, allow all permissions without prompts
|
|
179
|
+
if (IN_SANDBOX) {
|
|
180
|
+
config.permission = {
|
|
181
|
+
'*': 'allow',
|
|
182
|
+
external_directory: {
|
|
183
|
+
'/home/agentuity/**': 'allow',
|
|
184
|
+
'*': 'allow',
|
|
185
|
+
},
|
|
186
|
+
};
|
|
187
|
+
}
|
|
90
188
|
config.command = {
|
|
91
189
|
...config.command,
|
|
92
190
|
...commands,
|
|
191
|
+
...skillCommands,
|
|
93
192
|
};
|
|
94
193
|
};
|
|
95
194
|
}
|
|
96
|
-
function createAgentConfigs(
|
|
195
|
+
function createAgentConfigs(_config) {
|
|
97
196
|
const result = {};
|
|
98
197
|
for (const agent of Object.values(agents)) {
|
|
99
|
-
const modelConfig = config.agents?.[agent.role];
|
|
100
198
|
// Convert tools.exclude to Open Code format (tool: false)
|
|
101
199
|
const tools = {};
|
|
102
200
|
if (agent.tools?.exclude) {
|
|
@@ -104,16 +202,23 @@ function createAgentConfigs(config) {
|
|
|
104
202
|
tools[tool] = false;
|
|
105
203
|
}
|
|
106
204
|
}
|
|
205
|
+
// Inject sandbox context into specific agents when running in sandbox
|
|
206
|
+
const shouldInjectSandbox = IN_SANDBOX && SANDBOX_AWARE_AGENTS.includes(agent.role);
|
|
207
|
+
const prompt = shouldInjectSandbox
|
|
208
|
+
? `${agent.systemPrompt}\n${SANDBOX_CONTEXT}`
|
|
209
|
+
: agent.systemPrompt;
|
|
210
|
+
// Use agent defaults directly - user overrides happen in createConfigHandler
|
|
107
211
|
result[agent.displayName] = {
|
|
108
212
|
description: agent.description,
|
|
109
|
-
model:
|
|
110
|
-
prompt
|
|
213
|
+
model: agent.defaultModel,
|
|
214
|
+
prompt,
|
|
111
215
|
mode: agent.mode ?? 'subagent',
|
|
112
216
|
...(Object.keys(tools).length > 0 ? { tools } : {}),
|
|
113
|
-
// Pass through thinking/reasoning settings
|
|
114
217
|
...(agent.variant ? { variant: agent.variant } : {}),
|
|
115
218
|
...(agent.temperature !== undefined ? { temperature: agent.temperature } : {}),
|
|
116
219
|
...(agent.maxSteps !== undefined ? { maxSteps: agent.maxSteps } : {}),
|
|
220
|
+
...(agent.reasoningEffort ? { reasoningEffort: agent.reasoningEffort } : {}),
|
|
221
|
+
...(agent.thinking ? { thinking: agent.thinking } : {}),
|
|
117
222
|
};
|
|
118
223
|
}
|
|
119
224
|
return result;
|
|
@@ -129,20 +234,24 @@ You are the Agentuity Coder Lead agent orchestrating the Agentuity Coder team.
|
|
|
129
234
|
## Your Team (use @mentions to invoke)
|
|
130
235
|
- **@Agentuity Coder Scout**: Explore codebase, find patterns, research docs (read-only)
|
|
131
236
|
- **@Agentuity Coder Builder**: Implement features, write code, run tests
|
|
237
|
+
- **@Agentuity Coder Architect**: Complex autonomous tasks, Cadence mode (GPT Codex)
|
|
132
238
|
- **@Agentuity Coder Reviewer**: Review changes, catch issues, apply fixes
|
|
133
239
|
- **@Agentuity Coder Memory**: Store context, remember decisions
|
|
134
240
|
- **@Agentuity Coder Expert**: Agentuity CLI and cloud services specialist
|
|
241
|
+
- **@Agentuity Coder Planner**: Deep planning for complex architecture decisions
|
|
242
|
+
- **@Agentuity Coder Runner**: Run lint/build/test commands, returns structured results
|
|
135
243
|
|
|
136
244
|
## Task
|
|
137
245
|
$ARGUMENTS
|
|
138
246
|
|
|
139
247
|
## Guidelines
|
|
140
248
|
1. Use @Agentuity Coder Scout first to understand context
|
|
141
|
-
2. Delegate implementation to @Agentuity Coder Builder
|
|
142
|
-
3.
|
|
143
|
-
4.
|
|
144
|
-
5.
|
|
145
|
-
6.
|
|
249
|
+
2. Delegate implementation to @Agentuity Coder Builder (or Architect for complex work)
|
|
250
|
+
3. Delegate lint/build/test commands to @Agentuity Coder Runner for structured results
|
|
251
|
+
4. Have @Agentuity Coder Reviewer check the work
|
|
252
|
+
5. Use @Agentuity Coder Expert for Agentuity CLI questions
|
|
253
|
+
6. Only use cloud services when genuinely helpful
|
|
254
|
+
7. **When done, tell @Agentuity Coder Memory to memorialize the session**
|
|
146
255
|
</coder-mode>`,
|
|
147
256
|
agent: 'Agentuity Coder Lead',
|
|
148
257
|
argumentHint: '"task description"',
|
|
@@ -255,10 +364,13 @@ You are the Agentuity Coder Lead in **Cadence mode** — a long-running autonomo
|
|
|
255
364
|
|
|
256
365
|
## Your Team (use @mentions to invoke)
|
|
257
366
|
- **@Agentuity Coder Scout**: Explore codebase, find patterns, research docs (read-only)
|
|
258
|
-
- **@Agentuity Coder
|
|
367
|
+
- **@Agentuity Coder Architect**: Complex autonomous implementation (GPT Codex with high reasoning) — **USE THIS FOR CADENCE**
|
|
368
|
+
- **@Agentuity Coder Builder**: Quick fixes, simple changes (for minor iterations only)
|
|
259
369
|
- **@Agentuity Coder Reviewer**: Review changes, catch issues, apply fixes
|
|
260
370
|
- **@Agentuity Coder Memory**: Store context, remember decisions, checkpoints
|
|
261
371
|
- **@Agentuity Coder Expert**: Agentuity CLI and cloud services specialist
|
|
372
|
+
- **@Agentuity Coder Planner**: Deep planning for complex architecture decisions
|
|
373
|
+
- **@Agentuity Coder Runner**: Run lint/build/test commands, returns structured results
|
|
262
374
|
|
|
263
375
|
## Task
|
|
264
376
|
$ARGUMENTS
|
|
@@ -272,7 +384,8 @@ $ARGUMENTS
|
|
|
272
384
|
2. **Each iteration**:
|
|
273
385
|
- Ask @Agentuity Coder Memory for relevant context
|
|
274
386
|
- Use @Agentuity Coder Scout to understand what's needed
|
|
275
|
-
-
|
|
387
|
+
- For complex planning, consult @Agentuity Coder Planner
|
|
388
|
+
- Delegate implementation to **@Agentuity Coder Architect** (preferred for Cadence)
|
|
276
389
|
- Have @Agentuity Coder Reviewer verify the work
|
|
277
390
|
- Tell @Agentuity Coder Memory to store checkpoint
|
|
278
391
|
|
|
@@ -284,10 +397,11 @@ $ARGUMENTS
|
|
|
284
397
|
4. **Tell @Agentuity Coder Memory to memorialize** the completed session
|
|
285
398
|
|
|
286
399
|
## Guidelines
|
|
287
|
-
- **
|
|
400
|
+
- **Use Architect for implementation** — Architect has GPT Codex with maximum reasoning, ideal for autonomous work
|
|
401
|
+
- Use regular Builder only for trivial fixes within an iteration
|
|
288
402
|
- Ask Memory for context at each iteration start
|
|
289
403
|
- Store checkpoints at each iteration end
|
|
290
|
-
- If stuck
|
|
404
|
+
- If stuck on architecture, consult Planner before trying more approaches
|
|
291
405
|
- Use @Agentuity Coder Expert for sandbox/cloud operations
|
|
292
406
|
- Respect max iterations (50 default)`,
|
|
293
407
|
agent: 'Agentuity Coder Lead',
|
|
@@ -295,38 +409,166 @@ $ARGUMENTS
|
|
|
295
409
|
},
|
|
296
410
|
};
|
|
297
411
|
}
|
|
298
|
-
function
|
|
299
|
-
const
|
|
412
|
+
function createSkillCommands(skills) {
|
|
413
|
+
const commands = {};
|
|
414
|
+
for (const skill of skills) {
|
|
415
|
+
const baseDir = normalizeBaseDir(skill.resolvedPath);
|
|
416
|
+
commands[skill.name] = {
|
|
417
|
+
name: skill.name,
|
|
418
|
+
description: skill.metadata.description,
|
|
419
|
+
template: `<skill-instruction>
|
|
420
|
+
Base directory for this skill: ${baseDir}/
|
|
421
|
+
File references (@path) in this skill are relative to this directory.
|
|
422
|
+
|
|
423
|
+
${skill.content}
|
|
424
|
+
</skill-instruction>
|
|
425
|
+
|
|
426
|
+
<user-request>
|
|
427
|
+
$ARGUMENTS
|
|
428
|
+
</user-request>`,
|
|
429
|
+
...(skill.metadata.agent ? { agent: skill.metadata.agent } : {}),
|
|
430
|
+
...(skill.metadata.model ? { model: skill.metadata.model } : {}),
|
|
431
|
+
...(skill.metadata['argument-hint']
|
|
432
|
+
? { argumentHint: skill.metadata['argument-hint'] }
|
|
433
|
+
: {}),
|
|
434
|
+
...(skill.metadata.subtask ? { subtask: true } : {}),
|
|
435
|
+
};
|
|
436
|
+
}
|
|
437
|
+
return commands;
|
|
438
|
+
}
|
|
439
|
+
function normalizeBaseDir(path) {
|
|
440
|
+
return path.replace(/[\\/]+$/, '');
|
|
441
|
+
}
|
|
442
|
+
function createTools(backgroundManager) {
|
|
443
|
+
// Use the schema from @opencode-ai/plugin's tool helper to avoid Zod version mismatches
|
|
444
|
+
const s = tool.schema;
|
|
445
|
+
const coderDelegate = tool({
|
|
300
446
|
description: `Delegate a task to a specialized Agentuity Coder agent.
|
|
301
447
|
|
|
302
448
|
Use this to:
|
|
303
449
|
- Scout: Explore codebase, find patterns, research documentation
|
|
304
|
-
- Builder: Implement features, write code, run tests
|
|
450
|
+
- Builder: Implement features, write code, run tests (interactive work)
|
|
451
|
+
- Architect: Complex autonomous tasks, Cadence mode, deep reasoning (GPT Codex)
|
|
305
452
|
- Reviewer: Review changes, catch issues, apply fixes
|
|
306
453
|
- Memory: Store context, remember decisions across sessions
|
|
307
|
-
- Expert: Get help with Agentuity CLI and cloud services
|
|
308
|
-
|
|
454
|
+
- Expert: Get help with Agentuity CLI and cloud services
|
|
455
|
+
- Planner: Strategic advisor for complex architecture and deep planning (read-only)`,
|
|
456
|
+
args: {
|
|
309
457
|
agent: s
|
|
310
|
-
.enum([
|
|
458
|
+
.enum([
|
|
459
|
+
'scout',
|
|
460
|
+
'builder',
|
|
461
|
+
'architect',
|
|
462
|
+
'reviewer',
|
|
463
|
+
'memory',
|
|
464
|
+
'expert',
|
|
465
|
+
'planner',
|
|
466
|
+
'runner',
|
|
467
|
+
])
|
|
311
468
|
.describe('Which agent to delegate to'),
|
|
312
469
|
task: s.string().describe('Clear description of the task'),
|
|
313
470
|
context: s.string().optional().describe('Additional context from previous tasks'),
|
|
314
|
-
}
|
|
315
|
-
|
|
471
|
+
},
|
|
472
|
+
async execute(args) {
|
|
316
473
|
const mention = AGENT_MENTIONS[args.agent];
|
|
317
474
|
let prompt = `${mention}\n\n## Task\n${args.task}`;
|
|
318
475
|
if (args.context) {
|
|
319
476
|
prompt = `${mention}\n\n## Context\n${args.context}\n\n## Task\n${args.task}`;
|
|
320
477
|
}
|
|
321
|
-
return {
|
|
322
|
-
output: `To delegate this task, use the Task tool with this prompt:\n\n${prompt}\n\nThe ${args.agent} agent will handle this task.`,
|
|
323
|
-
};
|
|
478
|
+
return `To delegate this task, use the Task tool with this prompt:\n\n${prompt}\n\nThe ${args.agent} agent will handle this task.`;
|
|
324
479
|
},
|
|
325
|
-
})
|
|
326
|
-
|
|
327
|
-
|
|
480
|
+
});
|
|
481
|
+
const backgroundTask = tool({
|
|
482
|
+
description: `Launch a task to run in the background. Use this for parallel execution of multiple independent tasks.
|
|
483
|
+
|
|
484
|
+
IMPORTANT: Use this tool instead of the 'task' tool when:
|
|
485
|
+
- You need to run multiple agents in parallel
|
|
486
|
+
- Tasks are independent and don't need sequential execution
|
|
487
|
+
- The user asks for "parallel", "background", or "concurrent" work`,
|
|
488
|
+
args: {
|
|
489
|
+
agent: s
|
|
490
|
+
.enum([
|
|
491
|
+
'lead',
|
|
492
|
+
'scout',
|
|
493
|
+
'builder',
|
|
494
|
+
'architect',
|
|
495
|
+
'reviewer',
|
|
496
|
+
'memory',
|
|
497
|
+
'expert',
|
|
498
|
+
'planner',
|
|
499
|
+
'runner',
|
|
500
|
+
])
|
|
501
|
+
.describe('Agent role to run the task'),
|
|
502
|
+
task: s.string().describe('Task prompt to run in the background'),
|
|
503
|
+
description: s.string().optional().describe('Short description of the task'),
|
|
504
|
+
},
|
|
505
|
+
async execute(args, context) {
|
|
506
|
+
const parentSessionId = context.sessionID;
|
|
507
|
+
if (!parentSessionId) {
|
|
508
|
+
return JSON.stringify({
|
|
509
|
+
taskId: 'unknown',
|
|
510
|
+
status: 'error',
|
|
511
|
+
message: 'Missing session context for background task.',
|
|
512
|
+
});
|
|
513
|
+
}
|
|
514
|
+
const agentName = resolveAgentName(args.agent);
|
|
515
|
+
const bgTask = await backgroundManager.launch({
|
|
516
|
+
description: args.description ?? args.task,
|
|
517
|
+
prompt: args.task,
|
|
518
|
+
agent: agentName,
|
|
519
|
+
parentSessionId,
|
|
520
|
+
parentMessageId: context.messageID,
|
|
521
|
+
});
|
|
522
|
+
return JSON.stringify({
|
|
523
|
+
taskId: bgTask.id,
|
|
524
|
+
status: bgTask.status,
|
|
525
|
+
message: bgTask.status === 'error'
|
|
526
|
+
? (bgTask.error ?? 'Failed to launch background task.')
|
|
527
|
+
: 'Background task launched.',
|
|
528
|
+
});
|
|
529
|
+
},
|
|
530
|
+
});
|
|
531
|
+
const backgroundOutput = tool({
|
|
532
|
+
description: 'Retrieve output for a background task.',
|
|
533
|
+
args: {
|
|
534
|
+
task_id: s.string().describe('Background task ID'),
|
|
535
|
+
},
|
|
536
|
+
async execute(args) {
|
|
537
|
+
const bgTask = backgroundManager.getTask(args.task_id);
|
|
538
|
+
if (!bgTask) {
|
|
539
|
+
return JSON.stringify({
|
|
540
|
+
taskId: args.task_id,
|
|
541
|
+
status: 'error',
|
|
542
|
+
error: 'Task not found.',
|
|
543
|
+
});
|
|
544
|
+
}
|
|
545
|
+
return JSON.stringify({
|
|
546
|
+
taskId: bgTask.id,
|
|
547
|
+
status: bgTask.status,
|
|
548
|
+
result: bgTask.result,
|
|
549
|
+
error: bgTask.error,
|
|
550
|
+
});
|
|
551
|
+
},
|
|
552
|
+
});
|
|
553
|
+
const backgroundCancel = tool({
|
|
554
|
+
description: 'Cancel a running background task.',
|
|
555
|
+
args: {
|
|
556
|
+
task_id: s.string().describe('Background task ID'),
|
|
557
|
+
},
|
|
558
|
+
async execute(args) {
|
|
559
|
+
const success = backgroundManager.cancel(args.task_id);
|
|
560
|
+
return JSON.stringify({
|
|
561
|
+
taskId: args.task_id,
|
|
562
|
+
success,
|
|
563
|
+
message: success ? 'Background task cancelled.' : 'Unable to cancel task.',
|
|
564
|
+
});
|
|
565
|
+
},
|
|
566
|
+
});
|
|
328
567
|
return {
|
|
329
568
|
coder_delegate: coderDelegate,
|
|
569
|
+
background_task: backgroundTask,
|
|
570
|
+
background_output: backgroundOutput,
|
|
571
|
+
background_cancel: backgroundCancel,
|
|
330
572
|
};
|
|
331
573
|
}
|
|
332
574
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
@@ -341,4 +583,61 @@ function extractSessionIdFromEvent(input) {
|
|
|
341
583
|
return (inp.event.properties.sessionId ??
|
|
342
584
|
inp.event.properties.sessionID);
|
|
343
585
|
}
|
|
586
|
+
function resolveAgentName(role) {
|
|
587
|
+
const agent = agents[role];
|
|
588
|
+
return agent?.displayName ?? role;
|
|
589
|
+
}
|
|
590
|
+
function extractEventFromInput(input) {
|
|
591
|
+
if (typeof input !== 'object' || input === null)
|
|
592
|
+
return undefined;
|
|
593
|
+
const inp = input;
|
|
594
|
+
if (!inp.event || typeof inp.event.type !== 'string')
|
|
595
|
+
return undefined;
|
|
596
|
+
return { type: inp.event.type, properties: inp.event.properties };
|
|
597
|
+
}
|
|
598
|
+
function registerShutdownHandler(manager, tmuxManager, logger) {
|
|
599
|
+
if (typeof process === 'undefined') {
|
|
600
|
+
logger?.('[shutdown] process is undefined, cannot register handlers');
|
|
601
|
+
return;
|
|
602
|
+
}
|
|
603
|
+
const log = logger ?? (() => { });
|
|
604
|
+
let shutdownCalled = false;
|
|
605
|
+
log(`Registering shutdown handlers (PID: ${process.pid}, tmuxManager: ${tmuxManager ? 'yes' : 'no'})`);
|
|
606
|
+
log(`Current tracked sessions in tmuxManager: ${tmuxManager ? 'checking...' : 'N/A'}`);
|
|
607
|
+
const shutdown = (signal) => {
|
|
608
|
+
// Prevent multiple shutdown calls
|
|
609
|
+
if (shutdownCalled) {
|
|
610
|
+
log(`Shutdown already in progress, ignoring ${signal ?? 'unknown'} signal`);
|
|
611
|
+
return;
|
|
612
|
+
}
|
|
613
|
+
shutdownCalled = true;
|
|
614
|
+
log(`Shutdown triggered by ${signal ?? 'unknown'} signal`);
|
|
615
|
+
try {
|
|
616
|
+
log('Shutting down background manager...');
|
|
617
|
+
manager.shutdown();
|
|
618
|
+
log('Background manager shutdown complete');
|
|
619
|
+
}
|
|
620
|
+
catch (error) {
|
|
621
|
+
log(`Background manager shutdown error: ${error}`);
|
|
622
|
+
}
|
|
623
|
+
if (tmuxManager) {
|
|
624
|
+
try {
|
|
625
|
+
log('Cleaning up tmux sessions...');
|
|
626
|
+
// Use sync version to ensure cleanup completes before process exits
|
|
627
|
+
tmuxManager.cleanupSync();
|
|
628
|
+
log('Tmux cleanup complete');
|
|
629
|
+
}
|
|
630
|
+
catch (error) {
|
|
631
|
+
log(`Tmux cleanup error: ${error}`);
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
log('Shutdown complete');
|
|
635
|
+
};
|
|
636
|
+
process.once('beforeExit', () => shutdown('beforeExit'));
|
|
637
|
+
process.once('SIGINT', () => shutdown('SIGINT'));
|
|
638
|
+
process.once('SIGTERM', () => shutdown('SIGTERM'));
|
|
639
|
+
process.once('SIGHUP', () => shutdown('SIGHUP')); // Handle tmux pane close
|
|
640
|
+
process.once('exit', () => shutdown('exit')); // Also handle exit event for extra safety
|
|
641
|
+
log('Shutdown handlers registered for: beforeExit, SIGINT, SIGTERM, SIGHUP, exit');
|
|
642
|
+
}
|
|
344
643
|
//# sourceMappingURL=plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin/plugin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../../src/skills/frontmatter.ts"],"names":[],"mappings":"AAEA,UAAU,iBAAiB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACtD,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,OAAO,EAAE,MAAM,GACb,iBAAiB,CAAC,CAAC,CAAC,CAetB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import yaml from 'yaml';
|
|
2
|
+
export function parseFrontmatter(content) {
|
|
3
|
+
const match = content.match(/^---\r?\n([\s\S]*?)\r?\n---/);
|
|
4
|
+
if (!match) {
|
|
5
|
+
return { data: {}, body: content.trim() };
|
|
6
|
+
}
|
|
7
|
+
const frontmatter = match[1] ?? '';
|
|
8
|
+
const body = content.slice(match[0].length).trim();
|
|
9
|
+
try {
|
|
10
|
+
const data = yaml.parse(frontmatter);
|
|
11
|
+
return { data: (data ?? {}), body };
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
return { data: {}, body: content.trim() };
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=frontmatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../../src/skills/frontmatter.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAOxB,MAAM,UAAU,gBAAgB,CAC/B,OAAe;IAEf,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,EAAE,IAAI,EAAE,EAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAEnD,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAM,CAAC;QAC1C,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAM,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,IAAI,EAAE,EAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;IAChD,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { LoadedSkill, SkillScope, SkillsConfig } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Load skills from standard directories.
|
|
4
|
+
* Priority order (later overrides earlier):
|
|
5
|
+
* 1. User OpenCode: ~/.config/opencode/skills/
|
|
6
|
+
* 2. User Agentuity: ~/.config/agentuity/opencode/skills/
|
|
7
|
+
* 3. User Claude Code compat: ~/.claude/skills/
|
|
8
|
+
* 4. Project OpenCode: ./.opencode/skills/
|
|
9
|
+
* 5. Project Claude Code compat: ./.claude/skills/
|
|
10
|
+
*/
|
|
11
|
+
export declare function loadAllSkills(config?: SkillsConfig): Promise<LoadedSkill[]>;
|
|
12
|
+
/**
|
|
13
|
+
* Load skills from a single directory
|
|
14
|
+
*/
|
|
15
|
+
export declare function loadSkillsFromDir(dir: string, scope: SkillScope): Promise<LoadedSkill[]>;
|
|
16
|
+
/**
|
|
17
|
+
* Get skill by name from loaded skills
|
|
18
|
+
*/
|
|
19
|
+
export declare function getSkillByName(skills: LoadedSkill[], name: string): LoadedSkill | undefined;
|
|
20
|
+
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAiB,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAUpF;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAkCjF;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CA6C9F;AAqCD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE3F"}
|