@interf/compiler 0.2.5 → 0.3.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 +182 -183
- package/dist/commands/benchmark.d.ts.map +1 -1
- package/dist/commands/benchmark.js +60 -351
- package/dist/commands/benchmark.js.map +1 -1
- package/dist/commands/compile.d.ts.map +1 -1
- package/dist/commands/compile.js +43 -110
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/create-workflow-wizard.d.ts +4 -25
- package/dist/commands/create-workflow-wizard.d.ts.map +1 -1
- package/dist/commands/create-workflow-wizard.js +29 -214
- package/dist/commands/create-workflow-wizard.js.map +1 -1
- package/dist/commands/create.d.ts +2 -11
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +72 -461
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/default.d.ts.map +1 -1
- package/dist/commands/default.js +16 -28
- package/dist/commands/default.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +71 -340
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +12 -22
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/reset.d.ts.map +1 -1
- package/dist/commands/reset.js +27 -124
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/source-config-wizard.d.ts +11 -11
- package/dist/commands/source-config-wizard.d.ts.map +1 -1
- package/dist/commands/source-config-wizard.js +68 -69
- package/dist/commands/source-config-wizard.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +60 -56
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +59 -98
- package/dist/commands/verify.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -6
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-constants.js +1 -1
- package/dist/lib/agent-constants.js.map +1 -1
- package/dist/lib/benchmark-execution.d.ts.map +1 -1
- package/dist/lib/benchmark-execution.js +7 -16
- package/dist/lib/benchmark-execution.js.map +1 -1
- package/dist/lib/benchmark-targets.d.ts +3 -4
- package/dist/lib/benchmark-targets.d.ts.map +1 -1
- package/dist/lib/benchmark-targets.js +9 -55
- package/dist/lib/benchmark-targets.js.map +1 -1
- package/dist/lib/benchmark-types.d.ts +2 -3
- 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/config.d.ts +1 -2
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +2 -4
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/discovery.d.ts +1 -1
- package/dist/lib/discovery.d.ts.map +1 -1
- package/dist/lib/discovery.js +7 -2
- package/dist/lib/discovery.js.map +1 -1
- package/dist/lib/eval-packs.d.ts +6 -52
- package/dist/lib/eval-packs.d.ts.map +1 -1
- package/dist/lib/eval-packs.js +11 -39
- package/dist/lib/eval-packs.js.map +1 -1
- package/dist/lib/interf-bootstrap.d.ts +3 -5
- package/dist/lib/interf-bootstrap.d.ts.map +1 -1
- package/dist/lib/interf-bootstrap.js +10 -57
- package/dist/lib/interf-bootstrap.js.map +1 -1
- package/dist/lib/interf-detect.d.ts +13 -11
- package/dist/lib/interf-detect.d.ts.map +1 -1
- package/dist/lib/interf-detect.js +59 -45
- package/dist/lib/interf-detect.js.map +1 -1
- package/dist/lib/interf-scaffold.d.ts +2 -5
- package/dist/lib/interf-scaffold.d.ts.map +1 -1
- package/dist/lib/interf-scaffold.js +98 -235
- package/dist/lib/interf-scaffold.js.map +1 -1
- package/dist/lib/interf-workflow-package.d.ts +1 -2
- package/dist/lib/interf-workflow-package.d.ts.map +1 -1
- package/dist/lib/interf-workflow-package.js +94 -90
- package/dist/lib/interf-workflow-package.js.map +1 -1
- package/dist/lib/interf.d.ts +4 -5
- package/dist/lib/interf.d.ts.map +1 -1
- package/dist/lib/interf.js +3 -6
- package/dist/lib/interf.js.map +1 -1
- package/dist/lib/local-workflows.d.ts +9 -8
- package/dist/lib/local-workflows.d.ts.map +1 -1
- package/dist/lib/local-workflows.js +42 -94
- package/dist/lib/local-workflows.js.map +1 -1
- package/dist/lib/obsidian.d.ts +1 -3
- package/dist/lib/obsidian.d.ts.map +1 -1
- package/dist/lib/obsidian.js +10 -81
- package/dist/lib/obsidian.js.map +1 -1
- package/dist/lib/registry.d.ts +6 -17
- package/dist/lib/registry.d.ts.map +1 -1
- package/dist/lib/registry.js +36 -50
- package/dist/lib/registry.js.map +1 -1
- package/dist/lib/runtime-contracts.d.ts +2 -3
- package/dist/lib/runtime-contracts.d.ts.map +1 -1
- package/dist/lib/runtime-contracts.js +10 -9
- package/dist/lib/runtime-contracts.js.map +1 -1
- package/dist/lib/runtime-reconcile.d.ts +2 -5
- package/dist/lib/runtime-reconcile.d.ts.map +1 -1
- package/dist/lib/runtime-reconcile.js +23 -176
- package/dist/lib/runtime-reconcile.js.map +1 -1
- package/dist/lib/runtime-runs.d.ts.map +1 -1
- package/dist/lib/runtime-runs.js +52 -57
- package/dist/lib/runtime-runs.js.map +1 -1
- package/dist/lib/runtime-types.d.ts +5 -6
- package/dist/lib/runtime-types.d.ts.map +1 -1
- package/dist/lib/runtime.d.ts +2 -2
- 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 +53 -312
- package/dist/lib/schema.d.ts.map +1 -1
- package/dist/lib/schema.js +39 -206
- package/dist/lib/schema.js.map +1 -1
- package/dist/lib/source-config.d.ts +7 -7
- package/dist/lib/source-config.d.ts.map +1 -1
- package/dist/lib/source-config.js +55 -62
- package/dist/lib/source-config.js.map +1 -1
- package/dist/lib/state-artifacts.d.ts +5 -11
- package/dist/lib/state-artifacts.d.ts.map +1 -1
- package/dist/lib/state-artifacts.js +8 -18
- package/dist/lib/state-artifacts.js.map +1 -1
- package/dist/lib/state-health.d.ts +4 -8
- package/dist/lib/state-health.d.ts.map +1 -1
- package/dist/lib/state-health.js +27 -223
- package/dist/lib/state-health.js.map +1 -1
- package/dist/lib/state-io.d.ts +7 -12
- package/dist/lib/state-io.d.ts.map +1 -1
- package/dist/lib/state-io.js +26 -93
- package/dist/lib/state-io.js.map +1 -1
- package/dist/lib/state-view.d.ts +4 -6
- package/dist/lib/state-view.d.ts.map +1 -1
- package/dist/lib/state-view.js +62 -101
- package/dist/lib/state-view.js.map +1 -1
- package/dist/lib/state.d.ts +5 -5
- package/dist/lib/state.d.ts.map +1 -1
- package/dist/lib/state.js +4 -4
- package/dist/lib/state.js.map +1 -1
- package/dist/lib/summarize-plan.d.ts +2 -2
- package/dist/lib/summarize-plan.d.ts.map +1 -1
- package/dist/lib/summarize-plan.js +13 -13
- package/dist/lib/summarize-plan.js.map +1 -1
- package/dist/lib/{validate-kb.d.ts → validate-workspace.d.ts} +8 -8
- package/dist/lib/validate-workspace.d.ts.map +1 -0
- package/dist/lib/{validate-kb.js → validate-workspace.js} +44 -46
- package/dist/lib/validate-workspace.js.map +1 -0
- package/dist/lib/validate.d.ts +5 -7
- package/dist/lib/validate.d.ts.map +1 -1
- package/dist/lib/validate.js +6 -19
- package/dist/lib/validate.js.map +1 -1
- package/dist/lib/workflow-definitions.d.ts +14 -50
- package/dist/lib/workflow-definitions.d.ts.map +1 -1
- package/dist/lib/workflow-definitions.js +74 -349
- package/dist/lib/workflow-definitions.js.map +1 -1
- package/dist/lib/workflow-helpers.d.ts +3 -4
- package/dist/lib/workflow-helpers.d.ts.map +1 -1
- package/dist/lib/workflow-helpers.js +15 -49
- package/dist/lib/workflow-helpers.js.map +1 -1
- package/dist/lib/workflow-stage-runner.d.ts +1 -2
- package/dist/lib/workflow-stage-runner.d.ts.map +1 -1
- package/dist/lib/workflow-stage-runner.js +4 -6
- package/dist/lib/workflow-stage-runner.js.map +1 -1
- package/dist/lib/workflow-starter-docs.d.ts +3 -5
- package/dist/lib/workflow-starter-docs.d.ts.map +1 -1
- package/dist/lib/workflow-starter-docs.js +2 -17
- package/dist/lib/workflow-starter-docs.js.map +1 -1
- package/dist/lib/workflows.d.ts +9 -14
- package/dist/lib/workflows.d.ts.map +1 -1
- package/dist/lib/workflows.js +13 -30
- package/dist/lib/workflows.js.map +1 -1
- package/dist/lib/workspace-compile.d.ts +50 -0
- package/dist/lib/workspace-compile.d.ts.map +1 -0
- package/dist/lib/{workflows-kb.js → workspace-compile.js} +81 -89
- package/dist/lib/workspace-compile.js.map +1 -0
- package/package.json +9 -9
- package/skills/benchmark/SKILL.md +16 -24
- package/skills/workflow/create/SKILL.md +7 -14
- package/templates/workspace/README.md +23 -0
- package/templates/workspace/interfignore +2 -0
- package/dist/lib/bundled-templates.d.ts +0 -5
- package/dist/lib/bundled-templates.d.ts.map +0 -1
- package/dist/lib/bundled-templates.js +0 -23
- package/dist/lib/bundled-templates.js.map +0 -1
- package/dist/lib/interf-compile-plan.d.ts +0 -12
- package/dist/lib/interf-compile-plan.d.ts.map +0 -1
- package/dist/lib/interf-compile-plan.js +0 -143
- package/dist/lib/interf-compile-plan.js.map +0 -1
- package/dist/lib/validate-interface.d.ts +0 -79
- package/dist/lib/validate-interface.d.ts.map +0 -1
- package/dist/lib/validate-interface.js +0 -535
- package/dist/lib/validate-interface.js.map +0 -1
- package/dist/lib/validate-kb.d.ts.map +0 -1
- package/dist/lib/validate-kb.js.map +0 -1
- package/dist/lib/workflows-interface-contracts.d.ts +0 -24
- package/dist/lib/workflows-interface-contracts.d.ts.map +0 -1
- package/dist/lib/workflows-interface-contracts.js +0 -304
- package/dist/lib/workflows-interface-contracts.js.map +0 -1
- package/dist/lib/workflows-interface.d.ts +0 -72
- package/dist/lib/workflows-interface.d.ts.map +0 -1
- package/dist/lib/workflows-interface.js +0 -377
- package/dist/lib/workflows-interface.js.map +0 -1
- package/dist/lib/workflows-kb.d.ts +0 -50
- package/dist/lib/workflows-kb.d.ts.map +0 -1
- package/dist/lib/workflows-kb.js.map +0 -1
- package/skills/interface/analyze/SKILL.md +0 -191
- package/skills/interface/compile/SKILL.md +0 -152
- package/skills/interface/compile/references/output-format.md +0 -48
- package/skills/interface/create/SKILL.md +0 -87
- package/skills/interface/create/references/compile-plan-format.md +0 -109
- package/skills/interface/create/references/workflows.md +0 -35
- package/skills/interface/query/SKILL.md +0 -48
- package/skills/interface/retrieve/SKILL.md +0 -133
- package/skills/knowledge-base/compile/SKILL.md +0 -196
- package/skills/knowledge-base/compile/references/output-format.md +0 -48
- package/skills/knowledge-base/compile/references/stage-claims.md +0 -60
- package/skills/knowledge-base/compile/references/stage-entities.md +0 -46
- package/skills/knowledge-base/query/SKILL.md +0 -45
- package/skills/knowledge-base/summarize/SKILL.md +0 -152
- package/templates/interface/README.md +0 -159
- package/templates/interface/interfaces.md +0 -102
- package/templates/knowledge-base/README.md +0 -137
- package/templates/knowledge-base/interfignore +0 -19
- package/templates/knowledge-base/registry.md +0 -118
- package/templates/workflow-package/README.md +0 -16
- package/templates/workflow-package/create/SKILL.md +0 -8
- package/templates/workflow-package/interface-query/SKILL.md +0 -29
- package/templates/workflow-package/interface-stage/SKILL.md +0 -13
- package/templates/workflow-package/knowledge-base-query/SKILL.md +0 -36
- package/templates/workflow-package/knowledge-base-stage/SKILL.md +0 -13
- package/templates/workflow-starters/interface/interf/README.md +0 -13
- package/templates/workflow-starters/interface/interf/create/SKILL.md +0 -15
- package/templates/workflow-starters/knowledge-base/interf/README.md +0 -13
- package/templates/workflow-starters/knowledge-base/karpathy/README.md +0 -13
package/dist/commands/compile.js
CHANGED
|
@@ -1,27 +1,28 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
2
|
import * as p from "@clack/prompts";
|
|
3
|
-
import { detectInterf,
|
|
3
|
+
import { detectInterf, listWorkspacesForSourceFolder, readInterfConfig, resolveSourceFolderPath, } from "../lib/interf.js";
|
|
4
4
|
import { resolveLocalExecutor } from "../lib/executors.js";
|
|
5
|
-
import { loadRegistry } from "../lib/registry.js";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import { listWorkspaceEntries, loadRegistry, } from "../lib/registry.js";
|
|
6
|
+
import { formatWorkspaceWorkflowStageStep, resolveWorkspaceWorkflowFromConfig, } from "../lib/workflow-definitions.js";
|
|
7
|
+
import { compileWorkspace, } from "../lib/workflows.js";
|
|
8
8
|
import { addExecutionProfileOptions, executionProfileFromArgv, formatWorkflowExecutionProfile, } from "../lib/execution-profile.js";
|
|
9
|
+
function listWorkspaceChoices(cwd) {
|
|
10
|
+
const local = listWorkspacesForSourceFolder(cwd).map(({ path, config }) => ({
|
|
11
|
+
path,
|
|
12
|
+
name: config.name,
|
|
13
|
+
}));
|
|
14
|
+
if (local.length > 0)
|
|
15
|
+
return local;
|
|
16
|
+
return listWorkspaceEntries(loadRegistry()).map((entry) => ({
|
|
17
|
+
path: entry.path,
|
|
18
|
+
name: entry.name,
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
9
21
|
export const compileCommand = {
|
|
10
|
-
command: "compile
|
|
11
|
-
describe: "
|
|
12
|
-
builder: (yargs) => addExecutionProfileOptions(yargs
|
|
13
|
-
describe: "What to compile (`knowledge-base` or `interface`; auto-detected if omitted)",
|
|
14
|
-
})),
|
|
22
|
+
command: "compile",
|
|
23
|
+
describe: "Build the current compiled workspace",
|
|
24
|
+
builder: (yargs) => addExecutionProfileOptions(yargs),
|
|
15
25
|
handler: async (argv) => {
|
|
16
|
-
let type = argv.type;
|
|
17
|
-
if (type === "knowledge-base" || type === "kb" || type === "base") {
|
|
18
|
-
type = "knowledge-base";
|
|
19
|
-
}
|
|
20
|
-
if (type && type !== "knowledge-base" && type !== "interface") {
|
|
21
|
-
process.exitCode = 1;
|
|
22
|
-
console.log(chalk.red(`Unknown compile target: ${type}`));
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
26
|
const executionProfile = executionProfileFromArgv(argv);
|
|
26
27
|
const { executor, error } = resolveLocalExecutor({ executionProfile });
|
|
27
28
|
if (!executor) {
|
|
@@ -29,105 +30,37 @@ export const compileCommand = {
|
|
|
29
30
|
console.log(chalk.red(error ?? "No coding agent detected."));
|
|
30
31
|
return;
|
|
31
32
|
}
|
|
32
|
-
|
|
33
|
-
const detected = detectInterf(process.cwd());
|
|
34
|
-
if (detected) {
|
|
35
|
-
type = detected.config.type;
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
const localKnowledgeBases = listKnowledgeBasesForSourceFolder(process.cwd());
|
|
39
|
-
if (localKnowledgeBases.length > 0) {
|
|
40
|
-
type = "knowledge-base";
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
if (!type) {
|
|
44
|
-
process.exitCode = 1;
|
|
45
|
-
console.log(chalk.red(" Could not detect a knowledge base. Run this from a source folder with ./interf/<name>, from that knowledge base, or from ./interf/<name>/interfaces/<name>."));
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
let knowledgeBasePath;
|
|
33
|
+
let workspacePath = null;
|
|
50
34
|
const detected = detectInterf(process.cwd());
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
: [];
|
|
54
|
-
if (detected && detected.config.type === type) {
|
|
55
|
-
knowledgeBasePath = detected.path;
|
|
56
|
-
}
|
|
57
|
-
else if (type === "knowledge-base" && localKnowledgeBases.length > 0) {
|
|
58
|
-
if (localKnowledgeBases.length === 1) {
|
|
59
|
-
knowledgeBasePath = localKnowledgeBases[0].path;
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
const choice = await p.select({
|
|
63
|
-
message: "Which local knowledge base?",
|
|
64
|
-
options: localKnowledgeBases.map((entry) => ({ value: entry.path, label: entry.config.name })),
|
|
65
|
-
});
|
|
66
|
-
if (p.isCancel(choice))
|
|
67
|
-
return;
|
|
68
|
-
knowledgeBasePath = choice;
|
|
69
|
-
}
|
|
35
|
+
if (detected) {
|
|
36
|
+
workspacePath = detected.path;
|
|
70
37
|
}
|
|
71
38
|
else {
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
const label = type === "knowledge-base" ? "knowledge bases" : "interfaces";
|
|
76
|
-
process.exitCode = 1;
|
|
77
|
-
console.log(chalk.red(`No ${label} found. Create one first.`));
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
if (entries.length === 1) {
|
|
81
|
-
knowledgeBasePath = entries[0].path;
|
|
39
|
+
const choices = listWorkspaceChoices(process.cwd());
|
|
40
|
+
if (choices.length === 1) {
|
|
41
|
+
workspacePath = choices[0].path;
|
|
82
42
|
}
|
|
83
|
-
else {
|
|
84
|
-
const
|
|
85
|
-
message:
|
|
86
|
-
options:
|
|
43
|
+
else if (choices.length > 1) {
|
|
44
|
+
const selected = await p.select({
|
|
45
|
+
message: "Which workspace?",
|
|
46
|
+
options: choices.map((entry) => ({ value: entry.path, label: entry.name })),
|
|
87
47
|
});
|
|
88
|
-
if (p.isCancel(
|
|
48
|
+
if (p.isCancel(selected))
|
|
89
49
|
return;
|
|
90
|
-
|
|
50
|
+
workspacePath = selected;
|
|
91
51
|
}
|
|
92
52
|
}
|
|
93
|
-
if (
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
await compileInterfaceCommand(executor, knowledgeBasePath);
|
|
53
|
+
if (!workspacePath) {
|
|
54
|
+
process.exitCode = 1;
|
|
55
|
+
console.log(chalk.red(" Could not detect a workspace. Create one first with `interf create workspace`."));
|
|
56
|
+
return;
|
|
98
57
|
}
|
|
58
|
+
await compileWorkspaceCommand(executor, workspacePath);
|
|
99
59
|
},
|
|
100
60
|
};
|
|
101
|
-
async function
|
|
102
|
-
console.log();
|
|
103
|
-
console.log(chalk.bold(" Compiling knowledge base..."));
|
|
104
|
-
const profileLabel = formatWorkflowExecutionProfile(executor.executionProfile);
|
|
105
|
-
if (profileLabel) {
|
|
106
|
-
console.log(chalk.dim(` Execution profile: ${profileLabel}`));
|
|
107
|
-
}
|
|
108
|
-
console.log();
|
|
109
|
-
const reporter = {
|
|
110
|
-
line: (message) => console.log(chalk.dim(` ${message}`)),
|
|
111
|
-
blankLine: () => console.log(),
|
|
112
|
-
};
|
|
113
|
-
const result = await compileKnowledgeBase({
|
|
114
|
-
executor,
|
|
115
|
-
knowledgeBasePath,
|
|
116
|
-
reporter,
|
|
117
|
-
});
|
|
118
|
-
if (!result.ok) {
|
|
119
|
-
process.exitCode = 1;
|
|
120
|
-
const workflowId = resolveKnowledgeBaseWorkflowFromConfig(readInterfConfig(knowledgeBasePath));
|
|
121
|
-
const failedStage = formatKnowledgeBaseWorkflowStageStep(workflowId, result.failedStage ?? "compile", { workspacePath: knowledgeBasePath });
|
|
122
|
-
console.log(chalk.red(` ${failedStage} failed.`));
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
console.log();
|
|
126
|
-
console.log(chalk.green(" ✓ Knowledge base compiled."));
|
|
127
|
-
}
|
|
128
|
-
async function compileInterfaceCommand(executor, knowledgeBasePath) {
|
|
61
|
+
async function compileWorkspaceCommand(executor, workspacePath) {
|
|
129
62
|
console.log();
|
|
130
|
-
console.log(chalk.bold("
|
|
63
|
+
console.log(chalk.bold(" Building compiled workspace..."));
|
|
131
64
|
const profileLabel = formatWorkflowExecutionProfile(executor.executionProfile);
|
|
132
65
|
if (profileLabel) {
|
|
133
66
|
console.log(chalk.dim(` Execution profile: ${profileLabel}`));
|
|
@@ -137,19 +70,19 @@ async function compileInterfaceCommand(executor, knowledgeBasePath) {
|
|
|
137
70
|
line: (message) => console.log(chalk.dim(` ${message}`)),
|
|
138
71
|
blankLine: () => console.log(),
|
|
139
72
|
};
|
|
140
|
-
const result = await
|
|
73
|
+
const result = await compileWorkspace({
|
|
141
74
|
executor,
|
|
142
|
-
|
|
75
|
+
workspacePath,
|
|
143
76
|
reporter,
|
|
144
77
|
});
|
|
145
78
|
if (!result.ok) {
|
|
146
79
|
process.exitCode = 1;
|
|
147
|
-
const workflowId =
|
|
148
|
-
const failedStage =
|
|
80
|
+
const workflowId = resolveWorkspaceWorkflowFromConfig(readInterfConfig(workspacePath));
|
|
81
|
+
const failedStage = formatWorkspaceWorkflowStageStep(workflowId, result.failedStage ?? "compile", { sourcePath: resolveSourceFolderPath(workspacePath) });
|
|
149
82
|
console.log(chalk.red(` ${failedStage} failed.`));
|
|
150
83
|
return;
|
|
151
84
|
}
|
|
152
85
|
console.log();
|
|
153
|
-
console.log(chalk.green(" ✓
|
|
86
|
+
console.log(chalk.green(" ✓ Compiled workspace ready."));
|
|
154
87
|
}
|
|
155
88
|
//# sourceMappingURL=compile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EACL,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { type InterfaceWorkflowId, type KnowledgeBaseWorkflowId } from "../lib/workflow-definitions.js";
|
|
2
|
-
import type { WorkflowTargetType } from "../lib/local-workflows.js";
|
|
3
1
|
export interface WorkflowWizardPrompts {
|
|
4
2
|
intro(message: string): void;
|
|
5
3
|
select(options: {
|
|
@@ -22,7 +20,6 @@ export interface WorkflowWizardPrompts {
|
|
|
22
20
|
};
|
|
23
21
|
}
|
|
24
22
|
export declare const clackWorkflowPrompts: WorkflowWizardPrompts;
|
|
25
|
-
export declare function selectWorkflowTargetType(prompts?: WorkflowWizardPrompts): Promise<WorkflowTargetType | symbol>;
|
|
26
23
|
export declare function formatWorkflowLabel(workflow: {
|
|
27
24
|
id: string;
|
|
28
25
|
label: string;
|
|
@@ -33,33 +30,15 @@ export declare function formatWorkflowLabel(workflow: {
|
|
|
33
30
|
label: string;
|
|
34
31
|
hint: string;
|
|
35
32
|
};
|
|
36
|
-
export declare
|
|
37
|
-
export declare function buildKnowledgeBaseWorkflowOptions(sourcePath: string): {
|
|
33
|
+
export declare function buildWorkspaceWorkflowOptions(sourcePath: string): {
|
|
38
34
|
value: string;
|
|
39
35
|
label: string;
|
|
40
36
|
hint: string;
|
|
41
37
|
}[];
|
|
42
|
-
export declare function
|
|
43
|
-
value: string;
|
|
44
|
-
label: string;
|
|
45
|
-
hint: string;
|
|
46
|
-
}[];
|
|
47
|
-
export declare function buildStandaloneInterfaceWorkflowOptions(sourcePath: string): {
|
|
48
|
-
value: string;
|
|
49
|
-
label: string;
|
|
50
|
-
hint: string;
|
|
51
|
-
}[];
|
|
52
|
-
export declare function chooseKnowledgeBaseWorkflow(sourcePath: string): Promise<KnowledgeBaseWorkflowId | symbol>;
|
|
53
|
-
export declare function chooseInterfaceWorkflow(knowledgeBasePath: string): Promise<InterfaceWorkflowId | symbol>;
|
|
38
|
+
export declare function chooseWorkspaceWorkflow(sourcePath: string): Promise<string | symbol>;
|
|
54
39
|
export declare function createWorkflowWizard(options?: {
|
|
55
40
|
intro?: boolean;
|
|
56
|
-
type?: WorkflowTargetType;
|
|
57
41
|
sourcePath?: string;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
export declare function createKnowledgeBaseWorkflowWizard(sourcePath: string, prompts?: WorkflowWizardPrompts): Promise<KnowledgeBaseWorkflowId | symbol>;
|
|
61
|
-
export declare function createInterfaceWorkflowWizard(options: {
|
|
62
|
-
sourcePath: string;
|
|
63
|
-
knowledgeBasePath?: string;
|
|
64
|
-
}, prompts?: WorkflowWizardPrompts): Promise<InterfaceWorkflowId | symbol>;
|
|
42
|
+
}, prompts?: WorkflowWizardPrompts): Promise<string | symbol>;
|
|
43
|
+
export declare function createWorkspaceWorkflowWizard(sourcePath: string, prompts?: WorkflowWizardPrompts): Promise<string | symbol>;
|
|
65
44
|
//# sourceMappingURL=create-workflow-wizard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-workflow-wizard.d.ts","sourceRoot":"","sources":["../../src/commands/create-workflow-wizard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-workflow-wizard.d.ts","sourceRoot":"","sources":["../../src/commands/create-workflow-wizard.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,OAAO,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACjE,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;KAClD,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC;IAC1C,GAAG,EAAE;QACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,CAAC;CACH;AAED,eAAO,MAAM,oBAAoB,EAAE,qBAQlC,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE;IACR,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;CAC7B,GACA;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAMhD;AAED,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,MAAM;WARpD,MAAM;WAAS,MAAM;UAAQ,MAAM;IAU9C;AAED,wBAAsB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAK1F;AAED,wBAAsB,oBAAoB,CACxC,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CAChB,EACN,OAAO,GAAE,qBAA4C,GACpD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAO1B;AAED,wBAAsB,6BAA6B,CACjD,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,qBAA4C,GACpD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CA+E1B"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
2
|
import * as p from "@clack/prompts";
|
|
3
|
-
import {
|
|
4
|
-
import { listInterfaceWorkflowChoices, listKnowledgeBaseInterfaceWorkflowChoices, listKnowledgeBaseWorkflowChoices, } from "../lib/workflow-definitions.js";
|
|
3
|
+
import { listWorkspaceWorkflowChoices, } from "../lib/workflow-definitions.js";
|
|
5
4
|
import { isWorkflowId, writeLocalWorkflowDefinition, } from "../lib/local-workflows.js";
|
|
6
5
|
import { renderJsonFrontmatter } from "../lib/parse.js";
|
|
7
6
|
import { slugify } from "../lib/util.js";
|
|
@@ -14,23 +13,6 @@ export const clackWorkflowPrompts = {
|
|
|
14
13
|
info: p.log.info,
|
|
15
14
|
},
|
|
16
15
|
};
|
|
17
|
-
export async function selectWorkflowTargetType(prompts = clackWorkflowPrompts) {
|
|
18
|
-
return prompts.select({
|
|
19
|
-
message: "Workflow type?",
|
|
20
|
-
options: [
|
|
21
|
-
{
|
|
22
|
-
value: "knowledge-base",
|
|
23
|
-
label: "Knowledge Base Workflow (Recommended)",
|
|
24
|
-
hint: "Create a reusable compile method for attached folders",
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
value: "interface",
|
|
28
|
-
label: "Interface Workflow",
|
|
29
|
-
hint: "Create a reusable task-specific method on top of a knowledge base",
|
|
30
|
-
},
|
|
31
|
-
],
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
16
|
export function formatWorkflowLabel(workflow) {
|
|
35
17
|
return {
|
|
36
18
|
value: workflow.id,
|
|
@@ -38,93 +20,26 @@ export function formatWorkflowLabel(workflow) {
|
|
|
38
20
|
hint: workflow.hint,
|
|
39
21
|
};
|
|
40
22
|
}
|
|
41
|
-
export
|
|
42
|
-
|
|
43
|
-
return [
|
|
44
|
-
...listKnowledgeBaseWorkflowChoices(sourcePath).map(formatWorkflowLabel),
|
|
45
|
-
{
|
|
46
|
-
value: CREATE_NEW_WORKFLOW_VALUE,
|
|
47
|
-
label: "Create new workflow...",
|
|
48
|
-
hint: "Answer a few questions and save a reusable local workflow under interf/workflows/",
|
|
49
|
-
},
|
|
50
|
-
];
|
|
51
|
-
}
|
|
52
|
-
export function buildInterfaceWorkflowOptions(knowledgeBasePath) {
|
|
53
|
-
const sourcePath = resolveKnowledgeBaseSourcePath(knowledgeBasePath);
|
|
54
|
-
const workflowMap = new Map();
|
|
55
|
-
for (const workflow of listKnowledgeBaseInterfaceWorkflowChoices(knowledgeBasePath)) {
|
|
56
|
-
workflowMap.set(workflow.id, workflow);
|
|
57
|
-
}
|
|
58
|
-
for (const workflow of listInterfaceWorkflowChoices(sourcePath)) {
|
|
59
|
-
if (!workflowMap.has(workflow.id))
|
|
60
|
-
workflowMap.set(workflow.id, workflow);
|
|
61
|
-
}
|
|
62
|
-
return [
|
|
63
|
-
...Array.from(workflowMap.values()).map(formatWorkflowLabel),
|
|
64
|
-
{
|
|
65
|
-
value: CREATE_NEW_WORKFLOW_VALUE,
|
|
66
|
-
label: "Create new interface workflow...",
|
|
67
|
-
hint: "Answer a few questions and save a reusable interface workflow template",
|
|
68
|
-
},
|
|
69
|
-
];
|
|
23
|
+
export function buildWorkspaceWorkflowOptions(sourcePath) {
|
|
24
|
+
return listWorkspaceWorkflowChoices(sourcePath).map(formatWorkflowLabel);
|
|
70
25
|
}
|
|
71
|
-
export function
|
|
72
|
-
return
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
value: CREATE_NEW_WORKFLOW_VALUE,
|
|
76
|
-
label: "Create new interface workflow...",
|
|
77
|
-
hint: "Answer a few questions and save a reusable interface workflow template",
|
|
78
|
-
},
|
|
79
|
-
];
|
|
80
|
-
}
|
|
81
|
-
export async function chooseKnowledgeBaseWorkflow(sourcePath) {
|
|
82
|
-
const workflowChoice = await p.select({
|
|
83
|
-
message: "Knowledge-base workflow?",
|
|
84
|
-
options: buildKnowledgeBaseWorkflowOptions(sourcePath),
|
|
85
|
-
});
|
|
86
|
-
if (p.isCancel(workflowChoice))
|
|
87
|
-
return workflowChoice;
|
|
88
|
-
if (workflowChoice === CREATE_NEW_WORKFLOW_VALUE) {
|
|
89
|
-
return createKnowledgeBaseWorkflowWizard(sourcePath);
|
|
90
|
-
}
|
|
91
|
-
return workflowChoice;
|
|
92
|
-
}
|
|
93
|
-
export async function chooseInterfaceWorkflow(knowledgeBasePath) {
|
|
94
|
-
const workflowChoice = await p.select({
|
|
95
|
-
message: "Interface workflow?",
|
|
96
|
-
options: buildInterfaceWorkflowOptions(knowledgeBasePath),
|
|
26
|
+
export async function chooseWorkspaceWorkflow(sourcePath) {
|
|
27
|
+
return p.select({
|
|
28
|
+
message: "Workspace workflow?",
|
|
29
|
+
options: buildWorkspaceWorkflowOptions(sourcePath),
|
|
97
30
|
});
|
|
98
|
-
if (p.isCancel(workflowChoice))
|
|
99
|
-
return workflowChoice;
|
|
100
|
-
if (workflowChoice === CREATE_NEW_WORKFLOW_VALUE) {
|
|
101
|
-
return createInterfaceWorkflowWizard({
|
|
102
|
-
sourcePath: resolveKnowledgeBaseSourcePath(knowledgeBasePath),
|
|
103
|
-
knowledgeBasePath,
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
return workflowChoice;
|
|
107
31
|
}
|
|
108
32
|
export async function createWorkflowWizard(options = {}, prompts = clackWorkflowPrompts) {
|
|
109
33
|
if (options.intro !== false) {
|
|
110
34
|
prompts.intro(chalk.bold("Create a workflow"));
|
|
111
35
|
}
|
|
112
|
-
const workflowType = options.type ?? await selectWorkflowTargetType(prompts);
|
|
113
|
-
if (prompts.isCancel(workflowType))
|
|
114
|
-
return workflowType;
|
|
115
36
|
const sourcePath = options.sourcePath ?? process.cwd();
|
|
116
|
-
|
|
117
|
-
return createKnowledgeBaseWorkflowWizard(sourcePath, prompts);
|
|
118
|
-
}
|
|
119
|
-
return createInterfaceWorkflowWizard({
|
|
120
|
-
sourcePath,
|
|
121
|
-
knowledgeBasePath: options.knowledgeBasePath,
|
|
122
|
-
}, prompts);
|
|
37
|
+
return createWorkspaceWorkflowWizard(sourcePath, prompts);
|
|
123
38
|
}
|
|
124
|
-
export async function
|
|
39
|
+
export async function createWorkspaceWorkflowWizard(sourcePath, prompts = clackWorkflowPrompts) {
|
|
125
40
|
const baseWorkflow = await prompts.select({
|
|
126
|
-
message: "Start from which existing
|
|
127
|
-
options:
|
|
41
|
+
message: "Start from which existing workflow?",
|
|
42
|
+
options: listWorkspaceWorkflowChoices(sourcePath).map(formatWorkflowLabel),
|
|
128
43
|
});
|
|
129
44
|
if (prompts.isCancel(baseWorkflow))
|
|
130
45
|
return baseWorkflow;
|
|
@@ -137,7 +52,7 @@ export async function createKnowledgeBaseWorkflowWizard(sourcePath, prompts = cl
|
|
|
137
52
|
const workflowId = slugify(value);
|
|
138
53
|
if (!isWorkflowId(workflowId))
|
|
139
54
|
return "Use letters, numbers, and dashes only";
|
|
140
|
-
if (
|
|
55
|
+
if (listWorkspaceWorkflowChoices(sourcePath).some((workflow) => workflow.id === workflowId)) {
|
|
141
56
|
return "That workflow name already exists";
|
|
142
57
|
}
|
|
143
58
|
return undefined;
|
|
@@ -149,7 +64,7 @@ export async function createKnowledgeBaseWorkflowWizard(sourcePath, prompts = cl
|
|
|
149
64
|
const label = rawName.trim();
|
|
150
65
|
const hint = await prompts.text({
|
|
151
66
|
message: "One-line workflow description?",
|
|
152
|
-
placeholder: "Bias toward
|
|
67
|
+
placeholder: "Bias toward evidence-backed summaries and strong retrieval structure",
|
|
153
68
|
validate: (value) => (value.trim().length === 0 ? "Description is required" : undefined),
|
|
154
69
|
});
|
|
155
70
|
if (prompts.isCancel(hint))
|
|
@@ -168,9 +83,9 @@ export async function createKnowledgeBaseWorkflowWizard(sourcePath, prompts = cl
|
|
|
168
83
|
});
|
|
169
84
|
if (prompts.isCancel(compileBias))
|
|
170
85
|
return compileBias;
|
|
171
|
-
const workflowPath = writeLocalWorkflowDefinition(sourcePath, {
|
|
86
|
+
const workflowPath = writeLocalWorkflowDefinition(sourcePath, workflowId, {
|
|
172
87
|
id: workflowId,
|
|
173
|
-
type: "
|
|
88
|
+
type: "workspace",
|
|
174
89
|
label,
|
|
175
90
|
hint: hint.trim(),
|
|
176
91
|
extends: baseWorkflow,
|
|
@@ -178,121 +93,21 @@ export async function createKnowledgeBaseWorkflowWizard(sourcePath, prompts = cl
|
|
|
178
93
|
summarize: [summarizeBias.trim()],
|
|
179
94
|
compile: [compileBias.trim()],
|
|
180
95
|
},
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
},
|
|
195
|
-
],
|
|
196
|
-
});
|
|
197
|
-
prompts.log.info(`Saved local workflow: ${workflowPath}`);
|
|
198
|
-
return workflowId;
|
|
199
|
-
}
|
|
200
|
-
export async function createInterfaceWorkflowWizard(options, prompts = clackWorkflowPrompts) {
|
|
201
|
-
const sourcePath = options.sourcePath;
|
|
202
|
-
const knowledgeBasePath = options.knowledgeBasePath;
|
|
203
|
-
const workflowOptions = knowledgeBasePath
|
|
204
|
-
? buildInterfaceWorkflowOptions(knowledgeBasePath)
|
|
205
|
-
: buildStandaloneInterfaceWorkflowOptions(sourcePath);
|
|
206
|
-
const baseWorkflow = await prompts.select({
|
|
207
|
-
message: "Start from which existing interface workflow?",
|
|
208
|
-
options: workflowOptions
|
|
209
|
-
.filter((option) => option.value !== CREATE_NEW_WORKFLOW_VALUE),
|
|
210
|
-
});
|
|
211
|
-
if (prompts.isCancel(baseWorkflow))
|
|
212
|
-
return baseWorkflow;
|
|
213
|
-
const rawName = await prompts.text({
|
|
214
|
-
message: "New workflow name?",
|
|
215
|
-
placeholder: "diligence-memo",
|
|
216
|
-
validate: (value) => {
|
|
217
|
-
if (value.trim().length === 0)
|
|
218
|
-
return "Name is required";
|
|
219
|
-
const workflowId = slugify(value);
|
|
220
|
-
if (!isWorkflowId(workflowId))
|
|
221
|
-
return "Use letters, numbers, and dashes only";
|
|
222
|
-
if (workflowOptions.some((workflow) => workflow.value === workflowId)) {
|
|
223
|
-
return "That workflow name already exists";
|
|
224
|
-
}
|
|
225
|
-
return undefined;
|
|
226
|
-
},
|
|
227
|
-
});
|
|
228
|
-
if (prompts.isCancel(rawName))
|
|
229
|
-
return rawName;
|
|
230
|
-
const workflowId = slugify(rawName);
|
|
231
|
-
const label = rawName.trim();
|
|
232
|
-
const hint = await prompts.text({
|
|
233
|
-
message: "One-line workflow description?",
|
|
234
|
-
placeholder: "Bias toward evidence-backed diligence notes and decision-ready outputs",
|
|
235
|
-
validate: (value) => (value.trim().length === 0 ? "Description is required" : undefined),
|
|
236
|
-
});
|
|
237
|
-
if (prompts.isCancel(hint))
|
|
238
|
-
return hint;
|
|
239
|
-
const placeholder = await prompts.text({
|
|
240
|
-
message: "Prompt placeholder for this interface workflow?",
|
|
241
|
-
placeholder: "What should this interface focus on for this knowledge base?",
|
|
242
|
-
validate: (value) => (value.trim().length === 0 ? "Placeholder is required" : undefined),
|
|
243
|
-
});
|
|
244
|
-
if (prompts.isCancel(placeholder))
|
|
245
|
-
return placeholder;
|
|
246
|
-
const retrieveBias = await prompts.text({
|
|
247
|
-
message: "What should retrieve emphasize?",
|
|
248
|
-
placeholder: "Current decisions, canonical docs, and materials with strong signal",
|
|
249
|
-
validate: (value) => (value.trim().length === 0 ? "Retrieve guidance is required" : undefined),
|
|
250
|
-
});
|
|
251
|
-
if (prompts.isCancel(retrieveBias))
|
|
252
|
-
return retrieveBias;
|
|
253
|
-
const analyzeBias = await prompts.text({
|
|
254
|
-
message: "What should analyze emphasize?",
|
|
255
|
-
placeholder: "Risks, contradictions, and evidence-weighted findings",
|
|
256
|
-
validate: (value) => (value.trim().length === 0 ? "Analyze guidance is required" : undefined),
|
|
257
|
-
});
|
|
258
|
-
if (prompts.isCancel(analyzeBias))
|
|
259
|
-
return analyzeBias;
|
|
260
|
-
const compileBias = await prompts.text({
|
|
261
|
-
message: "What should compile emphasize?",
|
|
262
|
-
placeholder: "Decision-ready notes, concise briefs, and linked evidence",
|
|
263
|
-
validate: (value) => (value.trim().length === 0 ? "Compile guidance is required" : undefined),
|
|
264
|
-
});
|
|
265
|
-
if (prompts.isCancel(compileBias))
|
|
266
|
-
return compileBias;
|
|
267
|
-
const workflowPath = writeLocalWorkflowDefinition(sourcePath, {
|
|
268
|
-
id: workflowId,
|
|
269
|
-
type: "interface",
|
|
270
|
-
label,
|
|
271
|
-
hint: hint.trim(),
|
|
272
|
-
extends: baseWorkflow,
|
|
273
|
-
placeholder: placeholder.trim(),
|
|
274
|
-
stage_policy_notes: {
|
|
275
|
-
retrieve: [retrieveBias.trim()],
|
|
276
|
-
analyze: [analyzeBias.trim()],
|
|
277
|
-
compile: [compileBias.trim()],
|
|
96
|
+
}, [
|
|
97
|
+
{
|
|
98
|
+
relativePath: "README.md",
|
|
99
|
+
content: [
|
|
100
|
+
renderJsonFrontmatter({ mode: "extend" }),
|
|
101
|
+
`# ${label}`,
|
|
102
|
+
"",
|
|
103
|
+
`This local workspace workflow extends \`${baseWorkflow}\`.`,
|
|
104
|
+
"",
|
|
105
|
+
`- summarize bias: ${summarizeBias.trim()}`,
|
|
106
|
+
`- compile bias: ${compileBias.trim()}`,
|
|
107
|
+
"",
|
|
108
|
+
].join("\n"),
|
|
278
109
|
},
|
|
279
|
-
|
|
280
|
-
{
|
|
281
|
-
relativePath: "README.md",
|
|
282
|
-
content: [
|
|
283
|
-
renderJsonFrontmatter({ mode: "extend" }),
|
|
284
|
-
`# ${label}`,
|
|
285
|
-
"",
|
|
286
|
-
`This local interface workflow extends \`${baseWorkflow}\`.`,
|
|
287
|
-
"",
|
|
288
|
-
`- retrieve bias: ${retrieveBias.trim()}`,
|
|
289
|
-
`- analyze bias: ${analyzeBias.trim()}`,
|
|
290
|
-
`- compile bias: ${compileBias.trim()}`,
|
|
291
|
-
"",
|
|
292
|
-
].join("\n"),
|
|
293
|
-
},
|
|
294
|
-
],
|
|
295
|
-
});
|
|
110
|
+
]);
|
|
296
111
|
prompts.log.info(`Saved local workflow: ${workflowPath}`);
|
|
297
112
|
return workflowId;
|
|
298
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-workflow-wizard.js","sourceRoot":"","sources":["../../src/commands/create-workflow-wizard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"create-workflow-wizard.js","sourceRoot":"","sources":["../../src/commands/create-workflow-wizard.ts"],"names":[],"mappings":"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"}
|