@oeronteros-1/opencode-orchestra 0.5.3 → 1.0.2

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 (72) hide show
  1. package/CHANGELOG.md +63 -9
  2. package/GITHUB_RELEASE_1.0.0.md +84 -0
  3. package/README.md +95 -7
  4. package/dashboard-dist/assets/index-CN3CG5oG.js +124 -0
  5. package/dashboard-dist/assets/{index-89Gs8jun.css → index-j0b0ZK2D.css} +1 -1
  6. package/dashboard-dist/index.html +2 -2
  7. package/dist/agents/workers.d.ts +14 -1
  8. package/dist/agents/workers.js +10 -0
  9. package/dist/agents/workers.js.map +1 -1
  10. package/dist/cli.js +63 -3
  11. package/dist/cli.js.map +1 -1
  12. package/dist/config/schema.d.ts +23 -0
  13. package/dist/config/schema.js +18 -1
  14. package/dist/config/schema.js.map +1 -1
  15. package/dist/dashboard/server.d.ts +11 -0
  16. package/dist/dashboard/server.js +152 -33
  17. package/dist/dashboard/server.js.map +1 -1
  18. package/dist/diagnostics/completion.d.ts +5 -0
  19. package/dist/diagnostics/completion.js +145 -0
  20. package/dist/diagnostics/completion.js.map +1 -0
  21. package/dist/diagnostics/doctor.d.ts +58 -0
  22. package/dist/diagnostics/doctor.js +354 -0
  23. package/dist/diagnostics/doctor.js.map +1 -0
  24. package/dist/diagnostics/update.d.ts +17 -0
  25. package/dist/diagnostics/update.js +89 -0
  26. package/dist/diagnostics/update.js.map +1 -0
  27. package/dist/index.js +141 -2
  28. package/dist/index.js.map +1 -1
  29. package/dist/plugin-status.d.ts +34 -0
  30. package/dist/plugin-status.js +90 -0
  31. package/dist/plugin-status.js.map +1 -0
  32. package/dist/routing/budget-guard.d.ts +36 -0
  33. package/dist/routing/budget-guard.js +52 -0
  34. package/dist/routing/budget-guard.js.map +1 -0
  35. package/dist/routing/classifier-cache.d.ts +25 -0
  36. package/dist/routing/classifier-cache.js +46 -0
  37. package/dist/routing/classifier-cache.js.map +1 -0
  38. package/dist/routing/fallback.d.ts +41 -0
  39. package/dist/routing/fallback.js +81 -0
  40. package/dist/routing/fallback.js.map +1 -0
  41. package/dist/routing/model-discovery.js +3 -1
  42. package/dist/routing/model-discovery.js.map +1 -1
  43. package/dist/routing/model-resolver.d.ts +11 -0
  44. package/dist/routing/model-resolver.js +27 -7
  45. package/dist/routing/model-resolver.js.map +1 -1
  46. package/dist/routing/observer.d.ts +22 -0
  47. package/dist/routing/observer.js +64 -0
  48. package/dist/routing/observer.js.map +1 -0
  49. package/dist/routing/planner.d.ts +24 -0
  50. package/dist/routing/planner.js +106 -0
  51. package/dist/routing/planner.js.map +1 -0
  52. package/dist/routing/pricing/estimate.d.ts +60 -0
  53. package/dist/routing/pricing/estimate.js +81 -0
  54. package/dist/routing/pricing/estimate.js.map +1 -0
  55. package/dist/routing/pricing/prices.d.ts +19 -0
  56. package/dist/routing/pricing/prices.js +74 -0
  57. package/dist/routing/pricing/prices.js.map +1 -0
  58. package/dist/routing/pricing/refresh.d.ts +30 -0
  59. package/dist/routing/pricing/refresh.js +105 -0
  60. package/dist/routing/pricing/refresh.js.map +1 -0
  61. package/dist/telemetry/analytics.d.ts +45 -0
  62. package/dist/telemetry/analytics.js +78 -0
  63. package/dist/telemetry/analytics.js.map +1 -0
  64. package/dist/telemetry/ledger.d.ts +13 -1
  65. package/dist/telemetry/ledger.js +29 -1
  66. package/dist/telemetry/ledger.js.map +1 -1
  67. package/dist/tools.d.ts +6 -1
  68. package/dist/tools.js +77 -7
  69. package/dist/tools.js.map +1 -1
  70. package/package.json +17 -4
  71. package/schema/opencode-orchestra.schema.json +15 -2
  72. package/dashboard-dist/assets/index-Bhe8OPZD.js +0 -124
@@ -10,15 +10,15 @@ import { applyEdits, modify, parse } from "jsonc-parser";
10
10
  import { z } from "zod";
11
11
  import { orchestraConfigSchema } from "../config/schema.js";
12
12
  import { openCodeConfigDirectory } from "../config/paths.js";
13
+ import { analyzeDaily } from "../telemetry/analytics.js";
13
14
  import { readLedgerState } from "../telemetry/ledger.js";
14
- const PATCH_SCHEMA = z.object({
15
- budget: z.enum(["eco", "balanced", "quality", "ebobo"]),
16
- models: z.object({
17
- strategy: z.enum(["auto", "manual"]),
18
- agents: z.record(z.string(), z.string()),
19
- }),
20
- telemetry: z.object({ enabled: z.boolean() }),
21
- });
15
+ /**
16
+ * Any top-level config section may be edited from the dashboard, so the input
17
+ * is validated against the full schema rather than a narrow hand-written
18
+ * subset. Every field is optional: a PUT only touches the sections it carries,
19
+ * and the server fills defaults by re-parsing the merged result.
20
+ */
21
+ const CONFIG_INPUT_SCHEMA = orchestraConfigSchema.partial();
22
22
  const MIME = {
23
23
  ".css": "text/css; charset=utf-8",
24
24
  ".html": "text/html; charset=utf-8",
@@ -143,6 +143,8 @@ async function snapshot(directory, configDirectory) {
143
143
  point.reasoning += row.tokens.reasoning;
144
144
  dailyMap.set(date, point);
145
145
  }
146
+ const daily = [...dailyMap.values()].sort((a, b) => a.date.localeCompare(b.date));
147
+ const analytics = analyzeDaily(daily);
146
148
  return {
147
149
  updatedAt: ledger.updatedAt,
148
150
  project: path.basename(directory),
@@ -151,7 +153,7 @@ async function snapshot(directory, configDirectory) {
151
153
  config: {
152
154
  budget: config.budget,
153
155
  models: { strategy: config.models.strategy, agents: config.models.agents },
154
- telemetry: { enabled: config.telemetry.enabled },
156
+ telemetry: { enabled: config.telemetry.enabled, storeTexts: config.telemetry.storeTexts },
155
157
  },
156
158
  summary: {
157
159
  sessions: Object.keys(ledger.sessions).length,
@@ -162,41 +164,141 @@ async function snapshot(directory, configDirectory) {
162
164
  models: aggregate(activity, (row) => row.provider && row.model ? `${row.provider}/${row.model}` : "unknown"),
163
165
  agents: aggregate(activity, (row) => row.agent ?? "unknown"),
164
166
  activity: activity.slice(0, 5_000),
165
- daily: [...dailyMap.values()].sort((a, b) => a.date.localeCompare(b.date)).slice(-30),
167
+ daily: daily.slice(-30),
168
+ projection: analytics.projection,
169
+ anomalies: analytics.anomalies,
166
170
  mcp: await mcpStatus(configDirectory),
167
171
  };
168
172
  }
169
- async function updateConfig(configPath, input) {
170
- const patch = PATCH_SCHEMA.parse(input);
171
- const agents = Object.fromEntries(Object.entries(patch.models.agents)
173
+ const EXPORT_SCOPES = ["activity", "models", "agents", "daily", "summary"];
174
+ function csvEscape(value) {
175
+ const text = value === undefined || value === null ? "" : String(value);
176
+ return /[",\r\n]/.test(text) ? `"${text.replaceAll('"', '""')}"` : text;
177
+ }
178
+ function isoOrEmpty(timestamp) {
179
+ return timestamp ? new Date(timestamp).toISOString() : "";
180
+ }
181
+ function rowsForScope(data, scope) {
182
+ switch (scope) {
183
+ case "activity":
184
+ return {
185
+ headers: ["id", "sessionID", "agent", "provider", "model", "createdAt", "completedAt", "finish", "cost", "tokensInput", "tokensOutput", "tokensReasoning", "cacheRead", "cacheWrite"],
186
+ rows: data.activity.map((row) => [row.id, row.sessionID, row.agent ?? "", row.provider ?? "", row.model ?? "", isoOrEmpty(row.createdAt), isoOrEmpty(row.completedAt), row.finish ?? "", row.cost, row.tokens.input, row.tokens.output, row.tokens.reasoning, row.tokens.cache.read, row.tokens.cache.write]),
187
+ };
188
+ case "models":
189
+ case "agents":
190
+ return {
191
+ headers: ["id", "calls", "cost", "tokensInput", "tokensOutput", "tokensReasoning", "cacheRead", "cacheWrite"],
192
+ rows: data[scope].map((row) => [row.id, row.calls, row.cost, row.tokens.input, row.tokens.output, row.tokens.reasoning, row.tokens.cache.read, row.tokens.cache.write]),
193
+ };
194
+ case "daily":
195
+ return {
196
+ headers: ["date", "cost", "tokensInput", "tokensOutput", "tokensReasoning"],
197
+ rows: data.daily.map((row) => [row.date, row.cost, row.input, row.output, row.reasoning]),
198
+ };
199
+ case "summary":
200
+ return {
201
+ headers: ["project", "directory", "sessions", "calls", "cost", "tokensInput", "tokensOutput", "tokensReasoning", "cacheRead", "cacheWrite", "updatedAt"],
202
+ rows: [[data.project, data.directory, data.summary.sessions, data.summary.calls, data.summary.cost, data.summary.tokens.input, data.summary.tokens.output, data.summary.tokens.reasoning, data.summary.tokens.cache.read, data.summary.tokens.cache.write, data.updatedAt]],
203
+ };
204
+ }
205
+ }
206
+ function toCsv(headers, rows) {
207
+ return `${headers.map((header) => csvEscape(header)).join(",")}\n${rows.map((row) => row.map((cell) => csvEscape(cell)).join(",")).join("\n")}\n`;
208
+ }
209
+ function toJson(scope, headers, rows) {
210
+ return `${JSON.stringify({ scope, generatedAt: new Date().toISOString(), rows: rows.map((row) => Object.fromEntries(headers.map((header, index) => [header, row[index]]))) }, null, 2)}\n`;
211
+ }
212
+ function exportFilename(scope, format, directory) {
213
+ const project = path.basename(directory).replace(/[^\w.-]+/g, "-") || "orchestra";
214
+ const date = new Date().toISOString().slice(0, 10);
215
+ return `${project}-orchestra-${scope}-${date}.${format}`;
216
+ }
217
+ function sendFile(response, status, filename, mime, body) {
218
+ response.writeHead(status, {
219
+ "Content-Type": mime,
220
+ "Content-Length": Buffer.byteLength(body),
221
+ "Content-Disposition": `attachment; filename="${filename}"`,
222
+ "Cache-Control": "no-store",
223
+ });
224
+ response.end(body);
225
+ }
226
+ async function exportReport(response, directory, configDirectory, searchParams) {
227
+ const scope = searchParams.get("scope") ?? "activity";
228
+ if (!EXPORT_SCOPES.includes(scope)) {
229
+ sendJson(response, 400, { error: `Unknown export scope: ${scope}` });
230
+ return;
231
+ }
232
+ const format = searchParams.get("format");
233
+ if (format !== "csv" && format !== "json") {
234
+ sendJson(response, 400, { error: "Missing or unsupported export format (expected csv or json)" });
235
+ return;
236
+ }
237
+ const data = await snapshot(directory, configDirectory);
238
+ const { headers, rows } = rowsForScope(data, scope);
239
+ const filename = exportFilename(scope, format, directory);
240
+ if (format === "csv") {
241
+ sendFile(response, 200, filename, "text/csv; charset=utf-8", toCsv(headers, rows));
242
+ }
243
+ else {
244
+ sendFile(response, 200, filename, "application/json; charset=utf-8", toJson(scope, headers, rows));
245
+ }
246
+ }
247
+ /** Convert a ZodError into flat, dashboard-friendly field issues. */
248
+ function validationIssues(error) {
249
+ return error.issues.map((issue) => ({
250
+ path: issue.path.map(String).join(".") || "(root)",
251
+ message: issue.message,
252
+ }));
253
+ }
254
+ /** Validate a dashboard config patch without touching disk. */
255
+ export function validateConfigInput(input) {
256
+ const result = CONFIG_INPUT_SCHEMA.safeParse(input);
257
+ if (result.success)
258
+ return { valid: true, issues: [] };
259
+ return { valid: false, issues: validationIssues(result.error) };
260
+ }
261
+ function isObjectLike(value) {
262
+ return typeof value === "object" && value !== null && !Array.isArray(value);
263
+ }
264
+ /**
265
+ * Keys the dashboard may edit. Everything else inside the parsed config is
266
+ * preserved verbatim, so unknown/commented JSONC survives an update.
267
+ */
268
+ const EDITABLE_SECTIONS = ["budget", "models", "orchestration", "superpowers", "telemetry", "pricing"];
269
+ function normalizeConfigInput(input) {
270
+ if (!isObjectLike(input) || !isObjectLike(input.models) || !isObjectLike(input.models.agents))
271
+ return input;
272
+ const agents = Object.fromEntries(Object.entries(input.models.agents)
273
+ .filter((entry) => typeof entry[1] === "string")
172
274
  .map(([name, model]) => [name, model.trim()])
173
275
  .filter(([, model]) => model.length > 0));
276
+ return { ...input, models: { ...input.models, agents } };
277
+ }
278
+ async function updateConfig(configPath, input) {
279
+ const parsed = CONFIG_INPUT_SCHEMA.parse(normalizeConfigInput(input));
174
280
  await mkdir(path.dirname(configPath), { recursive: true });
175
281
  const original = await readTextOr(configPath, "{}\n");
176
282
  const current = parseJsonc(original);
177
- const merged = {
178
- ...current,
179
- budget: patch.budget,
180
- models: {
181
- ...(typeof current.models === "object" && current.models !== null ? current.models : {}),
182
- strategy: patch.models.strategy,
183
- agents,
184
- },
185
- telemetry: {
186
- ...(typeof current.telemetry === "object" && current.telemetry !== null ? current.telemetry : {}),
187
- enabled: patch.telemetry.enabled,
188
- },
189
- };
283
+ const merged = { ...current };
284
+ for (const section of EDITABLE_SECTIONS) {
285
+ if (!(section in parsed))
286
+ continue;
287
+ const incoming = parsed[section];
288
+ const existing = merged[section];
289
+ merged[section] = isObjectLike(incoming) && isObjectLike(existing) ? { ...existing, ...incoming } : incoming;
290
+ }
291
+ // Re-parse through the full schema so defaults fill in and invalid values
292
+ // are caught before anything is written to disk.
190
293
  orchestraConfigSchema.parse(merged);
294
+ // Serialize only the editable sections back, preserving comments and any
295
+ // unrelated keys in the original JSONC.
191
296
  let updated = original;
192
297
  const formattingOptions = { insertSpaces: true, tabSize: 2, eol: "\n" };
193
- for (const [location, value] of [
194
- [["budget"], patch.budget],
195
- [["models", "strategy"], patch.models.strategy],
196
- [["models", "agents"], agents],
197
- [["telemetry", "enabled"], patch.telemetry.enabled],
198
- ]) {
199
- updated = applyEdits(updated, modify(updated, [...location], value, { formattingOptions }));
298
+ for (const section of EDITABLE_SECTIONS) {
299
+ if (!(section in parsed))
300
+ continue;
301
+ updated = applyEdits(updated, modify(updated, [section], merged[section], { formattingOptions }));
200
302
  }
201
303
  try {
202
304
  await stat(configPath);
@@ -209,6 +311,7 @@ async function updateConfig(configPath, input) {
209
311
  const temporary = `${configPath}.orchestra-dashboard-tmp`;
210
312
  await writeFile(temporary, updated.endsWith("\n") ? updated : `${updated}\n`, "utf8");
211
313
  await rename(temporary, configPath);
314
+ return { valid: true, issues: [] };
212
315
  }
213
316
  function defaultAssetsDirectory() {
214
317
  const besidePackage = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../../dashboard-dist");
@@ -264,17 +367,33 @@ export async function startDashboard(options = {}) {
264
367
  sendJson(response, 200, await snapshot(directory, configDirectory));
265
368
  return;
266
369
  }
370
+ if (request.method === "GET" && url.pathname === "/api/export") {
371
+ await exportReport(response, directory, configDirectory, url.searchParams);
372
+ return;
373
+ }
267
374
  if (request.method === "PUT" && url.pathname === "/api/config") {
268
375
  await updateConfig(path.join(configDirectory, "orchestra.jsonc"), await jsonBody(request));
269
376
  sendJson(response, 200, { ok: true });
270
377
  return;
271
378
  }
379
+ if (request.method === "POST" && url.pathname === "/api/config/validate") {
380
+ sendJson(response, 200, validateConfigInput(await jsonBody(request)));
381
+ return;
382
+ }
383
+ if (request.method === "PUT" && url.pathname === "/api/config/validate") {
384
+ sendJson(response, 200, await updateConfig(path.join(configDirectory, "orchestra.jsonc"), await jsonBody(request)));
385
+ return;
386
+ }
272
387
  sendJson(response, 404, { error: "Not found" });
273
388
  return;
274
389
  }
275
390
  await serveAsset(response, assetsDirectory, url.pathname);
276
391
  }
277
392
  catch (error) {
393
+ if (error instanceof z.ZodError) {
394
+ sendJson(response, 422, { error: "Invalid configuration", issues: validationIssues(error) });
395
+ return;
396
+ }
278
397
  sendJson(response, 500, { error: error instanceof Error ? error.message : String(error) });
279
398
  }
280
399
  });
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/dashboard/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/dashboard/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function bashCompletion(program?: string): string;
2
+ export declare function zshCompletion(program?: string): string;
3
+ export declare function pwshCompletion(program?: string): string;
4
+ export declare function completionFor(shell: string, program?: string): string;
5
+ export declare const SHELL_NAMES: readonly ["zsh", "bash", "pwsh"];
@@ -0,0 +1,145 @@
1
+ import { PACKAGE_NAME } from "../plugin-status.js";
2
+ // Completions for the opencode-orchestra CLI. The binary is typically invoked
3
+ // through bunx, so completions cover the bare command name and bunx alike.
4
+ const COMMANDS = ["install", "dashboard", "doctor", "update", "completion"];
5
+ function optionsFor(command) {
6
+ switch (command) {
7
+ case "install":
8
+ return [
9
+ { name: "--no-context7" },
10
+ { name: "--no-codebase-memory" },
11
+ { name: "--no-memorygraph" },
12
+ { name: "--no-deps" },
13
+ { name: "--force" },
14
+ { name: "--dry-run" },
15
+ { name: "--config-dir", takesValue: "DIR" },
16
+ ];
17
+ case "dashboard":
18
+ return [
19
+ { name: "--directory", takesValue: "DIR" },
20
+ { name: "--config-dir", takesValue: "DIR" },
21
+ { name: "--host", takesValue: "HOST" },
22
+ { name: "--port", takesValue: "PORT" },
23
+ { name: "--no-open" },
24
+ ];
25
+ case "doctor":
26
+ return [{ name: "--config-dir", takesValue: "DIR" }, { name: "--json" }];
27
+ case "update":
28
+ return [];
29
+ case "completion":
30
+ return [];
31
+ default:
32
+ return [];
33
+ }
34
+ }
35
+ function globalOptions() {
36
+ return [{ name: "--help" }, { name: "-h" }];
37
+ }
38
+ export function bashCompletion(program = "opencode-orchestra") {
39
+ const fn = "_" + program.replaceAll("-", "_") + "_completion";
40
+ const words = [...COMMANDS, "--help", "-h"].join(" ");
41
+ const lines = [
42
+ "# bash completion for " + program,
43
+ fn + "() {",
44
+ " local cur cmd word",
45
+ " COMPREPLY=()",
46
+ ' cur="${COMP_WORDS[COMP_CWORD]}"',
47
+ ' cmd=""',
48
+ ' for word in "${COMP_WORDS[@]:1:COMP_CWORD-1}"; do',
49
+ ' case "$word" in',
50
+ " " + COMMANDS.join("|") + ') cmd="$word" ;;',
51
+ " esac",
52
+ " done",
53
+ ' if [ -z "$cmd" ]; then',
54
+ ' COMPREPLY=( $(compgen -W "' + words + '" -- "$cur") )',
55
+ " return 0",
56
+ " fi",
57
+ ' case "$cmd" in',
58
+ ];
59
+ for (const command of COMMANDS) {
60
+ const opts = [...optionsFor(command), ...globalOptions()];
61
+ const names = opts.map((o) => o.name).join(" ");
62
+ lines.push(" " + command + ")");
63
+ lines.push(' COMPREPLY=( $(compgen -W "' + names + '" -- "$cur") ) ;;');
64
+ }
65
+ lines.push(" *) COMPREPLY=() ;;");
66
+ lines.push(" esac");
67
+ lines.push("}");
68
+ lines.push("complete -F " + fn + " " + program);
69
+ return lines.join("\n") + "\n";
70
+ }
71
+ export function zshCompletion(program = "opencode-orchestra") {
72
+ const fn = "_" + program.replaceAll("-", "_");
73
+ const lines = [
74
+ "#compdef " + program + " bunx opencode-orchestra",
75
+ "# zsh completion for " + program,
76
+ fn + "() {",
77
+ " local -a commands",
78
+ " commands=(",
79
+ ];
80
+ for (const command of COMMANDS) {
81
+ lines.push(" '" + command + ":" + command + " command'");
82
+ }
83
+ lines.push(" )");
84
+ lines.push(" if (( CURRENT == 2 )); then");
85
+ lines.push(" _describe 'command' commands");
86
+ lines.push(" return");
87
+ lines.push(" fi");
88
+ lines.push(' case "${words[2]}" in');
89
+ for (const command of COMMANDS) {
90
+ const opts = optionsFor(command);
91
+ const descriptions = opts
92
+ .map((o) => (o.takesValue ? "'" + o.name + "[" + o.takesValue + "]'" : "'" + o.name + "'"))
93
+ .join(" ");
94
+ lines.push(" " + command + ")");
95
+ if (descriptions) {
96
+ lines.push(" _arguments " + descriptions);
97
+ }
98
+ lines.push(" ;;");
99
+ }
100
+ lines.push(" esac");
101
+ lines.push("}");
102
+ lines.push(fn + ' "$@"');
103
+ return lines.join("\n") + "\n";
104
+ }
105
+ export function pwshCompletion(program = "opencode-orchestra") {
106
+ const commands = COMMANDS.map((c) => "'" + c + "'").join(", ");
107
+ const lines = [
108
+ "# pwsh completion for " + program,
109
+ "# Register-ArgumentCompleter -Native -CommandName " + program + " -ScriptBlock",
110
+ "Register-ArgumentCompleter -Native -CommandName " + program + " -ScriptBlock {",
111
+ " param($wordToComplete, $commandAst, $cursorPosition)",
112
+ " $commands = @(" + commands + ")",
113
+ " $options = @('--help', '-h')",
114
+ " switch ($commandAst.CommandElements[1].Value) {",
115
+ ];
116
+ for (const command of COMMANDS) {
117
+ const opts = [...optionsFor(command), ...globalOptions()];
118
+ const names = opts.map((o) => "'" + o.name + "'");
119
+ lines.push(" '" + command + "' { $options = @(" + names.join(", ") + ") }");
120
+ }
121
+ lines.push(" }");
122
+ lines.push(' $options | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {');
123
+ lines.push(" [System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterName', $_)");
124
+ lines.push(" }");
125
+ lines.push(' $commands | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {');
126
+ lines.push(" [System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_)");
127
+ lines.push(" }");
128
+ lines.push("}");
129
+ return lines.join("\n") + "\n";
130
+ }
131
+ export function completionFor(shell, program = "opencode-orchestra") {
132
+ switch (shell) {
133
+ case "bash":
134
+ return bashCompletion(program);
135
+ case "zsh":
136
+ return zshCompletion(program);
137
+ case "pwsh":
138
+ case "powershell":
139
+ return pwshCompletion(program);
140
+ default:
141
+ throw new Error("Unsupported shell: " + shell + ". Use one of: zsh, bash, pwsh.");
142
+ }
143
+ }
144
+ export const SHELL_NAMES = ["zsh", "bash", "pwsh"];
145
+ //# sourceMappingURL=completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/diagnostics/completion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ export declare const PACKAGE_NAME = "@oeronteros-1/opencode-orchestra";
2
+ /** Composable check statuses, ordered from worst to best for sorting reports. */
3
+ export type CheckStatus = "error" | "warning" | "ok" | "info";
4
+ export type Check = {
5
+ id: string;
6
+ label: string;
7
+ status: CheckStatus;
8
+ detail: string;
9
+ hint?: string;
10
+ };
11
+ export interface ReadConfigResult {
12
+ path: string;
13
+ parsed: Record<string, unknown>;
14
+ errors: string[];
15
+ exists: boolean;
16
+ }
17
+ export declare function readConfigFile(file: string): Promise<ReadConfigResult>;
18
+ export declare function findMainConfig(configDirectory: string): Promise<string>;
19
+ export interface LocalMcp {
20
+ name: string;
21
+ commands: string[];
22
+ executable?: string;
23
+ }
24
+ /** Extract MCP servers from the opencode main config, preserving order. */
25
+ export declare function extractMcp(parsed: Record<string, unknown>): {
26
+ name: string;
27
+ value: Record<string, unknown>;
28
+ }[];
29
+ /**
30
+ * Collect configured local MCP servers and their installed executables.
31
+ * Non-local servers (remote/url/stdio without a command) are skipped.
32
+ */
33
+ export declare function collectLocalMcps(parsed: Record<string, unknown>): {
34
+ local: LocalMcp[];
35
+ nonLocalCount: number;
36
+ };
37
+ export interface EnvironmentInfo {
38
+ platform: string;
39
+ home: string;
40
+ shell: string;
41
+ nodeVersion: string;
42
+ bunVersion: string;
43
+ pluginVersion: string;
44
+ openCodeVersion: string;
45
+ }
46
+ export declare function inspectEnvironment(): EnvironmentInfo;
47
+ export interface DoctorOptions {
48
+ configDirectory?: string;
49
+ }
50
+ export interface DoctorReport {
51
+ environment: EnvironmentInfo;
52
+ configDirectory: string;
53
+ mainConfig: ReadConfigResult;
54
+ orchestraConfig: ReadConfigResult;
55
+ checks: Check[];
56
+ }
57
+ export declare function runDoctor(options?: DoctorOptions): Promise<DoctorReport>;
58
+ export declare function formatDoctorReport(report: DoctorReport): string;