@oeronteros-1/opencode-orchestra 1.0.25 → 1.0.26

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 (81) hide show
  1. package/README.md +23 -8
  2. package/dashboard-dist/assets/index-BcxwxSxG.js +124 -0
  3. package/dashboard-dist/assets/{index-1lUDKh9b.css → index-igZBUoKO.css} +1 -1
  4. package/dashboard-dist/index.html +2 -2
  5. package/dist/agents/build.d.ts +1 -0
  6. package/dist/agents/build.js +4 -4
  7. package/dist/agents/build.js.map +1 -1
  8. package/dist/agents/editor.d.ts +1 -1
  9. package/dist/agents/editor.js +2 -2
  10. package/dist/agents/editor.js.map +1 -1
  11. package/dist/agents/integrator.d.ts +1 -1
  12. package/dist/agents/integrator.js +2 -2
  13. package/dist/agents/integrator.js.map +1 -1
  14. package/dist/agents/merge.d.ts +1 -1
  15. package/dist/agents/merge.js +2 -2
  16. package/dist/agents/merge.js.map +1 -1
  17. package/dist/agents/workers.d.ts +2 -1
  18. package/dist/agents/workers.js +2 -2
  19. package/dist/agents/workers.js.map +1 -1
  20. package/dist/cli.js +5 -28
  21. package/dist/cli.js.map +1 -1
  22. package/dist/config/defaults.js +17 -3
  23. package/dist/config/defaults.js.map +1 -1
  24. package/dist/config/schema.d.ts +5 -0
  25. package/dist/config/schema.js +14 -2
  26. package/dist/config/schema.js.map +1 -1
  27. package/dist/dashboard/server.js +36 -15
  28. package/dist/dashboard/server.js.map +1 -1
  29. package/dist/diagnostics/doctor.js +19 -25
  30. package/dist/diagnostics/doctor.js.map +1 -1
  31. package/dist/index.js +156 -12
  32. package/dist/index.js.map +1 -1
  33. package/dist/orchestration/worktrees.d.ts +1 -1
  34. package/dist/orchestration/worktrees.js +3 -2
  35. package/dist/orchestration/worktrees.js.map +1 -1
  36. package/dist/pricing/model-match.js +2 -0
  37. package/dist/pricing/model-match.js.map +1 -1
  38. package/dist/prompts/load.d.ts +5 -2
  39. package/dist/prompts/load.js +25 -13
  40. package/dist/prompts/load.js.map +1 -1
  41. package/dist/routing/classifier.d.ts +2 -0
  42. package/dist/routing/classifier.js +1 -0
  43. package/dist/routing/classifier.js.map +1 -1
  44. package/dist/routing/escalation.js +5 -1
  45. package/dist/routing/escalation.js.map +1 -1
  46. package/dist/routing/fallback.d.ts +2 -0
  47. package/dist/routing/fallback.js +6 -1
  48. package/dist/routing/fallback.js.map +1 -1
  49. package/dist/routing/model-resolver.d.ts +3 -0
  50. package/dist/routing/model-resolver.js +6 -2
  51. package/dist/routing/model-resolver.js.map +1 -1
  52. package/dist/spawn.d.ts +25 -0
  53. package/dist/spawn.js +52 -0
  54. package/dist/spawn.js.map +1 -0
  55. package/dist/telemetry/analytics.d.ts +2 -1
  56. package/dist/telemetry/analytics.js +4 -4
  57. package/dist/telemetry/analytics.js.map +1 -1
  58. package/dist/telemetry/ledger.d.ts +8 -1
  59. package/dist/telemetry/ledger.js +11 -1
  60. package/dist/telemetry/ledger.js.map +1 -1
  61. package/dist/telemetry/live.d.ts +4 -1
  62. package/dist/telemetry/live.js +8 -5
  63. package/dist/telemetry/live.js.map +1 -1
  64. package/dist/tools.js +50 -5
  65. package/dist/tools.js.map +1 -1
  66. package/package.json +2 -2
  67. package/prompts/critic.md +8 -0
  68. package/prompts/docs.md +7 -0
  69. package/prompts/editor.md +7 -0
  70. package/prompts/integrator.md +7 -0
  71. package/prompts/lead.md +3 -0
  72. package/prompts/merge.md +10 -0
  73. package/prompts/repo.md +7 -0
  74. package/prompts/research.md +8 -0
  75. package/prompts/security.md +8 -0
  76. package/prompts/tests.md +8 -0
  77. package/prompts/visual-generate.md +7 -0
  78. package/prompts/visual-reference.md +8 -0
  79. package/prompts/visual-review.md +8 -0
  80. package/schema/opencode-orchestra.schema.json +13 -3
  81. package/dashboard-dist/assets/index-Dc5lp8wX.js +0 -124
package/README.md CHANGED
@@ -14,18 +14,34 @@
14
14
  - диагностика `doctor`, проверка обновлений и shell completion;
15
15
  - идемпотентная установка без удаления пользовательской OpenCode/MCP-конфигурации.
16
16
 
17
- Версия плагина — **1.0.13**. Контракт 1.0 описан в [CHANGELOG.md](CHANGELOG.md) (входит в npm-пакет). GitHub release notes: [GITHUB_RELEASE_1.0.0.md](GITHUB_RELEASE_1.0.0.md), [GITHUB_RELEASE_1.0.7.md](GITHUB_RELEASE_1.0.7.md).
17
+ Версия плагина — **1.0.25**. Полный контракт конфигурации описан в [schema/opencode-orchestra.schema.json](schema/opencode-orchestra.schema.json), рабочий пример в [examples/.opencode/orchestra.jsonc](examples/.opencode/orchestra.jsonc).
18
18
 
19
- ## Что нового в 1.0.9–1.0.13
19
+ ## Что нового в 1.0.9–1.0.25
20
20
 
21
21
  Полноценные разделы с примерами для пользователей.
22
22
 
23
+ ### 1.0.24–1.0.25 — параллельные редакторы и Windows-совместимость
24
+
25
+ - **Параллельные редакторы**: `orchestration.parallelEditors` включает безопасный fan-out/fan-in для правок: каждый `orch-editor` работает в отдельном experimental Git worktree, а `orch-integrator` проверяет фактический diff и интегрирует коммиты в детерминированном порядке. При конфликте worktrees сохраняются для диагностики; `0` (по умолчанию) отключает режим.
26
+ - **Windows-совместимость**: установщик и `doctor` теперь запускают `.cmd`/`.bat` shims и скрипты через `cmd.exe` (например, `uv.cmd` или `memorygraph.cmd` в `~/.local/bin`), а поиск инструментов учитывает переменную `HOME` и варианты `.exe`/`.cmd`. `doctor` дополнительно дедуплицирует кандидатов, когда `uv tool dir` и `~/.local/bin` указывают на одну папку, — диагностика не тратит время на повторные пробы.
27
+
28
+ ### 1.0.21–1.0.23 — установщик и OpenRouter-цены
29
+
30
+ - **Установщик**: добавляет путь к навыкам Superpowers в `skills.paths` (работает даже там, где git-спека не установилась), приводит `agent.orch-lead` к `mode: "primary"` + `hidden: false` и больше не трогает явные версии/теги плагинов — на `@latest` обновляется только «голое» имя пакета.
31
+ - **OpenRouter-фолбэк цен**: для моделей без цены провайдера можно включить `pricing.openrouter.enabled` — публичный каталог OpenRouter (`/api/v1/models`, без API-ключа) кэшируется на `ttlHours` и не ломает офлайн-оценку при недоступности сети.
32
+
33
+ ### 1.0.14–1.0.16 — live-панель и реестр проектов
34
+
35
+ - **Live-панель в dashboard**: показывает, какие агенты генерируют прямо сейчас, короткий сниппет их вывода, оценочную стоимость и токены. Поток мостится через файловый snapshot + SSE, поэтому работает между процессами плагина и dashboard.
36
+ - **Реестр проектов**: плагин регистрирует открытые проекты в `orchestra-projects.json`, dashboard переключается между ними.
37
+ - **`/orchestra` закреплён за `orch-lead`**: команда вызывает `orchestra_route`, после чего lead сам выполняет план — диспетчеризация workers, `orch-merge`, правки и проверка.
38
+
23
39
  ### 1.0.13 — первичный агент и стабильность
24
40
 
25
41
  - **Первичный агент `orch-lead`**: ведущий агент не только координирует специалистов, но и сам редактирует файлы, запускает проверку и завершает пользовательскую задачу. Файловые операции разрешены, а shell-команды требуют подтверждения OpenCode. В `/plugin-status` и логах сессии `orch-lead` отображается как главный исполнитель, а не скрытый специалист. Пример вывода:
26
42
  ```text
27
43
  /plugin-status
28
- Primary agent: orch-lead (v1.0.13)
44
+ Primary agent: orch-lead (v1.0.25)
29
45
  Budget: balanced
30
46
  Strategy: auto
31
47
  ```
@@ -73,7 +89,7 @@ CLI использует Bun напрямую, поэтому отдельный
73
89
 
74
90
  Установщик идемпотентен. Существующие настройки MCP он сохраняет; заменить их стандартными значениями можно только через `--force`.
75
91
 
76
- На Linux и macOS используются официальные shell-инсталляторы Codebase Memory и uv. На Windows загружаются официальные PowerShell-инсталляторы, исполняемые с временным `ExecutionPolicy Bypass`; Codebase Memory устанавливается в `%LOCALAPPDATA%`, а пути к `uv` и MemoryGraph определяются автоматически. Сам установщик Orchestra не изменяет системные каталоги.
92
+ На Linux и macOS используются официальные shell-инсталляторы Codebase Memory и uv. На Windows загружаются официальные PowerShell-инсталляторы, исполняемые с временным `ExecutionPolicy Bypass`; Codebase Memory устанавливается в `%LOCALAPPDATA%`, а пути к `uv` и MemoryGraph определяются автоматически. Сам установщик Orchestra не изменяет системные каталоги. Поиск инструментов на Windows учитывает `.cmd`/`.bat` shims (`uv.cmd`, `memorygraph.cmd` и т.п.) и запускает их через `cmd.exe`, а переменная `HOME` имеет приоритет при определении `~/.local/bin`.
77
93
 
78
94
  Superpowers — фреймворк навыков для агентов (obra/superpowers) — добавляется в массив `plugin` официальной git-спекой и устанавливается через плагин-менеджер OpenCode. На некоторых Windows-сборках OpenCode git-спеки могут не установиться из-за проблем с путями кэша и `git.exe`; в этом случае выполните `npm install superpowers@git+https://github.com/obra/superpowers.git --prefix "$HOME\.config\opencode"` и добавьте запись `"~/.config/opencode/node_modules/superpowers"` в `plugin`.
79
95
 
@@ -236,7 +252,7 @@ bunx @oeronteros-1/opencode-orchestra@latest completion zsh > ~/.zsh/completions
236
252
 
237
253
  Как определяется стоимость: raw model ID нормализуется (регистр, разделители, префикс провайдера, namespace-обёртки, `:free`-суффиксы), затем цена ищется в порядке: явная цена из конфига → псевдонимы → snapshot провайдера → OpenRouter. Совпадение по ключевым словам/нечёткое сравнение защищено от ложных срабатываний: похожие модели семейства (`GPT-5.6`, `GPT-5.6 Mini`, `GPT-5.6 Sol`) не схлопываются. Итог всегда один из четырёх статусов: `paid` (цена известна), `free` ($0, токены считаются), `subscription` ($0 + статус подписки) или `unknown` (токены считаются, стоимость — `null`, никогда не выдаётся за бесплатную). Токены и биллинг — две независимые величины.
238
254
 
239
- Resolver формирует упорядоченный список более дешёвых fallback-кандидатов для execution-слоёв, которые умеют повторять вызовы. Сам плагин не перехватывает provider-вызовы OpenCode и поэтому не заявляет автоматический retry. Прогноз стоимости — информативное поле: выполнение не блокируется, а предупреждение помогает подтвердить расходы заранее.
255
+ Resolver формирует упорядоченный список fallback-кандидатов из доступных пользователю моделей, предпочитая схожую стоимость и совместимые capabilities. Цепочка передаётся lead в поле `fallback`; execution-слой может переключиться на следующий кандидат при ошибке провайдера. Если текущая версия OpenCode не предоставляет provider-interception, сам плагин не перехватывает вызов и не обещает автоматический retry. Прогноз стоимости — информативное поле: выполнение не блокируется, а предупреждение помогает подтвердить расходы заранее.
240
256
 
241
257
  ## Агенты и команды
242
258
 
@@ -250,9 +266,7 @@ Resolver формирует упорядоченный список более
250
266
  ```jsonc
251
267
  {
252
268
  "models": {
253
- "judge": {
254
- "frontier": [{ "id": "openai/gpt-5", "cost": "subscription", "tier": "judge" }]
255
- }
269
+ "judge": [{ "id": "openai/gpt-5", "cost": "subscription", "tier": "frontier" }]
256
270
  }
257
271
  }
258
272
  ```
@@ -333,6 +347,7 @@ bunx @oeronteros-1/opencode-orchestra@latest dashboard
333
347
  - фактическую стоимость, которую возвращает провайдер;
334
348
  - расходы и нагрузку по моделям и агентам;
335
349
  - виртуализированный журнал activity; тексты промптов и ответов отключены по умолчанию и сохраняются только при явном `telemetry.storeTexts: true`;
350
+ - live-панель: какие агенты генерируют прямо сейчас, сниппет их вывода, оценочная стоимость и токены;
336
351
  - статус Context7, Codebase Memory, MemoryGraph;
337
352
  - настройку режимов `eco`, `balanced`, `quality`, `ebobo` и моделей отдельных агентов;
338
353
  - месячный прогноз, детектирование аномалий и экспорт activity/models/agents/daily/summary в CSV или JSON.