@zcy2nn/agent-forge 1.1.2 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agent-forge.schema.json +2 -133
- package/dist/cli/index.js +99 -317
- package/dist/cli/providers.d.ts +0 -44
- package/dist/config/constants.d.ts +3 -4
- package/dist/config/index.d.ts +0 -1
- package/dist/config/schema.d.ts +2 -72
- package/dist/hooks/filter-available-skills/index.d.ts +4 -13
- package/dist/index.js +301 -1297
- package/dist/tools/index.d.ts +0 -1
- package/dist/tui.js +5 -32
- package/package.json +1 -1
- package/src/skills/brainstorming/SKILL.md +5 -6
- package/src/skills/brainstorming/spec-document-reviewer-prompt.md +1 -1
- package/src/skills/codemap/README.md +3 -3
- package/src/skills/codemap/SKILL.md +5 -5
- package/src/skills/codemap/codemap.md +4 -4
- package/src/skills/codemap/scripts/codemap.mjs +1 -1
- package/src/skills/codemap/scripts/codemap.test.ts +1 -1
- package/src/skills/requesting-code-review/SKILL.md +1 -1
- package/src/skills/subagent-driven-development/SKILL.md +1 -1
- package/src/skills/writing-plans/SKILL.md +2 -2
- package/dist/agents/council.d.ts +0 -27
- package/dist/agents/councillor.d.ts +0 -2
- package/dist/agents/implementer.d.ts +0 -2
- package/dist/agents/reviewer.d.ts +0 -2
- package/dist/cli/skill-sync.d.ts +0 -23
- package/dist/config/council-schema.d.ts +0 -127
- package/dist/council/council-manager.d.ts +0 -49
- package/dist/council/index.d.ts +0 -1
- package/dist/tools/council.d.ts +0 -10
- package/dist/utils/package-root.d.ts +0 -1
- package/src/skills/using-git-worktrees/SKILL.md +0 -226
package/dist/cli/providers.d.ts
CHANGED
|
@@ -5,89 +5,45 @@ export declare const MODEL_MAPPINGS: {
|
|
|
5
5
|
readonly orchestrator: {
|
|
6
6
|
readonly model: "openai/gpt-5.5";
|
|
7
7
|
};
|
|
8
|
-
readonly reviewer: {
|
|
9
|
-
readonly model: "openai/gpt-5.5";
|
|
10
|
-
readonly variant: "high";
|
|
11
|
-
};
|
|
12
8
|
readonly researcher: {
|
|
13
9
|
readonly model: "openai/gpt-5.4-mini";
|
|
14
10
|
readonly variant: "low";
|
|
15
11
|
};
|
|
16
|
-
readonly implementer: {
|
|
17
|
-
readonly model: "openai/gpt-5.4-mini";
|
|
18
|
-
readonly variant: "low";
|
|
19
|
-
};
|
|
20
12
|
};
|
|
21
13
|
readonly kimi: {
|
|
22
14
|
readonly orchestrator: {
|
|
23
15
|
readonly model: "kimi-for-coding/k2p5";
|
|
24
16
|
};
|
|
25
|
-
readonly reviewer: {
|
|
26
|
-
readonly model: "kimi-for-coding/k2p5";
|
|
27
|
-
readonly variant: "high";
|
|
28
|
-
};
|
|
29
17
|
readonly researcher: {
|
|
30
18
|
readonly model: "kimi-for-coding/k2p5";
|
|
31
19
|
readonly variant: "low";
|
|
32
20
|
};
|
|
33
|
-
readonly implementer: {
|
|
34
|
-
readonly model: "kimi-for-coding/k2p5";
|
|
35
|
-
readonly variant: "low";
|
|
36
|
-
};
|
|
37
21
|
};
|
|
38
22
|
readonly copilot: {
|
|
39
23
|
readonly orchestrator: {
|
|
40
24
|
readonly model: "github-copilot/claude-opus-4.6";
|
|
41
25
|
};
|
|
42
|
-
readonly reviewer: {
|
|
43
|
-
readonly model: "github-copilot/claude-opus-4.6";
|
|
44
|
-
readonly variant: "high";
|
|
45
|
-
};
|
|
46
26
|
readonly researcher: {
|
|
47
27
|
readonly model: "github-copilot/grok-code-fast-1";
|
|
48
28
|
readonly variant: "low";
|
|
49
29
|
};
|
|
50
|
-
readonly implementer: {
|
|
51
|
-
readonly model: "github-copilot/claude-sonnet-4.6";
|
|
52
|
-
readonly variant: "low";
|
|
53
|
-
};
|
|
54
30
|
};
|
|
55
31
|
readonly 'zai-plan': {
|
|
56
32
|
readonly orchestrator: {
|
|
57
33
|
readonly model: "zai-coding-plan/glm-5";
|
|
58
34
|
};
|
|
59
|
-
readonly reviewer: {
|
|
60
|
-
readonly model: "zai-coding-plan/glm-5";
|
|
61
|
-
readonly variant: "high";
|
|
62
|
-
};
|
|
63
35
|
readonly researcher: {
|
|
64
36
|
readonly model: "zai-coding-plan/glm-5";
|
|
65
37
|
readonly variant: "low";
|
|
66
38
|
};
|
|
67
|
-
readonly implementer: {
|
|
68
|
-
readonly model: "zai-coding-plan/glm-5";
|
|
69
|
-
readonly variant: "low";
|
|
70
|
-
};
|
|
71
39
|
};
|
|
72
40
|
readonly 'opencode-go': {
|
|
73
41
|
readonly orchestrator: {
|
|
74
42
|
readonly model: "opencode-go/glm-5.1";
|
|
75
43
|
};
|
|
76
|
-
readonly reviewer: {
|
|
77
|
-
readonly model: "opencode-go/deepseek-v4-pro";
|
|
78
|
-
readonly variant: "max";
|
|
79
|
-
};
|
|
80
|
-
readonly council: {
|
|
81
|
-
readonly model: "opencode-go/deepseek-v4-pro";
|
|
82
|
-
readonly variant: "high";
|
|
83
|
-
};
|
|
84
44
|
readonly researcher: {
|
|
85
45
|
readonly model: "opencode-go/minimax-m2.7";
|
|
86
46
|
};
|
|
87
|
-
readonly implementer: {
|
|
88
|
-
readonly model: "opencode-go/deepseek-v4-flash";
|
|
89
|
-
readonly variant: "high";
|
|
90
|
-
};
|
|
91
47
|
};
|
|
92
48
|
};
|
|
93
49
|
export type PresetName = keyof typeof MODEL_MAPPINGS;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export declare const SUBAGENT_NAMES: readonly ["researcher"
|
|
1
|
+
export declare const SUBAGENT_NAMES: readonly ["researcher"];
|
|
2
2
|
export declare const ORCHESTRATOR_NAME: "orchestrator";
|
|
3
|
-
export declare const ALL_AGENT_NAMES: readonly ["orchestrator", "researcher"
|
|
3
|
+
export declare const ALL_AGENT_NAMES: readonly ["orchestrator", "researcher"];
|
|
4
4
|
export type AgentName = (typeof ALL_AGENT_NAMES)[number];
|
|
5
|
-
export declare const ORCHESTRATABLE_AGENTS: readonly ["researcher"
|
|
5
|
+
export declare const ORCHESTRATABLE_AGENTS: readonly ["researcher"];
|
|
6
6
|
/** Agents that cannot be disabled even if listed in disabled_agents config. */
|
|
7
7
|
export declare const PROTECTED_AGENTS: Set<string>;
|
|
8
8
|
/**
|
|
@@ -21,7 +21,6 @@ export declare const FALLBACK_FAILOVER_TIMEOUT_MS = 15000;
|
|
|
21
21
|
export declare const DEFAULT_MAX_SUBAGENT_DEPTH = 3;
|
|
22
22
|
export declare const PHASE_REMINDER_TEXT = "!IMPORTANT! Recall the workflow rules:\nUnderstand \u2192 choose the best parallelized path based on your capabilities and agents delegation rules \u2192 recall session reuse rules \u2192 execute \u2192 verify.\nIf delegating, launch the specialist in the same turn you mention it !END!";
|
|
23
23
|
export declare const TMUX_SPAWN_DELAY_MS = 500;
|
|
24
|
-
export declare const COUNCILLOR_STAGGER_MS = 250;
|
|
25
24
|
export declare const STABLE_POLLS_THRESHOLD = 3;
|
|
26
25
|
/** Agents that are disabled by default. Users must explicitly enable them
|
|
27
26
|
* by removing from disabled_agents and configuring an appropriate model. */
|
package/dist/config/index.d.ts
CHANGED
package/dist/config/schema.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
declare const FALLBACK_AGENT_NAMES: readonly ["orchestrator", "researcher"
|
|
3
|
-
declare const MANUAL_AGENT_NAMES: readonly ["orchestrator", "researcher"
|
|
2
|
+
declare const FALLBACK_AGENT_NAMES: readonly ["orchestrator", "researcher"];
|
|
3
|
+
declare const MANUAL_AGENT_NAMES: readonly ["orchestrator", "researcher"];
|
|
4
4
|
export declare const ProviderModelIdSchema: z.ZodString;
|
|
5
5
|
export declare const ManualAgentPlanSchema: z.ZodObject<{
|
|
6
6
|
primary: z.ZodString;
|
|
@@ -21,18 +21,6 @@ export declare const ManualPlanSchema: z.ZodObject<{
|
|
|
21
21
|
fallback2: z.ZodString;
|
|
22
22
|
fallback3: z.ZodString;
|
|
23
23
|
}, z.core.$strip>;
|
|
24
|
-
reviewer: z.ZodObject<{
|
|
25
|
-
primary: z.ZodString;
|
|
26
|
-
fallback1: z.ZodString;
|
|
27
|
-
fallback2: z.ZodString;
|
|
28
|
-
fallback3: z.ZodString;
|
|
29
|
-
}, z.core.$strip>;
|
|
30
|
-
implementer: z.ZodObject<{
|
|
31
|
-
primary: z.ZodString;
|
|
32
|
-
fallback1: z.ZodString;
|
|
33
|
-
fallback2: z.ZodString;
|
|
34
|
-
fallback3: z.ZodString;
|
|
35
|
-
}, z.core.$strip>;
|
|
36
24
|
}, z.core.$strict>;
|
|
37
25
|
export type ManualAgentName = (typeof MANUAL_AGENT_NAMES)[number];
|
|
38
26
|
export type ManualAgentPlan = z.infer<typeof ManualAgentPlanSchema>;
|
|
@@ -178,8 +166,6 @@ export declare const FailoverConfigSchema: z.ZodObject<{
|
|
|
178
166
|
chains: z.ZodDefault<z.ZodObject<{
|
|
179
167
|
orchestrator: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
180
168
|
researcher: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
181
|
-
reviewer: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
182
|
-
implementer: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
183
169
|
}, z.core.$catchall<z.ZodArray<z.ZodString>>>>;
|
|
184
170
|
retry_on_empty: z.ZodDefault<z.ZodBoolean>;
|
|
185
171
|
}, z.core.$strip>;
|
|
@@ -207,18 +193,6 @@ export declare const PluginConfigSchema: z.ZodObject<{
|
|
|
207
193
|
fallback2: z.ZodString;
|
|
208
194
|
fallback3: z.ZodString;
|
|
209
195
|
}, z.core.$strip>;
|
|
210
|
-
reviewer: z.ZodObject<{
|
|
211
|
-
primary: z.ZodString;
|
|
212
|
-
fallback1: z.ZodString;
|
|
213
|
-
fallback2: z.ZodString;
|
|
214
|
-
fallback3: z.ZodString;
|
|
215
|
-
}, z.core.$strip>;
|
|
216
|
-
implementer: z.ZodObject<{
|
|
217
|
-
primary: z.ZodString;
|
|
218
|
-
fallback1: z.ZodString;
|
|
219
|
-
fallback2: z.ZodString;
|
|
220
|
-
fallback3: z.ZodString;
|
|
221
|
-
}, z.core.$strip>;
|
|
222
196
|
}, z.core.$strict>>;
|
|
223
197
|
presets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
224
198
|
model: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
@@ -319,53 +293,9 @@ export declare const PluginConfigSchema: z.ZodObject<{
|
|
|
319
293
|
chains: z.ZodDefault<z.ZodObject<{
|
|
320
294
|
orchestrator: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
321
295
|
researcher: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
322
|
-
reviewer: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
323
|
-
implementer: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
324
296
|
}, z.core.$catchall<z.ZodArray<z.ZodString>>>>;
|
|
325
297
|
retry_on_empty: z.ZodDefault<z.ZodBoolean>;
|
|
326
298
|
}, z.core.$strip>>;
|
|
327
|
-
council: z.ZodOptional<z.ZodPipe<z.ZodObject<{
|
|
328
|
-
presets: z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>, z.ZodTransform<Record<string, {
|
|
329
|
-
model: string;
|
|
330
|
-
variant?: string | undefined;
|
|
331
|
-
prompt?: string | undefined;
|
|
332
|
-
}>, Record<string, Record<string, unknown>>>>>;
|
|
333
|
-
timeout: z.ZodDefault<z.ZodNumber>;
|
|
334
|
-
default_preset: z.ZodDefault<z.ZodString>;
|
|
335
|
-
councillor_execution_mode: z.ZodDefault<z.ZodEnum<{
|
|
336
|
-
parallel: "parallel";
|
|
337
|
-
serial: "serial";
|
|
338
|
-
}>>;
|
|
339
|
-
councillor_retries: z.ZodDefault<z.ZodNumber>;
|
|
340
|
-
master: z.ZodOptional<z.ZodUnknown>;
|
|
341
|
-
master_timeout: z.ZodOptional<z.ZodUnknown>;
|
|
342
|
-
master_fallback: z.ZodOptional<z.ZodUnknown>;
|
|
343
|
-
}, z.core.$strip>, z.ZodTransform<{
|
|
344
|
-
presets: Record<string, Record<string, {
|
|
345
|
-
model: string;
|
|
346
|
-
variant?: string | undefined;
|
|
347
|
-
prompt?: string | undefined;
|
|
348
|
-
}>>;
|
|
349
|
-
timeout: number;
|
|
350
|
-
default_preset: string;
|
|
351
|
-
councillor_execution_mode: "parallel" | "serial";
|
|
352
|
-
councillor_retries: number;
|
|
353
|
-
_deprecated: string[] | undefined;
|
|
354
|
-
_legacyMasterModel: string | undefined;
|
|
355
|
-
}, {
|
|
356
|
-
presets: Record<string, Record<string, {
|
|
357
|
-
model: string;
|
|
358
|
-
variant?: string | undefined;
|
|
359
|
-
prompt?: string | undefined;
|
|
360
|
-
}>>;
|
|
361
|
-
timeout: number;
|
|
362
|
-
default_preset: string;
|
|
363
|
-
councillor_execution_mode: "parallel" | "serial";
|
|
364
|
-
councillor_retries: number;
|
|
365
|
-
master?: unknown;
|
|
366
|
-
master_timeout?: unknown;
|
|
367
|
-
master_fallback?: unknown;
|
|
368
|
-
}>>>;
|
|
369
299
|
}, z.core.$strip>;
|
|
370
300
|
export type PluginConfig = z.infer<typeof PluginConfigSchema>;
|
|
371
301
|
export type { AgentName } from './constants';
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Filter
|
|
3
|
-
* OpenCode core injects `<available_skills>` from installed skills, so this hook rewrites
|
|
4
|
-
* block before the prompt is sent.
|
|
5
|
-
* are always visible even without being copied to the OpenCode skills directory.
|
|
2
|
+
* Filter available_skills blocks based on the current agent's permission.skill rules.
|
|
3
|
+
* OpenCode core injects `<available_skills>` from installed skills, so this hook only rewrites
|
|
4
|
+
* that block before the prompt is sent.
|
|
6
5
|
*/
|
|
7
6
|
import type { PluginInput } from '@opencode-ai/plugin';
|
|
8
7
|
import { type PluginConfig } from '../../config';
|
|
@@ -20,14 +19,6 @@ interface MessageWithParts {
|
|
|
20
19
|
parts: MessagePart[];
|
|
21
20
|
}
|
|
22
21
|
type SkillRule = 'allow' | 'ask' | 'deny';
|
|
23
|
-
interface SkillEntry {
|
|
24
|
-
name: string;
|
|
25
|
-
block: string;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Merge installed skill entries with built-in entries (dedup by name, installed takes precedence).
|
|
29
|
-
*/
|
|
30
|
-
declare function mergeWithBuiltinSkills(installedEntries: SkillEntry[]): SkillEntry[];
|
|
31
22
|
declare function filterAvailableSkillsText(text: string, permissionRules: Record<string, SkillRule>): string;
|
|
32
23
|
/**
|
|
33
24
|
* Creates the experimental.chat.messages.transform hook for filtering available skills.
|
|
@@ -38,4 +29,4 @@ export declare function createFilterAvailableSkillsHook(_ctx: PluginInput, confi
|
|
|
38
29
|
messages: MessageWithParts[];
|
|
39
30
|
}) => Promise<void>;
|
|
40
31
|
};
|
|
41
|
-
export { filterAvailableSkillsText
|
|
32
|
+
export { filterAvailableSkillsText };
|