@interf/compiler 0.9.4 → 0.13.0
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.md +96 -91
- package/TRADEMARKS.md +2 -13
- package/agent-skills/interf-actions/SKILL.md +97 -32
- package/agent-skills/interf-actions/references/cli.md +124 -71
- package/builtin-methods/interf-default/README.md +3 -4
- package/builtin-methods/interf-default/compile/stages/shape/SKILL.md +2 -2
- package/builtin-methods/interf-default/compile/stages/summarize/SKILL.md +2 -1
- package/builtin-methods/interf-default/improve/SKILL.md +1 -1
- package/builtin-methods/interf-default/method.json +10 -4
- package/builtin-methods/interf-default/method.schema.json +0 -9
- package/builtin-methods/interf-default/use/query/SKILL.md +5 -5
- package/dist/cli/commands/compile.d.ts +9 -31
- package/dist/cli/commands/compile.js +75 -388
- package/dist/cli/commands/doctor.js +1 -1
- package/dist/cli/commands/login.d.ts +7 -0
- package/dist/cli/commands/login.js +39 -0
- package/dist/cli/commands/logout.d.ts +2 -0
- package/dist/cli/commands/logout.js +16 -0
- package/dist/cli/commands/method.d.ts +2 -0
- package/dist/cli/commands/method.js +113 -0
- package/dist/cli/commands/prep.d.ts +2 -0
- package/dist/cli/commands/prep.js +134 -0
- package/dist/cli/commands/reset.d.ts +8 -1
- package/dist/cli/commands/reset.js +47 -15
- package/dist/cli/commands/runs.d.ts +2 -0
- package/dist/cli/commands/runs.js +120 -0
- package/dist/cli/commands/status.d.ts +6 -1
- package/dist/cli/commands/status.js +61 -220
- package/dist/cli/commands/test.d.ts +6 -15
- package/dist/cli/commands/test.js +63 -342
- package/dist/cli/commands/web.d.ts +0 -9
- package/dist/cli/commands/web.js +140 -367
- package/dist/cli/commands/wizard.d.ts +9 -0
- package/dist/cli/commands/wizard.js +442 -0
- package/dist/cli/index.d.ts +7 -6
- package/dist/cli/index.js +13 -10
- package/dist/compiler-ui/404.html +1 -1
- package/dist/compiler-ui/__next.__PAGE__.txt +2 -2
- package/dist/compiler-ui/__next._full.txt +3 -3
- package/dist/compiler-ui/__next._head.txt +1 -1
- package/dist/compiler-ui/__next._index.txt +2 -2
- package/dist/compiler-ui/__next._tree.txt +2 -2
- package/dist/compiler-ui/_next/static/chunks/045gole2ojo3g.css +3 -0
- package/dist/compiler-ui/_next/static/chunks/17t-lulmyawg5.js +89 -0
- package/dist/compiler-ui/_not-found/__next._full.txt +2 -2
- package/dist/compiler-ui/_not-found/__next._head.txt +1 -1
- package/dist/compiler-ui/_not-found/__next._index.txt +2 -2
- package/dist/compiler-ui/_not-found/__next._not-found.__PAGE__.txt +1 -1
- package/dist/compiler-ui/_not-found/__next._not-found.txt +1 -1
- package/dist/compiler-ui/_not-found/__next._tree.txt +2 -2
- package/dist/compiler-ui/_not-found.html +1 -1
- package/dist/compiler-ui/_not-found.txt +2 -2
- package/dist/compiler-ui/index.html +1 -1
- package/dist/compiler-ui/index.txt +3 -3
- package/dist/index.d.ts +0 -23
- package/dist/index.js +0 -16
- package/dist/packages/agents/lib/shells.d.ts +1 -1
- package/dist/packages/agents/lib/shells.js +113 -54
- package/dist/packages/agents/lib/user-config.d.ts +4 -2
- package/dist/packages/agents/lib/user-config.js +15 -7
- package/dist/packages/compiler/compiled-paths.d.ts +9 -2
- package/dist/packages/compiler/compiled-paths.js +30 -15
- package/dist/packages/compiler/compiled-pipeline.js +23 -3
- package/dist/packages/compiler/compiled-stage-plan.js +4 -0
- package/dist/packages/compiler/compiled-target.d.ts +1 -1
- package/dist/packages/compiler/compiled-target.js +1 -1
- package/dist/packages/compiler/index.d.ts +1 -0
- package/dist/packages/compiler/index.js +1 -0
- package/dist/packages/compiler/lib/schema.d.ts +27 -32
- package/dist/packages/compiler/lib/schema.js +2 -13
- package/dist/packages/compiler/method-runs.d.ts +2 -3
- package/dist/packages/compiler/method-runs.js +2 -3
- package/dist/packages/compiler/reset.js +3 -1
- package/dist/packages/compiler/runtime-contracts.js +0 -3
- package/dist/packages/compiler/runtime-prompt.js +1 -1
- package/dist/packages/compiler/source-files.d.ts +46 -0
- package/dist/packages/compiler/source-files.js +149 -0
- package/dist/packages/compiler/state-artifacts.d.ts +3 -2
- package/dist/packages/compiler/state-artifacts.js +4 -3
- package/dist/packages/compiler/state-io.d.ts +3 -2
- package/dist/packages/compiler/state-io.js +11 -5
- package/dist/packages/compiler/state-paths.d.ts +2 -1
- package/dist/packages/compiler/state-paths.js +6 -3
- package/dist/packages/compiler/state-view.d.ts +3 -2
- package/dist/packages/compiler/state-view.js +18 -28
- package/dist/packages/compiler/state.d.ts +4 -4
- package/dist/packages/compiler/state.js +3 -3
- package/dist/packages/contracts/index.d.ts +1 -1
- package/dist/packages/contracts/lib/preparation-paths.d.ts +117 -0
- package/dist/packages/contracts/lib/preparation-paths.js +177 -0
- package/dist/packages/contracts/lib/schema.d.ts +85 -6
- package/dist/packages/contracts/lib/schema.js +46 -2
- package/dist/packages/execution/lib/schema.d.ts +50 -57
- package/dist/packages/execution/lib/schema.js +1 -2
- package/dist/packages/local-service/action-definitions.d.ts +246 -0
- package/dist/packages/local-service/action-definitions.js +1147 -0
- package/dist/packages/local-service/action-planner.d.ts +9 -0
- package/dist/packages/local-service/action-planner.js +135 -0
- package/dist/packages/local-service/action-values.d.ts +1 -23
- package/dist/packages/local-service/action-values.js +1 -31
- package/dist/packages/local-service/client.d.ts +76 -46
- package/dist/packages/local-service/client.js +184 -149
- package/dist/packages/local-service/connection-config.d.ts +38 -0
- package/dist/packages/local-service/connection-config.js +75 -0
- package/dist/packages/local-service/index.d.ts +14 -7
- package/dist/packages/local-service/index.js +8 -4
- package/dist/packages/local-service/instance-paths.d.ts +100 -0
- package/dist/packages/local-service/instance-paths.js +165 -0
- package/dist/packages/local-service/lib/schema.d.ts +689 -2575
- package/dist/packages/local-service/lib/schema.js +260 -101
- package/dist/packages/local-service/native-run-handlers.d.ts +23 -0
- package/dist/{cli/commands/compile-controller.js → packages/local-service/native-run-handlers.js} +204 -20
- package/dist/packages/local-service/preparation-store.d.ts +92 -0
- package/dist/packages/local-service/preparation-store.js +171 -0
- package/dist/{cli/commands/check-draft.d.ts → packages/local-service/readiness-check-draft.d.ts} +2 -2
- package/dist/packages/local-service/routes.d.ts +33 -11
- package/dist/packages/local-service/routes.js +44 -15
- package/dist/packages/local-service/run-observability.js +25 -27
- package/dist/packages/local-service/runtime-caches.d.ts +76 -0
- package/dist/packages/local-service/runtime-caches.js +191 -0
- package/dist/packages/local-service/runtime-event-applier.d.ts +12 -0
- package/dist/packages/local-service/runtime-event-applier.js +177 -0
- package/dist/packages/local-service/runtime-persistence.d.ts +47 -0
- package/dist/packages/local-service/runtime-persistence.js +137 -0
- package/dist/packages/local-service/runtime-proposal-helpers.d.ts +35 -0
- package/dist/packages/local-service/runtime-proposal-helpers.js +251 -0
- package/dist/packages/local-service/runtime-resource-builders.d.ts +52 -0
- package/dist/packages/local-service/runtime-resource-builders.js +149 -0
- package/dist/packages/local-service/runtime.d.ts +201 -44
- package/dist/packages/local-service/runtime.js +1062 -1106
- package/dist/packages/local-service/server.d.ts +15 -0
- package/dist/packages/local-service/server.js +651 -233
- package/dist/packages/local-service/service-registry.d.ts +47 -0
- package/dist/packages/local-service/service-registry.js +137 -0
- package/dist/packages/method-authoring/method-authoring.d.ts +1 -1
- package/dist/packages/method-authoring/method-authoring.js +2 -2
- package/dist/packages/method-authoring/method-improvement.js +1 -1
- package/dist/packages/method-package/builtin-compiled-method.d.ts +4 -5
- package/dist/packages/method-package/builtin-compiled-method.js +8 -14
- package/dist/packages/method-package/context-interface.d.ts +4 -40
- package/dist/packages/method-package/context-interface.js +1 -23
- package/dist/packages/method-package/interf-method-package.d.ts +4 -4
- package/dist/packages/method-package/interf-method-package.js +21 -33
- package/dist/packages/method-package/local-methods.d.ts +10 -6
- package/dist/packages/method-package/local-methods.js +57 -39
- package/dist/packages/method-package/method-definitions.d.ts +8 -34
- package/dist/packages/method-package/method-definitions.js +49 -37
- package/dist/packages/method-package/method-helpers.d.ts +1 -13
- package/dist/packages/method-package/method-helpers.js +8 -42
- package/dist/packages/method-package/method-review-paths.d.ts +1 -1
- package/dist/packages/method-package/method-review-paths.js +5 -5
- package/dist/packages/method-package/method-stage-runner.js +2 -2
- package/dist/packages/method-package/user-methods.d.ts +17 -0
- package/dist/packages/method-package/user-methods.js +77 -0
- package/dist/packages/project-model/index.d.ts +1 -1
- package/dist/packages/project-model/index.js +1 -1
- package/dist/packages/project-model/interf-detect.d.ts +8 -3
- package/dist/packages/project-model/interf-detect.js +34 -34
- package/dist/packages/project-model/interf-scaffold.d.ts +3 -3
- package/dist/packages/project-model/interf-scaffold.js +23 -32
- package/dist/packages/project-model/lib/schema.js +38 -1
- package/dist/packages/project-model/preparation-entries.d.ts +11 -0
- package/dist/packages/project-model/preparation-entries.js +49 -0
- package/dist/packages/project-model/source-config.d.ts +11 -10
- package/dist/packages/project-model/source-config.js +83 -44
- package/dist/packages/project-model/source-folders.d.ts +5 -5
- package/dist/packages/project-model/source-folders.js +14 -14
- package/dist/packages/shared/filesystem.d.ts +7 -0
- package/dist/packages/shared/filesystem.js +97 -10
- package/dist/packages/testing/lib/schema.d.ts +12 -13
- package/dist/packages/testing/lib/schema.js +4 -5
- package/dist/packages/testing/readiness-check-run.d.ts +7 -7
- package/dist/packages/testing/readiness-check-run.js +46 -51
- package/dist/packages/testing/test-execution.js +6 -6
- package/dist/packages/testing/test-paths.js +4 -3
- package/dist/packages/testing/test-sandbox.d.ts +0 -1
- package/dist/packages/testing/test-sandbox.js +14 -30
- package/dist/packages/testing/test-targets.d.ts +1 -1
- package/dist/packages/testing/test-targets.js +6 -6
- package/dist/packages/testing/test.d.ts +1 -1
- package/dist/packages/testing/test.js +1 -1
- package/package.json +6 -26
- package/LICENSE +0 -183
- package/dist/cli/commands/compile-controller.d.ts +0 -17
- package/dist/cli/commands/compiled-flow.d.ts +0 -25
- package/dist/cli/commands/compiled-flow.js +0 -112
- package/dist/cli/commands/control-path.d.ts +0 -11
- package/dist/cli/commands/control-path.js +0 -72
- package/dist/cli/commands/create-method-wizard.d.ts +0 -76
- package/dist/cli/commands/create-method-wizard.js +0 -465
- package/dist/cli/commands/create.d.ts +0 -8
- package/dist/cli/commands/create.js +0 -189
- package/dist/cli/commands/default.d.ts +0 -2
- package/dist/cli/commands/default.js +0 -39
- package/dist/cli/commands/executor-flow.d.ts +0 -29
- package/dist/cli/commands/executor-flow.js +0 -163
- package/dist/cli/commands/init.d.ts +0 -11
- package/dist/cli/commands/init.js +0 -784
- package/dist/cli/commands/list.d.ts +0 -2
- package/dist/cli/commands/list.js +0 -30
- package/dist/cli/commands/preparation-selection.d.ts +0 -6
- package/dist/cli/commands/preparation-selection.js +0 -11
- package/dist/cli/commands/source-config-wizard.d.ts +0 -52
- package/dist/cli/commands/source-config-wizard.js +0 -680
- package/dist/cli/commands/test-flow.d.ts +0 -58
- package/dist/cli/commands/test-flow.js +0 -231
- package/dist/cli/commands/verify.d.ts +0 -2
- package/dist/cli/commands/verify.js +0 -94
- package/dist/compiler-ui/_next/static/chunks/0d~8t0zm6545p.js +0 -118
- package/dist/compiler-ui/_next/static/chunks/0xnel.ax9a.2c.css +0 -3
- package/dist/packages/compiler/raw-snapshot.d.ts +0 -49
- package/dist/packages/compiler/raw-snapshot.js +0 -101
- package/dist/packages/method-package/index.d.ts +0 -11
- package/dist/packages/method-package/index.js +0 -11
- package/dist/packages/method-package/method-stage-policy.d.ts +0 -5
- package/dist/packages/method-package/method-stage-policy.js +0 -31
- package/dist/packages/project-model/project-paths.d.ts +0 -12
- package/dist/packages/project-model/project-paths.js +0 -33
- /package/dist/compiler-ui/_next/static/{j7pdoqWrl4YJrJUVnksbl → C6vVfy3aeYuIO3d2AoNvC}/_buildManifest.js +0 -0
- /package/dist/compiler-ui/_next/static/{j7pdoqWrl4YJrJUVnksbl → C6vVfy3aeYuIO3d2AoNvC}/_clientMiddlewareManifest.js +0 -0
- /package/dist/compiler-ui/_next/static/{j7pdoqWrl4YJrJUVnksbl → C6vVfy3aeYuIO3d2AoNvC}/_ssgManifest.js +0 -0
- /package/dist/{cli/commands/check-draft.js → packages/local-service/readiness-check-draft.js} +0 -0
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import chalk from "chalk";
|
|
2
|
-
import { userConfig } from "../../packages/agents/index.js";
|
|
3
|
-
import { runInitCommand } from "./init.js";
|
|
4
|
-
function printStaticLanding() {
|
|
5
|
-
const config = userConfig.loadUserConfig();
|
|
6
|
-
console.log();
|
|
7
|
-
console.log(chalk.bold(" Interf"));
|
|
8
|
-
console.log(chalk.dim(" Prepare data for agent work."));
|
|
9
|
-
console.log(chalk.dim(" Run locally, process files, show evidence that your data is ready, and write verifiable outputs as Portable Context for agents."));
|
|
10
|
-
console.log();
|
|
11
|
-
if (config) {
|
|
12
|
-
console.log(chalk.dim(` Agent: ${config.agent}`));
|
|
13
|
-
console.log();
|
|
14
|
-
}
|
|
15
|
-
console.log(chalk.dim(" Suggested flow:"));
|
|
16
|
-
console.log(chalk.dim(" interf"));
|
|
17
|
-
console.log(chalk.dim(" interf web # optional local UI/API"));
|
|
18
|
-
console.log(chalk.dim(" interf compile"));
|
|
19
|
-
console.log(chalk.dim(" interf test"));
|
|
20
|
-
console.log(chalk.dim(" interf test --target source-files # optional baseline before compile"));
|
|
21
|
-
console.log();
|
|
22
|
-
console.log(chalk.dim(" More:"));
|
|
23
|
-
console.log(chalk.dim(" interf init"));
|
|
24
|
-
console.log(chalk.dim(" interf create method"));
|
|
25
|
-
console.log(chalk.dim(" interf doctor --live"));
|
|
26
|
-
console.log(chalk.dim(" interf --help"));
|
|
27
|
-
console.log();
|
|
28
|
-
}
|
|
29
|
-
export const defaultCommand = {
|
|
30
|
-
command: "$0",
|
|
31
|
-
describe: false,
|
|
32
|
-
handler: async () => {
|
|
33
|
-
if (!process.stdin.isTTY || !process.stdout.isTTY) {
|
|
34
|
-
printStaticLanding();
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
await runInitCommand();
|
|
38
|
-
},
|
|
39
|
-
};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { type MethodExecutionProfile, type MethodExecutor } from "../../packages/agents/index.js";
|
|
2
|
-
export interface RunAgentOption {
|
|
3
|
-
name: string;
|
|
4
|
-
displayName: string;
|
|
5
|
-
command: string;
|
|
6
|
-
current: boolean;
|
|
7
|
-
}
|
|
8
|
-
export declare function resolvedConfiguredAgentName(): string | null;
|
|
9
|
-
export declare function listRunAgentOptions(): RunAgentOption[];
|
|
10
|
-
export declare function resolveNamedLocalExecutor(agentName: string, options?: {
|
|
11
|
-
preflight?: boolean;
|
|
12
|
-
executionProfile?: MethodExecutionProfile;
|
|
13
|
-
}): {
|
|
14
|
-
executor: MethodExecutor | null;
|
|
15
|
-
error?: string;
|
|
16
|
-
};
|
|
17
|
-
export declare function promptForTestAgents(): Promise<{
|
|
18
|
-
agents: RunAgentOption[];
|
|
19
|
-
cancelled: boolean;
|
|
20
|
-
}>;
|
|
21
|
-
export declare function resolveOrConfigureLocalExecutor(options?: {
|
|
22
|
-
preflight?: boolean;
|
|
23
|
-
executionProfile?: MethodExecutionProfile;
|
|
24
|
-
purpose?: "compile" | "test" | "draft" | "method";
|
|
25
|
-
}): Promise<{
|
|
26
|
-
executor: MethodExecutor | null;
|
|
27
|
-
error?: string;
|
|
28
|
-
cancelled?: boolean;
|
|
29
|
-
}>;
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import * as p from "@clack/prompts";
|
|
2
|
-
import { constants, agents, executors, userConfig } from "../../packages/agents/index.js";
|
|
3
|
-
const promptedPurposes = new Set();
|
|
4
|
-
function supportedDetectedAgents() {
|
|
5
|
-
return agents.detectAgents().filter((agent) => constants.AGENTS.some((candidate) => candidate.name === agent.name) && agents.supportsAutomatedRuns(agent));
|
|
6
|
-
}
|
|
7
|
-
export function resolvedConfiguredAgentName() {
|
|
8
|
-
const current = userConfig.loadUserConfig();
|
|
9
|
-
if (!current)
|
|
10
|
-
return null;
|
|
11
|
-
const configured = constants.AGENTS.find((agent) => agent.command === current.agentCommand) ??
|
|
12
|
-
constants.AGENTS.find((agent) => agent.name === current.agent) ??
|
|
13
|
-
constants.AGENTS.find((agent) => agent.displayName === current.agent);
|
|
14
|
-
return configured?.name ?? null;
|
|
15
|
-
}
|
|
16
|
-
function persistSelectedAgent(selectedName) {
|
|
17
|
-
const selected = supportedDetectedAgents().find((agent) => agent.name === selectedName);
|
|
18
|
-
if (!selected)
|
|
19
|
-
return;
|
|
20
|
-
const current = userConfig.loadUserConfig();
|
|
21
|
-
userConfig.saveUserConfig({
|
|
22
|
-
agent: selected.name,
|
|
23
|
-
agentCommand: selected.command,
|
|
24
|
-
skillsInstalled: current?.skillsInstalled ?? false,
|
|
25
|
-
initialized: current?.initialized ?? new Date().toISOString(),
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
export function listRunAgentOptions() {
|
|
29
|
-
const configuredName = resolvedConfiguredAgentName();
|
|
30
|
-
return supportedDetectedAgents().map((agent) => ({
|
|
31
|
-
name: agent.name,
|
|
32
|
-
displayName: agent.displayName,
|
|
33
|
-
command: agent.command,
|
|
34
|
-
current: agent.name === configuredName,
|
|
35
|
-
}));
|
|
36
|
-
}
|
|
37
|
-
export function resolveNamedLocalExecutor(agentName, options = {}) {
|
|
38
|
-
const agent = supportedDetectedAgents().find((entry) => entry.name === agentName);
|
|
39
|
-
if (!agent) {
|
|
40
|
-
return { executor: null, error: `Local agent \"${agentName}\" is not detected.` };
|
|
41
|
-
}
|
|
42
|
-
if (options.preflight !== false) {
|
|
43
|
-
const readiness = agents.ensureAgentAutomatedRunReady(agent);
|
|
44
|
-
if (!readiness.ok) {
|
|
45
|
-
return { executor: null, error: readiness.error };
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return {
|
|
49
|
-
executor: executors.createLocalAgentExecutor(agent, options.executionProfile),
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
export async function promptForTestAgents() {
|
|
53
|
-
const detected = listRunAgentOptions();
|
|
54
|
-
if (detected.length === 0)
|
|
55
|
-
return { agents: [], cancelled: false };
|
|
56
|
-
if (detected.length === 1) {
|
|
57
|
-
const only = detected[0];
|
|
58
|
-
if (only) {
|
|
59
|
-
persistSelectedAgent(only.name);
|
|
60
|
-
p.log.info(`Local agent for this test: ${only.displayName}`);
|
|
61
|
-
return { agents: [only], cancelled: false };
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
const current = detected.find((agent) => agent.current) ?? detected[0] ?? null;
|
|
65
|
-
const selected = await p.multiselect({
|
|
66
|
-
message: current
|
|
67
|
-
? `Which local agents should run this test? Current: ${current.displayName}`
|
|
68
|
-
: "Which local agents should run this test?",
|
|
69
|
-
options: detected.map((agent) => ({
|
|
70
|
-
value: agent.name,
|
|
71
|
-
label: agent.current ? `${agent.displayName} (Current)` : agent.displayName,
|
|
72
|
-
hint: agent.command,
|
|
73
|
-
})),
|
|
74
|
-
required: false,
|
|
75
|
-
initialValues: current ? [current.name] : [],
|
|
76
|
-
});
|
|
77
|
-
if (p.isCancel(selected)) {
|
|
78
|
-
return { agents: [], cancelled: true };
|
|
79
|
-
}
|
|
80
|
-
const selectedNames = Array.isArray(selected) ? selected.map(String) : [];
|
|
81
|
-
const agents = detected.filter((agent) => selectedNames.includes(agent.name));
|
|
82
|
-
if (agents.length === 1 && agents[0]) {
|
|
83
|
-
persistSelectedAgent(agents[0].name);
|
|
84
|
-
}
|
|
85
|
-
return { agents, cancelled: false };
|
|
86
|
-
}
|
|
87
|
-
async function promptForRunAgent(purpose) {
|
|
88
|
-
const purposeLabel = purpose === "draft"
|
|
89
|
-
? "check draft"
|
|
90
|
-
: purpose === "method"
|
|
91
|
-
? "Method authoring"
|
|
92
|
-
: purpose;
|
|
93
|
-
const detected = supportedDetectedAgents();
|
|
94
|
-
if (detected.length === 0)
|
|
95
|
-
return { selected: false, cancelled: false };
|
|
96
|
-
const configuredName = resolvedConfiguredAgentName();
|
|
97
|
-
const currentAgent = detected.find((agent) => agent.name === configuredName) ??
|
|
98
|
-
(detected.length === 1 ? detected[0] ?? null : null);
|
|
99
|
-
let selectedName = null;
|
|
100
|
-
if (detected.length === 1) {
|
|
101
|
-
p.log.info(`Local agent for this ${purposeLabel}: ${detected[0]?.displayName ?? "unknown"}`);
|
|
102
|
-
const confirmed = await p.confirm({
|
|
103
|
-
message: `Run this ${purposeLabel} with ${detected[0]?.displayName ?? "the detected agent"}?`,
|
|
104
|
-
initialValue: true,
|
|
105
|
-
});
|
|
106
|
-
if (p.isCancel(confirmed) || !confirmed) {
|
|
107
|
-
return { selected: false, cancelled: true };
|
|
108
|
-
}
|
|
109
|
-
selectedName = detected[0]?.name ?? null;
|
|
110
|
-
}
|
|
111
|
-
else {
|
|
112
|
-
selectedName = await p.select({
|
|
113
|
-
message: currentAgent
|
|
114
|
-
? `Local agent for this ${purposeLabel}? Current: ${currentAgent.displayName}`
|
|
115
|
-
: `Which local agent should run this ${purposeLabel}?`,
|
|
116
|
-
options: detected.map((agent) => ({
|
|
117
|
-
value: agent.name,
|
|
118
|
-
label: agent.name === currentAgent?.name ? `${agent.displayName} (Current)` : agent.displayName,
|
|
119
|
-
hint: agent.command,
|
|
120
|
-
})),
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
if (!selectedName || p.isCancel(selectedName)) {
|
|
124
|
-
return { selected: false, cancelled: true };
|
|
125
|
-
}
|
|
126
|
-
persistSelectedAgent(String(selectedName));
|
|
127
|
-
const selected = detected.find((agent) => agent.name === selectedName);
|
|
128
|
-
if (selected) {
|
|
129
|
-
p.log.info(`Using ${selected.displayName} for this run.`);
|
|
130
|
-
}
|
|
131
|
-
return { selected: true, cancelled: false };
|
|
132
|
-
}
|
|
133
|
-
export async function resolveOrConfigureLocalExecutor(options = {}) {
|
|
134
|
-
if (options.purpose &&
|
|
135
|
-
process.stdin.isTTY &&
|
|
136
|
-
process.stdout.isTTY &&
|
|
137
|
-
!promptedPurposes.has(options.purpose)) {
|
|
138
|
-
const configured = await promptForRunAgent(options.purpose);
|
|
139
|
-
promptedPurposes.add(options.purpose);
|
|
140
|
-
if (configured.cancelled) {
|
|
141
|
-
return { executor: null, cancelled: true };
|
|
142
|
-
}
|
|
143
|
-
if (!configured.selected) {
|
|
144
|
-
return { executor: null, error: "No local agent detected." };
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
const resolved = executors.resolveLocalExecutor(options);
|
|
148
|
-
if (resolved.executor)
|
|
149
|
-
return resolved;
|
|
150
|
-
const needsChoice = typeof resolved.error === "string" &&
|
|
151
|
-
/Multiple coding agents detected|Configured agent .*not available in PATH|Configured agent .*is not supported|Configured agent .*can only automate/i.test(resolved.error);
|
|
152
|
-
if (!needsChoice) {
|
|
153
|
-
return resolved;
|
|
154
|
-
}
|
|
155
|
-
const configured = await promptForRunAgent(options.purpose ?? "run");
|
|
156
|
-
if (configured.cancelled) {
|
|
157
|
-
return { executor: null, cancelled: true };
|
|
158
|
-
}
|
|
159
|
-
if (!configured.selected) {
|
|
160
|
-
return resolved;
|
|
161
|
-
}
|
|
162
|
-
return executors.resolveLocalExecutor(options);
|
|
163
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { CommandModule } from "yargs";
|
|
2
|
-
import type { SourcePreparationConfig } from "../../packages/project-model/lib/schema.js";
|
|
3
|
-
import { type AgentTestMatrixRow } from "./test-flow.js";
|
|
4
|
-
import { runCompileCommand } from "./compile.js";
|
|
5
|
-
export type CurrentRunTargetStatus = "pass" | "mixed" | "fail" | "missing";
|
|
6
|
-
export declare function currentRunTargetStatus(rows: AgentTestMatrixRow[], target: "raw" | "compiled"): CurrentRunTargetStatus;
|
|
7
|
-
export declare function compileSelectedCompiled(sourcePath: string, compiledConfig: SourcePreparationConfig, deps?: {
|
|
8
|
-
runCompileCommand?: typeof runCompileCommand;
|
|
9
|
-
}): Promise<import("./compile.js").CompileCommandResult | null>;
|
|
10
|
-
export declare const initCommand: CommandModule;
|
|
11
|
-
export declare function runInitCommand(): Promise<void>;
|