agentplane 0.3.12 → 0.3.13
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/assets/RUNNER.md +1 -1
- package/assets/agents/ORCHESTRATOR.json +1 -1
- package/assets/codex-plugin/assets/header.png +0 -0
- package/assets/codex-plugin/assets/icon.svg +1 -0
- package/assets/codex-plugin/assets/logo.svg +1 -0
- package/assets/codex-plugin/skills/agentplane/SKILL.md +35 -0
- package/assets/policy/governance.md +4 -2
- package/assets/policy/incidents.md +3 -20
- package/assets/policy/workflow.release.md +5 -2
- package/dist/.build-manifest.json +203 -113
- package/dist/cli/exit-codes.d.ts.map +1 -1
- package/dist/cli/exit-codes.js +1 -0
- package/dist/cli/reason-codes.d.ts +1 -1
- package/dist/cli/reason-codes.d.ts.map +1 -1
- package/dist/cli/reason-codes.js +12 -0
- package/dist/cli/run-cli/command-catalog/core.d.ts +1 -1
- package/dist/cli/run-cli/command-catalog/core.d.ts.map +1 -1
- package/dist/cli/run-cli/command-catalog/core.js +16 -0
- package/dist/cli/run-cli/command-catalog/project.d.ts +1 -1
- package/dist/cli/run-cli/command-catalog/project.d.ts.map +1 -1
- package/dist/cli/run-cli/command-catalog/project.js +21 -3
- package/dist/cli/run-cli/command-catalog.d.ts +1 -1
- package/dist/cli/run-cli/command-catalog.d.ts.map +1 -1
- package/dist/cli/run-cli/commands/codex.d.ts +14 -0
- package/dist/cli/run-cli/commands/codex.d.ts.map +1 -0
- package/dist/cli/run-cli/commands/codex.js +100 -0
- package/dist/cli/run-cli/commands/core.d.ts +1 -0
- package/dist/cli/run-cli/commands/core.d.ts.map +1 -1
- package/dist/cli/run-cli/commands/core.js +1 -0
- package/dist/cli/run-cli/commands/init/recipes.d.ts +9 -1
- package/dist/cli/run-cli/commands/init/recipes.d.ts.map +1 -1
- package/dist/cli/run-cli/commands/init/recipes.js +32 -22
- package/dist/cli/run-cli/commands/init.d.ts.map +1 -1
- package/dist/cli/run-cli/commands/init.js +26 -21
- package/dist/cli/run-cli/error-guidance.js +20 -0
- package/dist/cli/run-cli.test-helpers.d.ts.map +1 -1
- package/dist/cli/run-cli.test-helpers.js +22 -19
- package/dist/commands/codex/plugin-install.d.ts +26 -0
- package/dist/commands/codex/plugin-install.d.ts.map +1 -0
- package/dist/commands/codex/plugin-install.js +209 -0
- package/dist/commands/pr/integrate/cmd.d.ts.map +1 -1
- package/dist/commands/pr/integrate/cmd.js +81 -5
- package/dist/commands/pr/integrate/internal/prepare.d.ts.map +1 -1
- package/dist/commands/pr/integrate/internal/prepare.js +38 -7
- package/dist/commands/pr/internal/auto-commit.d.ts.map +1 -1
- package/dist/commands/pr/internal/auto-commit.js +11 -6
- package/dist/commands/pr/internal/sync.d.ts.map +1 -1
- package/dist/commands/pr/internal/sync.js +5 -1
- package/dist/commands/pr/open.d.ts.map +1 -1
- package/dist/commands/pr/open.js +46 -8
- package/dist/commands/recipes/active.command.d.ts +7 -0
- package/dist/commands/recipes/active.command.d.ts.map +1 -0
- package/dist/commands/recipes/active.command.js +12 -0
- package/dist/commands/recipes/add.command.d.ts +8 -0
- package/dist/commands/recipes/add.command.d.ts.map +1 -0
- package/dist/commands/recipes/add.command.js +33 -0
- package/dist/commands/recipes/detach.command.d.ts +7 -0
- package/dist/commands/recipes/detach.command.d.ts.map +1 -0
- package/dist/commands/recipes/detach.command.js +19 -0
- package/dist/commands/recipes/disable.command.d.ts +7 -0
- package/dist/commands/recipes/disable.command.d.ts.map +1 -0
- package/dist/commands/recipes/disable.command.js +10 -0
- package/dist/commands/recipes/enable.command.d.ts +7 -0
- package/dist/commands/recipes/enable.command.d.ts.map +1 -0
- package/dist/commands/recipes/enable.command.js +10 -0
- package/dist/commands/recipes/explain-active.command.d.ts +5 -0
- package/dist/commands/recipes/explain-active.command.d.ts.map +1 -0
- package/dist/commands/recipes/explain-active.command.js +11 -0
- package/dist/commands/recipes/explain.command.d.ts.map +1 -1
- package/dist/commands/recipes/explain.command.js +4 -2
- package/dist/commands/recipes/impl/apply.d.ts.map +1 -1
- package/dist/commands/recipes/impl/apply.js +33 -14
- package/dist/commands/recipes/impl/commands/active.d.ts +6 -0
- package/dist/commands/recipes/impl/commands/active.d.ts.map +1 -0
- package/dist/commands/recipes/impl/commands/active.js +46 -0
- package/dist/commands/recipes/impl/commands/add.d.ts +7 -0
- package/dist/commands/recipes/impl/commands/add.d.ts.map +1 -0
- package/dist/commands/recipes/impl/commands/add.js +100 -0
- package/dist/commands/recipes/impl/commands/detach.d.ts +6 -0
- package/dist/commands/recipes/impl/commands/detach.d.ts.map +1 -0
- package/dist/commands/recipes/impl/commands/detach.js +85 -0
- package/dist/commands/recipes/impl/commands/disable.d.ts +6 -0
- package/dist/commands/recipes/impl/commands/disable.d.ts.map +1 -0
- package/dist/commands/recipes/impl/commands/disable.js +21 -0
- package/dist/commands/recipes/impl/commands/enable.d.ts +6 -0
- package/dist/commands/recipes/impl/commands/enable.d.ts.map +1 -0
- package/dist/commands/recipes/impl/commands/enable.js +39 -0
- package/dist/commands/recipes/impl/commands/explain-active.d.ts +5 -0
- package/dist/commands/recipes/impl/commands/explain-active.d.ts.map +1 -0
- package/dist/commands/recipes/impl/commands/explain-active.js +20 -0
- package/dist/commands/recipes/impl/commands/explain.d.ts.map +1 -1
- package/dist/commands/recipes/impl/commands/explain.js +40 -3
- package/dist/commands/recipes/impl/commands/info.d.ts.map +1 -1
- package/dist/commands/recipes/impl/commands/info.js +21 -8
- package/dist/commands/recipes/impl/commands/install.d.ts.map +1 -1
- package/dist/commands/recipes/impl/commands/install.js +32 -29
- package/dist/commands/recipes/impl/commands/list.d.ts.map +1 -1
- package/dist/commands/recipes/impl/commands/list.js +11 -11
- package/dist/commands/recipes/impl/commands/remove.d.ts.map +1 -1
- package/dist/commands/recipes/impl/commands/remove.js +5 -0
- package/dist/commands/recipes/impl/commands/update.d.ts +7 -0
- package/dist/commands/recipes/impl/commands/update.d.ts.map +1 -0
- package/dist/commands/recipes/impl/commands/update.js +93 -0
- package/dist/commands/recipes/impl/commands.d.ts +7 -0
- package/dist/commands/recipes/impl/commands.d.ts.map +1 -1
- package/dist/commands/recipes/impl/commands.js +7 -0
- package/dist/commands/recipes/impl/constants.d.ts +1 -14
- package/dist/commands/recipes/impl/constants.d.ts.map +1 -1
- package/dist/commands/recipes/impl/constants.js +1 -18
- package/dist/commands/recipes/impl/manifest.d.ts +2 -2
- package/dist/commands/recipes/impl/manifest.d.ts.map +1 -1
- package/dist/commands/recipes/impl/manifest.js +4 -226
- package/dist/commands/recipes/impl/overlay-project.d.ts +32 -0
- package/dist/commands/recipes/impl/overlay-project.d.ts.map +1 -0
- package/dist/commands/recipes/impl/overlay-project.js +282 -0
- package/dist/commands/recipes/impl/paths.d.ts +20 -2
- package/dist/commands/recipes/impl/paths.d.ts.map +1 -1
- package/dist/commands/recipes/impl/paths.js +23 -5
- package/dist/commands/recipes/impl/project-installed-recipes.d.ts +2 -4
- package/dist/commands/recipes/impl/project-installed-recipes.d.ts.map +1 -1
- package/dist/commands/recipes/impl/project-installed-recipes.js +30 -74
- package/dist/commands/recipes/impl/project-recipe-state.d.ts +18 -0
- package/dist/commands/recipes/impl/project-recipe-state.d.ts.map +1 -0
- package/dist/commands/recipes/impl/project-recipe-state.js +94 -0
- package/dist/commands/recipes/impl/project-registry.d.ts +20 -0
- package/dist/commands/recipes/impl/project-registry.d.ts.map +1 -0
- package/dist/commands/recipes/impl/project-registry.js +104 -0
- package/dist/commands/recipes/impl/resolver.d.ts.map +1 -1
- package/dist/commands/recipes/impl/resolver.js +5 -3
- package/dist/commands/recipes/impl/types.d.ts +1 -240
- package/dist/commands/recipes/impl/types.d.ts.map +1 -1
- package/dist/commands/recipes/info.command.js +2 -2
- package/dist/commands/recipes/install.spec.js +4 -4
- package/dist/commands/recipes/list.command.js +4 -4
- package/dist/commands/recipes/remove.command.js +2 -2
- package/dist/commands/recipes/update.command.d.ts +8 -0
- package/dist/commands/recipes/update.command.d.ts.map +1 -0
- package/dist/commands/recipes/update.command.js +35 -0
- package/dist/commands/recipes.d.ts +7 -4
- package/dist/commands/recipes.d.ts.map +1 -1
- package/dist/commands/recipes.js +6 -3
- package/dist/commands/recipes.test-helpers.d.ts +3 -3
- package/dist/commands/recipes.test-helpers.d.ts.map +1 -1
- package/dist/commands/recipes.test-helpers.js +105 -15
- package/dist/commands/scenario/execute.command.js +4 -4
- package/dist/commands/scenario/impl/commands.js +4 -4
- package/dist/commands/scenario/info.command.js +4 -4
- package/dist/commands/scenario/list.command.js +3 -3
- package/dist/commands/scenario/run.command.js +5 -5
- package/dist/commands/scenario/scenario.command.js +7 -7
- package/dist/commands/shared/task-handoff.d.ts +2 -1
- package/dist/commands/shared/task-handoff.d.ts.map +1 -1
- package/dist/commands/shared/task-handoff.js +15 -0
- package/dist/commands/task/handoff-show.command.d.ts.map +1 -1
- package/dist/commands/task/handoff-show.command.js +24 -0
- package/dist/runner/context/base-prompts.d.ts +2 -1
- package/dist/runner/context/base-prompts.d.ts.map +1 -1
- package/dist/runner/context/base-prompts.js +109 -13
- package/dist/runner/context/recipe-context.d.ts.map +1 -1
- package/dist/runner/context/recipe-context.js +40 -8
- package/dist/runner/types.d.ts +4 -0
- package/dist/runner/types.d.ts.map +1 -1
- package/dist/runner/usecases/task-run.d.ts.map +1 -1
- package/dist/runner/usecases/task-run.js +2 -1
- package/dist/runtime/behavior/resolve.d.ts +2 -1
- package/dist/runtime/behavior/resolve.d.ts.map +1 -1
- package/dist/runtime/behavior/resolve.js +25 -5
- package/dist/runtime/behavior/types.d.ts +1 -0
- package/dist/runtime/behavior/types.d.ts.map +1 -1
- package/dist/runtime/capabilities/recipe.d.ts +2 -1
- package/dist/runtime/capabilities/recipe.d.ts.map +1 -1
- package/dist/runtime/capabilities/recipe.js +88 -28
- package/dist/shared/errors.d.ts +1 -1
- package/dist/shared/errors.d.ts.map +1 -1
- package/dist/shared/runtime-source.d.ts.map +1 -1
- package/dist/shared/runtime-source.js +8 -3
- package/package.json +3 -2
- package/dist/cli/recipes-bundled.d.ts +0 -10
- package/dist/cli/recipes-bundled.d.ts.map +0 -1
- package/dist/cli/recipes-bundled.js +0 -36
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { cp, rm, symlink } from "node:fs/promises";
|
|
2
|
+
import { loadConfig, resolveProject } from "@agentplaneorg/core";
|
|
3
|
+
import { mapCoreError } from "../../../../cli/error-map.js";
|
|
4
|
+
import { exitCodeForError } from "../../../../cli/exit-codes.js";
|
|
5
|
+
import { CliError } from "../../../../shared/errors.js";
|
|
6
|
+
import { ensureActionApproved } from "../../../shared/approval-requirements.js";
|
|
7
|
+
import { readInstalledRecipesFile } from "../installed-recipes.js";
|
|
8
|
+
import { normalizeRecipeTags } from "../normalize.js";
|
|
9
|
+
import { readActiveRecipeIds, refreshProjectOverlayArtifacts } from "../overlay-project.js";
|
|
10
|
+
import { hashRecipeTree, inspectProjectRecipe } from "../project-recipe-state.js";
|
|
11
|
+
import { upsertProjectRecipeRegistryEntry } from "../project-registry.js";
|
|
12
|
+
import { resolveInstalledRecipesPath, resolveProjectVendoredRecipeDir } from "../paths.js";
|
|
13
|
+
function buildModifiedRecipeError(id) {
|
|
14
|
+
return new CliError({
|
|
15
|
+
exitCode: exitCodeForError("E_USAGE"),
|
|
16
|
+
code: "E_USAGE",
|
|
17
|
+
message: `Recipe ${id} has local project edits. Re-run with --force to overwrite the vendored copy from cache.`,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
export async function cmdRecipeUpdateParsed(opts) {
|
|
21
|
+
try {
|
|
22
|
+
const project = await resolveProject({
|
|
23
|
+
cwd: opts.cwd,
|
|
24
|
+
rootOverride: opts.rootOverride ?? null,
|
|
25
|
+
});
|
|
26
|
+
const loaded = await loadConfig(project.agentplaneDir);
|
|
27
|
+
const inspection = await inspectProjectRecipe({ project, recipeId: opts.id });
|
|
28
|
+
if (!inspection.cache_present || !inspection.current_source_sha256) {
|
|
29
|
+
throw new CliError({
|
|
30
|
+
exitCode: exitCodeForError("E_IO"),
|
|
31
|
+
code: "E_IO",
|
|
32
|
+
message: `Cached source is missing for ${inspection.entry.id}@${inspection.entry.version}. Run agentplane recipes install ${inspection.entry.id}@${inspection.entry.version}`,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
if (inspection.state === "modified" && !opts.force) {
|
|
36
|
+
throw buildModifiedRecipeError(inspection.entry.id);
|
|
37
|
+
}
|
|
38
|
+
const cache = await readInstalledRecipesFile(resolveInstalledRecipesPath());
|
|
39
|
+
const cached = cache.recipes.find((entry) => entry.id === inspection.entry.id && entry.version === inspection.entry.version);
|
|
40
|
+
if (!cached) {
|
|
41
|
+
throw new CliError({
|
|
42
|
+
exitCode: exitCodeForError("E_IO"),
|
|
43
|
+
code: "E_IO",
|
|
44
|
+
message: `Recipe not found in global cache: ${inspection.entry.id}@${inspection.entry.version}`,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
const activeIds = await readActiveRecipeIds(project);
|
|
48
|
+
if (inspection.entry.materialization === "copy" &&
|
|
49
|
+
inspection.state === "clean" &&
|
|
50
|
+
inspection.current_source_sha256 === inspection.entry.source_sha256) {
|
|
51
|
+
process.stdout.write(`Recipe ${inspection.entry.id}@${inspection.entry.version} is already up to date.\n`);
|
|
52
|
+
return 0;
|
|
53
|
+
}
|
|
54
|
+
await ensureActionApproved({
|
|
55
|
+
action: "dangerous_fs",
|
|
56
|
+
config: loaded.config,
|
|
57
|
+
yes: false,
|
|
58
|
+
reason: `recipes update ${inspection.entry.id}@${inspection.entry.version}`,
|
|
59
|
+
});
|
|
60
|
+
const targetDir = resolveProjectVendoredRecipeDir(project, inspection.entry.id);
|
|
61
|
+
await rm(targetDir, { recursive: true, force: true });
|
|
62
|
+
await (inspection.entry.materialization === "link"
|
|
63
|
+
? symlink(inspection.source_dir, targetDir, "dir")
|
|
64
|
+
: cp(inspection.source_dir, targetDir, { recursive: true }));
|
|
65
|
+
const vendoredSha256 = await hashRecipeTree(targetDir);
|
|
66
|
+
await upsertProjectRecipeRegistryEntry({
|
|
67
|
+
project,
|
|
68
|
+
entry: {
|
|
69
|
+
id: inspection.entry.id,
|
|
70
|
+
version: inspection.entry.version,
|
|
71
|
+
path: inspection.entry.project_path,
|
|
72
|
+
active: activeIds.includes(inspection.entry.id),
|
|
73
|
+
materialization: inspection.entry.materialization,
|
|
74
|
+
source_ref: inspection.entry.source_ref,
|
|
75
|
+
source_sha256: inspection.current_source_sha256,
|
|
76
|
+
vendored_sha256: vendoredSha256,
|
|
77
|
+
installed_at: inspection.entry.installed_at,
|
|
78
|
+
tags: normalizeRecipeTags(cached.tags ?? cached.manifest.tags ?? []),
|
|
79
|
+
},
|
|
80
|
+
});
|
|
81
|
+
await refreshProjectOverlayArtifacts(project);
|
|
82
|
+
const verb = inspection.entry.materialization === "link"
|
|
83
|
+
? "Refreshed linked recipe"
|
|
84
|
+
: "Updated vendored recipe";
|
|
85
|
+
process.stdout.write(`${verb} ${inspection.entry.id}@${inspection.entry.version} from cache.\n`);
|
|
86
|
+
return 0;
|
|
87
|
+
}
|
|
88
|
+
catch (err) {
|
|
89
|
+
if (err instanceof CliError)
|
|
90
|
+
throw err;
|
|
91
|
+
throw mapCoreError(err, { command: "recipes update", root: opts.rootOverride ?? null });
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
+
export { cmdRecipeAddParsed } from "./commands/add.js";
|
|
2
|
+
export { cmdRecipeDetachParsed } from "./commands/detach.js";
|
|
1
3
|
export { cmdRecipeListParsed } from "./commands/list.js";
|
|
2
4
|
export { cmdRecipeListRemoteParsed } from "./commands/list-remote.js";
|
|
3
5
|
export { cmdRecipeInfoParsed } from "./commands/info.js";
|
|
4
6
|
export { cmdRecipeExplainParsed } from "./commands/explain.js";
|
|
7
|
+
export { cmdRecipeActiveParsed } from "./commands/active.js";
|
|
8
|
+
export { cmdRecipeExplainActiveParsed } from "./commands/explain-active.js";
|
|
9
|
+
export { cmdRecipeEnableParsed } from "./commands/enable.js";
|
|
10
|
+
export { cmdRecipeDisableParsed } from "./commands/disable.js";
|
|
5
11
|
export { cmdRecipeInstall } from "./commands/install.js";
|
|
6
12
|
export { cmdRecipeRemoveParsed } from "./commands/remove.js";
|
|
13
|
+
export { cmdRecipeUpdateParsed } from "./commands/update.js";
|
|
7
14
|
export { cmdRecipeCachePruneParsed } from "./commands/cache-prune.js";
|
|
8
15
|
//# sourceMappingURL=commands.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../../src/commands/recipes/impl/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../../src/commands/recipes/impl/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
|
+
export { cmdRecipeAddParsed } from "./commands/add.js";
|
|
2
|
+
export { cmdRecipeDetachParsed } from "./commands/detach.js";
|
|
1
3
|
export { cmdRecipeListParsed } from "./commands/list.js";
|
|
2
4
|
export { cmdRecipeListRemoteParsed } from "./commands/list-remote.js";
|
|
3
5
|
export { cmdRecipeInfoParsed } from "./commands/info.js";
|
|
4
6
|
export { cmdRecipeExplainParsed } from "./commands/explain.js";
|
|
7
|
+
export { cmdRecipeActiveParsed } from "./commands/active.js";
|
|
8
|
+
export { cmdRecipeExplainActiveParsed } from "./commands/explain-active.js";
|
|
9
|
+
export { cmdRecipeEnableParsed } from "./commands/enable.js";
|
|
10
|
+
export { cmdRecipeDisableParsed } from "./commands/disable.js";
|
|
5
11
|
export { cmdRecipeInstall } from "./commands/install.js";
|
|
6
12
|
export { cmdRecipeRemoveParsed } from "./commands/remove.js";
|
|
13
|
+
export { cmdRecipeUpdateParsed } from "./commands/update.js";
|
|
7
14
|
export { cmdRecipeCachePruneParsed } from "./commands/cache-prune.js";
|
|
@@ -1,15 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
export declare const RECIPES_DIR_NAME = "recipes";
|
|
3
|
-
export declare const RECIPES_SCENARIOS_DIR_NAME = "scenarios";
|
|
4
|
-
export declare const RECIPES_SCENARIOS_INDEX_NAME = "scenarios.json";
|
|
5
|
-
export declare const RECIPE_INSTALL_META_NAME = ".install.json";
|
|
6
|
-
export declare const RECIPE_RUNS_DIR_NAME = "runs";
|
|
7
|
-
export declare const AGENTPLANE_HOME_ENV = "AGENTPLANE_HOME";
|
|
8
|
-
export declare const GLOBAL_RECIPES_DIR_NAME = "recipes";
|
|
9
|
-
export declare const PROJECT_RECIPES_CACHE_DIR_NAME = "recipes-cache";
|
|
10
|
-
export declare const RECIPES_REMOTE_INDEX_NAME = "recipes-index.json";
|
|
11
|
-
export declare const RECIPES_REMOTE_INDEX_SIG_NAME = "recipes-index.json.sig";
|
|
12
|
-
export declare const DEFAULT_RECIPES_INDEX_URL = "https://raw.githubusercontent.com/basilisk-labs/agentplane-recipes/main/index.json";
|
|
13
|
-
export declare const RECIPES_INDEX_PUBLIC_KEYS_ENV = "AGENTPLANE_RECIPES_INDEX_PUBLIC_KEYS";
|
|
14
|
-
export declare const RECIPES_INDEX_PUBLIC_KEYS: Record<string, string>;
|
|
1
|
+
export { AGENTPLANE_HOME_ENV, DEFAULT_RECIPES_INDEX_URL, GLOBAL_RECIPES_DIR_NAME, INSTALLED_RECIPES_NAME, PROJECT_RECIPES_PACKAGES_DIR_NAME, PROJECT_RECIPES_REGISTRY_NAME, PROJECT_RECIPES_CACHE_DIR_NAME, RECIPES_DIR_NAME, RECIPES_INDEX_PUBLIC_KEYS, RECIPES_INDEX_PUBLIC_KEYS_ENV, RECIPES_REMOTE_INDEX_NAME, RECIPES_REMOTE_INDEX_SIG_NAME, RECIPE_RUNS_DIR_NAME, RECIPES_SCENARIOS_DIR_NAME, RECIPES_SCENARIOS_INDEX_NAME, } from "@agentplaneorg/recipes";
|
|
15
2
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/commands/recipes/impl/constants.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/commands/recipes/impl/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EACtB,iCAAiC,EACjC,6BAA6B,EAC7B,8BAA8B,EAC9B,gBAAgB,EAChB,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EACzB,6BAA6B,EAC7B,oBAAoB,EACpB,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,18 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
export const RECIPES_DIR_NAME = "recipes";
|
|
3
|
-
export const RECIPES_SCENARIOS_DIR_NAME = "scenarios";
|
|
4
|
-
export const RECIPES_SCENARIOS_INDEX_NAME = "scenarios.json";
|
|
5
|
-
export const RECIPE_INSTALL_META_NAME = ".install.json";
|
|
6
|
-
export const RECIPE_RUNS_DIR_NAME = "runs";
|
|
7
|
-
export const AGENTPLANE_HOME_ENV = "AGENTPLANE_HOME";
|
|
8
|
-
export const GLOBAL_RECIPES_DIR_NAME = "recipes";
|
|
9
|
-
export const PROJECT_RECIPES_CACHE_DIR_NAME = "recipes-cache";
|
|
10
|
-
export const RECIPES_REMOTE_INDEX_NAME = "recipes-index.json";
|
|
11
|
-
export const RECIPES_REMOTE_INDEX_SIG_NAME = "recipes-index.json.sig";
|
|
12
|
-
export const DEFAULT_RECIPES_INDEX_URL = "https://raw.githubusercontent.com/basilisk-labs/agentplane-recipes/main/index.json";
|
|
13
|
-
export const RECIPES_INDEX_PUBLIC_KEYS_ENV = "AGENTPLANE_RECIPES_INDEX_PUBLIC_KEYS";
|
|
14
|
-
export const RECIPES_INDEX_PUBLIC_KEYS = {
|
|
15
|
-
"2026-02": `-----BEGIN PUBLIC KEY-----
|
|
16
|
-
MCowBQYDK2VwAyEAeRWdXKVZtz0v+bnQS3zb24jMfa0gflsRUHQkeJkji6E=
|
|
17
|
-
-----END PUBLIC KEY-----`,
|
|
18
|
-
};
|
|
1
|
+
export { AGENTPLANE_HOME_ENV, DEFAULT_RECIPES_INDEX_URL, GLOBAL_RECIPES_DIR_NAME, INSTALLED_RECIPES_NAME, PROJECT_RECIPES_PACKAGES_DIR_NAME, PROJECT_RECIPES_REGISTRY_NAME, PROJECT_RECIPES_CACHE_DIR_NAME, RECIPES_DIR_NAME, RECIPES_INDEX_PUBLIC_KEYS, RECIPES_INDEX_PUBLIC_KEYS_ENV, RECIPES_REMOTE_INDEX_NAME, RECIPES_REMOTE_INDEX_SIG_NAME, RECIPE_RUNS_DIR_NAME, RECIPES_SCENARIOS_DIR_NAME, RECIPES_SCENARIOS_INDEX_NAME, } from "@agentplaneorg/recipes";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
2
|
-
export declare function validateRecipeManifest(raw: unknown): RecipeManifest;
|
|
1
|
+
import { type RecipeManifest } from "@agentplaneorg/recipes";
|
|
3
2
|
export declare function readRecipeManifest(manifestPath: string): Promise<RecipeManifest>;
|
|
3
|
+
export declare function validateRecipeManifest(raw: unknown): RecipeManifest;
|
|
4
4
|
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../../src/commands/recipes/impl/manifest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../../src/commands/recipes/impl/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAEhC,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAEtF;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CAEnE"}
|
|
@@ -1,229 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import { dedupeStrings } from "../../../shared/strings.js";
|
|
5
|
-
import { normalizeAgentId, normalizeRecipeId, normalizeRecipeRelativePath, normalizeRecipeTags, normalizeScenarioId, normalizeSkillId, normalizeToolId, } from "./normalize.js";
|
|
6
|
-
function normalizeRequiredString(raw, field) {
|
|
7
|
-
if (typeof raw !== "string")
|
|
8
|
-
throw new Error(invalidFieldMessage(field, "string"));
|
|
9
|
-
const value = raw.trim();
|
|
10
|
-
if (!value)
|
|
11
|
-
throw new Error(requiredFieldMessage(field));
|
|
12
|
-
return value;
|
|
13
|
-
}
|
|
14
|
-
function normalizeOptionalString(raw, field) {
|
|
15
|
-
if (raw === undefined)
|
|
16
|
-
return undefined;
|
|
17
|
-
if (typeof raw !== "string")
|
|
18
|
-
throw new Error(invalidFieldMessage(field, "string"));
|
|
19
|
-
const value = raw.trim();
|
|
20
|
-
return value || undefined;
|
|
21
|
-
}
|
|
22
|
-
function normalizeStringList(raw, field, opts) {
|
|
23
|
-
if (!Array.isArray(raw))
|
|
24
|
-
throw new Error(invalidFieldMessage(field, "string[]"));
|
|
25
|
-
const values = raw.map((value) => {
|
|
26
|
-
if (typeof value !== "string")
|
|
27
|
-
throw new Error(invalidFieldMessage(field, "string[]"));
|
|
28
|
-
const trimmed = value.trim();
|
|
29
|
-
if (!trimmed)
|
|
30
|
-
throw new Error(invalidFieldMessage(field, "string[]"));
|
|
31
|
-
return trimmed;
|
|
32
|
-
});
|
|
33
|
-
const deduped = dedupeStrings(values);
|
|
34
|
-
if ((opts?.minLength ?? 0) > 0 && deduped.length < (opts?.minLength ?? 0)) {
|
|
35
|
-
throw new Error(invalidFieldMessage(field, `string[${opts?.minLength ?? 0}+]`));
|
|
36
|
-
}
|
|
37
|
-
return deduped;
|
|
38
|
-
}
|
|
39
|
-
function normalizeOptionalStringList(raw, field) {
|
|
40
|
-
if (raw === undefined)
|
|
41
|
-
return undefined;
|
|
42
|
-
return normalizeStringList(raw, field);
|
|
43
|
-
}
|
|
44
|
-
function normalizeNumber(raw, field) {
|
|
45
|
-
if (raw === undefined)
|
|
46
|
-
return undefined;
|
|
47
|
-
if (typeof raw !== "number" || Number.isNaN(raw)) {
|
|
48
|
-
throw new Error(invalidFieldMessage(field, "number"));
|
|
49
|
-
}
|
|
50
|
-
return raw;
|
|
51
|
-
}
|
|
52
|
-
function normalizeCompatibility(raw) {
|
|
53
|
-
if (raw === undefined)
|
|
54
|
-
return undefined;
|
|
55
|
-
if (!isRecord(raw))
|
|
56
|
-
throw new Error(invalidFieldMessage("manifest.compatibility", "object"));
|
|
57
|
-
return {
|
|
58
|
-
min_agentplane_version: normalizeOptionalString(raw.min_agentplane_version, "manifest.compatibility.min_agentplane_version"),
|
|
59
|
-
manifest_api_version: normalizeOptionalString(raw.manifest_api_version, "manifest.compatibility.manifest_api_version"),
|
|
60
|
-
scenario_api_version: normalizeOptionalString(raw.scenario_api_version, "manifest.compatibility.scenario_api_version"),
|
|
61
|
-
runtime_api_version: normalizeOptionalString(raw.runtime_api_version, "manifest.compatibility.runtime_api_version"),
|
|
62
|
-
platforms: normalizeOptionalStringList(raw.platforms, "manifest.compatibility.platforms"),
|
|
63
|
-
repo_types: normalizeOptionalStringList(raw.repo_types, "manifest.compatibility.repo_types"),
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
function normalizeRunProfile(raw, field) {
|
|
67
|
-
if (!isRecord(raw))
|
|
68
|
-
throw new Error(invalidFieldMessage(field, "object"));
|
|
69
|
-
return {
|
|
70
|
-
mode: normalizeRequiredString(raw.mode, `${field}.mode`),
|
|
71
|
-
sandbox: normalizeOptionalString(raw.sandbox, `${field}.sandbox`),
|
|
72
|
-
writes_artifacts_to: normalizeOptionalStringList(raw.writes_artifacts_to, `${field}.writes_artifacts_to`),
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
function normalizeSkills(raw) {
|
|
76
|
-
if (raw === undefined)
|
|
77
|
-
return undefined;
|
|
78
|
-
if (!Array.isArray(raw))
|
|
79
|
-
throw new Error(invalidFieldMessage("manifest.skills", "array"));
|
|
80
|
-
return raw.map((entry, index) => {
|
|
81
|
-
if (!isRecord(entry))
|
|
82
|
-
throw new Error(invalidFieldMessage(`manifest.skills[${index}]`, "object"));
|
|
83
|
-
return {
|
|
84
|
-
id: normalizeSkillId(normalizeRequiredString(entry.id, `manifest.skills[${index}].id`)),
|
|
85
|
-
summary: normalizeRequiredString(entry.summary, `manifest.skills[${index}].summary`),
|
|
86
|
-
kind: normalizeRequiredString(entry.kind, `manifest.skills[${index}].kind`),
|
|
87
|
-
file: normalizeRecipeRelativePath(`manifest.skills[${index}].file`, normalizeRequiredString(entry.file, `manifest.skills[${index}].file`)),
|
|
88
|
-
};
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
function normalizeTools(raw) {
|
|
92
|
-
if (raw === undefined)
|
|
93
|
-
return undefined;
|
|
94
|
-
if (!Array.isArray(raw))
|
|
95
|
-
throw new Error(invalidFieldMessage("manifest.tools", "array"));
|
|
96
|
-
return raw.map((entry, index) => {
|
|
97
|
-
if (!isRecord(entry))
|
|
98
|
-
throw new Error(invalidFieldMessage(`manifest.tools[${index}]`, "object"));
|
|
99
|
-
const runtime = normalizeRequiredString(entry.runtime, `manifest.tools[${index}].runtime`);
|
|
100
|
-
if (runtime !== "node" && runtime !== "bash") {
|
|
101
|
-
throw new Error(invalidFieldMessage(`manifest.tools[${index}].runtime`, '"node" | "bash"'));
|
|
102
|
-
}
|
|
103
|
-
return {
|
|
104
|
-
id: normalizeToolId(normalizeRequiredString(entry.id, `manifest.tools[${index}].id`)),
|
|
105
|
-
summary: normalizeRequiredString(entry.summary, `manifest.tools[${index}].summary`),
|
|
106
|
-
runtime,
|
|
107
|
-
entrypoint: normalizeRecipeRelativePath(`manifest.tools[${index}].entrypoint`, normalizeRequiredString(entry.entrypoint, `manifest.tools[${index}].entrypoint`)),
|
|
108
|
-
permissions: normalizeOptionalStringList(entry.permissions, `manifest.tools[${index}].permissions`),
|
|
109
|
-
timeout_ms: normalizeNumber(entry.timeout_ms, `manifest.tools[${index}].timeout_ms`),
|
|
110
|
-
cwd_policy: normalizeOptionalString(entry.cwd_policy, `manifest.tools[${index}].cwd_policy`),
|
|
111
|
-
};
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
function normalizeAgents(raw) {
|
|
115
|
-
if (raw === undefined)
|
|
116
|
-
return undefined;
|
|
117
|
-
if (!Array.isArray(raw))
|
|
118
|
-
throw new Error(invalidFieldMessage("manifest.agents", "array"));
|
|
119
|
-
return raw.map((entry, index) => {
|
|
120
|
-
if (!isRecord(entry))
|
|
121
|
-
throw new Error(invalidFieldMessage(`manifest.agents[${index}]`, "object"));
|
|
122
|
-
return {
|
|
123
|
-
id: normalizeAgentId(normalizeRequiredString(entry.id, `manifest.agents[${index}].id`)),
|
|
124
|
-
display_name: normalizeRequiredString(entry.display_name, `manifest.agents[${index}].display_name`),
|
|
125
|
-
role: normalizeRequiredString(entry.role, `manifest.agents[${index}].role`),
|
|
126
|
-
summary: normalizeRequiredString(entry.summary, `manifest.agents[${index}].summary`),
|
|
127
|
-
skills: normalizeOptionalStringList(entry.skills, `manifest.agents[${index}].skills`),
|
|
128
|
-
tools: normalizeOptionalStringList(entry.tools, `manifest.agents[${index}].tools`),
|
|
129
|
-
file: normalizeRecipeRelativePath(`manifest.agents[${index}].file`, normalizeRequiredString(entry.file, `manifest.agents[${index}].file`)),
|
|
130
|
-
};
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
function normalizeScenarios(raw) {
|
|
134
|
-
if (!Array.isArray(raw) || raw.length === 0) {
|
|
135
|
-
throw new Error(invalidFieldMessage("manifest.scenarios", "non-empty array"));
|
|
136
|
-
}
|
|
137
|
-
return raw.map((entry, index) => {
|
|
138
|
-
if (!isRecord(entry)) {
|
|
139
|
-
throw new Error(invalidFieldMessage(`manifest.scenarios[${index}]`, "object"));
|
|
140
|
-
}
|
|
141
|
-
return {
|
|
142
|
-
id: normalizeScenarioId(normalizeRequiredString(entry.id, `manifest.scenarios[${index}].id`)),
|
|
143
|
-
name: normalizeRequiredString(entry.name, `manifest.scenarios[${index}].name`),
|
|
144
|
-
summary: normalizeRequiredString(entry.summary, `manifest.scenarios[${index}].summary`),
|
|
145
|
-
description: normalizeOptionalString(entry.description, `manifest.scenarios[${index}].description`),
|
|
146
|
-
use_when: normalizeStringList(entry.use_when, `manifest.scenarios[${index}].use_when`, {
|
|
147
|
-
minLength: 1,
|
|
148
|
-
}),
|
|
149
|
-
avoid_when: normalizeOptionalStringList(entry.avoid_when, `manifest.scenarios[${index}].avoid_when`),
|
|
150
|
-
required_inputs: normalizeStringList(entry.required_inputs, `manifest.scenarios[${index}].required_inputs`),
|
|
151
|
-
outputs: normalizeStringList(entry.outputs, `manifest.scenarios[${index}].outputs`),
|
|
152
|
-
permissions: normalizeStringList(Array.isArray(entry.permissions) ? entry.permissions : [], `manifest.scenarios[${index}].permissions`),
|
|
153
|
-
artifacts: normalizeStringList(Array.isArray(entry.artifacts) ? entry.artifacts : [], `manifest.scenarios[${index}].artifacts`),
|
|
154
|
-
agents_involved: normalizeStringList(entry.agents_involved, `manifest.scenarios[${index}].agents_involved`, { minLength: 1 }),
|
|
155
|
-
skills_used: normalizeStringList(Array.isArray(entry.skills_used) ? entry.skills_used : [], `manifest.scenarios[${index}].skills_used`),
|
|
156
|
-
tools_used: normalizeStringList(Array.isArray(entry.tools_used) ? entry.tools_used : [], `manifest.scenarios[${index}].tools_used`),
|
|
157
|
-
run_profile: normalizeRunProfile(entry.run_profile, `manifest.scenarios[${index}].run_profile`),
|
|
158
|
-
file: normalizeRecipeRelativePath(`manifest.scenarios[${index}].file`, normalizeRequiredString(entry.file, `manifest.scenarios[${index}].file`)),
|
|
159
|
-
};
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
function assertUniqueIds(field, items) {
|
|
163
|
-
const seen = new Set();
|
|
164
|
-
for (const item of items) {
|
|
165
|
-
if (seen.has(item.id)) {
|
|
166
|
-
throw new Error(invalidFieldMessage(field, `unique ids (duplicate: ${item.id})`));
|
|
167
|
-
}
|
|
168
|
-
seen.add(item.id);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
function assertKnownReferences(field, refs, known) {
|
|
172
|
-
if (!refs || refs.length === 0)
|
|
173
|
-
return;
|
|
174
|
-
const missing = refs.filter((ref) => !known.has(ref));
|
|
175
|
-
if (missing.length > 0) {
|
|
176
|
-
throw new Error(invalidFieldMessage(field, `known ids (missing: ${missing.join(", ")})`));
|
|
177
|
-
}
|
|
1
|
+
import { readRecipeManifest as readRecipeManifestBase, validateRecipeManifest as validateRecipeManifestBase, } from "@agentplaneorg/recipes";
|
|
2
|
+
export async function readRecipeManifest(manifestPath) {
|
|
3
|
+
return readRecipeManifestBase(manifestPath);
|
|
178
4
|
}
|
|
179
5
|
export function validateRecipeManifest(raw) {
|
|
180
|
-
|
|
181
|
-
throw new Error(invalidFieldMessage("manifest", "object"));
|
|
182
|
-
if (raw.schema_version !== "1")
|
|
183
|
-
throw new Error(invalidFieldMessage("manifest.schema_version", '"1"'));
|
|
184
|
-
const id = normalizeRecipeId(normalizeRequiredString(raw.id, "manifest.id"));
|
|
185
|
-
const version = normalizeRequiredString(raw.version, "manifest.version");
|
|
186
|
-
const tags = normalizeRecipeTags(raw.tags);
|
|
187
|
-
const compatibility = normalizeCompatibility(raw.compatibility);
|
|
188
|
-
const skills = normalizeSkills(raw.skills);
|
|
189
|
-
const tools = normalizeTools(raw.tools);
|
|
190
|
-
const agents = normalizeAgents(raw.agents);
|
|
191
|
-
const scenarios = normalizeScenarios(raw.scenarios);
|
|
192
|
-
if (skills)
|
|
193
|
-
assertUniqueIds("manifest.skills", skills);
|
|
194
|
-
if (tools)
|
|
195
|
-
assertUniqueIds("manifest.tools", tools);
|
|
196
|
-
if (agents)
|
|
197
|
-
assertUniqueIds("manifest.agents", agents);
|
|
198
|
-
assertUniqueIds("manifest.scenarios", scenarios);
|
|
199
|
-
const skillIds = new Set((skills ?? []).map((skill) => skill.id));
|
|
200
|
-
const toolIds = new Set((tools ?? []).map((tool) => tool.id));
|
|
201
|
-
const agentIds = new Set((agents ?? []).map((agent) => agent.id));
|
|
202
|
-
for (const [index, agent] of (agents ?? []).entries()) {
|
|
203
|
-
assertKnownReferences(`manifest.agents[${index}].skills`, agent.skills, skillIds);
|
|
204
|
-
assertKnownReferences(`manifest.agents[${index}].tools`, agent.tools, toolIds);
|
|
205
|
-
}
|
|
206
|
-
for (const [index, scenario] of scenarios.entries()) {
|
|
207
|
-
assertKnownReferences(`manifest.scenarios[${index}].agents_involved`, scenario.agents_involved, agentIds);
|
|
208
|
-
assertKnownReferences(`manifest.scenarios[${index}].skills_used`, scenario.skills_used, skillIds);
|
|
209
|
-
assertKnownReferences(`manifest.scenarios[${index}].tools_used`, scenario.tools_used, toolIds);
|
|
210
|
-
}
|
|
211
|
-
return {
|
|
212
|
-
schema_version: "1",
|
|
213
|
-
id,
|
|
214
|
-
version,
|
|
215
|
-
name: normalizeRequiredString(raw.name, "manifest.name"),
|
|
216
|
-
summary: normalizeRequiredString(raw.summary, "manifest.summary"),
|
|
217
|
-
description: normalizeRequiredString(raw.description, "manifest.description"),
|
|
218
|
-
tags: tags.length > 0 ? tags : undefined,
|
|
219
|
-
compatibility,
|
|
220
|
-
skills,
|
|
221
|
-
agents,
|
|
222
|
-
tools,
|
|
223
|
-
scenarios,
|
|
224
|
-
};
|
|
225
|
-
}
|
|
226
|
-
export async function readRecipeManifest(manifestPath) {
|
|
227
|
-
const raw = JSON.parse(await readFile(manifestPath, "utf8"));
|
|
228
|
-
return validateRecipeManifest(raw);
|
|
6
|
+
return validateRecipeManifestBase(raw);
|
|
229
7
|
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type CompiledRecipeAssetRegistry, type CompiledOverlayBundle, type ProjectRecipesLockFile } from "@agentplaneorg/recipes";
|
|
2
|
+
export declare function readActiveRecipeIds(project: {
|
|
3
|
+
agentplaneDir: string;
|
|
4
|
+
}): Promise<string[]>;
|
|
5
|
+
export declare function setRecipeActive(opts: {
|
|
6
|
+
project: {
|
|
7
|
+
agentplaneDir: string;
|
|
8
|
+
};
|
|
9
|
+
recipeId: string;
|
|
10
|
+
active: boolean;
|
|
11
|
+
}): Promise<string[]>;
|
|
12
|
+
export declare function compileProjectOverlayArtifacts(project: {
|
|
13
|
+
agentplaneDir: string;
|
|
14
|
+
}): Promise<{
|
|
15
|
+
bundle: CompiledOverlayBundle;
|
|
16
|
+
lock: ProjectRecipesLockFile;
|
|
17
|
+
assets: CompiledRecipeAssetRegistry;
|
|
18
|
+
}>;
|
|
19
|
+
export declare function refreshProjectOverlayArtifacts(project: {
|
|
20
|
+
agentplaneDir: string;
|
|
21
|
+
}): Promise<{
|
|
22
|
+
bundle: CompiledOverlayBundle;
|
|
23
|
+
lock: ProjectRecipesLockFile;
|
|
24
|
+
assets: CompiledRecipeAssetRegistry;
|
|
25
|
+
}>;
|
|
26
|
+
export declare function readProjectOverlayBundle(project: {
|
|
27
|
+
agentplaneDir: string;
|
|
28
|
+
}): Promise<CompiledOverlayBundle | null>;
|
|
29
|
+
export declare function readProjectRecipeAssetRegistry(project: {
|
|
30
|
+
agentplaneDir: string;
|
|
31
|
+
}): Promise<CompiledRecipeAssetRegistry | null>;
|
|
32
|
+
//# sourceMappingURL=overlay-project.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlay-project.d.ts","sourceRoot":"","sources":["../../../../src/commands/recipes/impl/overlay-project.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC5B,MAAM,wBAAwB,CAAC;AAiJhC,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAM/F;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,OAAO,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAepB;AAED,wBAAsB,8BAA8B,CAAC,OAAO,EAAE;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC;IAChG,MAAM,EAAE,qBAAqB,CAAC;IAC9B,IAAI,EAAE,sBAAsB,CAAC;IAC7B,MAAM,EAAE,2BAA2B,CAAC;CACrC,CAAC,CAiHD;AAED,wBAAsB,8BAA8B,CAAC,OAAO,EAAE;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC;IAChG,MAAM,EAAE,qBAAqB,CAAC;IAC9B,IAAI,EAAE,sBAAsB,CAAC;IAC7B,MAAM,EAAE,2BAA2B,CAAC;CACrC,CAAC,CAUD;AAED,wBAAsB,wBAAwB,CAAC,OAAO,EAAE;IACtD,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAUxC;AAED,wBAAsB,8BAA8B,CAAC,OAAO,EAAE;IAC5D,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAU9C"}
|