lv24-opencode-consilium 0.0.0-stage → 1.4.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.
Files changed (106) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +511 -3
  3. package/bin/cli.js +19 -0
  4. package/bin/mcp.js +24 -0
  5. package/consilium.config.example.json +84 -0
  6. package/dist/agents.d.ts +79 -0
  7. package/dist/agents.d.ts.map +1 -0
  8. package/dist/agents.js +1051 -0
  9. package/dist/agents.js.map +1 -0
  10. package/dist/artifacts.d.ts +75 -0
  11. package/dist/artifacts.d.ts.map +1 -0
  12. package/dist/artifacts.js +464 -0
  13. package/dist/artifacts.js.map +1 -0
  14. package/dist/cli.d.ts +12 -0
  15. package/dist/cli.d.ts.map +1 -0
  16. package/dist/cli.js +1392 -0
  17. package/dist/cli.js.map +1 -0
  18. package/dist/compat.d.ts +160 -0
  19. package/dist/compat.d.ts.map +1 -0
  20. package/dist/compat.js +419 -0
  21. package/dist/compat.js.map +1 -0
  22. package/dist/config.d.ts +112 -0
  23. package/dist/config.d.ts.map +1 -0
  24. package/dist/config.js +728 -0
  25. package/dist/config.js.map +1 -0
  26. package/dist/consensus.d.ts +73 -0
  27. package/dist/consensus.d.ts.map +1 -0
  28. package/dist/consensus.js +273 -0
  29. package/dist/consensus.js.map +1 -0
  30. package/dist/defaults.d.ts +34 -0
  31. package/dist/defaults.d.ts.map +1 -0
  32. package/dist/defaults.js +102 -0
  33. package/dist/defaults.js.map +1 -0
  34. package/dist/doctor.d.ts +27 -0
  35. package/dist/doctor.d.ts.map +1 -0
  36. package/dist/doctor.js +798 -0
  37. package/dist/doctor.js.map +1 -0
  38. package/dist/fallback.d.ts +50 -0
  39. package/dist/fallback.d.ts.map +1 -0
  40. package/dist/fallback.js +134 -0
  41. package/dist/fallback.js.map +1 -0
  42. package/dist/git.d.ts +28 -0
  43. package/dist/git.d.ts.map +1 -0
  44. package/dist/git.js +71 -0
  45. package/dist/git.js.map +1 -0
  46. package/dist/index.d.ts +100 -0
  47. package/dist/index.d.ts.map +1 -0
  48. package/dist/index.js +653 -0
  49. package/dist/index.js.map +1 -0
  50. package/dist/mcp.d.ts +20 -0
  51. package/dist/mcp.d.ts.map +1 -0
  52. package/dist/mcp.js +1215 -0
  53. package/dist/mcp.js.map +1 -0
  54. package/dist/models.d.ts +97 -0
  55. package/dist/models.d.ts.map +1 -0
  56. package/dist/models.js +873 -0
  57. package/dist/models.js.map +1 -0
  58. package/dist/plugin.d.ts +59 -0
  59. package/dist/plugin.d.ts.map +1 -0
  60. package/dist/plugin.js +223 -0
  61. package/dist/plugin.js.map +1 -0
  62. package/dist/presets.d.ts +27 -0
  63. package/dist/presets.d.ts.map +1 -0
  64. package/dist/presets.js +86 -0
  65. package/dist/presets.js.map +1 -0
  66. package/dist/replay.d.ts +37 -0
  67. package/dist/replay.d.ts.map +1 -0
  68. package/dist/replay.js +103 -0
  69. package/dist/replay.js.map +1 -0
  70. package/dist/report.d.ts +28 -0
  71. package/dist/report.d.ts.map +1 -0
  72. package/dist/report.js +300 -0
  73. package/dist/report.js.map +1 -0
  74. package/dist/smart-experts.d.ts +44 -0
  75. package/dist/smart-experts.d.ts.map +1 -0
  76. package/dist/smart-experts.js +242 -0
  77. package/dist/smart-experts.js.map +1 -0
  78. package/dist/stream.d.ts +50 -0
  79. package/dist/stream.d.ts.map +1 -0
  80. package/dist/stream.js +219 -0
  81. package/dist/stream.js.map +1 -0
  82. package/dist/tool-run.d.ts +49 -0
  83. package/dist/tool-run.d.ts.map +1 -0
  84. package/dist/tool-run.js +143 -0
  85. package/dist/tool-run.js.map +1 -0
  86. package/dist/types.d.ts +352 -0
  87. package/dist/types.d.ts.map +1 -0
  88. package/dist/types.js +6 -0
  89. package/dist/types.js.map +1 -0
  90. package/dist/variants.d.ts +30 -0
  91. package/dist/variants.d.ts.map +1 -0
  92. package/dist/variants.js +111 -0
  93. package/dist/variants.js.map +1 -0
  94. package/dist/verify.d.ts +33 -0
  95. package/dist/verify.d.ts.map +1 -0
  96. package/dist/verify.js +80 -0
  97. package/dist/verify.js.map +1 -0
  98. package/dist/watch.d.ts +73 -0
  99. package/dist/watch.d.ts.map +1 -0
  100. package/dist/watch.js +350 -0
  101. package/dist/watch.js.map +1 -0
  102. package/docs/README.ru.md +508 -0
  103. package/docs/README.zh.md +196 -0
  104. package/docs/session-and-plugin.md +642 -0
  105. package/package.json +88 -6
  106. package/schema/config.schema.json +100 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @fileoverview Native OpenCode V2 plugin entrypoint: registers the
3
+ * `consilium run` tool via `ctx.tool.transform`.
4
+ * @module lv24-opencode-consilium/plugin
5
+ */
6
+ import type { Plugin as PluginNamespace } from '@opencode/plugin';
7
+ import type { ConsiliumConfig } from './types.js';
8
+ export declare const TOOL_NAMESPACE = "consilium";
9
+ export declare const TOOL_NAME = "run";
10
+ /**
11
+ * JSON Schema for the `consilium run` tool input. Kept as a plain object
12
+ * (no Effect Schema needed — the tool API accepts JsonSchema).
13
+ */
14
+ export declare const CONSILIUM_TOOL_INPUT: Record<string, unknown>;
15
+ /**
16
+ * Structural subset of the real plugin context, narrow enough for fakes in tests.
17
+ */
18
+ export interface PluginContextLike {
19
+ tool: {
20
+ transform(cb: (editor: ToolEditorLike) => void): Promise<unknown>;
21
+ };
22
+ /** Активный проект OpenCode V2 */
23
+ location?: {
24
+ directory?: string;
25
+ };
26
+ }
27
+ /**
28
+ * Structural subset of the real tool editor.
29
+ */
30
+ export interface ToolEditorLike {
31
+ namespace?(value: {
32
+ name: string;
33
+ description: string;
34
+ }): void;
35
+ add(tool: {
36
+ name: string;
37
+ description: string;
38
+ input: Record<string, unknown>;
39
+ execute: (input: unknown, context: {
40
+ signal?: AbortSignal;
41
+ }) => Promise<{
42
+ content: Array<{
43
+ type: 'text';
44
+ text: string;
45
+ }>;
46
+ metadata?: Record<string, unknown>;
47
+ }>;
48
+ options?: Record<string, unknown>;
49
+ }): void;
50
+ }
51
+ /**
52
+ * Registers the `consilium run` native tool on the given plugin context.
53
+ * An optional base config is reused (cloned) for every run; when omitted,
54
+ * each run loads the config via `loadConfig()`.
55
+ */
56
+ export declare function registerConsilium(ctx: PluginContextLike, config?: ConsiliumConfig): Promise<void>;
57
+ declare const plugin: PluginNamespace.Plugin;
58
+ export default plugin;
59
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,eAAO,MAAM,cAAc,cAAc,CAAC;AAC1C,eAAO,MAAM,SAAS,QAAQ,CAAC;AAQ/B;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAuDxD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE;QAAE,SAAS,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC;IAC5E,kCAAkC;IAClC,QAAQ,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/D,GAAG,CAAC,IAAI,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,OAAO,EAAE,CACP,KAAK,EAAE,OAAO,EACd,OAAO,EAAE;YAAE,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE,KAC9B,OAAO,CAAC;YACX,OAAO,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;YAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACpC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,GAAG,IAAI,CAAC;CACV;AA4HD;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,iBAAiB,EACtB,MAAM,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAoCf;AAED,QAAA,MAAM,MAAM,EAAE,eAAe,CAAC,MAG7B,CAAC;AAEF,eAAe,MAAM,CAAC"}
package/dist/plugin.js ADDED
@@ -0,0 +1,223 @@
1
+ /**
2
+ * @fileoverview Native OpenCode V2 plugin entrypoint: registers the
3
+ * `consilium run` tool via `ctx.tool.transform`.
4
+ * @module lv24-opencode-consilium/plugin
5
+ */
6
+ import { runConsiliumTool } from './tool-run.js';
7
+ export const TOOL_NAMESPACE = 'consilium';
8
+ export const TOOL_NAME = 'run';
9
+ const TOOL_DESCRIPTION = 'Run a council of expert AI agents through the OpenCode CLI. ' +
10
+ 'Experts analyze the task in parallel and the chair synthesizes the final answer.';
11
+ const PRESET_VALUES = ['fast', 'deep', 'security', 'review', 'free'];
12
+ /**
13
+ * JSON Schema for the `consilium run` tool input. Kept as a plain object
14
+ * (no Effect Schema needed — the tool API accepts JsonSchema).
15
+ */
16
+ export const CONSILIUM_TOOL_INPUT = {
17
+ type: 'object',
18
+ properties: {
19
+ task: {
20
+ type: 'string',
21
+ minLength: 1,
22
+ description: 'Task for the expert council.'
23
+ },
24
+ experts: {
25
+ type: 'array',
26
+ items: { type: 'string' },
27
+ description: 'Expert agent names to use (default: all enabled experts).'
28
+ },
29
+ chair: {
30
+ type: 'string',
31
+ description: 'Chair agent name (default: from configuration).'
32
+ },
33
+ timeout_ms: {
34
+ type: 'number',
35
+ exclusiveMinimum: 0,
36
+ description: 'Timeout per expert in milliseconds.'
37
+ },
38
+ consensus: {
39
+ type: 'boolean',
40
+ description: 'Include expert agreement analysis in the chair prompt and the report.'
41
+ },
42
+ smart_experts: {
43
+ type: 'boolean',
44
+ description: 'Pick 2-3 relevant experts for the task instead of running all enabled experts.'
45
+ },
46
+ max_cost: {
47
+ type: 'number',
48
+ minimum: 0,
49
+ description: 'Maximum run cost in USD. When exceeded, the chair is not started.'
50
+ },
51
+ fallback_models: {
52
+ type: 'array',
53
+ items: { type: 'string' },
54
+ description: 'Models tried in order when an expert hits RATE_LIMITED or MODEL_UNAVAILABLE.'
55
+ },
56
+ session: {
57
+ type: 'string',
58
+ description: 'OpenCode session base id; each agent continues its own session.'
59
+ },
60
+ artifacts: {
61
+ type: ['boolean', 'string'],
62
+ description: 'Save the run to .consilium/runs (true) or to the given directory.'
63
+ },
64
+ preset: {
65
+ type: 'string',
66
+ enum: [...PRESET_VALUES],
67
+ description: 'Configuration preset applied before the run.'
68
+ }
69
+ },
70
+ required: ['task']
71
+ };
72
+ function isRecord(value) {
73
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
74
+ }
75
+ function optionalString(args, key) {
76
+ const value = args[key];
77
+ if (value === undefined || value === null)
78
+ return undefined;
79
+ if (typeof value !== 'string') {
80
+ throw new Error(`"${key}" must be a string`);
81
+ }
82
+ return value;
83
+ }
84
+ function requireNonEmptyString(args, key) {
85
+ const value = optionalString(args, key);
86
+ if (value === undefined || value.trim().length === 0) {
87
+ throw new Error(`"${key}" is required and must be a non-empty string`);
88
+ }
89
+ return value;
90
+ }
91
+ function optionalStringArray(args, key) {
92
+ const value = args[key];
93
+ if (value === undefined || value === null)
94
+ return undefined;
95
+ if (!Array.isArray(value)) {
96
+ throw new Error(`"${key}" must be an array of strings`);
97
+ }
98
+ const items = [];
99
+ for (const item of value) {
100
+ if (typeof item !== 'string') {
101
+ throw new Error(`"${key}" must be an array of strings`);
102
+ }
103
+ items.push(item);
104
+ }
105
+ return items;
106
+ }
107
+ function optionalPositiveNumber(args, key) {
108
+ const value = args[key];
109
+ if (value === undefined || value === null)
110
+ return undefined;
111
+ if (typeof value !== 'number' || !Number.isFinite(value) || value <= 0) {
112
+ throw new Error(`"${key}" must be a positive number`);
113
+ }
114
+ return value;
115
+ }
116
+ function optionalNonNegativeNumber(args, key) {
117
+ const value = args[key];
118
+ if (value === undefined || value === null)
119
+ return undefined;
120
+ if (typeof value !== 'number' || !Number.isFinite(value) || value < 0) {
121
+ throw new Error(`"${key}" must be a number >= 0`);
122
+ }
123
+ return value;
124
+ }
125
+ function optionalBoolean(args, key) {
126
+ const value = args[key];
127
+ if (value === undefined || value === null)
128
+ return undefined;
129
+ if (typeof value !== 'boolean') {
130
+ throw new Error(`"${key}" must be a boolean`);
131
+ }
132
+ return value;
133
+ }
134
+ function optionalPreset(args, key) {
135
+ const value = optionalString(args, key);
136
+ if (value === undefined)
137
+ return undefined;
138
+ if (!PRESET_VALUES.includes(value)) {
139
+ throw new Error(`"${key}" must be one of: ${PRESET_VALUES.join(', ')}`);
140
+ }
141
+ return value;
142
+ }
143
+ function optionalArtifacts(args, key) {
144
+ const value = args[key];
145
+ if (value === undefined || value === null)
146
+ return undefined;
147
+ if (typeof value === 'boolean' || typeof value === 'string')
148
+ return value;
149
+ throw new Error(`"${key}" must be a boolean or a string path`);
150
+ }
151
+ /**
152
+ * Validates raw tool input into typed {@link ToolRunArgs}.
153
+ * Throws a plain Error on bad types (never `any`).
154
+ */
155
+ function parseToolArgs(input) {
156
+ if (!isRecord(input)) {
157
+ throw new Error('Tool input must be an object');
158
+ }
159
+ return {
160
+ task: requireNonEmptyString(input, 'task'),
161
+ experts: optionalStringArray(input, 'experts'),
162
+ chair: optionalString(input, 'chair'),
163
+ timeoutMs: optionalPositiveNumber(input, 'timeout_ms'),
164
+ consensus: optionalBoolean(input, 'consensus'),
165
+ smartExperts: optionalBoolean(input, 'smart_experts'),
166
+ maxCost: optionalNonNegativeNumber(input, 'max_cost'),
167
+ fallbackModels: optionalStringArray(input, 'fallback_models'),
168
+ session: optionalString(input, 'session'),
169
+ artifacts: optionalArtifacts(input, 'artifacts'),
170
+ preset: optionalPreset(input, 'preset')
171
+ };
172
+ }
173
+ function describeError(error) {
174
+ return error instanceof Error ? error.message : String(error);
175
+ }
176
+ /**
177
+ * Registers the `consilium run` native tool on the given plugin context.
178
+ * An optional base config is reused (cloned) for every run; when omitted,
179
+ * each run loads the config via `loadConfig()`.
180
+ */
181
+ export async function registerConsilium(ctx, config) {
182
+ const workspace = ctx.location?.directory;
183
+ await ctx.tool.transform(editor => {
184
+ editor.namespace?.({
185
+ name: TOOL_NAMESPACE,
186
+ description: 'Council of expert AI agents (Consilium)'
187
+ });
188
+ editor.add({
189
+ name: TOOL_NAME,
190
+ description: TOOL_DESCRIPTION,
191
+ input: CONSILIUM_TOOL_INPUT,
192
+ options: { codemode: false },
193
+ execute: async (input, context) => {
194
+ const args = parseToolArgs(input);
195
+ const run = await runConsiliumTool(args, config, {
196
+ signal: context.signal,
197
+ workspace
198
+ });
199
+ if (run.isError) {
200
+ // В Tool.Result нет isError: ошибка должна быть Tool.Error/исключением.
201
+ throw new Error(`Consilium run failed: ${run.text.slice(0, 1000)}`);
202
+ }
203
+ const metadata = run.metadata ?? {};
204
+ return {
205
+ content: [{ type: 'text', text: run.text }],
206
+ metadata: {
207
+ consilium: {
208
+ success: true,
209
+ cost: metadata['cost'],
210
+ consensus: metadata['consensus']
211
+ }
212
+ }
213
+ };
214
+ }
215
+ });
216
+ });
217
+ }
218
+ const plugin = {
219
+ id: 'consilium',
220
+ setup: ctx => registerConsilium(ctx)
221
+ };
222
+ export default plugin;
223
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @fileoverview Пресеты консилиума
3
+ * @module lv24-opencode-consilium
4
+ */
5
+ import type { ConsiliumConfig } from './types.js';
6
+ /** Пресет состава и таймаутов консилиума */
7
+ export interface CouncilPreset {
8
+ name: string;
9
+ description: string;
10
+ experts?: string[];
11
+ chair?: string;
12
+ retries?: number;
13
+ expertTimeout?: number;
14
+ chairTimeout?: number;
15
+ focus?: string;
16
+ }
17
+ /** Встроенные пресеты */
18
+ export declare const PRESETS: Record<string, CouncilPreset>;
19
+ /**
20
+ * Список пресетов
21
+ */
22
+ export declare function listPresets(): CouncilPreset[];
23
+ /**
24
+ * Применить пресет к конфигурации (возвращает новую конфигурацию)
25
+ */
26
+ export declare function applyPreset(config: ConsiliumConfig, name: string): ConsiliumConfig;
27
+ //# sourceMappingURL=presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,YAAY,CAAC;AAEhE,4CAA4C;AAC5C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,yBAAyB;AACzB,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAkCjD,CAAC;AAEF;;GAEG;AACH,wBAAgB,WAAW,IAAI,aAAa,EAAE,CAE7C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAuClF"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * @fileoverview Пресеты консилиума
3
+ * @module lv24-opencode-consilium
4
+ */
5
+ /** Встроенные пресеты */
6
+ export const PRESETS = {
7
+ fast: {
8
+ name: 'fast',
9
+ description: 'Быстрый консилиум: архитектор и безопасник, без повторных попыток.',
10
+ experts: ['arch', 'sec'],
11
+ expertTimeout: 180_000,
12
+ chairTimeout: 300_000,
13
+ retries: 0
14
+ },
15
+ deep: {
16
+ name: 'deep',
17
+ description: 'Глубокий разбор: все эксперты, увеличенные таймауты и повторные попытки.',
18
+ experts: ['arch', 'ux', 'ba', 'sec'],
19
+ expertTimeout: 600_000,
20
+ chairTimeout: 1_200_000,
21
+ retries: 1
22
+ },
23
+ security: {
24
+ name: 'security',
25
+ description: 'Аудит безопасности: архитектор, безопасник и бизнес-аналитик.',
26
+ experts: ['sec', 'arch', 'ba'],
27
+ focus: 'security'
28
+ },
29
+ review: {
30
+ name: 'review',
31
+ description: 'Ревью кода: архитектура, безопасность и UX.',
32
+ experts: ['arch', 'sec', 'ux'],
33
+ focus: 'code review'
34
+ },
35
+ free: {
36
+ name: 'free',
37
+ description: 'Бесплатный консилиум на free-моделях; требуется bootstrap бесплатных моделей.',
38
+ experts: ['arch', 'ux', 'ba', 'sec']
39
+ }
40
+ };
41
+ /**
42
+ * Список пресетов
43
+ */
44
+ export function listPresets() {
45
+ return Object.values(PRESETS);
46
+ }
47
+ /**
48
+ * Применить пресет к конфигурации (возвращает новую конфигурацию)
49
+ */
50
+ export function applyPreset(config, name) {
51
+ const preset = Object.prototype.hasOwnProperty.call(PRESETS, name) ? PRESETS[name] : undefined;
52
+ if (!preset) {
53
+ throw new Error(`Неизвестный пресет: ${name}. Доступны: ${Object.keys(PRESETS).join(', ')}`);
54
+ }
55
+ const experts = config.experts.map(expert => ({ ...expert }));
56
+ let filtered = experts;
57
+ if (preset.experts) {
58
+ const order = new Map(preset.experts.map((expertName, index) => [expertName, index]));
59
+ filtered = experts
60
+ .filter(expert => order.has(expert.name))
61
+ .sort((a, b) => (order.get(a.name) ?? 0) - (order.get(b.name) ?? 0));
62
+ }
63
+ const timeouts = { ...config.timeouts };
64
+ if (preset.expertTimeout !== undefined)
65
+ timeouts.expert = preset.expertTimeout;
66
+ if (preset.chairTimeout !== undefined)
67
+ timeouts.chair = preset.chairTimeout;
68
+ const retry = { ...config.retry };
69
+ if (preset.retries !== undefined) {
70
+ retry.expertRetries = preset.retries;
71
+ retry.chairRetries = preset.retries;
72
+ }
73
+ const chair = { ...config.chair };
74
+ if (preset.chair !== undefined)
75
+ chair.agent = preset.chair;
76
+ if (preset.chairTimeout !== undefined)
77
+ chair.timeout = preset.chairTimeout;
78
+ return {
79
+ ...config,
80
+ experts: filtered,
81
+ chair,
82
+ timeouts,
83
+ retry
84
+ };
85
+ }
86
+ //# sourceMappingURL=presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @fileoverview Планирование повтора запуска из сохранённого артефакта
3
+ * @module lv24-opencode-consilium
4
+ */
5
+ import type { ArtifactRun } from './artifacts.js';
6
+ /** Эксперт в плане повтора */
7
+ export interface ReplayExpert {
8
+ name: string;
9
+ model?: string;
10
+ }
11
+ /** План повтора запуска, восстановленный из артефакта */
12
+ export interface ReplayPlan {
13
+ task: string;
14
+ experts: ReplayExpert[];
15
+ chair: {
16
+ agent: string;
17
+ model?: string;
18
+ };
19
+ options: {
20
+ consensus?: boolean;
21
+ smartExperts?: boolean;
22
+ fallbackModels?: string[];
23
+ session?: string;
24
+ artifacts?: boolean | string;
25
+ };
26
+ warnings: string[];
27
+ }
28
+ /**
29
+ * Строит план повтора запуска из артефакта.
30
+ * Чистая функция: не читает fs, не мутирует вход, не бросает исключений
31
+ * на некорректных опциональных метаданных — вместо этого добавляет warnings.
32
+ */
33
+ export declare function planReplay(artifact: ArtifactRun, defaults?: {
34
+ chairAgent?: string;
35
+ artifacts?: boolean | string;
36
+ }): ReplayPlan;
37
+ //# sourceMappingURL=replay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,8BAA8B;AAC9B,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,yDAAyD;AACzD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,OAAO,EAAE;QACP,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;KAC9B,CAAC;IACF,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAmBD;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,WAAW,EACrB,QAAQ,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CAAE,GAC/D,UAAU,CAmGZ"}
package/dist/replay.js ADDED
@@ -0,0 +1,103 @@
1
+ /**
2
+ * @fileoverview Планирование повтора запуска из сохранённого артефакта
3
+ * @module lv24-opencode-consilium
4
+ */
5
+ /** Проверяет, что значение — plain object */
6
+ function isRecord(value) {
7
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
8
+ }
9
+ /** Возвращает строку, если она непустая после trim, иначе undefined */
10
+ function cleanString(value) {
11
+ if (typeof value !== 'string') {
12
+ return undefined;
13
+ }
14
+ const trimmed = value.trim();
15
+ return trimmed.length > 0 ? trimmed : undefined;
16
+ }
17
+ /**
18
+ * Строит план повтора запуска из артефакта.
19
+ * Чистая функция: не читает fs, не мутирует вход, не бросает исключений
20
+ * на некорректных опциональных метаданных — вместо этого добавляет warnings.
21
+ */
22
+ export function planReplay(artifact, defaults) {
23
+ const warnings = [];
24
+ const rawTask = artifact.task;
25
+ const task = typeof rawTask === 'string' ? rawTask : '';
26
+ const rawModels = artifact.models;
27
+ const models = isRecord(rawModels) ? rawModels : {};
28
+ const rawExperts = artifact.experts;
29
+ const expertList = Array.isArray(rawExperts) ? rawExperts : [];
30
+ const experts = [];
31
+ const seen = new Set();
32
+ for (const item of expertList) {
33
+ const name = isRecord(item) ? cleanString(item['agent']) : undefined;
34
+ if (name === undefined || seen.has(name)) {
35
+ continue;
36
+ }
37
+ seen.add(name);
38
+ const fromExpert = isRecord(item) ? cleanString(item['model']) : undefined;
39
+ const fromModels = cleanString(models[name]);
40
+ const expert = { name };
41
+ const model = fromExpert ?? fromModels;
42
+ if (model !== undefined) {
43
+ expert.model = model;
44
+ }
45
+ experts.push(expert);
46
+ }
47
+ const rawChair = artifact.chairAgent;
48
+ const chairAgent = cleanString(rawChair) ?? cleanString(defaults?.chairAgent) ?? 'consilium';
49
+ const chairModel = cleanString(models[chairAgent]) ?? experts.find(e => e.name === chairAgent)?.model;
50
+ const chair = { agent: chairAgent };
51
+ if (chairModel !== undefined) {
52
+ chair.model = chairModel;
53
+ }
54
+ const rawMetadata = artifact.metadata;
55
+ const metadata = isRecord(rawMetadata) ? rawMetadata : undefined;
56
+ let fallbackModels;
57
+ const rawFallback = metadata?.['fallbackModels'];
58
+ if (Array.isArray(rawFallback)) {
59
+ const items = rawFallback;
60
+ if (items.every((entry) => typeof entry === 'string')) {
61
+ fallbackModels = items.filter((entry) => typeof entry === 'string');
62
+ }
63
+ }
64
+ const rawSession = metadata?.['session'];
65
+ const session = typeof rawSession === 'string' ? rawSession : undefined;
66
+ const rawArtifacts = defaults?.artifacts;
67
+ const artifacts = typeof rawArtifacts === 'boolean' || typeof rawArtifacts === 'string'
68
+ ? rawArtifacts
69
+ : true;
70
+ const options = {};
71
+ if (metadata !== undefined) {
72
+ // Флаг восстанавливаем только если он был зафиксирован в артефакте:
73
+ // отсутствие ключа не должно перекрывать конфиг.
74
+ if (metadata['consensus'] !== undefined)
75
+ options.consensus = true;
76
+ if (metadata['smartExperts'] !== undefined)
77
+ options.smartExperts = true;
78
+ }
79
+ if (fallbackModels !== undefined) {
80
+ options.fallbackModels = fallbackModels;
81
+ }
82
+ if (session !== undefined) {
83
+ options.session = session;
84
+ }
85
+ options.artifacts = artifacts;
86
+ if (task.trim() === '') {
87
+ warnings.push('Пустая задача в артефакте: поле task отсутствует или пустое.');
88
+ }
89
+ if (experts.length === 0) {
90
+ warnings.push('В артефакте нет экспертов: план содержит пустой список экспертов.');
91
+ }
92
+ if (chairModel === undefined) {
93
+ warnings.push(`Неизвестная модель председателя "${chairAgent}": ни карта models, ни эксперты её не содержат.`);
94
+ }
95
+ if (metadata === undefined) {
96
+ warnings.push('Метаданные артефакта отсутствуют: флаги consensus/smartExperts восстановить нельзя, использованы значения по умолчанию (выключены).');
97
+ }
98
+ if (artifact.success === false) {
99
+ warnings.push('Артефакт зафиксировал неудачный запуск (success: false): повтор может воспроизвести ту же ошибку.');
100
+ }
101
+ return { task, experts, chair, options, warnings };
102
+ }
103
+ //# sourceMappingURL=replay.js.map