steroids-cli 0.4.47
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/LICENSE +21 -0
- package/README.md +640 -0
- package/dist/cli/colors.d.ts +110 -0
- package/dist/cli/colors.d.ts.map +1 -0
- package/dist/cli/colors.js +228 -0
- package/dist/cli/colors.js.map +1 -0
- package/dist/cli/env.d.ts +159 -0
- package/dist/cli/env.d.ts.map +1 -0
- package/dist/cli/env.js +227 -0
- package/dist/cli/env.js.map +1 -0
- package/dist/cli/errors.d.ts +166 -0
- package/dist/cli/errors.d.ts.map +1 -0
- package/dist/cli/errors.js +244 -0
- package/dist/cli/errors.js.map +1 -0
- package/dist/cli/flags.d.ts +75 -0
- package/dist/cli/flags.d.ts.map +1 -0
- package/dist/cli/flags.js +232 -0
- package/dist/cli/flags.js.map +1 -0
- package/dist/cli/help.d.ts +97 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/help.js +275 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/index.d.ts +13 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +29 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/interactive.d.ts +58 -0
- package/dist/cli/interactive.d.ts.map +1 -0
- package/dist/cli/interactive.js +127 -0
- package/dist/cli/interactive.js.map +1 -0
- package/dist/cli/output.d.ts +116 -0
- package/dist/cli/output.d.ts.map +1 -0
- package/dist/cli/output.js +178 -0
- package/dist/cli/output.js.map +1 -0
- package/dist/commands/about.d.ts +7 -0
- package/dist/commands/about.d.ts.map +1 -0
- package/dist/commands/about.js +259 -0
- package/dist/commands/about.js.map +1 -0
- package/dist/commands/ai.d.ts +6 -0
- package/dist/commands/ai.d.ts.map +1 -0
- package/dist/commands/ai.js +382 -0
- package/dist/commands/ai.js.map +1 -0
- package/dist/commands/backup.d.ts +3 -0
- package/dist/commands/backup.d.ts.map +1 -0
- package/dist/commands/backup.js +528 -0
- package/dist/commands/backup.js.map +1 -0
- package/dist/commands/completion.d.ts +3 -0
- package/dist/commands/completion.d.ts.map +1 -0
- package/dist/commands/completion.js +405 -0
- package/dist/commands/completion.js.map +1 -0
- package/dist/commands/config.d.ts +3 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +665 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/disputes.d.ts +3 -0
- package/dist/commands/disputes.d.ts.map +1 -0
- package/dist/commands/disputes.js +499 -0
- package/dist/commands/disputes.js.map +1 -0
- package/dist/commands/gc.d.ts +3 -0
- package/dist/commands/gc.d.ts.map +1 -0
- package/dist/commands/gc.js +300 -0
- package/dist/commands/gc.js.map +1 -0
- package/dist/commands/git.d.ts +3 -0
- package/dist/commands/git.d.ts.map +1 -0
- package/dist/commands/git.js +458 -0
- package/dist/commands/git.js.map +1 -0
- package/dist/commands/health.d.ts +3 -0
- package/dist/commands/health.d.ts.map +1 -0
- package/dist/commands/health.js +604 -0
- package/dist/commands/health.js.map +1 -0
- package/dist/commands/hooks.d.ts +6 -0
- package/dist/commands/hooks.d.ts.map +1 -0
- package/dist/commands/hooks.js +529 -0
- package/dist/commands/hooks.js.map +1 -0
- package/dist/commands/init.d.ts +6 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +200 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/llm.d.ts +7 -0
- package/dist/commands/llm.d.ts.map +1 -0
- package/dist/commands/llm.js +285 -0
- package/dist/commands/llm.js.map +1 -0
- package/dist/commands/locks.d.ts +3 -0
- package/dist/commands/locks.d.ts.map +1 -0
- package/dist/commands/locks.js +431 -0
- package/dist/commands/locks.js.map +1 -0
- package/dist/commands/logs.d.ts +3 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +487 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/loop-phases.d.ts +11 -0
- package/dist/commands/loop-phases.d.ts.map +1 -0
- package/dist/commands/loop-phases.js +204 -0
- package/dist/commands/loop-phases.js.map +1 -0
- package/dist/commands/loop.d.ts +3 -0
- package/dist/commands/loop.d.ts.map +1 -0
- package/dist/commands/loop.js +396 -0
- package/dist/commands/loop.js.map +1 -0
- package/dist/commands/projects.d.ts +6 -0
- package/dist/commands/projects.d.ts.map +1 -0
- package/dist/commands/projects.js +362 -0
- package/dist/commands/projects.js.map +1 -0
- package/dist/commands/purge.d.ts +3 -0
- package/dist/commands/purge.d.ts.map +1 -0
- package/dist/commands/purge.js +516 -0
- package/dist/commands/purge.js.map +1 -0
- package/dist/commands/runners.d.ts +3 -0
- package/dist/commands/runners.d.ts.map +1 -0
- package/dist/commands/runners.js +1076 -0
- package/dist/commands/runners.js.map +1 -0
- package/dist/commands/scan.d.ts +3 -0
- package/dist/commands/scan.d.ts.map +1 -0
- package/dist/commands/scan.js +291 -0
- package/dist/commands/scan.js.map +1 -0
- package/dist/commands/sections-commands.d.ts +9 -0
- package/dist/commands/sections-commands.d.ts.map +1 -0
- package/dist/commands/sections-commands.js +282 -0
- package/dist/commands/sections-commands.js.map +1 -0
- package/dist/commands/sections-graph.d.ts +25 -0
- package/dist/commands/sections-graph.d.ts.map +1 -0
- package/dist/commands/sections-graph.js +180 -0
- package/dist/commands/sections-graph.js.map +1 -0
- package/dist/commands/sections.d.ts +3 -0
- package/dist/commands/sections.d.ts.map +1 -0
- package/dist/commands/sections.js +376 -0
- package/dist/commands/sections.js.map +1 -0
- package/dist/commands/stats.d.ts +6 -0
- package/dist/commands/stats.d.ts.map +1 -0
- package/dist/commands/stats.js +324 -0
- package/dist/commands/stats.js.map +1 -0
- package/dist/commands/tasks.d.ts +3 -0
- package/dist/commands/tasks.d.ts.map +1 -0
- package/dist/commands/tasks.js +1115 -0
- package/dist/commands/tasks.js.map +1 -0
- package/dist/commands/web.d.ts +7 -0
- package/dist/commands/web.d.ts.map +1 -0
- package/dist/commands/web.js +204 -0
- package/dist/commands/web.js.map +1 -0
- package/dist/config/ai-setup.d.ts +27 -0
- package/dist/config/ai-setup.d.ts.map +1 -0
- package/dist/config/ai-setup.js +432 -0
- package/dist/config/ai-setup.js.map +1 -0
- package/dist/config/browser.d.ts +9 -0
- package/dist/config/browser.d.ts.map +1 -0
- package/dist/config/browser.js +200 -0
- package/dist/config/browser.js.map +1 -0
- package/dist/config/json-schema.d.ts +28 -0
- package/dist/config/json-schema.d.ts.map +1 -0
- package/dist/config/json-schema.js +84 -0
- package/dist/config/json-schema.js.map +1 -0
- package/dist/config/loader.d.ts +152 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +270 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/schema.d.ts +34 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +437 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/config/validator.d.ts +32 -0
- package/dist/config/validator.d.ts.map +1 -0
- package/dist/config/validator.js +187 -0
- package/dist/config/validator.js.map +1 -0
- package/dist/database/connection.d.ts +35 -0
- package/dist/database/connection.d.ts.map +1 -0
- package/dist/database/connection.js +208 -0
- package/dist/database/connection.js.map +1 -0
- package/dist/database/queries.d.ts +218 -0
- package/dist/database/queries.d.ts.map +1 -0
- package/dist/database/queries.js +613 -0
- package/dist/database/queries.js.map +1 -0
- package/dist/database/schema.d.ts +8 -0
- package/dist/database/schema.d.ts.map +1 -0
- package/dist/database/schema.js +160 -0
- package/dist/database/schema.js.map +1 -0
- package/dist/disputes/behavior.d.ts +106 -0
- package/dist/disputes/behavior.d.ts.map +1 -0
- package/dist/disputes/behavior.js +150 -0
- package/dist/disputes/behavior.js.map +1 -0
- package/dist/disputes/create.d.ts +59 -0
- package/dist/disputes/create.d.ts.map +1 -0
- package/dist/disputes/create.js +222 -0
- package/dist/disputes/create.js.map +1 -0
- package/dist/disputes/index.d.ts +21 -0
- package/dist/disputes/index.d.ts.map +1 -0
- package/dist/disputes/index.js +76 -0
- package/dist/disputes/index.js.map +1 -0
- package/dist/disputes/markdown.d.ts +41 -0
- package/dist/disputes/markdown.d.ts.map +1 -0
- package/dist/disputes/markdown.js +261 -0
- package/dist/disputes/markdown.js.map +1 -0
- package/dist/disputes/queries.d.ts +83 -0
- package/dist/disputes/queries.d.ts.map +1 -0
- package/dist/disputes/queries.js +180 -0
- package/dist/disputes/queries.js.map +1 -0
- package/dist/disputes/resolve.d.ts +57 -0
- package/dist/disputes/resolve.d.ts.map +1 -0
- package/dist/disputes/resolve.js +171 -0
- package/dist/disputes/resolve.js.map +1 -0
- package/dist/disputes/stale.d.ts +98 -0
- package/dist/disputes/stale.d.ts.map +1 -0
- package/dist/disputes/stale.js +205 -0
- package/dist/disputes/stale.js.map +1 -0
- package/dist/disputes/types.d.ts +92 -0
- package/dist/disputes/types.d.ts.map +1 -0
- package/dist/disputes/types.js +100 -0
- package/dist/disputes/types.js.map +1 -0
- package/dist/git/push.d.ts +26 -0
- package/dist/git/push.d.ts.map +1 -0
- package/dist/git/push.js +97 -0
- package/dist/git/push.js.map +1 -0
- package/dist/git/status.d.ts +61 -0
- package/dist/git/status.d.ts.map +1 -0
- package/dist/git/status.js +251 -0
- package/dist/git/status.js.map +1 -0
- package/dist/hooks/events.d.ts +72 -0
- package/dist/hooks/events.d.ts.map +1 -0
- package/dist/hooks/events.js +120 -0
- package/dist/hooks/events.js.map +1 -0
- package/dist/hooks/index.d.ts +19 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +48 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/integration.d.ts +69 -0
- package/dist/hooks/integration.d.ts.map +1 -0
- package/dist/hooks/integration.js +179 -0
- package/dist/hooks/integration.js.map +1 -0
- package/dist/hooks/merge.d.ts +115 -0
- package/dist/hooks/merge.d.ts.map +1 -0
- package/dist/hooks/merge.js +161 -0
- package/dist/hooks/merge.js.map +1 -0
- package/dist/hooks/orchestrator.d.ts +115 -0
- package/dist/hooks/orchestrator.d.ts.map +1 -0
- package/dist/hooks/orchestrator.js +226 -0
- package/dist/hooks/orchestrator.js.map +1 -0
- package/dist/hooks/payload.d.ts +294 -0
- package/dist/hooks/payload.d.ts.map +1 -0
- package/dist/hooks/payload.js +267 -0
- package/dist/hooks/payload.js.map +1 -0
- package/dist/hooks/script-runner.d.ts +63 -0
- package/dist/hooks/script-runner.d.ts.map +1 -0
- package/dist/hooks/script-runner.js +221 -0
- package/dist/hooks/script-runner.js.map +1 -0
- package/dist/hooks/templates.d.ts +104 -0
- package/dist/hooks/templates.d.ts.map +1 -0
- package/dist/hooks/templates.js +327 -0
- package/dist/hooks/templates.js.map +1 -0
- package/dist/hooks/webhook-runner.d.ts +69 -0
- package/dist/hooks/webhook-runner.d.ts.map +1 -0
- package/dist/hooks/webhook-runner.js +208 -0
- package/dist/hooks/webhook-runner.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +281 -0
- package/dist/index.js.map +1 -0
- package/dist/locking/cleanup.d.ts +70 -0
- package/dist/locking/cleanup.d.ts.map +1 -0
- package/dist/locking/cleanup.js +157 -0
- package/dist/locking/cleanup.js.map +1 -0
- package/dist/locking/queries.d.ts +116 -0
- package/dist/locking/queries.d.ts.map +1 -0
- package/dist/locking/queries.js +255 -0
- package/dist/locking/queries.js.map +1 -0
- package/dist/locking/section-lock.d.ts +74 -0
- package/dist/locking/section-lock.d.ts.map +1 -0
- package/dist/locking/section-lock.js +207 -0
- package/dist/locking/section-lock.js.map +1 -0
- package/dist/locking/task-lock.d.ts +92 -0
- package/dist/locking/task-lock.d.ts.map +1 -0
- package/dist/locking/task-lock.js +246 -0
- package/dist/locking/task-lock.js.map +1 -0
- package/dist/migrations/index.d.ts +7 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +37 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/migrations/manifest.d.ts +92 -0
- package/dist/migrations/manifest.d.ts.map +1 -0
- package/dist/migrations/manifest.js +270 -0
- package/dist/migrations/manifest.js.map +1 -0
- package/dist/migrations/runner.d.ts +84 -0
- package/dist/migrations/runner.d.ts.map +1 -0
- package/dist/migrations/runner.js +351 -0
- package/dist/migrations/runner.js.map +1 -0
- package/dist/orchestrator/coder.d.ts +32 -0
- package/dist/orchestrator/coder.d.ts.map +1 -0
- package/dist/orchestrator/coder.js +174 -0
- package/dist/orchestrator/coder.js.map +1 -0
- package/dist/orchestrator/coordinator.d.ts +28 -0
- package/dist/orchestrator/coordinator.d.ts.map +1 -0
- package/dist/orchestrator/coordinator.js +256 -0
- package/dist/orchestrator/coordinator.js.map +1 -0
- package/dist/orchestrator/reviewer.d.ts +35 -0
- package/dist/orchestrator/reviewer.d.ts.map +1 -0
- package/dist/orchestrator/reviewer.js +241 -0
- package/dist/orchestrator/reviewer.js.map +1 -0
- package/dist/orchestrator/task-selector.d.ts +102 -0
- package/dist/orchestrator/task-selector.d.ts.map +1 -0
- package/dist/orchestrator/task-selector.js +341 -0
- package/dist/orchestrator/task-selector.js.map +1 -0
- package/dist/prompts/coder.d.ts +36 -0
- package/dist/prompts/coder.d.ts.map +1 -0
- package/dist/prompts/coder.js +315 -0
- package/dist/prompts/coder.js.map +1 -0
- package/dist/prompts/prompt-helpers.d.ts +51 -0
- package/dist/prompts/prompt-helpers.d.ts.map +1 -0
- package/dist/prompts/prompt-helpers.js +312 -0
- package/dist/prompts/prompt-helpers.js.map +1 -0
- package/dist/prompts/reviewer.d.ts +40 -0
- package/dist/prompts/reviewer.d.ts.map +1 -0
- package/dist/prompts/reviewer.js +438 -0
- package/dist/prompts/reviewer.js.map +1 -0
- package/dist/providers/api-models.d.ts +65 -0
- package/dist/providers/api-models.d.ts.map +1 -0
- package/dist/providers/api-models.js +323 -0
- package/dist/providers/api-models.js.map +1 -0
- package/dist/providers/claude.d.ts +53 -0
- package/dist/providers/claude.d.ts.map +1 -0
- package/dist/providers/claude.js +229 -0
- package/dist/providers/claude.js.map +1 -0
- package/dist/providers/codex.d.ts +53 -0
- package/dist/providers/codex.d.ts.map +1 -0
- package/dist/providers/codex.js +214 -0
- package/dist/providers/codex.js.map +1 -0
- package/dist/providers/gemini.d.ts +58 -0
- package/dist/providers/gemini.d.ts.map +1 -0
- package/dist/providers/gemini.js +242 -0
- package/dist/providers/gemini.js.map +1 -0
- package/dist/providers/index.d.ts +13 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +49 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/interface.d.ts +173 -0
- package/dist/providers/interface.d.ts.map +1 -0
- package/dist/providers/interface.js +96 -0
- package/dist/providers/interface.js.map +1 -0
- package/dist/providers/invocation-logger.d.ts +114 -0
- package/dist/providers/invocation-logger.d.ts.map +1 -0
- package/dist/providers/invocation-logger.js +298 -0
- package/dist/providers/invocation-logger.js.map +1 -0
- package/dist/providers/openai.d.ts +53 -0
- package/dist/providers/openai.d.ts.map +1 -0
- package/dist/providers/openai.js +232 -0
- package/dist/providers/openai.js.map +1 -0
- package/dist/providers/registry.d.ts +100 -0
- package/dist/providers/registry.d.ts.map +1 -0
- package/dist/providers/registry.js +178 -0
- package/dist/providers/registry.js.map +1 -0
- package/dist/runners/activity-log.d.ts +65 -0
- package/dist/runners/activity-log.d.ts.map +1 -0
- package/dist/runners/activity-log.js +148 -0
- package/dist/runners/activity-log.js.map +1 -0
- package/dist/runners/cron.d.ts +26 -0
- package/dist/runners/cron.d.ts.map +1 -0
- package/dist/runners/cron.js +176 -0
- package/dist/runners/cron.js.map +1 -0
- package/dist/runners/daemon.d.ts +71 -0
- package/dist/runners/daemon.d.ts.map +1 -0
- package/dist/runners/daemon.js +245 -0
- package/dist/runners/daemon.js.map +1 -0
- package/dist/runners/global-db.d.ts +31 -0
- package/dist/runners/global-db.d.ts.map +1 -0
- package/dist/runners/global-db.js +230 -0
- package/dist/runners/global-db.js.map +1 -0
- package/dist/runners/hang-detector.d.ts +38 -0
- package/dist/runners/hang-detector.d.ts.map +1 -0
- package/dist/runners/hang-detector.js +136 -0
- package/dist/runners/hang-detector.js.map +1 -0
- package/dist/runners/heartbeat.d.ts +39 -0
- package/dist/runners/heartbeat.d.ts.map +1 -0
- package/dist/runners/heartbeat.js +79 -0
- package/dist/runners/heartbeat.js.map +1 -0
- package/dist/runners/lock.d.ts +47 -0
- package/dist/runners/lock.d.ts.map +1 -0
- package/dist/runners/lock.js +150 -0
- package/dist/runners/lock.js.map +1 -0
- package/dist/runners/orchestrator-loop.d.ts +20 -0
- package/dist/runners/orchestrator-loop.d.ts.map +1 -0
- package/dist/runners/orchestrator-loop.js +285 -0
- package/dist/runners/orchestrator-loop.js.map +1 -0
- package/dist/runners/projects.d.ts +96 -0
- package/dist/runners/projects.d.ts.map +1 -0
- package/dist/runners/projects.js +255 -0
- package/dist/runners/projects.js.map +1 -0
- package/dist/runners/wakeup.d.ts +34 -0
- package/dist/runners/wakeup.d.ts.map +1 -0
- package/dist/runners/wakeup.js +291 -0
- package/dist/runners/wakeup.js.map +1 -0
- package/migrations/001_initial_schema.sql +106 -0
- package/migrations/002_add_commit_sha.sql +12 -0
- package/migrations/003_add_section_priority.sql +13 -0
- package/migrations/004_add_section_dependencies.sql +18 -0
- package/migrations/005_add_audit_actor_model.sql +10 -0
- package/migrations/006_add_task_invocations.sql +33 -0
- package/migrations/007_add_file_anchor.sql +14 -0
- package/migrations/manifest.json +62 -0
- package/package.json +49 -0
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Hook Integration
|
|
4
|
+
*
|
|
5
|
+
* Helper functions to trigger hooks from CLI commands.
|
|
6
|
+
* Loads and merges global/project hooks, then executes them.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.triggerTaskCreated = triggerTaskCreated;
|
|
10
|
+
exports.triggerTaskUpdated = triggerTaskUpdated;
|
|
11
|
+
exports.triggerTaskCompleted = triggerTaskCompleted;
|
|
12
|
+
exports.triggerTaskFailed = triggerTaskFailed;
|
|
13
|
+
exports.triggerSectionCompleted = triggerSectionCompleted;
|
|
14
|
+
exports.triggerProjectCompleted = triggerProjectCompleted;
|
|
15
|
+
exports.shouldSkipHooks = shouldSkipHooks;
|
|
16
|
+
exports.triggerHooksSafely = triggerHooksSafely;
|
|
17
|
+
const node_path_1 = require("node:path");
|
|
18
|
+
const loader_js_1 = require("../config/loader.js");
|
|
19
|
+
const merge_js_1 = require("./merge.js");
|
|
20
|
+
const orchestrator_js_1 = require("./orchestrator.js");
|
|
21
|
+
const payload_js_1 = require("./payload.js");
|
|
22
|
+
/**
|
|
23
|
+
* Load and merge hooks from global and project configs
|
|
24
|
+
*/
|
|
25
|
+
async function loadHooks(projectPath) {
|
|
26
|
+
const globalConfigPath = (0, loader_js_1.getGlobalConfigPath)();
|
|
27
|
+
const projectConfigPath = (0, loader_js_1.getProjectConfigPath)(projectPath);
|
|
28
|
+
let globalHooks = [];
|
|
29
|
+
let projectHooks = [];
|
|
30
|
+
try {
|
|
31
|
+
const globalConfig = (0, loader_js_1.loadConfigFile)(globalConfigPath);
|
|
32
|
+
globalHooks = globalConfig.hooks || [];
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
// Global config might not exist
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
const projectConfig = (0, loader_js_1.loadConfigFile)(projectConfigPath);
|
|
39
|
+
projectHooks = projectConfig.hooks || [];
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
// Project config might not exist
|
|
43
|
+
}
|
|
44
|
+
return (0, merge_js_1.mergeHooks)(globalHooks, projectHooks);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Get project context for current directory
|
|
48
|
+
*/
|
|
49
|
+
function getProjectContext(projectPath) {
|
|
50
|
+
const path = projectPath || process.cwd();
|
|
51
|
+
return {
|
|
52
|
+
name: (0, node_path_1.basename)(path),
|
|
53
|
+
path,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Convert database task to payload task data
|
|
58
|
+
*/
|
|
59
|
+
function taskToPayloadData(task) {
|
|
60
|
+
return {
|
|
61
|
+
id: task.id,
|
|
62
|
+
title: task.title,
|
|
63
|
+
status: task.status,
|
|
64
|
+
section: null, // Task interface doesn't have section_name
|
|
65
|
+
sectionId: task.section_id || null,
|
|
66
|
+
sourceFile: task.source_file || null,
|
|
67
|
+
rejectionCount: task.rejection_count || 0,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Execute hooks for an event
|
|
72
|
+
*/
|
|
73
|
+
async function executeHooks(event, payload, options = {}) {
|
|
74
|
+
const hooks = await loadHooks(payload.project.path);
|
|
75
|
+
const orchestrator = new orchestrator_js_1.HookOrchestrator(hooks, {
|
|
76
|
+
verbose: options.verbose ?? false,
|
|
77
|
+
continueOnError: options.continueOnError ?? true,
|
|
78
|
+
});
|
|
79
|
+
return await orchestrator.executeHooksForEvent(event, payload);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Trigger task.created hooks
|
|
83
|
+
*/
|
|
84
|
+
async function triggerTaskCreated(task, options = {}) {
|
|
85
|
+
const project = getProjectContext(options.projectPath);
|
|
86
|
+
const taskData = taskToPayloadData(task);
|
|
87
|
+
const payload = (0, payload_js_1.createTaskCreatedPayload)(taskData, project);
|
|
88
|
+
return await executeHooks('task.created', payload, options);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Trigger task.updated hooks
|
|
92
|
+
*/
|
|
93
|
+
async function triggerTaskUpdated(task, previousStatus, options = {}) {
|
|
94
|
+
const project = getProjectContext(options.projectPath);
|
|
95
|
+
const taskData = taskToPayloadData(task);
|
|
96
|
+
if (previousStatus) {
|
|
97
|
+
taskData.previousStatus = previousStatus;
|
|
98
|
+
}
|
|
99
|
+
const payload = (0, payload_js_1.createTaskUpdatedPayload)(taskData, project);
|
|
100
|
+
return await executeHooks('task.updated', payload, options);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Trigger task.completed hooks
|
|
104
|
+
*/
|
|
105
|
+
async function triggerTaskCompleted(task, options = {}) {
|
|
106
|
+
const project = getProjectContext(options.projectPath);
|
|
107
|
+
const taskData = taskToPayloadData(task);
|
|
108
|
+
const payload = (0, payload_js_1.createTaskCompletedPayload)(taskData, project);
|
|
109
|
+
return await executeHooks('task.completed', payload, options);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Trigger task.failed hooks
|
|
113
|
+
*/
|
|
114
|
+
async function triggerTaskFailed(task, maxRejections, options = {}) {
|
|
115
|
+
const project = getProjectContext(options.projectPath);
|
|
116
|
+
const taskData = taskToPayloadData(task);
|
|
117
|
+
const payload = (0, payload_js_1.createTaskFailedPayload)(taskData, project, maxRejections);
|
|
118
|
+
return await executeHooks('task.failed', payload, options);
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Trigger section.completed hooks
|
|
122
|
+
*/
|
|
123
|
+
async function triggerSectionCompleted(section, tasks, options = {}) {
|
|
124
|
+
const project = getProjectContext(options.projectPath);
|
|
125
|
+
const payload = (0, payload_js_1.createSectionCompletedPayload)(section, tasks, project);
|
|
126
|
+
return await executeHooks('section.completed', payload, options);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Trigger project.completed hooks
|
|
130
|
+
*/
|
|
131
|
+
async function triggerProjectCompleted(summary, options = {}) {
|
|
132
|
+
const project = getProjectContext(options.projectPath);
|
|
133
|
+
const payload = (0, payload_js_1.createProjectCompletedPayload)(project, summary);
|
|
134
|
+
return await executeHooks('project.completed', payload, options);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Check if hooks should be skipped
|
|
138
|
+
*
|
|
139
|
+
* Checks environment variable and CLI flags
|
|
140
|
+
*/
|
|
141
|
+
function shouldSkipHooks(flags) {
|
|
142
|
+
// Check flag
|
|
143
|
+
if (flags?.noHooks) {
|
|
144
|
+
return true;
|
|
145
|
+
}
|
|
146
|
+
// Check environment variable
|
|
147
|
+
const envVar = process.env.STEROIDS_NO_HOOKS;
|
|
148
|
+
if (envVar && (envVar === '1' || envVar.toLowerCase() === 'true')) {
|
|
149
|
+
return true;
|
|
150
|
+
}
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Silently trigger hooks (don't throw on failure)
|
|
155
|
+
*
|
|
156
|
+
* Logs errors but doesn't block the main operation
|
|
157
|
+
*/
|
|
158
|
+
async function triggerHooksSafely(triggerFn, options = {}) {
|
|
159
|
+
try {
|
|
160
|
+
const results = await triggerFn();
|
|
161
|
+
// Log failures if verbose
|
|
162
|
+
if (options.verbose) {
|
|
163
|
+
const failed = results.filter((r) => !r.success);
|
|
164
|
+
if (failed.length > 0) {
|
|
165
|
+
console.error(`Warning: ${failed.length} hook(s) failed:`);
|
|
166
|
+
for (const result of failed) {
|
|
167
|
+
console.error(` - ${result.hookName}: ${result.error}`);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
catch (error) {
|
|
173
|
+
// Silently fail - don't block main operation
|
|
174
|
+
if (options.verbose) {
|
|
175
|
+
console.error(`Warning: Hook execution failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=integration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integration.js","sourceRoot":"","sources":["../../src/hooks/integration.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA8FH,gDASC;AAKD,gDAeC;AAKD,oDASC;AAKD,8CAUC;AAKD,0DASC;AAKD,0DAQC;AAOD,0CAaC;AAOD,gDAuBC;AAnOD,yCAAqC;AACrC,mDAAgG;AAChG,yCAAyD;AACzD,uDAA+E;AAG/E,6CASsB;AAGtB;;GAEG;AACH,KAAK,UAAU,SAAS,CAAC,WAAmB;IAC1C,MAAM,gBAAgB,GAAG,IAAA,+BAAmB,GAAE,CAAC;IAC/C,MAAM,iBAAiB,GAAG,IAAA,gCAAoB,EAAC,WAAW,CAAC,CAAC;IAE5D,IAAI,WAAW,GAAiB,EAAE,CAAC;IACnC,IAAI,YAAY,GAAiB,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAA,0BAAc,EAAC,gBAAgB,CAAC,CAAC;QACtD,WAAW,GAAI,YAAY,CAAC,KAAsB,IAAI,EAAE,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,gCAAgC;IAClC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,IAAA,0BAAc,EAAC,iBAAiB,CAAC,CAAC;QACxD,YAAY,GAAI,aAAa,CAAC,KAAsB,IAAI,EAAE,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;IAED,OAAO,IAAA,qBAAU,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,WAAoB;IAC7C,MAAM,IAAI,GAAG,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1C,OAAO;QACL,IAAI,EAAE,IAAA,oBAAQ,EAAC,IAAI,CAAC;QACpB,IAAI;KACL,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,IAAU;IACnC,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAA4B;QACzC,OAAO,EAAE,IAAI,EAAE,2CAA2C;QAC1D,SAAS,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;QAClC,UAAU,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI;QACpC,cAAc,EAAE,IAAI,CAAC,eAAe,IAAI,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,YAAY,CACzB,KAAgB,EAChB,OAAoB,EACpB,UAA4D,EAAE;IAE9D,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpD,MAAM,YAAY,GAAG,IAAI,kCAAgB,CAAC,KAAK,EAAE;QAC/C,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;QACjC,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;KACjD,CAAC,CAAC;IAEH,OAAO,MAAM,YAAY,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACtC,IAAU,EACV,UAAuD,EAAE;IAEzD,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAA,qCAAwB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE5D,OAAO,MAAM,YAAY,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACtC,IAAU,EACV,cAAuB,EACvB,UAAuD,EAAE;IAEzD,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAEzC,IAAI,cAAc,EAAE,CAAC;QACnB,QAAQ,CAAC,cAAc,GAAG,cAAoC,CAAC;IACjE,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,qCAAwB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE5D,OAAO,MAAM,YAAY,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,oBAAoB,CACxC,IAAU,EACV,UAAuD,EAAE;IAEzD,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAA,uCAA0B,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE9D,OAAO,MAAM,YAAY,CAAC,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,iBAAiB,CACrC,IAAU,EACV,aAAqB,EACrB,UAAuD,EAAE;IAEzD,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAA,oCAAuB,EAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAE1E,OAAO,MAAM,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,uBAAuB,CAC3C,OAAoB,EACpB,KAAoB,EACpB,UAAuD,EAAE;IAEzD,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,IAAA,0CAA6B,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAEvE,OAAO,MAAM,YAAY,CAAC,mBAAmB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,uBAAuB,CAC3C,OAAuB,EACvB,UAAuD,EAAE;IAEzD,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,IAAA,0CAA6B,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEhE,OAAO,MAAM,YAAY,CAAC,mBAAmB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,KAA6B;IAC3D,aAAa;IACb,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6BAA6B;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC7C,IAAI,MAAM,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,kBAAkB,CACtC,SAA+C,EAC/C,UAAiC,EAAE;IAEnC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,SAAS,EAAE,CAAC;QAElC,0BAA0B;QAC1B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,YAAY,MAAM,CAAC,MAAM,kBAAkB,CAAC,CAAC;gBAC3D,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;oBAC5B,OAAO,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,6CAA6C;QAC7C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7G,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook Configuration Merge
|
|
3
|
+
*
|
|
4
|
+
* Merges global hooks (~/.steroids/config.yaml) with project hooks (.steroids/config.yaml).
|
|
5
|
+
* Project hooks can override global hooks by name or disable them with enabled: false.
|
|
6
|
+
*/
|
|
7
|
+
import type { HookEvent } from './events.js';
|
|
8
|
+
import type { ScriptHookConfig } from './script-runner.js';
|
|
9
|
+
import type { WebhookHookConfig } from './webhook-runner.js';
|
|
10
|
+
/**
|
|
11
|
+
* Hook type discriminator
|
|
12
|
+
*/
|
|
13
|
+
export type HookType = 'script' | 'webhook';
|
|
14
|
+
/**
|
|
15
|
+
* Base hook configuration (common fields)
|
|
16
|
+
*/
|
|
17
|
+
export interface BaseHookConfig {
|
|
18
|
+
/** Unique hook name */
|
|
19
|
+
name: string;
|
|
20
|
+
/** Event that triggers this hook */
|
|
21
|
+
event: HookEvent;
|
|
22
|
+
/** Hook type */
|
|
23
|
+
type: HookType;
|
|
24
|
+
/** Enable/disable this hook */
|
|
25
|
+
enabled?: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Script hook configuration (from config.yaml)
|
|
29
|
+
*/
|
|
30
|
+
export interface ScriptHookYaml extends BaseHookConfig {
|
|
31
|
+
type: 'script';
|
|
32
|
+
command: string;
|
|
33
|
+
args?: string[];
|
|
34
|
+
cwd?: string;
|
|
35
|
+
timeout?: number | string;
|
|
36
|
+
async?: boolean;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Webhook hook configuration (from config.yaml)
|
|
40
|
+
*/
|
|
41
|
+
export interface WebhookHookYaml extends BaseHookConfig {
|
|
42
|
+
type: 'webhook';
|
|
43
|
+
url: string;
|
|
44
|
+
method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
45
|
+
headers?: Record<string, string>;
|
|
46
|
+
body?: Record<string, unknown> | string;
|
|
47
|
+
timeout?: number | string;
|
|
48
|
+
retry?: number;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Union of all hook configurations
|
|
52
|
+
*/
|
|
53
|
+
export type HookConfig = ScriptHookYaml | WebhookHookYaml;
|
|
54
|
+
/**
|
|
55
|
+
* Merge global and project hooks
|
|
56
|
+
*
|
|
57
|
+
* Rules:
|
|
58
|
+
* 1. Project hooks with same name as global hooks override them completely
|
|
59
|
+
* 2. Project hooks with enabled: false disable global hooks with same name
|
|
60
|
+
* 3. All other hooks are included
|
|
61
|
+
*
|
|
62
|
+
* @param globalHooks - Hooks from ~/.steroids/config.yaml
|
|
63
|
+
* @param projectHooks - Hooks from .steroids/config.yaml
|
|
64
|
+
* @returns Merged list of enabled hooks
|
|
65
|
+
*/
|
|
66
|
+
export declare function mergeHooks(globalHooks?: HookConfig[], projectHooks?: HookConfig[]): HookConfig[];
|
|
67
|
+
/**
|
|
68
|
+
* Filter hooks by event
|
|
69
|
+
*
|
|
70
|
+
* @param hooks - List of hooks
|
|
71
|
+
* @param event - Event name to filter by
|
|
72
|
+
* @returns Hooks matching the event
|
|
73
|
+
*/
|
|
74
|
+
export declare function filterHooksByEvent(hooks: HookConfig[], event: HookEvent): HookConfig[];
|
|
75
|
+
/**
|
|
76
|
+
* Find hook by name
|
|
77
|
+
*
|
|
78
|
+
* @param hooks - List of hooks
|
|
79
|
+
* @param name - Hook name
|
|
80
|
+
* @returns Hook if found, undefined otherwise
|
|
81
|
+
*/
|
|
82
|
+
export declare function findHookByName(hooks: HookConfig[], name: string): HookConfig | undefined;
|
|
83
|
+
/**
|
|
84
|
+
* Validate hook configuration
|
|
85
|
+
*
|
|
86
|
+
* @param hook - Hook configuration
|
|
87
|
+
* @returns Validation result with errors
|
|
88
|
+
*/
|
|
89
|
+
export declare function validateHook(hook: HookConfig): {
|
|
90
|
+
valid: boolean;
|
|
91
|
+
errors: string[];
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Convert script hook config from YAML format to runner format
|
|
95
|
+
*/
|
|
96
|
+
export declare function toScriptRunnerConfig(hook: ScriptHookYaml): ScriptHookConfig;
|
|
97
|
+
/**
|
|
98
|
+
* Convert webhook hook config from YAML format to runner format
|
|
99
|
+
*/
|
|
100
|
+
export declare function toWebhookRunnerConfig(hook: WebhookHookYaml): WebhookHookConfig;
|
|
101
|
+
/**
|
|
102
|
+
* Group hooks by event
|
|
103
|
+
*
|
|
104
|
+
* @param hooks - List of hooks
|
|
105
|
+
* @returns Map of event -> hooks
|
|
106
|
+
*/
|
|
107
|
+
export declare function groupHooksByEvent(hooks: HookConfig[]): Map<HookEvent, HookConfig[]>;
|
|
108
|
+
/**
|
|
109
|
+
* Get all unique events that have hooks registered
|
|
110
|
+
*
|
|
111
|
+
* @param hooks - List of hooks
|
|
112
|
+
* @returns Array of unique event names
|
|
113
|
+
*/
|
|
114
|
+
export declare function getEventsWithHooks(hooks: HookConfig[]): HookEvent[];
|
|
115
|
+
//# sourceMappingURL=merge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/hooks/merge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,KAAK,EAAE,SAAS,CAAC;IACjB,gBAAgB;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf,+BAA+B;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,eAAe,CAAC;AAE1D;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CACxB,WAAW,GAAE,UAAU,EAAO,EAC9B,YAAY,GAAE,UAAU,EAAO,GAC9B,UAAU,EAAE,CAsBd;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS,GAAG,UAAU,EAAE,CAEtF;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAExF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CA+BnF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,CAS3E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,eAAe,GAAG,iBAAiB,CAU9E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAYnF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,SAAS,EAAE,CAUnE"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Hook Configuration Merge
|
|
4
|
+
*
|
|
5
|
+
* Merges global hooks (~/.steroids/config.yaml) with project hooks (.steroids/config.yaml).
|
|
6
|
+
* Project hooks can override global hooks by name or disable them with enabled: false.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.mergeHooks = mergeHooks;
|
|
10
|
+
exports.filterHooksByEvent = filterHooksByEvent;
|
|
11
|
+
exports.findHookByName = findHookByName;
|
|
12
|
+
exports.validateHook = validateHook;
|
|
13
|
+
exports.toScriptRunnerConfig = toScriptRunnerConfig;
|
|
14
|
+
exports.toWebhookRunnerConfig = toWebhookRunnerConfig;
|
|
15
|
+
exports.groupHooksByEvent = groupHooksByEvent;
|
|
16
|
+
exports.getEventsWithHooks = getEventsWithHooks;
|
|
17
|
+
/**
|
|
18
|
+
* Merge global and project hooks
|
|
19
|
+
*
|
|
20
|
+
* Rules:
|
|
21
|
+
* 1. Project hooks with same name as global hooks override them completely
|
|
22
|
+
* 2. Project hooks with enabled: false disable global hooks with same name
|
|
23
|
+
* 3. All other hooks are included
|
|
24
|
+
*
|
|
25
|
+
* @param globalHooks - Hooks from ~/.steroids/config.yaml
|
|
26
|
+
* @param projectHooks - Hooks from .steroids/config.yaml
|
|
27
|
+
* @returns Merged list of enabled hooks
|
|
28
|
+
*/
|
|
29
|
+
function mergeHooks(globalHooks = [], projectHooks = []) {
|
|
30
|
+
const merged = new Map();
|
|
31
|
+
// Add all global hooks first
|
|
32
|
+
for (const hook of globalHooks) {
|
|
33
|
+
if (hook.enabled !== false) {
|
|
34
|
+
merged.set(hook.name, hook);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
// Process project hooks
|
|
38
|
+
for (const hook of projectHooks) {
|
|
39
|
+
if (hook.enabled === false) {
|
|
40
|
+
// Explicitly disabled - remove from merged
|
|
41
|
+
merged.delete(hook.name);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
// Override global hook with same name, or add new hook
|
|
45
|
+
merged.set(hook.name, hook);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return Array.from(merged.values());
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Filter hooks by event
|
|
52
|
+
*
|
|
53
|
+
* @param hooks - List of hooks
|
|
54
|
+
* @param event - Event name to filter by
|
|
55
|
+
* @returns Hooks matching the event
|
|
56
|
+
*/
|
|
57
|
+
function filterHooksByEvent(hooks, event) {
|
|
58
|
+
return hooks.filter((hook) => hook.event === event && hook.enabled !== false);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Find hook by name
|
|
62
|
+
*
|
|
63
|
+
* @param hooks - List of hooks
|
|
64
|
+
* @param name - Hook name
|
|
65
|
+
* @returns Hook if found, undefined otherwise
|
|
66
|
+
*/
|
|
67
|
+
function findHookByName(hooks, name) {
|
|
68
|
+
return hooks.find((hook) => hook.name === name);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Validate hook configuration
|
|
72
|
+
*
|
|
73
|
+
* @param hook - Hook configuration
|
|
74
|
+
* @returns Validation result with errors
|
|
75
|
+
*/
|
|
76
|
+
function validateHook(hook) {
|
|
77
|
+
const errors = [];
|
|
78
|
+
if (!hook.name) {
|
|
79
|
+
errors.push('Missing required field: name');
|
|
80
|
+
}
|
|
81
|
+
if (!hook.event) {
|
|
82
|
+
errors.push('Missing required field: event');
|
|
83
|
+
}
|
|
84
|
+
if (!hook.type) {
|
|
85
|
+
errors.push('Missing required field: type');
|
|
86
|
+
}
|
|
87
|
+
if (hook.type === 'script') {
|
|
88
|
+
if (!hook.command) {
|
|
89
|
+
errors.push('Missing required field for script hook: command');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (hook.type === 'webhook') {
|
|
93
|
+
if (!hook.url) {
|
|
94
|
+
errors.push('Missing required field for webhook hook: url');
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
valid: errors.length === 0,
|
|
99
|
+
errors,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Convert script hook config from YAML format to runner format
|
|
104
|
+
*/
|
|
105
|
+
function toScriptRunnerConfig(hook) {
|
|
106
|
+
return {
|
|
107
|
+
name: hook.name,
|
|
108
|
+
command: hook.command,
|
|
109
|
+
args: hook.args,
|
|
110
|
+
cwd: hook.cwd,
|
|
111
|
+
timeout: hook.timeout,
|
|
112
|
+
async: hook.async,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Convert webhook hook config from YAML format to runner format
|
|
117
|
+
*/
|
|
118
|
+
function toWebhookRunnerConfig(hook) {
|
|
119
|
+
return {
|
|
120
|
+
name: hook.name,
|
|
121
|
+
url: hook.url,
|
|
122
|
+
method: hook.method,
|
|
123
|
+
headers: hook.headers,
|
|
124
|
+
body: hook.body,
|
|
125
|
+
timeout: hook.timeout,
|
|
126
|
+
retry: hook.retry,
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Group hooks by event
|
|
131
|
+
*
|
|
132
|
+
* @param hooks - List of hooks
|
|
133
|
+
* @returns Map of event -> hooks
|
|
134
|
+
*/
|
|
135
|
+
function groupHooksByEvent(hooks) {
|
|
136
|
+
const grouped = new Map();
|
|
137
|
+
for (const hook of hooks) {
|
|
138
|
+
if (hook.enabled === false)
|
|
139
|
+
continue;
|
|
140
|
+
const existing = grouped.get(hook.event) || [];
|
|
141
|
+
existing.push(hook);
|
|
142
|
+
grouped.set(hook.event, existing);
|
|
143
|
+
}
|
|
144
|
+
return grouped;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Get all unique events that have hooks registered
|
|
148
|
+
*
|
|
149
|
+
* @param hooks - List of hooks
|
|
150
|
+
* @returns Array of unique event names
|
|
151
|
+
*/
|
|
152
|
+
function getEventsWithHooks(hooks) {
|
|
153
|
+
const events = new Set();
|
|
154
|
+
for (const hook of hooks) {
|
|
155
|
+
if (hook.enabled !== false) {
|
|
156
|
+
events.add(hook.event);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return Array.from(events);
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=merge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/hooks/merge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook Orchestrator
|
|
3
|
+
*
|
|
4
|
+
* Coordinates hook execution by:
|
|
5
|
+
* 1. Loading hooks from config
|
|
6
|
+
* 2. Matching events to hooks
|
|
7
|
+
* 3. Executing matching hooks (script or webhook)
|
|
8
|
+
* 4. Logging execution results
|
|
9
|
+
* 5. Handling failures gracefully (non-blocking)
|
|
10
|
+
*/
|
|
11
|
+
import type { HookEvent } from './events.js';
|
|
12
|
+
import type { HookPayload } from './payload.js';
|
|
13
|
+
import type { HookConfig } from './merge.js';
|
|
14
|
+
import { type ScriptResult } from './script-runner.js';
|
|
15
|
+
import { type WebhookResult } from './webhook-runner.js';
|
|
16
|
+
/**
|
|
17
|
+
* Hook execution result
|
|
18
|
+
*/
|
|
19
|
+
export interface HookExecutionResult {
|
|
20
|
+
/** Hook name */
|
|
21
|
+
hookName: string;
|
|
22
|
+
/** Hook type */
|
|
23
|
+
hookType: 'script' | 'webhook';
|
|
24
|
+
/** Whether execution succeeded */
|
|
25
|
+
success: boolean;
|
|
26
|
+
/** Execution duration in milliseconds */
|
|
27
|
+
duration: number;
|
|
28
|
+
/** Error message if failed */
|
|
29
|
+
error?: string;
|
|
30
|
+
/** Script-specific result */
|
|
31
|
+
scriptResult?: ScriptResult;
|
|
32
|
+
/** Webhook-specific result */
|
|
33
|
+
webhookResult?: WebhookResult;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Hook orchestrator configuration
|
|
37
|
+
*/
|
|
38
|
+
export interface OrchestratorConfig {
|
|
39
|
+
/** Whether to log hook execution details */
|
|
40
|
+
verbose?: boolean;
|
|
41
|
+
/** Whether to continue on hook failure (default true) */
|
|
42
|
+
continueOnError?: boolean;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Hook Orchestrator
|
|
46
|
+
*
|
|
47
|
+
* Manages hook lifecycle and execution
|
|
48
|
+
*/
|
|
49
|
+
export declare class HookOrchestrator {
|
|
50
|
+
private hooks;
|
|
51
|
+
private config;
|
|
52
|
+
constructor(hooks?: HookConfig[], config?: OrchestratorConfig);
|
|
53
|
+
/**
|
|
54
|
+
* Load hooks from configuration
|
|
55
|
+
*/
|
|
56
|
+
setHooks(hooks: HookConfig[]): void;
|
|
57
|
+
/**
|
|
58
|
+
* Get all loaded hooks
|
|
59
|
+
*/
|
|
60
|
+
getHooks(): HookConfig[];
|
|
61
|
+
/**
|
|
62
|
+
* Get hooks for a specific event
|
|
63
|
+
*/
|
|
64
|
+
getHooksForEvent(event: HookEvent): HookConfig[];
|
|
65
|
+
/**
|
|
66
|
+
* Execute all hooks for an event
|
|
67
|
+
*
|
|
68
|
+
* @param event - Event name
|
|
69
|
+
* @param payload - Event payload
|
|
70
|
+
* @returns Array of execution results
|
|
71
|
+
*/
|
|
72
|
+
executeHooksForEvent(event: HookEvent, payload: HookPayload): Promise<HookExecutionResult[]>;
|
|
73
|
+
/**
|
|
74
|
+
* Execute a single hook
|
|
75
|
+
*/
|
|
76
|
+
private executeHook;
|
|
77
|
+
/**
|
|
78
|
+
* Execute a script hook
|
|
79
|
+
*/
|
|
80
|
+
private executeScriptHook;
|
|
81
|
+
/**
|
|
82
|
+
* Execute a webhook hook
|
|
83
|
+
*/
|
|
84
|
+
private executeWebhookHook;
|
|
85
|
+
/**
|
|
86
|
+
* Validate all loaded hooks
|
|
87
|
+
*
|
|
88
|
+
* @returns Validation results for each hook
|
|
89
|
+
*/
|
|
90
|
+
validateAllHooks(): Array<{
|
|
91
|
+
hook: string;
|
|
92
|
+
valid: boolean;
|
|
93
|
+
errors: string[];
|
|
94
|
+
}>;
|
|
95
|
+
/**
|
|
96
|
+
* Get statistics about loaded hooks
|
|
97
|
+
*/
|
|
98
|
+
getStats(): {
|
|
99
|
+
total: number;
|
|
100
|
+
enabled: number;
|
|
101
|
+
disabled: number;
|
|
102
|
+
byType: Record<string, number>;
|
|
103
|
+
byEvent: Record<string, number>;
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Create a hook orchestrator from global and project hooks
|
|
108
|
+
*
|
|
109
|
+
* @param globalHooks - Hooks from ~/.steroids/config.yaml
|
|
110
|
+
* @param projectHooks - Hooks from .steroids/config.yaml
|
|
111
|
+
* @param config - Orchestrator configuration
|
|
112
|
+
* @returns Configured hook orchestrator
|
|
113
|
+
*/
|
|
114
|
+
export declare function createOrchestrator(globalHooks: HookConfig[], projectHooks: HookConfig[], config?: OrchestratorConfig): HookOrchestrator;
|
|
115
|
+
//# sourceMappingURL=orchestrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/hooks/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAmC,MAAM,YAAY,CAAC;AAO9E,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB;IAChB,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,8BAA8B;IAC9B,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4CAA4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yDAAyD;IACzD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,MAAM,CAAqB;gBAEvB,KAAK,GAAE,UAAU,EAAO,EAAE,MAAM,GAAE,kBAAuB;IAQrE;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI;IAInC;;OAEG;IACH,QAAQ,IAAI,UAAU,EAAE;IAIxB;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,EAAE;IAIhD;;;;;;OAMG;IACG,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IA4ElG;;OAEG;YACW,WAAW;IAkBzB;;OAEG;YACW,iBAAiB;IAiB/B;;OAEG;YACW,kBAAkB;IAiBhC;;;;OAIG;IACH,gBAAgB,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAW7E;;OAEG;IACH,QAAQ,IAAI;QACV,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC;CAsBF;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,UAAU,EAAE,EACzB,YAAY,EAAE,UAAU,EAAE,EAC1B,MAAM,CAAC,EAAE,kBAAkB,GAC1B,gBAAgB,CAIlB"}
|