@interf/compiler 0.3.0 → 0.3.1
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 +77 -71
- package/dist/bin.js +3 -3
- package/dist/bin.js.map +1 -1
- package/dist/commands/compile.d.ts +1 -0
- package/dist/commands/compile.d.ts.map +1 -1
- package/dist/commands/compile.js +42 -68
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/create-workflow-wizard.d.ts.map +1 -1
- package/dist/commands/create-workflow-wizard.js +17 -8
- package/dist/commands/create-workflow-wizard.js.map +1 -1
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +35 -45
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/default.d.ts.map +1 -1
- package/dist/commands/default.js +27 -31
- package/dist/commands/default.js.map +1 -1
- package/dist/commands/doctor.js +2 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/executor-flow.d.ts +9 -0
- package/dist/commands/executor-flow.d.ts.map +1 -0
- package/dist/commands/executor-flow.js +55 -0
- package/dist/commands/executor-flow.js.map +1 -0
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +332 -64
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/list.js +1 -1
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/source-config-wizard.d.ts +5 -6
- package/dist/commands/source-config-wizard.d.ts.map +1 -1
- package/dist/commands/source-config-wizard.js +86 -82
- package/dist/commands/source-config-wizard.js.map +1 -1
- package/dist/commands/test-flow.d.ts +21 -0
- package/dist/commands/test-flow.d.ts.map +1 -0
- package/dist/commands/test-flow.js +106 -0
- package/dist/commands/test-flow.js.map +1 -0
- package/dist/commands/test.d.ts +4 -0
- package/dist/commands/test.d.ts.map +1 -0
- package/dist/commands/test.js +131 -0
- package/dist/commands/test.js.map +1 -0
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +7 -3
- package/dist/commands/verify.js.map +1 -1
- package/dist/commands/workspace-flow.d.ts +21 -0
- package/dist/commands/workspace-flow.d.ts.map +1 -0
- package/dist/commands/workspace-flow.js +90 -0
- package/dist/commands/workspace-flow.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-detection.js +4 -4
- package/dist/lib/agent-detection.js.map +1 -1
- package/dist/lib/agent-skills.js +6 -6
- package/dist/lib/agent-skills.js.map +1 -1
- package/dist/lib/benchmark-execution.d.ts.map +1 -1
- package/dist/lib/benchmark-execution.js +39 -17
- package/dist/lib/benchmark-execution.js.map +1 -1
- package/dist/lib/benchmark-sandbox.d.ts +10 -0
- package/dist/lib/benchmark-sandbox.d.ts.map +1 -0
- package/dist/lib/benchmark-sandbox.js +75 -0
- package/dist/lib/benchmark-sandbox.js.map +1 -0
- package/dist/lib/benchmark-targets.d.ts +1 -0
- package/dist/lib/benchmark-targets.d.ts.map +1 -1
- package/dist/lib/benchmark-targets.js +12 -0
- package/dist/lib/benchmark-targets.js.map +1 -1
- package/dist/lib/benchmark-types.d.ts +1 -1
- package/dist/lib/benchmark-types.d.ts.map +1 -1
- package/dist/lib/benchmark.d.ts +1 -1
- package/dist/lib/benchmark.d.ts.map +1 -1
- package/dist/lib/benchmark.js +1 -1
- package/dist/lib/benchmark.js.map +1 -1
- package/dist/lib/interf-scaffold.d.ts.map +1 -1
- package/dist/lib/interf-scaffold.js +2 -1
- package/dist/lib/interf-scaffold.js.map +1 -1
- package/dist/lib/interf-workflow-package.d.ts.map +1 -1
- package/dist/lib/interf-workflow-package.js +7 -2
- package/dist/lib/interf-workflow-package.js.map +1 -1
- package/dist/lib/local-workflows.d.ts.map +1 -1
- package/dist/lib/local-workflows.js +24 -8
- package/dist/lib/local-workflows.js.map +1 -1
- package/dist/lib/runtime-contracts.d.ts +3 -1
- package/dist/lib/runtime-contracts.d.ts.map +1 -1
- package/dist/lib/runtime-contracts.js +115 -0
- package/dist/lib/runtime-contracts.js.map +1 -1
- package/dist/lib/runtime-reconcile.d.ts +2 -1
- package/dist/lib/runtime-reconcile.d.ts.map +1 -1
- package/dist/lib/runtime-reconcile.js +71 -15
- package/dist/lib/runtime-reconcile.js.map +1 -1
- package/dist/lib/runtime-runs.js +12 -3
- package/dist/lib/runtime-runs.js.map +1 -1
- package/dist/lib/runtime-types.d.ts +11 -0
- package/dist/lib/runtime-types.d.ts.map +1 -1
- package/dist/lib/runtime.d.ts +1 -1
- package/dist/lib/runtime.d.ts.map +1 -1
- package/dist/lib/runtime.js +1 -1
- package/dist/lib/runtime.js.map +1 -1
- package/dist/lib/schema.d.ts +26 -9
- package/dist/lib/schema.d.ts.map +1 -1
- package/dist/lib/schema.js +13 -7
- package/dist/lib/schema.js.map +1 -1
- package/dist/lib/source-config.d.ts +2 -1
- package/dist/lib/source-config.d.ts.map +1 -1
- package/dist/lib/source-config.js +7 -4
- package/dist/lib/source-config.js.map +1 -1
- package/dist/lib/state-health.d.ts +2 -2
- package/dist/lib/state-health.d.ts.map +1 -1
- package/dist/lib/state-health.js +34 -19
- package/dist/lib/state-health.js.map +1 -1
- package/dist/lib/state-io.d.ts.map +1 -1
- package/dist/lib/state-io.js +6 -0
- package/dist/lib/state-io.js.map +1 -1
- package/dist/lib/validate-workspace.d.ts +41 -0
- package/dist/lib/validate-workspace.d.ts.map +1 -1
- package/dist/lib/validate-workspace.js +152 -4
- package/dist/lib/validate-workspace.js.map +1 -1
- package/dist/lib/validate.d.ts +2 -2
- package/dist/lib/validate.d.ts.map +1 -1
- package/dist/lib/validate.js +17 -2
- package/dist/lib/validate.js.map +1 -1
- package/dist/lib/workflow-definitions.d.ts.map +1 -1
- package/dist/lib/workflow-definitions.js +42 -20
- package/dist/lib/workflow-definitions.js.map +1 -1
- package/dist/lib/workflow-helpers.d.ts.map +1 -1
- package/dist/lib/workflow-helpers.js +4 -2
- package/dist/lib/workflow-helpers.js.map +1 -1
- package/dist/lib/workflows.d.ts +2 -2
- package/dist/lib/workflows.d.ts.map +1 -1
- package/dist/lib/workflows.js +3 -1
- package/dist/lib/workflows.js.map +1 -1
- package/dist/lib/workspace-compile.d.ts +4 -3
- package/dist/lib/workspace-compile.d.ts.map +1 -1
- package/dist/lib/workspace-compile.js +199 -100
- package/dist/lib/workspace-compile.js.map +1 -1
- package/package.json +1 -1
- package/skills/benchmark/SKILL.md +4 -3
- package/skills/workflow/create/SKILL.md +4 -1
- package/skills/workspace/shape/SKILL.md +15 -0
- package/skills/workspace/structure/SKILL.md +15 -0
- package/skills/workspace/summarize/SKILL.md +15 -0
- package/dist/commands/benchmark.d.ts +0 -3
- package/dist/commands/benchmark.d.ts.map +0 -1
- package/dist/commands/benchmark.js +0 -83
- package/dist/commands/benchmark.js.map +0 -1
package/dist/commands/create.js
CHANGED
|
@@ -2,12 +2,13 @@ import chalk from "chalk";
|
|
|
2
2
|
import { basename } from "node:path";
|
|
3
3
|
import * as p from "@clack/prompts";
|
|
4
4
|
import { detectInterf, defaultWorkspaceNameForSource, listWorkspacesForSourceFolder, } from "../lib/interf.js";
|
|
5
|
-
import { addWorkspace, } from "../lib/registry.js";
|
|
6
|
-
import { resolveLocalExecutor } from "../lib/executors.js";
|
|
7
|
-
import { createWorkspace, compileWorkspace, } from "../lib/workflows.js";
|
|
8
5
|
import { slugify } from "../lib/util.js";
|
|
9
|
-
import { addExecutionProfileOptions, executionProfileFromArgv,
|
|
6
|
+
import { addExecutionProfileOptions, executionProfileFromArgv, } from "../lib/execution-profile.js";
|
|
7
|
+
import { loadSourceFolderConfig, upsertSourceWorkspaceConfig } from "../lib/source-config.js";
|
|
10
8
|
import { chooseWorkspaceWorkflow, createWorkflowWizard, } from "./create-workflow-wizard.js";
|
|
9
|
+
import { compileWorkspaceWithReporter, ensureWorkspaceFromConfig, } from "./workspace-flow.js";
|
|
10
|
+
import { promptSingleWorkspaceConfig } from "./source-config-wizard.js";
|
|
11
|
+
import { resolveOrConfigureLocalExecutor } from "./executor-flow.js";
|
|
11
12
|
function normalizeCreateTarget(value) {
|
|
12
13
|
if (!value)
|
|
13
14
|
return null;
|
|
@@ -82,38 +83,39 @@ export async function createWorkspaceWizard(options = {}) {
|
|
|
82
83
|
}
|
|
83
84
|
const existing = listWorkspacesForSourceFolder(cwd);
|
|
84
85
|
if (existing.length > 0) {
|
|
85
|
-
p.log.info(`This folder already has ${existing.length} workspace${existing.length === 1 ? "" : "s"}.
|
|
86
|
+
p.log.info(`This folder already has ${existing.length} workspace${existing.length === 1 ? "" : "s"}. Add another only when you need a separate set of questions or a different focus.`);
|
|
86
87
|
}
|
|
87
88
|
p.log.info("Interf builds a compiled workspace on top of your raw files. Your files stay where they are and stay the source of truth.");
|
|
88
|
-
const
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
validate: (value) => (value.trim().length === 0 ? "Name is required" : undefined),
|
|
89
|
+
const existingConfig = loadSourceFolderConfig(cwd);
|
|
90
|
+
const suggestedName = slugify(defaultWorkspaceNameForSource(cwd) || basename(cwd)) || "default";
|
|
91
|
+
const draft = await promptSingleWorkspaceConfig({
|
|
92
|
+
initial: { name: suggestedName },
|
|
93
|
+
introStyle: existingConfig ? "additional" : "first",
|
|
94
94
|
});
|
|
95
|
-
if (
|
|
96
|
-
return;
|
|
97
|
-
const name = slugify(rawName);
|
|
98
|
-
if (name !== rawName) {
|
|
99
|
-
p.log.info(`Workspace name: ${name}`);
|
|
100
|
-
}
|
|
101
|
-
const about = await p.text({
|
|
102
|
-
message: "What is this workspace for? (optional)",
|
|
103
|
-
placeholder: "Quarterly results workspace for finance reporting and strategy questions",
|
|
104
|
-
});
|
|
105
|
-
if (p.isCancel(about))
|
|
95
|
+
if (!draft)
|
|
106
96
|
return;
|
|
107
97
|
const workflowChoice = await chooseWorkspaceWorkflow(cwd);
|
|
108
98
|
if (p.isCancel(workflowChoice))
|
|
109
99
|
return;
|
|
110
100
|
const workflowId = workflowChoice;
|
|
101
|
+
const configToSave = {
|
|
102
|
+
...draft,
|
|
103
|
+
workflow: workflowId,
|
|
104
|
+
};
|
|
105
|
+
const existingNames = new Set((existingConfig?.workspaces ?? []).map((workspace) => workspace.name));
|
|
106
|
+
if (existingNames.has(configToSave.name)) {
|
|
107
|
+
process.exitCode = 1;
|
|
108
|
+
p.log.error(`Workspace "${configToSave.name}" already exists. Use \`interf\` or \`interf init\` to edit it.`);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
upsertSourceWorkspaceConfig(cwd, configToSave);
|
|
112
|
+
const name = configToSave.name;
|
|
113
|
+
const about = configToSave.about;
|
|
111
114
|
const spinner = p.spinner();
|
|
112
115
|
spinner.start("Creating workspace...");
|
|
113
116
|
let workspacePath = "";
|
|
114
117
|
try {
|
|
115
|
-
workspacePath =
|
|
116
|
-
addWorkspace(name, workspacePath, workflowId);
|
|
118
|
+
workspacePath = ensureWorkspaceFromConfig(cwd, configToSave);
|
|
117
119
|
spinner.stop("Workspace created.");
|
|
118
120
|
}
|
|
119
121
|
catch (error) {
|
|
@@ -123,14 +125,18 @@ export async function createWorkspaceWizard(options = {}) {
|
|
|
123
125
|
return;
|
|
124
126
|
}
|
|
125
127
|
const compileNow = await p.confirm({
|
|
126
|
-
message: "Build
|
|
128
|
+
message: "Build it now? (Recommended)",
|
|
127
129
|
initialValue: true,
|
|
128
130
|
});
|
|
129
131
|
if (p.isCancel(compileNow) || !compileNow) {
|
|
130
|
-
p.outro(
|
|
132
|
+
p.outro(configToSave.checks.length > 0
|
|
133
|
+
? "Next:\n interf compile\n interf test"
|
|
134
|
+
: "Next:\n interf compile\n interf or interf init");
|
|
131
135
|
return;
|
|
132
136
|
}
|
|
133
|
-
const { executor, error } =
|
|
137
|
+
const { executor, error } = await resolveOrConfigureLocalExecutor({
|
|
138
|
+
executionProfile: options.executionProfile,
|
|
139
|
+
});
|
|
134
140
|
if (!executor) {
|
|
135
141
|
process.exitCode = 1;
|
|
136
142
|
p.log.error(error ?? "No coding agent detected.");
|
|
@@ -139,28 +145,12 @@ export async function createWorkspaceWizard(options = {}) {
|
|
|
139
145
|
await compileWorkspaceAfterCreate(executor, workspacePath);
|
|
140
146
|
}
|
|
141
147
|
async function compileWorkspaceAfterCreate(executor, workspacePath) {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
if (profileLabel) {
|
|
145
|
-
console.log(chalk.dim(` Execution profile: ${profileLabel}`));
|
|
146
|
-
console.log();
|
|
147
|
-
}
|
|
148
|
-
const reporter = {
|
|
149
|
-
line: (message) => console.log(chalk.dim(` ${message}`)),
|
|
150
|
-
blankLine: () => console.log(),
|
|
151
|
-
};
|
|
152
|
-
const result = await compileWorkspace({
|
|
153
|
-
executor,
|
|
154
|
-
workspacePath,
|
|
155
|
-
reporter,
|
|
156
|
-
});
|
|
157
|
-
if (!result.ok) {
|
|
148
|
+
const compiled = await compileWorkspaceWithReporter(executor, workspacePath);
|
|
149
|
+
if (!compiled.ok) {
|
|
158
150
|
process.exitCode = 1;
|
|
159
151
|
console.log(chalk.red(" Workspace compile failed."));
|
|
160
152
|
return;
|
|
161
153
|
}
|
|
162
|
-
console.log();
|
|
163
|
-
console.log(chalk.green(" ✓ Compiled workspace ready."));
|
|
164
154
|
}
|
|
165
155
|
export { formatWorkflowLabel, chooseWorkspaceWorkflow, createWorkflowWizard, createWorkspaceWorkflowWizard, } from "./create-workflow-wizard.js";
|
|
166
156
|
//# sourceMappingURL=create.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EACL,YAAY,EACZ,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/commands/default.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/commands/default.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AA2B3C,eAAO,MAAM,cAAc,EAAE,aAU5B,CAAC"}
|
package/dist/commands/default.js
CHANGED
|
@@ -1,42 +1,38 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
|
-
import { listWorkspaceEntries } from "../lib/registry.js";
|
|
3
2
|
import { loadUserConfig } from "../lib/user-config.js";
|
|
3
|
+
import { runInitCommand } from "./init.js";
|
|
4
|
+
function printStaticLanding() {
|
|
5
|
+
const config = loadUserConfig();
|
|
6
|
+
console.log();
|
|
7
|
+
console.log(chalk.bold(" Interf"));
|
|
8
|
+
console.log(chalk.dim(" Measure and improve how accurately your local agent works on this folder."));
|
|
9
|
+
console.log();
|
|
10
|
+
if (config) {
|
|
11
|
+
console.log(chalk.dim(` Agent: ${config.agent}`));
|
|
12
|
+
console.log();
|
|
13
|
+
}
|
|
14
|
+
console.log(chalk.dim(" Suggested flow:"));
|
|
15
|
+
console.log(chalk.dim(" interf"));
|
|
16
|
+
console.log(chalk.dim(" interf compile"));
|
|
17
|
+
console.log(chalk.dim(" interf test"));
|
|
18
|
+
console.log();
|
|
19
|
+
console.log(chalk.dim(" More:"));
|
|
20
|
+
console.log(chalk.dim(" interf init"));
|
|
21
|
+
console.log(chalk.dim(" interf create workspace"));
|
|
22
|
+
console.log(chalk.dim(" interf create workflow"));
|
|
23
|
+
console.log(chalk.dim(" interf doctor"));
|
|
24
|
+
console.log(chalk.dim(" interf --help"));
|
|
25
|
+
console.log();
|
|
26
|
+
}
|
|
4
27
|
export const defaultCommand = {
|
|
5
28
|
command: "$0",
|
|
6
29
|
describe: false,
|
|
7
30
|
handler: async () => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
console.log();
|
|
11
|
-
const config = loadUserConfig();
|
|
12
|
-
if (!config) {
|
|
13
|
-
console.log(chalk.yellow(" Not set up yet."));
|
|
14
|
-
console.log(chalk.dim(" Run: interf init"));
|
|
15
|
-
console.log();
|
|
31
|
+
if (!process.stdin.isTTY || !process.stdout.isTTY) {
|
|
32
|
+
printStaticLanding();
|
|
16
33
|
return;
|
|
17
34
|
}
|
|
18
|
-
|
|
19
|
-
console.log(chalk.dim(" Runtime stage instructions: ") + "bundled");
|
|
20
|
-
const workspaces = listWorkspaceEntries();
|
|
21
|
-
if (workspaces.length > 0) {
|
|
22
|
-
console.log();
|
|
23
|
-
console.log(chalk.dim(" Workspaces:"));
|
|
24
|
-
for (const workspace of workspaces) {
|
|
25
|
-
console.log(` ${workspace.name}`);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
console.log();
|
|
29
|
-
console.log(chalk.dim(" interf create workspace create a compiled workspace"));
|
|
30
|
-
console.log(chalk.dim(" interf create workflow create a reusable workflow package"));
|
|
31
|
-
console.log(chalk.dim(" interf compile build the current workspace"));
|
|
32
|
-
console.log(chalk.dim(" interf benchmark benchmark compiled workspaces"));
|
|
33
|
-
console.log(chalk.dim(" interf doctor check local executor setup"));
|
|
34
|
-
console.log(chalk.dim(" interf list list registered workspaces"));
|
|
35
|
-
console.log(chalk.dim(" interf status show deterministic health"));
|
|
36
|
-
console.log(chalk.dim(" interf verify <check> deterministic verification"));
|
|
37
|
-
console.log(chalk.dim(" interf reset <scope> reset generated state (compile | all)"));
|
|
38
|
-
console.log(chalk.dim(" interf --help all commands"));
|
|
39
|
-
console.log();
|
|
35
|
+
await runInitCommand();
|
|
40
36
|
},
|
|
41
37
|
};
|
|
42
38
|
//# sourceMappingURL=default.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/commands/default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/commands/default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG3C,SAAS,kBAAkB;IACzB,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAEhC,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC,CAAC;IACtG,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAkB;IAC3C,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,KAAK,IAAI,EAAE;QAClB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClD,kBAAkB,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,cAAc,EAAE,CAAC;IACzB,CAAC;CACF,CAAC"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -41,7 +41,7 @@ export const doctorCommand = {
|
|
|
41
41
|
id: "config",
|
|
42
42
|
label: "Interf setup",
|
|
43
43
|
status: "warn",
|
|
44
|
-
message: "No saved Interf setup found. `interf init` is recommended for deterministic local runs.",
|
|
44
|
+
message: "No saved Interf setup found. `interf` or `interf init` is recommended for deterministic local runs.",
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
47
|
if (!agent) {
|
|
@@ -84,7 +84,7 @@ export const doctorCommand = {
|
|
|
84
84
|
status: skillProblems.length === 0 ? "pass" : "warn",
|
|
85
85
|
message: skillProblems.length === 0
|
|
86
86
|
? "Installed and current"
|
|
87
|
-
: `Optional only; refresh with \`interf init\`. Problems: ${skillProblems.join(", ")}`,
|
|
87
|
+
: `Optional only; refresh with \`interf\` or \`interf init\`. Problems: ${skillProblems.join(", ")}`,
|
|
88
88
|
});
|
|
89
89
|
if (argv.live) {
|
|
90
90
|
const preflight = runAgentPreflight(agent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAWvD,SAAS,OAAO,CAAC,MAAoB;IACnC,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7C,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,kDAAkD;IAC5D,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,MAAM,CAAC,MAAM,EAAE;QACd,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,kEAAkE;KAC7E,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACd,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,sCAAsC;KACjD,CAAC;IACN,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;QAChC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC;QAExC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,QAAQ;gBACZ,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,6BAA6B,MAAM,CAAC,KAAK,EAAE;aACrD,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,QAAQ;gBACZ,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type WorkflowExecutionProfile, type WorkflowExecutor } from "../lib/executors.js";
|
|
2
|
+
export declare function resolveOrConfigureLocalExecutor(options?: {
|
|
3
|
+
preflight?: boolean;
|
|
4
|
+
executionProfile?: WorkflowExecutionProfile;
|
|
5
|
+
}): Promise<{
|
|
6
|
+
executor: WorkflowExecutor | null;
|
|
7
|
+
error?: string;
|
|
8
|
+
}>;
|
|
9
|
+
//# sourceMappingURL=executor-flow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor-flow.d.ts","sourceRoot":"","sources":["../../src/commands/executor-flow.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AA4C7B,wBAAsB,+BAA+B,CACnD,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;CACxC,GACL,OAAO,CAAC;IAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmBhE"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import * as p from "@clack/prompts";
|
|
2
|
+
import { AGENTS } from "../lib/agent-constants.js";
|
|
3
|
+
import { detectAgents, supportsAutomatedRuns } from "../lib/agents.js";
|
|
4
|
+
import { resolveLocalExecutor, } from "../lib/executors.js";
|
|
5
|
+
import { loadUserConfig, saveUserConfig } from "../lib/user-config.js";
|
|
6
|
+
function supportedDetectedAgents() {
|
|
7
|
+
return detectAgents().filter((agent) => AGENTS.some((candidate) => candidate.name === agent.name) && supportsAutomatedRuns(agent));
|
|
8
|
+
}
|
|
9
|
+
async function promptForDefaultAgent() {
|
|
10
|
+
const detected = supportedDetectedAgents();
|
|
11
|
+
if (detected.length === 0)
|
|
12
|
+
return false;
|
|
13
|
+
const selectedName = detected.length === 1
|
|
14
|
+
? detected[0]?.name ?? null
|
|
15
|
+
: await p.select({
|
|
16
|
+
message: "Which local agent should Interf use for this run?",
|
|
17
|
+
options: detected.map((agent) => ({
|
|
18
|
+
value: agent.name,
|
|
19
|
+
label: agent.displayName,
|
|
20
|
+
hint: agent.command,
|
|
21
|
+
})),
|
|
22
|
+
});
|
|
23
|
+
if (!selectedName || p.isCancel(selectedName)) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
const selected = detected.find((agent) => agent.name === selectedName);
|
|
27
|
+
if (!selected)
|
|
28
|
+
return false;
|
|
29
|
+
const current = loadUserConfig();
|
|
30
|
+
saveUserConfig({
|
|
31
|
+
agent: selected.name,
|
|
32
|
+
agentCommand: selected.command,
|
|
33
|
+
skillsInstalled: current?.skillsInstalled ?? false,
|
|
34
|
+
...(current?.viewer ? { viewer: current.viewer } : {}),
|
|
35
|
+
initialized: current?.initialized ?? new Date().toISOString(),
|
|
36
|
+
});
|
|
37
|
+
p.log.info(`Using ${selected.displayName} for local runs.`);
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
export async function resolveOrConfigureLocalExecutor(options = {}) {
|
|
41
|
+
const resolved = resolveLocalExecutor(options);
|
|
42
|
+
if (resolved.executor)
|
|
43
|
+
return resolved;
|
|
44
|
+
const needsChoice = typeof resolved.error === "string" &&
|
|
45
|
+
/Multiple coding agents detected|Configured agent .*not available in PATH|Configured agent .*is not supported|Configured agent .*can only automate/i.test(resolved.error);
|
|
46
|
+
if (!needsChoice) {
|
|
47
|
+
return resolved;
|
|
48
|
+
}
|
|
49
|
+
const configured = await promptForDefaultAgent();
|
|
50
|
+
if (!configured) {
|
|
51
|
+
return resolved;
|
|
52
|
+
}
|
|
53
|
+
return resolveLocalExecutor(options);
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=executor-flow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor-flow.js","sourceRoot":"","sources":["../../src/commands/executor-flow.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAwQ3C,eAAO,MAAM,WAAW,EAAE,aAMzB,CAAC;AAEF,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA+JpD"}
|