@fractary/faber 2.5.5 → 2.5.6
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/dist/__tests__/config.test.d.ts +0 -0
- package/dist/__tests__/config.test.d.ts.map +0 -0
- package/dist/__tests__/config.test.js +3 -0
- package/dist/__tests__/config.test.js.map +1 -1
- package/dist/__tests__/integration/forge-integration.test.d.ts +0 -0
- package/dist/__tests__/integration/forge-integration.test.d.ts.map +0 -0
- package/dist/__tests__/integration/forge-integration.test.js +2 -2
- package/dist/__tests__/integration/forge-integration.test.js.map +1 -1
- package/dist/__tests__/integration/init-workflow.test.d.ts +0 -0
- package/dist/__tests__/integration/init-workflow.test.d.ts.map +0 -0
- package/dist/__tests__/integration/init-workflow.test.js +4 -0
- package/dist/__tests__/integration/init-workflow.test.js.map +1 -1
- package/dist/agents/index.d.ts +0 -0
- package/dist/agents/index.d.ts.map +0 -0
- package/dist/agents/index.js +0 -0
- package/dist/agents/index.js.map +0 -0
- package/dist/agents/selector.d.ts +0 -0
- package/dist/agents/selector.d.ts.map +0 -0
- package/dist/agents/selector.js +0 -0
- package/dist/agents/selector.js.map +0 -0
- package/dist/agents/type-registry.d.ts +0 -0
- package/dist/agents/type-registry.d.ts.map +0 -0
- package/dist/agents/type-registry.js +0 -0
- package/dist/agents/type-registry.js.map +0 -0
- package/dist/agents/types.d.ts +0 -0
- package/dist/agents/types.d.ts.map +0 -0
- package/dist/agents/types.js +0 -0
- package/dist/agents/types.js.map +0 -0
- package/dist/auth/github-app.d.ts +0 -0
- package/dist/auth/github-app.d.ts.map +0 -0
- package/dist/auth/github-app.js +0 -0
- package/dist/auth/github-app.js.map +0 -0
- package/dist/auth/index.d.ts +0 -0
- package/dist/auth/index.d.ts.map +0 -0
- package/dist/auth/index.js +0 -0
- package/dist/auth/index.js.map +0 -0
- package/dist/changelog/index.d.ts +0 -0
- package/dist/changelog/index.d.ts.map +0 -0
- package/dist/changelog/index.js +0 -0
- package/dist/changelog/index.js.map +0 -0
- package/dist/changelog/manager.d.ts +0 -0
- package/dist/changelog/manager.d.ts.map +0 -0
- package/dist/changelog/manager.js +0 -0
- package/dist/changelog/manager.js.map +0 -0
- package/dist/changelog/types.d.ts +0 -0
- package/dist/changelog/types.d.ts.map +0 -0
- package/dist/changelog/types.js +0 -0
- package/dist/changelog/types.js.map +0 -0
- package/dist/cloud/__tests__/resource-manager.test.d.ts +7 -0
- package/dist/cloud/__tests__/resource-manager.test.d.ts.map +1 -0
- package/dist/cloud/__tests__/resource-manager.test.js +741 -0
- package/dist/cloud/__tests__/resource-manager.test.js.map +1 -0
- package/dist/cloud/__tests__/terraform-manager.test.d.ts +7 -0
- package/dist/cloud/__tests__/terraform-manager.test.d.ts.map +1 -0
- package/dist/cloud/__tests__/terraform-manager.test.js +493 -0
- package/dist/cloud/__tests__/terraform-manager.test.js.map +1 -0
- package/dist/cloud/index.d.ts +9 -0
- package/dist/cloud/index.d.ts.map +1 -0
- package/dist/cloud/index.js +11 -0
- package/dist/cloud/index.js.map +1 -0
- package/dist/cloud/resource-manager.d.ts +81 -0
- package/dist/cloud/resource-manager.d.ts.map +1 -0
- package/dist/cloud/resource-manager.js +288 -0
- package/dist/cloud/resource-manager.js.map +1 -0
- package/dist/cloud/terraform-manager.d.ts +108 -0
- package/dist/cloud/terraform-manager.d.ts.map +1 -0
- package/dist/cloud/terraform-manager.js +552 -0
- package/dist/cloud/terraform-manager.js.map +1 -0
- package/dist/cloud/types.d.ts +281 -0
- package/dist/cloud/types.d.ts.map +1 -0
- package/dist/cloud/types.js +7 -0
- package/dist/cloud/types.js.map +1 -0
- package/dist/config/__tests__/initializer.test.d.ts +0 -0
- package/dist/config/__tests__/initializer.test.d.ts.map +0 -0
- package/dist/config/__tests__/initializer.test.js +4 -0
- package/dist/config/__tests__/initializer.test.js.map +1 -1
- package/dist/config/initializer.d.ts +0 -0
- package/dist/config/initializer.d.ts.map +0 -0
- package/dist/config/initializer.js +0 -0
- package/dist/config/initializer.js.map +0 -0
- package/dist/config/updater.d.ts +0 -0
- package/dist/config/updater.d.ts.map +0 -0
- package/dist/config/updater.js +0 -0
- package/dist/config/updater.js.map +0 -0
- package/dist/config/validator.d.ts +0 -0
- package/dist/config/validator.d.ts.map +0 -0
- package/dist/config/validator.js +0 -0
- package/dist/config/validator.js.map +0 -0
- package/dist/config.d.ts +0 -0
- package/dist/config.d.ts.map +0 -0
- package/dist/config.js +0 -0
- package/dist/config.js.map +0 -0
- package/dist/defaults.d.ts +0 -0
- package/dist/defaults.d.ts.map +0 -0
- package/dist/defaults.js +0 -0
- package/dist/defaults.js.map +0 -0
- package/dist/errors.d.ts +0 -0
- package/dist/errors.d.ts.map +0 -0
- package/dist/errors.js +0 -0
- package/dist/errors.js.map +0 -0
- package/dist/executors/cli-entry.d.ts +0 -0
- package/dist/executors/cli-entry.d.ts.map +0 -0
- package/dist/executors/cli-entry.js +1 -1
- package/dist/executors/cli-entry.js.map +1 -1
- package/dist/executors/index.d.ts +3 -2
- package/dist/executors/index.d.ts.map +1 -1
- package/dist/executors/index.js +3 -1
- package/dist/executors/index.js.map +1 -1
- package/dist/executors/providers/claude-agent.d.ts +46 -0
- package/dist/executors/providers/claude-agent.d.ts.map +1 -0
- package/dist/executors/providers/claude-agent.js +222 -0
- package/dist/executors/providers/claude-agent.js.map +1 -0
- package/dist/executors/providers/claude.d.ts +0 -0
- package/dist/executors/providers/claude.d.ts.map +1 -1
- package/dist/executors/providers/claude.js +30 -1
- package/dist/executors/providers/claude.js.map +1 -1
- package/dist/executors/providers/http.d.ts +0 -0
- package/dist/executors/providers/http.d.ts.map +0 -0
- package/dist/executors/providers/http.js +0 -0
- package/dist/executors/providers/http.js.map +0 -0
- package/dist/executors/providers/index.d.ts +1 -0
- package/dist/executors/providers/index.d.ts.map +1 -1
- package/dist/executors/providers/index.js +1 -0
- package/dist/executors/providers/index.js.map +1 -1
- package/dist/executors/providers/openai-compatible.d.ts +0 -0
- package/dist/executors/providers/openai-compatible.d.ts.map +0 -0
- package/dist/executors/providers/openai-compatible.js +0 -0
- package/dist/executors/providers/openai-compatible.js.map +0 -0
- package/dist/executors/providers/openai.d.ts +0 -0
- package/dist/executors/providers/openai.d.ts.map +0 -0
- package/dist/executors/providers/openai.js +0 -0
- package/dist/executors/providers/openai.js.map +0 -0
- package/dist/executors/registry.d.ts +0 -0
- package/dist/executors/registry.d.ts.map +1 -1
- package/dist/executors/registry.js +2 -0
- package/dist/executors/registry.js.map +1 -1
- package/dist/executors/types.d.ts +136 -1
- package/dist/executors/types.d.ts.map +1 -1
- package/dist/executors/types.js +85 -2
- package/dist/executors/types.js.map +1 -1
- package/dist/executors/workflow-executor.d.ts +31 -4
- package/dist/executors/workflow-executor.d.ts.map +1 -1
- package/dist/executors/workflow-executor.js +89 -11
- package/dist/executors/workflow-executor.js.map +1 -1
- package/dist/faber/__tests__/config-manager.test.d.ts +7 -0
- package/dist/faber/__tests__/config-manager.test.d.ts.map +1 -0
- package/dist/faber/__tests__/config-manager.test.js +637 -0
- package/dist/faber/__tests__/config-manager.test.js.map +1 -0
- package/dist/faber/__tests__/state-manager.test.d.ts +7 -0
- package/dist/faber/__tests__/state-manager.test.d.ts.map +1 -0
- package/dist/faber/__tests__/state-manager.test.js +541 -0
- package/dist/faber/__tests__/state-manager.test.js.map +1 -0
- package/dist/faber/config-manager.d.ts +123 -0
- package/dist/faber/config-manager.d.ts.map +1 -0
- package/dist/faber/config-manager.js +449 -0
- package/dist/faber/config-manager.js.map +1 -0
- package/dist/faber/index.d.ts +17 -0
- package/dist/faber/index.d.ts.map +1 -0
- package/dist/faber/index.js +15 -0
- package/dist/faber/index.js.map +1 -0
- package/dist/faber/state-manager.d.ts +124 -0
- package/dist/faber/state-manager.d.ts.map +1 -0
- package/dist/faber/state-manager.js +558 -0
- package/dist/faber/state-manager.js.map +1 -0
- package/dist/faber/types.d.ts +383 -0
- package/dist/faber/types.d.ts.map +1 -0
- package/dist/faber/types.js +60 -0
- package/dist/faber/types.js.map +1 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.d.ts.map +0 -0
- package/dist/index.js +0 -0
- package/dist/index.js.map +0 -0
- package/dist/logs/index.d.ts +0 -0
- package/dist/logs/index.d.ts.map +0 -0
- package/dist/logs/index.js +0 -0
- package/dist/logs/index.js.map +0 -0
- package/dist/logs/manager.d.ts +0 -0
- package/dist/logs/manager.d.ts.map +0 -0
- package/dist/logs/manager.js +0 -0
- package/dist/logs/manager.js.map +0 -0
- package/dist/logs/types.d.ts +0 -0
- package/dist/logs/types.d.ts.map +0 -0
- package/dist/logs/types.js +0 -0
- package/dist/logs/types.js.map +0 -0
- package/dist/paths.d.ts +0 -0
- package/dist/paths.d.ts.map +0 -0
- package/dist/paths.js +0 -0
- package/dist/paths.js.map +0 -0
- package/dist/repo/git.d.ts +0 -0
- package/dist/repo/git.d.ts.map +0 -0
- package/dist/repo/git.js +0 -0
- package/dist/repo/git.js.map +0 -0
- package/dist/repo/index.d.ts +0 -0
- package/dist/repo/index.d.ts.map +0 -0
- package/dist/repo/index.js +0 -0
- package/dist/repo/index.js.map +0 -0
- package/dist/repo/manager.d.ts +0 -0
- package/dist/repo/manager.d.ts.map +0 -0
- package/dist/repo/manager.js +0 -0
- package/dist/repo/manager.js.map +0 -0
- package/dist/repo/providers/bitbucket.d.ts +0 -0
- package/dist/repo/providers/bitbucket.d.ts.map +0 -0
- package/dist/repo/providers/bitbucket.js +0 -0
- package/dist/repo/providers/bitbucket.js.map +0 -0
- package/dist/repo/providers/github.d.ts +0 -0
- package/dist/repo/providers/github.d.ts.map +0 -0
- package/dist/repo/providers/github.js +0 -0
- package/dist/repo/providers/github.js.map +0 -0
- package/dist/repo/providers/gitlab.d.ts +0 -0
- package/dist/repo/providers/gitlab.d.ts.map +0 -0
- package/dist/repo/providers/gitlab.js +0 -0
- package/dist/repo/providers/gitlab.js.map +0 -0
- package/dist/repo/providers/index.d.ts +0 -0
- package/dist/repo/providers/index.d.ts.map +0 -0
- package/dist/repo/providers/index.js +0 -0
- package/dist/repo/providers/index.js.map +0 -0
- package/dist/repo/types.d.ts +0 -0
- package/dist/repo/types.d.ts.map +0 -0
- package/dist/repo/types.js +0 -0
- package/dist/repo/types.js.map +0 -0
- package/dist/spec/__tests__/manager.test.d.ts +0 -0
- package/dist/spec/__tests__/manager.test.d.ts.map +0 -0
- package/dist/spec/__tests__/manager.test.js +2 -2
- package/dist/spec/__tests__/manager.test.js.map +1 -1
- package/dist/spec/index.d.ts +3 -3
- package/dist/spec/index.d.ts.map +1 -1
- package/dist/spec/index.js +3 -3
- package/dist/spec/index.js.map +1 -1
- package/dist/spec/manager.d.ts +1 -1
- package/dist/spec/manager.d.ts.map +1 -1
- package/dist/spec/manager.js +3 -3
- package/dist/spec/manager.js.map +1 -1
- package/dist/spec/templates.d.ts +1 -1
- package/dist/spec/templates.d.ts.map +1 -1
- package/dist/spec/templates.js +0 -0
- package/dist/spec/templates.js.map +0 -0
- package/dist/spec/types.d.ts +2 -2
- package/dist/spec/types.d.ts.map +1 -1
- package/dist/spec/types.js +0 -0
- package/dist/spec/types.js.map +0 -0
- package/dist/state/index.d.ts +0 -0
- package/dist/state/index.d.ts.map +0 -0
- package/dist/state/index.js +0 -0
- package/dist/state/index.js.map +0 -0
- package/dist/state/manager.d.ts +0 -0
- package/dist/state/manager.d.ts.map +0 -0
- package/dist/state/manager.js +0 -0
- package/dist/state/manager.js.map +0 -0
- package/dist/state/session.d.ts +0 -0
- package/dist/state/session.d.ts.map +0 -0
- package/dist/state/session.js +0 -0
- package/dist/state/session.js.map +0 -0
- package/dist/state/types.d.ts +0 -0
- package/dist/state/types.d.ts.map +0 -0
- package/dist/state/types.js +0 -0
- package/dist/state/types.js.map +0 -0
- package/dist/storage/codex-adapter.d.ts +0 -0
- package/dist/storage/codex-adapter.d.ts.map +0 -0
- package/dist/storage/codex-adapter.js +0 -0
- package/dist/storage/codex-adapter.js.map +0 -0
- package/dist/storage/index.d.ts +0 -0
- package/dist/storage/index.d.ts.map +0 -0
- package/dist/storage/index.js +0 -0
- package/dist/storage/index.js.map +0 -0
- package/dist/storage/local.d.ts +0 -0
- package/dist/storage/local.d.ts.map +0 -0
- package/dist/storage/local.js +0 -0
- package/dist/storage/local.js.map +0 -0
- package/dist/types.d.ts +0 -0
- package/dist/types.d.ts.map +0 -0
- package/dist/types.js +0 -0
- package/dist/types.js.map +0 -0
- package/dist/work/index.d.ts +0 -0
- package/dist/work/index.d.ts.map +0 -0
- package/dist/work/index.js +0 -0
- package/dist/work/index.js.map +0 -0
- package/dist/work/manager.d.ts +0 -0
- package/dist/work/manager.d.ts.map +0 -0
- package/dist/work/manager.js +0 -0
- package/dist/work/manager.js.map +0 -0
- package/dist/work/providers/github.d.ts +5 -0
- package/dist/work/providers/github.d.ts.map +1 -1
- package/dist/work/providers/github.js +69 -41
- package/dist/work/providers/github.js.map +1 -1
- package/dist/work/providers/jira.d.ts +0 -0
- package/dist/work/providers/jira.d.ts.map +0 -0
- package/dist/work/providers/jira.js +0 -0
- package/dist/work/providers/jira.js.map +0 -0
- package/dist/work/providers/linear.d.ts +0 -0
- package/dist/work/providers/linear.d.ts.map +0 -0
- package/dist/work/providers/linear.js +0 -0
- package/dist/work/providers/linear.js.map +0 -0
- package/dist/work/types.d.ts +0 -0
- package/dist/work/types.d.ts.map +0 -0
- package/dist/work/types.js +0 -0
- package/dist/work/types.js.map +0 -0
- package/dist/workflow/__tests__/agent-executor.test.d.ts +0 -0
- package/dist/workflow/__tests__/agent-executor.test.d.ts.map +0 -0
- package/dist/workflow/__tests__/agent-executor.test.js +2 -2
- package/dist/workflow/__tests__/agent-executor.test.js.map +1 -1
- package/dist/workflow/__tests__/resolver.test.d.ts +0 -0
- package/dist/workflow/__tests__/resolver.test.d.ts.map +0 -0
- package/dist/workflow/__tests__/resolver.test.js +266 -25
- package/dist/workflow/__tests__/resolver.test.js.map +1 -1
- package/dist/workflow/agent-executor.d.ts +1 -1
- package/dist/workflow/agent-executor.d.ts.map +1 -1
- package/dist/workflow/agent-executor.js +3 -3
- package/dist/workflow/agent-executor.js.map +1 -1
- package/dist/workflow/faber.d.ts +0 -0
- package/dist/workflow/faber.d.ts.map +0 -0
- package/dist/workflow/faber.js +0 -0
- package/dist/workflow/faber.js.map +0 -0
- package/dist/workflow/index.d.ts +0 -0
- package/dist/workflow/index.d.ts.map +0 -0
- package/dist/workflow/index.js +0 -0
- package/dist/workflow/index.js.map +0 -0
- package/dist/workflow/resolver.d.ts +71 -4
- package/dist/workflow/resolver.d.ts.map +1 -1
- package/dist/workflow/resolver.js +44 -13
- package/dist/workflow/resolver.js.map +1 -1
- package/dist/workflow/types.d.ts +0 -0
- package/dist/workflow/types.d.ts.map +0 -0
- package/dist/workflow/types.js +0 -0
- package/dist/workflow/types.js.map +0 -0
- package/dist/workflows/__tests__/registry.test.d.ts +0 -0
- package/dist/workflows/__tests__/registry.test.d.ts.map +0 -0
- package/dist/workflows/__tests__/registry.test.js +3 -0
- package/dist/workflows/__tests__/registry.test.js.map +1 -1
- package/dist/workflows/registry.d.ts +0 -0
- package/dist/workflows/registry.d.ts.map +0 -0
- package/dist/workflows/registry.js +0 -0
- package/dist/workflows/registry.js.map +0 -0
- package/package.json +3 -3
- package/dist/cli/commands/logs.d.ts +0 -6
- package/dist/cli/commands/logs.d.ts.map +0 -1
- package/dist/cli/commands/logs.js +0 -215
- package/dist/cli/commands/logs.js.map +0 -1
- package/dist/cli/commands/repo.d.ts +0 -6
- package/dist/cli/commands/repo.d.ts.map +0 -1
- package/dist/cli/commands/repo.js +0 -260
- package/dist/cli/commands/repo.js.map +0 -1
- package/dist/cli/commands/spec.d.ts +0 -6
- package/dist/cli/commands/spec.d.ts.map +0 -1
- package/dist/cli/commands/spec.js +0 -184
- package/dist/cli/commands/spec.js.map +0 -1
- package/dist/cli/commands/work.d.ts +0 -6
- package/dist/cli/commands/work.d.ts.map +0 -1
- package/dist/cli/commands/work.js +0 -113
- package/dist/cli/commands/work.js.map +0 -1
- package/dist/cli/commands/workflow.d.ts +0 -6
- package/dist/cli/commands/workflow.d.ts.map +0 -1
- package/dist/cli/commands/workflow.js +0 -214
- package/dist/cli/commands/workflow.js.map +0 -1
- package/dist/cli/index.d.ts +0 -8
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -27
- package/dist/cli/index.js.map +0 -1
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fractary/faber - Claude Agent Executor
|
|
3
|
+
*
|
|
4
|
+
* Executes workflow steps via the Claude Agent SDK (@anthropic-ai/claude-agent-sdk).
|
|
5
|
+
* Each step gets a fresh session with isolated context — no accumulated history
|
|
6
|
+
* from prior steps.
|
|
7
|
+
*
|
|
8
|
+
* Also handles `!` command prefix: prompts starting with `!` (no space) are
|
|
9
|
+
* executed as direct shell commands with zero LLM cost.
|
|
10
|
+
*
|
|
11
|
+
* Hierarchical system prompt composition:
|
|
12
|
+
* 1. Claude Code preset (cached by Anthropic)
|
|
13
|
+
* 2. Workflow-level prompt (sets overall mission)
|
|
14
|
+
* 3. Phase-level prompt (adds phase guidance)
|
|
15
|
+
* 4. Structured metadata (self-service context pointers)
|
|
16
|
+
*/
|
|
17
|
+
import { spawn } from 'child_process';
|
|
18
|
+
import { buildSystemPrompt } from '../types.js';
|
|
19
|
+
const DEFAULT_MODEL = 'claude-sonnet-4-6-20250514';
|
|
20
|
+
const DEFAULT_MAX_TURNS = 25;
|
|
21
|
+
const COMMAND_PREFIX = '!';
|
|
22
|
+
export class ClaudeAgentExecutor {
|
|
23
|
+
provider = 'claude-agent';
|
|
24
|
+
async execute(prompt, context, config) {
|
|
25
|
+
const startTime = Date.now();
|
|
26
|
+
const trimmedPrompt = prompt.trim();
|
|
27
|
+
// Detect ! prefix — run as direct shell command
|
|
28
|
+
if (trimmedPrompt.startsWith(COMMAND_PREFIX) && trimmedPrompt.length > 1 && trimmedPrompt[1] !== ' ') {
|
|
29
|
+
const command = trimmedPrompt.slice(COMMAND_PREFIX.length);
|
|
30
|
+
return this.executeCommand(command, context, startTime);
|
|
31
|
+
}
|
|
32
|
+
// Agentic execution via Claude Agent SDK
|
|
33
|
+
return this.executeAgent(prompt, context, config, startTime);
|
|
34
|
+
}
|
|
35
|
+
async validate(config) {
|
|
36
|
+
// For agentic execution, we need ANTHROPIC_API_KEY
|
|
37
|
+
const apiKeyEnv = config.api_key_env || 'ANTHROPIC_API_KEY';
|
|
38
|
+
const apiKey = process.env[apiKeyEnv];
|
|
39
|
+
if (!apiKey) {
|
|
40
|
+
return {
|
|
41
|
+
valid: false,
|
|
42
|
+
error: `Environment variable '${apiKeyEnv}' is not set. Required for Claude Agent SDK.`,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
return { valid: true };
|
|
46
|
+
}
|
|
47
|
+
// ══════════════════════════════════════════════════════════════════════
|
|
48
|
+
// Shell Command Execution (! prefix)
|
|
49
|
+
// ══════════════════════════════════════════════════════════════════════
|
|
50
|
+
async executeCommand(command, context, startTime) {
|
|
51
|
+
const resolvedCommand = this.substituteVariables(command, context);
|
|
52
|
+
try {
|
|
53
|
+
const { stdout, stderr, exitCode } = await this.spawnCommand(resolvedCommand, context.workingDirectory);
|
|
54
|
+
const output = stdout || stderr || '(no output)';
|
|
55
|
+
const status = exitCode === 0 ? 'success' : 'failure';
|
|
56
|
+
return {
|
|
57
|
+
output,
|
|
58
|
+
status,
|
|
59
|
+
error: status === 'failure' ? `Command exited with code ${exitCode}: ${stderr || stdout}` : undefined,
|
|
60
|
+
metadata: {
|
|
61
|
+
provider: 'command',
|
|
62
|
+
duration_ms: Date.now() - startTime,
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
return {
|
|
68
|
+
output: '',
|
|
69
|
+
status: 'failure',
|
|
70
|
+
error: `Command execution error: ${error instanceof Error ? error.message : String(error)}`,
|
|
71
|
+
metadata: {
|
|
72
|
+
provider: 'command',
|
|
73
|
+
duration_ms: Date.now() - startTime,
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
spawnCommand(command, cwd, timeoutMs = 120_000) {
|
|
79
|
+
return new Promise((resolve, reject) => {
|
|
80
|
+
const proc = spawn('bash', ['-c', command], {
|
|
81
|
+
cwd,
|
|
82
|
+
env: process.env,
|
|
83
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
84
|
+
timeout: timeoutMs,
|
|
85
|
+
});
|
|
86
|
+
let stdout = '';
|
|
87
|
+
let stderr = '';
|
|
88
|
+
proc.stdout.on('data', (data) => { stdout += data.toString(); });
|
|
89
|
+
proc.stderr.on('data', (data) => { stderr += data.toString(); });
|
|
90
|
+
proc.on('close', (code) => {
|
|
91
|
+
resolve({ stdout: stdout.trim(), stderr: stderr.trim(), exitCode: code ?? 1 });
|
|
92
|
+
});
|
|
93
|
+
proc.on('error', (err) => {
|
|
94
|
+
reject(err);
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
// ══════════════════════════════════════════════════════════════════════
|
|
99
|
+
// Agentic Execution (Claude Agent SDK)
|
|
100
|
+
// ══════════════════════════════════════════════════════════════════════
|
|
101
|
+
async executeAgent(prompt, context, config, startTime) {
|
|
102
|
+
// Extract runtime config and prompt context from extended context
|
|
103
|
+
const extendedContext = context;
|
|
104
|
+
const runtimeConfig = extendedContext.runtimeConfig || {};
|
|
105
|
+
const promptContext = extendedContext.promptContext;
|
|
106
|
+
const model = runtimeConfig.model || config.model || DEFAULT_MODEL;
|
|
107
|
+
const maxTurns = runtimeConfig.maxTurns || DEFAULT_MAX_TURNS;
|
|
108
|
+
// Build hierarchical system prompt
|
|
109
|
+
const composedPrompt = promptContext ? buildSystemPrompt(promptContext) : undefined;
|
|
110
|
+
try {
|
|
111
|
+
// Dynamic import — the Agent SDK is an optional dependency.
|
|
112
|
+
// It's only needed when running in CLI-native mode with harness: 'claude-code'.
|
|
113
|
+
const { query } = await import('@anthropic-ai/claude-agent-sdk');
|
|
114
|
+
let resultOutput = '';
|
|
115
|
+
let inputTokens = 0;
|
|
116
|
+
let outputTokens = 0;
|
|
117
|
+
for await (const message of query({
|
|
118
|
+
prompt: this.substituteVariables(prompt, context),
|
|
119
|
+
options: {
|
|
120
|
+
cwd: context.workingDirectory,
|
|
121
|
+
model,
|
|
122
|
+
maxTurns,
|
|
123
|
+
maxBudgetUsd: runtimeConfig.maxBudgetUsd,
|
|
124
|
+
// Claude Code preset + composed workflow/phase/metadata context
|
|
125
|
+
systemPrompt: composedPrompt
|
|
126
|
+
? { type: 'preset', preset: 'claude_code', append: composedPrompt }
|
|
127
|
+
: undefined,
|
|
128
|
+
// Load project skills and CLAUDE.md
|
|
129
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
130
|
+
settingSources: ['project'],
|
|
131
|
+
// Full Claude Code tool preset
|
|
132
|
+
tools: { type: 'preset', preset: 'claude_code' },
|
|
133
|
+
allowedTools: runtimeConfig.allowedTools,
|
|
134
|
+
// MCP servers from step config
|
|
135
|
+
mcpServers: runtimeConfig.mcp,
|
|
136
|
+
// Autonomous execution
|
|
137
|
+
permissionMode: 'bypassPermissions',
|
|
138
|
+
},
|
|
139
|
+
})) {
|
|
140
|
+
if (message.type === 'result') {
|
|
141
|
+
const resultMsg = message;
|
|
142
|
+
if (resultMsg.subtype === 'success') {
|
|
143
|
+
resultOutput = String(resultMsg['result'] ?? '');
|
|
144
|
+
const usage = resultMsg['usage'];
|
|
145
|
+
if (usage) {
|
|
146
|
+
inputTokens = usage.input_tokens || 0;
|
|
147
|
+
outputTokens = usage.output_tokens || 0;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
// Error result (max_turns, max_budget, execution error)
|
|
152
|
+
const errors = resultMsg['errors'];
|
|
153
|
+
return {
|
|
154
|
+
output: '',
|
|
155
|
+
status: 'failure',
|
|
156
|
+
error: `Agent SDK error (${String(resultMsg.subtype)}): ${(errors || []).join('; ')}`,
|
|
157
|
+
metadata: {
|
|
158
|
+
provider: this.provider,
|
|
159
|
+
model,
|
|
160
|
+
duration_ms: Date.now() - startTime,
|
|
161
|
+
},
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return {
|
|
167
|
+
output: resultOutput,
|
|
168
|
+
status: 'success',
|
|
169
|
+
metadata: {
|
|
170
|
+
provider: this.provider,
|
|
171
|
+
model,
|
|
172
|
+
duration_ms: Date.now() - startTime,
|
|
173
|
+
tokens_used: inputTokens || outputTokens
|
|
174
|
+
? { input: inputTokens, output: outputTokens }
|
|
175
|
+
: undefined,
|
|
176
|
+
},
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
catch (error) {
|
|
180
|
+
// Handle case where Agent SDK is not installed
|
|
181
|
+
if (error instanceof Error &&
|
|
182
|
+
(error.message.includes('Cannot find module') || error.message.includes('ERR_MODULE_NOT_FOUND'))) {
|
|
183
|
+
return {
|
|
184
|
+
output: '',
|
|
185
|
+
status: 'failure',
|
|
186
|
+
error: 'Claude Agent SDK (@anthropic-ai/claude-agent-sdk) is not installed. ' +
|
|
187
|
+
'Install it with: npm install @anthropic-ai/claude-agent-sdk',
|
|
188
|
+
metadata: {
|
|
189
|
+
provider: this.provider,
|
|
190
|
+
model,
|
|
191
|
+
duration_ms: Date.now() - startTime,
|
|
192
|
+
},
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
return {
|
|
196
|
+
output: '',
|
|
197
|
+
status: 'failure',
|
|
198
|
+
error: `Claude Agent executor error: ${error instanceof Error ? error.message : String(error)}`,
|
|
199
|
+
metadata: {
|
|
200
|
+
provider: this.provider,
|
|
201
|
+
model,
|
|
202
|
+
duration_ms: Date.now() - startTime,
|
|
203
|
+
},
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
// ══════════════════════════════════════════════════════════════════════
|
|
208
|
+
// Variable Substitution
|
|
209
|
+
// ══════════════════════════════════════════════════════════════════════
|
|
210
|
+
/**
|
|
211
|
+
* Substitute {placeholder} variables in a string with values from the
|
|
212
|
+
* execution context. Supports: {work_id}, {run_id}, {phase}, {step_id}.
|
|
213
|
+
*/
|
|
214
|
+
substituteVariables(text, context) {
|
|
215
|
+
return text
|
|
216
|
+
.replace(/\{work_id\}/g, context.workId)
|
|
217
|
+
.replace(/\{run_id\}/g, context.runId || '')
|
|
218
|
+
.replace(/\{phase\}/g, context.phase)
|
|
219
|
+
.replace(/\{step_id\}/g, context.stepId);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
//# sourceMappingURL=claude-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-agent.js","sourceRoot":"","sources":["../../../src/executors/providers/claude-agent.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/executors/providers/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/executors/providers/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,aAAa,CAAC;AASrB,qBAAa,cAAe,YAAW,QAAQ;IAC7C,QAAQ,CAAC,QAAQ,YAAY;IAEvB,OAAO,CACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,cAAc,CAAC;IA6HpB,QAAQ,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAcvF,OAAO,CAAC,kBAAkB;CAoB3B"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* Default env var: ANTHROPIC_API_KEY
|
|
8
8
|
* Default model: claude-sonnet-4-6-20250514
|
|
9
9
|
*/
|
|
10
|
+
import { buildSystemPrompt } from '../types.js';
|
|
10
11
|
const DEFAULT_MODEL = 'claude-sonnet-4-6-20250514';
|
|
11
12
|
const DEFAULT_MAX_TOKENS = 8192;
|
|
12
13
|
const DEFAULT_API_KEY_ENV = 'ANTHROPIC_API_KEY';
|
|
@@ -39,7 +40,35 @@ export class ClaudeExecutor {
|
|
|
39
40
|
max_tokens: maxTokens,
|
|
40
41
|
messages,
|
|
41
42
|
};
|
|
42
|
-
|
|
43
|
+
// Build system prompt — use structured format with cache_control
|
|
44
|
+
// when hierarchical prompt context is available (CLI-native mode)
|
|
45
|
+
const extendedContext = context;
|
|
46
|
+
const promptContext = extendedContext.promptContext;
|
|
47
|
+
if (promptContext) {
|
|
48
|
+
// Structured system prompt with prompt caching
|
|
49
|
+
const stablePrefix = buildSystemPrompt(promptContext);
|
|
50
|
+
const systemBlocks = [];
|
|
51
|
+
// Stable prefix (workflow prompt + phase prompt + metadata) — cacheable
|
|
52
|
+
if (stablePrefix) {
|
|
53
|
+
systemBlocks.push({
|
|
54
|
+
type: 'text',
|
|
55
|
+
text: stablePrefix,
|
|
56
|
+
cache_control: { type: 'ephemeral' },
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
// Step-specific system prompt override — not cached (varies per step)
|
|
60
|
+
if (config.system_prompt) {
|
|
61
|
+
systemBlocks.push({
|
|
62
|
+
type: 'text',
|
|
63
|
+
text: config.system_prompt,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
if (systemBlocks.length > 0) {
|
|
67
|
+
body.system = systemBlocks;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
else if (config.system_prompt) {
|
|
71
|
+
// Legacy: plain string system prompt (no caching)
|
|
43
72
|
body.system = config.system_prompt;
|
|
44
73
|
}
|
|
45
74
|
if (config.temperature !== undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/executors/providers/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/executors/providers/claude.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Built-in executor implementations for different model providers and services.
|
|
5
5
|
*/
|
|
6
6
|
export { ClaudeExecutor } from './claude.js';
|
|
7
|
+
export { ClaudeAgentExecutor } from './claude-agent.js';
|
|
7
8
|
export { OpenAIExecutor } from './openai.js';
|
|
8
9
|
export { OpenAICompatibleExecutor } from './openai-compatible.js';
|
|
9
10
|
export { HttpExecutor } from './http.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/executors/providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/executors/providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Built-in executor implementations for different model providers and services.
|
|
5
5
|
*/
|
|
6
6
|
export { ClaudeExecutor } from './claude.js';
|
|
7
|
+
export { ClaudeAgentExecutor } from './claude-agent.js';
|
|
7
8
|
export { OpenAIExecutor } from './openai.js';
|
|
8
9
|
export { OpenAICompatibleExecutor } from './openai-compatible.js';
|
|
9
10
|
export { HttpExecutor } from './http.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/executors/providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/executors/providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/executors/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EACf,kBAAkB,EACnB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/executors/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EACf,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAWpB,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,SAAS,CAA+B;IAEhD;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI;IAM1D;;;OAGG;IACH,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ;IAiB/B;;OAEG;IACH,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI9B;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAIzB;;;;;;;;;;;;;;;;OAgBG;IACH,cAAc,CACZ,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,kBAAkB,CAAA;KAAE,EACvC,KAAK,EAAE,MAAM,EACb,gBAAgB,CAAC,EAAE,kBAAkB,EACrC,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,GAC3D;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,kBAAkB,CAAA;KAAE,GAAG,IAAI;IAc5D;;;;OAIG;IACG,gBAAgB,CACpB,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,EAAE,kBAAkB,CAAA;KAAE,CAAC,EAC/C,gBAAgB,CAAC,EAAE,kBAAkB,EACrC,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,GAC3D,OAAO,CAAC,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAkDvD;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,gBAAgB;CAWzC"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* (Claude Code direct execution in skill mode, or Claude API in CLI mode).
|
|
10
10
|
*/
|
|
11
11
|
import { ClaudeExecutor } from './providers/claude.js';
|
|
12
|
+
import { ClaudeAgentExecutor } from './providers/claude-agent.js';
|
|
12
13
|
import { OpenAIExecutor } from './providers/openai.js';
|
|
13
14
|
import { OpenAICompatibleExecutor } from './providers/openai-compatible.js';
|
|
14
15
|
import { HttpExecutor } from './providers/http.js';
|
|
@@ -137,6 +138,7 @@ export class ExecutorRegistry {
|
|
|
137
138
|
static createDefault() {
|
|
138
139
|
const registry = new ExecutorRegistry();
|
|
139
140
|
registry.register('claude', () => new ClaudeExecutor());
|
|
141
|
+
registry.register('claude-agent', () => new ClaudeAgentExecutor());
|
|
140
142
|
registry.register('openai', () => new OpenAIExecutor());
|
|
141
143
|
registry.register('openai-compatible', () => new OpenAICompatibleExecutor());
|
|
142
144
|
registry.register('http', () => new HttpExecutor());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/executors/registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/executors/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Defines the abstraction layer between workflow steps and the models/services
|
|
5
5
|
* that execute them. Enables multi-model workflows where individual steps can
|
|
6
|
-
* be routed to different providers (Claude, OpenAI, self-hosted LLMs, HTTP APIs)
|
|
6
|
+
* be routed to different providers (Claude, OpenAI, self-hosted LLMs, HTTP APIs)
|
|
7
|
+
* or agentic harnesses (Claude Code, OpenCode, Codex).
|
|
7
8
|
*/
|
|
8
9
|
/**
|
|
9
10
|
* Executor configuration for a workflow step.
|
|
@@ -145,4 +146,138 @@ export interface Executor {
|
|
|
145
146
|
* Used by the ExecutorRegistry for lazy instantiation.
|
|
146
147
|
*/
|
|
147
148
|
export type ExecutorFactory = () => Executor;
|
|
149
|
+
/**
|
|
150
|
+
* Agentic harness identifiers for CLI-native workflow execution.
|
|
151
|
+
*
|
|
152
|
+
* Each harness represents a runtime environment that can execute workflow steps.
|
|
153
|
+
* Steps specify their harness to control how they're executed when running
|
|
154
|
+
* via `workflow-execute` (CLI-native mode).
|
|
155
|
+
*
|
|
156
|
+
* In LLM-based mode (workflow-run skill), these are ignored — the orchestrating
|
|
157
|
+
* LLM executes steps directly within its own session.
|
|
158
|
+
*/
|
|
159
|
+
export type HarnessType = 'claude-code' | 'opencode' | 'codex' | 'api';
|
|
160
|
+
/**
|
|
161
|
+
* Runtime configuration for a workflow step in CLI-native execution mode.
|
|
162
|
+
*
|
|
163
|
+
* These attributes are resolved via a cascade:
|
|
164
|
+
* step-level > phase_defaults[phase] > workflow.defaults > CLI args > system defaults
|
|
165
|
+
*
|
|
166
|
+
* All fields are optional — unset fields inherit from the next level in the cascade.
|
|
167
|
+
*/
|
|
168
|
+
export interface StepRuntimeConfig {
|
|
169
|
+
/** Model identifier (e.g., 'claude-sonnet-4-6-20250514', 'gpt-4o') */
|
|
170
|
+
model?: string;
|
|
171
|
+
/**
|
|
172
|
+
* Agentic harness to use for step execution.
|
|
173
|
+
* - 'claude-code': Claude Agent SDK — full tool use, file access, skills
|
|
174
|
+
* - 'opencode': OpenCode CLI/SDK (future)
|
|
175
|
+
* - 'codex': OpenAI Codex CLI (future)
|
|
176
|
+
* - 'api': Direct Messages API — text-in/text-out, no tool use
|
|
177
|
+
*/
|
|
178
|
+
harness?: HarnessType;
|
|
179
|
+
/** Maximum agentic turns (tool-use round trips) */
|
|
180
|
+
maxTurns?: number;
|
|
181
|
+
/** Maximum budget in USD for this step */
|
|
182
|
+
maxBudgetUsd?: number;
|
|
183
|
+
/** Tools the agent is allowed to use (e.g., ['Read', 'Write', 'Edit', 'Bash']) */
|
|
184
|
+
allowedTools?: string[];
|
|
185
|
+
/** Skills to make available (e.g., ['fractary-repo', 'fractary-work']) */
|
|
186
|
+
skills?: string[];
|
|
187
|
+
/** MCP server configurations keyed by server name */
|
|
188
|
+
mcp?: Record<string, {
|
|
189
|
+
command: string;
|
|
190
|
+
args?: string[];
|
|
191
|
+
}>;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Structured metadata auto-injected into each step's system prompt.
|
|
195
|
+
*
|
|
196
|
+
* Provides self-service pointers so the step can pull additional context
|
|
197
|
+
* if needed, without paying the token cost of loading it all upfront.
|
|
198
|
+
* Steps are designed to be stateless by default — the metadata block
|
|
199
|
+
* is a safety net for self-service lookups, not a context dump.
|
|
200
|
+
*/
|
|
201
|
+
export interface StepWorkflowMetadata {
|
|
202
|
+
work_id: string;
|
|
203
|
+
plan_id?: string;
|
|
204
|
+
run_id?: string;
|
|
205
|
+
state_path?: string;
|
|
206
|
+
plan_path?: string;
|
|
207
|
+
branch?: string;
|
|
208
|
+
phase: string;
|
|
209
|
+
step_id: string;
|
|
210
|
+
step_index: number;
|
|
211
|
+
steps_total: number;
|
|
212
|
+
project_root: string;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Context for building a step's hierarchical system prompt.
|
|
216
|
+
*
|
|
217
|
+
* System prompt composition order:
|
|
218
|
+
* 1. Workflow-level prompt (from workflow.prompt or defaults.prompt)
|
|
219
|
+
* 2. Phase-level prompt (from phase_defaults[phase].prompt)
|
|
220
|
+
* 3. Structured metadata (auto-injected)
|
|
221
|
+
*/
|
|
222
|
+
export interface StepPromptContext {
|
|
223
|
+
/** Workflow-level prompt setting the overall mission */
|
|
224
|
+
workflowPrompt?: string;
|
|
225
|
+
/** Phase-level prompt adding phase-specific guidance */
|
|
226
|
+
phasePrompt?: string;
|
|
227
|
+
/** Structured metadata for self-service context lookups */
|
|
228
|
+
metadata: StepWorkflowMetadata;
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Compose the hierarchical system prompt for a step.
|
|
232
|
+
*
|
|
233
|
+
* Concatenates workflow prompt, phase prompt, and structured metadata
|
|
234
|
+
* into a single string suitable for `systemPrompt.append` in the Agent SDK
|
|
235
|
+
* or the system prompt body in direct API mode.
|
|
236
|
+
*/
|
|
237
|
+
export declare function buildSystemPrompt(promptContext: StepPromptContext): string;
|
|
238
|
+
/**
|
|
239
|
+
* Default runtime configuration for workflow steps.
|
|
240
|
+
*
|
|
241
|
+
* Workflow-level defaults that apply when no step, phase, or workflow
|
|
242
|
+
* override is specified. Used as the final fallback in the cascade.
|
|
243
|
+
*/
|
|
244
|
+
export interface RuntimeDefaults {
|
|
245
|
+
/** Workflow-level system prompt (sets overall mission context) */
|
|
246
|
+
prompt?: string;
|
|
247
|
+
/** Default model for all steps */
|
|
248
|
+
model?: string;
|
|
249
|
+
/** Default harness for all steps */
|
|
250
|
+
harness?: string;
|
|
251
|
+
/** Default max agentic turns */
|
|
252
|
+
max_turns?: number;
|
|
253
|
+
/** Default max budget per step */
|
|
254
|
+
max_budget_usd?: number;
|
|
255
|
+
/** Default allowed tools */
|
|
256
|
+
allowed_tools?: string[];
|
|
257
|
+
/** Default skills */
|
|
258
|
+
skills?: string[];
|
|
259
|
+
/** Default MCP servers */
|
|
260
|
+
mcp?: Record<string, {
|
|
261
|
+
command: string;
|
|
262
|
+
args?: string[];
|
|
263
|
+
}>;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Per-phase runtime defaults (extends RuntimeDefaults with phase-specific prompt).
|
|
267
|
+
*/
|
|
268
|
+
export interface PhaseRuntimeDefaults extends RuntimeDefaults {
|
|
269
|
+
/** Phase-level system prompt (adds phase-specific guidance) */
|
|
270
|
+
prompt?: string;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Resolve runtime configuration for a step using the cascade:
|
|
274
|
+
* step-level > phase_defaults[phase] > workflow.defaults > cliOverrides > system defaults
|
|
275
|
+
*
|
|
276
|
+
* @param step - Step-level runtime config (from workflow step definition)
|
|
277
|
+
* @param phaseDefaults - Phase-level defaults (from workflow.phase_defaults[phase])
|
|
278
|
+
* @param workflowDefaults - Workflow-level defaults (from workflow.defaults)
|
|
279
|
+
* @param cliOverrides - CLI-provided overrides (from --model, --harness flags)
|
|
280
|
+
* @returns Fully resolved runtime config
|
|
281
|
+
*/
|
|
282
|
+
export declare function resolveRuntimeConfig(step: Partial<StepRuntimeConfig> | undefined, phaseDefaults: Partial<RuntimeDefaults> | undefined, workflowDefaults: Partial<RuntimeDefaults> | undefined, cliOverrides?: Partial<StepRuntimeConfig>): StepRuntimeConfig;
|
|
148
283
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/executors/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/executors/types.ts"],"names":[],"mappings":"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"}
|