patchwork-os 0.2.0-alpha.2 → 0.2.0-alpha.22
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/README.bridge.md +6 -0
- package/README.md +40 -15
- package/deploy/bootstrap-vps.sh +184 -0
- package/dist/approvalHttp.d.ts +11 -2
- package/dist/approvalHttp.js +98 -10
- package/dist/approvalHttp.js.map +1 -1
- package/dist/approvalQueue.d.ts +12 -1
- package/dist/approvalQueue.js +25 -3
- package/dist/approvalQueue.js.map +1 -1
- package/dist/automation.d.ts +20 -0
- package/dist/automation.js +35 -0
- package/dist/automation.js.map +1 -1
- package/dist/bridge.js +145 -23
- package/dist/bridge.js.map +1 -1
- package/dist/bridgeToken.js +57 -19
- package/dist/bridgeToken.js.map +1 -1
- package/dist/claudeDriver.d.ts +3 -1
- package/dist/claudeDriver.js +48 -0
- package/dist/claudeDriver.js.map +1 -1
- package/dist/claudeOrchestrator.d.ts +1 -1
- package/dist/claudeOrchestrator.js +14 -8
- package/dist/claudeOrchestrator.js.map +1 -1
- package/dist/commands/launchd.d.ts +2 -0
- package/dist/commands/launchd.js +94 -0
- package/dist/commands/launchd.js.map +1 -0
- package/dist/commands/recipe.d.ts +256 -0
- package/dist/commands/recipe.js +1313 -0
- package/dist/commands/recipe.js.map +1 -0
- package/dist/config.d.ts +15 -2
- package/dist/config.js +94 -8
- package/dist/config.js.map +1 -1
- package/dist/connectors/baseConnector.d.ts +117 -0
- package/dist/connectors/baseConnector.js +213 -0
- package/dist/connectors/baseConnector.js.map +1 -0
- package/dist/connectors/confluence.d.ts +111 -0
- package/dist/connectors/confluence.js +406 -0
- package/dist/connectors/confluence.js.map +1 -0
- package/dist/connectors/fixtureLibrary.d.ts +21 -0
- package/dist/connectors/fixtureLibrary.js +70 -0
- package/dist/connectors/fixtureLibrary.js.map +1 -0
- package/dist/connectors/fixtureRecorder.d.ts +1 -0
- package/dist/connectors/fixtureRecorder.js +35 -0
- package/dist/connectors/fixtureRecorder.js.map +1 -0
- package/dist/connectors/github.d.ts +58 -8
- package/dist/connectors/github.js +312 -84
- package/dist/connectors/github.js.map +1 -1
- package/dist/connectors/gmail.d.ts +4 -1
- package/dist/connectors/gmail.js +93 -16
- package/dist/connectors/gmail.js.map +1 -1
- package/dist/connectors/googleCalendar.d.ts +60 -0
- package/dist/connectors/googleCalendar.js +345 -0
- package/dist/connectors/googleCalendar.js.map +1 -0
- package/dist/connectors/jira.d.ts +98 -0
- package/dist/connectors/jira.js +379 -0
- package/dist/connectors/jira.js.map +1 -0
- package/dist/connectors/linear.d.ts +117 -0
- package/dist/connectors/linear.js +239 -0
- package/dist/connectors/linear.js.map +1 -0
- package/dist/connectors/mcpClient.d.ts +56 -0
- package/dist/connectors/mcpClient.js +189 -0
- package/dist/connectors/mcpClient.js.map +1 -0
- package/dist/connectors/mcpOAuth.d.ts +84 -0
- package/dist/connectors/mcpOAuth.js +389 -0
- package/dist/connectors/mcpOAuth.js.map +1 -0
- package/dist/connectors/mockConnector.d.ts +28 -0
- package/dist/connectors/mockConnector.js +81 -0
- package/dist/connectors/mockConnector.js.map +1 -0
- package/dist/connectors/notion.d.ts +143 -0
- package/dist/connectors/notion.js +424 -0
- package/dist/connectors/notion.js.map +1 -0
- package/dist/connectors/sentry.d.ts +43 -0
- package/dist/connectors/sentry.js +188 -0
- package/dist/connectors/sentry.js.map +1 -0
- package/dist/connectors/slack.d.ts +50 -0
- package/dist/connectors/slack.js +324 -0
- package/dist/connectors/slack.js.map +1 -0
- package/dist/connectors/tokenStorage.d.ts +35 -0
- package/dist/connectors/tokenStorage.js +394 -0
- package/dist/connectors/tokenStorage.js.map +1 -0
- package/dist/connectors/zendesk.d.ts +104 -0
- package/dist/connectors/zendesk.js +424 -0
- package/dist/connectors/zendesk.js.map +1 -0
- package/dist/drivers/claude/api.d.ts +11 -0
- package/dist/drivers/claude/api.js +54 -0
- package/dist/drivers/claude/api.js.map +1 -0
- package/dist/drivers/claude/envSanitizer.d.ts +7 -0
- package/dist/drivers/claude/envSanitizer.js +18 -0
- package/dist/drivers/claude/envSanitizer.js.map +1 -0
- package/dist/drivers/claude/streamParser.d.ts +38 -0
- package/dist/drivers/claude/streamParser.js +34 -0
- package/dist/drivers/claude/streamParser.js.map +1 -0
- package/dist/drivers/claude/subprocess.d.ts +19 -0
- package/dist/drivers/claude/subprocess.js +216 -0
- package/dist/drivers/claude/subprocess.js.map +1 -0
- package/dist/drivers/claude/subprocessSettings.d.ts +9 -0
- package/dist/drivers/claude/subprocessSettings.js +55 -0
- package/dist/drivers/claude/subprocessSettings.js.map +1 -0
- package/dist/drivers/gemini/index.d.ts +18 -0
- package/dist/drivers/gemini/index.js +210 -0
- package/dist/drivers/gemini/index.js.map +1 -0
- package/dist/drivers/grok/index.d.ts +11 -0
- package/dist/drivers/grok/index.js +22 -0
- package/dist/drivers/grok/index.js.map +1 -0
- package/dist/drivers/index.d.ts +23 -0
- package/dist/drivers/index.js +31 -0
- package/dist/drivers/index.js.map +1 -0
- package/dist/drivers/openai/index.d.ts +24 -0
- package/dist/drivers/openai/index.js +110 -0
- package/dist/drivers/openai/index.js.map +1 -0
- package/dist/drivers/types.d.ts +72 -0
- package/dist/drivers/types.js +30 -0
- package/dist/drivers/types.js.map +1 -0
- package/dist/featureFlags.d.ts +73 -0
- package/dist/featureFlags.js +203 -0
- package/dist/featureFlags.js.map +1 -0
- package/dist/fp/automationInterpreter.js +1 -0
- package/dist/fp/automationInterpreter.js.map +1 -1
- package/dist/fp/automationProgram.d.ts +1 -1
- package/dist/fp/automationProgram.js.map +1 -1
- package/dist/fp/policyParser.js +17 -0
- package/dist/fp/policyParser.js.map +1 -1
- package/dist/index.js +543 -37
- package/dist/index.js.map +1 -1
- package/dist/installGuard.d.ts +25 -0
- package/dist/installGuard.js +48 -0
- package/dist/installGuard.js.map +1 -0
- package/dist/oauth.d.ts +4 -1
- package/dist/oauth.js +50 -14
- package/dist/oauth.js.map +1 -1
- package/dist/patchworkConfig.d.ts +9 -0
- package/dist/patchworkConfig.js.map +1 -1
- package/dist/recipes/chainedRunner.d.ts +104 -0
- package/dist/recipes/chainedRunner.js +359 -0
- package/dist/recipes/chainedRunner.js.map +1 -0
- package/dist/recipes/dependencyGraph.d.ts +39 -0
- package/dist/recipes/dependencyGraph.js +199 -0
- package/dist/recipes/dependencyGraph.js.map +1 -0
- package/dist/recipes/legacyRecipeCompat.d.ts +1 -0
- package/dist/recipes/legacyRecipeCompat.js +97 -0
- package/dist/recipes/legacyRecipeCompat.js.map +1 -0
- package/dist/recipes/nestedRecipeStep.d.ts +58 -0
- package/dist/recipes/nestedRecipeStep.js +95 -0
- package/dist/recipes/nestedRecipeStep.js.map +1 -0
- package/dist/recipes/outputRegistry.d.ts +28 -0
- package/dist/recipes/outputRegistry.js +52 -0
- package/dist/recipes/outputRegistry.js.map +1 -0
- package/dist/recipes/scheduler.d.ts +23 -7
- package/dist/recipes/scheduler.js +135 -41
- package/dist/recipes/scheduler.js.map +1 -1
- package/dist/recipes/schemaGenerator.d.ts +28 -0
- package/dist/recipes/schemaGenerator.js +484 -0
- package/dist/recipes/schemaGenerator.js.map +1 -0
- package/dist/recipes/templateEngine.d.ts +62 -0
- package/dist/recipes/templateEngine.js +182 -0
- package/dist/recipes/templateEngine.js.map +1 -0
- package/dist/recipes/toolRegistry.d.ts +181 -0
- package/dist/recipes/toolRegistry.js +300 -0
- package/dist/recipes/toolRegistry.js.map +1 -0
- package/dist/recipes/tools/calendar.d.ts +6 -0
- package/dist/recipes/tools/calendar.js +61 -0
- package/dist/recipes/tools/calendar.js.map +1 -0
- package/dist/recipes/tools/confluence.d.ts +6 -0
- package/dist/recipes/tools/confluence.js +254 -0
- package/dist/recipes/tools/confluence.js.map +1 -0
- package/dist/recipes/tools/diagnostics.d.ts +6 -0
- package/dist/recipes/tools/diagnostics.js +36 -0
- package/dist/recipes/tools/diagnostics.js.map +1 -0
- package/dist/recipes/tools/file.d.ts +6 -0
- package/dist/recipes/tools/file.js +170 -0
- package/dist/recipes/tools/file.js.map +1 -0
- package/dist/recipes/tools/git.d.ts +6 -0
- package/dist/recipes/tools/git.js +63 -0
- package/dist/recipes/tools/git.js.map +1 -0
- package/dist/recipes/tools/github.d.ts +6 -0
- package/dist/recipes/tools/github.js +91 -0
- package/dist/recipes/tools/github.js.map +1 -0
- package/dist/recipes/tools/gmail.d.ts +6 -0
- package/dist/recipes/tools/gmail.js +210 -0
- package/dist/recipes/tools/gmail.js.map +1 -0
- package/dist/recipes/tools/index.d.ts +18 -0
- package/dist/recipes/tools/index.js +21 -0
- package/dist/recipes/tools/index.js.map +1 -0
- package/dist/recipes/tools/linear.d.ts +6 -0
- package/dist/recipes/tools/linear.js +83 -0
- package/dist/recipes/tools/linear.js.map +1 -0
- package/dist/recipes/tools/notion.d.ts +6 -0
- package/dist/recipes/tools/notion.js +278 -0
- package/dist/recipes/tools/notion.js.map +1 -0
- package/dist/recipes/tools/slack.d.ts +6 -0
- package/dist/recipes/tools/slack.js +72 -0
- package/dist/recipes/tools/slack.js.map +1 -0
- package/dist/recipes/tools/zendesk.d.ts +6 -0
- package/dist/recipes/tools/zendesk.js +245 -0
- package/dist/recipes/tools/zendesk.js.map +1 -0
- package/dist/recipes/yamlRunner.d.ts +79 -0
- package/dist/recipes/yamlRunner.js +612 -346
- package/dist/recipes/yamlRunner.js.map +1 -1
- package/dist/recipesHttp.d.ts +14 -1
- package/dist/recipesHttp.js +21 -4
- package/dist/recipesHttp.js.map +1 -1
- package/dist/riskTier.js +1 -0
- package/dist/riskTier.js.map +1 -1
- package/dist/runLog.d.ts +23 -0
- package/dist/runLog.js +56 -1
- package/dist/runLog.js.map +1 -1
- package/dist/server.d.ts +19 -1
- package/dist/server.js +682 -31
- package/dist/server.js.map +1 -1
- package/dist/streamableHttp.js +2 -0
- package/dist/streamableHttp.js.map +1 -1
- package/dist/tools/addLinearComment.d.ts +55 -0
- package/dist/tools/addLinearComment.js +72 -0
- package/dist/tools/addLinearComment.js.map +1 -0
- package/dist/tools/bridgeDoctor.js +2 -2
- package/dist/tools/bridgeDoctor.js.map +1 -1
- package/dist/tools/createLinearIssue.d.ts +84 -0
- package/dist/tools/createLinearIssue.js +146 -0
- package/dist/tools/createLinearIssue.js.map +1 -0
- package/dist/tools/ctxGetTaskContext.d.ts +4 -1
- package/dist/tools/ctxGetTaskContext.js +45 -2
- package/dist/tools/ctxGetTaskContext.js.map +1 -1
- package/dist/tools/fetchCalendarEvents.d.ts +94 -0
- package/dist/tools/fetchCalendarEvents.js +97 -0
- package/dist/tools/fetchCalendarEvents.js.map +1 -0
- package/dist/tools/fetchGithubIssue.d.ts +80 -0
- package/dist/tools/fetchGithubIssue.js +84 -0
- package/dist/tools/fetchGithubIssue.js.map +1 -0
- package/dist/tools/fetchGithubPR.d.ts +89 -0
- package/dist/tools/fetchGithubPR.js +96 -0
- package/dist/tools/fetchGithubPR.js.map +1 -0
- package/dist/tools/fetchLinearIssue.d.ts +112 -0
- package/dist/tools/fetchLinearIssue.js +129 -0
- package/dist/tools/fetchLinearIssue.js.map +1 -0
- package/dist/tools/fetchSentryIssue.d.ts +143 -0
- package/dist/tools/fetchSentryIssue.js +150 -0
- package/dist/tools/fetchSentryIssue.js.map +1 -0
- package/dist/tools/fetchSlackProfile.d.ts +43 -0
- package/dist/tools/fetchSlackProfile.js +46 -0
- package/dist/tools/fetchSlackProfile.js.map +1 -0
- package/dist/tools/getConnectorStatus.d.ts +58 -0
- package/dist/tools/getConnectorStatus.js +56 -0
- package/dist/tools/getConnectorStatus.js.map +1 -0
- package/dist/tools/github/actions.js +4 -2
- package/dist/tools/github/actions.js.map +1 -1
- package/dist/tools/github/composite.d.ts +339 -0
- package/dist/tools/github/composite.js +343 -0
- package/dist/tools/github/composite.js.map +1 -0
- package/dist/tools/github/index.d.ts +2 -1
- package/dist/tools/github/index.js +2 -1
- package/dist/tools/github/index.js.map +1 -1
- package/dist/tools/github/issues.js +8 -4
- package/dist/tools/github/issues.js.map +1 -1
- package/dist/tools/github/pr.d.ts +122 -0
- package/dist/tools/github/pr.js +195 -5
- package/dist/tools/github/pr.js.map +1 -1
- package/dist/tools/index.js +36 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/searchTools.js +1 -1
- package/dist/tools/searchTools.js.map +1 -1
- package/dist/tools/slackListChannels.d.ts +65 -0
- package/dist/tools/slackListChannels.js +70 -0
- package/dist/tools/slackListChannels.js.map +1 -0
- package/dist/tools/slackPostMessage.d.ts +57 -0
- package/dist/tools/slackPostMessage.js +77 -0
- package/dist/tools/slackPostMessage.js.map +1 -0
- package/dist/tools/updateLinearIssue.d.ts +89 -0
- package/dist/tools/updateLinearIssue.js +117 -0
- package/dist/tools/updateLinearIssue.js.map +1 -0
- package/dist/transport.d.ts +7 -1
- package/dist/transport.js +85 -11
- package/dist/transport.js.map +1 -1
- package/package.json +4 -2
- package/scripts/start-all.sh +56 -19
- package/templates/automation-policies/recipe-authoring.json +25 -0
- package/templates/automation-policy.example.json +6 -0
- package/templates/co.patchwork-os.bridge.plist +34 -0
- package/templates/recipes/ctx-loop-test.yaml +75 -0
- package/templates/recipes/lint-on-save.yaml +1 -2
- package/templates/recipes/morning-brief-slack.yaml +57 -0
- package/templates/recipes/morning-brief.yaml +21 -5
- package/templates/recipes/sentry-to-linear.yaml +77 -0
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
* manual, cron — both run immediately via CLI
|
|
21
21
|
* git_hook, on_file_save — also runnable manually; trigger context injected
|
|
22
22
|
*/
|
|
23
|
+
import "./tools/index.js";
|
|
23
24
|
export interface YamlStep {
|
|
24
25
|
tool?: string;
|
|
25
26
|
agent?: {
|
|
@@ -30,6 +31,7 @@ export interface YamlStep {
|
|
|
30
31
|
};
|
|
31
32
|
into?: string;
|
|
32
33
|
optional?: boolean;
|
|
34
|
+
transform?: string;
|
|
33
35
|
[key: string]: unknown;
|
|
34
36
|
}
|
|
35
37
|
export interface YamlTrigger {
|
|
@@ -39,14 +41,30 @@ export interface YamlTrigger {
|
|
|
39
41
|
on?: string;
|
|
40
42
|
filter?: string;
|
|
41
43
|
}
|
|
44
|
+
export interface YamlRecipeExpect {
|
|
45
|
+
stepsRun?: number;
|
|
46
|
+
outputs?: string[];
|
|
47
|
+
errorMessage?: string | null;
|
|
48
|
+
context?: Record<string, string>;
|
|
49
|
+
}
|
|
50
|
+
export interface AssertionFailure {
|
|
51
|
+
assertion: string;
|
|
52
|
+
expected: unknown;
|
|
53
|
+
actual: unknown;
|
|
54
|
+
message: string;
|
|
55
|
+
}
|
|
56
|
+
export declare function evaluateExpect(result: Pick<RunResult, "stepsRun" | "outputs" | "context" | "errorMessage">, expect: YamlRecipeExpect): AssertionFailure[];
|
|
42
57
|
export interface YamlRecipe {
|
|
43
58
|
name: string;
|
|
44
59
|
description?: string;
|
|
45
60
|
trigger: YamlTrigger;
|
|
46
61
|
steps: YamlStep[];
|
|
62
|
+
expect?: YamlRecipeExpect;
|
|
47
63
|
output?: {
|
|
48
64
|
path: string;
|
|
49
65
|
};
|
|
66
|
+
/** Plugin specs (npm package name or local path) to load before running steps. */
|
|
67
|
+
servers?: string[];
|
|
50
68
|
}
|
|
51
69
|
export type RunContext = Record<string, string>;
|
|
52
70
|
export type FetchFn = (url: string, init?: {
|
|
@@ -55,6 +73,9 @@ export type FetchFn = (url: string, init?: {
|
|
|
55
73
|
ok: boolean;
|
|
56
74
|
json(): Promise<unknown>;
|
|
57
75
|
}>;
|
|
76
|
+
export interface MockToolConnector {
|
|
77
|
+
invoke<TOutput = unknown>(operation: string, input?: unknown): Promise<TOutput>;
|
|
78
|
+
}
|
|
58
79
|
export interface RunnerDeps {
|
|
59
80
|
now?: () => Date;
|
|
60
81
|
readFile?: (p: string) => string;
|
|
@@ -71,22 +92,80 @@ export interface RunnerDeps {
|
|
|
71
92
|
fetchFn?: FetchFn;
|
|
72
93
|
/** Optional token resolver for Gmail. Defaults to getValidAccessToken(). */
|
|
73
94
|
getGmailToken?: () => Promise<string>;
|
|
95
|
+
/** Override the ~/.patchwork dir used by RecipeRunLog. Useful for tests. */
|
|
96
|
+
logDir?: string;
|
|
74
97
|
/** Optional Anthropic API caller for agent steps. Defaults to fetch-based impl. */
|
|
75
98
|
claudeFn?: (prompt: string, model: string) => Promise<string>;
|
|
76
99
|
/** Optional Claude Code CLI caller for agent steps with driver: claude-code. */
|
|
77
100
|
claudeCodeFn?: (prompt: string) => Promise<string>;
|
|
101
|
+
/**
|
|
102
|
+
* Optional provider driver invoker for agent steps with driver: openai|grok|gemini.
|
|
103
|
+
* Dispatches to src/drivers/* under the hood. If not provided, the runner will
|
|
104
|
+
* lazily construct a driver via createDriver() from drivers/index.js.
|
|
105
|
+
*/
|
|
106
|
+
providerDriverFn?: (driverName: "openai" | "grok" | "gemini", prompt: string, model: string | undefined) => Promise<string>;
|
|
107
|
+
/** Mock connector replays used by `patchwork recipe test`. */
|
|
108
|
+
mockConnectors?: Partial<Record<string, MockToolConnector>>;
|
|
109
|
+
/** Directory to store recorded connector fixtures for `patchwork recipe record`. */
|
|
110
|
+
recordFixturesDir?: string;
|
|
111
|
+
/** Suppress run logs / notifications for mocked recipe test execution. */
|
|
112
|
+
testMode?: boolean;
|
|
78
113
|
}
|
|
79
114
|
export interface RunResult {
|
|
80
115
|
recipe: string;
|
|
81
116
|
stepsRun: number;
|
|
82
117
|
outputs: string[];
|
|
83
118
|
context: RunContext;
|
|
119
|
+
stepResults: StepResult[];
|
|
120
|
+
errorMessage?: string;
|
|
121
|
+
assertionFailures?: AssertionFailure[];
|
|
84
122
|
}
|
|
123
|
+
export type StepResult = {
|
|
124
|
+
id: string;
|
|
125
|
+
tool?: string;
|
|
126
|
+
status: "ok" | "skipped" | "error";
|
|
127
|
+
error?: string;
|
|
128
|
+
durationMs: number;
|
|
129
|
+
};
|
|
130
|
+
export type StepDeps = Required<Omit<RunnerDeps, "now" | "logDir" | "recordFixturesDir">> & {
|
|
131
|
+
workdir: string;
|
|
132
|
+
logDir?: string;
|
|
133
|
+
recordFixturesDir?: string;
|
|
134
|
+
testMode: boolean;
|
|
135
|
+
};
|
|
85
136
|
export declare function loadYamlRecipe(filePath: string): YamlRecipe;
|
|
86
137
|
export declare function validateYamlRecipe(raw: unknown): YamlRecipe;
|
|
138
|
+
/**
|
|
139
|
+
* Load plugin specs declared in `recipe.servers` and register their tools into
|
|
140
|
+
* the recipe tool registry. Errors per-spec are logged as warnings — never fatal.
|
|
141
|
+
*/
|
|
142
|
+
export declare function loadRecipeServers(specs: string[]): Promise<void>;
|
|
87
143
|
export declare function runYamlRecipe(recipe: YamlRecipe, deps?: RunnerDeps, seedContext?: RunContext): Promise<RunResult>;
|
|
144
|
+
export declare function executeStep(step: YamlStep, ctx: RunContext, deps: StepDeps): Promise<string | null>;
|
|
88
145
|
/** Minimal `{{ expr }}` renderer — replaces against flat context map. */
|
|
89
146
|
export declare function render(template: string, ctx: RunContext): string;
|
|
147
|
+
/**
|
|
148
|
+
* Build ExecutionDeps for ChainedRecipeRunner backed by the yamlRunner step
|
|
149
|
+
* handlers. This lets chained recipes use the same tool set (file.*, git.*,
|
|
150
|
+
* gmail.*, github.*, linear.*, diagnostics.*) as simple YAML recipes.
|
|
151
|
+
*
|
|
152
|
+
* Pass the result as `chainedDeps` when calling `dispatchRecipe` or
|
|
153
|
+
* `runChainedRecipe` so that `executeTool` is properly wired.
|
|
154
|
+
*/
|
|
155
|
+
export declare function buildChainedDeps(runnerDeps: RunnerDeps, claudeCodeFnOverride?: (prompt: string) => Promise<string>): import("./chainedRunner.js").ExecutionDeps;
|
|
156
|
+
/**
|
|
157
|
+
* Dispatch a loaded recipe to the appropriate runner.
|
|
158
|
+
*
|
|
159
|
+
* Recipes with `trigger.type: "chained"` are routed to the ChainedRecipeRunner
|
|
160
|
+
* (parallel execution, template variables, nested recipes, dry-run).
|
|
161
|
+
* All other recipes use the existing synchronous yamlRunner path.
|
|
162
|
+
*
|
|
163
|
+
* `chainedDeps` is only required when the recipe is chained; omit for simple recipes.
|
|
164
|
+
*/
|
|
165
|
+
export declare function dispatchRecipe(recipe: YamlRecipe, deps: RunnerDeps & {
|
|
166
|
+
chainedDeps?: import("./chainedRunner.js").ExecutionDeps;
|
|
167
|
+
chainedOptions?: Partial<import("./chainedRunner.js").RunOptions>;
|
|
168
|
+
}, seedContext?: RunContext): Promise<RunResult | import("./chainedRunner.js").ChainedRunResult>;
|
|
90
169
|
/** List all YAML recipes in a directory. Returns names. */
|
|
91
170
|
export declare function listYamlRecipes(recipesDir: string): Array<{
|
|
92
171
|
name: string;
|