opencode-multiagent 0.3.0-next.1 → 0.4.0
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 +21 -0
- package/CHANGELOG.md +13 -0
- package/README.md +4 -4
- package/README.tr.md +4 -4
- package/agents/AGENTS.md +91 -0
- package/agents/auditor.md +59 -17
- package/agents/{worker.md → coder.md} +12 -10
- package/agents/{scribe.md → docmaster.md} +16 -8
- package/agents/executor.md +45 -62
- package/agents/planner.md +59 -47
- package/agents/reviewer.md +22 -9
- package/agents/scout.md +16 -12
- package/agents/sec-coder.md +83 -0
- package/agents/ui-coder.md +77 -0
- package/commands/board.md +17 -0
- package/commands/execute.md +8 -7
- package/commands/init-deep.md +6 -6
- package/commands/init.md +4 -5
- package/commands/inspect.md +5 -5
- package/commands/plan.md +7 -6
- package/commands/quality.md +3 -3
- package/commands/review.md +4 -3
- package/commands/status.md +4 -3
- package/defaults/AGENTS.md +48 -0
- package/defaults/opencode-multiagent.json +24 -67
- package/defaults/opencode-multiagent.schema.json +16 -0
- package/dist/index.js +464 -131
- package/dist/opencode-multiagent/compiler.d.ts +8 -2
- package/dist/opencode-multiagent/compiler.d.ts.map +1 -1
- package/dist/opencode-multiagent/constants.d.ts +12 -0
- package/dist/opencode-multiagent/constants.d.ts.map +1 -1
- package/dist/opencode-multiagent/correlation.d.ts +21 -0
- package/dist/opencode-multiagent/correlation.d.ts.map +1 -0
- package/dist/opencode-multiagent/hooks.d.ts.map +1 -1
- package/dist/opencode-multiagent/log.d.ts.map +1 -1
- package/dist/opencode-multiagent/quality.d.ts +4 -0
- package/dist/opencode-multiagent/quality.d.ts.map +1 -1
- package/dist/opencode-multiagent/supervision.d.ts +14 -0
- package/dist/opencode-multiagent/supervision.d.ts.map +1 -1
- package/dist/opencode-multiagent/task-manager.d.ts +8 -2
- package/dist/opencode-multiagent/task-manager.d.ts.map +1 -1
- package/dist/opencode-multiagent/telemetry.d.ts +2 -0
- package/dist/opencode-multiagent/telemetry.d.ts.map +1 -1
- package/dist/opencode-multiagent/tools.d.ts +32 -1
- package/dist/opencode-multiagent/tools.d.ts.map +1 -1
- package/docs/agents.md +67 -179
- package/docs/agents.tr.md +68 -179
- package/docs/configuration.md +14 -25
- package/docs/configuration.tr.md +14 -25
- package/docs/usage-guide.md +31 -33
- package/docs/usage-guide.tr.md +31 -33
- package/examples/opencode.with-overrides.json +2 -2
- package/package.json +1 -1
- package/skills/AGENTS.md +51 -0
- package/skills/advanced-evaluation/manifest.json +1 -1
- package/skills/cek-context-engineering/manifest.json +1 -1
- package/skills/cek-prompt-engineering/manifest.json +1 -1
- package/skills/cek-test-prompt/manifest.json +1 -1
- package/skills/cek-thought-based-reasoning/manifest.json +1 -1
- package/skills/context-degradation/manifest.json +1 -1
- package/skills/debate/manifest.json +1 -1
- package/skills/design-first/manifest.json +1 -1
- package/skills/dispatching-parallel-agents/manifest.json +1 -1
- package/skills/drift-analysis/manifest.json +1 -1
- package/skills/evaluation/manifest.json +1 -1
- package/skills/parallel-investigation/manifest.json +1 -1
- package/skills/reflexion-critique/manifest.json +1 -1
- package/skills/reflexion-reflect/manifest.json +1 -1
- package/skills/root-cause-analysis/manifest.json +1 -1
- package/skills/sadd-judge-with-debate/manifest.json +1 -1
- package/skills/structured-code-review/manifest.json +1 -1
- package/skills/task-decomposition/manifest.json +1 -1
- package/skills/verification-before-completion/manifest.json +1 -1
- package/skills/verification-gates/manifest.json +1 -1
- package/agents/advisor.md +0 -60
- package/agents/critic.md +0 -136
- package/agents/deep-worker.md +0 -69
- package/agents/devil.md +0 -38
- package/agents/heavy-worker.md +0 -72
- package/agents/lead.md +0 -147
- package/agents/librarian.md +0 -66
- package/agents/qa.md +0 -53
- package/agents/quick.md +0 -70
- package/agents/strategist.md +0 -66
- package/agents/ui-heavy-worker.md +0 -66
- package/agents/ui-worker.md +0 -74
- package/agents/validator.md +0 -50
- package/dist/opencode-multiagent/file-lock.d.ts +0 -15
- package/dist/opencode-multiagent/file-lock.d.ts.map +0 -1
|
@@ -10,10 +10,16 @@ type McpPermissionRegistry = {
|
|
|
10
10
|
denied: string[];
|
|
11
11
|
fallback: 'allow' | 'deny';
|
|
12
12
|
};
|
|
13
|
-
|
|
13
|
+
type TaskRoutingRegistry = Map<string, Set<string>>;
|
|
14
|
+
type CompileAgentsResult = {
|
|
15
|
+
mcpRegistry: Map<string, McpPermissionRegistry>;
|
|
16
|
+
taskRouting: TaskRoutingRegistry;
|
|
17
|
+
};
|
|
18
|
+
export declare function compileAgents(cfg: MergedConfig, dirs: Array<string | undefined>, agentSettings?: GenericRecord): Promise<CompileAgentsResult>;
|
|
19
|
+
export declare const isTaskRoutingAllowed: (agent: string, target: string, routing: TaskRoutingRegistry) => boolean;
|
|
14
20
|
export declare function compileCommands(cfg: MergedConfig, dirs: Array<string | undefined>): Promise<void>;
|
|
15
21
|
export declare const applyBuiltInAgentPolicy: (cfg: MergedConfig) => Promise<void>;
|
|
16
22
|
export declare const applyPermissionDefaults: (cfg: MergedConfig) => void;
|
|
17
23
|
export declare const matchesMcpPermission: (tool: string, registry?: McpPermissionRegistry) => boolean;
|
|
18
|
-
export type { MergedConfig, McpPermissionRegistry };
|
|
24
|
+
export type { MergedConfig, McpPermissionRegistry, TaskRoutingRegistry };
|
|
19
25
|
//# sourceMappingURL=compiler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/compiler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,KAAK,YAAY,GAAG,aAAa,GAAG;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;CAC5B,CAAC;
|
|
1
|
+
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/compiler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,KAAK,YAAY,GAAG,aAAa,GAAG;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;CAC5B,CAAC;AAWF,KAAK,mBAAmB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AA2BpD,KAAK,mBAAmB,GAAG;IACzB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAChD,WAAW,EAAE,mBAAmB,CAAC;CAClC,CAAC;AAEF,wBAAsB,aAAa,CACjC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,EAC/B,aAAa,GAAE,aAAkB,GAChC,OAAO,CAAC,mBAAmB,CAAC,CAwC9B;AAED,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,SAAS,mBAAmB,KAC3B,OAKF,CAAC;AAEF,wBAAsB,eAAe,CACnC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED,eAAO,MAAM,uBAAuB,GAAU,KAAK,YAAY,KAAG,OAAO,CAAC,IAAI,CAqC7E,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,KAAK,YAAY,KAAG,IAc3D,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,EAAE,WAAW,qBAAqB,KAAG,OAWrF,CAAC;AAEF,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -29,6 +29,9 @@ export declare const defaultProfiles: {
|
|
|
29
29
|
telemetry: boolean;
|
|
30
30
|
supervision: boolean;
|
|
31
31
|
quality_gate: boolean;
|
|
32
|
+
task_lifecycle: boolean;
|
|
33
|
+
quality_gate_enforcement: boolean;
|
|
34
|
+
concurrency_limit: number;
|
|
32
35
|
experimental: {
|
|
33
36
|
chat_system_transform: boolean;
|
|
34
37
|
chat_messages_transform: boolean;
|
|
@@ -46,6 +49,9 @@ export declare const defaultProfiles: {
|
|
|
46
49
|
telemetry: boolean;
|
|
47
50
|
supervision: boolean;
|
|
48
51
|
quality_gate: boolean;
|
|
52
|
+
task_lifecycle: boolean;
|
|
53
|
+
quality_gate_enforcement: boolean;
|
|
54
|
+
concurrency_limit: number;
|
|
49
55
|
skill_sources: string[];
|
|
50
56
|
skill_injection: boolean;
|
|
51
57
|
experimental: {
|
|
@@ -65,6 +71,9 @@ export declare const defaultProfiles: {
|
|
|
65
71
|
telemetry: boolean;
|
|
66
72
|
supervision: boolean;
|
|
67
73
|
quality_gate: boolean;
|
|
74
|
+
task_lifecycle: boolean;
|
|
75
|
+
quality_gate_enforcement: boolean;
|
|
76
|
+
concurrency_limit: number;
|
|
68
77
|
experimental: {
|
|
69
78
|
chat_system_transform: boolean;
|
|
70
79
|
chat_messages_transform: boolean;
|
|
@@ -84,6 +93,9 @@ export declare const defaultFlags: {
|
|
|
84
93
|
telemetry: boolean;
|
|
85
94
|
supervision: boolean;
|
|
86
95
|
quality_gate: boolean;
|
|
96
|
+
task_lifecycle: boolean;
|
|
97
|
+
quality_gate_enforcement: boolean;
|
|
98
|
+
concurrency_limit: number;
|
|
87
99
|
skill_sources: string[];
|
|
88
100
|
skill_injection: boolean;
|
|
89
101
|
compiler: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/constants.ts"],"names":[],"mappings":"AA4BA,eAAO,MAAM,UAAU,wBAAwB,CAAC;AAChD,eAAO,MAAM,UAAU,WAAW,CAAC;AAEnC,eAAO,MAAM,WAAW,QAAyC,CAAC;AAClE,eAAO,MAAM,SAAS,QAA+B,CAAC;AACtD,eAAO,MAAM,eAAe,QAA8B,CAAC;AAC3D,eAAO,MAAM,iBAAiB,QAAgC,CAAC;AAC/D,eAAO,MAAM,UAAU,QAA4B,CAAC;AACpD,eAAO,MAAM,WAAW,QAA0C,CAAC;AACnE,eAAO,MAAM,YAAY,QAAwC,CAAC;AAElE,eAAO,MAAM,WAAW,QAAsB,CAAC;AAC/C,eAAO,MAAM,mBAAmB,QAA4D,CAAC;AAC7F,eAAO,MAAM,gBAAgB,QAA8B,CAAC;AAC5D,eAAO,MAAM,kBAAkB,QAAgC,CAAC;AAChE,eAAO,MAAM,gBAAgB,QAA8B,CAAC;AAE5D,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/constants.ts"],"names":[],"mappings":"AA4BA,eAAO,MAAM,UAAU,wBAAwB,CAAC;AAChD,eAAO,MAAM,UAAU,WAAW,CAAC;AAEnC,eAAO,MAAM,WAAW,QAAyC,CAAC;AAClE,eAAO,MAAM,SAAS,QAA+B,CAAC;AACtD,eAAO,MAAM,eAAe,QAA8B,CAAC;AAC3D,eAAO,MAAM,iBAAiB,QAAgC,CAAC;AAC/D,eAAO,MAAM,UAAU,QAA4B,CAAC;AACpD,eAAO,MAAM,WAAW,QAA0C,CAAC;AACnE,eAAO,MAAM,YAAY,QAAwC,CAAC;AAElE,eAAO,MAAM,WAAW,QAAsB,CAAC;AAC/C,eAAO,MAAM,mBAAmB,QAA4D,CAAC;AAC7F,eAAO,MAAM,gBAAgB,QAA8B,CAAC;AAC5D,eAAO,MAAM,kBAAkB,QAAgC,CAAC;AAChE,eAAO,MAAM,gBAAgB,QAA8B,CAAC;AAE5D,eAAO,MAAM,iBAAiB,aAW5B,CAAC;AAEH,eAAO,MAAM,qBAAqB,aAKhC,CAAC;AAEH,eAAO,MAAM,iBAAiB,aAA8D,CAAC;AAC7F,eAAO,MAAM,eAAe,UAA0D,CAAC;AACvF,eAAO,MAAM,kBAAkB,QACqF,CAAC;AAErH,eAAO,MAAM,eAAe,UAO3B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmE3B,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCxB,CAAC;AAEF,eAAO,MAAM,oBAAoB,UAA0C,CAAC;AAE5E,eAAO,MAAM,sBAAsB,QAAsD,CAAC;AAC1F,eAAO,MAAM,oBAAoB,UAOhC,CAAC;AACF,eAAO,MAAM,mBAAmB,UAA4B,CAAC;AAE7D,eAAO,MAAM,wBAAwB,UAoBpC,CAAC;AACF,eAAO,MAAM,iBAAiB,UAS7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,0GAC4E,CAAC;AAE1G,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC;AAC/C,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task↔Session correlation layer.
|
|
3
|
+
* Bridges task board entries with child sessions by recording dispatch intents
|
|
4
|
+
* and matching them to session.created events.
|
|
5
|
+
*/
|
|
6
|
+
type SessionTaskLink = {
|
|
7
|
+
taskID: string;
|
|
8
|
+
childSessionID: string;
|
|
9
|
+
parentSessionID: string;
|
|
10
|
+
linkedAt: number;
|
|
11
|
+
};
|
|
12
|
+
export declare const createCorrelationController: () => {
|
|
13
|
+
recordIntent: (parentSessionID: string, taskID: string, targetAgent: string) => void;
|
|
14
|
+
tryCorrelate: (parentSessionID: string, childSessionID: string, agentHint?: string) => SessionTaskLink | undefined;
|
|
15
|
+
getLink: (childSessionID: string) => SessionTaskLink | undefined;
|
|
16
|
+
getLinkByTask: (taskID: string) => SessionTaskLink | undefined;
|
|
17
|
+
removeLink: (childSessionID: string) => SessionTaskLink | undefined;
|
|
18
|
+
};
|
|
19
|
+
export type CorrelationController = ReturnType<typeof createCorrelationController>;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=correlation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"correlation.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/correlation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAIF,eAAO,MAAM,2BAA2B;oCAYC,MAAM,UAAU,MAAM,eAAe,MAAM,KAAG,IAAI;oCAoBtE,MAAM,kBACP,MAAM,cACV,MAAM,KACjB,eAAe,GAAG,SAAS;8BAqCG,MAAM,KAAG,eAAe,GAAG,SAAS;4BAKtC,MAAM,KAAG,eAAe,GAAG,SAAS;iCAO/B,MAAM,KAAG,eAAe,GAAG,SAAS;CASzE,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/hooks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/hooks.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAiCjD;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG;IAClC,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,yDAAyD;IACzD,cAAc,CAAC,EAAE,CACf,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAC7C,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,KACxC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,wDAAwD;IACxD,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE;QACjC,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClG,gEAAgE;IAChE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzF,uDAAuD;IACvD,oCAAoC,CAAC,EAAE,CACrC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,KACzB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,mEAAmE;IACnE,sCAAsC,CAAC,EAAE,CACvC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE;QAAE,QAAQ,EAAE,KAAK,CAAC;YAAE,IAAI,CAAC,EAAE;gBAAE,IAAI,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;YAAC,KAAK,EAAE,OAAO,EAAE,CAAA;SAAE,CAAC,CAAA;KAAE,KACxE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,uEAAuE;IACvE,iCAAiC,CAAC,EAAE,CAClC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,KAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,6DAA6D;IAC7D,4BAA4B,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5F,CAAC;AAGF,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAezC,eAAO,MAAM,iBAAiB,GAAI,gDAK/B;IAGD,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,aAAa,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,KAAG,aAkkBH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/log.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/log.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,IAAI,GAAU,MAAM,MAAM,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,IAAI,CAOvF,CAAC"}
|
|
@@ -9,6 +9,10 @@ export declare const createQualityController: ({ flags, client, }: {
|
|
|
9
9
|
}) => Promise<void>;
|
|
10
10
|
recordQualityEvidence: (sessionID: string | undefined, command: unknown) => void;
|
|
11
11
|
trackEdit: (sessionID: string | undefined, filePath: string | undefined) => void;
|
|
12
|
+
hasQualityEvidence: (sessionID: string) => {
|
|
13
|
+
passed: boolean;
|
|
14
|
+
reason?: string;
|
|
15
|
+
};
|
|
12
16
|
cleanup: () => void;
|
|
13
17
|
};
|
|
14
18
|
//# sourceMappingURL=quality.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quality.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/quality.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAU/C,eAAO,MAAM,uBAAuB,GAAI,oBAGrC;IACD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC;CACtB;gCAoC0C;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,GAAG,CAAA;KAAE,KAAG,OAAO,CAAC,IAAI,CAAC;uCARlD,MAAM,GAAG,SAAS,WAAW,OAAO,KAAG,IAAI;2BATvD,MAAM,GAAG,SAAS,YAAY,MAAM,GAAG,SAAS,KAAG,IAAI;;
|
|
1
|
+
{"version":3,"file":"quality.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/quality.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAU/C,eAAO,MAAM,uBAAuB,GAAI,oBAGrC;IACD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC;CACtB;gCAoC0C;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,GAAG,CAAA;KAAE,KAAG,OAAO,CAAC,IAAI,CAAC;uCARlD,MAAM,GAAG,SAAS,WAAW,OAAO,KAAG,IAAI;2BATvD,MAAM,GAAG,SAAS,YAAY,MAAM,GAAG,SAAS,KAAG,IAAI;oCAmFxE,MAAM,KAChB;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;;CAiBxC,CAAC"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import type { PromptClient } from './types.ts';
|
|
2
|
+
type ChildInfo = {
|
|
3
|
+
parentID: string;
|
|
4
|
+
agentName: string | null;
|
|
5
|
+
lastActivity: number;
|
|
6
|
+
remindedAt: number;
|
|
7
|
+
lastToolErrorAt: number;
|
|
8
|
+
hasUnverifiedEdits: boolean;
|
|
9
|
+
};
|
|
2
10
|
export declare const createSupervisionController: ({ flags, client, }: {
|
|
3
11
|
flags: Record<string, any>;
|
|
4
12
|
client: PromptClient;
|
|
@@ -8,5 +16,11 @@ export declare const createSupervisionController: ({ flags, client, }: {
|
|
|
8
16
|
properties?: any;
|
|
9
17
|
}) => Promise<void>;
|
|
10
18
|
cleanup: () => void;
|
|
19
|
+
recordToolError: (sessionID: string) => void;
|
|
20
|
+
recordVerification: (sessionID: string) => void;
|
|
21
|
+
getActiveChildCount: (parentID: string) => number;
|
|
22
|
+
getChildInfo(sessionID: string): ChildInfo | undefined;
|
|
23
|
+
getParentID(sessionID: string): string | undefined;
|
|
11
24
|
};
|
|
25
|
+
export {};
|
|
12
26
|
//# sourceMappingURL=supervision.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supervision.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/supervision.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"supervision.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/supervision.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,KAAK,SAAS,GAAG;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,oBAGzC;IACD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC;CACtB;+BA+ByC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,GAAG,CAAA;KAAE,KAAG,OAAO,CAAC,IAAI,CAAC;;iCAwGvD,MAAM,KAAG,IAAI;oCAKV,MAAM,KAAG,IAAI;oCAKb,MAAM,KAAG,MAAM;4BAU5B,MAAM,GAAG,SAAS,GAAG,SAAS;2BAG/B,MAAM,GAAG,MAAM,GAAG,SAAS;CAIrD,CAAC"}
|
|
@@ -11,6 +11,7 @@ type Task = {
|
|
|
11
11
|
createdBy?: string;
|
|
12
12
|
dependencies: string[];
|
|
13
13
|
result?: string;
|
|
14
|
+
sessionID?: string;
|
|
14
15
|
createdAt: number;
|
|
15
16
|
updatedAt: number;
|
|
16
17
|
};
|
|
@@ -32,16 +33,21 @@ type TaskFilter = {
|
|
|
32
33
|
assignedAgent?: string;
|
|
33
34
|
};
|
|
34
35
|
/**
|
|
35
|
-
* In-memory task board with
|
|
36
|
-
*
|
|
36
|
+
* In-memory task board with debounced JSON persistence under .magent/board.json.
|
|
37
|
+
* Persistence is serialized to prevent stale-write races during parallel agent execution.
|
|
37
38
|
*/
|
|
38
39
|
export declare const createTaskManager: (projectRoot?: string) => {
|
|
39
40
|
create: (input: CreateTaskInput) => Task;
|
|
40
41
|
update: (taskID: string, input: UpdateTaskInput) => Task | {
|
|
41
42
|
error: string;
|
|
42
43
|
};
|
|
44
|
+
get: (taskID: string) => Task | {
|
|
45
|
+
error: string;
|
|
46
|
+
};
|
|
43
47
|
list: (filter?: TaskFilter) => Task[];
|
|
44
48
|
load: () => Promise<void>;
|
|
49
|
+
getActiveSummary: () => string;
|
|
50
|
+
linkSession: (taskID: string, sessionID: string) => boolean;
|
|
45
51
|
};
|
|
46
52
|
export type TaskManager = ReturnType<typeof createTaskManager>;
|
|
47
53
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-manager.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/task-manager.ts"],"names":[],"mappings":"AAGA,KAAK,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC7F,KAAK,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE9C,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,cAAc,MAAM;
|
|
1
|
+
{"version":3,"file":"task-manager.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/task-manager.ts"],"names":[],"mappings":"AAGA,KAAK,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC7F,KAAK,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE9C,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,cAAc,MAAM;oBA+F7B,eAAe,KAAG,IAAI;qBAkBrB,MAAM,SAAS,eAAe,KAAG,IAAI,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;kBA0B5D,MAAM,KAAG,IAAI,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;oBAM/B,UAAU,KAAG,IAAI,EAAE;gBAlGnB,OAAO,CAAC,IAAI,CAAC;4BA4GP,MAAM;0BAWN,MAAM,aAAa,MAAM,KAAG,OAAO;CAUjE,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -9,6 +9,7 @@ type SessionTelemetryState = {
|
|
|
9
9
|
filesEdited: number;
|
|
10
10
|
tasksDispatched: number;
|
|
11
11
|
permissionDenied: number;
|
|
12
|
+
flushed: boolean;
|
|
12
13
|
};
|
|
13
14
|
export declare const createTelemetryController: ({ flags }: {
|
|
14
15
|
flags: Record<string, any>;
|
|
@@ -21,6 +22,7 @@ export declare const createTelemetryController: ({ flags }: {
|
|
|
21
22
|
trackTaskDispatch(sessionID: string | undefined, extra?: Partial<SessionTelemetryState>): void;
|
|
22
23
|
trackPermissionDenied(sessionID: string | undefined, extra?: Partial<SessionTelemetryState>): void;
|
|
23
24
|
flushSession(sessionID: string, reason?: string): Promise<void>;
|
|
25
|
+
flushAll(): Promise<void>;
|
|
24
26
|
};
|
|
25
27
|
export {};
|
|
26
28
|
//# sourceMappingURL=telemetry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/telemetry.ts"],"names":[],"mappings":"AAGA,KAAK,qBAAqB,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/telemetry.ts"],"names":[],"mappings":"AAGA,KAAK,qBAAqB,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,WAAW;IAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE;;+BAwClE,MAAM,GAAG,SAAS,UACtB,OAAO,CAAC,qBAAqB,CAAC,GACpC,IAAI;yBAIc,MAAM,GAAG,SAAS,GAAG,IAAI;6BAMjC,MAAM,GAAG,SAAS,UACtB,OAAO,CAAC,qBAAqB,CAAC,GACpC,IAAI;8BAMM,MAAM,GAAG,SAAS,UACtB,OAAO,CAAC,qBAAqB,CAAC,GACpC,IAAI;iCAMM,MAAM,GAAG,SAAS,UACtB,OAAO,CAAC,qBAAqB,CAAC,GACpC,IAAI;qCAMM,MAAM,GAAG,SAAS,UACtB,OAAO,CAAC,qBAAqB,CAAC,GACpC,IAAI;4BAKuB,MAAM,oBAA+B,OAAO,CAAC,IAAI,CAAC;gBAmB9D,OAAO,CAAC,IAAI,CAAC;CAOlC,CAAC"}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
+
import type { CorrelationController } from './correlation.ts';
|
|
1
2
|
import type { TaskManager } from './task-manager.ts';
|
|
2
|
-
|
|
3
|
+
type QualityChecker = {
|
|
4
|
+
hasQualityEvidence(sessionID: string): {
|
|
5
|
+
passed: boolean;
|
|
6
|
+
reason?: string;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
type GenericRecord = Record<string, any>;
|
|
10
|
+
export declare const createTaskTools: (taskManager: TaskManager, taskManagerReady: Promise<void>, correlation?: CorrelationController, quality?: QualityChecker, flags?: GenericRecord) => {
|
|
3
11
|
task_create: {
|
|
4
12
|
description: string;
|
|
5
13
|
args: {
|
|
@@ -21,6 +29,17 @@ export declare const createTaskTools: (taskManager: TaskManager, taskManagerRead
|
|
|
21
29
|
priority?: "high" | "medium" | "low" | undefined;
|
|
22
30
|
}, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
|
|
23
31
|
};
|
|
32
|
+
task_dispatch: {
|
|
33
|
+
description: string;
|
|
34
|
+
args: {
|
|
35
|
+
taskID: import("zod").ZodString;
|
|
36
|
+
notes: import("zod").ZodOptional<import("zod").ZodString>;
|
|
37
|
+
};
|
|
38
|
+
execute(args: {
|
|
39
|
+
taskID: string;
|
|
40
|
+
notes?: string | undefined;
|
|
41
|
+
}, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
|
|
42
|
+
};
|
|
24
43
|
task_update: {
|
|
25
44
|
description: string;
|
|
26
45
|
args: {
|
|
@@ -34,11 +53,22 @@ export declare const createTaskTools: (taskManager: TaskManager, taskManagerRead
|
|
|
34
53
|
completed: "completed";
|
|
35
54
|
}>;
|
|
36
55
|
result: import("zod").ZodOptional<import("zod").ZodString>;
|
|
56
|
+
force: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
37
57
|
};
|
|
38
58
|
execute(args: {
|
|
39
59
|
taskID: string;
|
|
40
60
|
status: "blocked" | "failed" | "pending" | "claimed" | "in_progress" | "completed";
|
|
41
61
|
result?: string | undefined;
|
|
62
|
+
force?: boolean | undefined;
|
|
63
|
+
}, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
|
|
64
|
+
};
|
|
65
|
+
task_get: {
|
|
66
|
+
description: string;
|
|
67
|
+
args: {
|
|
68
|
+
taskID: import("zod").ZodString;
|
|
69
|
+
};
|
|
70
|
+
execute(args: {
|
|
71
|
+
taskID: string;
|
|
42
72
|
}, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
|
|
43
73
|
};
|
|
44
74
|
task_list: {
|
|
@@ -53,4 +83,5 @@ export declare const createTaskTools: (taskManager: TaskManager, taskManagerRead
|
|
|
53
83
|
}, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
|
|
54
84
|
};
|
|
55
85
|
};
|
|
86
|
+
export {};
|
|
56
87
|
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/tools.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/tools.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,KAAK,cAAc,GAAG;IACpB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7E,CAAC;AAEF,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEzC,eAAO,MAAM,eAAe,GAC1B,aAAa,WAAW,EACxB,kBAAkB,OAAO,CAAC,IAAI,CAAC,EAC/B,cAAc,qBAAqB,EACnC,UAAU,cAAc,EACxB,QAAQ,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyJrB,CAAC"}
|
package/docs/agents.md
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
# Agent Reference
|
|
6
6
|
|
|
7
|
-
`opencode-multiagent` ships
|
|
7
|
+
`opencode-multiagent` ships 9 bundled agents:
|
|
8
8
|
|
|
9
|
-
-
|
|
10
|
-
-
|
|
9
|
+
- 2 primary agents
|
|
10
|
+
- 7 subagents
|
|
11
11
|
|
|
12
12
|
All bundled agents currently default to `temperature: 0`.
|
|
13
13
|
|
|
@@ -15,244 +15,132 @@ All bundled agents currently default to `temperature: 0`.
|
|
|
15
15
|
|
|
16
16
|
The system is intentionally layered:
|
|
17
17
|
|
|
18
|
-
- `
|
|
19
|
-
- `
|
|
20
|
-
- `planner` creates durable plans for larger work
|
|
21
|
-
- `executor` turns a plan into bounded worker execution
|
|
18
|
+
- `planner` owns user-facing triage, planning, challenge, and inspection
|
|
19
|
+
- `executor` turns an approved plan into bounded subagent execution
|
|
22
20
|
- specialized subagents handle coding, review, research, and documentation slices
|
|
23
21
|
|
|
24
22
|
## High-Level Hierarchy
|
|
25
23
|
|
|
26
24
|
```text
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
-> ui-worker / ui-heavy-worker
|
|
40
|
-
-> reviewer
|
|
41
|
-
-> validator
|
|
42
|
-
-> qa
|
|
43
|
-
-> advisor
|
|
44
|
-
-> scout
|
|
45
|
-
-> scribe
|
|
46
|
-
-> planner (escalation after repeated QA failures)
|
|
47
|
-
-> librarian
|
|
48
|
-
-> scout
|
|
49
|
-
-> scribe
|
|
25
|
+
planner (triage + planning + inspection)
|
|
26
|
+
├── executor (execution coordination)
|
|
27
|
+
│ ├── coder (standard coding) -> reviewer, scout
|
|
28
|
+
│ ├── ui-coder (UI/UX coding) -> reviewer, scout
|
|
29
|
+
│ ├── sec-coder (security coding) -> reviewer, scout
|
|
30
|
+
│ ├── reviewer (quality gate)
|
|
31
|
+
│ ├── scout (research)
|
|
32
|
+
│ └── docmaster (.magent + docs + GitHub)
|
|
33
|
+
├── auditor (plan gap finder)
|
|
34
|
+
├── scout (research)
|
|
35
|
+
├── reviewer (evidence)
|
|
36
|
+
└── docmaster (plan persistence)
|
|
50
37
|
```
|
|
51
38
|
|
|
52
39
|
## Primary Agents
|
|
53
40
|
|
|
54
|
-
### `lead`
|
|
55
|
-
|
|
56
|
-
- Mode: `primary`
|
|
57
|
-
- Default model: `anthropic/claude-opus-4-6`
|
|
58
|
-
- Steps: `500`
|
|
59
|
-
- Purpose: single user-facing entry point that owns the full request lifecycle
|
|
60
|
-
- Best for: deciding the lightest safe route, delegating work, integrating results, and responding to the user
|
|
61
|
-
|
|
62
|
-
### `critic`
|
|
63
|
-
|
|
64
|
-
- Mode: `primary`
|
|
65
|
-
- Default model: `openai/gpt-5.4`
|
|
66
|
-
- Steps: `200`
|
|
67
|
-
- Purpose: challenge agent and inspection agent
|
|
68
|
-
- Best for: pressure-testing a route before work starts, or inspecting repo memory and plugin state without implementing changes
|
|
69
|
-
|
|
70
41
|
### `planner`
|
|
71
42
|
|
|
72
43
|
- Mode: `primary`
|
|
73
44
|
- Default model: `anthropic/claude-opus-4-6`
|
|
74
|
-
- Steps: `
|
|
75
|
-
- Purpose:
|
|
76
|
-
- Best for:
|
|
45
|
+
- Steps: `200`
|
|
46
|
+
- Purpose: triage, planning, challenge, and inspection
|
|
47
|
+
- Best for: deciding the lightest safe route, writing durable execution plans, challenging assumptions, inspecting repository state without implementing changes, and integrating results for the user
|
|
77
48
|
|
|
78
49
|
### `executor`
|
|
79
50
|
|
|
80
51
|
- Mode: `primary`
|
|
81
52
|
- Default model: `anthropic/claude-sonnet-4-6`
|
|
82
53
|
- Steps: `200`
|
|
83
|
-
- Purpose:
|
|
84
|
-
- Best for:
|
|
54
|
+
- Purpose: execution orchestration
|
|
55
|
+
- Best for: running an approved plan by dispatching bounded coding tasks, coordinating reviewer and scout passes, and enforcing quality gates
|
|
85
56
|
|
|
86
|
-
## Coding
|
|
57
|
+
## Coding Agents
|
|
87
58
|
|
|
88
|
-
### `
|
|
59
|
+
### `coder`
|
|
89
60
|
|
|
90
61
|
- Mode: `subagent`
|
|
91
|
-
- Default model: `
|
|
92
|
-
- Steps: `16`
|
|
93
|
-
- Purpose: very fast worker for tiny, explicit, low-risk edits
|
|
94
|
-
- Use when: the task is literal, local, and clearly bounded
|
|
95
|
-
|
|
96
|
-
### `worker`
|
|
97
|
-
|
|
98
|
-
- Mode: `subagent`
|
|
99
|
-
- Default model: `openai/gpt-5.3-codex`
|
|
100
|
-
- Steps: `30`
|
|
101
|
-
- Purpose: standard worker for normal bounded implementation work
|
|
102
|
-
- Use when: you need the default coding path for non-UI work without the highest risk level
|
|
103
|
-
|
|
104
|
-
### `heavy-worker`
|
|
105
|
-
|
|
106
|
-
- Mode: `subagent`
|
|
107
|
-
- Default model: `openai/gpt-5.4`
|
|
62
|
+
- Default model: `anthropic/claude-sonnet-4-6`
|
|
108
63
|
- Steps: `40`
|
|
109
|
-
- Purpose:
|
|
110
|
-
- Use when: the
|
|
64
|
+
- Purpose: standard coding work
|
|
65
|
+
- Use when: the task is a bounded, non-UI, non-security-sensitive implementation slice
|
|
111
66
|
|
|
112
|
-
### `
|
|
67
|
+
### `ui-coder`
|
|
113
68
|
|
|
114
69
|
- Mode: `subagent`
|
|
115
|
-
- Default model: `anthropic/claude-
|
|
116
|
-
- Steps: `
|
|
117
|
-
- Purpose:
|
|
118
|
-
- Use when: a task needs more local analysis, flow tracing, or careful multi-step implementation inside one bounded slice
|
|
119
|
-
|
|
120
|
-
### `ui-worker`
|
|
121
|
-
|
|
122
|
-
- Mode: `subagent`
|
|
123
|
-
- Default model: `anthropic/claude-opus-4-6`
|
|
124
|
-
- Steps: `30`
|
|
125
|
-
- Purpose: normal-complexity UI and UX worker
|
|
70
|
+
- Default model: `anthropic/claude-sonnet-4-6`
|
|
71
|
+
- Steps: `40`
|
|
72
|
+
- Purpose: UI and UX work
|
|
126
73
|
- Use when: the work is mainly components, view-local state, layout, accessibility, or responsive behavior
|
|
127
74
|
|
|
128
|
-
### `
|
|
75
|
+
### `sec-coder`
|
|
129
76
|
|
|
130
77
|
- Mode: `subagent`
|
|
131
78
|
- Default model: `anthropic/claude-opus-4-6`
|
|
132
|
-
- Steps: `
|
|
133
|
-
- Purpose:
|
|
134
|
-
- Use when: the
|
|
79
|
+
- Steps: `60`
|
|
80
|
+
- Purpose: security-sensitive work
|
|
81
|
+
- Use when: the change touches authentication, authorization, cryptography, secrets handling, or other high-risk runtime behavior
|
|
135
82
|
|
|
136
|
-
## Quality
|
|
83
|
+
## Quality Agents
|
|
137
84
|
|
|
138
85
|
### `reviewer`
|
|
139
86
|
|
|
140
87
|
- Mode: `subagent`
|
|
141
|
-
- Default model: `
|
|
142
|
-
- Steps: `
|
|
143
|
-
- Purpose:
|
|
144
|
-
- Best for: reviewing
|
|
145
|
-
|
|
146
|
-
### `validator`
|
|
147
|
-
|
|
148
|
-
- Mode: `subagent`
|
|
149
|
-
- Default model: `openai/gpt-5.3-codex`
|
|
150
|
-
- Steps: `24`
|
|
151
|
-
- Purpose: bounded verification worker that runs the smallest meaningful commands
|
|
152
|
-
- Best for: tests, builds, lint, and type checks that provide runtime evidence for a claimed change
|
|
153
|
-
|
|
154
|
-
### `qa`
|
|
155
|
-
|
|
156
|
-
- Mode: `subagent`
|
|
157
|
-
- Default model: `openai/gpt-5.4`
|
|
158
|
-
- Steps: `24`
|
|
159
|
-
- Purpose: read-only quality gate that returns a final acceptance decision
|
|
160
|
-
- Best for: higher-risk work where the system needs an explicit OKAY or REJECT verdict after validation
|
|
88
|
+
- Default model: `anthropic/claude-sonnet-4-6`
|
|
89
|
+
- Steps: `30`
|
|
90
|
+
- Purpose: code review, QA, and validation
|
|
91
|
+
- Best for: reviewing code changes, running build and test evidence, and issuing an acceptance verdict before work is reported as done
|
|
161
92
|
|
|
162
93
|
### `auditor`
|
|
163
94
|
|
|
164
95
|
- Mode: `subagent`
|
|
165
|
-
- Default model: `
|
|
166
|
-
- Steps: `
|
|
167
|
-
- Purpose:
|
|
96
|
+
- Default model: `anthropic/claude-opus-4-6`
|
|
97
|
+
- Steps: `40`
|
|
98
|
+
- Purpose: stubborn plan gap finder
|
|
168
99
|
- Best for: finding missing steps, weak acceptance criteria, sequencing failures, and verification gaps before execution starts
|
|
169
100
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
- Mode: `subagent`
|
|
173
|
-
- Default model: `anthropic/claude-sonnet-4-6`
|
|
174
|
-
- Steps: `8`
|
|
175
|
-
- Purpose: pure devil's-advocate reasoning agent with no tools
|
|
176
|
-
- Best for: attacking assumptions, pointing out blind spots, and generating counter-arguments quickly
|
|
177
|
-
|
|
178
|
-
## Research and Advisory Agents
|
|
101
|
+
## Research Agent
|
|
179
102
|
|
|
180
103
|
### `scout`
|
|
181
104
|
|
|
182
105
|
- Mode: `subagent`
|
|
183
106
|
- Default model: `anthropic/claude-sonnet-4-6`
|
|
184
|
-
- Steps: `
|
|
185
|
-
- Purpose:
|
|
186
|
-
- Best for:
|
|
187
|
-
|
|
188
|
-
### `librarian`
|
|
189
|
-
|
|
190
|
-
- Mode: `subagent`
|
|
191
|
-
- Default model: `anthropic/claude-sonnet-4-6`
|
|
192
|
-
- Steps: `24`
|
|
193
|
-
- Purpose: external research and documentation agent
|
|
194
|
-
- Best for: live documentation lookup, external comparisons, API research, and evidence gathering outside the repo
|
|
195
|
-
|
|
196
|
-
### `advisor`
|
|
197
|
-
|
|
198
|
-
- Mode: `subagent`
|
|
199
|
-
- Default model: `openai/gpt-5.4`
|
|
200
|
-
- Steps: `20`
|
|
201
|
-
- Purpose: read-only coding advisor for blocked or low-confidence implementation work
|
|
202
|
-
- Best for: unblocking a worker, choosing between local implementation paths, or clarifying a risky decision without editing code
|
|
203
|
-
|
|
204
|
-
### `strategist`
|
|
205
|
-
|
|
206
|
-
- Mode: `subagent`
|
|
207
|
-
- Default model: `anthropic/claude-opus-4-6`
|
|
208
|
-
- Steps: `20`
|
|
209
|
-
- Purpose: judgment-first plan and architecture advisor
|
|
210
|
-
- Best for: validating direction, comparing approaches, surfacing architectural risks, and deciding whether a plan should proceed or change
|
|
107
|
+
- Steps: `30`
|
|
108
|
+
- Purpose: file discovery and external research
|
|
109
|
+
- Best for: repository mapping, symbol tracing, codebase structure questions, git-aware local exploration, and live documentation or API lookup
|
|
211
110
|
|
|
212
111
|
## Documentation Agent
|
|
213
112
|
|
|
214
|
-
### `
|
|
113
|
+
### `docmaster`
|
|
215
114
|
|
|
216
115
|
- Mode: `subagent`
|
|
217
116
|
- Default model: `anthropic/claude-sonnet-4-6`
|
|
218
117
|
- Steps: `30`
|
|
219
118
|
- Purpose: documentation writer and `.magent` artifact manager
|
|
220
|
-
- Best for: writing or updating `README.md`, `AGENTS.md`, `CHANGELOG.md`, `CONTRIBUTING.md`, `docs/**`,
|
|
119
|
+
- Best for: writing or updating `README.md`, `AGENTS.md`, `CHANGELOG.md`, `CONTRIBUTING.md`, `docs/**`, `.magent/**` artifacts, and GitHub workflow files
|
|
221
120
|
|
|
222
121
|
## Agent Categories at a Glance
|
|
223
122
|
|
|
224
|
-
| Category | Agents
|
|
225
|
-
| --------------------- |
|
|
226
|
-
| Primary orchestration | `
|
|
227
|
-
| Coding
|
|
228
|
-
| Quality
|
|
229
|
-
| Research
|
|
230
|
-
| Documentation | `
|
|
123
|
+
| Category | Agents |
|
|
124
|
+
| --------------------- | --------------------------------- |
|
|
125
|
+
| Primary orchestration | `planner`, `executor` |
|
|
126
|
+
| Coding | `coder`, `ui-coder`, `sec-coder` |
|
|
127
|
+
| Quality | `reviewer`, `auditor` |
|
|
128
|
+
| Research | `scout` |
|
|
129
|
+
| Documentation | `docmaster` |
|
|
231
130
|
|
|
232
131
|
## Summary Table
|
|
233
132
|
|
|
234
|
-
| Agent
|
|
235
|
-
|
|
|
236
|
-
| `
|
|
237
|
-
| `
|
|
238
|
-
| `
|
|
239
|
-
| `
|
|
240
|
-
| `
|
|
241
|
-
| `
|
|
242
|
-
| `
|
|
243
|
-
| `
|
|
244
|
-
| `
|
|
245
|
-
| `ui-heavy-worker` | Coding | `subagent` | `anthropic/claude-opus-4-6` | `40` | Broad UI flows and advanced state |
|
|
246
|
-
| `reviewer` | Quality | `subagent` | `github-copilot/grok-code-fast-1` | `24` | Read-only code review |
|
|
247
|
-
| `validator` | Quality | `subagent` | `openai/gpt-5.3-codex` | `24` | Verification command execution |
|
|
248
|
-
| `qa` | Quality | `subagent` | `openai/gpt-5.4` | `24` | Final quality gate |
|
|
249
|
-
| `auditor` | Quality | `subagent` | `openai/gpt-5.4` | `24` | Plan auditing |
|
|
250
|
-
| `devil` | Quality | `subagent` | `anthropic/claude-sonnet-4-6` | `8` | Counter-arguments and blind spots |
|
|
251
|
-
| `scout` | Research | `subagent` | `anthropic/claude-sonnet-4-6` | `24` | Local repo exploration |
|
|
252
|
-
| `librarian` | Research | `subagent` | `anthropic/claude-sonnet-4-6` | `24` | External research |
|
|
253
|
-
| `advisor` | Advisory | `subagent` | `openai/gpt-5.4` | `20` | Local implementation advice |
|
|
254
|
-
| `strategist` | Advisory | `subagent` | `anthropic/claude-opus-4-6` | `20` | Architecture and direction advice |
|
|
255
|
-
| `scribe` | Documentation | `subagent` | `anthropic/claude-sonnet-4-6` | `30` | Docs and `.magent` writing |
|
|
133
|
+
| Agent | Category | Mode | Model | Steps | Primary use |
|
|
134
|
+
| ----------- | ------------- | ---------- | ----------------------------- | ----- | ---------------------------------------- |
|
|
135
|
+
| `planner` | Primary | `primary` | `anthropic/claude-opus-4-6` | `200` | Triage, planning, challenge, inspection |
|
|
136
|
+
| `executor` | Primary | `primary` | `anthropic/claude-sonnet-4-6` | `200` | Execution orchestration |
|
|
137
|
+
| `coder` | Coding | `subagent` | `anthropic/claude-sonnet-4-6` | `40` | Standard bounded coding work |
|
|
138
|
+
| `ui-coder` | Coding | `subagent` | `anthropic/claude-sonnet-4-6` | `40` | UI and UX work |
|
|
139
|
+
| `sec-coder` | Coding | `subagent` | `anthropic/claude-opus-4-6` | `60` | Security-sensitive implementation |
|
|
140
|
+
| `reviewer` | Quality | `subagent` | `anthropic/claude-sonnet-4-6` | `30` | Code review, QA, and validation |
|
|
141
|
+
| `auditor` | Quality | `subagent` | `anthropic/claude-opus-4-6` | `40` | Plan gap finding before execution |
|
|
142
|
+
| `scout` | Research | `subagent` | `anthropic/claude-sonnet-4-6` | `30` | File discovery and external research |
|
|
143
|
+
| `docmaster` | Documentation | `subagent` | `anthropic/claude-sonnet-4-6` | `30` | Docs and `.magent` writing |
|
|
256
144
|
|
|
257
145
|
## Related Docs
|
|
258
146
|
|