@oeronteros-1/opencode-orchestra 1.0.14 → 1.0.16

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.
@@ -5,8 +5,8 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <meta name="theme-color" content="#090b10" />
7
7
  <title>Orchestra Control</title>
8
- <script type="module" crossorigin src="/assets/index-Dv3Y43qS.js"></script>
9
- <link rel="stylesheet" crossorigin href="/assets/index-DZoh4Zv5.css">
8
+ <script type="module" crossorigin src="/assets/index-Bw77sywC.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-1lUDKh9b.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="root"></div>
@@ -23,7 +23,7 @@ export function createLeadAgent(config, basePrompt) {
23
23
  : [],
24
24
  });
25
25
  return {
26
- description: "Orchestration lead that classifies complex work, dispatches a small specialist team, synthesizes evidence, and escalates only unresolved disagreement.",
26
+ description: "Primary implementation lead that classifies complex work, dispatches a small specialist team, synthesizes evidence, edits files, and verifies the result.",
27
27
  mode: "primary",
28
28
  prompt: `${basePrompt.trim()}\n\nExecution protocol: build a dependency DAG; dispatch every currently-ready node concurrently up to the runtime limit; wait for dependencies before releasing downstream nodes; after all evidence nodes finish, call orch-merge exactly once with every result labeled by node id and worker.\n\nEnabled profiles:\n${profileGuide}\n\nRuntime limits: dispatch at most ${config.orchestration.maxWorkers} workers total and at most ${config.orchestration.parallelWorkers} concurrently. Budget mode: ${config.budget}.${config.budget === "ebobo" ? " EBOBO MODE: dispatch the full available specialist roster in parallel, require independent evidence, and always use orch-judge for frontier arbitration." : ""}`,
29
29
  hidden: false,
@@ -32,10 +32,12 @@ export function createLeadAgent(config, basePrompt) {
32
32
  permission: {
33
33
  "*": "deny",
34
34
  read: "allow",
35
+ edit: "allow",
35
36
  glob: "allow",
36
37
  grep: "allow",
37
38
  list: "allow",
38
39
  lsp: "allow",
40
+ bash: "ask",
39
41
  "context7_*": "allow",
40
42
  "codebase-memory_*": "allow",
41
43
  "codebase_memory_*": "allow",
@@ -1 +1 @@
1
- {"version":3,"file":"lead.js","sourceRoot":"","sources":["../../src/agents/lead.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lead.js","sourceRoot":"","sources":["../../src/agents/lead.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -6,6 +6,8 @@ export interface InstallOptions {
6
6
  memoryGraph: boolean;
7
7
  /** Configure Playwright MCP by default; false explicitly disables it. */
8
8
  playwright?: boolean;
9
+ /** Add the Superpowers plugin (obra/superpowers) to the plugin array by default; false explicitly disables it. */
10
+ superpowers?: boolean;
9
11
  provisionDependencies: boolean;
10
12
  force: boolean;
11
13
  dryRun: boolean;
package/dist/cli.js CHANGED
@@ -16,6 +16,10 @@ const PACKAGE_NAME = "@oeronteros-1/opencode-orchestra";
16
16
  // the newest published version on subsequent runs instead of pinning the
17
17
  // version it first cached under a bare package name.
18
18
  const PACKAGE_ENTRY = `${PACKAGE_NAME}@latest`;
19
+ // Official Superpowers entry (obra/superpowers). Superpowers is not published
20
+ // to npm; the documented install is a git-backed npm spec added to the
21
+ // `plugin` array (https://github.com/obra/superpowers/blob/main/.opencode/INSTALL.md).
22
+ const SUPER_POWERS_ENTRY = "superpowers@git+https://github.com/obra/superpowers.git";
19
23
  const CONTEXT7_URL = "https://mcp.context7.com/mcp";
20
24
  const PLAYWRIGHT_COMMAND = ["npx", "-y", "@playwright/mcp@latest"];
21
25
  const CODEBASE_MEMORY_INSTALLER = "https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh";
@@ -57,6 +61,20 @@ function pluginName(entry) {
57
61
  const at = slash === -1 ? raw.indexOf("@") : raw.indexOf("@", slash);
58
62
  return at === -1 ? raw : raw.slice(0, at);
59
63
  }
64
+ /**
65
+ * Normalized Superpowers name: `pluginName` returns the git spec verbatim
66
+ * (its "@" precedes the last "/"), so strip an optional `#fragment` pin and
67
+ * match case-insensitively. The substring match also covers the documented
68
+ * Windows fallback (`~/.config/opencode/node_modules/superpowers`) so we never
69
+ * add a duplicate alongside a user's existing Superpowers entry.
70
+ */
71
+ function superPowersName(entry) {
72
+ const name = pluginName(entry);
73
+ if (name === undefined)
74
+ return undefined;
75
+ const hash = name.indexOf("#");
76
+ return (hash === -1 ? name : name.slice(0, hash)).toLowerCase();
77
+ }
60
78
  async function existingMainConfig(configDirectory) {
61
79
  for (const name of ["opencode.json", "opencode.jsonc"]) {
62
80
  const candidate = path.join(configDirectory, name);
@@ -240,6 +258,17 @@ export async function install(options) {
240
258
  changed.push("plugin");
241
259
  pluginsChanged = true;
242
260
  }
261
+ if (options.superpowers !== false) {
262
+ const superPowersIndex = plugins.findIndex((entry) => superPowersName(entry)?.includes("superpowers"));
263
+ if (superPowersIndex === -1) {
264
+ plugins.push(SUPER_POWERS_ENTRY);
265
+ if (!changed.includes("plugin"))
266
+ changed.push("plugin");
267
+ pluginsChanged = true;
268
+ }
269
+ // Present in any form (pinned, local path): preserve it. The installer
270
+ // contract preserves user plugins rather than upgrading foreign ones.
271
+ }
243
272
  if (pluginsChanged)
244
273
  updated = setJsonc(updated, ["plugin"], plugins);
245
274
  const mcp = typeof root.mcp === "object" && root.mcp !== null && !Array.isArray(root.mcp)
@@ -336,6 +365,7 @@ function usage() {
336
365
  " --no-codebase-memory Do not install or configure Codebase Memory MCP",
337
366
  " --no-memorygraph Do not install or configure MemoryGraph MCP",
338
367
  " --no-playwright Do not configure Playwright MCP",
368
+ " --no-superpowers Do not add the Superpowers plugin",
339
369
  " --no-deps Only write config; do not install local MCP executables",
340
370
  " --force Replace existing MCP entries with Orchestra defaults",
341
371
  " --dry-run Show intended changes without writing files or downloading",
@@ -426,6 +456,7 @@ function parseArguments(argv) {
426
456
  codebaseMemory: true,
427
457
  memoryGraph: true,
428
458
  playwright: true,
459
+ superpowers: true,
429
460
  provisionDependencies: true,
430
461
  force: false,
431
462
  dryRun: false,
@@ -440,6 +471,8 @@ function parseArguments(argv) {
440
471
  options.memoryGraph = false;
441
472
  else if (argument === "--no-playwright")
442
473
  options.playwright = false;
474
+ else if (argument === "--no-superpowers")
475
+ options.superpowers = false;
443
476
  else if (argument === "--no-deps")
444
477
  options.provisionDependencies = false;
445
478
  else if (argument === "--force")
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACtG,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAmB,MAAM,cAAc,CAAA;AAC9F,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAyB,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACxE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAEzD,MAAM,YAAY,GAAG,kCAAkC,CAAA;AACvD,+EAA+E;AAC/E,yEAAyE;AACzE,qDAAqD;AACrD,MAAM,aAAa,GAAG,GAAG,YAAY,SAAS,CAAA;AAC9C,8EAA8E;AAC9E,uEAAuE;AACvE,uFAAuF;AACvF,MAAM,kBAAkB,GAAG,yDAAyD,CAAA;AACpF,MAAM,YAAY,GAAG,8BAA8B,CAAA;AACnD,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,wBAAwB,CAAC,CAAA;AAClE,MAAM,yBAAyB,GAAG,gFAAgF,CAAA;AAClH,MAAM,iCAAiC,GAAG,iFAAiF,CAAA;AAC3H,MAAM,YAAY,GAAG,iCAAiC,CAAA;AACtD,MAAM,oBAAoB,GAAG,kCAAkC,CAAA;AAmC/D,MAAM,UAAU,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;AAEhE,SAAS,WAAW,CAAC,IAAY,EAAE,IAAY;IAC7C,MAAM,MAAM,GAAiB,EAAE,CAAA;IAC/B,mEAAmE;IACnE,2DAA2D;IAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACvE,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAA;IAC9F,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvG,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,KAAK,OAAO,EAAE,CAAC,CAAA;IACzE,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,KAAgC,CAAA;AACzC,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,QAA6B,EAAE,KAAc;IAC3E,OAAO,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;AAC3F,CAAC;AAED,yEAAyE;AACzE,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,GAAuB,CAAA;IAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,GAAG,GAAG,KAAK,CAAA;SACrC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;QAAE,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;;QACxE,OAAO,SAAS,CAAA;IACrB,sDAAsD;IACtD,6EAA6E;IAC7E,+EAA+E;IAC/E,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IAClC,MAAM,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACpE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,KAAc;IACrC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAC9B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC9B,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;AACjE,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,eAAuB;IACvD,KAAK,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;QAClD,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;YACjC,OAAO,SAAS,CAAA;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC,CAAA;AACpD,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,OAAe;IACtD,MAAM,SAAS,GAAG,GAAG,IAAI,gBAAgB,CAAA;IACzC,MAAM,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IAC3C,MAAM,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;AAC/B,CAAC;AAED,SAAS,UAAU,CAAC,UAAoB;IACtC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAA;AACpG,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,IAAI,CAChC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAClG,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;AAC5D,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;AACvE,CAAC;AAED,SAAS,wBAAwB;IAC/B,MAAM,UAAU,GAAG,CAAC,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAA;IAC3E,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC7D,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,qBAAqB,EAAE,yBAAyB,CAAC,CAAC,CAAA;IACpH,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,OAAO,CAAC,OAAe,EAAE,IAAc;IAC9C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;IAClG,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AAC/D,CAAC;AAED,SAAS,GAAG,CAAC,OAAe,EAAE,IAAc,EAAE,GAAuB;IACnE,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IACtF,IAAI,MAAM,CAAC,KAAK;QAAE,MAAM,MAAM,CAAC,KAAK,CAAA;IACpC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,MAAM,IAAI,SAAS,MAAM,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAC1H,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,QAAgB;IACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;IACzD,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,UAAU,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IACvF,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAA;IAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC3C,MAAM,SAAS,CAAC,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAA;IACpD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;AAC5B,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,OAAgB;IACrD,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IAC1E,MAAM,OAAO,GAAG,UAAU,CAAC,wBAAwB,EAAE,CAAC,CAAA;IACtD,IAAI,OAAO,EAAE,CAAC;QACZ,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAA;QACrD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAA;IACjD,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAA;IAC5C,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,OAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,yBAAyB,EACvE,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,4BAA4B,CACvE,CAAA;IACD,IAAI,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,UAAU,EAAE,CAAA;YAC1B,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;YAC5F,GAAG,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAA;QACjG,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9D,CAAC;IACD,MAAM,SAAS,GAAG,UAAU,CAAC,wBAAwB,EAAE,CAAC,CAAA;IACxD,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAA;IACzG,GAAG,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAA;IACvD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;AACpD,CAAC;AAED,KAAK,UAAU,QAAQ;IACrB,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAClD,IAAI,OAAO;QAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAA;IAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAA;IAC5C,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,YAAY,EAC7C,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAC7C,CAAA;IACD,IAAI,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,UAAU,EAAE,CAAA;YAC1B,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;YAC/E,GAAG,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;gBAC7E,GAAG,OAAO,CAAC,GAAG;gBACd,iBAAiB,EAAE,GAAG;aACvB,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAA;QACtE,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9D,CAAC;IACD,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;IACpD,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;IAC5F,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;AACpD,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,OAAgB;IAClD,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IAClE,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;IACpE,IAAI,OAAO;QAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAA;IAC5D,MAAM,EAAE,GAAG,MAAM,QAAQ,EAAE,CAAA;IAC3B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAA;IACtD,MAAM,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IAC7D,MAAM,SAAS,GAAG,UAAU,CAAC;QAC3B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,QAAQ,CAAC,aAAa,CAAC;QACvB,aAAa;KACd,CAAC,CAAA;IACF,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;IAC9F,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAuB;IACnD,MAAM,eAAe,GAAG,OAAO,CAAC,qBAAqB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;IACxE,kFAAkF;IAClF,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc;QACrC,CAAC,CAAC,MAAM,uBAAuB,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,QAAiB,EAAE,CAAC,CAAC;QAC7H,CAAC,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAA;IAClE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW;QACrC,CAAC,CAAC,MAAM,oBAAoB,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,QAAiB,EAAE,CAAC,CAAC;QAClH,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAA;IAE1D,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,IAAI,uBAAuB,EAAE,CAAC,CAAA;IAC1F,MAAM,cAAc,GAAG,MAAM,kBAAkB,CAAC,eAAe,CAAC,CAAA;IAChE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAA;IACrE,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,MAAM,KAAK,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtE,IAAI,QAAQ,GAAG,MAAM,CAAA;IACrB,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;QACjD,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;IAClD,IAAI,OAAO,GAAG,QAAQ,CAAA;IACtB,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,SAAS,GAAa,EAAE,CAAA;IAE9B,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;QAAE,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,iCAAiC,CAAC,CAAA;IAErG,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAClE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,yCAAyC,cAAc,EAAE,CAAC,CAAA;IAC5E,CAAC;IACD,IAAI,cAAc,GAAG,KAAK,CAAA;IAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,YAAY,CAAC,CAAA;IACjF,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,uEAAuE;QACvE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC3B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtB,cAAc,GAAG,IAAI,CAAA;IACvB,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,aAAa,EAAE,CAAC;QAC/C,sEAAsE;QACtE,sDAAsD;QACtD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;QACnD,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC7D,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAA;QACpF,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtB,cAAc,GAAG,IAAI,CAAA;IACvB,CAAC;IACD,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QAClC,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAA;QACtG,IAAI,gBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;YAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACvD,cAAc,GAAG,IAAI,CAAA;QACvB,CAAC;QACD,uEAAuE;QACvE,sEAAsE;IACxE,CAAC;IACD,IAAI,cAAc;QAAE,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAA;IAEpE,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QACvF,CAAC,CAAE,IAAI,CAAC,GAA+B;QACvC,CAAC,CAAC,EAAE,CAAA;IACN,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC7G,MAAM,IAAI,KAAK,CAAC,uCAAuC,cAAc,EAAE,CAAC,CAAA;IAC1E,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,KAA8B,EAAE,EAAE;QAC9D,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC9C,SAAS,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;YAC7B,OAAM;QACR,CAAC;QACD,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAA;QACjD,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;IAC7B,CAAC,CAAA;IACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;IACxF,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QACjC,MAAM,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;IACtG,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,MAAM,CAAC,iBAAiB,EAAE;YACxB,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC3B,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,MAAM;SAChB,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,CAAC,aAAa,EAAE;YACpB,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC;YAC9B,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,MAAM;SAChB,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,MAA0B,CAAA;IAC9B,IAAI,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC5C,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YAC3D,MAAM,GAAG,GAAG,cAAc,QAAQ,KAAK,EAAE,CAAA;YACzC,MAAM,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;QACxC,CAAC;QACD,MAAM,WAAW,CAAC,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,CAAA;IACtF,CAAC;IAED,IAAI,CAAC;QACH,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;QACjE,WAAW,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAA;QAC/C,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAA;QACnE,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,CAC/B;gBACE,OAAO,EAAE,iGAAiG;gBAC1G,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;aACzC,EACD,IAAI,EACJ,CAAC,CACF,IAAI,CAAA;YACL,MAAM,WAAW,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IAED,OAAO;QACL,cAAc;QACd,eAAe;QACf,OAAO;QACP,SAAS;QACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,YAAY,EAAE;YACZ,cAAc,EAAE,QAAQ,CAAC,MAAM;YAC/B,WAAW,EAAE,WAAW,CAAC,MAAM;SAChC;KACF,CAAA;AACH,CAAC;AAED,SAAS,KAAK;IACZ,OAAO;QACL,oBAAoB;QACpB,EAAE;QACF,QAAQ;QACR,oEAAoE;QACpE,EAAE;QACF,WAAW;QACX,+DAA+D;QAC/D,mDAAmD;QACnD,0DAA0D;QAC1D,mDAAmD;QACnD,0DAA0D;QAC1D,EAAE;QACF,kBAAkB;QAClB,sDAAsD;QACtD,wEAAwE;QACxE,oEAAoE;QACpE,wDAAwD;QACxD,0DAA0D;QAC1D,gFAAgF;QAChF,6EAA6E;QAC7E,mFAAmF;QACnF,+DAA+D;QAC/D,EAAE;QACF,oBAAoB;QACpB,0EAA0E;QAC1E,+DAA+D;QAC/D,0DAA0D;QAC1D,uDAAuD;QACvD,8DAA8D;KAC/D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AASD,SAAS,cAAc,CAAC,IAAc;IACpC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,MAAM,CAAA;IAC3D,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAqB,EAAE,CAAA;QACpC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;YAC5B,IAAI,QAAQ,KAAK,WAAW;gBAAE,OAAO,CAAC,IAAI,GAAG,KAAK,CAAA;iBAC7C,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;gBACpC,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAA;gBAC/B,IAAI,CAAC,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;gBAC9D,OAAO,CAAC,SAAS,GAAG,SAAS,CAAA;YAC/B,CAAC;iBAAM,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;gBACvC,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAA;gBAC/B,IAAI,CAAC,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;gBACpE,OAAO,CAAC,eAAe,GAAG,SAAS,CAAA;YACrC,CAAC;iBAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAA;gBAC1B,IAAI,CAAC,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;gBACxD,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;YACrB,CAAC;iBAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;gBAClC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,MAAM;oBAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;gBACrH,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;YACrB,CAAC;;gBAAM,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAA;QACjE,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAA;IAC1C,CAAC;IACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,OAAO,GAAiD,EAAE,CAAA;QAChE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;YAC5B,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;gBAChC,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAA;gBAC/B,IAAI,CAAC,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;gBACpE,OAAO,CAAC,eAAe,GAAG,SAAS,CAAA;YACrC,CAAC;iBAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACjC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;YACrB,CAAC;;gBAAM,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAA;QAC9D,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;IACvC,CAAC;IACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC7G,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;IAC9B,CAAC;IACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACrB,IAAI,CAAC,KAAK,IAAK,WAAiC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;YAC3E,MAAM,IAAI,KAAK,CAAC,+BAA+B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC1E,CAAC;QACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACjH,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,EAAE,CAAA;IACrF,CAAC;IACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAA;IACxF,MAAM,OAAO,GAAmB;QAC9B,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,IAAI;QACpB,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,IAAI;QACjB,qBAAqB,EAAE,IAAI;QAC3B,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK;KACd,CAAA;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5B,IAAI,QAAQ,KAAK,eAAe;YAAE,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAA;aACrD,IAAI,QAAQ,KAAK,sBAAsB;YAAE,OAAO,CAAC,cAAc,GAAG,KAAK,CAAA;aACvE,IAAI,QAAQ,KAAK,kBAAkB;YAAE,OAAO,CAAC,WAAW,GAAG,KAAK,CAAA;aAChE,IAAI,QAAQ,KAAK,iBAAiB;YAAE,OAAO,CAAC,UAAU,GAAG,KAAK,CAAA;aAC9D,IAAI,QAAQ,KAAK,kBAAkB;YAAE,OAAO,CAAC,WAAW,GAAG,KAAK,CAAA;aAChE,IAAI,QAAQ,KAAK,WAAW;YAAE,OAAO,CAAC,qBAAqB,GAAG,KAAK,CAAA;aACnE,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAA;aAChD,IAAI,QAAQ,KAAK,WAAW;YAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAA;aACnD,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAA;YAC/B,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;YACpE,OAAO,CAAC,eAAe,GAAG,SAAS,CAAA;QACrC,CAAC;;YAAM,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAA;IACvD,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;AACxC,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACpD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAA;YACpB,OAAM;QACR,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACtD,OAAO,CAAC,GAAG,CAAC,wBAAwB,SAAS,CAAC,GAAG,EAAE,CAAC,CAAA;YACpD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;YACpC,OAAM;QACR,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAClI,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAC9C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAA;YACzC,CAAC;YACD,OAAM;QACR,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,eAAe,CAAC,MAAM,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAA;YACpF,OAAM;QACR,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;YACxE,OAAM;QACR,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC5C,OAAO,CAAC,GAAG,CAAC,kCAAkC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAA;QACtE,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAA;QACxD,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAA;QACrE,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAA;QAC9D,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACnF,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACzF,IAAI,MAAM,CAAC,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACrE,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;QACtB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;IACtB,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,aAAa,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,IAAI;IACxH,CAAC,CAAC,EAAE,CAAA;AACN,IAAI,OAAO,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG;IAAE,MAAM,IAAI,EAAE,CAAA"}
@@ -4,3 +4,5 @@ export interface LoadedConfig {
4
4
  source?: string;
5
5
  }
6
6
  export declare function loadConfig(directory: string, rawOptions?: Record<string, unknown>): Promise<LoadedConfig>;
7
+ /** Load the same global + project config layers without plugin options. */
8
+ export declare function loadConfigForDirectory(directory: string, configDirectory?: string): Promise<LoadedConfig>;
@@ -25,7 +25,8 @@ async function exists(file) {
25
25
  }
26
26
  }
27
27
  async function readJsonc(file) {
28
- const text = await readFile(file, "utf8");
28
+ const raw = await readFile(file, "utf8");
29
+ const text = raw.charCodeAt(0) === 0xfeff ? raw.slice(1) : raw;
29
30
  const errors = [];
30
31
  const value = parseJsonc(text, errors, { allowTrailingComma: true, disallowComments: false });
31
32
  if (errors.length > 0) {
@@ -56,4 +57,17 @@ export async function loadConfig(directory, rawOptions = {}) {
56
57
  ...(sources.length > 0 ? { source: sources.join(" -> ") } : {}),
57
58
  };
58
59
  }
60
+ /** Load the same global + project config layers without plugin options. */
61
+ export async function loadConfigForDirectory(directory, configDirectory) {
62
+ const projectJsonc = path.join(directory, ".opencode", "orchestra.jsonc");
63
+ const projectJson = path.join(directory, ".opencode", "orchestra.json");
64
+ const project = (await exists(projectJsonc)) ? projectJsonc : projectJson;
65
+ const global = path.join(configDirectory ?? path.dirname(globalOrchestraConfig()), "orchestra.jsonc");
66
+ const candidates = [global, project];
67
+ const sources = (await Promise.all(candidates.map(async (candidate) => ((await exists(candidate)) ? candidate : undefined)))).filter((candidate) => Boolean(candidate));
68
+ let fromFile = {};
69
+ for (const source of sources)
70
+ fromFile = mergeConfig(fromFile, await readJsonc(source));
71
+ return { config: orchestraConfigSchema.parse(fromFile), ...(sources.length > 0 ? { source: sources.join(" -> ") } : {}) };
72
+ }
59
73
  //# sourceMappingURL=load.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface RegisteredProject {
2
+ id: string;
3
+ name: string;
4
+ directory: string;
5
+ lastSeenAt: string;
6
+ }
7
+ export declare function projectId(directory: string): string;
8
+ export declare function registerProject(directory: string, configDirectory: string): Promise<void>;
9
+ export declare function readProjects(configDirectory: string): Promise<RegisteredProject[]>;
@@ -0,0 +1,38 @@
1
+ import { createHash } from "node:crypto";
2
+ import { mkdir, readFile, rename, writeFile } from "node:fs/promises";
3
+ import path from "node:path";
4
+ function registryPath(configDirectory) {
5
+ return path.join(configDirectory, "orchestra-projects.json");
6
+ }
7
+ export function projectId(directory) {
8
+ return createHash("sha256").update(path.resolve(directory)).digest("hex").slice(0, 16);
9
+ }
10
+ export async function registerProject(directory, configDirectory) {
11
+ const resolved = path.resolve(directory);
12
+ const file = registryPath(configDirectory);
13
+ let projects = [];
14
+ try {
15
+ const parsed = JSON.parse(await readFile(file, "utf8"));
16
+ if (Array.isArray(parsed.projects))
17
+ projects = parsed.projects;
18
+ }
19
+ catch {
20
+ // A missing or corrupt registry is rebuilt from the current project.
21
+ }
22
+ const current = { id: projectId(resolved), name: path.basename(resolved), directory: resolved, lastSeenAt: new Date().toISOString() };
23
+ const next = [...projects.filter((project) => project.directory !== resolved), current];
24
+ await mkdir(configDirectory, { recursive: true });
25
+ const temporary = `${file}.tmp-${process.pid}-${Date.now()}-${Math.random().toString(16).slice(2)}`;
26
+ await writeFile(temporary, `${JSON.stringify({ version: 1, projects: next }, null, 2)}\n`, "utf8");
27
+ await rename(temporary, file);
28
+ }
29
+ export async function readProjects(configDirectory) {
30
+ try {
31
+ const parsed = JSON.parse(await readFile(registryPath(configDirectory), "utf8"));
32
+ return Array.isArray(parsed.projects) ? parsed.projects.filter((project) => typeof project.directory === "string") : [];
33
+ }
34
+ catch {
35
+ return [];
36
+ }
37
+ }
38
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/dashboard/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACrE,OAAO,IAAI,MAAM,WAAW,CAAA;AAS5B,SAAS,YAAY,CAAC,eAAuB;IAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAAA;AAC9D,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,SAAiB;IACzC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACxF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAAiB,EAAE,eAAuB;IAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACxC,MAAM,IAAI,GAAG,YAAY,CAAC,eAAe,CAAC,CAAA;IAC1C,IAAI,QAAQ,GAAwB,EAAE,CAAA;IACtC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAuC,CAAA;QAC7F,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;YAAE,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,qEAAqE;IACvE,CAAC;IACD,MAAM,OAAO,GAAsB,EAAE,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAA;IACxJ,MAAM,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAA;IACvF,MAAM,KAAK,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACjD,MAAM,SAAS,GAAG,GAAG,IAAI,QAAQ,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;IACnG,MAAM,SAAS,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAClG,MAAM,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,eAAuB;IACxD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,CAAuC,CAAA;QACtH,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACzH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC"}
@@ -10,9 +10,11 @@ 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 { loadConfigForDirectory } from "../config/load.js";
13
14
  import { analyzeDaily } from "../telemetry/analytics.js";
14
15
  import { readLedgerState } from "../telemetry/ledger.js";
15
16
  import { parseLiveSnapshot } from "../telemetry/live.js";
17
+ import { projectId, readProjects, registerProject } from "./registry.js";
16
18
  /**
17
19
  * Any top-level config section may be edited from the dashboard, so the input
18
20
  * is validated against the full schema rather than a narrow hand-written
@@ -124,10 +126,9 @@ function connectedModels(directory) {
124
126
  return [];
125
127
  return [...new Set(result.stdout.split(/\r?\n/).map((line) => line.trim()).filter((line) => /^[^\s/]+\/[^\s]+$/.test(line)))].sort();
126
128
  }
127
- async function snapshot(directory, configDirectory) {
129
+ async function snapshot(directory, configDirectory, includeModels = true) {
128
130
  const configPath = path.join(configDirectory, "orchestra.jsonc");
129
- const configText = await readTextOr(configPath, "{}\n");
130
- const config = orchestraConfigSchema.parse(parseJsonc(configText));
131
+ const config = (await loadConfigForDirectory(directory, configDirectory)).config;
131
132
  const ledger = await readLedgerState(path.resolve(directory, config.telemetry.directory, "state.json"));
132
133
  const activity = [];
133
134
  for (const [sessionID, session] of Object.entries(ledger.sessions)) {
@@ -157,6 +158,7 @@ async function snapshot(directory, configDirectory) {
157
158
  const daily = [...dailyMap.values()].sort((a, b) => a.date.localeCompare(b.date));
158
159
  const analytics = analyzeDaily(daily);
159
160
  return {
161
+ projectId: projectId(directory),
160
162
  updatedAt: ledger.updatedAt,
161
163
  project: path.basename(directory),
162
164
  directory,
@@ -180,12 +182,82 @@ async function snapshot(directory, configDirectory) {
180
182
  anomalies: analytics.anomalies,
181
183
  mcp: await mcpStatus(configDirectory),
182
184
  availableModels: [...new Set([
183
- ...connectedModels(directory),
185
+ ...(includeModels ? connectedModels(directory) : []),
184
186
  ...Object.values(config.models.agents),
185
187
  ...config.models.lead, ...config.models.judge, ...Object.values(config.models.worker).flat(),
186
188
  ].map((model) => typeof model === "string" ? model : model.id))].sort(),
187
189
  };
188
190
  }
191
+ function mergeAggregateRows(snapshots, key) {
192
+ const merged = new Map();
193
+ for (const data of snapshots) {
194
+ for (const row of data[key]) {
195
+ const current = merged.get(row.id) ?? { id: row.id, calls: 0, cost: 0, tokens: emptyTokens() };
196
+ current.calls += row.calls;
197
+ current.cost += row.cost;
198
+ addTokens(current.tokens, row.tokens);
199
+ merged.set(row.id, current);
200
+ }
201
+ }
202
+ return [...merged.values()].sort((a, b) => b.cost - a.cost || b.tokens.output - a.tokens.output);
203
+ }
204
+ async function knownProjects(directory, configDirectory) {
205
+ const current = { id: projectId(directory), name: path.basename(directory), directory, lastSeenAt: new Date().toISOString() };
206
+ const unique = new Map((await readProjects(configDirectory)).map((project) => [path.resolve(project.directory), { ...project, directory: path.resolve(project.directory) }]));
207
+ unique.set(directory, current);
208
+ return [...unique.values()].sort((a, b) => a.name.localeCompare(b.name));
209
+ }
210
+ async function projectSnapshots(directory, configDirectory) {
211
+ const results = await Promise.all((await knownProjects(directory, configDirectory)).map(async (project) => {
212
+ try {
213
+ return await snapshot(project.directory, configDirectory, false);
214
+ }
215
+ catch {
216
+ return undefined;
217
+ }
218
+ }));
219
+ return results.filter((item) => Boolean(item));
220
+ }
221
+ function projectInfo(data) {
222
+ return { id: data.projectId, name: data.project, directory: data.directory, lastSeenAt: data.updatedAt, updatedAt: data.updatedAt, summary: data.summary };
223
+ }
224
+ async function globalSnapshot(directory, configDirectory) {
225
+ const snapshots = await projectSnapshots(directory, configDirectory);
226
+ const tokens = emptyTokens();
227
+ let sessions = 0;
228
+ let calls = 0;
229
+ let cost = 0;
230
+ const dailyMap = new Map();
231
+ for (const data of snapshots) {
232
+ sessions += data.summary.sessions;
233
+ calls += data.summary.calls;
234
+ cost += data.summary.cost;
235
+ addTokens(tokens, data.summary.tokens);
236
+ for (const row of data.daily) {
237
+ const point = dailyMap.get(row.date) ?? { date: row.date, cost: 0, input: 0, output: 0, reasoning: 0 };
238
+ point.cost += row.cost;
239
+ point.input += row.input;
240
+ point.output += row.output;
241
+ point.reasoning += row.reasoning;
242
+ dailyMap.set(row.date, point);
243
+ }
244
+ }
245
+ const daily = [...dailyMap.values()].sort((a, b) => a.date.localeCompare(b.date)).slice(-30);
246
+ const analytics = analyzeDaily(daily);
247
+ return {
248
+ global: true,
249
+ updatedAt: snapshots.map((item) => item.updatedAt).sort().at(-1) ?? new Date(0).toISOString(),
250
+ project: "Все проекты",
251
+ directory: `${snapshots.length} registered projects`,
252
+ summary: { projects: snapshots.length, sessions, calls, cost, tokens },
253
+ models: mergeAggregateRows(snapshots, "models"),
254
+ agents: mergeAggregateRows(snapshots, "agents"),
255
+ daily,
256
+ projection: analytics.projection,
257
+ anomalies: analytics.anomalies,
258
+ projects: snapshots.map(projectInfo),
259
+ };
260
+ }
189
261
  const EXPORT_SCOPES = ["activity", "models", "agents", "daily", "summary"];
190
262
  function csvEscape(value) {
191
263
  const text = value === undefined || value === null ? "" : String(value);
@@ -374,8 +446,7 @@ const LIVE_TELEMETRY_DIRECTORIES = [".orchestra", "orchestra"];
374
446
  async function readLiveSnapshot(directory, configDirectory) {
375
447
  let telemetryDirectory = ".orchestra";
376
448
  try {
377
- const configPath = path.join(configDirectory, "orchestra.jsonc");
378
- const config = orchestraConfigSchema.parse(parseJsonc(await readTextOr(configPath, "{}\n")));
449
+ const config = (await loadConfigForDirectory(directory, configDirectory)).config;
379
450
  telemetryDirectory = config.telemetry.directory;
380
451
  }
381
452
  catch {
@@ -441,6 +512,12 @@ export async function startDashboard(options = {}) {
441
512
  const port = options.port ?? 0;
442
513
  const assetsDirectory = path.resolve(options.assetsDirectory ?? defaultAssetsDirectory());
443
514
  const token = randomBytes(24).toString("base64url");
515
+ await registerProject(directory, configDirectory).catch(() => undefined);
516
+ const resolveProject = async (id) => {
517
+ if (!id)
518
+ return directory;
519
+ return (await knownProjects(directory, configDirectory)).find((project) => project.id === id)?.directory;
520
+ };
444
521
  const server = createServer(async (request, response) => {
445
522
  try {
446
523
  const url = new URL(request.url ?? "/", `http://${request.headers.host ?? host}`);
@@ -454,15 +531,39 @@ export async function startDashboard(options = {}) {
454
531
  return;
455
532
  }
456
533
  if (request.method === "GET" && url.pathname === "/api/live") {
457
- handleLiveStream(request, response, directory, configDirectory);
534
+ const target = await resolveProject(url.searchParams.get("project"));
535
+ if (!target) {
536
+ sendJson(response, 404, { error: "Unknown project" });
537
+ return;
538
+ }
539
+ handleLiveStream(request, response, target, configDirectory);
458
540
  return;
459
541
  }
460
542
  if (request.method === "GET" && url.pathname === "/api/snapshot") {
461
- sendJson(response, 200, await snapshot(directory, configDirectory));
543
+ const target = await resolveProject(url.searchParams.get("project"));
544
+ if (!target) {
545
+ sendJson(response, 404, { error: "Unknown project" });
546
+ return;
547
+ }
548
+ sendJson(response, 200, await snapshot(target, configDirectory));
549
+ return;
550
+ }
551
+ if (request.method === "GET" && url.pathname === "/api/projects") {
552
+ const projects = await projectSnapshots(directory, configDirectory);
553
+ sendJson(response, 200, projects.map((item) => projectInfo(item)));
554
+ return;
555
+ }
556
+ if (request.method === "GET" && url.pathname === "/api/global") {
557
+ sendJson(response, 200, await globalSnapshot(directory, configDirectory));
462
558
  return;
463
559
  }
464
560
  if (request.method === "GET" && url.pathname === "/api/export") {
465
- await exportReport(response, directory, configDirectory, url.searchParams);
561
+ const target = await resolveProject(url.searchParams.get("project"));
562
+ if (!target) {
563
+ sendJson(response, 404, { error: "Unknown project" });
564
+ return;
565
+ }
566
+ await exportReport(response, target, configDirectory, url.searchParams);
466
567
  return;
467
568
  }
468
569
  if (request.method === "PUT" && url.pathname === "/api/config") {