opencode-multiagent 0.2.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.
Files changed (160) hide show
  1. package/AGENTS.md +83 -0
  2. package/CHANGELOG.md +31 -0
  3. package/CONTRIBUTING.md +36 -0
  4. package/README.md +44 -168
  5. package/README.tr.md +84 -0
  6. package/RELEASE.md +68 -0
  7. package/agents/AGENTS.md +91 -0
  8. package/agents/auditor.md +67 -23
  9. package/agents/{worker.md → coder.md} +24 -17
  10. package/agents/docmaster.md +91 -0
  11. package/agents/executor.md +63 -79
  12. package/agents/planner.md +78 -58
  13. package/agents/reviewer.md +31 -15
  14. package/agents/scout.md +25 -17
  15. package/agents/sec-coder.md +83 -0
  16. package/agents/ui-coder.md +77 -0
  17. package/commands/board.md +17 -0
  18. package/commands/execute.md +9 -7
  19. package/commands/init-deep.md +7 -6
  20. package/commands/init.md +5 -5
  21. package/commands/inspect.md +6 -5
  22. package/commands/plan.md +8 -6
  23. package/commands/quality.md +4 -3
  24. package/commands/review.md +5 -3
  25. package/commands/status.md +5 -3
  26. package/defaults/AGENTS.md +48 -0
  27. package/defaults/opencode-multiagent.json +180 -0
  28. package/defaults/opencode-multiagent.schema.json +265 -0
  29. package/dist/control-plane.d.ts +4 -0
  30. package/dist/control-plane.d.ts.map +1 -0
  31. package/dist/index.d.ts +5 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +1916 -0
  34. package/dist/opencode-multiagent/compiler.d.ts +25 -0
  35. package/dist/opencode-multiagent/compiler.d.ts.map +1 -0
  36. package/dist/opencode-multiagent/constants.d.ts +128 -0
  37. package/dist/opencode-multiagent/constants.d.ts.map +1 -0
  38. package/dist/opencode-multiagent/correlation.d.ts +21 -0
  39. package/dist/opencode-multiagent/correlation.d.ts.map +1 -0
  40. package/dist/opencode-multiagent/defaults.d.ts +10 -0
  41. package/dist/opencode-multiagent/defaults.d.ts.map +1 -0
  42. package/dist/opencode-multiagent/hooks.d.ts +62 -0
  43. package/dist/opencode-multiagent/hooks.d.ts.map +1 -0
  44. package/dist/opencode-multiagent/log.d.ts +2 -0
  45. package/dist/opencode-multiagent/log.d.ts.map +1 -0
  46. package/dist/opencode-multiagent/markdown.d.ts +8 -0
  47. package/dist/opencode-multiagent/markdown.d.ts.map +1 -0
  48. package/dist/opencode-multiagent/mcp.d.ts +3 -0
  49. package/dist/opencode-multiagent/mcp.d.ts.map +1 -0
  50. package/dist/opencode-multiagent/policy.d.ts +5 -0
  51. package/dist/opencode-multiagent/policy.d.ts.map +1 -0
  52. package/dist/opencode-multiagent/quality.d.ts +18 -0
  53. package/dist/opencode-multiagent/quality.d.ts.map +1 -0
  54. package/dist/opencode-multiagent/runtime.d.ts +7 -0
  55. package/dist/opencode-multiagent/runtime.d.ts.map +1 -0
  56. package/dist/opencode-multiagent/session-tracker.d.ts +32 -0
  57. package/dist/opencode-multiagent/session-tracker.d.ts.map +1 -0
  58. package/dist/opencode-multiagent/skills.d.ts +17 -0
  59. package/dist/opencode-multiagent/skills.d.ts.map +1 -0
  60. package/dist/opencode-multiagent/supervision.d.ts +26 -0
  61. package/dist/opencode-multiagent/supervision.d.ts.map +1 -0
  62. package/dist/opencode-multiagent/task-manager.d.ts +54 -0
  63. package/dist/opencode-multiagent/task-manager.d.ts.map +1 -0
  64. package/dist/opencode-multiagent/telemetry.d.ts +28 -0
  65. package/dist/opencode-multiagent/telemetry.d.ts.map +1 -0
  66. package/dist/opencode-multiagent/tools.d.ts +87 -0
  67. package/dist/opencode-multiagent/tools.d.ts.map +1 -0
  68. package/dist/opencode-multiagent/types.d.ts +36 -0
  69. package/dist/opencode-multiagent/types.d.ts.map +1 -0
  70. package/dist/opencode-multiagent/utils.d.ts +9 -0
  71. package/dist/opencode-multiagent/utils.d.ts.map +1 -0
  72. package/docs/agents.md +148 -0
  73. package/docs/agents.tr.md +149 -0
  74. package/docs/configuration.md +244 -0
  75. package/docs/configuration.tr.md +244 -0
  76. package/docs/usage-guide.md +224 -0
  77. package/docs/usage-guide.tr.md +225 -0
  78. package/examples/opencode.with-overrides.json +3 -7
  79. package/package.json +23 -13
  80. package/skills/AGENTS.md +51 -0
  81. package/skills/advanced-evaluation/SKILL.md +37 -21
  82. package/skills/advanced-evaluation/manifest.json +2 -13
  83. package/skills/cek-context-engineering/SKILL.md +159 -87
  84. package/skills/cek-context-engineering/manifest.json +1 -3
  85. package/skills/cek-prompt-engineering/SKILL.md +13 -10
  86. package/skills/cek-prompt-engineering/manifest.json +1 -3
  87. package/skills/cek-test-prompt/SKILL.md +38 -28
  88. package/skills/cek-test-prompt/manifest.json +1 -3
  89. package/skills/cek-thought-based-reasoning/SKILL.md +75 -21
  90. package/skills/cek-thought-based-reasoning/manifest.json +1 -3
  91. package/skills/context-degradation/SKILL.md +14 -13
  92. package/skills/context-degradation/manifest.json +1 -3
  93. package/skills/debate/SKILL.md +23 -78
  94. package/skills/debate/manifest.json +2 -12
  95. package/skills/design-first/manifest.json +2 -13
  96. package/skills/dispatching-parallel-agents/SKILL.md +14 -3
  97. package/skills/dispatching-parallel-agents/manifest.json +1 -4
  98. package/skills/drift-analysis/SKILL.md +50 -29
  99. package/skills/drift-analysis/manifest.json +2 -12
  100. package/skills/evaluation/manifest.json +2 -12
  101. package/skills/executing-plans/SKILL.md +15 -8
  102. package/skills/executing-plans/manifest.json +1 -3
  103. package/skills/handoff-protocols/manifest.json +2 -12
  104. package/skills/parallel-investigation/SKILL.md +25 -12
  105. package/skills/parallel-investigation/manifest.json +1 -4
  106. package/skills/reflexion-critique/SKILL.md +21 -10
  107. package/skills/reflexion-critique/manifest.json +1 -3
  108. package/skills/reflexion-reflect/SKILL.md +36 -34
  109. package/skills/reflexion-reflect/manifest.json +2 -10
  110. package/skills/root-cause-analysis/manifest.json +2 -13
  111. package/skills/sadd-judge-with-debate/SKILL.md +50 -26
  112. package/skills/sadd-judge-with-debate/manifest.json +1 -3
  113. package/skills/structured-code-review/manifest.json +2 -11
  114. package/skills/task-decomposition/manifest.json +2 -13
  115. package/skills/verification-before-completion/manifest.json +2 -15
  116. package/skills/verification-gates/SKILL.md +27 -19
  117. package/skills/verification-gates/manifest.json +2 -12
  118. package/agents/advisor.md +0 -57
  119. package/agents/critic.md +0 -127
  120. package/agents/deep-worker.md +0 -65
  121. package/agents/devil.md +0 -36
  122. package/agents/heavy-worker.md +0 -68
  123. package/agents/lead.md +0 -155
  124. package/agents/librarian.md +0 -62
  125. package/agents/qa.md +0 -50
  126. package/agents/quick.md +0 -65
  127. package/agents/scribe.md +0 -78
  128. package/agents/strategist.md +0 -63
  129. package/agents/ui-heavy-worker.md +0 -62
  130. package/agents/ui-worker.md +0 -69
  131. package/agents/validator.md +0 -47
  132. package/defaults/agent-settings.json +0 -102
  133. package/defaults/agent-settings.schema.json +0 -25
  134. package/defaults/flags.json +0 -35
  135. package/defaults/flags.schema.json +0 -119
  136. package/defaults/mcp-defaults.json +0 -47
  137. package/defaults/mcp-defaults.schema.json +0 -38
  138. package/defaults/profiles.json +0 -53
  139. package/defaults/profiles.schema.json +0 -60
  140. package/defaults/team-profiles.json +0 -83
  141. package/src/control-plane.ts +0 -21
  142. package/src/index.ts +0 -8
  143. package/src/opencode-multiagent/compiler.ts +0 -168
  144. package/src/opencode-multiagent/constants.ts +0 -178
  145. package/src/opencode-multiagent/file-lock.ts +0 -90
  146. package/src/opencode-multiagent/hooks.ts +0 -599
  147. package/src/opencode-multiagent/log.ts +0 -12
  148. package/src/opencode-multiagent/mailbox.ts +0 -287
  149. package/src/opencode-multiagent/markdown.ts +0 -99
  150. package/src/opencode-multiagent/mcp.ts +0 -35
  151. package/src/opencode-multiagent/policy.ts +0 -67
  152. package/src/opencode-multiagent/quality.ts +0 -140
  153. package/src/opencode-multiagent/runtime.ts +0 -55
  154. package/src/opencode-multiagent/skills.ts +0 -144
  155. package/src/opencode-multiagent/supervision.ts +0 -156
  156. package/src/opencode-multiagent/task-manager.ts +0 -148
  157. package/src/opencode-multiagent/team-manager.ts +0 -219
  158. package/src/opencode-multiagent/team-tools.ts +0 -359
  159. package/src/opencode-multiagent/telemetry.ts +0 -124
  160. package/src/opencode-multiagent/utils.ts +0 -54
@@ -0,0 +1,25 @@
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
+ 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;
20
+ export declare function compileCommands(cfg: MergedConfig, dirs: Array<string | undefined>): Promise<void>;
21
+ export declare const applyBuiltInAgentPolicy: (cfg: MergedConfig) => Promise<void>;
22
+ export declare const applyPermissionDefaults: (cfg: MergedConfig) => void;
23
+ export declare const matchesMcpPermission: (tool: string, registry?: McpPermissionRegistry) => boolean;
24
+ export type { MergedConfig, McpPermissionRegistry, TaskRoutingRegistry };
25
+ //# 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;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"}
@@ -0,0 +1,128 @@
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
+ task_lifecycle: boolean;
33
+ quality_gate_enforcement: boolean;
34
+ concurrency_limit: number;
35
+ experimental: {
36
+ chat_system_transform: boolean;
37
+ chat_messages_transform: boolean;
38
+ session_compacting: boolean;
39
+ text_complete: boolean;
40
+ };
41
+ };
42
+ standard: {
43
+ enforcement: boolean;
44
+ observation: boolean;
45
+ prompt_controls: boolean;
46
+ agent_compilation: boolean;
47
+ command_compilation: boolean;
48
+ mcp_compilation: boolean;
49
+ telemetry: boolean;
50
+ supervision: boolean;
51
+ quality_gate: boolean;
52
+ task_lifecycle: boolean;
53
+ quality_gate_enforcement: boolean;
54
+ concurrency_limit: number;
55
+ skill_sources: string[];
56
+ skill_injection: boolean;
57
+ experimental: {
58
+ chat_system_transform: boolean;
59
+ chat_messages_transform: boolean;
60
+ session_compacting: boolean;
61
+ text_complete: boolean;
62
+ };
63
+ };
64
+ strict: {
65
+ enforcement: boolean;
66
+ observation: boolean;
67
+ prompt_controls: boolean;
68
+ agent_compilation: boolean;
69
+ command_compilation: boolean;
70
+ mcp_compilation: boolean;
71
+ telemetry: boolean;
72
+ supervision: boolean;
73
+ quality_gate: boolean;
74
+ task_lifecycle: boolean;
75
+ quality_gate_enforcement: boolean;
76
+ concurrency_limit: number;
77
+ experimental: {
78
+ chat_system_transform: boolean;
79
+ chat_messages_transform: boolean;
80
+ session_compacting: boolean;
81
+ text_complete: boolean;
82
+ };
83
+ };
84
+ };
85
+ export declare const defaultFlags: {
86
+ profile: string;
87
+ enforcement: boolean;
88
+ observation: boolean;
89
+ prompt_controls: boolean;
90
+ agent_compilation: boolean;
91
+ command_compilation: boolean;
92
+ mcp_compilation: boolean;
93
+ telemetry: boolean;
94
+ supervision: boolean;
95
+ quality_gate: boolean;
96
+ task_lifecycle: boolean;
97
+ quality_gate_enforcement: boolean;
98
+ concurrency_limit: number;
99
+ skill_sources: string[];
100
+ skill_injection: boolean;
101
+ compiler: {
102
+ permission_compilation: boolean;
103
+ };
104
+ experimental: {
105
+ chat_system_transform: boolean;
106
+ chat_messages_transform: boolean;
107
+ session_compacting: boolean;
108
+ text_complete: boolean;
109
+ };
110
+ supervision_config: {
111
+ idle_timeout_ms: number;
112
+ cooldown_ms: number;
113
+ };
114
+ quality_config: {
115
+ reminder_idle_ms: number;
116
+ reminder_cooldown_ms: number;
117
+ };
118
+ };
119
+ export declare const disabledNativeAgents: string[];
120
+ export declare const blockedPathPrefixRegex: RegExp;
121
+ export declare const blockedPathFragments: string[];
122
+ export declare const blockedPathSuffixes: string[];
123
+ export declare const destructiveBashFragments: string[];
124
+ export declare const sensitiveMentions: string[];
125
+ export declare const experimentalText = "[opencode-multiagent experimental] Experimental control-plane transforms are active for this session.";
126
+ export type DefaultFlags = typeof defaultFlags;
127
+ export type DefaultProfiles = typeof defaultProfiles;
128
+ //# 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,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"}
@@ -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,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":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const note: (kind: string, payload: Record<string, unknown>) => Promise<void>;
2
+ //# sourceMappingURL=log.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -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,3 @@
1
+ export declare function loadMcpDefaults(): Promise<Record<string, unknown>>;
2
+ export declare function applyMcpDefaults(cfg: Record<string, unknown>, defaults: Record<string, unknown>): void;
3
+ //# sourceMappingURL=mcp.d.ts.map
@@ -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,18 @@
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
+ hasQualityEvidence: (sessionID: string) => {
13
+ passed: boolean;
14
+ reason?: string;
15
+ };
16
+ cleanup: () => void;
17
+ };
18
+ //# 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;oCAmFxE,MAAM,KAChB;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;;CAiBxC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { defaultFlags } from './constants.ts';
2
+ import type { GenericRecord } from './types.ts';
3
+ export declare function loadRuntimeSettings(): Promise<{
4
+ flags: typeof defaultFlags;
5
+ agentSettings: GenericRecord;
6
+ }>;
7
+ //# sourceMappingURL=runtime.d.ts.map
@@ -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,26 @@
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
+ };
10
+ export declare const createSupervisionController: ({ flags, client, }: {
11
+ flags: Record<string, any>;
12
+ client: PromptClient;
13
+ }) => {
14
+ handleSupervision: (event: {
15
+ type?: string;
16
+ properties?: any;
17
+ }) => Promise<void>;
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;
24
+ };
25
+ export {};
26
+ //# 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;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"}
@@ -0,0 +1,54 @@
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
+ sessionID?: string;
15
+ createdAt: number;
16
+ updatedAt: number;
17
+ };
18
+ type CreateTaskInput = {
19
+ title: string;
20
+ description: string;
21
+ assignedAgent?: string;
22
+ dependencies?: string[];
23
+ priority?: TaskPriority;
24
+ createdBy?: string;
25
+ };
26
+ type UpdateTaskInput = {
27
+ status?: TaskStatus;
28
+ result?: string;
29
+ assignedAgent?: string;
30
+ };
31
+ type TaskFilter = {
32
+ status?: string;
33
+ assignedAgent?: string;
34
+ };
35
+ /**
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.
38
+ */
39
+ export declare const createTaskManager: (projectRoot?: string) => {
40
+ create: (input: CreateTaskInput) => Task;
41
+ update: (taskID: string, input: UpdateTaskInput) => Task | {
42
+ error: string;
43
+ };
44
+ get: (taskID: string) => Task | {
45
+ error: string;
46
+ };
47
+ list: (filter?: TaskFilter) => Task[];
48
+ load: () => Promise<void>;
49
+ getActiveSummary: () => string;
50
+ linkSession: (taskID: string, sessionID: string) => boolean;
51
+ };
52
+ export type TaskManager = ReturnType<typeof createTaskManager>;
53
+ export {};
54
+ //# 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,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"}
@@ -0,0 +1,28 @@
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
+ flushed: boolean;
13
+ };
14
+ export declare const createTelemetryController: ({ flags }: {
15
+ flags: Record<string, any>;
16
+ }) => {
17
+ cleanup: () => void;
18
+ rememberSession(sessionID: string | undefined, extra?: Partial<SessionTelemetryState>): void;
19
+ trackEdit(sessionID: string | undefined): void;
20
+ trackToolCall(sessionID: string | undefined, extra?: Partial<SessionTelemetryState>): void;
21
+ trackToolError(sessionID: string | undefined, extra?: Partial<SessionTelemetryState>): void;
22
+ trackTaskDispatch(sessionID: string | undefined, extra?: Partial<SessionTelemetryState>): void;
23
+ trackPermissionDenied(sessionID: string | undefined, extra?: Partial<SessionTelemetryState>): void;
24
+ flushSession(sessionID: string, reason?: string): Promise<void>;
25
+ flushAll(): Promise<void>;
26
+ };
27
+ export {};
28
+ //# 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;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"}
@@ -0,0 +1,87 @@
1
+ import type { CorrelationController } from './correlation.ts';
2
+ import type { TaskManager } from './task-manager.ts';
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) => {
11
+ task_create: {
12
+ description: string;
13
+ args: {
14
+ title: import("zod").ZodString;
15
+ description: import("zod").ZodString;
16
+ assignedAgent: import("zod").ZodOptional<import("zod").ZodString>;
17
+ dependencies: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
18
+ priority: import("zod").ZodOptional<import("zod").ZodEnum<{
19
+ high: "high";
20
+ medium: "medium";
21
+ low: "low";
22
+ }>>;
23
+ };
24
+ execute(args: {
25
+ title: string;
26
+ description: string;
27
+ assignedAgent?: string | undefined;
28
+ dependencies?: string[] | undefined;
29
+ priority?: "high" | "medium" | "low" | undefined;
30
+ }, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
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
+ };
43
+ task_update: {
44
+ description: string;
45
+ args: {
46
+ taskID: import("zod").ZodString;
47
+ status: import("zod").ZodEnum<{
48
+ blocked: "blocked";
49
+ failed: "failed";
50
+ pending: "pending";
51
+ claimed: "claimed";
52
+ in_progress: "in_progress";
53
+ completed: "completed";
54
+ }>;
55
+ result: import("zod").ZodOptional<import("zod").ZodString>;
56
+ force: import("zod").ZodOptional<import("zod").ZodBoolean>;
57
+ };
58
+ execute(args: {
59
+ taskID: string;
60
+ status: "blocked" | "failed" | "pending" | "claimed" | "in_progress" | "completed";
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;
72
+ }, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
73
+ };
74
+ task_list: {
75
+ description: string;
76
+ args: {
77
+ status: import("zod").ZodOptional<import("zod").ZodString>;
78
+ assignedAgent: import("zod").ZodOptional<import("zod").ZodString>;
79
+ };
80
+ execute(args: {
81
+ status?: string | undefined;
82
+ assignedAgent?: string | undefined;
83
+ }, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
84
+ };
85
+ };
86
+ export {};
87
+ //# 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,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"}