mthds 0.0.6 → 0.0.8

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.
Files changed (239) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +51 -11
  3. package/dist/agent/commands/build.d.ts +35 -0
  4. package/dist/agent/commands/build.js +334 -0
  5. package/dist/agent/commands/build.js.map +1 -0
  6. package/dist/agent/commands/config.d.ts +6 -0
  7. package/dist/agent/commands/config.js +50 -0
  8. package/dist/agent/commands/config.js.map +1 -0
  9. package/dist/agent/commands/install.d.ts +14 -0
  10. package/dist/agent/commands/install.js +178 -0
  11. package/dist/agent/commands/install.js.map +1 -0
  12. package/dist/agent/commands/pipelex.d.ts +7 -0
  13. package/dist/agent/commands/pipelex.js +56 -0
  14. package/dist/agent/commands/pipelex.js.map +1 -0
  15. package/dist/agent/commands/plxt.d.ts +7 -0
  16. package/dist/agent/commands/plxt.js +27 -0
  17. package/dist/agent/commands/plxt.js.map +1 -0
  18. package/dist/agent/commands/validate.d.ts +15 -0
  19. package/dist/agent/commands/validate.js +118 -0
  20. package/dist/agent/commands/validate.js.map +1 -0
  21. package/dist/agent/output.d.ts +25 -0
  22. package/dist/agent/output.js +51 -0
  23. package/dist/agent/output.js.map +1 -0
  24. package/dist/agent/passthrough.d.ts +5 -0
  25. package/dist/agent/passthrough.js +19 -0
  26. package/dist/agent/passthrough.js.map +1 -0
  27. package/dist/agent-cli.d.ts +8 -0
  28. package/dist/agent-cli.js +237 -0
  29. package/dist/agent-cli.js.map +1 -0
  30. package/dist/cli/commands/build.d.ts +31 -0
  31. package/dist/cli/commands/build.js +305 -0
  32. package/dist/cli/commands/build.js.map +1 -0
  33. package/dist/{commands → cli/commands}/config.js +4 -4
  34. package/dist/cli/commands/config.js.map +1 -0
  35. package/dist/{commands → cli/commands}/index.js +20 -18
  36. package/dist/cli/commands/index.js.map +1 -0
  37. package/dist/cli/commands/install.js +275 -0
  38. package/dist/cli/commands/install.js.map +1 -0
  39. package/dist/cli/commands/package/add.d.ts +6 -0
  40. package/dist/cli/commands/package/add.js +9 -0
  41. package/dist/cli/commands/package/add.js.map +1 -0
  42. package/dist/cli/commands/package/init.d.ts +3 -0
  43. package/dist/cli/commands/package/init.js +108 -0
  44. package/dist/cli/commands/package/init.js.map +1 -0
  45. package/dist/cli/commands/package/install.d.ts +3 -0
  46. package/dist/cli/commands/package/install.js +97 -0
  47. package/dist/cli/commands/package/install.js.map +1 -0
  48. package/dist/cli/commands/package/list.d.ts +3 -0
  49. package/dist/cli/commands/package/list.js +58 -0
  50. package/dist/cli/commands/package/list.js.map +1 -0
  51. package/dist/cli/commands/package/lock.d.ts +3 -0
  52. package/dist/cli/commands/package/lock.js +37 -0
  53. package/dist/cli/commands/package/lock.js.map +1 -0
  54. package/dist/cli/commands/package/update.d.ts +3 -0
  55. package/dist/cli/commands/package/update.js +35 -0
  56. package/dist/cli/commands/package/update.js.map +1 -0
  57. package/dist/cli/commands/package/validate.d.ts +3 -0
  58. package/dist/cli/commands/package/validate.js +76 -0
  59. package/dist/cli/commands/package/validate.js.map +1 -0
  60. package/dist/cli/commands/run.d.ts +12 -0
  61. package/dist/cli/commands/run.js +95 -0
  62. package/dist/cli/commands/run.js.map +1 -0
  63. package/dist/cli/commands/setup.d.ts +3 -0
  64. package/dist/cli/commands/setup.js +168 -0
  65. package/dist/cli/commands/setup.js.map +1 -0
  66. package/dist/cli/commands/utils.d.ts +9 -0
  67. package/dist/cli/commands/utils.js +34 -0
  68. package/dist/cli/commands/utils.js.map +1 -0
  69. package/dist/cli/commands/validate.d.ts +10 -0
  70. package/dist/cli/commands/validate.js +93 -0
  71. package/dist/cli/commands/validate.js.map +1 -0
  72. package/dist/cli.js +276 -99
  73. package/dist/cli.js.map +1 -1
  74. package/dist/client/client.js +2 -2
  75. package/dist/client/client.js.map +1 -1
  76. package/dist/config/config.d.ts +5 -20
  77. package/dist/config/config.js +5 -78
  78. package/dist/config/config.js.map +1 -1
  79. package/dist/config/credentials.d.ts +25 -0
  80. package/dist/config/credentials.js +230 -0
  81. package/dist/config/credentials.js.map +1 -0
  82. package/dist/installer/agents/registry.d.ts +12 -0
  83. package/dist/installer/agents/registry.js +78 -0
  84. package/dist/installer/agents/registry.js.map +1 -0
  85. package/dist/installer/agents/types.d.ts +16 -0
  86. package/dist/installer/agents/types.js +6 -0
  87. package/dist/installer/agents/types.js.map +1 -0
  88. package/dist/installer/resolver/address.d.ts +2 -0
  89. package/dist/installer/resolver/address.js.map +1 -0
  90. package/dist/{resolver → installer/resolver}/github.d.ts +1 -1
  91. package/dist/{resolver → installer/resolver}/github.js +2 -2
  92. package/dist/installer/resolver/github.js.map +1 -0
  93. package/dist/installer/resolver/index.d.ts +6 -0
  94. package/dist/{resolver → installer/resolver}/index.js +1 -1
  95. package/dist/installer/resolver/index.js.map +1 -0
  96. package/dist/{resolver → installer/resolver}/local.d.ts +1 -1
  97. package/dist/{resolver → installer/resolver}/local.js +2 -2
  98. package/dist/installer/resolver/local.js.map +1 -0
  99. package/dist/installer/runtime/check.js.map +1 -0
  100. package/dist/installer/runtime/installer.js.map +1 -0
  101. package/dist/installer/runtime/spawn.js.map +1 -0
  102. package/dist/{telemetry → installer/telemetry}/posthog.d.ts +2 -5
  103. package/dist/installer/telemetry/posthog.js +55 -0
  104. package/dist/installer/telemetry/posthog.js.map +1 -0
  105. package/dist/package/bundle-metadata.d.ts +8 -0
  106. package/dist/package/bundle-metadata.js +2 -0
  107. package/dist/package/bundle-metadata.js.map +1 -0
  108. package/dist/package/bundle-scanner.d.ts +18 -0
  109. package/dist/package/bundle-scanner.js +77 -0
  110. package/dist/package/bundle-scanner.js.map +1 -0
  111. package/dist/package/dependency-resolver.d.ts +32 -0
  112. package/dist/package/dependency-resolver.js +298 -0
  113. package/dist/package/dependency-resolver.js.map +1 -0
  114. package/dist/package/discovery.d.ts +9 -0
  115. package/dist/package/discovery.js +32 -0
  116. package/dist/package/discovery.js.map +1 -0
  117. package/dist/package/exceptions.d.ts +36 -0
  118. package/dist/package/exceptions.js +73 -0
  119. package/dist/package/exceptions.js.map +1 -0
  120. package/dist/package/lock-file.d.ts +27 -0
  121. package/dist/package/lock-file.js +137 -0
  122. package/dist/package/lock-file.js.map +1 -0
  123. package/dist/package/manifest/convert.d.ts +14 -0
  124. package/dist/package/manifest/convert.js +83 -0
  125. package/dist/package/manifest/convert.js.map +1 -0
  126. package/dist/package/manifest/parser.d.ts +9 -0
  127. package/dist/package/manifest/parser.js +261 -0
  128. package/dist/package/manifest/parser.js.map +1 -0
  129. package/dist/package/manifest/schema.d.ts +71 -0
  130. package/dist/package/manifest/schema.js +73 -0
  131. package/dist/package/manifest/schema.js.map +1 -0
  132. package/dist/{resolver → package/manifest}/types.d.ts +2 -5
  133. package/dist/{resolver → package/manifest}/types.js.map +1 -1
  134. package/dist/{resolver → package/manifest}/validate.js +25 -20
  135. package/dist/package/manifest/validate.js.map +1 -0
  136. package/dist/package/manifest/validation.d.ts +10 -0
  137. package/dist/package/manifest/validation.js +34 -0
  138. package/dist/package/manifest/validation.js.map +1 -0
  139. package/dist/package/package-cache.d.ts +24 -0
  140. package/dist/package/package-cache.js +92 -0
  141. package/dist/package/package-cache.js.map +1 -0
  142. package/dist/package/qualified-ref.d.ts +41 -0
  143. package/dist/package/qualified-ref.js +105 -0
  144. package/dist/package/qualified-ref.js.map +1 -0
  145. package/dist/package/semver.d.ts +33 -0
  146. package/dist/package/semver.js +77 -0
  147. package/dist/package/semver.js.map +1 -0
  148. package/dist/package/vcs-resolver.d.ts +19 -0
  149. package/dist/package/vcs-resolver.js +115 -0
  150. package/dist/package/vcs-resolver.js.map +1 -0
  151. package/dist/package/visibility.d.ts +25 -0
  152. package/dist/package/visibility.js +132 -0
  153. package/dist/package/visibility.js.map +1 -0
  154. package/dist/runners/api-runner.d.ts +3 -0
  155. package/dist/runners/api-runner.js +9 -1
  156. package/dist/runners/api-runner.js.map +1 -1
  157. package/dist/runners/pipelex-runner.d.ts +16 -2
  158. package/dist/runners/pipelex-runner.js +155 -41
  159. package/dist/runners/pipelex-runner.js.map +1 -1
  160. package/dist/runners/registry.d.ts +1 -1
  161. package/dist/runners/registry.js +5 -4
  162. package/dist/runners/registry.js.map +1 -1
  163. package/dist/runners/types.d.ts +17 -10
  164. package/dist/runners/types.js +6 -1
  165. package/dist/runners/types.js.map +1 -1
  166. package/package.json +7 -4
  167. package/dist/agents/claude-code.d.ts +0 -2
  168. package/dist/agents/claude-code.js +0 -36
  169. package/dist/agents/claude-code.js.map +0 -1
  170. package/dist/agents/cursor.d.ts +0 -2
  171. package/dist/agents/cursor.js +0 -11
  172. package/dist/agents/cursor.js.map +0 -1
  173. package/dist/agents/github-copilot.d.ts +0 -2
  174. package/dist/agents/github-copilot.js +0 -11
  175. package/dist/agents/github-copilot.js.map +0 -1
  176. package/dist/agents/registry.d.ts +0 -4
  177. package/dist/agents/registry.js +0 -24
  178. package/dist/agents/registry.js.map +0 -1
  179. package/dist/agents/types.d.ts +0 -25
  180. package/dist/agents/types.js +0 -11
  181. package/dist/agents/types.js.map +0 -1
  182. package/dist/agents/windsurf.d.ts +0 -2
  183. package/dist/agents/windsurf.js +0 -11
  184. package/dist/agents/windsurf.js.map +0 -1
  185. package/dist/commands/build.d.ts +0 -19
  186. package/dist/commands/build.js +0 -128
  187. package/dist/commands/build.js.map +0 -1
  188. package/dist/commands/config.js.map +0 -1
  189. package/dist/commands/index.js.map +0 -1
  190. package/dist/commands/install.js +0 -252
  191. package/dist/commands/install.js.map +0 -1
  192. package/dist/commands/run.d.ts +0 -11
  193. package/dist/commands/run.js +0 -44
  194. package/dist/commands/run.js.map +0 -1
  195. package/dist/commands/runner.d.ts +0 -2
  196. package/dist/commands/runner.js +0 -59
  197. package/dist/commands/runner.js.map +0 -1
  198. package/dist/commands/setup.d.ts +0 -1
  199. package/dist/commands/setup.js +0 -45
  200. package/dist/commands/setup.js.map +0 -1
  201. package/dist/commands/telemetry.d.ts +0 -3
  202. package/dist/commands/telemetry.js +0 -49
  203. package/dist/commands/telemetry.js.map +0 -1
  204. package/dist/commands/validate.d.ts +0 -6
  205. package/dist/commands/validate.js +0 -41
  206. package/dist/commands/validate.js.map +0 -1
  207. package/dist/resolver/address.d.ts +0 -2
  208. package/dist/resolver/address.js.map +0 -1
  209. package/dist/resolver/github.js.map +0 -1
  210. package/dist/resolver/index.d.ts +0 -6
  211. package/dist/resolver/index.js.map +0 -1
  212. package/dist/resolver/local.js.map +0 -1
  213. package/dist/resolver/validate.js.map +0 -1
  214. package/dist/runtime/check.js.map +0 -1
  215. package/dist/runtime/installer.js.map +0 -1
  216. package/dist/runtime/spawn.js.map +0 -1
  217. package/dist/supabase/client.d.ts +0 -4
  218. package/dist/supabase/client.js +0 -5
  219. package/dist/supabase/client.js.map +0 -1
  220. package/dist/supabase/methods.d.ts +0 -2
  221. package/dist/supabase/methods.js +0 -13
  222. package/dist/supabase/methods.js.map +0 -1
  223. package/dist/supabase/types.d.ts +0 -30
  224. package/dist/supabase/types.js +0 -2
  225. package/dist/supabase/types.js.map +0 -1
  226. package/dist/telemetry/posthog.js +0 -117
  227. package/dist/telemetry/posthog.js.map +0 -1
  228. /package/dist/{commands → cli/commands}/config.d.ts +0 -0
  229. /package/dist/{commands → cli/commands}/index.d.ts +0 -0
  230. /package/dist/{commands → cli/commands}/install.d.ts +0 -0
  231. /package/dist/{resolver → installer/resolver}/address.js +0 -0
  232. /package/dist/{runtime → installer/runtime}/check.d.ts +0 -0
  233. /package/dist/{runtime → installer/runtime}/check.js +0 -0
  234. /package/dist/{runtime → installer/runtime}/installer.d.ts +0 -0
  235. /package/dist/{runtime → installer/runtime}/installer.js +0 -0
  236. /package/dist/{runtime → installer/runtime}/spawn.d.ts +0 -0
  237. /package/dist/{runtime → installer/runtime}/spawn.js +0 -0
  238. /package/dist/{resolver → package/manifest}/types.js +0 -0
  239. /package/dist/{resolver → package/manifest}/validate.d.ts +0 -0
@@ -0,0 +1,237 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * mthds-agent — machine-oriented CLI for AI agents.
4
+ *
5
+ * Outputs structured JSON to stdout (success) and stderr (errors).
6
+ * No clack, no chalk, no ora — just JSON.
7
+ */
8
+ import { Command, CommanderError } from "commander";
9
+ import { createRequire } from "node:module";
10
+ import { resolve } from "node:path";
11
+ import { agentError, AGENT_ERROR_DOMAINS } from "./agent/output.js";
12
+ import { registerPipelexCommands } from "./agent/commands/pipelex.js";
13
+ import { registerPlxtCommands } from "./agent/commands/plxt.js";
14
+ import { agentBuildPipe, agentBuildRunnerMethod, agentBuildRunnerPipe, agentBuildInputsMethod, agentBuildInputsPipe, agentBuildOutputMethod, agentBuildOutputPipe, } from "./agent/commands/build.js";
15
+ import { agentValidateMethod, agentValidatePipe } from "./agent/commands/validate.js";
16
+ import { agentConfigSet, agentConfigGet, agentConfigList } from "./agent/commands/config.js";
17
+ import { agentInstall } from "./agent/commands/install.js";
18
+ import { RUNNER_NAMES } from "./runners/types.js";
19
+ const require = createRequire(import.meta.url);
20
+ const pkg = require("../package.json");
21
+ const LOG_LEVELS = ["debug", "verbose", "info", "warning", "error", "critical"];
22
+ function getRunner(cmd) {
23
+ return cmd.optsWithGlobals().runner;
24
+ }
25
+ function collect(val, prev) {
26
+ return [...prev, resolve(val)];
27
+ }
28
+ function getLibraryDirs(cmd) {
29
+ return (cmd.optsWithGlobals().libraryDir ?? []);
30
+ }
31
+ function getLogLevelArgs(cmd) {
32
+ const logLevel = cmd.optsWithGlobals().logLevel;
33
+ return logLevel ? ["--log-level", logLevel] : [];
34
+ }
35
+ const program = new Command();
36
+ program
37
+ .name("mthds-agent")
38
+ .version(`mthds-agent ${pkg.version}`, "-V, --version")
39
+ .description("Machine-oriented CLI for AI agents — JSON output only")
40
+ .option("--runner <type>", `Runner to use (${RUNNER_NAMES.join(", ")})`)
41
+ .option("-L, --library-dir <dir>", "Additional library directory (can be repeated)", collect, [])
42
+ .option("--log-level <level>", `Log level (${LOG_LEVELS.join(", ")})`)
43
+ .enablePositionalOptions()
44
+ .exitOverride()
45
+ .configureOutput({
46
+ writeErr: () => { },
47
+ });
48
+ // ── mthds-agent build <subcommand> ───────────────────────────────────
49
+ const build = program
50
+ .command("build")
51
+ .description("Generate pipelines, runner code, inputs, and output schemas")
52
+ .exitOverride();
53
+ build
54
+ .command("pipe")
55
+ .argument("<brief>", "Natural-language description of the pipeline")
56
+ .option("-o, --output <file>", "Path to save the generated .mthds file")
57
+ .description("Build a pipeline from a prompt")
58
+ .allowUnknownOption()
59
+ .allowExcessArguments(true)
60
+ .exitOverride()
61
+ .action(async (brief, options, cmd) => {
62
+ await agentBuildPipe(brief, { ...options, runner: getRunner(cmd), libraryDir: getLibraryDirs(cmd) });
63
+ });
64
+ const buildRunnerCmd = build
65
+ .command("runner")
66
+ .description("Generate Python runner code for a pipe")
67
+ .exitOverride();
68
+ buildRunnerCmd
69
+ .command("method")
70
+ .argument("<name>", "Name of the installed method")
71
+ .option("--pipe <code>", "Pipe code to generate runner for")
72
+ .option("-o, --output <file>", "Path to save the generated Python file")
73
+ .description("Generate runner for an installed method")
74
+ .allowUnknownOption()
75
+ .allowExcessArguments(true)
76
+ .exitOverride()
77
+ .action(async (name, options, cmd) => {
78
+ await agentBuildRunnerMethod(name, { ...options, runner: getRunner(cmd), libraryDir: getLibraryDirs(cmd) });
79
+ });
80
+ buildRunnerCmd
81
+ .command("pipe")
82
+ .argument("<target>", "Bundle file path")
83
+ .option("--pipe <code>", "Pipe code to generate runner for")
84
+ .option("-o, --output <file>", "Path to save the generated Python file")
85
+ .description("Generate runner for a pipe by bundle path")
86
+ .allowUnknownOption()
87
+ .allowExcessArguments(true)
88
+ .exitOverride()
89
+ .action(async (target, options, cmd) => {
90
+ await agentBuildRunnerPipe(target, { ...options, runner: getRunner(cmd), libraryDir: getLibraryDirs(cmd) });
91
+ });
92
+ const buildInputsCmd = build
93
+ .command("inputs")
94
+ .description("Generate example input JSON for a pipe")
95
+ .exitOverride();
96
+ buildInputsCmd
97
+ .command("method")
98
+ .argument("<name>", "Name of the installed method")
99
+ .option("--pipe <code>", "Pipe code to generate inputs for")
100
+ .description("Generate inputs for an installed method")
101
+ .allowUnknownOption()
102
+ .allowExcessArguments(true)
103
+ .exitOverride()
104
+ .action(async (name, options, cmd) => {
105
+ await agentBuildInputsMethod(name, { ...options, runner: getRunner(cmd), libraryDir: getLibraryDirs(cmd) });
106
+ });
107
+ buildInputsCmd
108
+ .command("pipe")
109
+ .argument("<target>", "Bundle file path")
110
+ .option("--pipe <code>", "Pipe code to generate inputs for")
111
+ .description("Generate inputs for a pipe by bundle path")
112
+ .allowUnknownOption()
113
+ .allowExcessArguments(true)
114
+ .exitOverride()
115
+ .action(async (target, options, cmd) => {
116
+ await agentBuildInputsPipe(target, { ...options, runner: getRunner(cmd), libraryDir: getLibraryDirs(cmd) });
117
+ });
118
+ const buildOutputCmd = build
119
+ .command("output")
120
+ .description("Generate output representation for a pipe")
121
+ .exitOverride();
122
+ buildOutputCmd
123
+ .command("method")
124
+ .argument("<name>", "Name of the installed method")
125
+ .option("--pipe <code>", "Pipe code to generate output for")
126
+ .option("--format <format>", "Output format (json, python, schema)", "schema")
127
+ .description("Generate output for an installed method")
128
+ .allowUnknownOption()
129
+ .allowExcessArguments(true)
130
+ .exitOverride()
131
+ .action(async (name, options, cmd) => {
132
+ await agentBuildOutputMethod(name, { ...options, runner: getRunner(cmd), libraryDir: getLibraryDirs(cmd) });
133
+ });
134
+ buildOutputCmd
135
+ .command("pipe")
136
+ .argument("<target>", "Bundle file path")
137
+ .option("--pipe <code>", "Pipe code to generate output for")
138
+ .option("--format <format>", "Output format (json, python, schema)", "schema")
139
+ .description("Generate output for a pipe by bundle path")
140
+ .allowUnknownOption()
141
+ .allowExcessArguments(true)
142
+ .exitOverride()
143
+ .action(async (target, options, cmd) => {
144
+ await agentBuildOutputPipe(target, { ...options, runner: getRunner(cmd), libraryDir: getLibraryDirs(cmd) });
145
+ });
146
+ // ── mthds-agent validate method|pipe ────────────────────────────────────
147
+ const validateCmd = program
148
+ .command("validate")
149
+ .description("Validate a method or pipe")
150
+ .exitOverride();
151
+ validateCmd
152
+ .command("method")
153
+ .argument("<name>", "Name of the installed method")
154
+ .option("--pipe <code>", "Pipe code to validate (overrides method's main_pipe)")
155
+ .description("Validate an installed method")
156
+ .allowUnknownOption()
157
+ .allowExcessArguments(true)
158
+ .exitOverride()
159
+ .action(async (name, options, cmd) => {
160
+ await agentValidateMethod(name, { ...options, runner: getRunner(cmd), libraryDir: getLibraryDirs(cmd) });
161
+ });
162
+ validateCmd
163
+ .command("pipe")
164
+ .argument("<target>", ".mthds bundle file or pipe code")
165
+ .option("--pipe <code>", "Pipe code that must exist in the bundle")
166
+ .option("--bundle <file>", "Bundle file path (alternative to positional)")
167
+ .description("Validate a pipe by code or bundle file (.mthds)")
168
+ .exitOverride()
169
+ .action(async (target, options, cmd) => {
170
+ await agentValidatePipe(target, { ...options, runner: getRunner(cmd), libraryDir: getLibraryDirs(cmd) });
171
+ });
172
+ // ── mthds-agent install [address] ────────────────────────────────────
173
+ program
174
+ .command("install")
175
+ .argument("[address]", "Package address (org/repo or org/repo/sub/path)")
176
+ .option("--local <path>", "Install from a local directory")
177
+ .option("--agent <id>", "AI agent to install for (required)")
178
+ .option("--location <loc>", "Install location: local or global (required)")
179
+ .option("--method <slug>", "Install only the specified method (by slug)")
180
+ .option("--skills", "Install MTHDS skills plugin")
181
+ .option("--no-runner", "Skip Pipelex runner install")
182
+ .description("Install a method package (non-interactive)")
183
+ .exitOverride()
184
+ .action(async (address, opts) => {
185
+ await agentInstall(address, { ...opts, noRunner: opts.runner === false });
186
+ });
187
+ // ── mthds-agent config set|get|list ──────────────────────────────────
188
+ const config = program.command("config").description("Manage configuration").exitOverride();
189
+ config
190
+ .command("set")
191
+ .argument("<key>", "Config key (runner, api-url, api-key, telemetry)")
192
+ .argument("<value>", "Value to set")
193
+ .description("Set a config value")
194
+ .exitOverride()
195
+ .action(async (key, value) => {
196
+ await agentConfigSet(key, value);
197
+ });
198
+ config
199
+ .command("get")
200
+ .argument("<key>", "Config key (runner, api-url, api-key, telemetry)")
201
+ .description("Get a config value")
202
+ .exitOverride()
203
+ .action(async (key) => {
204
+ await agentConfigGet(key);
205
+ });
206
+ config
207
+ .command("list")
208
+ .description("List all config values")
209
+ .exitOverride()
210
+ .action(async () => {
211
+ await agentConfigList();
212
+ });
213
+ // ── mthds-agent pipelex <cmd> [args...] ──────────────────────────────
214
+ registerPipelexCommands(program, () => getLogLevelArgs(program));
215
+ // ── mthds-agent plxt <cmd> [args...] ─────────────────────────────────
216
+ registerPlxtCommands(program);
217
+ // ── Default: show version ────────────────────────────────────────────
218
+ program.action(() => {
219
+ agentError("No command specified. Run mthds-agent --help for usage.", "ArgumentError", {
220
+ error_domain: AGENT_ERROR_DOMAINS.ARGUMENT,
221
+ });
222
+ });
223
+ // ── Parse ────────────────────────────────────────────────────────────
224
+ program.parseAsync(process.argv).catch((err) => {
225
+ if (err instanceof CommanderError) {
226
+ if (err.exitCode === 0) {
227
+ // Commander already wrote help/version to stdout (writeOut is not suppressed)
228
+ process.exit(0);
229
+ }
230
+ const message = err.message.replace(/^error: /, "").replace(/^Error: /, "");
231
+ agentError(message, "ArgumentError", {
232
+ error_domain: AGENT_ERROR_DOMAINS.ARGUMENT,
233
+ });
234
+ }
235
+ agentError(err.message, "UnknownError");
236
+ });
237
+ //# sourceMappingURL=agent-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-cli.js","sourceRoot":"","sources":["../src/agent-cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { RunnerType } from "../../runners/types.js";
2
+ interface WithRunner {
3
+ runner?: RunnerType;
4
+ libraryDir?: string[];
5
+ }
6
+ export declare function buildPipe(brief: string, options: {
7
+ output?: string;
8
+ } & WithRunner): Promise<void>;
9
+ export declare function buildRunnerMethod(name: string, options: {
10
+ pipe?: string;
11
+ output?: string;
12
+ } & WithRunner): Promise<void>;
13
+ export declare function buildRunnerPipe(target: string, options: {
14
+ pipe?: string;
15
+ output?: string;
16
+ } & WithRunner): Promise<void>;
17
+ export declare function buildInputsMethod(name: string, options: {
18
+ pipe?: string;
19
+ } & WithRunner): Promise<void>;
20
+ export declare function buildInputsPipe(target: string, options: {
21
+ pipe?: string;
22
+ } & WithRunner): Promise<void>;
23
+ export declare function buildOutputMethod(name: string, options: {
24
+ pipe?: string;
25
+ format?: string;
26
+ } & WithRunner): Promise<void>;
27
+ export declare function buildOutputPipe(target: string, options: {
28
+ pipe?: string;
29
+ format?: string;
30
+ } & WithRunner): Promise<void>;
31
+ export {};
@@ -0,0 +1,305 @@
1
+ import { readFileSync, writeFileSync } from "node:fs";
2
+ import * as p from "@clack/prompts";
3
+ import { printLogo } from "./index.js";
4
+ import { isPipelexRunner, extractPassthroughArgs } from "./utils.js";
5
+ import { createRunner } from "../../runners/registry.js";
6
+ // ── mthds build pipe "PROMPT" [-o file] ─────────────────────────────
7
+ export async function buildPipe(brief, options) {
8
+ printLogo();
9
+ p.intro("mthds build pipe");
10
+ const libraryDirs = options.libraryDir?.length
11
+ ? options.libraryDir
12
+ : undefined;
13
+ const runner = createRunner(options.runner, libraryDirs);
14
+ if (isPipelexRunner(runner)) {
15
+ p.log.step("Building via pipelex...");
16
+ try {
17
+ await runner.buildPassthrough("pipe", extractPassthroughArgs("build", 2));
18
+ p.outro("Done");
19
+ }
20
+ catch (err) {
21
+ p.log.error(err.message);
22
+ p.outro("");
23
+ process.exit(1);
24
+ }
25
+ return;
26
+ }
27
+ const s = p.spinner();
28
+ s.start("Building pipeline...");
29
+ try {
30
+ const result = await runner.buildPipe({
31
+ brief,
32
+ output: options.output,
33
+ });
34
+ s.stop(result.message);
35
+ if (result.mthds_content) {
36
+ if (options.output) {
37
+ writeFileSync(options.output, result.mthds_content, "utf-8");
38
+ p.log.success(`Bundle written to ${options.output}`);
39
+ }
40
+ else {
41
+ p.log.info(result.mthds_content);
42
+ }
43
+ }
44
+ p.outro("Done");
45
+ }
46
+ catch (err) {
47
+ s.stop("Build failed.");
48
+ p.log.error(err.message);
49
+ p.outro("");
50
+ process.exit(1);
51
+ }
52
+ }
53
+ // ── mthds build runner method <name> ─────────────────────────────────
54
+ export async function buildRunnerMethod(name, options) {
55
+ printLogo();
56
+ p.intro("mthds build runner method");
57
+ const libraryDirs = options.libraryDir?.length
58
+ ? options.libraryDir
59
+ : undefined;
60
+ const runner = createRunner(options.runner, libraryDirs);
61
+ if (isPipelexRunner(runner)) {
62
+ p.log.step("Building via pipelex...");
63
+ try {
64
+ await runner.buildPassthrough("runner", extractPassthroughArgs("build", 2));
65
+ p.outro("Done");
66
+ }
67
+ catch (err) {
68
+ p.log.error(err.message);
69
+ p.outro("");
70
+ process.exit(1);
71
+ }
72
+ return;
73
+ }
74
+ p.log.error("Method target is not yet supported for the API runner. Use 'mthds build runner pipe <target>' instead.\nYou can also specify a different runner with --runner <name>, or change the default with 'mthds set-default runner <name>'.");
75
+ p.outro("");
76
+ process.exit(1);
77
+ }
78
+ // ── mthds build runner pipe <target> ─────────────────────────────────
79
+ export async function buildRunnerPipe(target, options) {
80
+ printLogo();
81
+ p.intro("mthds build runner pipe");
82
+ const libraryDirs = options.libraryDir?.length
83
+ ? options.libraryDir
84
+ : undefined;
85
+ const runner = createRunner(options.runner, libraryDirs);
86
+ if (isPipelexRunner(runner)) {
87
+ p.log.step("Building via pipelex...");
88
+ try {
89
+ await runner.buildPassthrough("runner", extractPassthroughArgs("build", 2));
90
+ p.outro("Done");
91
+ }
92
+ catch (err) {
93
+ p.log.error(err.message);
94
+ p.outro("");
95
+ process.exit(1);
96
+ }
97
+ return;
98
+ }
99
+ const isBundle = target.endsWith(".mthds");
100
+ let mthdsContent;
101
+ let pipeCode;
102
+ if (isBundle) {
103
+ mthdsContent = readFileSync(target, "utf-8");
104
+ if (!options.pipe) {
105
+ p.log.error("--pipe is required when using the API runner.");
106
+ p.outro("");
107
+ process.exit(1);
108
+ }
109
+ pipeCode = options.pipe;
110
+ }
111
+ else {
112
+ p.log.error("build runner requires a .mthds bundle file. Pass the bundle path as the target.");
113
+ p.outro("");
114
+ process.exit(1);
115
+ return; // unreachable, keeps TS happy
116
+ }
117
+ const s = p.spinner();
118
+ s.start("Generating runner code...");
119
+ try {
120
+ const result = await runner.buildRunner({
121
+ mthds_content: mthdsContent,
122
+ pipe_code: pipeCode,
123
+ });
124
+ s.stop(result.message);
125
+ if (options.output) {
126
+ writeFileSync(options.output, result.python_code, "utf-8");
127
+ p.log.success(`Runner written to ${options.output}`);
128
+ }
129
+ else {
130
+ p.log.info(result.python_code);
131
+ }
132
+ p.outro("Done");
133
+ }
134
+ catch (err) {
135
+ s.stop("Build failed.");
136
+ p.log.error(err.message);
137
+ p.outro("");
138
+ process.exit(1);
139
+ }
140
+ }
141
+ // ── mthds build inputs method <name> ─────────────────────────────────
142
+ export async function buildInputsMethod(name, options) {
143
+ printLogo();
144
+ p.intro("mthds build inputs method");
145
+ const libraryDirs = options.libraryDir?.length
146
+ ? options.libraryDir
147
+ : undefined;
148
+ const runner = createRunner(options.runner, libraryDirs);
149
+ if (isPipelexRunner(runner)) {
150
+ p.log.step("Building via pipelex...");
151
+ try {
152
+ await runner.buildPassthrough("inputs", extractPassthroughArgs("build", 2));
153
+ p.outro("Done");
154
+ }
155
+ catch (err) {
156
+ p.log.error(err.message);
157
+ p.outro("");
158
+ process.exit(1);
159
+ }
160
+ return;
161
+ }
162
+ p.log.error("Method target is not yet supported for the API runner. Use 'mthds build inputs pipe <target>' instead.\nYou can also specify a different runner with --runner <name>, or change the default with 'mthds set-default runner <name>'.");
163
+ p.outro("");
164
+ process.exit(1);
165
+ }
166
+ // ── mthds build inputs pipe <target> ─────────────────────────────────
167
+ export async function buildInputsPipe(target, options) {
168
+ printLogo();
169
+ p.intro("mthds build inputs pipe");
170
+ const libraryDirs = options.libraryDir?.length
171
+ ? options.libraryDir
172
+ : undefined;
173
+ const runner = createRunner(options.runner, libraryDirs);
174
+ if (isPipelexRunner(runner)) {
175
+ p.log.step("Building via pipelex...");
176
+ try {
177
+ await runner.buildPassthrough("inputs", extractPassthroughArgs("build", 2));
178
+ p.outro("Done");
179
+ }
180
+ catch (err) {
181
+ p.log.error(err.message);
182
+ p.outro("");
183
+ process.exit(1);
184
+ }
185
+ return;
186
+ }
187
+ if (!options.pipe) {
188
+ p.log.error("--pipe is required when using the API runner.");
189
+ p.outro("");
190
+ process.exit(1);
191
+ }
192
+ let mthdsContent;
193
+ try {
194
+ mthdsContent = readFileSync(target, "utf-8");
195
+ }
196
+ catch (err) {
197
+ p.log.error(err.message);
198
+ p.outro("");
199
+ process.exit(1);
200
+ }
201
+ const s = p.spinner();
202
+ s.start("Generating example inputs...");
203
+ try {
204
+ const result = await runner.buildInputs({
205
+ mthds_content: mthdsContent,
206
+ pipe_code: options.pipe,
207
+ });
208
+ s.stop("Inputs generated.");
209
+ p.log.info(JSON.stringify(result, null, 2));
210
+ p.outro("Done");
211
+ }
212
+ catch (err) {
213
+ s.stop("Build failed.");
214
+ p.log.error(err.message);
215
+ p.outro("");
216
+ process.exit(1);
217
+ }
218
+ }
219
+ // ── mthds build output method <name> ─────────────────────────────────
220
+ export async function buildOutputMethod(name, options) {
221
+ printLogo();
222
+ p.intro("mthds build output method");
223
+ const libraryDirs = options.libraryDir?.length
224
+ ? options.libraryDir
225
+ : undefined;
226
+ const runner = createRunner(options.runner, libraryDirs);
227
+ if (isPipelexRunner(runner)) {
228
+ p.log.step("Building via pipelex...");
229
+ try {
230
+ await runner.buildPassthrough("output", extractPassthroughArgs("build", 2));
231
+ p.outro("Done");
232
+ }
233
+ catch (err) {
234
+ p.log.error(err.message);
235
+ p.outro("");
236
+ process.exit(1);
237
+ }
238
+ return;
239
+ }
240
+ p.log.error("Method target is not yet supported for the API runner. Use 'mthds build output pipe <target>' instead.\nYou can also specify a different runner with --runner <name>, or change the default with 'mthds set-default runner <name>'.");
241
+ p.outro("");
242
+ process.exit(1);
243
+ }
244
+ // ── mthds build output pipe <target> ─────────────────────────────────
245
+ export async function buildOutputPipe(target, options) {
246
+ printLogo();
247
+ p.intro("mthds build output pipe");
248
+ const libraryDirs = options.libraryDir?.length
249
+ ? options.libraryDir
250
+ : undefined;
251
+ const runner = createRunner(options.runner, libraryDirs);
252
+ if (isPipelexRunner(runner)) {
253
+ p.log.step("Building via pipelex...");
254
+ try {
255
+ await runner.buildPassthrough("output", extractPassthroughArgs("build", 2));
256
+ p.outro("Done");
257
+ }
258
+ catch (err) {
259
+ p.log.error(err.message);
260
+ p.outro("");
261
+ process.exit(1);
262
+ }
263
+ return;
264
+ }
265
+ if (!options.pipe) {
266
+ p.log.error("--pipe is required when using the API runner.");
267
+ p.outro("");
268
+ process.exit(1);
269
+ }
270
+ let mthdsContent;
271
+ try {
272
+ mthdsContent = readFileSync(target, "utf-8");
273
+ }
274
+ catch (err) {
275
+ p.log.error(err.message);
276
+ p.outro("");
277
+ process.exit(1);
278
+ }
279
+ const validFormats = ["json", "python", "schema"];
280
+ const format = (options.format ?? "schema");
281
+ if (!validFormats.includes(format)) {
282
+ p.log.error(`Invalid format "${format}". Must be one of: ${validFormats.join(", ")}`);
283
+ p.outro("");
284
+ process.exit(1);
285
+ }
286
+ const s = p.spinner();
287
+ s.start("Generating output schema...");
288
+ try {
289
+ const result = await runner.buildOutput({
290
+ mthds_content: mthdsContent,
291
+ pipe_code: options.pipe,
292
+ format: format,
293
+ });
294
+ s.stop("Output generated.");
295
+ p.log.info(JSON.stringify(result, null, 2));
296
+ p.outro("Done");
297
+ }
298
+ catch (err) {
299
+ s.stop("Build failed.");
300
+ p.log.error(err.message);
301
+ p.outro("");
302
+ process.exit(1);
303
+ }
304
+ }
305
+ //# sourceMappingURL=build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as p from "@clack/prompts";
2
2
  import { printLogo } from "./index.js";
3
- import { VALID_KEYS, resolveKey, getConfigValue, setConfigValue, listConfig, } from "../config/config.js";
4
- const VALID_RUNNERS = ["api", "pipelex"];
3
+ import { VALID_KEYS, resolveKey, getConfigValue, setConfigValue, listConfig, } from "../../config/config.js";
4
+ import { RUNNER_NAMES } from "../../runners/types.js";
5
5
  function isValidUrl(s) {
6
6
  try {
7
7
  new URL(s);
@@ -22,9 +22,9 @@ export async function configSet(cliKey, value) {
22
22
  process.exit(1);
23
23
  }
24
24
  // Validate value
25
- if (configKey === "runner" && !VALID_RUNNERS.includes(value)) {
25
+ if (configKey === "runner" && !RUNNER_NAMES.includes(value)) {
26
26
  p.log.error(`Invalid runner: ${value}`);
27
- p.log.info(`Valid runners: ${VALID_RUNNERS.join(", ")}`);
27
+ p.log.info(`Valid runners: ${RUNNER_NAMES.join(", ")}`);
28
28
  p.outro("");
29
29
  process.exit(1);
30
30
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EACL,UAAU,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,SAAS,UAAU,CAAC,CAAS;IAC3B,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAc,EAAE,KAAa;IAC3D,SAAS,EAAE,CAAC;IACZ,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAE5B,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,iBAAiB;IACjB,IAAI,SAAS,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAmB,CAAC,EAAE,CAAC;QAC1E,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,SAAS,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,MAAM,MAAM,KAAK,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAc;IAC5C,SAAS,EAAE,CAAC;IACZ,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAE5B,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAChG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,SAAS,EAAE,CAAC;IACZ,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAE7B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,WAAW,GACf,KAAK,CAAC,MAAM,KAAK,KAAK;YACpB,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS;gBAC1B,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,EAAE,CAAC;QACX,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,KAAK,GAAG,WAAW,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACd,CAAC"}