opencode-multiagent 0.2.0 → 0.3.0-next.1
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 +62 -0
- package/CHANGELOG.md +18 -0
- package/CONTRIBUTING.md +36 -0
- package/README.md +41 -165
- package/README.tr.md +84 -0
- package/RELEASE.md +68 -0
- package/agents/advisor.md +9 -6
- package/agents/auditor.md +8 -6
- package/agents/critic.md +19 -10
- package/agents/deep-worker.md +11 -7
- package/agents/devil.md +3 -1
- package/agents/executor.md +20 -19
- package/agents/heavy-worker.md +11 -7
- package/agents/lead.md +22 -30
- package/agents/librarian.md +6 -2
- package/agents/planner.md +18 -10
- package/agents/qa.md +9 -6
- package/agents/quick.md +12 -7
- package/agents/reviewer.md +9 -6
- package/agents/scout.md +9 -5
- package/agents/scribe.md +33 -28
- package/agents/strategist.md +10 -7
- package/agents/ui-heavy-worker.md +11 -7
- package/agents/ui-worker.md +12 -7
- package/agents/validator.md +8 -5
- package/agents/worker.md +12 -7
- package/commands/execute.md +1 -0
- package/commands/init-deep.md +1 -0
- package/commands/init.md +1 -0
- package/commands/inspect.md +1 -0
- package/commands/plan.md +1 -0
- package/commands/quality.md +1 -0
- package/commands/review.md +1 -0
- package/commands/status.md +1 -0
- package/defaults/opencode-multiagent.json +223 -0
- package/defaults/opencode-multiagent.schema.json +249 -0
- package/dist/control-plane.d.ts +4 -0
- package/dist/control-plane.d.ts.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1583 -0
- package/dist/opencode-multiagent/compiler.d.ts +19 -0
- package/dist/opencode-multiagent/compiler.d.ts.map +1 -0
- package/dist/opencode-multiagent/constants.d.ts +116 -0
- package/dist/opencode-multiagent/constants.d.ts.map +1 -0
- package/dist/opencode-multiagent/defaults.d.ts +10 -0
- package/dist/opencode-multiagent/defaults.d.ts.map +1 -0
- package/dist/opencode-multiagent/file-lock.d.ts +15 -0
- package/dist/opencode-multiagent/file-lock.d.ts.map +1 -0
- package/dist/opencode-multiagent/hooks.d.ts +62 -0
- package/dist/opencode-multiagent/hooks.d.ts.map +1 -0
- package/dist/opencode-multiagent/log.d.ts +2 -0
- package/dist/opencode-multiagent/log.d.ts.map +1 -0
- package/dist/opencode-multiagent/markdown.d.ts +8 -0
- package/dist/opencode-multiagent/markdown.d.ts.map +1 -0
- package/dist/opencode-multiagent/mcp.d.ts +3 -0
- package/dist/opencode-multiagent/mcp.d.ts.map +1 -0
- package/dist/opencode-multiagent/policy.d.ts +5 -0
- package/dist/opencode-multiagent/policy.d.ts.map +1 -0
- package/dist/opencode-multiagent/quality.d.ts +14 -0
- package/dist/opencode-multiagent/quality.d.ts.map +1 -0
- package/dist/opencode-multiagent/runtime.d.ts +7 -0
- package/dist/opencode-multiagent/runtime.d.ts.map +1 -0
- package/dist/opencode-multiagent/session-tracker.d.ts +32 -0
- package/dist/opencode-multiagent/session-tracker.d.ts.map +1 -0
- package/dist/opencode-multiagent/skills.d.ts +17 -0
- package/dist/opencode-multiagent/skills.d.ts.map +1 -0
- package/dist/opencode-multiagent/supervision.d.ts +12 -0
- package/dist/opencode-multiagent/supervision.d.ts.map +1 -0
- package/dist/opencode-multiagent/task-manager.d.ts +48 -0
- package/dist/opencode-multiagent/task-manager.d.ts.map +1 -0
- package/dist/opencode-multiagent/telemetry.d.ts +26 -0
- package/dist/opencode-multiagent/telemetry.d.ts.map +1 -0
- package/dist/opencode-multiagent/tools.d.ts +56 -0
- package/dist/opencode-multiagent/tools.d.ts.map +1 -0
- package/dist/opencode-multiagent/types.d.ts +36 -0
- package/dist/opencode-multiagent/types.d.ts.map +1 -0
- package/dist/opencode-multiagent/utils.d.ts +9 -0
- package/dist/opencode-multiagent/utils.d.ts.map +1 -0
- package/docs/agents.md +260 -0
- package/docs/agents.tr.md +260 -0
- package/docs/configuration.md +255 -0
- package/docs/configuration.tr.md +255 -0
- package/docs/usage-guide.md +226 -0
- package/docs/usage-guide.tr.md +227 -0
- package/examples/opencode.with-overrides.json +1 -5
- package/package.json +23 -13
- package/skills/advanced-evaluation/SKILL.md +37 -21
- package/skills/advanced-evaluation/manifest.json +2 -13
- package/skills/cek-context-engineering/SKILL.md +159 -87
- package/skills/cek-context-engineering/manifest.json +1 -3
- package/skills/cek-prompt-engineering/SKILL.md +13 -10
- package/skills/cek-prompt-engineering/manifest.json +1 -3
- package/skills/cek-test-prompt/SKILL.md +38 -28
- package/skills/cek-test-prompt/manifest.json +1 -3
- package/skills/cek-thought-based-reasoning/SKILL.md +75 -21
- package/skills/cek-thought-based-reasoning/manifest.json +1 -3
- package/skills/context-degradation/SKILL.md +14 -13
- package/skills/context-degradation/manifest.json +1 -3
- package/skills/debate/SKILL.md +23 -78
- package/skills/debate/manifest.json +2 -12
- package/skills/design-first/manifest.json +2 -13
- package/skills/dispatching-parallel-agents/SKILL.md +14 -3
- package/skills/dispatching-parallel-agents/manifest.json +1 -4
- package/skills/drift-analysis/SKILL.md +50 -29
- package/skills/drift-analysis/manifest.json +2 -12
- package/skills/evaluation/manifest.json +2 -12
- package/skills/executing-plans/SKILL.md +15 -8
- package/skills/executing-plans/manifest.json +1 -3
- package/skills/handoff-protocols/manifest.json +2 -12
- package/skills/parallel-investigation/SKILL.md +25 -12
- package/skills/parallel-investigation/manifest.json +1 -4
- package/skills/reflexion-critique/SKILL.md +21 -10
- package/skills/reflexion-critique/manifest.json +1 -3
- package/skills/reflexion-reflect/SKILL.md +36 -34
- package/skills/reflexion-reflect/manifest.json +2 -10
- package/skills/root-cause-analysis/manifest.json +2 -13
- package/skills/sadd-judge-with-debate/SKILL.md +50 -26
- package/skills/sadd-judge-with-debate/manifest.json +1 -3
- package/skills/structured-code-review/manifest.json +2 -11
- package/skills/task-decomposition/manifest.json +2 -13
- package/skills/verification-before-completion/manifest.json +2 -15
- package/skills/verification-gates/SKILL.md +27 -19
- package/skills/verification-gates/manifest.json +2 -12
- package/defaults/agent-settings.json +0 -102
- package/defaults/agent-settings.schema.json +0 -25
- package/defaults/flags.json +0 -35
- package/defaults/flags.schema.json +0 -119
- package/defaults/mcp-defaults.json +0 -47
- package/defaults/mcp-defaults.schema.json +0 -38
- package/defaults/profiles.json +0 -53
- package/defaults/profiles.schema.json +0 -60
- package/defaults/team-profiles.json +0 -83
- package/src/control-plane.ts +0 -21
- package/src/index.ts +0 -8
- package/src/opencode-multiagent/compiler.ts +0 -168
- package/src/opencode-multiagent/constants.ts +0 -178
- package/src/opencode-multiagent/file-lock.ts +0 -90
- package/src/opencode-multiagent/hooks.ts +0 -599
- package/src/opencode-multiagent/log.ts +0 -12
- package/src/opencode-multiagent/mailbox.ts +0 -287
- package/src/opencode-multiagent/markdown.ts +0 -99
- package/src/opencode-multiagent/mcp.ts +0 -35
- package/src/opencode-multiagent/policy.ts +0 -67
- package/src/opencode-multiagent/quality.ts +0 -140
- package/src/opencode-multiagent/runtime.ts +0 -55
- package/src/opencode-multiagent/skills.ts +0 -144
- package/src/opencode-multiagent/supervision.ts +0 -156
- package/src/opencode-multiagent/task-manager.ts +0 -148
- package/src/opencode-multiagent/team-manager.ts +0 -219
- package/src/opencode-multiagent/team-tools.ts +0 -359
- package/src/opencode-multiagent/telemetry.ts +0 -124
- package/src/opencode-multiagent/utils.ts +0 -54
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { GenericRecord } from './types.ts';
|
|
2
|
+
type MergedConfig = GenericRecord & {
|
|
3
|
+
agent?: Record<string, GenericRecord>;
|
|
4
|
+
command?: Record<string, GenericRecord>;
|
|
5
|
+
default_agent?: string;
|
|
6
|
+
permission?: Record<string, unknown>;
|
|
7
|
+
};
|
|
8
|
+
type McpPermissionRegistry = {
|
|
9
|
+
allowed: string[];
|
|
10
|
+
denied: string[];
|
|
11
|
+
fallback: 'allow' | 'deny';
|
|
12
|
+
};
|
|
13
|
+
export declare function compileAgents(cfg: MergedConfig, dirs: Array<string | undefined>, agentSettings?: GenericRecord): Promise<Map<string, McpPermissionRegistry>>;
|
|
14
|
+
export declare function compileCommands(cfg: MergedConfig, dirs: Array<string | undefined>): Promise<void>;
|
|
15
|
+
export declare const applyBuiltInAgentPolicy: (cfg: MergedConfig) => Promise<void>;
|
|
16
|
+
export declare const applyPermissionDefaults: (cfg: MergedConfig) => void;
|
|
17
|
+
export declare const matchesMcpPermission: (tool: string, registry?: McpPermissionRegistry) => boolean;
|
|
18
|
+
export type { MergedConfig, McpPermissionRegistry };
|
|
19
|
+
//# sourceMappingURL=compiler.d.ts.map
|
|
@@ -0,0 +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;AAsBF,wBAAsB,aAAa,CACjC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,EAC/B,aAAa,GAAE,aAAkB,GAChC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAwC7C;AAED,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,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
export declare const pluginName = "opencode-multiagent";
|
|
2
|
+
export declare const pluginMode = "stable";
|
|
3
|
+
export declare const opencodeDir: string;
|
|
4
|
+
export declare const pluginDir: string;
|
|
5
|
+
export declare const globalAgentsDir: string;
|
|
6
|
+
export declare const globalCommandsDir: string;
|
|
7
|
+
export declare const logDirPath: string;
|
|
8
|
+
export declare const logFilePath: string;
|
|
9
|
+
export declare const settingsPath: string;
|
|
10
|
+
export declare const packageRoot: string;
|
|
11
|
+
export declare const bundledDefaultsPath: string;
|
|
12
|
+
export declare const bundledAgentsDir: string;
|
|
13
|
+
export declare const bundledCommandsDir: string;
|
|
14
|
+
export declare const bundledSkillsDir: string;
|
|
15
|
+
export declare const trackedEventTypes: Set<string>;
|
|
16
|
+
export declare const supervisionEventTypes: Set<string>;
|
|
17
|
+
export declare const qualityEventTypes: Set<string>;
|
|
18
|
+
export declare const suspiciousTerms: string[];
|
|
19
|
+
export declare const qualitySignalRegex: RegExp;
|
|
20
|
+
export declare const mcpToolPrefixes: string[];
|
|
21
|
+
export declare const defaultProfiles: {
|
|
22
|
+
minimal: {
|
|
23
|
+
enforcement: boolean;
|
|
24
|
+
observation: boolean;
|
|
25
|
+
prompt_controls: boolean;
|
|
26
|
+
agent_compilation: boolean;
|
|
27
|
+
command_compilation: boolean;
|
|
28
|
+
mcp_compilation: boolean;
|
|
29
|
+
telemetry: boolean;
|
|
30
|
+
supervision: boolean;
|
|
31
|
+
quality_gate: boolean;
|
|
32
|
+
experimental: {
|
|
33
|
+
chat_system_transform: boolean;
|
|
34
|
+
chat_messages_transform: boolean;
|
|
35
|
+
session_compacting: boolean;
|
|
36
|
+
text_complete: boolean;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
standard: {
|
|
40
|
+
enforcement: boolean;
|
|
41
|
+
observation: boolean;
|
|
42
|
+
prompt_controls: boolean;
|
|
43
|
+
agent_compilation: boolean;
|
|
44
|
+
command_compilation: boolean;
|
|
45
|
+
mcp_compilation: boolean;
|
|
46
|
+
telemetry: boolean;
|
|
47
|
+
supervision: boolean;
|
|
48
|
+
quality_gate: boolean;
|
|
49
|
+
skill_sources: string[];
|
|
50
|
+
skill_injection: boolean;
|
|
51
|
+
experimental: {
|
|
52
|
+
chat_system_transform: boolean;
|
|
53
|
+
chat_messages_transform: boolean;
|
|
54
|
+
session_compacting: boolean;
|
|
55
|
+
text_complete: boolean;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
strict: {
|
|
59
|
+
enforcement: boolean;
|
|
60
|
+
observation: boolean;
|
|
61
|
+
prompt_controls: boolean;
|
|
62
|
+
agent_compilation: boolean;
|
|
63
|
+
command_compilation: boolean;
|
|
64
|
+
mcp_compilation: boolean;
|
|
65
|
+
telemetry: boolean;
|
|
66
|
+
supervision: boolean;
|
|
67
|
+
quality_gate: boolean;
|
|
68
|
+
experimental: {
|
|
69
|
+
chat_system_transform: boolean;
|
|
70
|
+
chat_messages_transform: boolean;
|
|
71
|
+
session_compacting: boolean;
|
|
72
|
+
text_complete: boolean;
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
export declare const defaultFlags: {
|
|
77
|
+
profile: string;
|
|
78
|
+
enforcement: boolean;
|
|
79
|
+
observation: boolean;
|
|
80
|
+
prompt_controls: boolean;
|
|
81
|
+
agent_compilation: boolean;
|
|
82
|
+
command_compilation: boolean;
|
|
83
|
+
mcp_compilation: boolean;
|
|
84
|
+
telemetry: boolean;
|
|
85
|
+
supervision: boolean;
|
|
86
|
+
quality_gate: boolean;
|
|
87
|
+
skill_sources: string[];
|
|
88
|
+
skill_injection: boolean;
|
|
89
|
+
compiler: {
|
|
90
|
+
permission_compilation: boolean;
|
|
91
|
+
};
|
|
92
|
+
experimental: {
|
|
93
|
+
chat_system_transform: boolean;
|
|
94
|
+
chat_messages_transform: boolean;
|
|
95
|
+
session_compacting: boolean;
|
|
96
|
+
text_complete: boolean;
|
|
97
|
+
};
|
|
98
|
+
supervision_config: {
|
|
99
|
+
idle_timeout_ms: number;
|
|
100
|
+
cooldown_ms: number;
|
|
101
|
+
};
|
|
102
|
+
quality_config: {
|
|
103
|
+
reminder_idle_ms: number;
|
|
104
|
+
reminder_cooldown_ms: number;
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
export declare const disabledNativeAgents: string[];
|
|
108
|
+
export declare const blockedPathPrefixRegex: RegExp;
|
|
109
|
+
export declare const blockedPathFragments: string[];
|
|
110
|
+
export declare const blockedPathSuffixes: string[];
|
|
111
|
+
export declare const destructiveBashFragments: string[];
|
|
112
|
+
export declare const sensitiveMentions: string[];
|
|
113
|
+
export declare const experimentalText = "[opencode-multiagent experimental] Experimental control-plane transforms are active for this session.";
|
|
114
|
+
export type DefaultFlags = typeof defaultFlags;
|
|
115
|
+
export type DefaultProfiles = typeof defaultProfiles;
|
|
116
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +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,aAa5B,CAAC;AAEH,eAAO,MAAM,qBAAqB,aAOhC,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0D3B,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCxB,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,10 @@
|
|
|
1
|
+
import type { GenericRecord } from './types.ts';
|
|
2
|
+
export type BundledDefaults = {
|
|
3
|
+
flags?: GenericRecord;
|
|
4
|
+
agentSettings?: GenericRecord;
|
|
5
|
+
mcpDefaults?: GenericRecord;
|
|
6
|
+
profiles?: GenericRecord;
|
|
7
|
+
};
|
|
8
|
+
export declare const loadBundledDefaults: () => Promise<BundledDefaults>;
|
|
9
|
+
export declare const readBundledDefaultsSection: <T>(defaults: BundledDefaults, section: keyof BundledDefaults, fallback: T) => T;
|
|
10
|
+
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/defaults.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B,CAAC;AAYF,eAAO,MAAM,mBAAmB,QAAa,OAAO,CAAC,eAAe,CAQnE,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,CAAC,EAC1C,UAAU,eAAe,EACzB,SAAS,MAAM,eAAe,EAC9B,UAAU,CAAC,KACV,CAQF,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
type AcquireResult = {
|
|
2
|
+
ok: true;
|
|
3
|
+
filePath: string | undefined;
|
|
4
|
+
} | {
|
|
5
|
+
ok: false;
|
|
6
|
+
filePath: string;
|
|
7
|
+
ownerSessionID: string;
|
|
8
|
+
};
|
|
9
|
+
export declare const createFileLockController: () => {
|
|
10
|
+
acquire(sessionID: string, filePath: unknown): AcquireResult;
|
|
11
|
+
releaseAll: (sessionID: string) => number;
|
|
12
|
+
cleanup(): void;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=file-lock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-lock.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/file-lock.ts"],"names":[],"mappings":"AAQA,KAAK,aAAa,GACd;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC1C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC;AAK5D,eAAO,MAAM,wBAAwB;uBAwCd,MAAM,YAAY,OAAO,GAAG,aAAa;4BA/B/B,MAAM,KAAG,MAAM;eA2CjC,IAAI;CAKlB,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { Hooks } from '@opencode-ai/plugin';
|
|
2
|
+
/**
|
|
3
|
+
* Extends the official SDK Hooks interface with additional hooks that OpenCode
|
|
4
|
+
* supports at runtime but does not yet document in its published types.
|
|
5
|
+
*/
|
|
6
|
+
export type ExtendedHooks = Hooks & {
|
|
7
|
+
/** Called at plugin teardown to release resources. */
|
|
8
|
+
cleanup?: () => void;
|
|
9
|
+
/** Inject custom HTTP headers into every LLM request. */
|
|
10
|
+
'chat.headers'?: (input: {
|
|
11
|
+
sessionID: string;
|
|
12
|
+
agent?: unknown;
|
|
13
|
+
}, output: {
|
|
14
|
+
headers: Record<string, string>;
|
|
15
|
+
}) => Promise<void>;
|
|
16
|
+
/** Observe or block a command before it is executed. */
|
|
17
|
+
'command.execute.before'?: (input: {
|
|
18
|
+
sessionID: string;
|
|
19
|
+
command: string;
|
|
20
|
+
arguments: string;
|
|
21
|
+
}) => Promise<void>;
|
|
22
|
+
/** Modify a built-in tool's definition (e.g. append policy notes). */
|
|
23
|
+
'tool.definition'?: (input: {
|
|
24
|
+
toolID: string;
|
|
25
|
+
}, output: {
|
|
26
|
+
description: string;
|
|
27
|
+
}) => Promise<void>;
|
|
28
|
+
/** Inject environment variables into every shell invocation. */
|
|
29
|
+
'shell.env'?: (input: unknown, output: {
|
|
30
|
+
env: Record<string, string>;
|
|
31
|
+
}) => Promise<void>;
|
|
32
|
+
/** Append text to the system prompt (experimental). */
|
|
33
|
+
'experimental.chat.system.transform'?: (input: unknown, output: {
|
|
34
|
+
system: string[];
|
|
35
|
+
}) => Promise<void>;
|
|
36
|
+
/** Mutate the chat message list sent to the LLM (experimental). */
|
|
37
|
+
'experimental.chat.messages.transform'?: (input: unknown, output: {
|
|
38
|
+
messages: Array<{
|
|
39
|
+
info?: {
|
|
40
|
+
role?: string;
|
|
41
|
+
};
|
|
42
|
+
parts: unknown[];
|
|
43
|
+
}>;
|
|
44
|
+
}) => Promise<void>;
|
|
45
|
+
/** Inject context into session compaction summaries (experimental). */
|
|
46
|
+
'experimental.session.compacting'?: (input: unknown, output: {
|
|
47
|
+
context: string[];
|
|
48
|
+
}) => Promise<void>;
|
|
49
|
+
/** Append text to completed LLM responses (experimental). */
|
|
50
|
+
'experimental.text.complete'?: (input: unknown, output: {
|
|
51
|
+
text: string;
|
|
52
|
+
}) => Promise<void>;
|
|
53
|
+
};
|
|
54
|
+
type GenericRecord = Record<string, any>;
|
|
55
|
+
export declare const createPluginHooks: ({ client, flags, agentSettings, projectRoot, }: {
|
|
56
|
+
client: any;
|
|
57
|
+
flags: GenericRecord;
|
|
58
|
+
agentSettings: GenericRecord;
|
|
59
|
+
projectRoot?: string;
|
|
60
|
+
}) => ExtendedHooks;
|
|
61
|
+
export {};
|
|
62
|
+
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/hooks.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAgCjD;;;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,aAwdH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/log.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,IAAI,GAAU,MAAM,MAAM,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,IAAI,CAOvF,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type FrontmatterData = Record<string, unknown>;
|
|
2
|
+
export declare function loadMarkdownDefs(dirs: Array<string | undefined>): Promise<Map<string, {
|
|
3
|
+
data: FrontmatterData;
|
|
4
|
+
body: string;
|
|
5
|
+
source: string;
|
|
6
|
+
}>>;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=markdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/markdown.ts"],"names":[],"mappings":"AAGA,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA0E/C,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;UAC/B,eAAe;UAAQ,MAAM;YAAU,MAAM;IAcnF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/mcp.ts"],"names":[],"mappings":"AAOA,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAoBxE;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI,CAON"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const blocked: (value: unknown) => boolean;
|
|
2
|
+
export declare const tokenizedBashBlocked: (command: unknown) => boolean;
|
|
3
|
+
export declare const flagged: (value: string) => string[];
|
|
4
|
+
export declare const risky: (value: unknown) => boolean;
|
|
5
|
+
//# sourceMappingURL=policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/policy.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,KAAG,OAQxC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,SAAS,OAAO,KAAG,OA2BvD,CAAC;AAKF,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,KAAG,MAAM,EACU,CAAC;AAEzD,eAAO,MAAM,KAAK,GAAI,OAAO,OAAO,KAAG,OAGtC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PromptClient } from './types.ts';
|
|
2
|
+
export declare const createQualityController: ({ flags, client, }: {
|
|
3
|
+
flags: Record<string, any>;
|
|
4
|
+
client: PromptClient;
|
|
5
|
+
}) => {
|
|
6
|
+
handleQualityEvent: (event: {
|
|
7
|
+
type?: string;
|
|
8
|
+
properties?: any;
|
|
9
|
+
}) => Promise<void>;
|
|
10
|
+
recordQualityEvidence: (sessionID: string | undefined, command: unknown) => void;
|
|
11
|
+
trackEdit: (sessionID: string | undefined, filePath: string | undefined) => void;
|
|
12
|
+
cleanup: () => void;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=quality.d.ts.map
|
|
@@ -0,0 +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;;CAwFtF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiC,MAAM,gBAAgB,CAAC;AAG7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAgBhD,wBAAsB,mBAAmB,IAAI,OAAO,CAAC;IACnD,KAAK,EAAE,OAAO,YAAY,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC,CA8BD"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared session-tracking abstraction used by telemetry, quality, and supervision.
|
|
3
|
+
* Eliminates the triplicated Map + cleanup + eviction + interval pattern.
|
|
4
|
+
*/
|
|
5
|
+
export type SessionTrackerConfig<T> = {
|
|
6
|
+
/** Extract the last-activity timestamp from an entry. */
|
|
7
|
+
getActivityTime: (entry: T) => number;
|
|
8
|
+
/** Optional extra cleanup when removing an entry (beyond map.delete). */
|
|
9
|
+
onRemove?: (key: string) => void;
|
|
10
|
+
/** Interval between stale-session cleanup sweeps. Default: 5 minutes. */
|
|
11
|
+
cleanupIntervalMs?: number;
|
|
12
|
+
/** Time after which an inactive session is considered stale. Default: 30 minutes. */
|
|
13
|
+
staleTtlMs?: number;
|
|
14
|
+
/** Maximum tracked entries before eviction kicks in. Default: 200. */
|
|
15
|
+
maxTracked?: number;
|
|
16
|
+
/** Fraction of entries to evict when limit is exceeded. Default: 0.2. */
|
|
17
|
+
evictionFraction?: number;
|
|
18
|
+
/** Whether to start the periodic cleanup interval. */
|
|
19
|
+
enabled: boolean;
|
|
20
|
+
};
|
|
21
|
+
export type SessionTracker<T> = {
|
|
22
|
+
/** The underlying Map of tracked entries. */
|
|
23
|
+
entries: Map<string, T>;
|
|
24
|
+
/** Remove entries whose activity time exceeds the stale TTL. */
|
|
25
|
+
cleanupStale: (now?: number) => void;
|
|
26
|
+
/** Evict oldest entries if the map exceeds maxTracked. */
|
|
27
|
+
enforceLimit: () => void;
|
|
28
|
+
/** Stop the periodic cleanup interval. */
|
|
29
|
+
cleanup: () => void;
|
|
30
|
+
};
|
|
31
|
+
export declare function createSessionTracker<T>(config: SessionTrackerConfig<T>): SessionTracker<T>;
|
|
32
|
+
//# sourceMappingURL=session-tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-tracker.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/session-tracker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IACpC,yDAAyD;IACzD,eAAe,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC;IACtC,yEAAyE;IACzE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,yEAAyE;IACzE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC9B,6CAA6C;IAC7C,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACxB,gEAAgE;IAChE,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,0DAA0D;IAC1D,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CA6C1F"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
type SkillManifest = {
|
|
2
|
+
name: string;
|
|
3
|
+
version?: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
triggers: string[];
|
|
6
|
+
applicable_agents: string[];
|
|
7
|
+
max_context_tokens: number;
|
|
8
|
+
entry_file?: string;
|
|
9
|
+
};
|
|
10
|
+
type SkillEntry = {
|
|
11
|
+
path: string;
|
|
12
|
+
manifest: SkillManifest;
|
|
13
|
+
content: string;
|
|
14
|
+
};
|
|
15
|
+
export declare function loadSkillRegistry(sources: unknown[], flags?: Record<string, unknown>): Promise<Map<string, SkillEntry>>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=skills.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/skills.ts"],"names":[],"mappings":"AAOA,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AA8CF,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,OAAO,EAAE,EAClB,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAClC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAuElC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { PromptClient } from './types.ts';
|
|
2
|
+
export declare const createSupervisionController: ({ flags, client, }: {
|
|
3
|
+
flags: Record<string, any>;
|
|
4
|
+
client: PromptClient;
|
|
5
|
+
}) => {
|
|
6
|
+
handleSupervision: (event: {
|
|
7
|
+
type?: string;
|
|
8
|
+
properties?: any;
|
|
9
|
+
}) => Promise<void>;
|
|
10
|
+
cleanup: () => void;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=supervision.d.ts.map
|
|
@@ -0,0 +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;AAS/C,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;;CA4F5F,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
type TaskStatus = 'pending' | 'claimed' | 'in_progress' | 'completed' | 'failed' | 'blocked';
|
|
2
|
+
type TaskPriority = 'high' | 'medium' | 'low';
|
|
3
|
+
type Task = {
|
|
4
|
+
id: string;
|
|
5
|
+
title: string;
|
|
6
|
+
description: string;
|
|
7
|
+
status: TaskStatus;
|
|
8
|
+
priority: TaskPriority;
|
|
9
|
+
assignedAgent?: string;
|
|
10
|
+
claimedBy?: string;
|
|
11
|
+
createdBy?: string;
|
|
12
|
+
dependencies: string[];
|
|
13
|
+
result?: string;
|
|
14
|
+
createdAt: number;
|
|
15
|
+
updatedAt: number;
|
|
16
|
+
};
|
|
17
|
+
type CreateTaskInput = {
|
|
18
|
+
title: string;
|
|
19
|
+
description: string;
|
|
20
|
+
assignedAgent?: string;
|
|
21
|
+
dependencies?: string[];
|
|
22
|
+
priority?: TaskPriority;
|
|
23
|
+
createdBy?: string;
|
|
24
|
+
};
|
|
25
|
+
type UpdateTaskInput = {
|
|
26
|
+
status?: TaskStatus;
|
|
27
|
+
result?: string;
|
|
28
|
+
assignedAgent?: string;
|
|
29
|
+
};
|
|
30
|
+
type TaskFilter = {
|
|
31
|
+
status?: string;
|
|
32
|
+
assignedAgent?: string;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* In-memory task board with optional JSON persistence under .opencode/tasks/taskboard.json.
|
|
36
|
+
* All mutating operations fire-and-forget a persist() call — failures are non-fatal.
|
|
37
|
+
*/
|
|
38
|
+
export declare const createTaskManager: (projectRoot?: string) => {
|
|
39
|
+
create: (input: CreateTaskInput) => Task;
|
|
40
|
+
update: (taskID: string, input: UpdateTaskInput) => Task | {
|
|
41
|
+
error: string;
|
|
42
|
+
};
|
|
43
|
+
list: (filter?: TaskFilter) => Task[];
|
|
44
|
+
load: () => Promise<void>;
|
|
45
|
+
};
|
|
46
|
+
export type TaskManager = ReturnType<typeof createTaskManager>;
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=task-manager.d.ts.map
|
|
@@ -0,0 +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;oBAiC7B,eAAe,KAAG,IAAI;qBAkBrB,MAAM,SAAS,eAAe,KAAG,IAAI,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;oBAW1D,UAAU,KAAG,IAAI,EAAE;gBAxCnB,OAAO,CAAC,IAAI,CAAC;CAmDrC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
type SessionTelemetryState = {
|
|
2
|
+
sessionID: string;
|
|
3
|
+
agent?: string;
|
|
4
|
+
model?: string;
|
|
5
|
+
startedAt: number;
|
|
6
|
+
lastActivityAt: number;
|
|
7
|
+
toolCalls: number;
|
|
8
|
+
toolErrors: number;
|
|
9
|
+
filesEdited: number;
|
|
10
|
+
tasksDispatched: number;
|
|
11
|
+
permissionDenied: number;
|
|
12
|
+
};
|
|
13
|
+
export declare const createTelemetryController: ({ flags }: {
|
|
14
|
+
flags: Record<string, any>;
|
|
15
|
+
}) => {
|
|
16
|
+
cleanup: () => void;
|
|
17
|
+
rememberSession(sessionID: string | undefined, extra?: Partial<SessionTelemetryState>): void;
|
|
18
|
+
trackEdit(sessionID: string | undefined): void;
|
|
19
|
+
trackToolCall(sessionID: string | undefined, extra?: Partial<SessionTelemetryState>): void;
|
|
20
|
+
trackToolError(sessionID: string | undefined, extra?: Partial<SessionTelemetryState>): void;
|
|
21
|
+
trackTaskDispatch(sessionID: string | undefined, extra?: Partial<SessionTelemetryState>): void;
|
|
22
|
+
trackPermissionDenied(sessionID: string | undefined, extra?: Partial<SessionTelemetryState>): void;
|
|
23
|
+
flushSession(sessionID: string, reason?: string): Promise<void>;
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=telemetry.d.ts.map
|
|
@@ -0,0 +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;CAC1B,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,WAAW;IAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE;;+BAoClE,MAAM,GAAG,SAAS,UACtB,OAAO,CAAC,qBAAqB,CAAC,GACpC,IAAI;yBAIc,MAAM,GAAG,SAAS,GAAG,IAAI;6BAKrB,MAAM,GAAG,SAAS,UAAS,OAAO,CAAC,qBAAqB,CAAC,GAAQ,IAAI;8BAMjF,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;CAmBnF,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { TaskManager } from './task-manager.ts';
|
|
2
|
+
export declare const createTaskTools: (taskManager: TaskManager, taskManagerReady: Promise<void>) => {
|
|
3
|
+
task_create: {
|
|
4
|
+
description: string;
|
|
5
|
+
args: {
|
|
6
|
+
title: import("zod").ZodString;
|
|
7
|
+
description: import("zod").ZodString;
|
|
8
|
+
assignedAgent: import("zod").ZodOptional<import("zod").ZodString>;
|
|
9
|
+
dependencies: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
10
|
+
priority: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
11
|
+
high: "high";
|
|
12
|
+
medium: "medium";
|
|
13
|
+
low: "low";
|
|
14
|
+
}>>;
|
|
15
|
+
};
|
|
16
|
+
execute(args: {
|
|
17
|
+
title: string;
|
|
18
|
+
description: string;
|
|
19
|
+
assignedAgent?: string | undefined;
|
|
20
|
+
dependencies?: string[] | undefined;
|
|
21
|
+
priority?: "high" | "medium" | "low" | undefined;
|
|
22
|
+
}, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
|
|
23
|
+
};
|
|
24
|
+
task_update: {
|
|
25
|
+
description: string;
|
|
26
|
+
args: {
|
|
27
|
+
taskID: import("zod").ZodString;
|
|
28
|
+
status: import("zod").ZodEnum<{
|
|
29
|
+
blocked: "blocked";
|
|
30
|
+
failed: "failed";
|
|
31
|
+
pending: "pending";
|
|
32
|
+
claimed: "claimed";
|
|
33
|
+
in_progress: "in_progress";
|
|
34
|
+
completed: "completed";
|
|
35
|
+
}>;
|
|
36
|
+
result: import("zod").ZodOptional<import("zod").ZodString>;
|
|
37
|
+
};
|
|
38
|
+
execute(args: {
|
|
39
|
+
taskID: string;
|
|
40
|
+
status: "blocked" | "failed" | "pending" | "claimed" | "in_progress" | "completed";
|
|
41
|
+
result?: string | undefined;
|
|
42
|
+
}, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
|
|
43
|
+
};
|
|
44
|
+
task_list: {
|
|
45
|
+
description: string;
|
|
46
|
+
args: {
|
|
47
|
+
status: import("zod").ZodOptional<import("zod").ZodString>;
|
|
48
|
+
assignedAgent: import("zod").ZodOptional<import("zod").ZodString>;
|
|
49
|
+
};
|
|
50
|
+
execute(args: {
|
|
51
|
+
status?: string | undefined;
|
|
52
|
+
assignedAgent?: string | undefined;
|
|
53
|
+
}, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +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,GAAI,aAAa,WAAW,EAAE,kBAAkB,OAAO,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DvF,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types used across the opencode-multiagent plugin.
|
|
3
|
+
* Centralizes type definitions to avoid duplication and inconsistency.
|
|
4
|
+
*/
|
|
5
|
+
/** A generic record with unknown values — the safe default for untyped data. */
|
|
6
|
+
export type GenericRecord = Record<string, unknown>;
|
|
7
|
+
/**
|
|
8
|
+
* Minimal client interface for injecting prompts into sessions.
|
|
9
|
+
* Matches the subset of the SDK client used by supervision, quality, and hooks.
|
|
10
|
+
*/
|
|
11
|
+
export type PromptClient = {
|
|
12
|
+
session?: {
|
|
13
|
+
prompt?: (options: {
|
|
14
|
+
path: {
|
|
15
|
+
id: string;
|
|
16
|
+
};
|
|
17
|
+
body?: {
|
|
18
|
+
parts: Array<{
|
|
19
|
+
type: string;
|
|
20
|
+
text: string;
|
|
21
|
+
}>;
|
|
22
|
+
noReply?: boolean;
|
|
23
|
+
};
|
|
24
|
+
}) => Promise<unknown>;
|
|
25
|
+
/** Fallback prompt method — some SDK versions expose this instead of `prompt`. */
|
|
26
|
+
promptAsync?: (options: {
|
|
27
|
+
sessionID: string;
|
|
28
|
+
noReply?: boolean;
|
|
29
|
+
parts: Array<{
|
|
30
|
+
type: string;
|
|
31
|
+
text: string;
|
|
32
|
+
}>;
|
|
33
|
+
}) => Promise<unknown>;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,gFAAgF;AAChF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpD;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE;YACjB,IAAI,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAC;YACrB,IAAI,CAAC,EAAE;gBAAE,KAAK,EAAE,KAAK,CAAC;oBAAE,IAAI,EAAE,MAAM,CAAC;oBAAC,IAAI,EAAE,MAAM,CAAA;iBAAE,CAAC,CAAC;gBAAC,OAAO,CAAC,EAAE,OAAO,CAAA;aAAE,CAAC;SAC5E,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,kFAAkF;QAClF,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE;YACtB,SAAS,EAAE,MAAM,CAAC;YAClB,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,KAAK,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;SAC9C,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;KACxB,CAAC;CACH,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const compact: <T extends Record<string, unknown>>(value: T) => Partial<T>;
|
|
2
|
+
export declare const clip: (value: unknown, size?: number) => string | undefined;
|
|
3
|
+
export declare const text: (parts: unknown) => string;
|
|
4
|
+
export declare const label: (value: unknown, keys?: string[]) => string | undefined;
|
|
5
|
+
export declare const own: (value: unknown, key: string) => boolean;
|
|
6
|
+
export declare const clone: <T>(value: T) => T;
|
|
7
|
+
export declare const readJSON: <T>(path: string, fallback: T) => Promise<T>;
|
|
8
|
+
export declare const merge: <T>(base: T, extra: unknown) => T;
|
|
9
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/utils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,CAAC,CACmB,CAAC;AAEnG,eAAO,MAAM,IAAI,GAAI,OAAO,OAAO,EAAE,aAAU,KAAG,MAAM,GAAG,SAI1D,CAAC;AAIF,eAAO,MAAM,IAAI,GAAI,OAAO,OAAO,KAAG,MAS9B,CAAC;AAET,eAAO,MAAM,KAAK,GAChB,OAAO,OAAO,EACd,eAA8C,KAC7C,MAAM,GAAG,SAQX,CAAC;AAEF,eAAO,MAAM,GAAG,GAAI,OAAO,OAAO,EAAE,KAAK,MAAM,KAAG,OACkB,CAAC;AAErE,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,CAGnC,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAU,CAAC,EAAE,MAAM,MAAM,EAAE,UAAU,CAAC,KAAG,OAAO,CAAC,CAAC,CAMtE,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,OAAO,KAAG,CAqBlD,CAAC"}
|