agent-pipeline 0.1.0 → 0.1.2
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/CLAUDE.md +4 -3
- package/{license → LICENSE} +1 -1
- package/README.md +120 -55
- package/dist/cli/commands/agent/info.js +1 -1
- package/dist/cli/commands/agent/info.js.map +1 -1
- package/dist/cli/commands/agent/list.js +1 -1
- package/dist/cli/commands/agent/list.js.map +1 -1
- package/dist/cli/commands/agent/pull.d.ts +1 -0
- package/dist/cli/commands/agent/pull.d.ts.map +1 -1
- package/dist/cli/commands/agent/pull.js +67 -44
- package/dist/cli/commands/agent/pull.js.map +1 -1
- package/dist/cli/commands/cleanup.d.ts +4 -0
- package/dist/cli/commands/cleanup.d.ts.map +1 -1
- package/dist/cli/commands/cleanup.js +197 -37
- package/dist/cli/commands/cleanup.js.map +1 -1
- package/dist/cli/commands/history.d.ts.map +1 -1
- package/dist/cli/commands/history.js +3 -22
- package/dist/cli/commands/history.js.map +1 -1
- package/dist/cli/commands/hooks.d.ts +10 -0
- package/dist/cli/commands/hooks.d.ts.map +1 -0
- package/dist/cli/commands/hooks.js +88 -0
- package/dist/cli/commands/hooks.js.map +1 -0
- package/dist/cli/commands/init.d.ts +1 -6
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +169 -88
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/loop-context.d.ts +2 -0
- package/dist/cli/commands/loop-context.d.ts.map +1 -0
- package/dist/cli/commands/loop-context.js +88 -0
- package/dist/cli/commands/loop-context.js.map +1 -0
- package/dist/cli/commands/pipeline/create.d.ts.map +1 -1
- package/dist/cli/commands/pipeline/create.js +156 -68
- package/dist/cli/commands/pipeline/create.js.map +1 -1
- package/dist/cli/commands/run.d.ts +1 -1
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +29 -5
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/schema.d.ts +9 -0
- package/dist/cli/commands/schema.d.ts.map +1 -0
- package/dist/cli/commands/schema.js +541 -0
- package/dist/cli/commands/schema.js.map +1 -0
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +0 -6
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/help/index.d.ts +6 -0
- package/dist/cli/help/index.d.ts.map +1 -0
- package/dist/cli/help/index.js +538 -0
- package/dist/cli/help/index.js.map +1 -0
- package/dist/cli/help/types.d.ts +22 -0
- package/dist/cli/help/types.d.ts.map +1 -0
- package/dist/cli/help/types.js +2 -0
- package/dist/cli/help/types.js.map +1 -0
- package/dist/cli/hooks.d.ts +5 -1
- package/dist/cli/hooks.d.ts.map +1 -1
- package/dist/cli/hooks.js +106 -12
- package/dist/cli/hooks.js.map +1 -1
- package/dist/cli/templates/agents/code-review-agents/code-reviewer.md +46 -0
- package/dist/cli/templates/agents/code-review-agents/memory-doc-updater.md +189 -0
- package/dist/cli/templates/agents/code-review-agents/quality-checker.md +52 -0
- package/dist/cli/templates/agents/frontend-agents/brutalist_purist.md +563 -0
- package/dist/cli/templates/agents/frontend-agents/cyberpunk_hacker.md +824 -0
- package/dist/cli/templates/agents/frontend-agents/frontend-pipeline-ref.md +32 -0
- package/dist/cli/templates/agents/frontend-agents/indie_game_dev.md +715 -0
- package/dist/cli/templates/agents/frontend-agents/luxury_editorial.md +628 -0
- package/dist/cli/templates/agents/frontend-agents/product_owner.md +159 -0
- package/dist/cli/templates/agents/frontend-agents/retro_90s_webmaster.md +385 -0
- package/dist/cli/templates/agents/frontend-agents/showcase.md +362 -0
- package/dist/cli/templates/agents/frontend-agents/swiss_modernist.md +716 -0
- package/dist/cli/templates/agents/loop-agents/socratic-explorer.md +91 -0
- package/dist/cli/templates/instructions/handover.md +40 -0
- package/dist/cli/templates/instructions/loop.md +39 -0
- package/dist/cli/templates/pipelines/front-end-parallel-example.yml +81 -0
- package/dist/cli/templates/pipelines/loop-example.yml +25 -0
- package/dist/cli/templates/pipelines/post-commit-example.yml +49 -58
- package/dist/cli/templates/schema/pipeline-config.schema.json +400 -0
- package/dist/cli/templates/schema/pipeline-config.schema.yaml +302 -0
- package/dist/cli/utils/agent-importer.d.ts +1 -0
- package/dist/cli/utils/agent-importer.d.ts.map +1 -1
- package/dist/cli/utils/agent-importer.js +67 -0
- package/dist/cli/utils/agent-importer.js.map +1 -1
- package/dist/cli/utils/interactive-prompts.d.ts +4 -0
- package/dist/cli/utils/interactive-prompts.d.ts.map +1 -1
- package/dist/cli/utils/interactive-prompts.js +59 -13
- package/dist/cli/utils/interactive-prompts.js.map +1 -1
- package/dist/config/pipeline-loader.d.ts +4 -1
- package/dist/config/pipeline-loader.d.ts.map +1 -1
- package/dist/config/pipeline-loader.js +58 -0
- package/dist/config/pipeline-loader.js.map +1 -1
- package/dist/config/schema.d.ts +64 -35
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/core/abort-controller.d.ts +16 -0
- package/dist/core/abort-controller.d.ts.map +1 -0
- package/dist/core/abort-controller.js +52 -0
- package/dist/core/abort-controller.js.map +1 -0
- package/dist/core/agent-query-runner.d.ts +0 -1
- package/dist/core/agent-query-runner.d.ts.map +1 -1
- package/dist/core/agent-query-runner.js +0 -22
- package/dist/core/agent-query-runner.js.map +1 -1
- package/dist/core/agent-runtimes/claude-code-headless-runtime.d.ts +5 -1
- package/dist/core/agent-runtimes/claude-code-headless-runtime.d.ts.map +1 -1
- package/dist/core/agent-runtimes/claude-code-headless-runtime.js +127 -12
- package/dist/core/agent-runtimes/claude-code-headless-runtime.js.map +1 -1
- package/dist/core/agent-runtimes/claude-sdk-runtime.d.ts +0 -2
- package/dist/core/agent-runtimes/claude-sdk-runtime.d.ts.map +1 -1
- package/dist/core/agent-runtimes/claude-sdk-runtime.js +1 -22
- package/dist/core/agent-runtimes/claude-sdk-runtime.js.map +1 -1
- package/dist/core/agent-runtimes/codex-headless-runtime.d.ts +27 -0
- package/dist/core/agent-runtimes/codex-headless-runtime.d.ts.map +1 -0
- package/dist/core/agent-runtimes/codex-headless-runtime.js +623 -0
- package/dist/core/agent-runtimes/codex-headless-runtime.js.map +1 -0
- package/dist/core/agent-runtimes/openai-compatible-runtime.d.ts +17 -0
- package/dist/core/agent-runtimes/openai-compatible-runtime.d.ts.map +1 -0
- package/dist/core/agent-runtimes/openai-compatible-runtime.js +231 -0
- package/dist/core/agent-runtimes/openai-compatible-runtime.js.map +1 -0
- package/dist/core/branch-manager.d.ts +3 -1
- package/dist/core/branch-manager.d.ts.map +1 -1
- package/dist/core/branch-manager.js +11 -1
- package/dist/core/branch-manager.js.map +1 -1
- package/dist/core/git-manager.d.ts +17 -1
- package/dist/core/git-manager.d.ts.map +1 -1
- package/dist/core/git-manager.js +147 -3
- package/dist/core/git-manager.js.map +1 -1
- package/dist/core/group-execution-orchestrator.d.ts +4 -13
- package/dist/core/group-execution-orchestrator.d.ts.map +1 -1
- package/dist/core/group-execution-orchestrator.js +53 -142
- package/dist/core/group-execution-orchestrator.js.map +1 -1
- package/dist/core/handover-manager.d.ts +24 -0
- package/dist/core/handover-manager.d.ts.map +1 -0
- package/dist/core/handover-manager.js +214 -0
- package/dist/core/handover-manager.js.map +1 -0
- package/dist/core/instruction-loader.d.ts +23 -0
- package/dist/core/instruction-loader.d.ts.map +1 -0
- package/dist/core/instruction-loader.js +123 -0
- package/dist/core/instruction-loader.js.map +1 -0
- package/dist/core/loop-state-manager.d.ts +12 -7
- package/dist/core/loop-state-manager.d.ts.map +1 -1
- package/dist/core/loop-state-manager.js +49 -3
- package/dist/core/loop-state-manager.js.map +1 -1
- package/dist/core/parallel-executor.d.ts +8 -3
- package/dist/core/parallel-executor.d.ts.map +1 -1
- package/dist/core/parallel-executor.js +90 -16
- package/dist/core/parallel-executor.js.map +1 -1
- package/dist/core/pipeline-finalizer.d.ts +12 -4
- package/dist/core/pipeline-finalizer.d.ts.map +1 -1
- package/dist/core/pipeline-finalizer.js +244 -33
- package/dist/core/pipeline-finalizer.js.map +1 -1
- package/dist/core/pipeline-initializer.d.ts +13 -5
- package/dist/core/pipeline-initializer.d.ts.map +1 -1
- package/dist/core/pipeline-initializer.js +53 -25
- package/dist/core/pipeline-initializer.js.map +1 -1
- package/dist/core/pipeline-runner.d.ts +15 -1
- package/dist/core/pipeline-runner.d.ts.map +1 -1
- package/dist/core/pipeline-runner.js +434 -64
- package/dist/core/pipeline-runner.js.map +1 -1
- package/dist/core/pr-creator.d.ts +0 -1
- package/dist/core/pr-creator.d.ts.map +1 -1
- package/dist/core/pr-creator.js +12 -4
- package/dist/core/pr-creator.js.map +1 -1
- package/dist/core/stage-executor.d.ts +19 -11
- package/dist/core/stage-executor.d.ts.map +1 -1
- package/dist/core/stage-executor.js +151 -178
- package/dist/core/stage-executor.js.map +1 -1
- package/dist/core/types/agent-runtime.d.ts +3 -2
- package/dist/core/types/agent-runtime.d.ts.map +1 -1
- package/dist/core/worktree-manager.d.ts +21 -0
- package/dist/core/worktree-manager.d.ts.map +1 -0
- package/dist/core/worktree-manager.js +133 -0
- package/dist/core/worktree-manager.js.map +1 -0
- package/dist/index.js +147 -112
- package/dist/index.js.map +1 -1
- package/dist/notifications/notification-manager.d.ts +1 -0
- package/dist/notifications/notification-manager.d.ts.map +1 -1
- package/dist/notifications/notification-manager.js +17 -3
- package/dist/notifications/notification-manager.js.map +1 -1
- package/dist/notifications/notifiers/local-notifier.d.ts.map +1 -1
- package/dist/notifications/notifiers/local-notifier.js +5 -2
- package/dist/notifications/notifiers/local-notifier.js.map +1 -1
- package/dist/notifications/notifiers/slack-notifier.d.ts.map +1 -1
- package/dist/notifications/notifiers/slack-notifier.js +39 -8
- package/dist/notifications/notifiers/slack-notifier.js.map +1 -1
- package/dist/notifications/types.d.ts +1 -1
- package/dist/notifications/types.d.ts.map +1 -1
- package/dist/ui/components/execution-group.d.ts.map +1 -1
- package/dist/ui/components/execution-group.js +1 -1
- package/dist/ui/components/execution-group.js.map +1 -1
- package/dist/ui/components/interactive-summary.d.ts +9 -0
- package/dist/ui/components/interactive-summary.d.ts.map +1 -0
- package/dist/ui/components/interactive-summary.js +166 -0
- package/dist/ui/components/interactive-summary.js.map +1 -0
- package/dist/ui/components/keyboard-hints.d.ts +12 -0
- package/dist/ui/components/keyboard-hints.d.ts.map +1 -0
- package/dist/ui/components/keyboard-hints.js +13 -0
- package/dist/ui/components/keyboard-hints.js.map +1 -0
- package/dist/ui/components/live-timer.d.ts +9 -0
- package/dist/ui/components/live-timer.d.ts.map +1 -0
- package/dist/ui/components/live-timer.js +25 -0
- package/dist/ui/components/live-timer.js.map +1 -0
- package/dist/ui/components/loop-iteration-history.d.ts +8 -0
- package/dist/ui/components/loop-iteration-history.d.ts.map +1 -0
- package/dist/ui/components/loop-iteration-history.js +106 -0
- package/dist/ui/components/loop-iteration-history.js.map +1 -0
- package/dist/ui/components/loop-session-summary.d.ts +9 -0
- package/dist/ui/components/loop-session-summary.d.ts.map +1 -0
- package/dist/ui/components/loop-session-summary.js +39 -0
- package/dist/ui/components/loop-session-summary.js.map +1 -0
- package/dist/ui/components/stage-row.d.ts +0 -1
- package/dist/ui/components/stage-row.d.ts.map +1 -1
- package/dist/ui/components/stage-row.js +5 -15
- package/dist/ui/components/stage-row.js.map +1 -1
- package/dist/ui/components/status-badge.d.ts.map +1 -1
- package/dist/ui/components/status-badge.js +1 -0
- package/dist/ui/components/status-badge.js.map +1 -1
- package/dist/ui/pipeline-ui.d.ts +1 -0
- package/dist/ui/pipeline-ui.d.ts.map +1 -1
- package/dist/ui/pipeline-ui.js +22 -18
- package/dist/ui/pipeline-ui.js.map +1 -1
- package/dist/utils/error-factory.d.ts.map +1 -1
- package/dist/utils/error-factory.js +10 -2
- package/dist/utils/error-factory.js.map +1 -1
- package/dist/utils/pipeline-formatter.d.ts +8 -2
- package/dist/utils/pipeline-formatter.d.ts.map +1 -1
- package/dist/utils/pipeline-formatter.js +30 -26
- package/dist/utils/pipeline-formatter.js.map +1 -1
- package/dist/utils/pipeline-logger.d.ts +19 -0
- package/dist/utils/pipeline-logger.d.ts.map +1 -0
- package/dist/utils/pipeline-logger.js +80 -0
- package/dist/utils/pipeline-logger.js.map +1 -0
- package/dist/utils/platform-opener.d.ts +4 -0
- package/dist/utils/platform-opener.d.ts.map +1 -0
- package/dist/utils/platform-opener.js +52 -0
- package/dist/utils/platform-opener.js.map +1 -0
- package/dist/validators/agent-validator.d.ts +10 -0
- package/dist/validators/agent-validator.d.ts.map +1 -0
- package/dist/validators/agent-validator.js +87 -0
- package/dist/validators/agent-validator.js.map +1 -0
- package/dist/validators/dag-validator.d.ts +9 -0
- package/dist/validators/dag-validator.d.ts.map +1 -0
- package/dist/validators/dag-validator.js +51 -0
- package/dist/validators/dag-validator.js.map +1 -0
- package/dist/validators/environment-validator.d.ts +9 -0
- package/dist/validators/environment-validator.d.ts.map +1 -0
- package/dist/validators/environment-validator.js +35 -0
- package/dist/validators/environment-validator.js.map +1 -0
- package/dist/validators/execution-validator.d.ts +8 -0
- package/dist/validators/execution-validator.d.ts.map +1 -0
- package/dist/validators/execution-validator.js +51 -0
- package/dist/validators/execution-validator.js.map +1 -0
- package/dist/validators/git-validator.d.ts +13 -0
- package/dist/validators/git-validator.d.ts.map +1 -0
- package/dist/validators/git-validator.js +135 -0
- package/dist/validators/git-validator.js.map +1 -0
- package/dist/validators/notification-validator.d.ts +8 -0
- package/dist/validators/notification-validator.d.ts.map +1 -0
- package/dist/validators/notification-validator.js +27 -0
- package/dist/validators/notification-validator.js.map +1 -0
- package/dist/validators/pipeline-validator.d.ts +3 -26
- package/dist/validators/pipeline-validator.d.ts.map +1 -1
- package/dist/validators/pipeline-validator.js +5 -515
- package/dist/validators/pipeline-validator.js.map +1 -1
- package/dist/validators/retry-validator.d.ts +9 -0
- package/dist/validators/retry-validator.d.ts.map +1 -0
- package/dist/validators/retry-validator.js +34 -0
- package/dist/validators/retry-validator.js.map +1 -0
- package/dist/validators/runtime-validator.d.ts +9 -0
- package/dist/validators/runtime-validator.d.ts.map +1 -0
- package/dist/validators/runtime-validator.js +82 -0
- package/dist/validators/runtime-validator.js.map +1 -0
- package/dist/validators/structure-validator.d.ts +8 -0
- package/dist/validators/structure-validator.d.ts.map +1 -0
- package/dist/validators/structure-validator.js +39 -0
- package/dist/validators/structure-validator.js.map +1 -0
- package/dist/validators/types.d.ts +19 -0
- package/dist/validators/types.d.ts.map +1 -0
- package/dist/validators/types.js +2 -0
- package/dist/validators/types.js.map +1 -0
- package/dist/validators/validation-orchestrator.d.ts +9 -0
- package/dist/validators/validation-orchestrator.d.ts.map +1 -0
- package/dist/validators/validation-orchestrator.js +43 -0
- package/dist/validators/validation-orchestrator.js.map +1 -0
- package/package.json +18 -12
- package/dist/cli/commands/install.d.ts +0 -2
- package/dist/cli/commands/install.d.ts.map +0 -1
- package/dist/cli/commands/install.js +0 -15
- package/dist/cli/commands/install.js.map +0 -1
- package/dist/cli/commands/uninstall.d.ts +0 -2
- package/dist/cli/commands/uninstall.d.ts.map +0 -1
- package/dist/cli/commands/uninstall.js +0 -6
- package/dist/cli/commands/uninstall.js.map +0 -1
- package/dist/cli/templates/agents/cleanup-reporter.md +0 -107
- package/dist/cli/templates/agents/code-reducer.md +0 -51
- package/dist/cli/templates/agents/code-reviewer.md +0 -34
- package/dist/cli/templates/agents/context-reducer.md +0 -94
- package/dist/cli/templates/agents/dependency-auditor.md +0 -127
- package/dist/cli/templates/agents/detective-empath.md +0 -26
- package/dist/cli/templates/agents/detective-linguist.md +0 -26
- package/dist/cli/templates/agents/detective-logician.md +0 -26
- package/dist/cli/templates/agents/detective-skeptic.md +0 -26
- package/dist/cli/templates/agents/detective-statistician.md +0 -26
- package/dist/cli/templates/agents/doc-updater.md +0 -30
- package/dist/cli/templates/agents/judge.md +0 -27
- package/dist/cli/templates/agents/memory-updater.md +0 -72
- package/dist/cli/templates/agents/quality-checker.md +0 -32
- package/dist/cli/templates/agents/security-auditor.md +0 -32
- package/dist/cli/templates/agents/storyteller.md +0 -26
- package/dist/cli/templates/agents/summary.md +0 -32
- package/dist/cli/templates/agents/synthesizer.md +0 -26
- package/dist/cli/templates/pipelines/large-pipeline-example.yml +0 -178
- package/dist/cli/templates/pipelines/post-merge-example.yml +0 -78
- package/dist/cli/templates/pipelines/pre-commit-example.yml +0 -41
- package/dist/cli/templates/pipelines/pre-push-example.yml +0 -51
- package/dist/cli/templates/pipelines/test-pipeline.yml +0 -90
- package/dist/config/project-config-loader.d.ts +0 -11
- package/dist/config/project-config-loader.d.ts.map +0 -1
- package/dist/config/project-config-loader.js +0 -100
- package/dist/config/project-config-loader.js.map +0 -1
- package/dist/core/condition-evaluator.d.ts +0 -16
- package/dist/core/condition-evaluator.d.ts.map +0 -1
- package/dist/core/condition-evaluator.js +0 -121
- package/dist/core/condition-evaluator.js.map +0 -1
- package/dist/core/context-reducer.d.ts +0 -15
- package/dist/core/context-reducer.d.ts.map +0 -1
- package/dist/core/context-reducer.js +0 -224
- package/dist/core/context-reducer.js.map +0 -1
- package/dist/core/output-storage-manager.d.ts +0 -14
- package/dist/core/output-storage-manager.d.ts.map +0 -1
- package/dist/core/output-storage-manager.js +0 -68
- package/dist/core/output-storage-manager.js.map +0 -1
- package/dist/core/output-tool-builder.d.ts +0 -6
- package/dist/core/output-tool-builder.d.ts.map +0 -1
- package/dist/core/output-tool-builder.js +0 -50
- package/dist/core/output-tool-builder.js.map +0 -1
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import * as fs from 'fs/promises';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import { GitManager } from './git-manager.js';
|
|
5
|
+
const c = {
|
|
6
|
+
success: chalk.green,
|
|
7
|
+
warn: chalk.yellow,
|
|
8
|
+
error: chalk.red,
|
|
9
|
+
dim: chalk.dim,
|
|
10
|
+
cmd: chalk.cyan,
|
|
11
|
+
branch: chalk.magenta,
|
|
12
|
+
path: chalk.yellow,
|
|
13
|
+
};
|
|
14
|
+
export class WorktreeManager extends GitManager {
|
|
15
|
+
worktreeBaseDir;
|
|
16
|
+
repoPath;
|
|
17
|
+
constructor(repoPath, worktreeBaseDir) {
|
|
18
|
+
super(repoPath);
|
|
19
|
+
this.repoPath = repoPath;
|
|
20
|
+
const baseDir = worktreeBaseDir || path.join(repoPath, '.agent-pipeline', 'worktrees');
|
|
21
|
+
this.worktreeBaseDir = path.isAbsolute(baseDir) ? baseDir : path.resolve(repoPath, baseDir);
|
|
22
|
+
}
|
|
23
|
+
async setupPipelineWorktree(pipelineName, runId, baseBranch = 'main', strategy = 'reusable', branchPrefix = 'pipeline') {
|
|
24
|
+
await fs.mkdir(this.worktreeBaseDir, { recursive: true });
|
|
25
|
+
try {
|
|
26
|
+
await this.git.fetch('origin');
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
console.log(`${c.warn('⚠')} ${c.dim('Could not fetch from remote:')} ${c.dim(error instanceof Error ? error.message : String(error))}`);
|
|
30
|
+
}
|
|
31
|
+
const branchName = this.getBranchName(pipelineName, runId, strategy, branchPrefix);
|
|
32
|
+
const worktreeDirName = this.getWorktreeDirName(pipelineName, runId, strategy);
|
|
33
|
+
const worktreePath = path.join(this.worktreeBaseDir, worktreeDirName);
|
|
34
|
+
const exists = await this.worktreeExists(worktreePath);
|
|
35
|
+
if (exists) {
|
|
36
|
+
console.log(`${c.dim('Using existing worktree:')} ${c.path(worktreePath)}`);
|
|
37
|
+
await this.updateWorktree(worktreePath, baseBranch);
|
|
38
|
+
return { worktreePath, branchName, isNew: false };
|
|
39
|
+
}
|
|
40
|
+
try {
|
|
41
|
+
await fs.access(worktreePath);
|
|
42
|
+
console.log(`${c.dim('Cleaning up stale worktree:')} ${c.path(worktreePath)}`);
|
|
43
|
+
await this.pruneWorktrees();
|
|
44
|
+
await fs.rm(worktreePath, { recursive: true, force: true });
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
}
|
|
48
|
+
console.log(`${c.dim('Creating worktree:')} ${c.path(worktreePath)}`);
|
|
49
|
+
await this.createWorktree(worktreePath, branchName, baseBranch);
|
|
50
|
+
return { worktreePath, branchName, isNew: true };
|
|
51
|
+
}
|
|
52
|
+
async updateWorktree(worktreePath, baseBranch) {
|
|
53
|
+
const worktreeGit = new GitManager(worktreePath);
|
|
54
|
+
try {
|
|
55
|
+
await worktreeGit['git'].fetch('origin');
|
|
56
|
+
await worktreeGit['git'].merge([`origin/${baseBranch}`]);
|
|
57
|
+
console.log(`${c.dim('Updated worktree from')} ${c.branch(`origin/${baseBranch}`)}`);
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
console.log(`${c.warn('⚠')} ${c.dim('Could not update worktree from')} ${c.branch(baseBranch)}: ${c.dim(error instanceof Error ? error.message : String(error))}`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
async cleanupWorktree(worktreePath, deleteBranch = false, force = false) {
|
|
64
|
+
const worktrees = await this.listWorktrees();
|
|
65
|
+
const wt = worktrees.find(w => w.path === worktreePath);
|
|
66
|
+
const branchName = wt?.branch;
|
|
67
|
+
try {
|
|
68
|
+
await this.removeWorktree(worktreePath, force);
|
|
69
|
+
console.log(`${c.dim('Removed worktree:')} ${c.path(worktreePath)}`);
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
if (!force && error instanceof Error && error.message.includes('uncommitted')) {
|
|
73
|
+
console.log(`${c.warn('⚠')} ${c.dim('Worktree has uncommitted changes, forcing removal...')}`);
|
|
74
|
+
await this.removeWorktree(worktreePath, true);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
throw error;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (deleteBranch && branchName) {
|
|
81
|
+
try {
|
|
82
|
+
await this.git.deleteLocalBranch(branchName, force);
|
|
83
|
+
console.log(`${c.success('✓')} Deleted branch: ${c.branch(branchName)}`);
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
87
|
+
const isNotMergedError = errorMessage.includes('not fully merged');
|
|
88
|
+
if (isNotMergedError) {
|
|
89
|
+
console.log('');
|
|
90
|
+
console.log(`${c.warn('⚠')} ${c.warn('Branch not deleted:')} ${c.branch(branchName)}`);
|
|
91
|
+
console.log(` ${c.dim('The branch has commits that are not merged into the base branch.')}`);
|
|
92
|
+
console.log('');
|
|
93
|
+
console.log(` ${c.dim('To complete the merge manually:')}`);
|
|
94
|
+
console.log(` ${c.cmd(`git merge ${branchName}`)}`);
|
|
95
|
+
console.log('');
|
|
96
|
+
console.log(` ${c.dim('To delete without merging (discard changes):')}`);
|
|
97
|
+
console.log(` ${c.cmd(`git branch -D ${branchName}`)}`);
|
|
98
|
+
console.log('');
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
console.log('');
|
|
102
|
+
console.log(`${c.warn('⚠')} Could not delete branch ${c.branch(branchName)}`);
|
|
103
|
+
console.log(` ${c.dim(errorMessage)}`);
|
|
104
|
+
console.log('');
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
await this.pruneWorktrees();
|
|
109
|
+
}
|
|
110
|
+
async listPipelineWorktrees(branchPrefix = 'pipeline') {
|
|
111
|
+
const allWorktrees = await this.listWorktrees();
|
|
112
|
+
return allWorktrees.filter(wt => !wt.bare && wt.branch.startsWith(`${branchPrefix}/`));
|
|
113
|
+
}
|
|
114
|
+
getBranchName(pipelineName, runId, strategy, branchPrefix) {
|
|
115
|
+
if (strategy === 'unique-per-run' || strategy === 'unique-and-delete') {
|
|
116
|
+
return `${branchPrefix}/${pipelineName}/${runId.substring(0, 8)}`;
|
|
117
|
+
}
|
|
118
|
+
return `${branchPrefix}/${pipelineName}`;
|
|
119
|
+
}
|
|
120
|
+
getWorktreeDirName(pipelineName, runId, strategy) {
|
|
121
|
+
if (strategy === 'unique-per-run' || strategy === 'unique-and-delete') {
|
|
122
|
+
return `${pipelineName}-${runId.substring(0, 8)}`;
|
|
123
|
+
}
|
|
124
|
+
return pipelineName;
|
|
125
|
+
}
|
|
126
|
+
getWorktreeBaseDir() {
|
|
127
|
+
return this.worktreeBaseDir;
|
|
128
|
+
}
|
|
129
|
+
getRepoPath() {
|
|
130
|
+
return this.repoPath;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=worktree-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worktree-manager.js","sourceRoot":"","sources":["../../src/core/worktree-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -13,16 +13,17 @@ import { Logger } from './utils/logger.js';
|
|
|
13
13
|
import { AgentRuntimeRegistry } from './core/agent-runtime-registry.js';
|
|
14
14
|
import { ClaudeSDKRuntime } from './core/agent-runtimes/claude-sdk-runtime.js';
|
|
15
15
|
import { ClaudeCodeHeadlessRuntime } from './core/agent-runtimes/claude-code-headless-runtime.js';
|
|
16
|
+
import { CodexHeadlessRuntime } from './core/agent-runtimes/codex-headless-runtime.js';
|
|
17
|
+
import { OpenAICompatibleRuntime } from './core/agent-runtimes/openai-compatible-runtime.js';
|
|
16
18
|
import { runCommand } from './cli/commands/run.js';
|
|
17
19
|
import { listCommand } from './cli/commands/list.js';
|
|
18
20
|
import { statusCommand } from './cli/commands/status.js';
|
|
19
|
-
import { installCommand } from './cli/commands/install.js';
|
|
20
|
-
import { uninstallCommand } from './cli/commands/uninstall.js';
|
|
21
21
|
import { testCommand } from './cli/commands/test.js';
|
|
22
22
|
import { initCommand } from './cli/commands/init.js';
|
|
23
23
|
import { rollbackCommand } from './cli/commands/rollback.js';
|
|
24
24
|
import { analyticsCommand } from './cli/commands/analytics.js';
|
|
25
25
|
import { cleanupCommand } from './cli/commands/cleanup.js';
|
|
26
|
+
import { hooksListCommand, hooksInstallCommand, hooksUninstallCommand } from './cli/commands/hooks.js';
|
|
26
27
|
import { HistoryBrowser } from './cli/commands/history.js';
|
|
27
28
|
import { createPipelineCommand } from './cli/commands/pipeline/create.js';
|
|
28
29
|
import { deletePipelineCommand } from './cli/commands/pipeline/delete.js';
|
|
@@ -35,6 +36,9 @@ import { importPipelineCommand } from './cli/commands/pipeline/import.js';
|
|
|
35
36
|
import { listAgentsCommand } from './cli/commands/agent/list.js';
|
|
36
37
|
import { agentInfoCommand } from './cli/commands/agent/info.js';
|
|
37
38
|
import { pullAgentsCommand } from './cli/commands/agent/pull.js';
|
|
39
|
+
import { schemaCommand } from './cli/commands/schema.js';
|
|
40
|
+
import { showHelp, showCommandHelp } from './cli/help/index.js';
|
|
41
|
+
import * as fs from 'fs/promises';
|
|
38
42
|
async function main() {
|
|
39
43
|
const args = process.argv.slice(2);
|
|
40
44
|
const command = args[0];
|
|
@@ -68,6 +72,50 @@ async function main() {
|
|
|
68
72
|
}
|
|
69
73
|
}
|
|
70
74
|
try {
|
|
75
|
+
const codexRuntime = new CodexHeadlessRuntime();
|
|
76
|
+
AgentRuntimeRegistry.register(codexRuntime);
|
|
77
|
+
const validation = await codexRuntime.validate();
|
|
78
|
+
if (!validation.valid && process.env.DEBUG) {
|
|
79
|
+
Logger.warn('Codex Headless runtime registered but CLI not available');
|
|
80
|
+
validation.warnings.forEach((warning) => Logger.warn(` ${warning}`));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch (err) {
|
|
84
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
85
|
+
Logger.error(`Failed to register Codex Headless runtime: ${message}`);
|
|
86
|
+
if (process.env.DEBUG) {
|
|
87
|
+
console.error(err);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
try {
|
|
91
|
+
const openaiRuntime = new OpenAICompatibleRuntime();
|
|
92
|
+
AgentRuntimeRegistry.register(openaiRuntime);
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
96
|
+
Logger.error(`Failed to register OpenAI-Compatible runtime: ${message}`);
|
|
97
|
+
if (process.env.DEBUG) {
|
|
98
|
+
console.error(err);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
try {
|
|
102
|
+
if (command === '-v' || command === '--version') {
|
|
103
|
+
const pkgPath = new URL('../package.json', import.meta.url);
|
|
104
|
+
const pkg = JSON.parse(await fs.readFile(pkgPath, 'utf-8'));
|
|
105
|
+
console.log(`agent-pipeline v${pkg.version}`);
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
if (command === 'help') {
|
|
109
|
+
showHelp(args.slice(1));
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
if (args.includes('--help') || args.includes('-h')) {
|
|
113
|
+
if (command && showCommandHelp(command)) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
showHelp();
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
71
119
|
switch (command) {
|
|
72
120
|
case 'run': {
|
|
73
121
|
if (!subCommand) {
|
|
@@ -75,12 +123,13 @@ async function main() {
|
|
|
75
123
|
process.exit(1);
|
|
76
124
|
}
|
|
77
125
|
const dryRun = args.includes('--dry-run');
|
|
78
|
-
const
|
|
79
|
-
const
|
|
126
|
+
const quiet = args.includes('--quiet');
|
|
127
|
+
const verbose = args.includes('--verbose');
|
|
80
128
|
const prDraft = args.includes('--pr-draft');
|
|
81
129
|
const prWeb = args.includes('--pr-web');
|
|
82
130
|
const noNotifications = args.includes('--no-notifications');
|
|
83
|
-
const
|
|
131
|
+
const noLoopFlag = args.includes('--no-loop');
|
|
132
|
+
const loop = noLoopFlag ? false : undefined;
|
|
84
133
|
let baseBranch;
|
|
85
134
|
const baseBranchIndex = args.indexOf('--base-branch');
|
|
86
135
|
if (baseBranchIndex !== -1 && args[baseBranchIndex + 1]) {
|
|
@@ -93,8 +142,8 @@ async function main() {
|
|
|
93
142
|
}
|
|
94
143
|
await runCommand(repoPath, subCommand, {
|
|
95
144
|
dryRun,
|
|
96
|
-
interactive: !
|
|
97
|
-
|
|
145
|
+
interactive: !quiet,
|
|
146
|
+
verbose,
|
|
98
147
|
baseBranch,
|
|
99
148
|
prDraft,
|
|
100
149
|
prWeb,
|
|
@@ -112,18 +161,6 @@ async function main() {
|
|
|
112
161
|
await statusCommand(repoPath);
|
|
113
162
|
break;
|
|
114
163
|
}
|
|
115
|
-
case 'install': {
|
|
116
|
-
if (!subCommand) {
|
|
117
|
-
console.error('Usage: agent-pipeline install <pipeline-name>');
|
|
118
|
-
process.exit(1);
|
|
119
|
-
}
|
|
120
|
-
await installCommand(repoPath, subCommand);
|
|
121
|
-
break;
|
|
122
|
-
}
|
|
123
|
-
case 'uninstall': {
|
|
124
|
-
await uninstallCommand(repoPath);
|
|
125
|
-
break;
|
|
126
|
-
}
|
|
127
164
|
case 'rollback': {
|
|
128
165
|
const options = {};
|
|
129
166
|
for (let i = 1; i < args.length; i++) {
|
|
@@ -138,12 +175,7 @@ async function main() {
|
|
|
138
175
|
break;
|
|
139
176
|
}
|
|
140
177
|
case 'init': {
|
|
141
|
-
|
|
142
|
-
const all = args.includes('--all');
|
|
143
|
-
await initCommand(repoPath, {
|
|
144
|
-
exampleName,
|
|
145
|
-
all
|
|
146
|
-
});
|
|
178
|
+
await initCommand(repoPath);
|
|
147
179
|
break;
|
|
148
180
|
}
|
|
149
181
|
case 'history': {
|
|
@@ -178,6 +210,18 @@ async function main() {
|
|
|
178
210
|
else if (args[i] === '--delete-logs') {
|
|
179
211
|
options.deleteLogs = true;
|
|
180
212
|
}
|
|
213
|
+
else if (args[i] === '--worktrees' || args[i] === '-w') {
|
|
214
|
+
options.worktrees = true;
|
|
215
|
+
}
|
|
216
|
+
else if (args[i] === '--all' || args[i] === '-a') {
|
|
217
|
+
options.all = true;
|
|
218
|
+
}
|
|
219
|
+
else if (args[i] === '--prefix') {
|
|
220
|
+
options.prefix = args[++i];
|
|
221
|
+
}
|
|
222
|
+
else if (args[i] === '--delete-remote') {
|
|
223
|
+
options.deleteRemote = true;
|
|
224
|
+
}
|
|
181
225
|
}
|
|
182
226
|
await cleanupCommand(repoPath, options);
|
|
183
227
|
break;
|
|
@@ -191,6 +235,42 @@ async function main() {
|
|
|
191
235
|
await testCommand(repoPath, subCommand, { notifications: testNotifications });
|
|
192
236
|
break;
|
|
193
237
|
}
|
|
238
|
+
case 'hooks': {
|
|
239
|
+
const hooksSubCommand = subCommand;
|
|
240
|
+
const hooksArg = args[2];
|
|
241
|
+
switch (hooksSubCommand) {
|
|
242
|
+
case 'install': {
|
|
243
|
+
if (!hooksArg) {
|
|
244
|
+
console.error('Usage: agent-pipeline hooks install <pipeline-name>');
|
|
245
|
+
process.exit(1);
|
|
246
|
+
}
|
|
247
|
+
await hooksInstallCommand(repoPath, hooksArg);
|
|
248
|
+
break;
|
|
249
|
+
}
|
|
250
|
+
case 'uninstall': {
|
|
251
|
+
const removeAll = args.includes('--all');
|
|
252
|
+
const pipelineName = hooksArg && !hooksArg.startsWith('--') ? hooksArg : undefined;
|
|
253
|
+
if (removeAll && pipelineName) {
|
|
254
|
+
console.error('Usage: agent-pipeline hooks uninstall <pipeline-name> OR agent-pipeline hooks uninstall --all');
|
|
255
|
+
process.exit(1);
|
|
256
|
+
}
|
|
257
|
+
await hooksUninstallCommand(repoPath, {
|
|
258
|
+
pipelineName,
|
|
259
|
+
removeAll: removeAll || !pipelineName
|
|
260
|
+
});
|
|
261
|
+
break;
|
|
262
|
+
}
|
|
263
|
+
default: {
|
|
264
|
+
const listOptions = {};
|
|
265
|
+
const pipelineIndex = args.indexOf('--pipeline');
|
|
266
|
+
if (pipelineIndex !== -1 && args[pipelineIndex + 1]) {
|
|
267
|
+
listOptions.pipeline = args[pipelineIndex + 1];
|
|
268
|
+
}
|
|
269
|
+
await hooksListCommand(repoPath, listOptions);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
break;
|
|
273
|
+
}
|
|
194
274
|
case 'create': {
|
|
195
275
|
await createPipelineCommand(repoPath);
|
|
196
276
|
break;
|
|
@@ -278,7 +358,8 @@ async function main() {
|
|
|
278
358
|
}
|
|
279
359
|
case 'pull': {
|
|
280
360
|
const source = agentArg;
|
|
281
|
-
|
|
361
|
+
const all = args.includes('--all');
|
|
362
|
+
await pullAgentsCommand(repoPath, { source, all });
|
|
282
363
|
break;
|
|
283
364
|
}
|
|
284
365
|
default: {
|
|
@@ -288,103 +369,57 @@ Agent Management Commands:
|
|
|
288
369
|
Usage:
|
|
289
370
|
agent-pipeline agent list List available agents
|
|
290
371
|
agent-pipeline agent info <agent-name> Show detailed agent information
|
|
291
|
-
agent-pipeline agent pull [
|
|
372
|
+
agent-pipeline agent pull [--all] Import agents from Claude Code plugins
|
|
373
|
+
|
|
374
|
+
Options:
|
|
375
|
+
--all Import all available agents without interactive selection
|
|
292
376
|
|
|
293
377
|
Examples:
|
|
294
378
|
agent-pipeline agent list
|
|
295
379
|
agent-pipeline agent info code-reviewer
|
|
296
380
|
agent-pipeline agent pull
|
|
381
|
+
agent-pipeline agent pull --all
|
|
297
382
|
`);
|
|
298
383
|
}
|
|
299
384
|
}
|
|
300
385
|
break;
|
|
301
386
|
}
|
|
387
|
+
case 'schema': {
|
|
388
|
+
let format = 'json';
|
|
389
|
+
let output;
|
|
390
|
+
let full = false;
|
|
391
|
+
let examples = false;
|
|
392
|
+
let field;
|
|
393
|
+
for (let i = 1; i < args.length; i++) {
|
|
394
|
+
if (args[i] === '--format' || args[i] === '-f') {
|
|
395
|
+
const fmt = args[++i];
|
|
396
|
+
if (fmt === 'json' || fmt === 'yaml') {
|
|
397
|
+
format = fmt;
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
else if (args[i] === '--output' || args[i] === '-o') {
|
|
401
|
+
output = args[++i];
|
|
402
|
+
}
|
|
403
|
+
else if (args[i] === '--full') {
|
|
404
|
+
full = true;
|
|
405
|
+
}
|
|
406
|
+
else if (args[i] === '--examples') {
|
|
407
|
+
examples = true;
|
|
408
|
+
}
|
|
409
|
+
else if (args[i] === '--field') {
|
|
410
|
+
field = args[++i];
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
await schemaCommand(repoPath, { format, output, full, examples, field });
|
|
414
|
+
break;
|
|
415
|
+
}
|
|
416
|
+
case 'loop-context': {
|
|
417
|
+
const { loopContextCommand } = await import('./cli/commands/loop-context.js');
|
|
418
|
+
await loopContextCommand(repoPath);
|
|
419
|
+
break;
|
|
420
|
+
}
|
|
302
421
|
default: {
|
|
303
|
-
|
|
304
|
-
Agent Pipeline - Intelligent agent orchestration for Claude Code
|
|
305
|
-
|
|
306
|
-
Usage:
|
|
307
|
-
agent-pipeline <command> [options]
|
|
308
|
-
|
|
309
|
-
Core Commands:
|
|
310
|
-
run <pipeline-name> Run a pipeline
|
|
311
|
-
list List available pipelines
|
|
312
|
-
status Show last pipeline run status
|
|
313
|
-
history Browse pipeline history (interactive)
|
|
314
|
-
analytics [options] Show pipeline analytics
|
|
315
|
-
init Initialize agent-pipeline project
|
|
316
|
-
|
|
317
|
-
Pipeline Management:
|
|
318
|
-
create Create a new pipeline (interactive)
|
|
319
|
-
edit <pipeline-name> Edit pipeline configuration
|
|
320
|
-
delete <pipeline-name> Delete a pipeline
|
|
321
|
-
clone <source> [dest] Clone an existing pipeline
|
|
322
|
-
validate <pipeline-name> Validate pipeline syntax and dependencies
|
|
323
|
-
config <pipeline-name> View pipeline configuration
|
|
324
|
-
export <pipeline-name> Export pipeline to file/stdout
|
|
325
|
-
import <file-or-url> Import pipeline from file or URL
|
|
326
|
-
|
|
327
|
-
Agent Management:
|
|
328
|
-
agent list List available agents
|
|
329
|
-
agent info <agent-name> Show detailed agent information
|
|
330
|
-
agent pull [source] Import agents from Claude Code plugins
|
|
331
|
-
|
|
332
|
-
Git Integration:
|
|
333
|
-
install <pipeline-name> Install git hook (respects pipeline trigger)
|
|
334
|
-
uninstall Remove all agent-pipeline git hooks
|
|
335
|
-
rollback [options] Rollback pipeline commits
|
|
336
|
-
cleanup [options] Clean up pipeline branches
|
|
337
|
-
|
|
338
|
-
Testing:
|
|
339
|
-
test <pipeline-name> [opts] Test pipeline configuration
|
|
340
|
-
|
|
341
|
-
Run Options:
|
|
342
|
-
--dry-run Test without creating commits
|
|
343
|
-
--no-interactive Disable live UI (use simple console output)
|
|
344
|
-
--no-notifications Disable all notifications
|
|
345
|
-
--no-pr Skip PR creation even if configured
|
|
346
|
-
--base-branch <branch> Override base branch for PR
|
|
347
|
-
--pr-draft Create PR as draft
|
|
348
|
-
--pr-web Open PR in browser for editing
|
|
349
|
-
--loop Enable pipeline looping mode
|
|
350
|
-
--max-loop-iterations <n> Override maximum loop iterations (default: 100)
|
|
351
|
-
|
|
352
|
-
Delete/Cleanup Options:
|
|
353
|
-
--force Delete without confirmation
|
|
354
|
-
--delete-logs Delete associated history files
|
|
355
|
-
|
|
356
|
-
Export Options:
|
|
357
|
-
--output <file> Export to file instead of stdout
|
|
358
|
-
--include-agents Include agent definitions in export
|
|
359
|
-
|
|
360
|
-
Analytics Options:
|
|
361
|
-
-p, --pipeline <name> Filter by pipeline name
|
|
362
|
-
-d, --days <n> Filter by last N days
|
|
363
|
-
-l, --loops Show loop session analytics instead of pipeline runs
|
|
364
|
-
|
|
365
|
-
Rollback Options:
|
|
366
|
-
-r, --run-id <id> Rollback specific run ID
|
|
367
|
-
-s, --stages <n> Rollback last N stages
|
|
368
|
-
|
|
369
|
-
Examples:
|
|
370
|
-
agent-pipeline init
|
|
371
|
-
agent-pipeline create
|
|
372
|
-
agent-pipeline run commit-review
|
|
373
|
-
agent-pipeline run commit-review --dry-run
|
|
374
|
-
agent-pipeline edit commit-review
|
|
375
|
-
agent-pipeline clone commit-review my-custom-review
|
|
376
|
-
agent-pipeline agent list
|
|
377
|
-
agent-pipeline agent pull
|
|
378
|
-
agent-pipeline list
|
|
379
|
-
agent-pipeline status
|
|
380
|
-
agent-pipeline history
|
|
381
|
-
agent-pipeline analytics --pipeline commit-review
|
|
382
|
-
agent-pipeline analytics --loops --days 7
|
|
383
|
-
agent-pipeline cleanup --force --delete-logs
|
|
384
|
-
agent-pipeline install commit-review
|
|
385
|
-
agent-pipeline export commit-review --include-agents --output backup.yml
|
|
386
|
-
agent-pipeline import https://example.com/pipeline.yml
|
|
387
|
-
`);
|
|
422
|
+
showHelp();
|
|
388
423
|
}
|
|
389
424
|
}
|
|
390
425
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ export declare class NotificationManager {
|
|
|
3
3
|
private config?;
|
|
4
4
|
private notifiers;
|
|
5
5
|
private enabledEvents;
|
|
6
|
+
private warnedMisconfiguredChannels;
|
|
6
7
|
constructor(config?: NotificationConfig | undefined);
|
|
7
8
|
private initializeNotifiers;
|
|
8
9
|
notify(context: NotificationContext): Promise<NotificationResult[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification-manager.d.ts","sourceRoot":"","sources":["../../src/notifications/notification-manager.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EAEnB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,qBAAa,mBAAmB;
|
|
1
|
+
{"version":3,"file":"notification-manager.d.ts","sourceRoot":"","sources":["../../src/notifications/notification-manager.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EAEnB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,qBAAa,mBAAmB;IAKlB,OAAO,CAAC,MAAM,CAAC;IAJ3B,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,2BAA2B,CAAqB;gBAEpC,MAAM,CAAC,EAAE,kBAAkB,YAAA;IAQ/C,OAAO,CAAC,mBAAmB;IAmBrB,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;YA8B3D,sBAAsB;IAwB9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAsC5B"}
|
|
@@ -4,9 +4,10 @@ export class NotificationManager {
|
|
|
4
4
|
config;
|
|
5
5
|
notifiers = [];
|
|
6
6
|
enabledEvents;
|
|
7
|
+
warnedMisconfiguredChannels = new Set();
|
|
7
8
|
constructor(config) {
|
|
8
9
|
this.config = config;
|
|
9
|
-
this.enabledEvents = new Set(config?.events || ['pipeline.completed', 'pipeline.failed', 'pr.created']);
|
|
10
|
+
this.enabledEvents = new Set(config?.events || ['pipeline.completed', 'pipeline.failed', 'pipeline.aborted', 'pr.created']);
|
|
10
11
|
this.initializeNotifiers();
|
|
11
12
|
}
|
|
12
13
|
initializeNotifiers() {
|
|
@@ -40,6 +41,13 @@ export class NotificationManager {
|
|
|
40
41
|
notifier,
|
|
41
42
|
configured: await notifier.isConfigured()
|
|
42
43
|
})));
|
|
44
|
+
const misconfigured = checks.filter(check => !check.configured);
|
|
45
|
+
for (const { notifier } of misconfigured) {
|
|
46
|
+
if (!this.warnedMisconfiguredChannels.has(notifier.channel)) {
|
|
47
|
+
console.warn(`⚠️ Notification channel '${notifier.channel}' is enabled but not configured; skipping.`);
|
|
48
|
+
this.warnedMisconfiguredChannels.add(notifier.channel);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
43
51
|
return checks.filter(check => check.configured).map(check => check.notifier);
|
|
44
52
|
}
|
|
45
53
|
async test() {
|
|
@@ -54,11 +62,17 @@ export class NotificationManager {
|
|
|
54
62
|
event: 'pipeline.completed',
|
|
55
63
|
pipelineState: {
|
|
56
64
|
runId: 'test-' + Date.now(),
|
|
57
|
-
pipelineConfig: {
|
|
65
|
+
pipelineConfig: {
|
|
66
|
+
name: 'test-pipeline',
|
|
67
|
+
trigger: 'manual',
|
|
68
|
+
agents: [],
|
|
69
|
+
git: { autoCommit: true, commitPrefix: '[pipeline:{{stage}}]' },
|
|
70
|
+
execution: { failureStrategy: 'stop' }
|
|
71
|
+
},
|
|
58
72
|
trigger: { type: 'manual', commitSha: 'abc123', timestamp: new Date().toISOString() },
|
|
59
73
|
stages: [],
|
|
60
74
|
status: 'completed',
|
|
61
|
-
artifacts: { initialCommit: 'abc123', totalDuration: 42.5, changedFiles: [] }
|
|
75
|
+
artifacts: { handoverDir: '.agent-pipeline/runs/test-run', initialCommit: 'abc123', totalDuration: 42.5, changedFiles: [] }
|
|
62
76
|
}
|
|
63
77
|
};
|
|
64
78
|
const result = await notifier.send(testContext);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification-manager.js","sourceRoot":"","sources":["../../src/notifications/notification-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAQ9D,MAAM,OAAO,mBAAmB;
|
|
1
|
+
{"version":3,"file":"notification-manager.js","sourceRoot":"","sources":["../../src/notifications/notification-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-notifier.d.ts","sourceRoot":"","sources":["../../../src/notifications/notifiers/local-notifier.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAErB,qBAAa,aAAc,SAAQ,YAAY;IAGjC,OAAO,CAAC,MAAM;IAF1B,QAAQ,CAAC,OAAO,WAAW;gBAEP,MAAM,GAAE,uBAA4B;IAIlD,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAKhC,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAwBrE,OAAO,CAAC,iBAAiB;
|
|
1
|
+
{"version":3,"file":"local-notifier.d.ts","sourceRoot":"","sources":["../../../src/notifications/notifiers/local-notifier.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAErB,qBAAa,aAAc,SAAQ,YAAY;IAGjC,OAAO,CAAC,MAAM;IAF1B,QAAQ,CAAC,OAAO,WAAW;gBAEP,MAAM,GAAE,uBAA4B;IAIlD,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAKhC,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAwBrE,OAAO,CAAC,iBAAiB;CAqE1B"}
|