mthds 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +136 -7
- package/dist/cli.js.map +1 -1
- package/dist/commands/build.d.ts +19 -0
- package/dist/commands/build.js +128 -0
- package/dist/commands/build.js.map +1 -0
- package/dist/commands/config.d.ts +3 -0
- package/dist/commands/config.js +69 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/index.js +21 -7
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/install.js +61 -5
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/run.d.ts +11 -1
- package/dist/commands/run.js +42 -7
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/runner.d.ts +2 -0
- package/dist/commands/runner.js +59 -0
- package/dist/commands/runner.js.map +1 -0
- package/dist/commands/setup.d.ts +1 -1
- package/dist/commands/setup.js +29 -10
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/validate.d.ts +6 -0
- package/dist/commands/validate.js +41 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/config/config.d.ts +20 -0
- package/dist/config/config.js +79 -0
- package/dist/config/config.js.map +1 -0
- package/dist/runners/api-runner.d.ts +18 -0
- package/dist/runners/api-runner.js +66 -0
- package/dist/runners/api-runner.js.map +1 -0
- package/dist/runners/pipelex-runner.d.ts +13 -0
- package/dist/runners/pipelex-runner.js +159 -0
- package/dist/runners/pipelex-runner.js.map +1 -0
- package/dist/runners/registry.d.ts +2 -0
- package/dist/runners/registry.js +15 -0
- package/dist/runners/registry.js.map +1 -0
- package/dist/runners/types.d.ts +87 -0
- package/dist/runners/types.js +2 -0
- package/dist/runners/types.js.map +1 -0
- package/dist/telemetry/posthog.js +1 -1
- package/dist/telemetry/posthog.js.map +1 -1
- package/package.json +5 -1
- package/dist/config.d.ts +0 -4
- package/dist/config.js +0 -21
- package/dist/config.js.map +0 -1
- package/dist/postinstall.d.ts +0 -1
- package/dist/postinstall.js +0 -4
- package/dist/postinstall.js.map +0 -1
package/dist/cli.js
CHANGED
|
@@ -4,8 +4,16 @@ import { createRequire } from "node:module";
|
|
|
4
4
|
import * as p from "@clack/prompts";
|
|
5
5
|
import { showBanner } from "./commands/index.js";
|
|
6
6
|
import { printLogo } from "./commands/index.js";
|
|
7
|
-
import {
|
|
7
|
+
import { installRunner } from "./commands/setup.js";
|
|
8
8
|
import { installMethod } from "./commands/install.js";
|
|
9
|
+
import { configSet, configGet, configList } from "./commands/config.js";
|
|
10
|
+
import { runPipeline } from "./commands/run.js";
|
|
11
|
+
import { buildPipe, buildRunner, buildInputs, buildOutput, } from "./commands/build.js";
|
|
12
|
+
import { validatePlx } from "./commands/validate.js";
|
|
13
|
+
import { runnerSetDefault, runnerList } from "./commands/runner.js";
|
|
14
|
+
function getRunner(cmd) {
|
|
15
|
+
return cmd.optsWithGlobals().runner;
|
|
16
|
+
}
|
|
9
17
|
const require = createRequire(import.meta.url);
|
|
10
18
|
const pkg = require("../package.json");
|
|
11
19
|
const program = new Command();
|
|
@@ -13,12 +21,81 @@ program
|
|
|
13
21
|
.name("mthds")
|
|
14
22
|
.version(pkg.version)
|
|
15
23
|
.description("CLI bridge to the Pipelex runtime")
|
|
24
|
+
.option("--runner <type>", "Runner to use (api, pipelex)")
|
|
16
25
|
.exitOverride()
|
|
17
26
|
.configureOutput({
|
|
18
27
|
writeOut: () => { },
|
|
19
28
|
writeErr: () => { },
|
|
20
29
|
});
|
|
21
|
-
// mthds
|
|
30
|
+
// ── mthds run <target> ─────────────────────────────────────────────
|
|
31
|
+
program
|
|
32
|
+
.command("run")
|
|
33
|
+
.argument("<target>", "Pipe code or .plx bundle file")
|
|
34
|
+
.option("--pipe <code>", "Pipe code (when target is a bundle)")
|
|
35
|
+
.option("-i, --inputs <file>", "Path to JSON inputs file")
|
|
36
|
+
.option("-o, --output <file>", "Path to save output JSON")
|
|
37
|
+
.option("--no-output", "Skip saving output to file")
|
|
38
|
+
.option("--no-pretty-print", "Skip pretty printing the output")
|
|
39
|
+
.description("Execute a pipeline")
|
|
40
|
+
.exitOverride()
|
|
41
|
+
.action(async (target, options, cmd) => {
|
|
42
|
+
await runPipeline(target, { ...options, runner: getRunner(cmd) });
|
|
43
|
+
});
|
|
44
|
+
// ── mthds build <subcommand> ────────────────────────────────────────
|
|
45
|
+
const build = program
|
|
46
|
+
.command("build")
|
|
47
|
+
.description("Generate pipelines, runner code, inputs, and output schemas")
|
|
48
|
+
.exitOverride();
|
|
49
|
+
build
|
|
50
|
+
.command("pipe")
|
|
51
|
+
.argument("<brief>", "Natural-language description of the pipeline")
|
|
52
|
+
.option("-o, --output <file>", "Path to save the generated .plx file")
|
|
53
|
+
.description("Build a pipeline from a prompt")
|
|
54
|
+
.exitOverride()
|
|
55
|
+
.action(async (brief, options, cmd) => {
|
|
56
|
+
await buildPipe(brief, { ...options, runner: getRunner(cmd) });
|
|
57
|
+
});
|
|
58
|
+
build
|
|
59
|
+
.command("runner")
|
|
60
|
+
.argument("<target>", ".plx bundle file")
|
|
61
|
+
.option("--pipe <code>", "Pipe code to generate runner for")
|
|
62
|
+
.option("-o, --output <file>", "Path to save the generated Python file")
|
|
63
|
+
.description("Generate Python runner code for a pipe")
|
|
64
|
+
.exitOverride()
|
|
65
|
+
.action(async (target, options, cmd) => {
|
|
66
|
+
await buildRunner(target, { ...options, runner: getRunner(cmd) });
|
|
67
|
+
});
|
|
68
|
+
build
|
|
69
|
+
.command("inputs")
|
|
70
|
+
.argument("<target>", ".plx bundle file")
|
|
71
|
+
.requiredOption("--pipe <code>", "Pipe code to generate inputs for")
|
|
72
|
+
.description("Generate example input JSON for a pipe")
|
|
73
|
+
.exitOverride()
|
|
74
|
+
.action(async (target, options, cmd) => {
|
|
75
|
+
await buildInputs(target, { ...options, runner: getRunner(cmd) });
|
|
76
|
+
});
|
|
77
|
+
build
|
|
78
|
+
.command("output")
|
|
79
|
+
.argument("<target>", ".plx bundle file")
|
|
80
|
+
.requiredOption("--pipe <code>", "Pipe code to generate output for")
|
|
81
|
+
.option("--format <format>", "Output format (json, python, schema)", "schema")
|
|
82
|
+
.description("Generate output representation for a pipe")
|
|
83
|
+
.exitOverride()
|
|
84
|
+
.action(async (target, options, cmd) => {
|
|
85
|
+
await buildOutput(target, { ...options, runner: getRunner(cmd) });
|
|
86
|
+
});
|
|
87
|
+
// ── mthds validate <target> ────────────────────────────────────────
|
|
88
|
+
program
|
|
89
|
+
.command("validate")
|
|
90
|
+
.argument("<target>", ".plx bundle file or pipe code")
|
|
91
|
+
.option("--pipe <code>", "Pipe code that must exist in the bundle")
|
|
92
|
+
.option("--bundle <file>", "Bundle file path (alternative to positional)")
|
|
93
|
+
.description("Validate PLX content")
|
|
94
|
+
.exitOverride()
|
|
95
|
+
.action(async (target, options, cmd) => {
|
|
96
|
+
await validatePlx(target, { ...options, runner: getRunner(cmd) });
|
|
97
|
+
});
|
|
98
|
+
// ── mthds install <slug> ───────────────────────────────────────────
|
|
22
99
|
program
|
|
23
100
|
.command("install")
|
|
24
101
|
.argument("<slug>", "Method slug to install")
|
|
@@ -27,14 +104,60 @@ program
|
|
|
27
104
|
.action(async (slug) => {
|
|
28
105
|
await installMethod(slug);
|
|
29
106
|
});
|
|
30
|
-
// mthds setup
|
|
107
|
+
// ── mthds setup runner <name> ──────────────────────────────────────
|
|
31
108
|
const setup = program.command("setup").exitOverride();
|
|
32
109
|
setup
|
|
33
|
-
.command("
|
|
34
|
-
.description("Install a
|
|
110
|
+
.command("runner <name>")
|
|
111
|
+
.description("Install a runner (e.g. pipelex)")
|
|
112
|
+
.exitOverride()
|
|
113
|
+
.action(async (name) => {
|
|
114
|
+
await installRunner(name);
|
|
115
|
+
});
|
|
116
|
+
// ── mthds runner set-default|list ───────────────────────────────────
|
|
117
|
+
const runnerCmd = program
|
|
118
|
+
.command("runner")
|
|
119
|
+
.description("Manage runners")
|
|
120
|
+
.exitOverride();
|
|
121
|
+
runnerCmd
|
|
122
|
+
.command("set-default")
|
|
123
|
+
.argument("<name>", "Runner name (api, pipelex)")
|
|
124
|
+
.description("Set the default runner")
|
|
35
125
|
.exitOverride()
|
|
36
126
|
.action(async (name) => {
|
|
37
|
-
await
|
|
127
|
+
await runnerSetDefault(name);
|
|
128
|
+
});
|
|
129
|
+
runnerCmd
|
|
130
|
+
.command("list")
|
|
131
|
+
.description("List available runners")
|
|
132
|
+
.exitOverride()
|
|
133
|
+
.action(async () => {
|
|
134
|
+
await runnerList();
|
|
135
|
+
});
|
|
136
|
+
// ── mthds config set|get|list ──────────────────────────────────────
|
|
137
|
+
const config = program.command("config").description("Manage configuration").exitOverride();
|
|
138
|
+
config
|
|
139
|
+
.command("set")
|
|
140
|
+
.argument("<key>", "Config key (runner, api-url, api-key)")
|
|
141
|
+
.argument("<value>", "Value to set")
|
|
142
|
+
.description("Set a config value")
|
|
143
|
+
.exitOverride()
|
|
144
|
+
.action(async (key, value) => {
|
|
145
|
+
await configSet(key, value);
|
|
146
|
+
});
|
|
147
|
+
config
|
|
148
|
+
.command("get")
|
|
149
|
+
.argument("<key>", "Config key (runner, api-url, api-key)")
|
|
150
|
+
.description("Get a config value")
|
|
151
|
+
.exitOverride()
|
|
152
|
+
.action(async (key) => {
|
|
153
|
+
await configGet(key);
|
|
154
|
+
});
|
|
155
|
+
config
|
|
156
|
+
.command("list")
|
|
157
|
+
.description("List all config values")
|
|
158
|
+
.exitOverride()
|
|
159
|
+
.action(async () => {
|
|
160
|
+
await configList();
|
|
38
161
|
});
|
|
39
162
|
// Default: show banner
|
|
40
163
|
program.action(() => {
|
|
@@ -53,7 +176,13 @@ program.parseAsync(process.argv).catch((err) => {
|
|
|
53
176
|
.replace(/^Error: /, "");
|
|
54
177
|
p.log.error(message);
|
|
55
178
|
if (err.code === "commander.missingArgument") {
|
|
56
|
-
|
|
179
|
+
const args = process.argv.slice(2);
|
|
180
|
+
if (args.includes("runner") && args.includes("set-default")) {
|
|
181
|
+
p.log.info("Run mthds runner list to see available runners.");
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
p.log.info("Run mthds --help to see usage.");
|
|
185
|
+
}
|
|
57
186
|
}
|
|
58
187
|
p.outro("");
|
|
59
188
|
process.exit(1);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { RunnerType } from "../runners/types.js";
|
|
2
|
+
interface WithRunner {
|
|
3
|
+
runner?: RunnerType;
|
|
4
|
+
}
|
|
5
|
+
export declare function buildPipe(brief: string, options: {
|
|
6
|
+
output?: string;
|
|
7
|
+
} & WithRunner): Promise<void>;
|
|
8
|
+
export declare function buildRunner(target: string, options: {
|
|
9
|
+
pipe?: string;
|
|
10
|
+
output?: string;
|
|
11
|
+
} & WithRunner): Promise<void>;
|
|
12
|
+
export declare function buildInputs(target: string, options: {
|
|
13
|
+
pipe: string;
|
|
14
|
+
} & WithRunner): Promise<void>;
|
|
15
|
+
export declare function buildOutput(target: string, options: {
|
|
16
|
+
pipe: string;
|
|
17
|
+
format?: string;
|
|
18
|
+
} & WithRunner): Promise<void>;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { readFileSync, writeFileSync } from "node:fs";
|
|
2
|
+
import * as p from "@clack/prompts";
|
|
3
|
+
import { printLogo } from "./index.js";
|
|
4
|
+
import { createRunner } from "../runners/registry.js";
|
|
5
|
+
// ── mthds build pipe "PROMPT" [-o file] ─────────────────────────────
|
|
6
|
+
export async function buildPipe(brief, options) {
|
|
7
|
+
printLogo();
|
|
8
|
+
p.intro("mthds build pipe");
|
|
9
|
+
const runner = createRunner(options.runner);
|
|
10
|
+
const s = p.spinner();
|
|
11
|
+
s.start("Building pipeline...");
|
|
12
|
+
try {
|
|
13
|
+
const result = await runner.buildPipe({ brief });
|
|
14
|
+
s.stop(result.message);
|
|
15
|
+
if (options.output) {
|
|
16
|
+
writeFileSync(options.output, result.plx_content, "utf-8");
|
|
17
|
+
p.log.success(`PLX written to ${options.output}`);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
p.log.info(result.plx_content);
|
|
21
|
+
}
|
|
22
|
+
p.outro("Done");
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
s.stop("Build failed.");
|
|
26
|
+
p.log.error(err.message);
|
|
27
|
+
p.outro("");
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
// ── mthds build runner <target> [--pipe code] [-o file] ─────────────
|
|
32
|
+
export async function buildRunner(target, options) {
|
|
33
|
+
printLogo();
|
|
34
|
+
p.intro("mthds build runner");
|
|
35
|
+
const runner = createRunner(options.runner);
|
|
36
|
+
const isBundle = target.endsWith(".plx");
|
|
37
|
+
let plxContent;
|
|
38
|
+
let pipeCode;
|
|
39
|
+
if (isBundle) {
|
|
40
|
+
plxContent = readFileSync(target, "utf-8");
|
|
41
|
+
if (!options.pipe) {
|
|
42
|
+
p.log.error("--pipe is required when passing a .plx bundle.");
|
|
43
|
+
p.outro("");
|
|
44
|
+
process.exit(1);
|
|
45
|
+
}
|
|
46
|
+
pipeCode = options.pipe;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
// target is a pipe code — we still need plx content
|
|
50
|
+
p.log.error("build runner requires a .plx bundle file. Pass the bundle path as the target.");
|
|
51
|
+
p.outro("");
|
|
52
|
+
process.exit(1);
|
|
53
|
+
return; // unreachable, keeps TS happy
|
|
54
|
+
}
|
|
55
|
+
const s = p.spinner();
|
|
56
|
+
s.start("Generating runner code...");
|
|
57
|
+
try {
|
|
58
|
+
const result = await runner.buildRunner({
|
|
59
|
+
plx_content: plxContent,
|
|
60
|
+
pipe_code: pipeCode,
|
|
61
|
+
});
|
|
62
|
+
s.stop(result.message);
|
|
63
|
+
if (options.output) {
|
|
64
|
+
writeFileSync(options.output, result.python_code, "utf-8");
|
|
65
|
+
p.log.success(`Runner written to ${options.output}`);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
p.log.info(result.python_code);
|
|
69
|
+
}
|
|
70
|
+
p.outro("Done");
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
s.stop("Build failed.");
|
|
74
|
+
p.log.error(err.message);
|
|
75
|
+
p.outro("");
|
|
76
|
+
process.exit(1);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// ── mthds build inputs <bundle.plx> --pipe <code> ───────────────────
|
|
80
|
+
export async function buildInputs(target, options) {
|
|
81
|
+
printLogo();
|
|
82
|
+
p.intro("mthds build inputs");
|
|
83
|
+
const runner = createRunner(options.runner);
|
|
84
|
+
const plxContent = readFileSync(target, "utf-8");
|
|
85
|
+
const s = p.spinner();
|
|
86
|
+
s.start("Generating example inputs...");
|
|
87
|
+
try {
|
|
88
|
+
const result = await runner.buildInputs({
|
|
89
|
+
plx_content: plxContent,
|
|
90
|
+
pipe_code: options.pipe,
|
|
91
|
+
});
|
|
92
|
+
s.stop("Inputs generated.");
|
|
93
|
+
p.log.info(JSON.stringify(result, null, 2));
|
|
94
|
+
p.outro("Done");
|
|
95
|
+
}
|
|
96
|
+
catch (err) {
|
|
97
|
+
s.stop("Build failed.");
|
|
98
|
+
p.log.error(err.message);
|
|
99
|
+
p.outro("");
|
|
100
|
+
process.exit(1);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
// ── mthds build output <bundle.plx> --pipe <code> [--format] ────────
|
|
104
|
+
export async function buildOutput(target, options) {
|
|
105
|
+
printLogo();
|
|
106
|
+
p.intro("mthds build output");
|
|
107
|
+
const runner = createRunner(options.runner);
|
|
108
|
+
const plxContent = readFileSync(target, "utf-8");
|
|
109
|
+
const s = p.spinner();
|
|
110
|
+
s.start("Generating output schema...");
|
|
111
|
+
try {
|
|
112
|
+
const result = await runner.buildOutput({
|
|
113
|
+
plx_content: plxContent,
|
|
114
|
+
pipe_code: options.pipe,
|
|
115
|
+
format: options.format ?? "schema",
|
|
116
|
+
});
|
|
117
|
+
s.stop("Output generated.");
|
|
118
|
+
p.log.info(JSON.stringify(result, null, 2));
|
|
119
|
+
p.outro("Done");
|
|
120
|
+
}
|
|
121
|
+
catch (err) {
|
|
122
|
+
s.stop("Build failed.");
|
|
123
|
+
p.log.error(err.message);
|
|
124
|
+
p.outro("");
|
|
125
|
+
process.exit(1);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import * as p from "@clack/prompts";
|
|
2
|
+
import { printLogo } from "./index.js";
|
|
3
|
+
import { VALID_KEYS, resolveKey, getConfigValue, setConfigValue, listConfig, } from "../config/config.js";
|
|
4
|
+
const VALID_RUNNERS = ["api", "pipelex"];
|
|
5
|
+
function isValidUrl(s) {
|
|
6
|
+
try {
|
|
7
|
+
new URL(s);
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
catch {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export async function configSet(cliKey, value) {
|
|
15
|
+
printLogo();
|
|
16
|
+
p.intro("mthds config set");
|
|
17
|
+
const configKey = resolveKey(cliKey);
|
|
18
|
+
if (!configKey) {
|
|
19
|
+
p.log.error(`Unknown config key: ${cliKey}`);
|
|
20
|
+
p.log.info(`Valid keys: ${VALID_KEYS.join(", ")}`);
|
|
21
|
+
p.outro("");
|
|
22
|
+
process.exit(1);
|
|
23
|
+
}
|
|
24
|
+
// Validate value
|
|
25
|
+
if (configKey === "runner" && !VALID_RUNNERS.includes(value)) {
|
|
26
|
+
p.log.error(`Invalid runner: ${value}`);
|
|
27
|
+
p.log.info(`Valid runners: ${VALID_RUNNERS.join(", ")}`);
|
|
28
|
+
p.outro("");
|
|
29
|
+
process.exit(1);
|
|
30
|
+
}
|
|
31
|
+
if (configKey === "apiUrl" && !isValidUrl(value)) {
|
|
32
|
+
p.log.error(`Invalid URL: ${value}`);
|
|
33
|
+
p.outro("");
|
|
34
|
+
process.exit(1);
|
|
35
|
+
}
|
|
36
|
+
setConfigValue(configKey, value);
|
|
37
|
+
p.log.success(`${cliKey} = ${value}`);
|
|
38
|
+
p.outro("");
|
|
39
|
+
}
|
|
40
|
+
export async function configGet(cliKey) {
|
|
41
|
+
printLogo();
|
|
42
|
+
p.intro("mthds config get");
|
|
43
|
+
const configKey = resolveKey(cliKey);
|
|
44
|
+
if (!configKey) {
|
|
45
|
+
p.log.error(`Unknown config key: ${cliKey}`);
|
|
46
|
+
p.log.info(`Valid keys: ${VALID_KEYS.join(", ")}`);
|
|
47
|
+
p.outro("");
|
|
48
|
+
process.exit(1);
|
|
49
|
+
}
|
|
50
|
+
const { value, source } = getConfigValue(configKey);
|
|
51
|
+
const sourceLabel = source === "env" ? " (from env)" : source === "default" ? " (default)" : "";
|
|
52
|
+
p.log.info(`${cliKey} = ${value}${sourceLabel}`);
|
|
53
|
+
p.outro("");
|
|
54
|
+
}
|
|
55
|
+
export async function configList() {
|
|
56
|
+
printLogo();
|
|
57
|
+
p.intro("mthds config list");
|
|
58
|
+
const entries = listConfig();
|
|
59
|
+
for (const entry of entries) {
|
|
60
|
+
const sourceLabel = entry.source === "env"
|
|
61
|
+
? " (from env)"
|
|
62
|
+
: entry.source === "default"
|
|
63
|
+
? " (default)"
|
|
64
|
+
: "";
|
|
65
|
+
p.log.info(`${entry.cliKey} = ${entry.value}${sourceLabel}`);
|
|
66
|
+
}
|
|
67
|
+
p.outro("");
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/index.js
CHANGED
|
@@ -30,14 +30,28 @@ export function showBanner() {
|
|
|
30
30
|
console.log(chalk.dim(` v${version}\n`));
|
|
31
31
|
console.log(chalk.bold(" Usage:"));
|
|
32
32
|
console.log(` ${chalk.green("mthds")} ${chalk.yellow("<command>")} [options]\n`);
|
|
33
|
-
console.log(chalk.bold("
|
|
34
|
-
console.log(` ${chalk.yellow("
|
|
35
|
-
console.log(` ${chalk.yellow("
|
|
36
|
-
console.log(` ${chalk.yellow("
|
|
37
|
-
console.log(` ${chalk.yellow("
|
|
33
|
+
console.log(chalk.bold(" Pipeline:"));
|
|
34
|
+
console.log(` ${chalk.yellow("run <target>")} Execute a pipeline`);
|
|
35
|
+
console.log(` ${chalk.yellow("build pipe <brief>")} Build a pipeline from a prompt`);
|
|
36
|
+
console.log(` ${chalk.yellow("build runner <bundle>")} Generate Python runner code`);
|
|
37
|
+
console.log(` ${chalk.yellow("build inputs <bundle>")} Generate example input JSON`);
|
|
38
|
+
console.log(` ${chalk.yellow("build output <bundle>")} Generate output schema`);
|
|
39
|
+
console.log(` ${chalk.yellow("validate <target>")} Validate PLX content\n`);
|
|
40
|
+
console.log(chalk.bold(" Runners:"));
|
|
41
|
+
console.log(` ${chalk.yellow("setup runner <name>")} Install a runner`);
|
|
42
|
+
console.log(` ${chalk.yellow("runner set-default <name>")} Set the default runner`);
|
|
43
|
+
console.log(` ${chalk.yellow("runner list")} List available runners\n`);
|
|
44
|
+
console.log(chalk.bold(" Setup:"));
|
|
45
|
+
console.log(` ${chalk.yellow("install <slug>")} Install a method`);
|
|
46
|
+
console.log(` ${chalk.yellow("config set <key> <val>")} Set a config value`);
|
|
47
|
+
console.log(` ${chalk.yellow("config get <key>")} Get a config value`);
|
|
48
|
+
console.log(` ${chalk.yellow("config list")} List all config values\n`);
|
|
38
49
|
console.log(chalk.bold(" Examples:"));
|
|
39
|
-
console.log(` ${chalk.dim("$")} mthds
|
|
40
|
-
console.log(` ${chalk.dim("$")} mthds
|
|
50
|
+
console.log(` ${chalk.dim("$")} mthds run hello_world`);
|
|
51
|
+
console.log(` ${chalk.dim("$")} mthds run my_bundle.plx --inputs data.json`);
|
|
52
|
+
console.log(` ${chalk.dim("$")} mthds build pipe "Analyze a CV against a job offer"`);
|
|
53
|
+
console.log(` ${chalk.dim("$")} mthds validate my_bundle.plx`);
|
|
54
|
+
console.log(` ${chalk.dim("$")} mthds install my-method-slug\n`);
|
|
41
55
|
console.log(chalk.dim(" Docs: https://pipelex.dev/docs\n"));
|
|
42
56
|
console.log(chalk.bold(" Telemetry:"));
|
|
43
57
|
console.log(chalk.dim(" Anonymous usage data (method slug + timestamp) is collected\n to help rank methods. No personal info is collected.\n Opt out: DISABLE_TELEMETRY=1\n"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAwB,CAAC;QACjE,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,IAAI,GAAG;IACX,4CAA4C;IAC5C,+CAA+C;IAC/C,mDAAmD;IACnD,8CAA8C;IAC9C,iDAAiD;CAClD,CAAC;AAEF,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,SAAS,EAAE,CAAC;IACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,OAAO,IAAI,CAAC,CAAC,CAAC;IAE1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAEpF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/install.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { join } from "node:path";
|
|
2
2
|
import { homedir } from "node:os";
|
|
3
3
|
import { mkdirSync } from "node:fs";
|
|
4
|
+
import { exec } from "node:child_process";
|
|
5
|
+
import { promisify } from "node:util";
|
|
6
|
+
const execAsync = promisify(exec);
|
|
4
7
|
import * as p from "@clack/prompts";
|
|
8
|
+
import chalk from "chalk";
|
|
5
9
|
import { isPipelexInstalled } from "../runtime/check.js";
|
|
6
10
|
import { ensureRuntime } from "../runtime/installer.js";
|
|
7
11
|
import { trackMethodInstall, shutdown } from "../telemetry/posthog.js";
|
|
@@ -68,16 +72,16 @@ export async function installMethod(slug) {
|
|
|
68
72
|
p.cancel("Installation cancelled.");
|
|
69
73
|
process.exit(0);
|
|
70
74
|
}
|
|
71
|
-
// Step 3: Optional
|
|
72
|
-
const
|
|
73
|
-
message: "Do you want to install
|
|
75
|
+
// Step 3: Optional runner install
|
|
76
|
+
const wantsRunner = await p.confirm({
|
|
77
|
+
message: "Do you want to install the runner now? (optional)",
|
|
74
78
|
initialValue: false,
|
|
75
79
|
});
|
|
76
|
-
if (p.isCancel(
|
|
80
|
+
if (p.isCancel(wantsRunner)) {
|
|
77
81
|
p.cancel("Installation cancelled.");
|
|
78
82
|
process.exit(0);
|
|
79
83
|
}
|
|
80
|
-
if (
|
|
84
|
+
if (wantsRunner) {
|
|
81
85
|
if (!isPipelexInstalled()) {
|
|
82
86
|
await ensureRuntime();
|
|
83
87
|
p.log.success("pipelex installed.");
|
|
@@ -98,6 +102,58 @@ export async function installMethod(slug) {
|
|
|
98
102
|
location: selectedLocation,
|
|
99
103
|
targetDir,
|
|
100
104
|
});
|
|
105
|
+
// Step 5: Optional Pipelex skills
|
|
106
|
+
const SKILLS_REPO = "https://github.com/pipelex/skills";
|
|
107
|
+
const skillChoices = [
|
|
108
|
+
{ value: "check", label: "check", hint: "Validate and review Pipelex workflow bundles without making changes" },
|
|
109
|
+
{ value: "edit", label: "edit", hint: "Modify existing Pipelex workflow bundles" },
|
|
110
|
+
{ value: "build", label: "build", hint: "Create new Pipelex workflow bundles from scratch" },
|
|
111
|
+
{ value: "fix", label: "fix", hint: "Automatically fix issues in Pipelex workflow bundles" },
|
|
112
|
+
];
|
|
113
|
+
let selectedSkills = [];
|
|
114
|
+
let emptyAttempts = 0;
|
|
115
|
+
// eslint-disable-next-line no-constant-condition
|
|
116
|
+
while (true) {
|
|
117
|
+
const hint = emptyAttempts > 0
|
|
118
|
+
? chalk.yellow(" press space to select, enter to confirm")
|
|
119
|
+
: chalk.dim(" press space to select, enter to confirm");
|
|
120
|
+
const result = await p.multiselect({
|
|
121
|
+
message: `Which Pipelex skills do you want to install?\n${hint}`,
|
|
122
|
+
options: skillChoices,
|
|
123
|
+
required: false,
|
|
124
|
+
});
|
|
125
|
+
if (p.isCancel(result)) {
|
|
126
|
+
p.cancel("Installation cancelled.");
|
|
127
|
+
process.exit(0);
|
|
128
|
+
}
|
|
129
|
+
if (result.length === 0) {
|
|
130
|
+
emptyAttempts++;
|
|
131
|
+
if (emptyAttempts >= 2) {
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
selectedSkills = result;
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
if (selectedSkills.length > 0) {
|
|
140
|
+
const globalFlag = selectedLocation === Loc.Global ? " -g" : "";
|
|
141
|
+
const locationLabel = selectedLocation === Loc.Global ? "globally" : "locally";
|
|
142
|
+
const sk = p.spinner();
|
|
143
|
+
for (const skill of selectedSkills) {
|
|
144
|
+
sk.start(`Installing skill "${skill}" ${locationLabel}...`);
|
|
145
|
+
try {
|
|
146
|
+
await execAsync(`npx skills add ${SKILLS_REPO} --skill ${skill} --agent ${selectedAgent}${globalFlag} -y`, {
|
|
147
|
+
cwd: process.cwd(),
|
|
148
|
+
});
|
|
149
|
+
sk.stop(`Skill "${skill}" installed ${locationLabel}.`);
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
sk.stop(`Failed to install skill "${skill}".`);
|
|
153
|
+
p.log.warning(`Could not install skill "${skill}". You can retry manually:\n npx skills add ${SKILLS_REPO} --skill ${skill} --agent ${selectedAgent}${globalFlag}`);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
101
157
|
p.outro("Done");
|
|
102
158
|
await shutdown();
|
|
103
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/run.d.ts
CHANGED
|
@@ -1 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
import type { RunnerType } from "../runners/types.js";
|
|
2
|
+
interface RunOptions {
|
|
3
|
+
pipe?: string;
|
|
4
|
+
inputs?: string;
|
|
5
|
+
output?: string;
|
|
6
|
+
noOutput?: boolean;
|
|
7
|
+
noPrettyPrint?: boolean;
|
|
8
|
+
runner?: RunnerType;
|
|
9
|
+
}
|
|
10
|
+
export declare function runPipeline(target: string, options: RunOptions): Promise<void>;
|
|
11
|
+
export {};
|