@interf/compiler 0.3.0 → 0.3.2
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 +120 -83
- package/dist/bin.js +3 -3
- package/dist/bin.js.map +1 -1
- package/dist/commands/compile.d.ts +11 -0
- package/dist/commands/compile.d.ts.map +1 -1
- package/dist/commands/compile.js +216 -70
- 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 +44 -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 +11 -0
- package/dist/commands/executor-flow.d.ts.map +1 -0
- package/dist/commands/executor-flow.js +104 -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 +374 -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/reset.d.ts.map +1 -1
- package/dist/commands/reset.js +2 -18
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/source-config-wizard.d.ts +6 -7
- package/dist/commands/source-config-wizard.d.ts.map +1 -1
- package/dist/commands/source-config-wizard.js +151 -78
- package/dist/commands/source-config-wizard.js.map +1 -1
- package/dist/commands/test-flow.d.ts +22 -0
- package/dist/commands/test-flow.d.ts.map +1 -0
- package/dist/commands/test-flow.js +129 -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 +133 -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 +36 -9
- package/dist/lib/schema.d.ts.map +1 -1
- package/dist/lib/schema.js +29 -7
- package/dist/lib/schema.js.map +1 -1
- package/dist/lib/source-config.d.ts +4 -1
- package/dist/lib/source-config.d.ts.map +1 -1
- package/dist/lib/source-config.js +23 -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/dist/lib/workspace-reset.d.ts +2 -0
- package/dist/lib/workspace-reset.d.ts.map +1 -0
- package/dist/lib/workspace-reset.js +21 -0
- package/dist/lib/workspace-reset.js.map +1 -0
- 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
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import * as p from "@clack/prompts";
|
|
3
|
+
import { detectInterf, resolveSourceFolderPath, } from "../lib/interf.js";
|
|
4
|
+
import { loadSourceFolderConfig } from "../lib/source-config.js";
|
|
5
|
+
import { addExecutionProfileOptions, executionProfileFromArgv, } from "../lib/execution-profile.js";
|
|
6
|
+
import { chooseWorkspaceConfigToBuild, findBuiltWorkspacePath, findSavedWorkspaceConfig, } from "./workspace-flow.js";
|
|
7
|
+
import { printSavedTestComparison, runSavedRawTest, runSavedWorkspaceTest, } from "./test-flow.js";
|
|
8
|
+
export const testCommand = {
|
|
9
|
+
command: "test",
|
|
10
|
+
aliases: ["benchmark"],
|
|
11
|
+
describe: "Run your saved questions on raw files or a workspace",
|
|
12
|
+
builder: (yargs) => addExecutionProfileOptions(yargs),
|
|
13
|
+
handler: async (argv) => {
|
|
14
|
+
await runTestCommand(argv);
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
async function chooseTestMode(options) {
|
|
18
|
+
if (!options.hasBuiltWorkspace) {
|
|
19
|
+
const selected = await p.select({
|
|
20
|
+
message: `Test "${options.workspaceName}" against what?`,
|
|
21
|
+
options: [
|
|
22
|
+
{
|
|
23
|
+
value: "raw",
|
|
24
|
+
label: "Raw files",
|
|
25
|
+
hint: "Run a baseline test on the raw files only",
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
value: "workspace",
|
|
29
|
+
label: "Compiled workspace",
|
|
30
|
+
hint: "Build it first with `interf compile`",
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
});
|
|
34
|
+
if (p.isCancel(selected))
|
|
35
|
+
return null;
|
|
36
|
+
return selected;
|
|
37
|
+
}
|
|
38
|
+
const selected = await p.select({
|
|
39
|
+
message: `Test "${options.workspaceName}" against what?`,
|
|
40
|
+
options: [
|
|
41
|
+
{
|
|
42
|
+
value: "both",
|
|
43
|
+
label: "Raw files and compiled workspace (Recommended)",
|
|
44
|
+
hint: "Run the same questions against both and compare",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
value: "raw",
|
|
48
|
+
label: "Raw files",
|
|
49
|
+
hint: "Run the baseline only",
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
value: "workspace",
|
|
53
|
+
label: "Compiled workspace",
|
|
54
|
+
hint: "Run the saved test against the workspace only",
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
});
|
|
58
|
+
if (p.isCancel(selected))
|
|
59
|
+
return null;
|
|
60
|
+
return selected;
|
|
61
|
+
}
|
|
62
|
+
export async function runTestCommand(argv = {}) {
|
|
63
|
+
const cwd = process.cwd();
|
|
64
|
+
const detected = detectInterf(cwd);
|
|
65
|
+
const sourcePath = detected ? resolveSourceFolderPath(detected.path, detected.config) : cwd;
|
|
66
|
+
const config = loadSourceFolderConfig(sourcePath);
|
|
67
|
+
if (!config) {
|
|
68
|
+
process.exitCode = 1;
|
|
69
|
+
console.log(chalk.red(" This folder does not have any saved workspace setup yet."));
|
|
70
|
+
console.log(chalk.dim(" Start with `interf` or `interf init`."));
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
const selectedWorkspace = detected
|
|
74
|
+
? (findSavedWorkspaceConfig(sourcePath, detected.config.name) ?? null)
|
|
75
|
+
: await chooseWorkspaceConfigToBuild({
|
|
76
|
+
sourcePath,
|
|
77
|
+
selectMessage: "Which workspace do you want to test?",
|
|
78
|
+
});
|
|
79
|
+
if (selectedWorkspace === undefined)
|
|
80
|
+
return;
|
|
81
|
+
if (!selectedWorkspace) {
|
|
82
|
+
process.exitCode = 1;
|
|
83
|
+
console.log(chalk.red(" No workspaces are set up for this folder yet."));
|
|
84
|
+
console.log(chalk.dim(" Start with `interf` or `interf init`."));
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
if (selectedWorkspace.checks.length === 0) {
|
|
88
|
+
process.exitCode = 1;
|
|
89
|
+
console.log(chalk.red(` Workspace "${selectedWorkspace.name}" does not have any saved questions yet.`));
|
|
90
|
+
console.log(chalk.dim(" Run `interf` or `interf init` to add a few first."));
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
const executionProfile = executionProfileFromArgv(argv);
|
|
94
|
+
const builtWorkspacePath = detected?.path ?? findBuiltWorkspacePath(sourcePath, selectedWorkspace.name);
|
|
95
|
+
const hasBuiltWorkspace = Boolean(builtWorkspacePath);
|
|
96
|
+
const mode = detected
|
|
97
|
+
? "workspace"
|
|
98
|
+
: await chooseTestMode({
|
|
99
|
+
workspaceName: selectedWorkspace.name,
|
|
100
|
+
hasBuiltWorkspace,
|
|
101
|
+
});
|
|
102
|
+
if (!mode)
|
|
103
|
+
return;
|
|
104
|
+
if (mode === "workspace" && !hasBuiltWorkspace) {
|
|
105
|
+
process.exitCode = 1;
|
|
106
|
+
console.log(chalk.red(` Workspace "${selectedWorkspace.name}" is not compiled yet.`));
|
|
107
|
+
console.log(chalk.dim(" Run `interf compile` first."));
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
const rawOutcome = mode === "raw" || mode === "both"
|
|
111
|
+
? await runSavedRawTest({
|
|
112
|
+
sourcePath,
|
|
113
|
+
workspaceConfig: selectedWorkspace,
|
|
114
|
+
executionProfile,
|
|
115
|
+
})
|
|
116
|
+
: null;
|
|
117
|
+
const workspaceOutcome = mode === "workspace" || mode === "both"
|
|
118
|
+
? await runSavedWorkspaceTest({
|
|
119
|
+
sourcePath,
|
|
120
|
+
workspaceConfig: selectedWorkspace,
|
|
121
|
+
executionProfile,
|
|
122
|
+
workspacePath: builtWorkspacePath,
|
|
123
|
+
})
|
|
124
|
+
: null;
|
|
125
|
+
if ((mode === "workspace" || mode === "both") && !workspaceOutcome) {
|
|
126
|
+
process.exitCode = 1;
|
|
127
|
+
console.log(chalk.red(` Workspace "${selectedWorkspace.name}" is not compiled yet.`));
|
|
128
|
+
console.log(chalk.dim(" Run `interf compile` first."));
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
printSavedTestComparison(rawOutcome, workspaceOutcome);
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAa3C,eAAO,MAAM,aAAa,EAAE,aAsE3B,CAAC"}
|
package/dist/commands/verify.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
2
|
import { detectInterf } from "../lib/interf.js";
|
|
3
|
-
import { validateWorkspaceSummarize, validateWorkspaceCompile, } from "../lib/validate.js";
|
|
3
|
+
import { validateWorkspaceSummarize, validateWorkspaceStructure, validateWorkspaceCompile, } from "../lib/validate.js";
|
|
4
4
|
import { validateWorkflowPackage } from "../lib/local-workflows.js";
|
|
5
5
|
function normalizeVerifyCheck(value) {
|
|
6
6
|
if (!value)
|
|
7
7
|
return null;
|
|
8
8
|
if (value === "summarize")
|
|
9
9
|
return "summarize";
|
|
10
|
+
if (value === "structure")
|
|
11
|
+
return "structure";
|
|
10
12
|
if (value === "compile")
|
|
11
13
|
return "compile";
|
|
12
14
|
if (value === "workflow")
|
|
@@ -19,7 +21,7 @@ export const verifyCommand = {
|
|
|
19
21
|
builder: (yargs) => yargs
|
|
20
22
|
.positional("check", {
|
|
21
23
|
type: "string",
|
|
22
|
-
describe: "Check to run (`summarize`, `compile`, or `workflow`)",
|
|
24
|
+
describe: "Check to run (`summarize`, `structure`, `compile`, or `workflow`)",
|
|
23
25
|
})
|
|
24
26
|
.option("path", {
|
|
25
27
|
type: "string",
|
|
@@ -56,7 +58,9 @@ export const verifyCommand = {
|
|
|
56
58
|
}
|
|
57
59
|
result = check === "summarize"
|
|
58
60
|
? validateWorkspaceSummarize(detected.path)
|
|
59
|
-
:
|
|
61
|
+
: check === "structure"
|
|
62
|
+
? validateWorkspaceStructure(detected.path)
|
|
63
|
+
: validateWorkspaceCompile(detected.path);
|
|
60
64
|
}
|
|
61
65
|
if (argv.json) {
|
|
62
66
|
console.log(JSON.stringify(result, null, 2));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAKpE,SAAS,oBAAoB,CAAC,KAAyB;IACrD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,KAAK,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IAC9C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,KAAK,KAAK,UAAU;QAAE,OAAO,UAAU,CAAC;IAC5C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,OAAO,EAAE,gBAAgB;IACzB,QAAQ,EAAE,uCAAuC;IACjD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,UAAU,CAAC,OAAO,EAAE;QACnB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SourceWorkspaceConfig } from "../lib/schema.js";
|
|
2
|
+
import type { WorkflowExecutor } from "../lib/executors.js";
|
|
3
|
+
import type { WorkspaceCompileResult } from "../lib/workflows.js";
|
|
4
|
+
export interface SavedWorkspaceEntry {
|
|
5
|
+
config: SourceWorkspaceConfig;
|
|
6
|
+
path: string | null;
|
|
7
|
+
}
|
|
8
|
+
export declare function listSavedWorkspaceEntries(sourcePath: string): SavedWorkspaceEntry[];
|
|
9
|
+
export declare function findBuiltWorkspacePath(sourcePath: string, workspaceName: string): string | null;
|
|
10
|
+
export declare function findSavedWorkspaceConfig(sourcePath: string, workspaceName: string): SourceWorkspaceConfig | null;
|
|
11
|
+
export declare function chooseWorkspaceConfigToBuild(options: {
|
|
12
|
+
sourcePath: string;
|
|
13
|
+
selectMessage: string;
|
|
14
|
+
}): Promise<SourceWorkspaceConfig | null | undefined>;
|
|
15
|
+
export declare function createWorkspaceFromConfig(sourcePath: string, workspaceConfig: Pick<SourceWorkspaceConfig, "name" | "about" | "workflow">): string;
|
|
16
|
+
export declare function ensureWorkspaceFromConfig(sourcePath: string, workspaceConfig: Pick<SourceWorkspaceConfig, "name" | "about" | "workflow">): string;
|
|
17
|
+
export declare function compileWorkspaceWithReporter(executor: WorkflowExecutor, workspacePath: string, options?: {
|
|
18
|
+
heading?: string;
|
|
19
|
+
successMessage?: string;
|
|
20
|
+
}): Promise<WorkspaceCompileResult>;
|
|
21
|
+
//# sourceMappingURL=workspace-flow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-flow.d.ts","sourceRoot":"","sources":["../../src/commands/workspace-flow.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAM9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AASD,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,EAAE,CASnF;AAED,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,IAAI,CAEf;AAED,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GACpB,qBAAqB,GAAG,IAAI,CAE9B;AAED,wBAAsB,4BAA4B,CAAC,OAAO,EAAE;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,GAAG,SAAS,CAAC,CAyBpD;AAED,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC,GAC1E,MAAM,CAUR;AAED,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC,GAC1E,MAAM,CAQR;AAED,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,gBAAgB,EAC1B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACpB,GACL,OAAO,CAAC,sBAAsB,CAAC,CA2BjC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import * as p from "@clack/prompts";
|
|
3
|
+
import { listWorkspacesForSourceFolder } from "../lib/interf.js";
|
|
4
|
+
import { addWorkspace } from "../lib/registry.js";
|
|
5
|
+
import { findSourceWorkspaceConfig, listSourceWorkspaceConfigs, loadSourceFolderConfig, } from "../lib/source-config.js";
|
|
6
|
+
import { compileWorkspace, createWorkspace, } from "../lib/workflows.js";
|
|
7
|
+
import { formatWorkflowExecutionProfile } from "../lib/execution-profile.js";
|
|
8
|
+
function formatSavedWorkspaceHint(config) {
|
|
9
|
+
const checkCount = config.checks.length;
|
|
10
|
+
if (config.about)
|
|
11
|
+
return config.about;
|
|
12
|
+
if (checkCount === 0)
|
|
13
|
+
return "No saved questions yet";
|
|
14
|
+
return `${checkCount} saved question${checkCount === 1 ? "" : "s"}`;
|
|
15
|
+
}
|
|
16
|
+
export function listSavedWorkspaceEntries(sourcePath) {
|
|
17
|
+
const builtByName = new Map(listWorkspacesForSourceFolder(sourcePath).map((entry) => [entry.config.name, entry.path]));
|
|
18
|
+
return listSourceWorkspaceConfigs(loadSourceFolderConfig(sourcePath)).map((config) => ({
|
|
19
|
+
config,
|
|
20
|
+
path: builtByName.get(config.name) ?? null,
|
|
21
|
+
}));
|
|
22
|
+
}
|
|
23
|
+
export function findBuiltWorkspacePath(sourcePath, workspaceName) {
|
|
24
|
+
return listSavedWorkspaceEntries(sourcePath).find((entry) => entry.config.name === workspaceName)?.path ?? null;
|
|
25
|
+
}
|
|
26
|
+
export function findSavedWorkspaceConfig(sourcePath, workspaceName) {
|
|
27
|
+
return findSourceWorkspaceConfig(loadSourceFolderConfig(sourcePath), workspaceName);
|
|
28
|
+
}
|
|
29
|
+
export async function chooseWorkspaceConfigToBuild(options) {
|
|
30
|
+
const savedEntries = listSavedWorkspaceEntries(options.sourcePath);
|
|
31
|
+
if (savedEntries.length === 0) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
if (savedEntries.length === 1) {
|
|
35
|
+
return savedEntries[0]?.config ?? null;
|
|
36
|
+
}
|
|
37
|
+
const selected = await p.select({
|
|
38
|
+
message: options.selectMessage,
|
|
39
|
+
options: savedEntries.map((entry) => ({
|
|
40
|
+
value: entry.config.name,
|
|
41
|
+
label: entry.config.name,
|
|
42
|
+
hint: [
|
|
43
|
+
formatSavedWorkspaceHint(entry.config),
|
|
44
|
+
entry.path ? "built" : "not built yet",
|
|
45
|
+
].join(" · "),
|
|
46
|
+
})),
|
|
47
|
+
});
|
|
48
|
+
if (p.isCancel(selected))
|
|
49
|
+
return undefined;
|
|
50
|
+
return savedEntries.find((entry) => entry.config.name === selected)?.config ?? null;
|
|
51
|
+
}
|
|
52
|
+
export function createWorkspaceFromConfig(sourcePath, workspaceConfig) {
|
|
53
|
+
const workflowId = workspaceConfig.workflow ?? "interf";
|
|
54
|
+
const workspacePath = createWorkspace(workspaceConfig.name, sourcePath, workflowId, workspaceConfig.about);
|
|
55
|
+
addWorkspace(workspaceConfig.name, workspacePath, workflowId);
|
|
56
|
+
return workspacePath;
|
|
57
|
+
}
|
|
58
|
+
export function ensureWorkspaceFromConfig(sourcePath, workspaceConfig) {
|
|
59
|
+
const existingPath = findBuiltWorkspacePath(sourcePath, workspaceConfig.name);
|
|
60
|
+
if (existingPath) {
|
|
61
|
+
addWorkspace(workspaceConfig.name, existingPath, workspaceConfig.workflow ?? "interf");
|
|
62
|
+
return existingPath;
|
|
63
|
+
}
|
|
64
|
+
return createWorkspaceFromConfig(sourcePath, workspaceConfig);
|
|
65
|
+
}
|
|
66
|
+
export async function compileWorkspaceWithReporter(executor, workspacePath, options = {}) {
|
|
67
|
+
console.log();
|
|
68
|
+
console.log(chalk.bold(` ${options.heading ?? "Building compiled workspace..."}`));
|
|
69
|
+
const profileLabel = formatWorkflowExecutionProfile(executor.executionProfile);
|
|
70
|
+
if (profileLabel) {
|
|
71
|
+
console.log(chalk.dim(` Execution profile: ${profileLabel}`));
|
|
72
|
+
}
|
|
73
|
+
console.log();
|
|
74
|
+
const reporter = {
|
|
75
|
+
line: (message) => console.log(chalk.dim(` ${message}`)),
|
|
76
|
+
blankLine: () => console.log(),
|
|
77
|
+
};
|
|
78
|
+
const result = await compileWorkspace({
|
|
79
|
+
executor,
|
|
80
|
+
workspacePath,
|
|
81
|
+
reporter,
|
|
82
|
+
});
|
|
83
|
+
if (!result.ok) {
|
|
84
|
+
return result;
|
|
85
|
+
}
|
|
86
|
+
console.log();
|
|
87
|
+
console.log(chalk.green(` ✓ ${options.successMessage ?? "Compiled workspace ready."}`));
|
|
88
|
+
return result;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=workspace-flow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-flow.js","sourceRoot":"","sources":["../../src/commands/workspace-flow.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { createWorkspace, compileWorkspace, runWorkspaceSummarize, runWorkspaceCompile, } from "./lib/workflows.js";
|
|
2
|
-
export { listBenchmarkSpecs, loadBenchmarkSpec, loadBenchmarkSpecFromFile, writeBenchmarkSpec, listBenchmarkTargets, runBenchmark, runBenchmarkWithJudge, runBenchmarkAuto, saveBenchmarkRun, } from "./lib/benchmark.js";
|
|
2
|
+
export { createRawBenchmarkTarget, listBenchmarkSpecs, loadBenchmarkSpec, loadBenchmarkSpecFromFile, writeBenchmarkSpec, listBenchmarkTargets, runBenchmark, runBenchmarkWithJudge, runBenchmarkAuto, saveBenchmarkRun, } from "./lib/benchmark.js";
|
|
3
3
|
export { computeWorkspaceHealth, } from "./lib/state.js";
|
|
4
4
|
export { SOURCE_FOLDER_CONFIG_FILE, loadSourceFolderConfig, buildBenchmarkSpecFromSourceFolderConfig, } from "./lib/source-config.js";
|
|
5
5
|
export { validateWorkspaceSummarize, validateWorkspaceCompile, } from "./lib/validate.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,wCAAwC,GACzC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,wCAAwC,GACzC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { createWorkspace, compileWorkspace, runWorkspaceSummarize, runWorkspaceCompile, } from "./lib/workflows.js";
|
|
2
|
-
export { listBenchmarkSpecs, loadBenchmarkSpec, loadBenchmarkSpecFromFile, writeBenchmarkSpec, listBenchmarkTargets, runBenchmark, runBenchmarkWithJudge, runBenchmarkAuto, saveBenchmarkRun, } from "./lib/benchmark.js";
|
|
2
|
+
export { createRawBenchmarkTarget, listBenchmarkSpecs, loadBenchmarkSpec, loadBenchmarkSpecFromFile, writeBenchmarkSpec, listBenchmarkTargets, runBenchmark, runBenchmarkWithJudge, runBenchmarkAuto, saveBenchmarkRun, } from "./lib/benchmark.js";
|
|
3
3
|
export { computeWorkspaceHealth, } from "./lib/state.js";
|
|
4
4
|
export { SOURCE_FOLDER_CONFIG_FILE, loadSourceFolderConfig, buildBenchmarkSpecFromSourceFolderConfig, } from "./lib/source-config.js";
|
|
5
5
|
export { validateWorkspaceSummarize, validateWorkspaceCompile, } from "./lib/validate.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,wCAAwC,GACzC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,wCAAwC,GACzC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC"}
|
|
@@ -31,19 +31,19 @@ export function resolveAgent() {
|
|
|
31
31
|
if (!configured) {
|
|
32
32
|
return {
|
|
33
33
|
agent: null,
|
|
34
|
-
error: `Configured agent "${config.agent}" is not supported by this Interf build. Run \`interf init\` to choose a supported agent.`,
|
|
34
|
+
error: `Configured agent "${config.agent}" is not supported by this Interf build. Run \`interf\` or \`interf init\` to choose a supported agent.`,
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
37
|
if (!commandExists(configured.command)) {
|
|
38
38
|
return {
|
|
39
39
|
agent: null,
|
|
40
|
-
error: `Configured agent "${configured.displayName}" is not available in PATH. Run \`interf init\` to reconfigure.`,
|
|
40
|
+
error: `Configured agent "${configured.displayName}" is not available in PATH. Run \`interf\` or \`interf init\` to reconfigure.`,
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
43
|
if (!supportsAutomatedRuns(configured)) {
|
|
44
44
|
return {
|
|
45
45
|
agent: null,
|
|
46
|
-
error: `Configured agent "${configured.displayName}" is detected, but this Interf build can only automate Claude Code or Codex. Run \`interf init\` and choose one of those agents.`,
|
|
46
|
+
error: `Configured agent "${configured.displayName}" is detected, but this Interf build can only automate Claude Code or Codex. Run \`interf\` or \`interf init\` and choose one of those agents.`,
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
49
|
return { agent: configured };
|
|
@@ -58,7 +58,7 @@ export function resolveAgent() {
|
|
|
58
58
|
if (detected.length > 1) {
|
|
59
59
|
return {
|
|
60
60
|
agent: null,
|
|
61
|
-
error: "Multiple coding agents detected but no default is configured. Run `interf init` to choose which agent
|
|
61
|
+
error: "Multiple coding agents detected but no default is configured. Run `interf` or `interf init` to choose which agent local runs should use.",
|
|
62
62
|
};
|
|
63
63
|
}
|
|
64
64
|
return { agent: detected[0] };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-detection.js","sourceRoot":"","sources":["../../src/lib/agent-detection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,MAAM,UAAU,YAAY;IAC1B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACxF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,IAAI,CAAC;QACH,YAAY,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAY;IAChD,OAAO,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAEhC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,UAAU,GACd,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,YAAY,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC;QAE7D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,qBAAqB,MAAM,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"agent-detection.js","sourceRoot":"","sources":["../../src/lib/agent-detection.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/agent-skills.js
CHANGED
|
@@ -91,35 +91,35 @@ function validateInstalledSkill(agent, skillName) {
|
|
|
91
91
|
if (localStatus.current)
|
|
92
92
|
return null;
|
|
93
93
|
if (localStatus.present) {
|
|
94
|
-
return `Skill "${skillName}" is installed, but outdated. Run \`interf init\` and refresh Interf skills before syncing.`;
|
|
94
|
+
return `Skill "${skillName}" is installed, but outdated. Run \`interf\` or \`interf init\` and refresh Interf skills before syncing.`;
|
|
95
95
|
}
|
|
96
96
|
const installed = listInstalledSkills();
|
|
97
97
|
const bundledPath = join(SKILLS_DIR, skillName, "SKILL.md");
|
|
98
98
|
if (installed) {
|
|
99
99
|
const entry = installed.find((item) => item.name === skillName);
|
|
100
100
|
if (!entry) {
|
|
101
|
-
return `Skill "${skillName}" is not installed. Run \`interf init\` to install current Interf skills before syncing.`;
|
|
101
|
+
return `Skill "${skillName}" is not installed. Run \`interf\` or \`interf init\` to install current Interf skills before syncing.`;
|
|
102
102
|
}
|
|
103
103
|
const agents = entry.agents ?? [];
|
|
104
104
|
if (agents.length > 0 && !agents.includes(agent.displayName)) {
|
|
105
|
-
return `Skill "${skillName}" is installed, but not for ${agent.displayName}. Run \`interf init\` and install skills for that agent before syncing.`;
|
|
105
|
+
return `Skill "${skillName}" is installed, but not for ${agent.displayName}. Run \`interf\` or \`interf init\` and install skills for that agent before syncing.`;
|
|
106
106
|
}
|
|
107
107
|
if (existsSync(bundledPath)) {
|
|
108
108
|
const installedPath = entry.path ? join(entry.path, "SKILL.md") : null;
|
|
109
109
|
if (!installedPath || !bundledSkillMatchesInstalledPath(skillName, installedPath)) {
|
|
110
|
-
return `Skill "${skillName}" is installed, but outdated. Run \`interf init\` and refresh Interf skills before syncing.`;
|
|
110
|
+
return `Skill "${skillName}" is installed, but outdated. Run \`interf\` or \`interf init\` and refresh Interf skills before syncing.`;
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
return null;
|
|
114
114
|
}
|
|
115
115
|
const fallbackPaths = installedSkillCandidatePaths(agent, skillName);
|
|
116
116
|
if (fallbackPaths.length === 0) {
|
|
117
|
-
return `Skill "${skillName}" is not installed for ${agent.displayName}. Run \`interf init\` to install current Interf skills before syncing.`;
|
|
117
|
+
return `Skill "${skillName}" is not installed for ${agent.displayName}. Run \`interf\` or \`interf init\` to install current Interf skills before syncing.`;
|
|
118
118
|
}
|
|
119
119
|
if (existsSync(bundledPath)) {
|
|
120
120
|
const hasCurrentCopy = fallbackPaths.some((path) => bundledSkillMatchesInstalledPath(skillName, path));
|
|
121
121
|
if (!hasCurrentCopy) {
|
|
122
|
-
return `Skill "${skillName}" is installed, but outdated. Run \`interf init\` and refresh Interf skills before syncing.`;
|
|
122
|
+
return `Skill "${skillName}" is installed, but outdated. Run \`interf\` or \`interf init\` and refresh Interf skills before syncing.`;
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-skills.js","sourceRoot":"","sources":["../../src/lib/agent-skills.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"agent-skills.js","sourceRoot":"","sources":["../../src/lib/agent-skills.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark-execution.d.ts","sourceRoot":"","sources":["../../src/lib/benchmark-execution.ts"],"names":[],"mappings":"AAUA,OAAO,EAA4B,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,KAAK,EAIV,kBAAkB,EAClB,wBAAwB,EAExB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"benchmark-execution.d.ts","sourceRoot":"","sources":["../../src/lib/benchmark-execution.ts"],"names":[],"mappings":"AAUA,OAAO,EAA4B,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,KAAK,EAIV,kBAAkB,EAClB,wBAAwB,EAExB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAigB9B,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,wBAAwB,EAAE,GAClC,kBAAkB,CAmBpB;AAED,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,wBAAwB,EAAE,EACnC,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CA8B7B;AAED,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,wBAAwB,EAAE,EACnC,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACpC,GACA,OAAO,CAAC,kBAAkB,CAAC,CAS7B;AAED,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,kBAAkB,GACzB,MAAM,CAkCR"}
|
|
@@ -3,6 +3,7 @@ import { join } from "node:path";
|
|
|
3
3
|
import { tmpdir } from "node:os";
|
|
4
4
|
import { buildRuntimeExecutorInfo } from "./executors.js";
|
|
5
5
|
import { benchmarkRunGitignorePath, benchmarkRunsPath, } from "./benchmark-paths.js";
|
|
6
|
+
import { createBenchmarkSandbox } from "./benchmark-sandbox.js";
|
|
6
7
|
function parseWords(content) {
|
|
7
8
|
return content.trim().split(/\s+/).filter(Boolean).length;
|
|
8
9
|
}
|
|
@@ -162,7 +163,7 @@ function readBenchmarkJudgeVerdictFromStatus(statusPath) {
|
|
|
162
163
|
}
|
|
163
164
|
return null;
|
|
164
165
|
}
|
|
165
|
-
async function runBenchmarkJudge(
|
|
166
|
+
async function runBenchmarkJudge(benchmarkCase, executor, candidateLabel, candidateContent) {
|
|
166
167
|
const tempDir = mkdtempSync(join(tmpdir(), "interf-benchmark-judge-"));
|
|
167
168
|
let executionError = null;
|
|
168
169
|
let verdict = null;
|
|
@@ -171,7 +172,7 @@ async function runBenchmarkJudge(targetPath, benchmarkCase, executor, candidateL
|
|
|
171
172
|
const statusPath = join(tempDir, "judge.status.log");
|
|
172
173
|
const prompt = buildBenchmarkJudgePrompt(benchmarkCase, candidateLabel, candidateContent, verdictPath);
|
|
173
174
|
try {
|
|
174
|
-
await executor.execute(
|
|
175
|
+
await executor.execute(tempDir, prompt, {
|
|
175
176
|
statusLogPath: statusPath,
|
|
176
177
|
});
|
|
177
178
|
}
|
|
@@ -194,13 +195,21 @@ async function runBenchmarkJudge(targetPath, benchmarkCase, executor, candidateL
|
|
|
194
195
|
return { verdict, error: executionError };
|
|
195
196
|
}
|
|
196
197
|
function buildBenchmarkQueryPrompt(target, benchmarkCase, answerPath, tracePath) {
|
|
197
|
-
const header =
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
198
|
+
const header = target.type === "workspace"
|
|
199
|
+
? [
|
|
200
|
+
"You are running an Interf benchmark inside an isolated sandboxed compiled workspace.",
|
|
201
|
+
"Read `AGENTS.md` first.",
|
|
202
|
+
"Then read `workflow/use/query/SKILL.md`.",
|
|
203
|
+
"Answer the benchmark question the same way you would answer a real user inside this compiled workspace.",
|
|
204
|
+
"Prefer `home.md`, `knowledge/`, and `summaries/` before raw fallback.",
|
|
205
|
+
"The source-folder control plane is intentionally absent from this sandbox. Work only from the sandboxed workspace and sandboxed raw files.",
|
|
206
|
+
]
|
|
207
|
+
: [
|
|
208
|
+
"You are running an Interf baseline test inside an isolated sandbox of the raw files for this folder.",
|
|
209
|
+
"There is no compiled workspace in this sandbox.",
|
|
210
|
+
"Answer only from the sandboxed raw files you can read here.",
|
|
211
|
+
"The source-folder control plane is intentionally absent from this sandbox.",
|
|
212
|
+
];
|
|
204
213
|
return [
|
|
205
214
|
...header,
|
|
206
215
|
"Emit only STATUS:, DONE:, BLOCKED:, or ERROR: lines.",
|
|
@@ -282,7 +291,7 @@ async function runLiveBenchmarkCase(target, benchmarkCase, executor) {
|
|
|
282
291
|
});
|
|
283
292
|
}
|
|
284
293
|
if (benchmarkCase.answer) {
|
|
285
|
-
const judged = await runBenchmarkJudge(
|
|
294
|
+
const judged = await runBenchmarkJudge(benchmarkCase, executor, `generated answer for ${benchmarkCase.id}`, answer);
|
|
286
295
|
checks.push({
|
|
287
296
|
label: "judge verdict",
|
|
288
297
|
ok: judged.verdict?.pass === true,
|
|
@@ -341,7 +350,7 @@ async function runBenchmarkCaseWithJudge(target, benchmarkCase, executor) {
|
|
|
341
350
|
});
|
|
342
351
|
checks.push(...evaluated.checks);
|
|
343
352
|
if (benchmarkCase.answer) {
|
|
344
|
-
const judged = await runBenchmarkJudge(
|
|
353
|
+
const judged = await runBenchmarkJudge(benchmarkCase, executor, `compiled file ${outputPath}`, content);
|
|
345
354
|
checks.push({
|
|
346
355
|
label: "judge verdict",
|
|
347
356
|
ok: judged.verdict?.pass === true,
|
|
@@ -428,13 +437,26 @@ export async function runBenchmarkWithJudge(sourcePath, spec, targets, executor)
|
|
|
428
437
|
}
|
|
429
438
|
const results = [];
|
|
430
439
|
for (const target of targets) {
|
|
431
|
-
const
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
:
|
|
440
|
+
const sandbox = createBenchmarkSandbox(target);
|
|
441
|
+
try {
|
|
442
|
+
const sandboxTarget = {
|
|
443
|
+
...target,
|
|
444
|
+
path: sandbox.targetPath,
|
|
445
|
+
};
|
|
446
|
+
const caseResults = [];
|
|
447
|
+
for (const benchmarkCase of spec.cases) {
|
|
448
|
+
if (benchmarkCaseNeedsExecutor(benchmarkCase)) {
|
|
449
|
+
caseResults.push(await runLiveBenchmarkCase(sandboxTarget, benchmarkCase, executor));
|
|
450
|
+
}
|
|
451
|
+
else {
|
|
452
|
+
caseResults.push(await runBenchmarkCaseWithJudge(sandboxTarget, benchmarkCase, executor));
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
results.push(buildBenchmarkTargetResult(target, caseResults));
|
|
456
|
+
}
|
|
457
|
+
finally {
|
|
458
|
+
sandbox.cleanup();
|
|
436
459
|
}
|
|
437
|
-
results.push(buildBenchmarkTargetResult(target, caseResults));
|
|
438
460
|
}
|
|
439
461
|
return buildBenchmarkRunResult(sourcePath, spec, results, executor);
|
|
440
462
|
}
|