@reinamaccredy/maestro 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/bin/maestro.js +4 -4
  2. package/bin/platform.js +4 -4
  3. package/bin/platform.test.ts +13 -13
  4. package/dist/agents/execution/index.d.ts +4 -0
  5. package/dist/agents/{scribe.d.ts → execution/scribe.d.ts} +1 -1
  6. package/dist/agents/{soloist.d.ts → execution/soloist.d.ts} +1 -1
  7. package/dist/agents/{virtuoso.d.ts → execution/virtuoso.d.ts} +1 -1
  8. package/dist/agents/index.d.ts +6 -1
  9. package/dist/agents/{arranger.d.ts → orchestration/arranger.d.ts} +1 -1
  10. package/dist/agents/{conductor.d.ts → orchestration/conductor.d.ts} +3 -3
  11. package/dist/agents/orchestration/index.d.ts +4 -0
  12. package/dist/agents/{maestro.d.ts → orchestration/maestro.d.ts} +1 -1
  13. package/dist/agents/{maestro-prompt-builder.d.ts → orchestration/prompt-builder.d.ts} +1 -1
  14. package/dist/agents/{designer.d.ts → planning/designer.d.ts} +1 -1
  15. package/dist/agents/planning/index.d.ts +3 -0
  16. package/dist/agents/{analyst.d.ts → research/analyst.d.ts} +1 -1
  17. package/dist/agents/{archivist.d.ts → research/archivist.d.ts} +1 -1
  18. package/dist/agents/research/index.d.ts +3 -0
  19. package/dist/agents/{scout.d.ts → research/scout.d.ts} +1 -1
  20. package/dist/agents/{critic.d.ts → review/critic.d.ts} +1 -1
  21. package/dist/agents/review/index.d.ts +1 -0
  22. package/dist/agents/utils.d.ts +1 -1
  23. package/dist/cli/doctor/constants.d.ts +1 -1
  24. package/dist/cli/index.js +45 -45
  25. package/dist/features/{background-agent → background/agent}/concurrency.d.ts +1 -1
  26. package/dist/features/{background-agent → background/agent}/manager.d.ts +1 -1
  27. package/dist/features/background/index.d.ts +2 -0
  28. package/dist/features/{task-toast-manager → background/toast-manager}/manager.d.ts +1 -1
  29. package/dist/features/builtin-commands/types.d.ts +1 -1
  30. package/dist/features/loaders/index.d.ts +4 -0
  31. package/dist/features/{claude-code-plugin-loader → loaders/plugin-loader}/loader.d.ts +2 -2
  32. package/dist/features/{claude-code-plugin-loader → loaders/plugin-loader}/types.d.ts +1 -1
  33. package/dist/features/opencode-skill-loader/loader.d.ts +1 -1
  34. package/dist/features/opencode-skill-loader/types.d.ts +1 -1
  35. package/dist/features/skill-mcp-manager/manager.d.ts +1 -1
  36. package/dist/features/skill-mcp-manager/types.d.ts +1 -1
  37. package/dist/features/state/index.d.ts +2 -0
  38. package/dist/hooks/context/index.d.ts +4 -0
  39. package/dist/hooks/{anthropic-context-window-limit-recovery → error-recovery/anthropic-context-window-limit-recovery}/executor.d.ts +1 -1
  40. package/dist/hooks/{anthropic-context-window-limit-recovery → error-recovery/anthropic-context-window-limit-recovery}/index.d.ts +1 -1
  41. package/dist/hooks/{anthropic-context-window-limit-recovery → error-recovery/anthropic-context-window-limit-recovery}/pruning-executor.d.ts +1 -1
  42. package/dist/hooks/error-recovery/index.d.ts +3 -0
  43. package/dist/hooks/index.d.ts +6 -25
  44. package/dist/hooks/{auto-slash-command → input/auto-slash-command}/executor.d.ts +1 -1
  45. package/dist/hooks/{auto-slash-command → input/auto-slash-command}/index.d.ts +1 -1
  46. package/dist/hooks/input/index.d.ts +3 -0
  47. package/dist/hooks/{keyword-detector → input/keyword-detector}/index.d.ts +1 -1
  48. package/dist/hooks/{auto-update-checker → lifecycle/auto-update-checker}/constants.d.ts +2 -2
  49. package/dist/hooks/lifecycle/index.d.ts +3 -0
  50. package/dist/hooks/{session-recovery → lifecycle/session-recovery}/index.d.ts +1 -1
  51. package/dist/hooks/{background-compaction → system/background-compaction}/index.d.ts +1 -1
  52. package/dist/hooks/{background-notification → system/background-notification}/index.d.ts +1 -1
  53. package/dist/hooks/{background-notification → system/background-notification}/types.d.ts +1 -1
  54. package/dist/hooks/system/index.d.ts +8 -0
  55. package/dist/hooks/{maestro-orchestrator → system/maestro-orchestrator}/index.d.ts +1 -1
  56. package/dist/hooks/{ralph-loop → system/ralph-loop}/types.d.ts +1 -1
  57. package/dist/hooks/todo-continuation-enforcer.d.ts +1 -1
  58. package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/downloader.d.ts +1 -1
  59. package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/index.d.ts +1 -1
  60. package/dist/hooks/tool-intercept/index.d.ts +4 -0
  61. package/dist/index.js +12248 -12252
  62. package/dist/shared/config-path.d.ts +2 -2
  63. package/dist/shared/external-plugin-detector.d.ts +1 -1
  64. package/dist/shared/system-directive.d.ts +2 -2
  65. package/dist/tools/background-task/tools.d.ts +1 -1
  66. package/dist/tools/call-omo-agent/tools.d.ts +1 -1
  67. package/dist/tools/delegate-task/tools.d.ts +1 -1
  68. package/dist/tools/index.d.ts +1 -1
  69. package/package.json +1 -1
  70. /package/dist/agents/{build-prompt.d.ts → execution/build-prompt.d.ts} +0 -0
  71. /package/dist/agents/{composer.d.ts → planning/composer.d.ts} +0 -0
  72. /package/dist/agents/{plan-prompt.d.ts → planning/plan-prompt.d.ts} +0 -0
  73. /package/dist/features/{background-agent → background/agent}/index.d.ts +0 -0
  74. /package/dist/features/{background-agent → background/agent}/types.d.ts +0 -0
  75. /package/dist/features/{task-toast-manager → background/toast-manager}/index.d.ts +0 -0
  76. /package/dist/features/{task-toast-manager → background/toast-manager}/types.d.ts +0 -0
  77. /package/dist/features/{claude-code-agent-loader → loaders/agent-loader}/index.d.ts +0 -0
  78. /package/dist/features/{claude-code-agent-loader → loaders/agent-loader}/loader.d.ts +0 -0
  79. /package/dist/features/{claude-code-agent-loader → loaders/agent-loader}/types.d.ts +0 -0
  80. /package/dist/features/{claude-code-command-loader → loaders/command-loader}/index.d.ts +0 -0
  81. /package/dist/features/{claude-code-command-loader → loaders/command-loader}/loader.d.ts +0 -0
  82. /package/dist/features/{claude-code-command-loader → loaders/command-loader}/types.d.ts +0 -0
  83. /package/dist/features/{claude-code-mcp-loader → loaders/mcp-loader}/env-expander.d.ts +0 -0
  84. /package/dist/features/{claude-code-mcp-loader → loaders/mcp-loader}/index.d.ts +0 -0
  85. /package/dist/features/{claude-code-mcp-loader → loaders/mcp-loader}/loader.d.ts +0 -0
  86. /package/dist/features/{claude-code-mcp-loader → loaders/mcp-loader}/transformer.d.ts +0 -0
  87. /package/dist/features/{claude-code-mcp-loader → loaders/mcp-loader}/types.d.ts +0 -0
  88. /package/dist/features/{claude-code-plugin-loader → loaders/plugin-loader}/index.d.ts +0 -0
  89. /package/dist/features/{boulder-state → state/boulder-state}/constants.d.ts +0 -0
  90. /package/dist/features/{boulder-state → state/boulder-state}/index.d.ts +0 -0
  91. /package/dist/features/{boulder-state → state/boulder-state}/storage.d.ts +0 -0
  92. /package/dist/features/{boulder-state → state/boulder-state}/types.d.ts +0 -0
  93. /package/dist/features/{claude-code-session-state → state/session-state}/index.d.ts +0 -0
  94. /package/dist/features/{claude-code-session-state → state/session-state}/state.d.ts +0 -0
  95. /package/dist/hooks/{compaction-context-injector → context/compaction-context-injector}/index.d.ts +0 -0
  96. /package/dist/hooks/{directory-agents-injector → context/directory-agents-injector}/constants.d.ts +0 -0
  97. /package/dist/hooks/{directory-agents-injector → context/directory-agents-injector}/index.d.ts +0 -0
  98. /package/dist/hooks/{directory-agents-injector → context/directory-agents-injector}/storage.d.ts +0 -0
  99. /package/dist/hooks/{directory-agents-injector → context/directory-agents-injector}/types.d.ts +0 -0
  100. /package/dist/hooks/{directory-readme-injector → context/directory-readme-injector}/constants.d.ts +0 -0
  101. /package/dist/hooks/{directory-readme-injector → context/directory-readme-injector}/index.d.ts +0 -0
  102. /package/dist/hooks/{directory-readme-injector → context/directory-readme-injector}/storage.d.ts +0 -0
  103. /package/dist/hooks/{directory-readme-injector → context/directory-readme-injector}/types.d.ts +0 -0
  104. /package/dist/hooks/{rules-injector → context/rules-injector}/constants.d.ts +0 -0
  105. /package/dist/hooks/{rules-injector → context/rules-injector}/finder.d.ts +0 -0
  106. /package/dist/hooks/{rules-injector → context/rules-injector}/index.d.ts +0 -0
  107. /package/dist/hooks/{rules-injector → context/rules-injector}/matcher.d.ts +0 -0
  108. /package/dist/hooks/{rules-injector → context/rules-injector}/parser.d.ts +0 -0
  109. /package/dist/hooks/{rules-injector → context/rules-injector}/storage.d.ts +0 -0
  110. /package/dist/hooks/{rules-injector → context/rules-injector}/types.d.ts +0 -0
  111. /package/dist/hooks/{anthropic-context-window-limit-recovery → error-recovery/anthropic-context-window-limit-recovery}/parser.d.ts +0 -0
  112. /package/dist/hooks/{anthropic-context-window-limit-recovery → error-recovery/anthropic-context-window-limit-recovery}/pruning-deduplication.d.ts +0 -0
  113. /package/dist/hooks/{anthropic-context-window-limit-recovery → error-recovery/anthropic-context-window-limit-recovery}/pruning-purge-errors.d.ts +0 -0
  114. /package/dist/hooks/{anthropic-context-window-limit-recovery → error-recovery/anthropic-context-window-limit-recovery}/pruning-storage.d.ts +0 -0
  115. /package/dist/hooks/{anthropic-context-window-limit-recovery → error-recovery/anthropic-context-window-limit-recovery}/pruning-supersede.d.ts +0 -0
  116. /package/dist/hooks/{anthropic-context-window-limit-recovery → error-recovery/anthropic-context-window-limit-recovery}/pruning-types.d.ts +0 -0
  117. /package/dist/hooks/{anthropic-context-window-limit-recovery → error-recovery/anthropic-context-window-limit-recovery}/storage.d.ts +0 -0
  118. /package/dist/hooks/{anthropic-context-window-limit-recovery → error-recovery/anthropic-context-window-limit-recovery}/types.d.ts +0 -0
  119. /package/dist/hooks/{delegate-task-retry → error-recovery/delegate-task-retry}/index.d.ts +0 -0
  120. /package/dist/hooks/{edit-error-recovery → error-recovery/edit-error-recovery}/index.d.ts +0 -0
  121. /package/dist/hooks/{auto-slash-command → input/auto-slash-command}/constants.d.ts +0 -0
  122. /package/dist/hooks/{auto-slash-command → input/auto-slash-command}/detector.d.ts +0 -0
  123. /package/dist/hooks/{auto-slash-command → input/auto-slash-command}/types.d.ts +0 -0
  124. /package/dist/hooks/{empty-message-sanitizer → input/empty-message-sanitizer}/index.d.ts +0 -0
  125. /package/dist/hooks/{keyword-detector → input/keyword-detector}/constants.d.ts +0 -0
  126. /package/dist/hooks/{keyword-detector → input/keyword-detector}/detector.d.ts +0 -0
  127. /package/dist/hooks/{keyword-detector → input/keyword-detector}/types.d.ts +0 -0
  128. /package/dist/hooks/{auto-update-checker → lifecycle/auto-update-checker}/cache.d.ts +0 -0
  129. /package/dist/hooks/{auto-update-checker → lifecycle/auto-update-checker}/checker.d.ts +0 -0
  130. /package/dist/hooks/{auto-update-checker → lifecycle/auto-update-checker}/index.d.ts +0 -0
  131. /package/dist/hooks/{auto-update-checker → lifecycle/auto-update-checker}/types.d.ts +0 -0
  132. /package/dist/hooks/{session-recovery → lifecycle/session-recovery}/constants.d.ts +0 -0
  133. /package/dist/hooks/{session-recovery → lifecycle/session-recovery}/storage.d.ts +0 -0
  134. /package/dist/hooks/{session-recovery → lifecycle/session-recovery}/types.d.ts +0 -0
  135. /package/dist/hooks/{start-work → lifecycle/start-work}/index.d.ts +0 -0
  136. /package/dist/hooks/{agent-usage-reminder → system/agent-usage-reminder}/constants.d.ts +0 -0
  137. /package/dist/hooks/{agent-usage-reminder → system/agent-usage-reminder}/index.d.ts +0 -0
  138. /package/dist/hooks/{agent-usage-reminder → system/agent-usage-reminder}/storage.d.ts +0 -0
  139. /package/dist/hooks/{agent-usage-reminder → system/agent-usage-reminder}/types.d.ts +0 -0
  140. /package/dist/hooks/{interactive-bash-session → system/interactive-bash-session}/constants.d.ts +0 -0
  141. /package/dist/hooks/{interactive-bash-session → system/interactive-bash-session}/index.d.ts +0 -0
  142. /package/dist/hooks/{interactive-bash-session → system/interactive-bash-session}/storage.d.ts +0 -0
  143. /package/dist/hooks/{interactive-bash-session → system/interactive-bash-session}/types.d.ts +0 -0
  144. /package/dist/hooks/{non-interactive-env → system/non-interactive-env}/constants.d.ts +0 -0
  145. /package/dist/hooks/{non-interactive-env → system/non-interactive-env}/detector.d.ts +0 -0
  146. /package/dist/hooks/{non-interactive-env → system/non-interactive-env}/index.d.ts +0 -0
  147. /package/dist/hooks/{non-interactive-env → system/non-interactive-env}/types.d.ts +0 -0
  148. /package/dist/hooks/{ralph-loop → system/ralph-loop}/constants.d.ts +0 -0
  149. /package/dist/hooks/{ralph-loop → system/ralph-loop}/index.d.ts +0 -0
  150. /package/dist/hooks/{ralph-loop → system/ralph-loop}/storage.d.ts +0 -0
  151. /package/dist/hooks/{task-resume-info → system/task-resume-info}/index.d.ts +0 -0
  152. /package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/cli.d.ts +0 -0
  153. /package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/constants.d.ts +0 -0
  154. /package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/filters/bdd.d.ts +0 -0
  155. /package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/filters/directive.d.ts +0 -0
  156. /package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/filters/docstring.d.ts +0 -0
  157. /package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/filters/index.d.ts +0 -0
  158. /package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/filters/shebang.d.ts +0 -0
  159. /package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/output/formatter.d.ts +0 -0
  160. /package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/output/index.d.ts +0 -0
  161. /package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/output/xml-builder.d.ts +0 -0
  162. /package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/types.d.ts +0 -0
  163. /package/dist/hooks/{composer-md-only → tool-intercept/composer-md-only}/constants.d.ts +0 -0
  164. /package/dist/hooks/{composer-md-only → tool-intercept/composer-md-only}/index.d.ts +0 -0
  165. /package/dist/hooks/{think-mode → tool-intercept/think-mode}/detector.d.ts +0 -0
  166. /package/dist/hooks/{think-mode → tool-intercept/think-mode}/index.d.ts +0 -0
  167. /package/dist/hooks/{think-mode → tool-intercept/think-mode}/switcher.d.ts +0 -0
  168. /package/dist/hooks/{think-mode → tool-intercept/think-mode}/types.d.ts +0 -0
  169. /package/dist/hooks/{thinking-block-validator → tool-intercept/thinking-block-validator}/index.d.ts +0 -0
package/dist/cli/index.js CHANGED
@@ -4888,7 +4888,7 @@ function log(message, data) {
4888
4888
  }
4889
4889
  var logFile;
4890
4890
  var init_logger = __esm(() => {
4891
- logFile = path.join(os.tmpdir(), "oh-my-opencode.log");
4891
+ logFile = path.join(os.tmpdir(), "maestro.log");
4892
4892
  });
4893
4893
 
4894
4894
  // src/shared/deep-merge.ts
@@ -5918,7 +5918,7 @@ function getOpenCodeConfigPaths(options) {
5918
5918
  configJson: join2(configDir, "opencode.json"),
5919
5919
  configJsonc: join2(configDir, "opencode.jsonc"),
5920
5920
  packageJson: join2(configDir, "package.json"),
5921
- omoConfig: join2(configDir, "oh-my-opencode.json")
5921
+ omoConfig: join2(configDir, "maestro.json")
5922
5922
  };
5923
5923
  }
5924
5924
  var TAURI_APP_IDENTIFIER = "ai.opencode.desktop", TAURI_APP_IDENTIFIER_DEV = "ai.opencode.desktop.dev";
@@ -6179,7 +6179,7 @@ function deepMerge(target, source) {
6179
6179
  }
6180
6180
  function generateOmoConfig(installConfig) {
6181
6181
  const config = {
6182
- $schema: "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json"
6182
+ $schema: "https://raw.githubusercontent.com/ReinaMacCredy/maestro/main/assets/maestro.schema.json"
6183
6183
  };
6184
6184
  const agents = {};
6185
6185
  if (!installConfig.hasClaude) {
@@ -6277,7 +6277,7 @@ function writeOmoConfig(installConfig) {
6277
6277
  }
6278
6278
  return { success: true, configPath: omoConfigPath };
6279
6279
  } catch (err) {
6280
- return { success: false, configPath: omoConfigPath, error: formatErrorWithSuggestion(err, "write oh-my-opencode config") };
6280
+ return { success: false, configPath: omoConfigPath, error: formatErrorWithSuggestion(err, "write maestro config") };
6281
6281
  }
6282
6282
  }
6283
6283
  async function findOpenCodeBinaryWithVersion() {
@@ -6432,7 +6432,7 @@ function detectCurrentConfig() {
6432
6432
  }
6433
6433
  const openCodeConfig = parseResult.config;
6434
6434
  const plugins = openCodeConfig.plugin ?? [];
6435
- result.isInstalled = plugins.some((p2) => p2.startsWith("oh-my-opencode"));
6435
+ result.isInstalled = plugins.some((p2) => p2.startsWith("maestro"));
6436
6436
  if (!result.isInstalled) {
6437
6437
  return result;
6438
6438
  }
@@ -6472,7 +6472,7 @@ function detectCurrentConfig() {
6472
6472
  } catch {}
6473
6473
  return result;
6474
6474
  }
6475
- var OPENCODE_BINARIES, configContext = null, BUN_INSTALL_TIMEOUT_SECONDS = 60, BUN_INSTALL_TIMEOUT_MS, NPM_FETCH_TIMEOUT_MS = 5000, PACKAGE_NAME = "oh-my-opencode", PRIORITIZED_TAGS, ANTIGRAVITY_PROVIDER_CONFIG;
6475
+ var OPENCODE_BINARIES, configContext = null, BUN_INSTALL_TIMEOUT_SECONDS = 60, BUN_INSTALL_TIMEOUT_MS, NPM_FETCH_TIMEOUT_MS = 5000, PACKAGE_NAME = "maestro", PRIORITIZED_TAGS, ANTIGRAVITY_PROVIDER_CONFIG;
6476
6476
  var init_config_manager = __esm(() => {
6477
6477
  init_shared();
6478
6478
  OPENCODE_BINARIES = ["opencode", "opencode-desktop"];
@@ -6507,7 +6507,7 @@ var init_config_manager = __esm(() => {
6507
6507
  };
6508
6508
  });
6509
6509
 
6510
- // src/hooks/auto-update-checker/constants.ts
6510
+ // src/hooks/lifecycle/auto-update-checker/constants.ts
6511
6511
  import * as path2 from "path";
6512
6512
  import * as os2 from "os";
6513
6513
  import * as fs2 from "fs";
@@ -6535,7 +6535,7 @@ function getWindowsAppdataDir() {
6535
6535
  return null;
6536
6536
  return process.env.APPDATA ?? path2.join(os2.homedir(), "AppData", "Roaming");
6537
6537
  }
6538
- var PACKAGE_NAME2 = "oh-my-opencode", NPM_REGISTRY_URL, NPM_FETCH_TIMEOUT = 5000, CACHE_DIR, VERSION_FILE, INSTALLED_PACKAGE_JSON, USER_CONFIG_DIR, USER_OPENCODE_CONFIG, USER_OPENCODE_CONFIG_JSONC;
6538
+ var PACKAGE_NAME2 = "maestro", NPM_REGISTRY_URL, NPM_FETCH_TIMEOUT = 5000, CACHE_DIR, VERSION_FILE, INSTALLED_PACKAGE_JSON, USER_CONFIG_DIR, USER_OPENCODE_CONFIG, USER_OPENCODE_CONFIG_JSONC;
6539
6539
  var init_constants = __esm(() => {
6540
6540
  NPM_REGISTRY_URL = `https://registry.npmjs.org/-/package/${PACKAGE_NAME2}/dist-tags`;
6541
6541
  CACHE_DIR = getCacheDir();
@@ -6546,7 +6546,7 @@ var init_constants = __esm(() => {
6546
6546
  USER_OPENCODE_CONFIG_JSONC = path2.join(USER_CONFIG_DIR, "opencode", "opencode.jsonc");
6547
6547
  });
6548
6548
 
6549
- // src/hooks/auto-update-checker/cache.ts
6549
+ // src/hooks/lifecycle/auto-update-checker/cache.ts
6550
6550
  import * as fs3 from "fs";
6551
6551
  import * as path3 from "path";
6552
6552
  function stripTrailingCommas(json2) {
@@ -6619,7 +6619,7 @@ var init_cache = __esm(() => {
6619
6619
  init_logger();
6620
6620
  });
6621
6621
 
6622
- // src/hooks/auto-update-checker/index.ts
6622
+ // src/hooks/lifecycle/auto-update-checker/index.ts
6623
6623
  var exports_auto_update_checker = {};
6624
6624
  __export(exports_auto_update_checker, {
6625
6625
  isPrereleaseVersion: () => isPrereleaseVersion,
@@ -6841,7 +6841,7 @@ var init_auto_update_checker = __esm(() => {
6841
6841
  MAESTRO_SPINNER = ["\xB7", "\u2022", "\u25CF", "\u25CB", "\u25CC", "\u25E6", " "];
6842
6842
  });
6843
6843
 
6844
- // src/hooks/auto-update-checker/checker.ts
6844
+ // src/hooks/lifecycle/auto-update-checker/checker.ts
6845
6845
  import * as fs4 from "fs";
6846
6846
  import * as path4 from "path";
6847
6847
  import { fileURLToPath } from "url";
@@ -7676,7 +7676,7 @@ var import_picocolors2 = __toESM(require_picocolors(), 1);
7676
7676
  // package.json
7677
7677
  var package_default = {
7678
7678
  name: "@reinamaccredy/maestro",
7679
- version: "1.1.0",
7679
+ version: "1.2.0",
7680
7680
  description: "Maestro - Context-driven development for AI coding agents with music-themed orchestration",
7681
7681
  main: "dist/index.js",
7682
7682
  types: "dist/index.d.ts",
@@ -7958,7 +7958,7 @@ async function runNonTuiInstall(args) {
7958
7958
  console.log(` ${SYMBOLS.bullet} ${err}`);
7959
7959
  }
7960
7960
  console.log();
7961
- printInfo("Usage: bunx oh-my-opencode install --no-tui --claude=<no|yes|max20> --chatgpt=<no|yes> --gemini=<no|yes> --copilot=<no|yes>");
7961
+ printInfo("Usage: bunx maestro install --no-tui --claude=<no|yes|max20> --chatgpt=<no|yes> --gemini=<no|yes> --copilot=<no|yes>");
7962
7962
  console.log();
7963
7963
  return 1;
7964
7964
  }
@@ -7981,7 +7981,7 @@ async function runNonTuiInstall(args) {
7981
7981
  printInfo(`Current config: Claude=${initial.claude}, ChatGPT=${initial.chatgpt}, Gemini=${initial.gemini}`);
7982
7982
  }
7983
7983
  const config = argsToConfig(args);
7984
- printStep(step++, totalSteps, "Adding oh-my-opencode plugin...");
7984
+ printStep(step++, totalSteps, "Adding maestro plugin...");
7985
7985
  const pluginResult = await addPluginToOpenCodeConfig(VERSION);
7986
7986
  if (!pluginResult.success) {
7987
7987
  printError(`Failed: ${pluginResult.error}`);
@@ -8006,7 +8006,7 @@ async function runNonTuiInstall(args) {
8006
8006
  } else {
8007
8007
  step += 2;
8008
8008
  }
8009
- printStep(step++, totalSteps, "Writing oh-my-opencode configuration...");
8009
+ printStep(step++, totalSteps, "Writing maestro configuration...");
8010
8010
  const omoResult = writeOmoConfig(config);
8011
8011
  if (!omoResult.success) {
8012
8012
  printError(`Failed: ${omoResult.error}`);
@@ -8024,7 +8024,7 @@ async function runNonTuiInstall(args) {
8024
8024
  ` + `All features work like magic\u2014parallel agents, background tasks,
8025
8025
  ` + `deep exploration, and relentless execution until completion.`, "\uD83E\uDE84 The Magic Word");
8026
8026
  console.log(`${SYMBOLS.star} ${import_picocolors2.default.yellow("If you found this helpful, consider starring the repo!")}`);
8027
- console.log(` ${import_picocolors2.default.dim("gh repo star code-yeongyu/oh-my-opencode")}`);
8027
+ console.log(` ${import_picocolors2.default.dim("gh repo star ReinaMacCredy/maestro")}`);
8028
8028
  console.log();
8029
8029
  console.log(import_picocolors2.default.dim("oMoMoMoMo... Enjoy!"));
8030
8030
  console.log();
@@ -8063,7 +8063,7 @@ async function install(args) {
8063
8063
  const config = await runTuiMode(detected);
8064
8064
  if (!config)
8065
8065
  return 1;
8066
- s.start("Adding oh-my-opencode to OpenCode config");
8066
+ s.start("Adding maestro to OpenCode config");
8067
8067
  const pluginResult = await addPluginToOpenCodeConfig(VERSION);
8068
8068
  if (!pluginResult.success) {
8069
8069
  s.stop(`Failed to add plugin: ${pluginResult.error}`);
@@ -8089,7 +8089,7 @@ async function install(args) {
8089
8089
  }
8090
8090
  s.stop(`Provider config added to ${import_picocolors2.default.cyan(providerResult.configPath)}`);
8091
8091
  }
8092
- s.start("Writing oh-my-opencode configuration");
8092
+ s.start("Writing maestro configuration");
8093
8093
  const omoResult = writeOmoConfig(config);
8094
8094
  if (!omoResult.success) {
8095
8095
  s.stop(`Failed to write config: ${omoResult.error}`);
@@ -8107,7 +8107,7 @@ async function install(args) {
8107
8107
  ` + `All features work like magic\u2014parallel agents, background tasks,
8108
8108
  ` + `deep exploration, and relentless execution until completion.`, "\uD83E\uDE84 The Magic Word");
8109
8109
  M2.message(`${import_picocolors2.default.yellow("\u2605")} If you found this helpful, consider starring the repo!`);
8110
- M2.message(` ${import_picocolors2.default.dim("gh repo star code-yeongyu/oh-my-opencode")}`);
8110
+ M2.message(` ${import_picocolors2.default.dim("gh repo star ReinaMacCredy/maestro")}`);
8111
8111
  Se(import_picocolors2.default.green("oMoMoMoMo... Enjoy!"));
8112
8112
  if ((config.hasClaude || config.hasChatGPT || config.hasGemini || config.hasCopilot) && !args.skipAuth) {
8113
8113
  const providers = [];
@@ -9902,7 +9902,7 @@ Interrupted. Shutting down...`));
9902
9902
  });
9903
9903
  try {
9904
9904
  const sessionRes = await client3.session.create({
9905
- body: { title: "oh-my-opencode run" }
9905
+ body: { title: "maestro run" }
9906
9906
  });
9907
9907
  const sessionID = sessionRes.data?.id;
9908
9908
  if (!sessionID) {
@@ -9987,7 +9987,7 @@ var SYMBOLS2 = {
9987
9987
  function formatVersionOutput(info) {
9988
9988
  const lines = [];
9989
9989
  lines.push("");
9990
- lines.push(import_picocolors6.default.bold(import_picocolors6.default.white("oh-my-opencode Version Information")));
9990
+ lines.push(import_picocolors6.default.bold(import_picocolors6.default.white("Maestro Version Information")));
9991
9991
  lines.push(import_picocolors6.default.dim("\u2500".repeat(50)));
9992
9992
  lines.push("");
9993
9993
  if (info.currentVersion) {
@@ -10005,7 +10005,7 @@ function formatVersionOutput(info) {
10005
10005
  break;
10006
10006
  case "outdated":
10007
10007
  lines.push(` ${SYMBOLS2.warn} ${import_picocolors6.default.yellow("Update available")}`);
10008
- lines.push(` ${import_picocolors6.default.dim("Run:")} ${import_picocolors6.default.cyan("cd ~/.config/opencode && bun update oh-my-opencode")}`);
10008
+ lines.push(` ${import_picocolors6.default.dim("Run:")} ${import_picocolors6.default.cyan("cd ~/.config/opencode && bun update @reinamaccredy/maestro")}`);
10009
10009
  break;
10010
10010
  case "local-dev":
10011
10011
  lines.push(` ${SYMBOLS2.dev} ${import_picocolors6.default.cyan("Running in local development mode")}`);
@@ -10182,7 +10182,7 @@ var EXIT_CODES = {
10182
10182
  FAILURE: 1
10183
10183
  };
10184
10184
  var MIN_OPENCODE_VERSION = "1.0.150";
10185
- var PACKAGE_NAME3 = "oh-my-opencode";
10185
+ var PACKAGE_NAME3 = "maestro";
10186
10186
  var OPENCODE_BINARIES2 = ["opencode", "opencode-desktop"];
10187
10187
 
10188
10188
  // src/cli/doctor/checks/opencode.ts
@@ -10405,7 +10405,7 @@ async function checkPluginRegistration() {
10405
10405
  status: "fail",
10406
10406
  message: "OpenCode config file not found",
10407
10407
  details: [
10408
- "Run: bunx oh-my-opencode install",
10408
+ "Run: bunx maestro install",
10409
10409
  `Expected: ${expectedPaths.configJson} or ${expectedPaths.configJsonc}`
10410
10410
  ]
10411
10411
  };
@@ -10416,7 +10416,7 @@ async function checkPluginRegistration() {
10416
10416
  status: "fail",
10417
10417
  message: "Plugin not registered in config",
10418
10418
  details: [
10419
- "Run: bunx oh-my-opencode install",
10419
+ "Run: bunx maestro install",
10420
10420
  `Config: ${info.configPath}`
10421
10421
  ]
10422
10422
  };
@@ -24399,7 +24399,7 @@ async function checkAuthProvider(providerId) {
24399
24399
  message: "Auth plugin not installed",
24400
24400
  details: [
24401
24401
  `Plugin: ${AUTH_PLUGINS[providerId].plugin}`,
24402
- "Run: bunx oh-my-opencode install"
24402
+ "Run: bunx maestro install"
24403
24403
  ]
24404
24404
  };
24405
24405
  }
@@ -25021,7 +25021,7 @@ async function checkVersionStatus() {
25021
25021
  name: CHECK_NAMES[CHECK_IDS.VERSION_STATUS],
25022
25022
  status: "warn",
25023
25023
  message: "Unable to determine current version",
25024
- details: ["Run: bunx oh-my-opencode get-local-version"]
25024
+ details: ["Run: bunx maestro get-local-version"]
25025
25025
  };
25026
25026
  }
25027
25027
  if (!info.latestVersion) {
@@ -25037,7 +25037,7 @@ async function checkVersionStatus() {
25037
25037
  name: CHECK_NAMES[CHECK_IDS.VERSION_STATUS],
25038
25038
  status: "warn",
25039
25039
  message: `Update available: ${info.currentVersion} -> ${info.latestVersion}`,
25040
- details: ["Run: cd ~/.config/opencode && bun update oh-my-opencode"]
25040
+ details: ["Run: cd ~/.config/opencode && bun update @reinamaccredy/maestro"]
25041
25041
  };
25042
25042
  }
25043
25043
  return {
@@ -25253,12 +25253,12 @@ async function doctor(options = {}) {
25253
25253
  // src/cli/index.ts
25254
25254
  var VERSION2 = package_default.version;
25255
25255
  var program2 = new Command;
25256
- program2.name("oh-my-opencode").description("The ultimate OpenCode plugin - multi-model orchestration, LSP tools, and more").version(VERSION2, "-v, --version", "Show version number");
25257
- program2.command("install").description("Install and configure oh-my-opencode with interactive setup").option("--no-tui", "Run in non-interactive mode (requires all options)").option("--claude <value>", "Claude subscription: no, yes, max20").option("--chatgpt <value>", "ChatGPT subscription: no, yes").option("--gemini <value>", "Gemini integration: no, yes").option("--copilot <value>", "GitHub Copilot subscription: no, yes").option("--skip-auth", "Skip authentication setup hints").addHelpText("after", `
25256
+ program2.name("maestro").description("The ultimate OpenCode plugin - multi-model orchestration, LSP tools, and more").version(VERSION2, "-v, --version", "Show version number");
25257
+ program2.command("install").description("Install and configure maestro with interactive setup").option("--no-tui", "Run in non-interactive mode (requires all options)").option("--claude <value>", "Claude subscription: no, yes, max20").option("--chatgpt <value>", "ChatGPT subscription: no, yes").option("--gemini <value>", "Gemini integration: no, yes").option("--copilot <value>", "GitHub Copilot subscription: no, yes").option("--skip-auth", "Skip authentication setup hints").addHelpText("after", `
25258
25258
  Examples:
25259
- $ bunx oh-my-opencode install
25260
- $ bunx oh-my-opencode install --no-tui --claude=max20 --chatgpt=yes --gemini=yes --copilot=no
25261
- $ bunx oh-my-opencode install --no-tui --claude=no --chatgpt=no --gemini=no --copilot=yes
25259
+ $ bunx maestro install
25260
+ $ bunx maestro install --no-tui --claude=max20 --chatgpt=yes --gemini=yes --copilot=no
25261
+ $ bunx maestro install --no-tui --claude=no --chatgpt=no --gemini=no --copilot=yes
25262
25262
 
25263
25263
  Model Providers:
25264
25264
  Claude Required for Maestro (main orchestrator) and Archivist agents
@@ -25278,9 +25278,9 @@ Model Providers:
25278
25278
  });
25279
25279
  program2.command("run <message>").description("Run opencode with todo/background task completion enforcement").option("-a, --agent <name>", "Agent to use (default: Maestro)").option("-d, --directory <path>", "Working directory").option("-t, --timeout <ms>", "Timeout in milliseconds (default: 30 minutes)", parseInt).addHelpText("after", `
25280
25280
  Examples:
25281
- $ bunx oh-my-opencode run "Fix the bug in index.ts"
25282
- $ bunx oh-my-opencode run --agent Maestro "Implement feature X"
25283
- $ bunx oh-my-opencode run --timeout 3600000 "Large refactoring task"
25281
+ $ bunx maestro run "Fix the bug in index.ts"
25282
+ $ bunx maestro run --agent Maestro "Implement feature X"
25283
+ $ bunx maestro run --timeout 3600000 "Large refactoring task"
25284
25284
 
25285
25285
  Unlike 'opencode run', this command waits until:
25286
25286
  - All todos are completed or cancelled
@@ -25297,9 +25297,9 @@ Unlike 'opencode run', this command waits until:
25297
25297
  });
25298
25298
  program2.command("get-local-version").description("Show current installed version and check for updates").option("-d, --directory <path>", "Working directory to check config from").option("--json", "Output in JSON format for scripting").addHelpText("after", `
25299
25299
  Examples:
25300
- $ bunx oh-my-opencode get-local-version
25301
- $ bunx oh-my-opencode get-local-version --json
25302
- $ bunx oh-my-opencode get-local-version --directory /path/to/project
25300
+ $ bunx maestro get-local-version
25301
+ $ bunx maestro get-local-version --json
25302
+ $ bunx maestro get-local-version --directory /path/to/project
25303
25303
 
25304
25304
  This command shows:
25305
25305
  - Current installed version
@@ -25314,12 +25314,12 @@ This command shows:
25314
25314
  const exitCode = await getLocalVersion(versionOptions);
25315
25315
  process.exit(exitCode);
25316
25316
  });
25317
- program2.command("doctor").description("Check oh-my-opencode installation health and diagnose issues").option("--verbose", "Show detailed diagnostic information").option("--json", "Output results in JSON format").option("--category <category>", "Run only specific category").addHelpText("after", `
25317
+ program2.command("doctor").description("Check maestro installation health and diagnose issues").option("--verbose", "Show detailed diagnostic information").option("--json", "Output results in JSON format").option("--category <category>", "Run only specific category").addHelpText("after", `
25318
25318
  Examples:
25319
- $ bunx oh-my-opencode doctor
25320
- $ bunx oh-my-opencode doctor --verbose
25321
- $ bunx oh-my-opencode doctor --json
25322
- $ bunx oh-my-opencode doctor --category authentication
25319
+ $ bunx maestro doctor
25320
+ $ bunx maestro doctor --verbose
25321
+ $ bunx maestro doctor --json
25322
+ $ bunx maestro doctor --category authentication
25323
25323
 
25324
25324
  Categories:
25325
25325
  installation Check OpenCode and plugin installation
@@ -25338,6 +25338,6 @@ Categories:
25338
25338
  process.exit(exitCode);
25339
25339
  });
25340
25340
  program2.command("version").description("Show version information").action(() => {
25341
- console.log(`oh-my-opencode v${VERSION2}`);
25341
+ console.log(`maestro v${VERSION2}`);
25342
25342
  });
25343
25343
  program2.parse();
@@ -1,4 +1,4 @@
1
- import type { BackgroundTaskConfig } from "../../config/schema";
1
+ import type { BackgroundTaskConfig } from "../../../config/schema";
2
2
  export declare class ConcurrencyManager {
3
3
  private config?;
4
4
  private counts;
@@ -1,6 +1,6 @@
1
1
  import type { PluginInput } from "@opencode-ai/plugin";
2
2
  import type { BackgroundTask, LaunchInput, ResumeInput } from "./types";
3
- import type { BackgroundTaskConfig } from "../../config/schema";
3
+ import type { BackgroundTaskConfig } from "../../../config/schema";
4
4
  interface EventProperties {
5
5
  sessionID?: string;
6
6
  info?: {
@@ -0,0 +1,2 @@
1
+ export * from "./agent";
2
+ export * from "./toast-manager";
@@ -1,6 +1,6 @@
1
1
  import type { PluginInput } from "@opencode-ai/plugin";
2
2
  import type { TrackedTask, TaskStatus, ModelFallbackInfo } from "./types";
3
- import type { ConcurrencyManager } from "../background-agent/concurrency";
3
+ import type { ConcurrencyManager } from "../agent/concurrency";
4
4
  type OpencodeClient = PluginInput["client"];
5
5
  export declare class TaskToastManager {
6
6
  private tasks;
@@ -1,4 +1,4 @@
1
- import type { CommandDefinition } from "../claude-code-command-loader";
1
+ import type { CommandDefinition } from "../loaders/command-loader";
2
2
  export type BuiltinCommandName = "init-deep" | "ralph-loop" | "cancel-ralph" | "refactor" | "start-work";
3
3
  export interface BuiltinCommandConfig {
4
4
  disabled_commands?: BuiltinCommandName[];
@@ -0,0 +1,4 @@
1
+ export * from "./agent-loader";
2
+ export * from "./command-loader";
3
+ export * from "./mcp-loader";
4
+ export * from "./plugin-loader";
@@ -1,6 +1,6 @@
1
1
  import type { AgentConfig } from "@opencode-ai/sdk";
2
- import type { CommandDefinition } from "../claude-code-command-loader/types";
3
- import type { McpServerConfig } from "../claude-code-mcp-loader/types";
2
+ import type { CommandDefinition } from "../command-loader/types";
3
+ import type { McpServerConfig } from "../mcp-loader/types";
4
4
  import type { LoadedPlugin, PluginLoadResult, PluginLoadError, HooksConfig, PluginLoaderOptions } from "./types";
5
5
  export declare function discoverInstalledPlugins(options?: PluginLoaderOptions): PluginLoadResult;
6
6
  export declare function loadPluginCommands(plugins: LoadedPlugin[]): Record<string, CommandDefinition>;
@@ -176,7 +176,7 @@ export interface ClaudeSettings {
176
176
  */
177
177
  export interface PluginLoaderOptions {
178
178
  /**
179
- * Override enabled plugins from oh-my-opencode config.
179
+ * Override enabled plugins from maestro config.
180
180
  * Key format: "pluginName@marketplace" (e.g., "shell-scripting@claude-code-workflows")
181
181
  * Value: true = enabled, false = disabled
182
182
  *
@@ -1,4 +1,4 @@
1
- import type { CommandDefinition } from "../claude-code-command-loader/types";
1
+ import type { CommandDefinition } from "../loaders/command-loader/types";
2
2
  import type { LoadedSkill } from "./types";
3
3
  export declare function loadUserSkills(): Promise<Record<string, CommandDefinition>>;
4
4
  export declare function loadProjectSkills(): Promise<Record<string, CommandDefinition>>;
@@ -1,4 +1,4 @@
1
- import type { CommandDefinition } from "../claude-code-command-loader/types";
1
+ import type { CommandDefinition } from "../loaders/command-loader/types";
2
2
  import type { SkillMcpConfig } from "../skill-mcp-manager/types";
3
3
  export type SkillScope = "builtin" | "config" | "user" | "project" | "opencode" | "opencode-project";
4
4
  export interface SkillMetadata {
@@ -1,6 +1,6 @@
1
1
  import { Client } from "@modelcontextprotocol/sdk/client/index.js";
2
2
  import type { Tool, Resource, Prompt } from "@modelcontextprotocol/sdk/types.js";
3
- import type { ClaudeCodeMcpServer } from "../claude-code-mcp-loader/types";
3
+ import type { ClaudeCodeMcpServer } from "../loaders/mcp-loader/types";
4
4
  import type { SkillMcpClientInfo, SkillMcpServerContext } from "./types";
5
5
  export declare class SkillMcpManager {
6
6
  private clients;
@@ -1,4 +1,4 @@
1
- import type { ClaudeCodeMcpServer } from "../claude-code-mcp-loader/types";
1
+ import type { ClaudeCodeMcpServer } from "../loaders/mcp-loader/types";
2
2
  export type SkillMcpConfig = Record<string, ClaudeCodeMcpServer>;
3
3
  export interface SkillMcpClientInfo {
4
4
  serverName: string;
@@ -0,0 +1,2 @@
1
+ export * from "./boulder-state";
2
+ export * from "./session-state";
@@ -0,0 +1,4 @@
1
+ export { createDirectoryAgentsInjectorHook } from "./directory-agents-injector";
2
+ export { createDirectoryReadmeInjectorHook } from "./directory-readme-injector";
3
+ export { createRulesInjectorHook } from "./rules-injector";
4
+ export { createCompactionContextInjector } from "./compaction-context-injector";
@@ -1,4 +1,4 @@
1
1
  import type { AutoCompactState } from "./types";
2
- import type { ExperimentalConfig } from "../../config";
2
+ import type { ExperimentalConfig } from "../../../config";
3
3
  export declare function getLastAssistant(sessionID: string, client: any, directory: string): Promise<Record<string, unknown> | null>;
4
4
  export declare function executeCompact(sessionID: string, msg: Record<string, unknown>, autoCompactState: AutoCompactState, client: any, directory: string, experimental?: ExperimentalConfig): Promise<void>;
@@ -1,5 +1,5 @@
1
1
  import type { PluginInput } from "@opencode-ai/plugin";
2
- import type { ExperimentalConfig } from "../../config";
2
+ import type { ExperimentalConfig } from "../../../config";
3
3
  export interface AnthropicContextWindowLimitRecoveryOptions {
4
4
  experimental?: ExperimentalConfig;
5
5
  }
@@ -1,3 +1,3 @@
1
- import type { DynamicContextPruningConfig } from "../../config";
1
+ import type { DynamicContextPruningConfig } from "../../../config";
2
2
  import type { PruningResult } from "./pruning-types";
3
3
  export declare function executeDynamicContextPruning(sessionID: string, config: DynamicContextPruningConfig, client: any): Promise<PruningResult>;
@@ -0,0 +1,3 @@
1
+ export { createEditErrorRecoveryHook } from "./edit-error-recovery";
2
+ export { createDelegateTaskRetryHook } from "./delegate-task-retry";
3
+ export { createAnthropicContextWindowLimitRecoveryHook, type AnthropicContextWindowLimitRecoveryOptions } from "./anthropic-context-window-limit-recovery";
@@ -1,31 +1,12 @@
1
1
  export { createTodoContinuationEnforcer, type TodoContinuationEnforcer } from "./todo-continuation-enforcer";
2
2
  export { createContextWindowMonitorHook } from "./context-window-monitor";
3
3
  export { createSessionNotification } from "./session-notification";
4
- export { createSessionRecoveryHook, type SessionRecoveryHook, type SessionRecoveryOptions } from "./session-recovery";
5
- export { createCommentCheckerHooks } from "./comment-checker";
6
4
  export { createToolOutputTruncatorHook } from "./tool-output-truncator";
7
- export { createDirectoryAgentsInjectorHook } from "./directory-agents-injector";
8
- export { createDirectoryReadmeInjectorHook } from "./directory-readme-injector";
9
5
  export { createEmptyTaskResponseDetectorHook } from "./empty-task-response-detector";
10
- export { createAnthropicContextWindowLimitRecoveryHook, type AnthropicContextWindowLimitRecoveryOptions } from "./anthropic-context-window-limit-recovery";
11
- export { createCompactionContextInjector } from "./compaction-context-injector";
12
- export { createThinkModeHook } from "./think-mode";
13
6
  export { createClaudeCodeHooksHook } from "./claude-code-hooks";
14
- export { createRulesInjectorHook } from "./rules-injector";
15
- export { createBackgroundNotificationHook } from "./background-notification";
16
- export { createBackgroundCompactionHook } from "./background-compaction";
17
- export { createAutoUpdateCheckerHook } from "./auto-update-checker";
18
- export { createAgentUsageReminderHook } from "./agent-usage-reminder";
19
- export { createKeywordDetectorHook } from "./keyword-detector";
20
- export { createNonInteractiveEnvHook } from "./non-interactive-env";
21
- export { createInteractiveBashSessionHook } from "./interactive-bash-session";
22
- export { createEmptyMessageSanitizerHook } from "./empty-message-sanitizer";
23
- export { createThinkingBlockValidatorHook } from "./thinking-block-validator";
24
- export { createRalphLoopHook, type RalphLoopHook } from "./ralph-loop";
25
- export { createAutoSlashCommandHook } from "./auto-slash-command";
26
- export { createEditErrorRecoveryHook } from "./edit-error-recovery";
27
- export { createComposerMdOnlyHook } from "./composer-md-only";
28
- export { createTaskResumeInfoHook } from "./task-resume-info";
29
- export { createStartWorkHook } from "./start-work";
30
- export { createMaestroOrchestratorHook } from "./maestro-orchestrator";
31
- export { createDelegateTaskRetryHook } from "./delegate-task-retry";
7
+ export * from "./lifecycle";
8
+ export * from "./input";
9
+ export * from "./tool-intercept";
10
+ export * from "./error-recovery";
11
+ export * from "./context";
12
+ export * from "./system";
@@ -1,4 +1,4 @@
1
- import { type LoadedSkill } from "../../features/opencode-skill-loader";
1
+ import { type LoadedSkill } from "../../../features/opencode-skill-loader";
2
2
  import type { ParsedSlashCommand } from "./types";
3
3
  export interface ExecutorOptions {
4
4
  skills?: LoadedSkill[];
@@ -1,5 +1,5 @@
1
1
  import type { AutoSlashCommandHookInput, AutoSlashCommandHookOutput } from "./types";
2
- import type { LoadedSkill } from "../../features/opencode-skill-loader";
2
+ import type { LoadedSkill } from "../../../features/opencode-skill-loader";
3
3
  export * from "./detector";
4
4
  export * from "./executor";
5
5
  export * from "./constants";
@@ -0,0 +1,3 @@
1
+ export { createKeywordDetectorHook } from "./keyword-detector";
2
+ export { createAutoSlashCommandHook } from "./auto-slash-command";
3
+ export { createEmptyMessageSanitizerHook } from "./empty-message-sanitizer";
@@ -1,5 +1,5 @@
1
1
  import type { PluginInput } from "@opencode-ai/plugin";
2
- import type { ContextCollector } from "../../features/context-injector";
2
+ import type { ContextCollector } from "../../../features/context-injector";
3
3
  export * from "./detector";
4
4
  export * from "./constants";
5
5
  export * from "./types";
@@ -1,5 +1,5 @@
1
- export declare const PACKAGE_NAME = "oh-my-opencode";
2
- export declare const NPM_REGISTRY_URL = "https://registry.npmjs.org/-/package/oh-my-opencode/dist-tags";
1
+ export declare const PACKAGE_NAME = "maestro";
2
+ export declare const NPM_REGISTRY_URL = "https://registry.npmjs.org/-/package/maestro/dist-tags";
3
3
  export declare const NPM_FETCH_TIMEOUT = 5000;
4
4
  export declare const CACHE_DIR: string;
5
5
  export declare const VERSION_FILE: string;
@@ -0,0 +1,3 @@
1
+ export { createStartWorkHook } from "./start-work";
2
+ export { createSessionRecoveryHook, type SessionRecoveryHook, type SessionRecoveryOptions } from "./session-recovery";
3
+ export { createAutoUpdateCheckerHook } from "./auto-update-checker";
@@ -1,5 +1,5 @@
1
1
  import type { PluginInput } from "@opencode-ai/plugin";
2
- import type { ExperimentalConfig } from "../../config";
2
+ import type { ExperimentalConfig } from "../../../config";
3
3
  export interface SessionRecoveryOptions {
4
4
  experimental?: ExperimentalConfig;
5
5
  }
@@ -1,4 +1,4 @@
1
- import type { BackgroundManager } from "../../features/background-agent";
1
+ import type { BackgroundManager } from "../../../features/background/agent";
2
2
  interface CompactingInput {
3
3
  sessionID: string;
4
4
  }
@@ -1,4 +1,4 @@
1
- import type { BackgroundManager } from "../../features/background-agent";
1
+ import type { BackgroundManager } from "../../../features/background/agent";
2
2
  interface Event {
3
3
  type: string;
4
4
  properties?: Record<string, unknown>;
@@ -1,4 +1,4 @@
1
- import type { BackgroundTask } from "../../features/background-agent";
1
+ import type { BackgroundTask } from "../../../features/background/agent";
2
2
  export interface BackgroundNotificationHookConfig {
3
3
  formatNotification?: (tasks: BackgroundTask[]) => string;
4
4
  }
@@ -0,0 +1,8 @@
1
+ export { createMaestroOrchestratorHook } from "./maestro-orchestrator";
2
+ export { createBackgroundCompactionHook } from "./background-compaction";
3
+ export { createBackgroundNotificationHook } from "./background-notification";
4
+ export { createNonInteractiveEnvHook } from "./non-interactive-env";
5
+ export { createInteractiveBashSessionHook } from "./interactive-bash-session";
6
+ export { createRalphLoopHook, type RalphLoopHook } from "./ralph-loop";
7
+ export { createTaskResumeInfoHook } from "./task-resume-info";
8
+ export { createAgentUsageReminderHook } from "./agent-usage-reminder";
@@ -1,5 +1,5 @@
1
1
  import type { PluginInput } from "@opencode-ai/plugin";
2
- import type { BackgroundManager } from "../../features/background-agent";
2
+ import type { BackgroundManager } from "../../../features/background/agent";
3
3
  export declare const HOOK_NAME = "maestro-orchestrator";
4
4
  interface ToolExecuteAfterInput {
5
5
  tool: string;
@@ -1,4 +1,4 @@
1
- import type { RalphLoopConfig } from "../../config";
1
+ import type { RalphLoopConfig } from "../../../config";
2
2
  export interface RalphLoopState {
3
3
  active: boolean;
4
4
  iteration: number;
@@ -1,5 +1,5 @@
1
1
  import type { PluginInput } from "@opencode-ai/plugin";
2
- import type { BackgroundManager } from "../features/background-agent";
2
+ import type { BackgroundManager } from "../features/background/agent";
3
3
  export interface TodoContinuationEnforcerOptions {
4
4
  backgroundManager?: BackgroundManager;
5
5
  skipAgents?: string[];
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Get the cache directory for oh-my-opencode binaries.
2
+ * Get the cache directory for maestro binaries.
3
3
  * On Windows: Uses %LOCALAPPDATA% or %APPDATA% (Windows conventions)
4
4
  * On Unix: Follows XDG Base Directory Specification
5
5
  */
@@ -1,4 +1,4 @@
1
- import type { CommentCheckerConfig } from "../../config/schema";
1
+ import type { CommentCheckerConfig } from "../../../config/schema";
2
2
  export declare function createCommentCheckerHooks(config?: CommentCheckerConfig): {
3
3
  "tool.execute.before": (input: {
4
4
  tool: string;
@@ -0,0 +1,4 @@
1
+ export { createThinkingBlockValidatorHook } from "./thinking-block-validator";
2
+ export { createThinkModeHook } from "./think-mode";
3
+ export { createComposerMdOnlyHook } from "./composer-md-only";
4
+ export { createCommentCheckerHooks } from "./comment-checker";