poe-code 3.0.183 → 3.0.185
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/cli/commands/configure-payload.d.ts +2 -1
- package/dist/cli/commands/configure-payload.js +4 -2
- package/dist/cli/commands/configure-payload.js.map +1 -1
- package/dist/cli/commands/configure.d.ts +1 -0
- package/dist/cli/commands/configure.js +50 -11
- package/dist/cli/commands/configure.js.map +1 -1
- package/dist/cli/commands/ensure-isolated-config.js +24 -2
- package/dist/cli/commands/ensure-isolated-config.js.map +1 -1
- package/dist/cli/commands/experiment.js +15 -2
- package/dist/cli/commands/experiment.js.map +1 -1
- package/dist/cli/commands/login.js +8 -4
- package/dist/cli/commands/login.js.map +1 -1
- package/dist/cli/commands/memory.js +16 -7
- package/dist/cli/commands/memory.js.map +1 -1
- package/dist/cli/commands/pipeline-init.d.ts +0 -1
- package/dist/cli/commands/pipeline-init.js +32 -46
- package/dist/cli/commands/pipeline-init.js.map +1 -1
- package/dist/cli/commands/pipeline.js +97 -41
- package/dist/cli/commands/pipeline.js.map +1 -1
- package/dist/cli/commands/provider.d.ts +6 -0
- package/dist/cli/commands/provider.js +100 -0
- package/dist/cli/commands/provider.js.map +1 -0
- package/dist/cli/commands/shared.d.ts +7 -0
- package/dist/cli/commands/shared.js +3 -0
- package/dist/cli/commands/shared.js.map +1 -1
- package/dist/cli/commands/test.js +1 -1
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/commands/unconfigure.js +12 -3
- package/dist/cli/commands/unconfigure.js.map +1 -1
- package/dist/cli/container.d.ts +2 -0
- package/dist/cli/container.js +3 -0
- package/dist/cli/container.js.map +1 -1
- package/dist/cli/isolated-env-runner.js +2 -2
- package/dist/cli/isolated-env-runner.js.map +1 -1
- package/dist/cli/isolated-env.d.ts +3 -2
- package/dist/cli/isolated-env.js +31 -40
- package/dist/cli/isolated-env.js.map +1 -1
- package/dist/cli/poe-code-command-runner.js +9 -2
- package/dist/cli/poe-code-command-runner.js.map +1 -1
- package/dist/cli/program.js +5 -0
- package/dist/cli/program.js.map +1 -1
- package/dist/cli/service-registry.d.ts +7 -7
- package/dist/cli/service-registry.js.map +1 -1
- package/dist/index.js +2965 -1968
- package/dist/index.js.map +4 -4
- package/dist/providers/claude-code.d.ts +2 -1
- package/dist/providers/claude-code.js +5 -5
- package/dist/providers/claude-code.js.map +2 -2
- package/dist/providers/codex.d.ts +5 -1
- package/dist/providers/codex.js +39 -12
- package/dist/providers/codex.js.map +2 -2
- package/dist/providers/goose.d.ts +2 -1
- package/dist/providers/goose.js +24 -8
- package/dist/providers/goose.js.map +3 -3
- package/dist/providers/kimi.js +3 -3
- package/dist/providers/kimi.js.map +3 -3
- package/dist/providers/opencode.js +2 -2
- package/dist/providers/opencode.js.map +3 -3
- package/dist/providers/poe-agent.js +786 -653
- package/dist/providers/poe-agent.js.map +4 -4
- package/dist/sdk/container.js +3 -0
- package/dist/sdk/container.js.map +1 -1
- package/dist/sdk/pipeline.d.ts +1 -2
- package/dist/sdk/pipeline.js +58 -9
- package/dist/sdk/pipeline.js.map +1 -1
- package/dist/services/config.d.ts +1 -0
- package/dist/services/config.js +27 -2
- package/dist/services/config.js.map +1 -1
- package/dist/templates/pipeline/SKILL_plan.md +7 -20
- package/dist/templates/pipeline/steps.yaml.mustache +5 -2
- package/package.json +10 -1
- package/packages/agent-mcp-config/dist/apply.d.ts +6 -0
- package/packages/agent-mcp-config/dist/apply.js +175 -0
- package/packages/agent-mcp-config/dist/configs.d.ts +22 -0
- package/packages/agent-mcp-config/dist/configs.js +74 -0
- package/packages/agent-mcp-config/dist/index.d.ts +3 -0
- package/packages/agent-mcp-config/dist/index.js +2 -0
- package/packages/agent-mcp-config/dist/shapes.d.ts +31 -0
- package/packages/agent-mcp-config/dist/shapes.js +87 -0
- package/packages/agent-mcp-config/dist/types.d.ts +25 -0
- package/packages/agent-mcp-config/dist/types.js +1 -0
- package/packages/agent-skill-config/dist/apply.d.ts +25 -0
- package/packages/agent-skill-config/dist/apply.js +109 -0
- package/packages/agent-skill-config/dist/configs.d.ts +16 -0
- package/packages/agent-skill-config/dist/configs.js +66 -0
- package/packages/agent-skill-config/dist/exports.compile-check.d.ts +1 -0
- package/packages/agent-skill-config/dist/exports.compile-check.js +1 -0
- package/packages/agent-skill-config/dist/index.d.ts +5 -0
- package/packages/agent-skill-config/dist/index.js +2 -0
- package/packages/agent-skill-config/dist/templates/poe-generate.md +47 -0
- package/packages/agent-skill-config/dist/templates/terminal-pilot.md +45 -0
- package/packages/agent-skill-config/dist/templates.d.ts +3 -0
- package/packages/agent-skill-config/dist/templates.js +63 -0
- package/packages/agent-skill-config/dist/types.d.ts +16 -0
- package/packages/agent-skill-config/dist/types.js +1 -0
- package/packages/cmdkit/dist/cli.js +7 -2
- package/packages/cmdkit/dist/cli.js.map +2 -2
- package/packages/config-mutations/dist/execution/apply-mutation.d.ts +5 -0
- package/packages/config-mutations/dist/execution/apply-mutation.js +552 -0
- package/packages/config-mutations/dist/execution/path-utils.d.ts +17 -0
- package/packages/config-mutations/dist/execution/path-utils.js +58 -0
- package/packages/config-mutations/dist/execution/run-mutations.d.ts +7 -0
- package/packages/config-mutations/dist/execution/run-mutations.js +46 -0
- package/packages/config-mutations/dist/formats/index.d.ts +13 -0
- package/packages/config-mutations/dist/formats/index.js +49 -0
- package/packages/config-mutations/dist/formats/json.d.ts +31 -0
- package/packages/config-mutations/dist/formats/json.js +140 -0
- package/packages/config-mutations/dist/formats/toml.d.ts +2 -0
- package/packages/config-mutations/dist/formats/toml.js +72 -0
- package/packages/config-mutations/dist/formats/yaml.d.ts +2 -0
- package/packages/config-mutations/dist/formats/yaml.js +73 -0
- package/packages/config-mutations/dist/fs-utils.d.ts +18 -0
- package/packages/config-mutations/dist/fs-utils.js +45 -0
- package/packages/config-mutations/dist/index.d.ts +8 -0
- package/packages/config-mutations/dist/index.js +8 -0
- package/packages/config-mutations/dist/mutations/config-mutation.d.ts +47 -0
- package/packages/config-mutations/dist/mutations/config-mutation.js +34 -0
- package/packages/config-mutations/dist/mutations/file-mutation.d.ts +52 -0
- package/packages/config-mutations/dist/mutations/file-mutation.js +46 -0
- package/packages/config-mutations/dist/mutations/template-mutation.d.ts +40 -0
- package/packages/config-mutations/dist/mutations/template-mutation.js +32 -0
- package/packages/config-mutations/dist/template/render.d.ts +7 -0
- package/packages/config-mutations/dist/template/render.js +28 -0
- package/packages/config-mutations/dist/testing/format-utils.d.ts +7 -0
- package/packages/config-mutations/dist/testing/format-utils.js +21 -0
- package/packages/config-mutations/dist/testing/index.d.ts +3 -0
- package/packages/config-mutations/dist/testing/index.js +2 -0
- package/packages/config-mutations/dist/testing/mock-fs.d.ts +25 -0
- package/packages/config-mutations/dist/testing/mock-fs.js +170 -0
- package/packages/config-mutations/dist/types.d.ts +156 -0
- package/packages/config-mutations/dist/types.js +6 -0
- package/packages/design-system/dist/dashboard/components/stats-pane.js +2 -1
- package/packages/design-system/dist/dashboard/types.d.ts +1 -0
- package/packages/memory/dist/audit.d.ts +11 -0
- package/packages/memory/dist/audit.js +131 -0
- package/packages/memory/dist/cache.cli.d.ts +9 -0
- package/packages/memory/dist/cache.cli.js +24 -0
- package/packages/memory/dist/cache.d.ts +14 -0
- package/packages/memory/dist/cache.js +149 -0
- package/packages/memory/dist/confidence.d.ts +4 -0
- package/packages/memory/dist/confidence.js +201 -0
- package/packages/memory/dist/corpus/001-archaeoastronomy.md +479 -0
- package/packages/memory/dist/corpus/002-magnetohydrodynamics.md +475 -0
- package/packages/memory/dist/corpus/003-biosemiotics.md +483 -0
- package/packages/memory/dist/corpus/004-cryopedology.md +483 -0
- package/packages/memory/dist/corpus/005-geomicrobiology.md +479 -0
- package/packages/memory/dist/corpus/006-aeronomy.md +487 -0
- package/packages/memory/dist/corpus/007-paleoclimatology.md +479 -0
- package/packages/memory/dist/corpus/008-hydrogeophysics.md +479 -0
- package/packages/memory/dist/corpus/009-magnetostratigraphy.md +475 -0
- package/packages/memory/dist/corpus/010-isotope-hydrology.md +481 -0
- package/packages/memory/dist/corpus/011-speleothem-geochemistry.md +474 -0
- package/packages/memory/dist/corpus/012-astrobiogeochemistry.md +475 -0
- package/packages/memory/dist/corpus/013-neuroethology.md +483 -0
- package/packages/memory/dist/corpus/014-chronophysiology.md +483 -0
- package/packages/memory/dist/corpus/015-limnogeochemistry.md +475 -0
- package/packages/memory/dist/corpus/016-palynology.md +483 -0
- package/packages/memory/dist/corpus/017-volcanotectonics.md +473 -0
- package/packages/memory/dist/corpus/018-seismotectonics.md +473 -0
- package/packages/memory/dist/corpus/019-biogeomorphology.md +475 -0
- package/packages/memory/dist/corpus/020-geobiophysics.md +479 -0
- package/packages/memory/dist/corpus/021-phytolith-analysis.md +481 -0
- package/packages/memory/dist/corpus/022-archaeometallurgy.md +479 -0
- package/packages/memory/dist/corpus/023-paleomagnetism.md +479 -0
- package/packages/memory/dist/corpus/024-biocalorimetry.md +475 -0
- package/packages/memory/dist/corpus/025-atmospheric-chemiluminescence.md +473 -0
- package/packages/memory/dist/corpus/026-cryoseismology.md +479 -0
- package/packages/memory/dist/corpus/027-extremophile-radiobiology.md +475 -0
- package/packages/memory/dist/corpus/028-heliophysics.md +479 -0
- package/packages/memory/dist/corpus/029-astroparticle-geophysics.md +474 -0
- package/packages/memory/dist/corpus/030-glaciohydrology.md +479 -0
- package/packages/memory/dist/corpus/031-permafrost-microbiology.md +477 -0
- package/packages/memory/dist/corpus/032-ecoacoustics.md +479 -0
- package/packages/memory/dist/corpus/033-dendroclimatology.md +473 -0
- package/packages/memory/dist/corpus/034-ionospheric-tomography.md +477 -0
- package/packages/memory/dist/corpus/035-marine-geodesy.md +481 -0
- package/packages/memory/dist/corpus/036-sedimentary-ancient-dna.md +481 -0
- package/packages/memory/dist/corpus/037-myrmecochory-dynamics.md +474 -0
- package/packages/memory/dist/corpus/038-chemosensory-ecology.md +477 -0
- package/packages/memory/dist/corpus/039-spintronics-materials.md +479 -0
- package/packages/memory/dist/corpus/040-nanotoxicology.md +483 -0
- package/packages/memory/dist/corpus/041-cosmochemistry.md +483 -0
- package/packages/memory/dist/corpus/042-quaternary-geochronology.md +471 -0
- package/packages/memory/dist/corpus/043-biophotonics.md +479 -0
- package/packages/memory/dist/corpus/044-evolutionary-morphometrics.md +481 -0
- package/packages/memory/dist/corpus/045-cryovolcanology.md +475 -0
- package/packages/memory/dist/corpus/046-exoplanet-atmospheric-dynamics.md +479 -0
- package/packages/memory/dist/corpus/047-microbial-electrosynthesis.md +477 -0
- package/packages/memory/dist/corpus/048-paleoseismology.md +479 -0
- package/packages/memory/dist/corpus/049-actinide-geochemistry.md +477 -0
- package/packages/memory/dist/corpus/050-quantum-biology.md +489 -0
- package/packages/memory/dist/edit.d.ts +10 -0
- package/packages/memory/dist/edit.js +43 -0
- package/packages/memory/dist/explain.cli.d.ts +8 -0
- package/packages/memory/dist/explain.cli.js +9 -0
- package/packages/memory/dist/explain.d.ts +8 -0
- package/packages/memory/dist/explain.js +77 -0
- package/packages/memory/dist/frontmatter.d.ts +9 -0
- package/packages/memory/dist/frontmatter.js +217 -0
- package/packages/memory/dist/index.d.ts +21 -0
- package/packages/memory/dist/index.js +4807 -0
- package/packages/memory/dist/index.js.map +7 -0
- package/packages/memory/dist/ingest.d.ts +3 -0
- package/packages/memory/dist/ingest.js +118 -0
- package/packages/memory/dist/init.d.ts +2 -0
- package/packages/memory/dist/init.js +24 -0
- package/packages/memory/dist/install.d.ts +18 -0
- package/packages/memory/dist/install.js +50 -0
- package/packages/memory/dist/lock.d.ts +19 -0
- package/packages/memory/dist/lock.js +102 -0
- package/packages/memory/dist/mcp.d.ts +7 -0
- package/packages/memory/dist/mcp.js +58 -0
- package/packages/memory/dist/pages.d.ts +4 -0
- package/packages/memory/dist/pages.js +92 -0
- package/packages/memory/dist/paths.d.ts +12 -0
- package/packages/memory/dist/paths.js +34 -0
- package/packages/memory/dist/query.d.ts +10 -0
- package/packages/memory/dist/query.js +130 -0
- package/packages/memory/dist/reconcile.d.ts +9 -0
- package/packages/memory/dist/reconcile.js +138 -0
- package/packages/memory/dist/resolve-root.d.ts +11 -0
- package/packages/memory/dist/resolve-root.js +22 -0
- package/packages/memory/dist/search.d.ts +2 -0
- package/packages/memory/dist/search.js +29 -0
- package/packages/memory/dist/status.d.ts +7 -0
- package/packages/memory/dist/status.js +46 -0
- package/packages/memory/dist/tokens.d.ts +2 -0
- package/packages/memory/dist/tokens.js +71 -0
- package/packages/memory/dist/types.d.ts +155 -0
- package/packages/memory/dist/types.js +1 -0
- package/packages/memory/dist/write.d.ts +9 -0
- package/packages/memory/dist/write.js +76 -0
package/dist/sdk/container.js
CHANGED
|
@@ -10,6 +10,7 @@ import { createLoggerFactory } from "../cli/logger.js";
|
|
|
10
10
|
import { ErrorLogger } from "../cli/error-logger.js";
|
|
11
11
|
import { runCommand } from "@poe-code/agent-spawn";
|
|
12
12
|
import { getDefaultProviders } from "../providers/index.js";
|
|
13
|
+
import { ProviderRegistry, poeProvider } from "@poe-code/providers";
|
|
13
14
|
import { createPoeCodeCommandRunner } from "../cli/poe-code-command-runner.js";
|
|
14
15
|
import * as nodeFsSync from "node:fs";
|
|
15
16
|
import { createSecretStore } from "auth-store";
|
|
@@ -100,6 +101,7 @@ export function createSdkContainer(options) {
|
|
|
100
101
|
checkAuth: async (apiKey) => (await checkAuth({ apiKey })) !== null
|
|
101
102
|
});
|
|
102
103
|
const registry = createServiceRegistry();
|
|
104
|
+
const providerRegistry = new ProviderRegistry([poeProvider], (_id) => authStore);
|
|
103
105
|
const providers = getDefaultProviders().filter((adapter) => !adapter.disabled);
|
|
104
106
|
for (const adapter of providers) {
|
|
105
107
|
registry.register(adapter);
|
|
@@ -130,6 +132,7 @@ export function createSdkContainer(options) {
|
|
|
130
132
|
options: optionResolvers,
|
|
131
133
|
contextFactory,
|
|
132
134
|
registry,
|
|
135
|
+
providerRegistry,
|
|
133
136
|
httpClient,
|
|
134
137
|
commandRunner: wrappedRunner,
|
|
135
138
|
providers,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/sdk/container.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/sdk/container.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk/pipeline.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type PipelineRunOptions, type PipelineRunResult } from "@poe-code/pipeline";
|
|
2
|
-
export type { AgentRunUsage, AgentRunInput, AgentRunResult, PipelineConfig, PipelineMetrics, PipelinePlan, PipelineStatus, PipelineTask, ResolvedStepDefinitions, ResolvedStepsConfig, StepDefinition, StepMode, TaskProgress, PlanSummary } from "@poe-code/pipeline";
|
|
2
|
+
export type { AgentRunUsage, AgentRunInput, AgentRunResult, PipelineConfig, PipelineMetrics, PipelinePlan, PipelineLockStatus, PipelineStatus, PipelineTask, ResolvedStepDefinitions, ResolvedStepsConfig, StepDefinition, StepMode, TaskProgress, PlanSummary } from "@poe-code/pipeline";
|
|
3
3
|
export { resolvePlanDirectory } from "@poe-code/pipeline";
|
|
4
4
|
export type { PipelineRunOptions, PipelineRunResult };
|
|
5
5
|
export interface PipelineInitSource {
|
|
@@ -14,7 +14,6 @@ export interface PipelineInitRunOptions {
|
|
|
14
14
|
model?: string;
|
|
15
15
|
cwd: string;
|
|
16
16
|
homeDir: string;
|
|
17
|
-
planDirectory?: string;
|
|
18
17
|
sources: PipelineInitSource[];
|
|
19
18
|
question?: string;
|
|
20
19
|
assumeYes: boolean;
|
package/dist/sdk/pipeline.js
CHANGED
|
@@ -1,14 +1,49 @@
|
|
|
1
1
|
import * as fsPromises from "node:fs/promises";
|
|
2
|
-
import
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { parse as parseYaml } from "yaml";
|
|
4
|
+
import { runPipeline as runWorkspacePipeline } from "@poe-code/pipeline";
|
|
3
5
|
import { buildPipelineInitPrompt } from "../cli/commands/pipeline-init.js";
|
|
4
6
|
import pipelineSkillPlan from "../templates/pipeline/SKILL_plan.md";
|
|
5
7
|
import { spawn as sdkSpawn } from "./spawn.js";
|
|
6
8
|
export { resolvePlanDirectory } from "@poe-code/pipeline";
|
|
9
|
+
const PIPELINE_ACTIVITY_TIMEOUT_RETRY_COUNT = 3;
|
|
10
|
+
function isActivityTimeoutError(error) {
|
|
11
|
+
return error instanceof Error && error.name === "ActivityTimeoutError";
|
|
12
|
+
}
|
|
7
13
|
function isAbortError(error) {
|
|
8
14
|
return error instanceof Error && error.name === "AbortError";
|
|
9
15
|
}
|
|
16
|
+
async function planNeedsInit(absolutePath) {
|
|
17
|
+
const content = await fsPromises.readFile(absolutePath, "utf8");
|
|
18
|
+
if (!content.startsWith("---\n") && !content.startsWith("---\r\n")) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
const end = content.indexOf("\n---", 4);
|
|
22
|
+
if (end === -1)
|
|
23
|
+
return true;
|
|
24
|
+
const frontmatter = content.slice(4, end);
|
|
25
|
+
const parsed = parseYaml(frontmatter);
|
|
26
|
+
if (!parsed || typeof parsed !== "object")
|
|
27
|
+
return true;
|
|
28
|
+
const tasks = parsed.tasks;
|
|
29
|
+
return !Array.isArray(tasks) || tasks.length === 0;
|
|
30
|
+
}
|
|
31
|
+
async function runWithRetry(fn, maxAttempts) {
|
|
32
|
+
let lastError;
|
|
33
|
+
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
34
|
+
try {
|
|
35
|
+
return await fn();
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
if (!isActivityTimeoutError(error))
|
|
39
|
+
throw error;
|
|
40
|
+
lastError = error;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
throw lastError;
|
|
44
|
+
}
|
|
10
45
|
export async function runPipeline(options) {
|
|
11
|
-
const
|
|
46
|
+
const userRunAgent = options.runAgent ?? (async (input) => {
|
|
12
47
|
return await sdkSpawn.autonomous(input.agent, {
|
|
13
48
|
prompt: input.prompt,
|
|
14
49
|
cwd: input.cwd,
|
|
@@ -19,9 +54,29 @@ export async function runPipeline(options) {
|
|
|
19
54
|
...(input.signal ? { signal: input.signal } : {})
|
|
20
55
|
});
|
|
21
56
|
});
|
|
57
|
+
if (options.plan) {
|
|
58
|
+
const planAbsolutePath = path.resolve(options.cwd, options.plan);
|
|
59
|
+
if (await planNeedsInit(planAbsolutePath)) {
|
|
60
|
+
const sourceDocContent = await fsPromises.readFile(planAbsolutePath, "utf8");
|
|
61
|
+
const prompt = buildPipelineInitPrompt({
|
|
62
|
+
sourceDocPath: options.plan,
|
|
63
|
+
sourceDocContent,
|
|
64
|
+
skillContent: pipelineSkillPlan
|
|
65
|
+
});
|
|
66
|
+
await runWithRetry(() => userRunAgent({
|
|
67
|
+
agent: options.agent,
|
|
68
|
+
prompt,
|
|
69
|
+
mode: "yolo",
|
|
70
|
+
cwd: options.cwd,
|
|
71
|
+
...(options.model ? { model: options.model } : {}),
|
|
72
|
+
...(options.signal ? { signal: options.signal } : {})
|
|
73
|
+
}), PIPELINE_ACTIVITY_TIMEOUT_RETRY_COUNT);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
const retryRunAgent = (input) => runWithRetry(() => userRunAgent(input), PIPELINE_ACTIVITY_TIMEOUT_RETRY_COUNT);
|
|
22
77
|
return runWorkspacePipeline({
|
|
23
78
|
...options,
|
|
24
|
-
runAgent
|
|
79
|
+
runAgent: retryRunAgent
|
|
25
80
|
});
|
|
26
81
|
}
|
|
27
82
|
export async function runPipelineInit(options) {
|
|
@@ -40,11 +95,6 @@ export async function runPipelineInit(options) {
|
|
|
40
95
|
sourcesProcessed: 0
|
|
41
96
|
};
|
|
42
97
|
}
|
|
43
|
-
const planDirectory = resolveWorkspacePlanDirectory({
|
|
44
|
-
cwd: options.cwd,
|
|
45
|
-
homeDir: options.homeDir,
|
|
46
|
-
planDirectory: options.planDirectory ?? ".poe-code/pipeline/plans"
|
|
47
|
-
});
|
|
48
98
|
let sourcesProcessed = 0;
|
|
49
99
|
const totalSources = options.sources.length;
|
|
50
100
|
for (const [sourceIndex, source] of options.sources.entries()) {
|
|
@@ -66,7 +116,6 @@ export async function runPipelineInit(options) {
|
|
|
66
116
|
}
|
|
67
117
|
const prompt = buildPipelineInitPrompt({
|
|
68
118
|
question: options.question,
|
|
69
|
-
planDirectory,
|
|
70
119
|
sourceDocPath: source.relativePath,
|
|
71
120
|
sourceDocContent,
|
|
72
121
|
skillContent: pipelineSkillPlan
|
package/dist/sdk/pipeline.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/sdk/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/sdk/pipeline.ts"],"names":[],"mappings":"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"}
|
package/dist/services/config.js
CHANGED
|
@@ -111,6 +111,7 @@ export async function deleteConfig(options) {
|
|
|
111
111
|
export async function loadConfiguredServices(options) {
|
|
112
112
|
const { fs, filePath, projectFilePath } = options;
|
|
113
113
|
await migrateLegacyCredentialsIfNeeded(fs, filePath);
|
|
114
|
+
await migrateServicesProviderIfNeeded(fs, filePath);
|
|
114
115
|
const document = await readMergedDocument(fs, filePath, projectFilePath);
|
|
115
116
|
return normalizeConfiguredServices(document[configuredServicesScope]);
|
|
116
117
|
}
|
|
@@ -146,7 +147,30 @@ function normalizeConfiguredServiceMetadata(metadata) {
|
|
|
146
147
|
seen.add(entry);
|
|
147
148
|
}
|
|
148
149
|
}
|
|
149
|
-
return { files };
|
|
150
|
+
return { files, provider: metadata.provider };
|
|
151
|
+
}
|
|
152
|
+
async function migrateServicesProviderIfNeeded(fs, filePath) {
|
|
153
|
+
const document = await readDocument(fs, filePath);
|
|
154
|
+
const rawServices = document[configuredServicesScope];
|
|
155
|
+
if (!isRecord(rawServices)) {
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
let needsMigration = false;
|
|
159
|
+
const migrated = {};
|
|
160
|
+
for (const [k, entry] of Object.entries(rawServices)) {
|
|
161
|
+
if (!isRecord(entry))
|
|
162
|
+
continue;
|
|
163
|
+
if (typeof entry.provider !== "string") {
|
|
164
|
+
needsMigration = true;
|
|
165
|
+
migrated[k] = { ...entry, provider: "poe" };
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
migrated[k] = entry;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
if (needsMigration) {
|
|
172
|
+
await writeScope(fs, filePath, configuredServicesScope, migrated);
|
|
173
|
+
}
|
|
150
174
|
}
|
|
151
175
|
async function migrateLegacyConfigIfNeeded(fs, filePath) {
|
|
152
176
|
await migrateLegacyCredentialsIfNeeded(fs, filePath);
|
|
@@ -235,7 +259,8 @@ function normalizeConfiguredServices(value) {
|
|
|
235
259
|
continue;
|
|
236
260
|
}
|
|
237
261
|
entries[key] = normalizeConfiguredServiceMetadata({
|
|
238
|
-
files: Array.isArray(entry.files) ? entry.files : []
|
|
262
|
+
files: Array.isArray(entry.files) ? entry.files : [],
|
|
263
|
+
provider: typeof entry.provider === "string" ? entry.provider : "poe"
|
|
239
264
|
});
|
|
240
265
|
}
|
|
241
266
|
return entries;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/services/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EACL,WAAW,EACX,eAAe,IAAI,qBAAqB,EACxC,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,gCAAgC,EAA0B,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/services/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,14 +9,14 @@ Ask the user for a one-sentence description of what they want to build.
|
|
|
9
9
|
|
|
10
10
|
## Goal
|
|
11
11
|
|
|
12
|
-
Write a markdown pipeline plan with YAML frontmatter. Before writing,
|
|
12
|
+
Write a markdown pipeline plan with YAML frontmatter. Before writing, decide where it goes:
|
|
13
13
|
|
|
14
|
-
1.
|
|
15
|
-
2.
|
|
14
|
+
1. If the user points you at an existing source Markdown doc, add the frontmatter to that file in place. Leave the existing body as the context section below the frontmatter. Do not create a second plan file.
|
|
15
|
+
2. Otherwise write a new file at `<plan-directory>/plan-<name>.md` (see Plan Directory section below).
|
|
16
|
+
3. Find the `steps.yaml` file. Check these locations in order and use the first one found:
|
|
16
17
|
a. `<project-root>/.poe-code/pipeline/steps.yaml` (project-level)
|
|
17
18
|
b. `~/.poe-code/pipeline/steps.yaml` (user-global)
|
|
18
19
|
If found, read it to determine available steps and note any `setup`/`teardown` hooks defined there. If not found in either location, use stepless tasks.
|
|
19
|
-
3. Decide what belongs in the markdown body. If the user already has a Markdown design/context doc (for example in `docs/plans/`), use that content as the plan body when it makes sense. If they want to keep the source doc separate, link it via `vars` so it is available in every prompt without repeating the path.
|
|
20
20
|
|
|
21
21
|
## Rules
|
|
22
22
|
|
|
@@ -29,12 +29,9 @@ Write a markdown pipeline plan with YAML frontmatter. Before writing, determine
|
|
|
29
29
|
- If step configuration is present, start every configured step status at `open`.
|
|
30
30
|
- `setup` and `teardown` defined in `steps.yaml` are inherited automatically.
|
|
31
31
|
- To disable an inherited hook for a specific plan, set `setup: false` or `teardown: false`.
|
|
32
|
-
- To override an inherited hook, define the full block with
|
|
33
|
-
- If the user keeps an existing Markdown plan document as a separate file, add a `vars` block with a `plan_doc` key pointing to the file path. The pipeline runtime reads the file and makes its contents available as a named placeholder in every prompt.
|
|
34
|
-
- `vars` values are plain strings. Use the `file` include syntax inside a value to load a file at runtime (path relative to project root): write `var_name: "` followed by the file include tag and a closing `"`.
|
|
35
|
-
- Each var name becomes a double-curly-brace placeholder usable in any task, step, setup, or teardown prompt.
|
|
32
|
+
- To override an inherited hook, define the full block with a `prompt` field.
|
|
36
33
|
- The markdown body is for context, notes, acceptance criteria, or the design doc. Keep executable pipeline config in the YAML frontmatter.
|
|
37
|
-
- Do not rely on the body alone for runtime context. Each task prompt must still include everything it needs directly
|
|
34
|
+
- Do not rely on the body alone for runtime context. Each task prompt must still include everything it needs directly.
|
|
38
35
|
- Start the frontmatter with canonical metadata: `$schema: https://poe-platform.github.io/poe-code/schemas/plans/pipeline.schema.json`, `kind: pipeline`, and `version: 1`.
|
|
39
36
|
|
|
40
37
|
## Output Format
|
|
@@ -45,15 +42,6 @@ $schema: https://poe-platform.github.io/poe-code/schemas/plans/pipeline.schema.j
|
|
|
45
42
|
kind: pipeline
|
|
46
43
|
version: 1
|
|
47
44
|
|
|
48
|
-
# vars: optional. Define named values available as double-curly-brace placeholders in every prompt.
|
|
49
|
-
# Each value is a plain string. To load a file at runtime, write the value using the
|
|
50
|
-
# file include syntax: double-curly-brace file followed by a quoted path.
|
|
51
|
-
# Omit this block if there are no shared values to inject.
|
|
52
|
-
#
|
|
53
|
-
# vars:
|
|
54
|
-
# plan_doc: "(file include for docs/plans/my-feature.md)" # loaded at runtime
|
|
55
|
-
# env: production # literal string
|
|
56
|
-
|
|
57
45
|
# setup/teardown are inherited from steps.yaml automatically.
|
|
58
46
|
# Include them only to disable or override:
|
|
59
47
|
#
|
|
@@ -68,7 +56,6 @@ tasks:
|
|
|
68
56
|
title: Harden auth flow
|
|
69
57
|
prompt: |
|
|
70
58
|
Improve auth validation and session handling.
|
|
71
|
-
# If vars defines plan_doc, reference it here using the double-curly-brace placeholder syntax.
|
|
72
59
|
# scalar when no steps.yaml steps are defined:
|
|
73
60
|
status: open
|
|
74
61
|
# stepped when steps.yaml defines steps:
|
|
@@ -82,7 +69,7 @@ tasks:
|
|
|
82
69
|
|
|
83
70
|
Paste the design doc, notes, acceptance criteria, or implementation details here.
|
|
84
71
|
This body is for human-readable context and future tooling.
|
|
85
|
-
Any context needed at runtime must still appear in each task prompt
|
|
72
|
+
Any context needed at runtime must still appear in each task prompt.
|
|
86
73
|
```
|
|
87
74
|
|
|
88
75
|
## After Writing
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
# Edit this file to define Pipeline
|
|
1
|
+
# Edit this file to define the default named Pipeline step config.
|
|
2
|
+
# Save additional named configs alongside it in the same directory, for example:
|
|
3
|
+
# .poe-code/pipeline/steps/default.yaml
|
|
4
|
+
# .poe-code/pipeline/steps/fast.yaml
|
|
2
5
|
# Leave it comment-only to keep the default no-step behavior.
|
|
3
6
|
# Uncomment and change the example below when you want stepped tasks.
|
|
4
7
|
# Add `mode` only when you want to override the default `yolo`.
|
|
@@ -6,7 +9,7 @@
|
|
|
6
9
|
# Use {{file 'path'}} in any prompt to inline the contents of a Markdown file (relative to project root).
|
|
7
10
|
#
|
|
8
11
|
# Optional: setup runs once before any tasks, teardown runs once after all complete.
|
|
9
|
-
# These can also be defined in plan
|
|
12
|
+
# These can also be defined in the plan frontmatter to override the defaults below.
|
|
10
13
|
#
|
|
11
14
|
# setup:
|
|
12
15
|
# prompt: Prepare the workspace
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "poe-code",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.185",
|
|
4
4
|
"description": "CLI tool to configure Poe API for developer workflows.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -25,6 +25,10 @@
|
|
|
25
25
|
"./cmdkit/sdk": {
|
|
26
26
|
"types": "./packages/cmdkit/dist/sdk.d.ts",
|
|
27
27
|
"import": "./packages/cmdkit/dist/sdk.js"
|
|
28
|
+
},
|
|
29
|
+
"./memory": {
|
|
30
|
+
"types": "./packages/memory/dist/index.d.ts",
|
|
31
|
+
"import": "./packages/memory/dist/index.js"
|
|
28
32
|
}
|
|
29
33
|
},
|
|
30
34
|
"workspaces": [
|
|
@@ -97,9 +101,13 @@
|
|
|
97
101
|
},
|
|
98
102
|
"files": [
|
|
99
103
|
"dist",
|
|
104
|
+
"packages/agent-mcp-config/dist",
|
|
105
|
+
"packages/agent-skill-config/dist",
|
|
100
106
|
"packages/cmdkit/dist",
|
|
101
107
|
"packages/cmdkit-schema/dist",
|
|
108
|
+
"packages/config-mutations/dist",
|
|
102
109
|
"packages/design-system/dist",
|
|
110
|
+
"packages/memory/dist",
|
|
103
111
|
"packages/tiny-stdio-mcp-server/dist"
|
|
104
112
|
],
|
|
105
113
|
"engines": {
|
|
@@ -151,6 +159,7 @@
|
|
|
151
159
|
"@poe-code/poe-agent": "*",
|
|
152
160
|
"@poe-code/poe-code-config": "*",
|
|
153
161
|
"@poe-code/process-launcher": "*",
|
|
162
|
+
"@poe-code/providers": "*",
|
|
154
163
|
"@poe-code/process-runner": "*",
|
|
155
164
|
"@poe-code/ralph": "*",
|
|
156
165
|
"@poe-code/superintendent": "*",
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { McpServerEntry, ApplyOptions } from "./types.js";
|
|
2
|
+
export declare class UnsupportedAgentError extends Error {
|
|
3
|
+
constructor(agentId: string);
|
|
4
|
+
}
|
|
5
|
+
export declare function configure(agentId: string, server: McpServerEntry, options: ApplyOptions): Promise<void>;
|
|
6
|
+
export declare function unconfigure(agentId: string, serverName: string, options: ApplyOptions): Promise<void>;
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { parse as parseYaml, stringify as stringifyYaml } from "yaml";
|
|
3
|
+
import { runMutations, configMutation, fileMutation, readFileIfExists } from "@poe-code/config-mutations";
|
|
4
|
+
import { getAgentConfig, resolveConfigPath, isSupported } from "./configs.js";
|
|
5
|
+
import { getShapeTransformer } from "./shapes.js";
|
|
6
|
+
function getConfigDirectory(configPath) {
|
|
7
|
+
return path.dirname(configPath);
|
|
8
|
+
}
|
|
9
|
+
export class UnsupportedAgentError extends Error {
|
|
10
|
+
constructor(agentId) {
|
|
11
|
+
super(`Unsupported agent: ${agentId}`);
|
|
12
|
+
this.name = "UnsupportedAgentError";
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function isConfigObject(value) {
|
|
16
|
+
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
17
|
+
}
|
|
18
|
+
function resolveServerMap(document, configKey) {
|
|
19
|
+
const value = document[configKey];
|
|
20
|
+
return isConfigObject(value) ? value : {};
|
|
21
|
+
}
|
|
22
|
+
function mergeServerMap(document, configKey, servers) {
|
|
23
|
+
return { ...document, [configKey]: servers };
|
|
24
|
+
}
|
|
25
|
+
function expandHomePath(configPath, homeDir) {
|
|
26
|
+
if (!configPath.startsWith("~")) {
|
|
27
|
+
return configPath;
|
|
28
|
+
}
|
|
29
|
+
if (configPath === "~") {
|
|
30
|
+
return homeDir;
|
|
31
|
+
}
|
|
32
|
+
if (configPath.startsWith("~/")) {
|
|
33
|
+
return path.join(homeDir, configPath.slice(2));
|
|
34
|
+
}
|
|
35
|
+
return path.join(homeDir, configPath.slice(1));
|
|
36
|
+
}
|
|
37
|
+
function parseYamlDocument(content) {
|
|
38
|
+
if (content.trim() === "") {
|
|
39
|
+
return {};
|
|
40
|
+
}
|
|
41
|
+
const parsed = parseYaml(content);
|
|
42
|
+
if (parsed === null || parsed === undefined) {
|
|
43
|
+
return {};
|
|
44
|
+
}
|
|
45
|
+
if (!isConfigObject(parsed)) {
|
|
46
|
+
throw new Error("Expected YAML document to be an object.");
|
|
47
|
+
}
|
|
48
|
+
return parsed;
|
|
49
|
+
}
|
|
50
|
+
function serializeYamlDocument(document) {
|
|
51
|
+
const serialized = stringifyYaml(document);
|
|
52
|
+
return serialized.endsWith("\n") ? serialized : `${serialized}\n`;
|
|
53
|
+
}
|
|
54
|
+
async function readYamlConfig(configPath, options) {
|
|
55
|
+
const absolutePath = expandHomePath(configPath, options.homeDir);
|
|
56
|
+
const existingContent = await readFileIfExists(options.fs, absolutePath);
|
|
57
|
+
if (existingContent === null) {
|
|
58
|
+
return {};
|
|
59
|
+
}
|
|
60
|
+
return parseYamlDocument(existingContent);
|
|
61
|
+
}
|
|
62
|
+
async function writeYamlConfig(configPath, document, options) {
|
|
63
|
+
if (options.dryRun) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const absolutePath = expandHomePath(configPath, options.homeDir);
|
|
67
|
+
const configDir = path.dirname(absolutePath);
|
|
68
|
+
await options.fs.mkdir(configDir, { recursive: true });
|
|
69
|
+
await options.fs.writeFile(absolutePath, serializeYamlDocument(document), {
|
|
70
|
+
encoding: "utf8"
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
function removeServer(document, configKey, serverName) {
|
|
74
|
+
const servers = resolveServerMap(document, configKey);
|
|
75
|
+
if (!(serverName in servers)) {
|
|
76
|
+
return { changed: false, content: document };
|
|
77
|
+
}
|
|
78
|
+
const nextServers = { ...servers };
|
|
79
|
+
delete nextServers[serverName];
|
|
80
|
+
if (Object.keys(nextServers).length === 0) {
|
|
81
|
+
const nextDocument = { ...document };
|
|
82
|
+
delete nextDocument[configKey];
|
|
83
|
+
return { changed: true, content: nextDocument };
|
|
84
|
+
}
|
|
85
|
+
return {
|
|
86
|
+
changed: true,
|
|
87
|
+
content: mergeServerMap(document, configKey, nextServers)
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
export async function configure(agentId, server, options) {
|
|
91
|
+
if (!isSupported(agentId)) {
|
|
92
|
+
throw new UnsupportedAgentError(agentId);
|
|
93
|
+
}
|
|
94
|
+
const config = getAgentConfig(agentId);
|
|
95
|
+
const configPath = resolveConfigPath(config, options.platform);
|
|
96
|
+
const shapeTransformer = getShapeTransformer(config.shape);
|
|
97
|
+
const shaped = shapeTransformer(server);
|
|
98
|
+
if (shaped === undefined) {
|
|
99
|
+
await unconfigure(agentId, server.name, options);
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
if (config.format === "yaml") {
|
|
103
|
+
const document = await readYamlConfig(configPath, options);
|
|
104
|
+
const servers = resolveServerMap(document, config.configKey);
|
|
105
|
+
const nextDocument = mergeServerMap(document, config.configKey, {
|
|
106
|
+
...servers,
|
|
107
|
+
[server.name]: shaped
|
|
108
|
+
});
|
|
109
|
+
await writeYamlConfig(configPath, nextDocument, options);
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
const configDir = getConfigDirectory(configPath);
|
|
113
|
+
await runMutations([
|
|
114
|
+
fileMutation.ensureDirectory({
|
|
115
|
+
path: configDir,
|
|
116
|
+
label: `Ensure directory ${configDir}`
|
|
117
|
+
}),
|
|
118
|
+
// Use transform to replace the server entry entirely (not deep-merge)
|
|
119
|
+
// This ensures old fields like 'args' are removed when switching to array 'command'
|
|
120
|
+
configMutation.transform({
|
|
121
|
+
target: configPath,
|
|
122
|
+
format: config.format,
|
|
123
|
+
transform: (document) => {
|
|
124
|
+
const servers = resolveServerMap(document, config.configKey);
|
|
125
|
+
const newServers = {
|
|
126
|
+
...servers,
|
|
127
|
+
[server.name]: shaped
|
|
128
|
+
};
|
|
129
|
+
return {
|
|
130
|
+
changed: true,
|
|
131
|
+
content: mergeServerMap(document, config.configKey, newServers)
|
|
132
|
+
};
|
|
133
|
+
},
|
|
134
|
+
label: `Add ${server.name} to ${configPath}`
|
|
135
|
+
})
|
|
136
|
+
], {
|
|
137
|
+
fs: options.fs,
|
|
138
|
+
homeDir: options.homeDir,
|
|
139
|
+
dryRun: options.dryRun,
|
|
140
|
+
observers: options.observers
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
export async function unconfigure(agentId, serverName, options) {
|
|
144
|
+
if (!isSupported(agentId)) {
|
|
145
|
+
throw new UnsupportedAgentError(agentId);
|
|
146
|
+
}
|
|
147
|
+
const config = getAgentConfig(agentId);
|
|
148
|
+
const configPath = resolveConfigPath(config, options.platform);
|
|
149
|
+
if (config.format === "yaml") {
|
|
150
|
+
const document = await readYamlConfig(configPath, options);
|
|
151
|
+
const { changed, content } = removeServer(document, config.configKey, serverName);
|
|
152
|
+
if (!changed) {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
await writeYamlConfig(configPath, content, options);
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
await runMutations([
|
|
159
|
+
configMutation.prune({
|
|
160
|
+
target: configPath,
|
|
161
|
+
format: config.format,
|
|
162
|
+
shape: {
|
|
163
|
+
[config.configKey]: {
|
|
164
|
+
[serverName]: {}
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
label: `Remove ${serverName} from ${configPath}`
|
|
168
|
+
})
|
|
169
|
+
], {
|
|
170
|
+
fs: options.fs,
|
|
171
|
+
homeDir: options.homeDir,
|
|
172
|
+
dryRun: options.dryRun,
|
|
173
|
+
observers: options.observers
|
|
174
|
+
});
|
|
175
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ShapeName } from "./shapes.js";
|
|
2
|
+
export type ConfigFormat = "json" | "toml" | "yaml";
|
|
3
|
+
export type Platform = "darwin" | "linux" | "win32";
|
|
4
|
+
export interface AgentMcpConfig {
|
|
5
|
+
configFile: string | ((platform: Platform) => string);
|
|
6
|
+
configKey: string;
|
|
7
|
+
format: ConfigFormat;
|
|
8
|
+
shape: ShapeName;
|
|
9
|
+
mcpOutputFormat?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare const supportedAgents: readonly string[];
|
|
12
|
+
export type AgentSupportStatus = "supported" | "unsupported" | "unknown";
|
|
13
|
+
export interface AgentSupportResult {
|
|
14
|
+
status: AgentSupportStatus;
|
|
15
|
+
input: string;
|
|
16
|
+
id?: string;
|
|
17
|
+
config?: AgentMcpConfig;
|
|
18
|
+
}
|
|
19
|
+
export declare function resolveAgentSupport(input: string, registry?: Record<string, AgentMcpConfig>): AgentSupportResult;
|
|
20
|
+
export declare function isSupported(agentId: string): boolean;
|
|
21
|
+
export declare function getAgentConfig(agentId: string): AgentMcpConfig | undefined;
|
|
22
|
+
export declare function resolveConfigPath(config: AgentMcpConfig, platform: Platform): string;
|