@reinamaccredy/maestro 1.0.1 → 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.
- package/bin/maestro.js +4 -4
- package/bin/platform.js +4 -4
- package/bin/platform.test.ts +13 -13
- package/dist/agents/execution/index.d.ts +4 -0
- package/dist/agents/{scribe.d.ts → execution/scribe.d.ts} +1 -1
- package/dist/agents/{soloist.d.ts → execution/soloist.d.ts} +1 -1
- package/dist/agents/{virtuoso.d.ts → execution/virtuoso.d.ts} +1 -1
- package/dist/agents/index.d.ts +6 -1
- package/dist/agents/{arranger.d.ts → orchestration/arranger.d.ts} +1 -1
- package/dist/agents/{conductor.d.ts → orchestration/conductor.d.ts} +3 -3
- package/dist/agents/orchestration/index.d.ts +4 -0
- package/dist/agents/{maestro.d.ts → orchestration/maestro.d.ts} +1 -1
- package/dist/agents/{maestro-prompt-builder.d.ts → orchestration/prompt-builder.d.ts} +1 -1
- package/dist/agents/{designer.d.ts → planning/designer.d.ts} +1 -1
- package/dist/agents/planning/index.d.ts +3 -0
- package/dist/agents/{analyst.d.ts → research/analyst.d.ts} +1 -1
- package/dist/agents/{archivist.d.ts → research/archivist.d.ts} +1 -1
- package/dist/agents/research/index.d.ts +3 -0
- package/dist/agents/{scout.d.ts → research/scout.d.ts} +1 -1
- package/dist/agents/{critic.d.ts → review/critic.d.ts} +1 -1
- package/dist/agents/review/index.d.ts +1 -0
- package/dist/agents/utils.d.ts +1 -1
- package/dist/cli/doctor/constants.d.ts +1 -1
- package/dist/cli/index.js +49 -45
- package/dist/features/{background-agent → background/agent}/concurrency.d.ts +1 -1
- package/dist/features/{background-agent → background/agent}/manager.d.ts +1 -1
- package/dist/features/background/index.d.ts +2 -0
- package/dist/features/{task-toast-manager → background/toast-manager}/manager.d.ts +1 -1
- package/dist/features/builtin-commands/types.d.ts +1 -1
- package/dist/features/loaders/index.d.ts +4 -0
- package/dist/features/{claude-code-plugin-loader → loaders/plugin-loader}/loader.d.ts +2 -2
- package/dist/features/{claude-code-plugin-loader → loaders/plugin-loader}/types.d.ts +1 -1
- package/dist/features/opencode-skill-loader/loader.d.ts +1 -1
- package/dist/features/opencode-skill-loader/types.d.ts +1 -1
- package/dist/features/skill-mcp-manager/manager.d.ts +1 -1
- package/dist/features/skill-mcp-manager/types.d.ts +1 -1
- package/dist/features/state/index.d.ts +2 -0
- package/dist/hooks/context/index.d.ts +4 -0
- package/dist/hooks/{anthropic-context-window-limit-recovery → error-recovery/anthropic-context-window-limit-recovery}/executor.d.ts +1 -1
- package/dist/hooks/{anthropic-context-window-limit-recovery → error-recovery/anthropic-context-window-limit-recovery}/index.d.ts +1 -1
- package/dist/hooks/{anthropic-context-window-limit-recovery → error-recovery/anthropic-context-window-limit-recovery}/pruning-executor.d.ts +1 -1
- package/dist/hooks/error-recovery/index.d.ts +3 -0
- package/dist/hooks/index.d.ts +6 -25
- package/dist/hooks/{auto-slash-command → input/auto-slash-command}/executor.d.ts +1 -1
- package/dist/hooks/{auto-slash-command → input/auto-slash-command}/index.d.ts +1 -1
- package/dist/hooks/input/index.d.ts +3 -0
- package/dist/hooks/{keyword-detector → input/keyword-detector}/index.d.ts +1 -1
- package/dist/hooks/{auto-update-checker → lifecycle/auto-update-checker}/constants.d.ts +2 -2
- package/dist/hooks/lifecycle/index.d.ts +3 -0
- package/dist/hooks/{session-recovery → lifecycle/session-recovery}/index.d.ts +1 -1
- package/dist/hooks/{background-compaction → system/background-compaction}/index.d.ts +1 -1
- package/dist/hooks/{background-notification → system/background-notification}/index.d.ts +1 -1
- package/dist/hooks/{background-notification → system/background-notification}/types.d.ts +1 -1
- package/dist/hooks/system/index.d.ts +8 -0
- package/dist/hooks/{maestro-orchestrator → system/maestro-orchestrator}/index.d.ts +1 -1
- package/dist/hooks/{ralph-loop → system/ralph-loop}/types.d.ts +1 -1
- package/dist/hooks/todo-continuation-enforcer.d.ts +1 -1
- package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/downloader.d.ts +1 -1
- package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/index.d.ts +1 -1
- package/dist/hooks/tool-intercept/index.d.ts +4 -0
- package/dist/index.js +12334 -12297
- package/dist/shared/config-path.d.ts +2 -2
- package/dist/shared/external-plugin-detector.d.ts +1 -1
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/platform-detection.d.ts +42 -0
- package/dist/shared/system-directive.d.ts +2 -2
- package/dist/tools/background-task/tools.d.ts +1 -1
- package/dist/tools/call-omo-agent/tools.d.ts +1 -1
- package/dist/tools/delegate-task/tools.d.ts +1 -1
- package/dist/tools/index.d.ts +1 -1
- package/package.json +1 -1
- package/postinstall.mjs +97 -4
- /package/dist/agents/{build-prompt.d.ts → execution/build-prompt.d.ts} +0 -0
- /package/dist/agents/{composer.d.ts → planning/composer.d.ts} +0 -0
- /package/dist/agents/{plan-prompt.d.ts → planning/plan-prompt.d.ts} +0 -0
- /package/dist/features/{background-agent → background/agent}/index.d.ts +0 -0
- /package/dist/features/{background-agent → background/agent}/types.d.ts +0 -0
- /package/dist/features/{task-toast-manager → background/toast-manager}/index.d.ts +0 -0
- /package/dist/features/{task-toast-manager → background/toast-manager}/types.d.ts +0 -0
- /package/dist/features/{claude-code-agent-loader → loaders/agent-loader}/index.d.ts +0 -0
- /package/dist/features/{claude-code-agent-loader → loaders/agent-loader}/loader.d.ts +0 -0
- /package/dist/features/{claude-code-agent-loader → loaders/agent-loader}/types.d.ts +0 -0
- /package/dist/features/{claude-code-command-loader → loaders/command-loader}/index.d.ts +0 -0
- /package/dist/features/{claude-code-command-loader → loaders/command-loader}/loader.d.ts +0 -0
- /package/dist/features/{claude-code-command-loader → loaders/command-loader}/types.d.ts +0 -0
- /package/dist/features/{claude-code-mcp-loader → loaders/mcp-loader}/env-expander.d.ts +0 -0
- /package/dist/features/{claude-code-mcp-loader → loaders/mcp-loader}/index.d.ts +0 -0
- /package/dist/features/{claude-code-mcp-loader → loaders/mcp-loader}/loader.d.ts +0 -0
- /package/dist/features/{claude-code-mcp-loader → loaders/mcp-loader}/transformer.d.ts +0 -0
- /package/dist/features/{claude-code-mcp-loader → loaders/mcp-loader}/types.d.ts +0 -0
- /package/dist/features/{claude-code-plugin-loader → loaders/plugin-loader}/index.d.ts +0 -0
- /package/dist/features/{boulder-state → state/boulder-state}/constants.d.ts +0 -0
- /package/dist/features/{boulder-state → state/boulder-state}/index.d.ts +0 -0
- /package/dist/features/{boulder-state → state/boulder-state}/storage.d.ts +0 -0
- /package/dist/features/{boulder-state → state/boulder-state}/types.d.ts +0 -0
- /package/dist/features/{claude-code-session-state → state/session-state}/index.d.ts +0 -0
- /package/dist/features/{claude-code-session-state → state/session-state}/state.d.ts +0 -0
- /package/dist/hooks/{compaction-context-injector → context/compaction-context-injector}/index.d.ts +0 -0
- /package/dist/hooks/{directory-agents-injector → context/directory-agents-injector}/constants.d.ts +0 -0
- /package/dist/hooks/{directory-agents-injector → context/directory-agents-injector}/index.d.ts +0 -0
- /package/dist/hooks/{directory-agents-injector → context/directory-agents-injector}/storage.d.ts +0 -0
- /package/dist/hooks/{directory-agents-injector → context/directory-agents-injector}/types.d.ts +0 -0
- /package/dist/hooks/{directory-readme-injector → context/directory-readme-injector}/constants.d.ts +0 -0
- /package/dist/hooks/{directory-readme-injector → context/directory-readme-injector}/index.d.ts +0 -0
- /package/dist/hooks/{directory-readme-injector → context/directory-readme-injector}/storage.d.ts +0 -0
- /package/dist/hooks/{directory-readme-injector → context/directory-readme-injector}/types.d.ts +0 -0
- /package/dist/hooks/{rules-injector → context/rules-injector}/constants.d.ts +0 -0
- /package/dist/hooks/{rules-injector → context/rules-injector}/finder.d.ts +0 -0
- /package/dist/hooks/{rules-injector → context/rules-injector}/index.d.ts +0 -0
- /package/dist/hooks/{rules-injector → context/rules-injector}/matcher.d.ts +0 -0
- /package/dist/hooks/{rules-injector → context/rules-injector}/parser.d.ts +0 -0
- /package/dist/hooks/{rules-injector → context/rules-injector}/storage.d.ts +0 -0
- /package/dist/hooks/{rules-injector → context/rules-injector}/types.d.ts +0 -0
- /package/dist/hooks/{anthropic-context-window-limit-recovery → error-recovery/anthropic-context-window-limit-recovery}/parser.d.ts +0 -0
- /package/dist/hooks/{anthropic-context-window-limit-recovery → error-recovery/anthropic-context-window-limit-recovery}/pruning-deduplication.d.ts +0 -0
- /package/dist/hooks/{anthropic-context-window-limit-recovery → error-recovery/anthropic-context-window-limit-recovery}/pruning-purge-errors.d.ts +0 -0
- /package/dist/hooks/{anthropic-context-window-limit-recovery → error-recovery/anthropic-context-window-limit-recovery}/pruning-storage.d.ts +0 -0
- /package/dist/hooks/{anthropic-context-window-limit-recovery → error-recovery/anthropic-context-window-limit-recovery}/pruning-supersede.d.ts +0 -0
- /package/dist/hooks/{anthropic-context-window-limit-recovery → error-recovery/anthropic-context-window-limit-recovery}/pruning-types.d.ts +0 -0
- /package/dist/hooks/{anthropic-context-window-limit-recovery → error-recovery/anthropic-context-window-limit-recovery}/storage.d.ts +0 -0
- /package/dist/hooks/{anthropic-context-window-limit-recovery → error-recovery/anthropic-context-window-limit-recovery}/types.d.ts +0 -0
- /package/dist/hooks/{delegate-task-retry → error-recovery/delegate-task-retry}/index.d.ts +0 -0
- /package/dist/hooks/{edit-error-recovery → error-recovery/edit-error-recovery}/index.d.ts +0 -0
- /package/dist/hooks/{auto-slash-command → input/auto-slash-command}/constants.d.ts +0 -0
- /package/dist/hooks/{auto-slash-command → input/auto-slash-command}/detector.d.ts +0 -0
- /package/dist/hooks/{auto-slash-command → input/auto-slash-command}/types.d.ts +0 -0
- /package/dist/hooks/{empty-message-sanitizer → input/empty-message-sanitizer}/index.d.ts +0 -0
- /package/dist/hooks/{keyword-detector → input/keyword-detector}/constants.d.ts +0 -0
- /package/dist/hooks/{keyword-detector → input/keyword-detector}/detector.d.ts +0 -0
- /package/dist/hooks/{keyword-detector → input/keyword-detector}/types.d.ts +0 -0
- /package/dist/hooks/{auto-update-checker → lifecycle/auto-update-checker}/cache.d.ts +0 -0
- /package/dist/hooks/{auto-update-checker → lifecycle/auto-update-checker}/checker.d.ts +0 -0
- /package/dist/hooks/{auto-update-checker → lifecycle/auto-update-checker}/index.d.ts +0 -0
- /package/dist/hooks/{auto-update-checker → lifecycle/auto-update-checker}/types.d.ts +0 -0
- /package/dist/hooks/{session-recovery → lifecycle/session-recovery}/constants.d.ts +0 -0
- /package/dist/hooks/{session-recovery → lifecycle/session-recovery}/storage.d.ts +0 -0
- /package/dist/hooks/{session-recovery → lifecycle/session-recovery}/types.d.ts +0 -0
- /package/dist/hooks/{start-work → lifecycle/start-work}/index.d.ts +0 -0
- /package/dist/hooks/{agent-usage-reminder → system/agent-usage-reminder}/constants.d.ts +0 -0
- /package/dist/hooks/{agent-usage-reminder → system/agent-usage-reminder}/index.d.ts +0 -0
- /package/dist/hooks/{agent-usage-reminder → system/agent-usage-reminder}/storage.d.ts +0 -0
- /package/dist/hooks/{agent-usage-reminder → system/agent-usage-reminder}/types.d.ts +0 -0
- /package/dist/hooks/{interactive-bash-session → system/interactive-bash-session}/constants.d.ts +0 -0
- /package/dist/hooks/{interactive-bash-session → system/interactive-bash-session}/index.d.ts +0 -0
- /package/dist/hooks/{interactive-bash-session → system/interactive-bash-session}/storage.d.ts +0 -0
- /package/dist/hooks/{interactive-bash-session → system/interactive-bash-session}/types.d.ts +0 -0
- /package/dist/hooks/{non-interactive-env → system/non-interactive-env}/constants.d.ts +0 -0
- /package/dist/hooks/{non-interactive-env → system/non-interactive-env}/detector.d.ts +0 -0
- /package/dist/hooks/{non-interactive-env → system/non-interactive-env}/index.d.ts +0 -0
- /package/dist/hooks/{non-interactive-env → system/non-interactive-env}/types.d.ts +0 -0
- /package/dist/hooks/{ralph-loop → system/ralph-loop}/constants.d.ts +0 -0
- /package/dist/hooks/{ralph-loop → system/ralph-loop}/index.d.ts +0 -0
- /package/dist/hooks/{ralph-loop → system/ralph-loop}/storage.d.ts +0 -0
- /package/dist/hooks/{task-resume-info → system/task-resume-info}/index.d.ts +0 -0
- /package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/cli.d.ts +0 -0
- /package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/constants.d.ts +0 -0
- /package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/filters/bdd.d.ts +0 -0
- /package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/filters/directive.d.ts +0 -0
- /package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/filters/docstring.d.ts +0 -0
- /package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/filters/index.d.ts +0 -0
- /package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/filters/shebang.d.ts +0 -0
- /package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/output/formatter.d.ts +0 -0
- /package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/output/index.d.ts +0 -0
- /package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/output/xml-builder.d.ts +0 -0
- /package/dist/hooks/{comment-checker → tool-intercept/comment-checker}/types.d.ts +0 -0
- /package/dist/hooks/{composer-md-only → tool-intercept/composer-md-only}/constants.d.ts +0 -0
- /package/dist/hooks/{composer-md-only → tool-intercept/composer-md-only}/index.d.ts +0 -0
- /package/dist/hooks/{think-mode → tool-intercept/think-mode}/detector.d.ts +0 -0
- /package/dist/hooks/{think-mode → tool-intercept/think-mode}/index.d.ts +0 -0
- /package/dist/hooks/{think-mode → tool-intercept/think-mode}/switcher.d.ts +0 -0
- /package/dist/hooks/{think-mode → tool-intercept/think-mode}/types.d.ts +0 -0
- /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(), "
|
|
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, "
|
|
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";
|
|
@@ -5948,6 +5948,9 @@ var init_system_directive = () => {};
|
|
|
5948
5948
|
// src/shared/agent-tool-restrictions.ts
|
|
5949
5949
|
var init_agent_tool_restrictions = () => {};
|
|
5950
5950
|
|
|
5951
|
+
// src/shared/platform-detection.ts
|
|
5952
|
+
var init_platform_detection = () => {};
|
|
5953
|
+
|
|
5951
5954
|
// src/shared/index.ts
|
|
5952
5955
|
var init_shared = __esm(() => {
|
|
5953
5956
|
init_frontmatter();
|
|
@@ -5972,6 +5975,7 @@ var init_shared = __esm(() => {
|
|
|
5972
5975
|
init_session_cursor();
|
|
5973
5976
|
init_system_directive();
|
|
5974
5977
|
init_agent_tool_restrictions();
|
|
5978
|
+
init_platform_detection();
|
|
5975
5979
|
});
|
|
5976
5980
|
|
|
5977
5981
|
// src/cli/config-manager.ts
|
|
@@ -6175,7 +6179,7 @@ function deepMerge(target, source) {
|
|
|
6175
6179
|
}
|
|
6176
6180
|
function generateOmoConfig(installConfig) {
|
|
6177
6181
|
const config = {
|
|
6178
|
-
$schema: "https://raw.githubusercontent.com/
|
|
6182
|
+
$schema: "https://raw.githubusercontent.com/ReinaMacCredy/maestro/main/assets/maestro.schema.json"
|
|
6179
6183
|
};
|
|
6180
6184
|
const agents = {};
|
|
6181
6185
|
if (!installConfig.hasClaude) {
|
|
@@ -6273,7 +6277,7 @@ function writeOmoConfig(installConfig) {
|
|
|
6273
6277
|
}
|
|
6274
6278
|
return { success: true, configPath: omoConfigPath };
|
|
6275
6279
|
} catch (err) {
|
|
6276
|
-
return { success: false, configPath: omoConfigPath, error: formatErrorWithSuggestion(err, "write
|
|
6280
|
+
return { success: false, configPath: omoConfigPath, error: formatErrorWithSuggestion(err, "write maestro config") };
|
|
6277
6281
|
}
|
|
6278
6282
|
}
|
|
6279
6283
|
async function findOpenCodeBinaryWithVersion() {
|
|
@@ -6428,7 +6432,7 @@ function detectCurrentConfig() {
|
|
|
6428
6432
|
}
|
|
6429
6433
|
const openCodeConfig = parseResult.config;
|
|
6430
6434
|
const plugins = openCodeConfig.plugin ?? [];
|
|
6431
|
-
result.isInstalled = plugins.some((p2) => p2.startsWith("
|
|
6435
|
+
result.isInstalled = plugins.some((p2) => p2.startsWith("maestro"));
|
|
6432
6436
|
if (!result.isInstalled) {
|
|
6433
6437
|
return result;
|
|
6434
6438
|
}
|
|
@@ -6468,7 +6472,7 @@ function detectCurrentConfig() {
|
|
|
6468
6472
|
} catch {}
|
|
6469
6473
|
return result;
|
|
6470
6474
|
}
|
|
6471
|
-
var OPENCODE_BINARIES, configContext = null, BUN_INSTALL_TIMEOUT_SECONDS = 60, BUN_INSTALL_TIMEOUT_MS, NPM_FETCH_TIMEOUT_MS = 5000, PACKAGE_NAME = "
|
|
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;
|
|
6472
6476
|
var init_config_manager = __esm(() => {
|
|
6473
6477
|
init_shared();
|
|
6474
6478
|
OPENCODE_BINARIES = ["opencode", "opencode-desktop"];
|
|
@@ -6503,7 +6507,7 @@ var init_config_manager = __esm(() => {
|
|
|
6503
6507
|
};
|
|
6504
6508
|
});
|
|
6505
6509
|
|
|
6506
|
-
// src/hooks/auto-update-checker/constants.ts
|
|
6510
|
+
// src/hooks/lifecycle/auto-update-checker/constants.ts
|
|
6507
6511
|
import * as path2 from "path";
|
|
6508
6512
|
import * as os2 from "os";
|
|
6509
6513
|
import * as fs2 from "fs";
|
|
@@ -6531,7 +6535,7 @@ function getWindowsAppdataDir() {
|
|
|
6531
6535
|
return null;
|
|
6532
6536
|
return process.env.APPDATA ?? path2.join(os2.homedir(), "AppData", "Roaming");
|
|
6533
6537
|
}
|
|
6534
|
-
var PACKAGE_NAME2 = "
|
|
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;
|
|
6535
6539
|
var init_constants = __esm(() => {
|
|
6536
6540
|
NPM_REGISTRY_URL = `https://registry.npmjs.org/-/package/${PACKAGE_NAME2}/dist-tags`;
|
|
6537
6541
|
CACHE_DIR = getCacheDir();
|
|
@@ -6542,7 +6546,7 @@ var init_constants = __esm(() => {
|
|
|
6542
6546
|
USER_OPENCODE_CONFIG_JSONC = path2.join(USER_CONFIG_DIR, "opencode", "opencode.jsonc");
|
|
6543
6547
|
});
|
|
6544
6548
|
|
|
6545
|
-
// src/hooks/auto-update-checker/cache.ts
|
|
6549
|
+
// src/hooks/lifecycle/auto-update-checker/cache.ts
|
|
6546
6550
|
import * as fs3 from "fs";
|
|
6547
6551
|
import * as path3 from "path";
|
|
6548
6552
|
function stripTrailingCommas(json2) {
|
|
@@ -6615,7 +6619,7 @@ var init_cache = __esm(() => {
|
|
|
6615
6619
|
init_logger();
|
|
6616
6620
|
});
|
|
6617
6621
|
|
|
6618
|
-
// src/hooks/auto-update-checker/index.ts
|
|
6622
|
+
// src/hooks/lifecycle/auto-update-checker/index.ts
|
|
6619
6623
|
var exports_auto_update_checker = {};
|
|
6620
6624
|
__export(exports_auto_update_checker, {
|
|
6621
6625
|
isPrereleaseVersion: () => isPrereleaseVersion,
|
|
@@ -6837,7 +6841,7 @@ var init_auto_update_checker = __esm(() => {
|
|
|
6837
6841
|
MAESTRO_SPINNER = ["\xB7", "\u2022", "\u25CF", "\u25CB", "\u25CC", "\u25E6", " "];
|
|
6838
6842
|
});
|
|
6839
6843
|
|
|
6840
|
-
// src/hooks/auto-update-checker/checker.ts
|
|
6844
|
+
// src/hooks/lifecycle/auto-update-checker/checker.ts
|
|
6841
6845
|
import * as fs4 from "fs";
|
|
6842
6846
|
import * as path4 from "path";
|
|
6843
6847
|
import { fileURLToPath } from "url";
|
|
@@ -7672,7 +7676,7 @@ var import_picocolors2 = __toESM(require_picocolors(), 1);
|
|
|
7672
7676
|
// package.json
|
|
7673
7677
|
var package_default = {
|
|
7674
7678
|
name: "@reinamaccredy/maestro",
|
|
7675
|
-
version: "1.0
|
|
7679
|
+
version: "1.2.0",
|
|
7676
7680
|
description: "Maestro - Context-driven development for AI coding agents with music-themed orchestration",
|
|
7677
7681
|
main: "dist/index.js",
|
|
7678
7682
|
types: "dist/index.d.ts",
|
|
@@ -7954,7 +7958,7 @@ async function runNonTuiInstall(args) {
|
|
|
7954
7958
|
console.log(` ${SYMBOLS.bullet} ${err}`);
|
|
7955
7959
|
}
|
|
7956
7960
|
console.log();
|
|
7957
|
-
printInfo("Usage: bunx
|
|
7961
|
+
printInfo("Usage: bunx maestro install --no-tui --claude=<no|yes|max20> --chatgpt=<no|yes> --gemini=<no|yes> --copilot=<no|yes>");
|
|
7958
7962
|
console.log();
|
|
7959
7963
|
return 1;
|
|
7960
7964
|
}
|
|
@@ -7977,7 +7981,7 @@ async function runNonTuiInstall(args) {
|
|
|
7977
7981
|
printInfo(`Current config: Claude=${initial.claude}, ChatGPT=${initial.chatgpt}, Gemini=${initial.gemini}`);
|
|
7978
7982
|
}
|
|
7979
7983
|
const config = argsToConfig(args);
|
|
7980
|
-
printStep(step++, totalSteps, "Adding
|
|
7984
|
+
printStep(step++, totalSteps, "Adding maestro plugin...");
|
|
7981
7985
|
const pluginResult = await addPluginToOpenCodeConfig(VERSION);
|
|
7982
7986
|
if (!pluginResult.success) {
|
|
7983
7987
|
printError(`Failed: ${pluginResult.error}`);
|
|
@@ -8002,7 +8006,7 @@ async function runNonTuiInstall(args) {
|
|
|
8002
8006
|
} else {
|
|
8003
8007
|
step += 2;
|
|
8004
8008
|
}
|
|
8005
|
-
printStep(step++, totalSteps, "Writing
|
|
8009
|
+
printStep(step++, totalSteps, "Writing maestro configuration...");
|
|
8006
8010
|
const omoResult = writeOmoConfig(config);
|
|
8007
8011
|
if (!omoResult.success) {
|
|
8008
8012
|
printError(`Failed: ${omoResult.error}`);
|
|
@@ -8020,7 +8024,7 @@ async function runNonTuiInstall(args) {
|
|
|
8020
8024
|
` + `All features work like magic\u2014parallel agents, background tasks,
|
|
8021
8025
|
` + `deep exploration, and relentless execution until completion.`, "\uD83E\uDE84 The Magic Word");
|
|
8022
8026
|
console.log(`${SYMBOLS.star} ${import_picocolors2.default.yellow("If you found this helpful, consider starring the repo!")}`);
|
|
8023
|
-
console.log(` ${import_picocolors2.default.dim("gh repo star
|
|
8027
|
+
console.log(` ${import_picocolors2.default.dim("gh repo star ReinaMacCredy/maestro")}`);
|
|
8024
8028
|
console.log();
|
|
8025
8029
|
console.log(import_picocolors2.default.dim("oMoMoMoMo... Enjoy!"));
|
|
8026
8030
|
console.log();
|
|
@@ -8059,7 +8063,7 @@ async function install(args) {
|
|
|
8059
8063
|
const config = await runTuiMode(detected);
|
|
8060
8064
|
if (!config)
|
|
8061
8065
|
return 1;
|
|
8062
|
-
s.start("Adding
|
|
8066
|
+
s.start("Adding maestro to OpenCode config");
|
|
8063
8067
|
const pluginResult = await addPluginToOpenCodeConfig(VERSION);
|
|
8064
8068
|
if (!pluginResult.success) {
|
|
8065
8069
|
s.stop(`Failed to add plugin: ${pluginResult.error}`);
|
|
@@ -8085,7 +8089,7 @@ async function install(args) {
|
|
|
8085
8089
|
}
|
|
8086
8090
|
s.stop(`Provider config added to ${import_picocolors2.default.cyan(providerResult.configPath)}`);
|
|
8087
8091
|
}
|
|
8088
|
-
s.start("Writing
|
|
8092
|
+
s.start("Writing maestro configuration");
|
|
8089
8093
|
const omoResult = writeOmoConfig(config);
|
|
8090
8094
|
if (!omoResult.success) {
|
|
8091
8095
|
s.stop(`Failed to write config: ${omoResult.error}`);
|
|
@@ -8103,7 +8107,7 @@ async function install(args) {
|
|
|
8103
8107
|
` + `All features work like magic\u2014parallel agents, background tasks,
|
|
8104
8108
|
` + `deep exploration, and relentless execution until completion.`, "\uD83E\uDE84 The Magic Word");
|
|
8105
8109
|
M2.message(`${import_picocolors2.default.yellow("\u2605")} If you found this helpful, consider starring the repo!`);
|
|
8106
|
-
M2.message(` ${import_picocolors2.default.dim("gh repo star
|
|
8110
|
+
M2.message(` ${import_picocolors2.default.dim("gh repo star ReinaMacCredy/maestro")}`);
|
|
8107
8111
|
Se(import_picocolors2.default.green("oMoMoMoMo... Enjoy!"));
|
|
8108
8112
|
if ((config.hasClaude || config.hasChatGPT || config.hasGemini || config.hasCopilot) && !args.skipAuth) {
|
|
8109
8113
|
const providers = [];
|
|
@@ -9898,7 +9902,7 @@ Interrupted. Shutting down...`));
|
|
|
9898
9902
|
});
|
|
9899
9903
|
try {
|
|
9900
9904
|
const sessionRes = await client3.session.create({
|
|
9901
|
-
body: { title: "
|
|
9905
|
+
body: { title: "maestro run" }
|
|
9902
9906
|
});
|
|
9903
9907
|
const sessionID = sessionRes.data?.id;
|
|
9904
9908
|
if (!sessionID) {
|
|
@@ -9983,7 +9987,7 @@ var SYMBOLS2 = {
|
|
|
9983
9987
|
function formatVersionOutput(info) {
|
|
9984
9988
|
const lines = [];
|
|
9985
9989
|
lines.push("");
|
|
9986
|
-
lines.push(import_picocolors6.default.bold(import_picocolors6.default.white("
|
|
9990
|
+
lines.push(import_picocolors6.default.bold(import_picocolors6.default.white("Maestro Version Information")));
|
|
9987
9991
|
lines.push(import_picocolors6.default.dim("\u2500".repeat(50)));
|
|
9988
9992
|
lines.push("");
|
|
9989
9993
|
if (info.currentVersion) {
|
|
@@ -10001,7 +10005,7 @@ function formatVersionOutput(info) {
|
|
|
10001
10005
|
break;
|
|
10002
10006
|
case "outdated":
|
|
10003
10007
|
lines.push(` ${SYMBOLS2.warn} ${import_picocolors6.default.yellow("Update available")}`);
|
|
10004
|
-
lines.push(` ${import_picocolors6.default.dim("Run:")} ${import_picocolors6.default.cyan("cd ~/.config/opencode && bun update
|
|
10008
|
+
lines.push(` ${import_picocolors6.default.dim("Run:")} ${import_picocolors6.default.cyan("cd ~/.config/opencode && bun update @reinamaccredy/maestro")}`);
|
|
10005
10009
|
break;
|
|
10006
10010
|
case "local-dev":
|
|
10007
10011
|
lines.push(` ${SYMBOLS2.dev} ${import_picocolors6.default.cyan("Running in local development mode")}`);
|
|
@@ -10178,7 +10182,7 @@ var EXIT_CODES = {
|
|
|
10178
10182
|
FAILURE: 1
|
|
10179
10183
|
};
|
|
10180
10184
|
var MIN_OPENCODE_VERSION = "1.0.150";
|
|
10181
|
-
var PACKAGE_NAME3 = "
|
|
10185
|
+
var PACKAGE_NAME3 = "maestro";
|
|
10182
10186
|
var OPENCODE_BINARIES2 = ["opencode", "opencode-desktop"];
|
|
10183
10187
|
|
|
10184
10188
|
// src/cli/doctor/checks/opencode.ts
|
|
@@ -10401,7 +10405,7 @@ async function checkPluginRegistration() {
|
|
|
10401
10405
|
status: "fail",
|
|
10402
10406
|
message: "OpenCode config file not found",
|
|
10403
10407
|
details: [
|
|
10404
|
-
"Run: bunx
|
|
10408
|
+
"Run: bunx maestro install",
|
|
10405
10409
|
`Expected: ${expectedPaths.configJson} or ${expectedPaths.configJsonc}`
|
|
10406
10410
|
]
|
|
10407
10411
|
};
|
|
@@ -10412,7 +10416,7 @@ async function checkPluginRegistration() {
|
|
|
10412
10416
|
status: "fail",
|
|
10413
10417
|
message: "Plugin not registered in config",
|
|
10414
10418
|
details: [
|
|
10415
|
-
"Run: bunx
|
|
10419
|
+
"Run: bunx maestro install",
|
|
10416
10420
|
`Config: ${info.configPath}`
|
|
10417
10421
|
]
|
|
10418
10422
|
};
|
|
@@ -24395,7 +24399,7 @@ async function checkAuthProvider(providerId) {
|
|
|
24395
24399
|
message: "Auth plugin not installed",
|
|
24396
24400
|
details: [
|
|
24397
24401
|
`Plugin: ${AUTH_PLUGINS[providerId].plugin}`,
|
|
24398
|
-
"Run: bunx
|
|
24402
|
+
"Run: bunx maestro install"
|
|
24399
24403
|
]
|
|
24400
24404
|
};
|
|
24401
24405
|
}
|
|
@@ -25017,7 +25021,7 @@ async function checkVersionStatus() {
|
|
|
25017
25021
|
name: CHECK_NAMES[CHECK_IDS.VERSION_STATUS],
|
|
25018
25022
|
status: "warn",
|
|
25019
25023
|
message: "Unable to determine current version",
|
|
25020
|
-
details: ["Run: bunx
|
|
25024
|
+
details: ["Run: bunx maestro get-local-version"]
|
|
25021
25025
|
};
|
|
25022
25026
|
}
|
|
25023
25027
|
if (!info.latestVersion) {
|
|
@@ -25033,7 +25037,7 @@ async function checkVersionStatus() {
|
|
|
25033
25037
|
name: CHECK_NAMES[CHECK_IDS.VERSION_STATUS],
|
|
25034
25038
|
status: "warn",
|
|
25035
25039
|
message: `Update available: ${info.currentVersion} -> ${info.latestVersion}`,
|
|
25036
|
-
details: ["Run: cd ~/.config/opencode && bun update
|
|
25040
|
+
details: ["Run: cd ~/.config/opencode && bun update @reinamaccredy/maestro"]
|
|
25037
25041
|
};
|
|
25038
25042
|
}
|
|
25039
25043
|
return {
|
|
@@ -25249,12 +25253,12 @@ async function doctor(options = {}) {
|
|
|
25249
25253
|
// src/cli/index.ts
|
|
25250
25254
|
var VERSION2 = package_default.version;
|
|
25251
25255
|
var program2 = new Command;
|
|
25252
|
-
program2.name("
|
|
25253
|
-
program2.command("install").description("Install and configure
|
|
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", `
|
|
25254
25258
|
Examples:
|
|
25255
|
-
$ bunx
|
|
25256
|
-
$ bunx
|
|
25257
|
-
$ bunx
|
|
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
|
|
25258
25262
|
|
|
25259
25263
|
Model Providers:
|
|
25260
25264
|
Claude Required for Maestro (main orchestrator) and Archivist agents
|
|
@@ -25274,9 +25278,9 @@ Model Providers:
|
|
|
25274
25278
|
});
|
|
25275
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", `
|
|
25276
25280
|
Examples:
|
|
25277
|
-
$ bunx
|
|
25278
|
-
$ bunx
|
|
25279
|
-
$ bunx
|
|
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"
|
|
25280
25284
|
|
|
25281
25285
|
Unlike 'opencode run', this command waits until:
|
|
25282
25286
|
- All todos are completed or cancelled
|
|
@@ -25293,9 +25297,9 @@ Unlike 'opencode run', this command waits until:
|
|
|
25293
25297
|
});
|
|
25294
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", `
|
|
25295
25299
|
Examples:
|
|
25296
|
-
$ bunx
|
|
25297
|
-
$ bunx
|
|
25298
|
-
$ bunx
|
|
25300
|
+
$ bunx maestro get-local-version
|
|
25301
|
+
$ bunx maestro get-local-version --json
|
|
25302
|
+
$ bunx maestro get-local-version --directory /path/to/project
|
|
25299
25303
|
|
|
25300
25304
|
This command shows:
|
|
25301
25305
|
- Current installed version
|
|
@@ -25310,12 +25314,12 @@ This command shows:
|
|
|
25310
25314
|
const exitCode = await getLocalVersion(versionOptions);
|
|
25311
25315
|
process.exit(exitCode);
|
|
25312
25316
|
});
|
|
25313
|
-
program2.command("doctor").description("Check
|
|
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", `
|
|
25314
25318
|
Examples:
|
|
25315
|
-
$ bunx
|
|
25316
|
-
$ bunx
|
|
25317
|
-
$ bunx
|
|
25318
|
-
$ bunx
|
|
25319
|
+
$ bunx maestro doctor
|
|
25320
|
+
$ bunx maestro doctor --verbose
|
|
25321
|
+
$ bunx maestro doctor --json
|
|
25322
|
+
$ bunx maestro doctor --category authentication
|
|
25319
25323
|
|
|
25320
25324
|
Categories:
|
|
25321
25325
|
installation Check OpenCode and plugin installation
|
|
@@ -25334,6 +25338,6 @@ Categories:
|
|
|
25334
25338
|
process.exit(exitCode);
|
|
25335
25339
|
});
|
|
25336
25340
|
program2.command("version").description("Show version information").action(() => {
|
|
25337
|
-
console.log(`
|
|
25341
|
+
console.log(`maestro v${VERSION2}`);
|
|
25338
25342
|
});
|
|
25339
25343
|
program2.parse();
|
|
@@ -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 "
|
|
3
|
+
import type { BackgroundTaskConfig } from "../../../config/schema";
|
|
4
4
|
interface EventProperties {
|
|
5
5
|
sessionID?: string;
|
|
6
6
|
info?: {
|
|
@@ -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 "../
|
|
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 "../
|
|
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[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AgentConfig } from "@opencode-ai/sdk";
|
|
2
|
-
import type { CommandDefinition } from "../
|
|
3
|
-
import type { McpServerConfig } from "../
|
|
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
|
|
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 "../
|
|
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 "../
|
|
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 "../
|
|
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 "../
|
|
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,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 "
|
|
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 "
|
|
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 "
|
|
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";
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -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
|
|
15
|
-
export
|
|
16
|
-
export
|
|
17
|
-
export
|
|
18
|
-
export
|
|
19
|
-
export
|
|
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,5 +1,5 @@
|
|
|
1
1
|
import type { AutoSlashCommandHookInput, AutoSlashCommandHookOutput } from "./types";
|
|
2
|
-
import type { LoadedSkill } from "
|
|
2
|
+
import type { LoadedSkill } from "../../../features/opencode-skill-loader";
|
|
3
3
|
export * from "./detector";
|
|
4
4
|
export * from "./executor";
|
|
5
5
|
export * from "./constants";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
-
import type { ContextCollector } from "
|
|
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 = "
|
|
2
|
-
export declare const NPM_REGISTRY_URL = "https://registry.npmjs.org/-/package/
|
|
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,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 "
|
|
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,5 +1,5 @@
|
|
|
1
1
|
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
-
import type { BackgroundManager } from "../features/background
|
|
2
|
+
import type { BackgroundManager } from "../features/background/agent";
|
|
3
3
|
export interface TodoContinuationEnforcerOptions {
|
|
4
4
|
backgroundManager?: BackgroundManager;
|
|
5
5
|
skipAgents?: string[];
|