mthds 0.0.3 → 0.0.5

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 (42) hide show
  1. package/README.md +98 -6
  2. package/dist/client/client.d.ts +15 -0
  3. package/dist/client/client.js +64 -0
  4. package/dist/client/client.js.map +1 -0
  5. package/dist/client/exceptions.d.ts +6 -0
  6. package/dist/client/exceptions.js +13 -0
  7. package/dist/client/exceptions.js.map +1 -0
  8. package/dist/client/index.d.ts +5 -0
  9. package/dist/client/index.js +3 -0
  10. package/dist/client/index.js.map +1 -0
  11. package/dist/client/models/index.d.ts +4 -0
  12. package/dist/client/models/index.js +2 -0
  13. package/dist/client/models/index.js.map +1 -0
  14. package/dist/client/models/pipe_output.d.ts +2 -0
  15. package/dist/client/models/pipe_output.js +2 -0
  16. package/dist/client/models/pipe_output.js.map +1 -0
  17. package/dist/client/models/pipeline_inputs.d.ts +3 -0
  18. package/dist/client/models/pipeline_inputs.js +2 -0
  19. package/dist/client/models/pipeline_inputs.js.map +1 -0
  20. package/dist/client/models/stuff.d.ts +1 -0
  21. package/dist/client/models/stuff.js +2 -0
  22. package/dist/client/models/stuff.js.map +1 -0
  23. package/dist/client/models/working_memory.d.ts +1 -0
  24. package/dist/client/models/working_memory.js +2 -0
  25. package/dist/client/models/working_memory.js.map +1 -0
  26. package/dist/client/pipeline.d.ts +36 -0
  27. package/dist/client/pipeline.js +2 -0
  28. package/dist/client/pipeline.js.map +1 -0
  29. package/dist/client/protocol.d.ts +5 -0
  30. package/dist/client/protocol.js +2 -0
  31. package/dist/client/protocol.js.map +1 -0
  32. package/dist/commands/index.js +1 -1
  33. package/dist/commands/index.js.map +1 -1
  34. package/dist/index.d.ts +1 -0
  35. package/dist/index.js +2 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/runtime/check.d.ts +0 -1
  38. package/dist/runtime/check.js +2 -14
  39. package/dist/runtime/check.js.map +1 -1
  40. package/dist/runtime/installer.js +13 -24
  41. package/dist/runtime/installer.js.map +1 -1
  42. package/package.json +14 -4
package/README.md CHANGED
@@ -1,12 +1,16 @@
1
1
  # mthds
2
2
 
3
- CLI for installing and managing **methods** — reusable workflows for AI coding agents.
3
+ CLI and SDK for **methods** — reusable workflows for AI coding agents.
4
+
5
+ The MTHDS open standard is defined at [mthds.ai](https://mthds.ai). Browse and discover public methods on the hub at [mthds.sh](https://mthds.sh).
4
6
 
5
7
  ## What is a method?
6
8
 
7
9
  A method is a packaged workflow that an AI agent (like Claude Code) can use. Methods are stored in a registry and installed locally via their unique slug.
8
10
 
9
- ## Install a method
11
+ ## CLI Usage
12
+
13
+ ### Install a method
10
14
 
11
15
  ```bash
12
16
  npx mthds install <slug>
@@ -17,7 +21,7 @@ The CLI will:
17
21
  1. Look up the method in the registry
18
22
  2. Ask which AI agent to install it for (Claude Code, with more coming soon)
19
23
  3. Ask where to install — **local** (current project) or **global** (your machine)
20
- 4. Optionally install the pipelex software runtime
24
+ 4. Optionally install a [runner](#runners)
21
25
  5. Write the method to `.claude/methods/<slug>/METHOD.mthds`
22
26
 
23
27
  ### Install locations
@@ -27,13 +31,101 @@ The CLI will:
27
31
  | Local | `<cwd>/.claude/methods/<slug>/` |
28
32
  | Global | `~/.claude/methods/<slug>/` |
29
33
 
30
- ## Install software runtime
34
+ ## Runners
35
+
36
+ To execute a method, you need a **runner**. A runner is the engine that takes a method definition and actually runs it.
37
+
38
+ ### Available runners
39
+
40
+ | Runner | Description |
41
+ |--------|-------------|
42
+ | **Pipelex** (local) | A Python-based runner you install on your machine. Install it with `npx mthds setup runner pipelex`. |
43
+ | **Pipelex API** (remote) | An API server that runs methods remotely. You can self-host it using [pipelex-api](https://github.com/Pipelex/pipelex-api) (open source). A public hosted API at `https://api.pipelex.com` is coming soon. |
44
+
45
+ These are the only runners that exist today. Feel free to create your own runner in a different language!
46
+
47
+ ### Install the local runner
31
48
 
32
49
  ```bash
33
- npx mthds setup software pipelex
50
+ npx mthds setup runner pipelex
34
51
  ```
35
52
 
36
- Installs [uv](https://docs.astral.sh/uv/) and [pipelex](https://pipelex.dev) so methods that depend on them can run.
53
+ ### Use the API runner
54
+
55
+ See the [SDK Usage](#sdk-usage) section below to connect to a Pipelex API instance.
56
+
57
+ ## SDK Usage
58
+
59
+ Install the package:
60
+
61
+ ```bash
62
+ npm install mthds
63
+ ```
64
+
65
+ ### Basic example
66
+
67
+ ```typescript
68
+ import { MthdsApiClient } from "mthds";
69
+
70
+ const client = new MthdsApiClient({
71
+ apiBaseUrl: "https://api.pipelex.com",
72
+ apiToken: "your-api-key",
73
+ });
74
+
75
+ const result = await client.executePipeline({
76
+ pipe_code: "my-pipeline",
77
+ inputs: {
78
+ topic: "quantum computing",
79
+ },
80
+ });
81
+
82
+ console.log(result.pipe_output);
83
+ ```
84
+
85
+ ### Self-hosted API
86
+
87
+ Point the client to your own [pipelex-api](https://github.com/Pipelex/pipelex-api) instance:
88
+
89
+ ```typescript
90
+ const client = new MthdsApiClient({
91
+ apiBaseUrl: "http://localhost:8081",
92
+ apiToken: "your-api-key",
93
+ });
94
+ ```
95
+
96
+ ### Environment variables
97
+
98
+ Instead of passing options to the constructor, you can set environment variables:
99
+
100
+ | Variable | Description |
101
+ |----------|-------------|
102
+ | `MTHDS_API_BASE_URL` | Base URL of the API |
103
+ | `MTHDS_API_KEY` | API authentication token |
104
+
105
+ ```typescript
106
+ // Reads MTHDS_API_BASE_URL and MTHDS_API_KEY from the environment
107
+ const client = new MthdsApiClient();
108
+ ```
109
+
110
+ ### Methods
111
+
112
+ | Method | Description |
113
+ |--------|-------------|
114
+ | `executePipeline(options)` | Execute a pipeline and wait for the result |
115
+ | `startPipeline(options)` | Start a pipeline asynchronously |
116
+
117
+ ### Pipeline options
118
+
119
+ | Option | Type | Description |
120
+ |--------|------|-------------|
121
+ | `pipe_code` | `string` | Pipeline code to execute |
122
+ | `mthds_content` | `string` | Raw method content (alternative to `pipe_code`) |
123
+ | `inputs` | `Record<string, string \| string[] \| object>` | Pipeline input variables |
124
+ | `output_name` | `string` | Name of the output to return |
125
+ | `output_multiplicity` | `boolean \| number` | Expected output multiplicity |
126
+ | `dynamic_output_concept_code` | `string` | Dynamic output concept code |
127
+
128
+ Either `pipe_code` or `mthds_content` must be provided.
37
129
 
38
130
  ## Telemetry
39
131
 
@@ -0,0 +1,15 @@
1
+ import type { RunnerProtocol } from "./protocol.js";
2
+ import type { ExecutePipelineOptions, PipelineExecuteResponse, PipelineStartResponse } from "./pipeline.js";
3
+ interface MthdsApiClientOptions {
4
+ apiToken?: string;
5
+ apiBaseUrl?: string;
6
+ }
7
+ export declare class MthdsApiClient implements RunnerProtocol {
8
+ private readonly apiToken;
9
+ private readonly apiBaseUrl;
10
+ constructor(options?: MthdsApiClientOptions);
11
+ private makeApiCall;
12
+ executePipeline(options: ExecutePipelineOptions): Promise<PipelineExecuteResponse>;
13
+ startPipeline(options: ExecutePipelineOptions): Promise<PipelineStartResponse>;
14
+ }
15
+ export {};
@@ -0,0 +1,64 @@
1
+ import { ClientAuthenticationError, PipelineRequestError, } from "./exceptions.js";
2
+ export class MthdsApiClient {
3
+ apiToken;
4
+ apiBaseUrl;
5
+ constructor(options = {}) {
6
+ this.apiToken = options.apiToken ?? process.env.MTHDS_API_KEY;
7
+ const resolvedBaseUrl = options.apiBaseUrl ?? process.env.MTHDS_API_BASE_URL;
8
+ if (!resolvedBaseUrl) {
9
+ throw new ClientAuthenticationError("API base URL is required for API execution");
10
+ }
11
+ this.apiBaseUrl = resolvedBaseUrl.replace(/\/+$/, "");
12
+ }
13
+ async makeApiCall(endpoint, pipelineRequest) {
14
+ const url = `${this.apiBaseUrl}/${endpoint}`;
15
+ const headers = {
16
+ "Content-Type": "application/json",
17
+ };
18
+ if (this.apiToken) {
19
+ headers["Authorization"] = `Bearer ${this.apiToken}`;
20
+ }
21
+ const response = await fetch(url, {
22
+ method: "POST",
23
+ headers,
24
+ body: JSON.stringify(pipelineRequest),
25
+ signal: AbortSignal.timeout(1_200_000),
26
+ });
27
+ if (!response.ok) {
28
+ const text = await response.text().catch(() => "");
29
+ throw new PipelineRequestError(`API POST /${endpoint} failed (${response.status}): ${text || response.statusText}`);
30
+ }
31
+ return response.json();
32
+ }
33
+ async executePipeline(options) {
34
+ if (!options.pipe_code && !options.mthds_content) {
35
+ throw new PipelineRequestError("Either pipe_code or mthds_content must be provided to executePipeline.");
36
+ }
37
+ const request = {
38
+ pipe_code: options.pipe_code,
39
+ mthds_content: options.mthds_content,
40
+ inputs: options.inputs,
41
+ output_name: options.output_name,
42
+ output_multiplicity: options.output_multiplicity,
43
+ dynamic_output_concept_code: options.dynamic_output_concept_code,
44
+ };
45
+ const data = await this.makeApiCall("api/v1/pipeline/execute", request);
46
+ return data;
47
+ }
48
+ async startPipeline(options) {
49
+ if (!options.pipe_code && !options.mthds_content) {
50
+ throw new PipelineRequestError("Either pipe_code or mthds_content must be provided to startPipeline.");
51
+ }
52
+ const request = {
53
+ pipe_code: options.pipe_code,
54
+ mthds_content: options.mthds_content,
55
+ inputs: options.inputs,
56
+ output_name: options.output_name,
57
+ output_multiplicity: options.output_multiplicity,
58
+ dynamic_output_concept_code: options.dynamic_output_concept_code,
59
+ };
60
+ const data = await this.makeApiCall("api/v1/pipeline/start", request);
61
+ return data;
62
+ }
63
+ }
64
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare class ClientAuthenticationError extends Error {
2
+ constructor(message: string);
3
+ }
4
+ export declare class PipelineRequestError extends Error {
5
+ constructor(message: string);
6
+ }
@@ -0,0 +1,13 @@
1
+ export class ClientAuthenticationError extends Error {
2
+ constructor(message) {
3
+ super(message);
4
+ this.name = "ClientAuthenticationError";
5
+ }
6
+ }
7
+ export class PipelineRequestError extends Error {
8
+ constructor(message) {
9
+ super(message);
10
+ this.name = "PipelineRequestError";
11
+ }
12
+ }
13
+ //# sourceMappingURL=exceptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../../src/client/exceptions.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ export { MthdsApiClient } from "./client.js";
2
+ export type { RunnerProtocol } from "./protocol.js";
3
+ export { ClientAuthenticationError, PipelineRequestError, } from "./exceptions.js";
4
+ export type { PipelineState, PipelineRequest, PipelineExecuteResponse, PipelineStartResponse, ExecutePipelineOptions, } from "./pipeline.js";
5
+ export type { DictStuff, DictWorkingMemory, DictPipeOutput, VariableMultiplicity, StuffContentOrData, PipelineInputs, } from "./models/index.js";
@@ -0,0 +1,3 @@
1
+ export { MthdsApiClient } from "./client.js";
2
+ export { ClientAuthenticationError, PipelineRequestError, } from "./exceptions.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export type { DictStuff } from "./stuff.js";
2
+ export type { DictWorkingMemory } from "./working_memory.js";
3
+ export type { DictPipeOutput, VariableMultiplicity } from "./pipe_output.js";
4
+ export type { StuffContentOrData, PipelineInputs } from "./pipeline_inputs.js";
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/models/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export type { DictPipeOutput } from "../../runners/types.js";
2
+ export type VariableMultiplicity = boolean | number;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pipe_output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipe_output.js","sourceRoot":"","sources":["../../../src/client/models/pipe_output.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import type { DictStuff } from "./stuff.js";
2
+ export type StuffContentOrData = string | string[] | Record<string, unknown> | DictStuff;
3
+ export type PipelineInputs = Record<string, StuffContentOrData>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pipeline_inputs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline_inputs.js","sourceRoot":"","sources":["../../../src/client/models/pipeline_inputs.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export type { DictStuff } from "../../runners/types.js";
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=stuff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stuff.js","sourceRoot":"","sources":["../../../src/client/models/stuff.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export type { DictWorkingMemory } from "../../runners/types.js";
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=working_memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"working_memory.js","sourceRoot":"","sources":["../../../src/client/models/working_memory.ts"],"names":[],"mappings":""}
@@ -0,0 +1,36 @@
1
+ import type { DictPipeOutput } from "./models/pipe_output.js";
2
+ import type { VariableMultiplicity } from "./models/pipe_output.js";
3
+ import type { PipelineInputs } from "./models/pipeline_inputs.js";
4
+ export type { PipelineState } from "../runners/types.js";
5
+ export interface PipelineRequest {
6
+ pipe_code?: string | null;
7
+ mthds_content?: string | null;
8
+ inputs?: PipelineInputs | null;
9
+ output_name?: string | null;
10
+ output_multiplicity?: VariableMultiplicity | null;
11
+ dynamic_output_concept_code?: string | null;
12
+ }
13
+ export interface PipelineExecuteResponse {
14
+ pipeline_run_id: string;
15
+ created_at: string;
16
+ pipeline_state: string;
17
+ finished_at?: string | null;
18
+ main_stuff_name?: string | null;
19
+ pipe_output: DictPipeOutput;
20
+ }
21
+ export interface PipelineStartResponse {
22
+ pipeline_run_id: string;
23
+ created_at: string;
24
+ pipeline_state: string;
25
+ finished_at?: string | null;
26
+ main_stuff_name?: string | null;
27
+ pipe_output?: DictPipeOutput | null;
28
+ }
29
+ export interface ExecutePipelineOptions {
30
+ pipe_code?: string | null;
31
+ mthds_content?: string | null;
32
+ inputs?: PipelineInputs | null;
33
+ output_name?: string | null;
34
+ output_multiplicity?: VariableMultiplicity | null;
35
+ dynamic_output_concept_code?: string | null;
36
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/client/pipeline.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import type { ExecutePipelineOptions, PipelineExecuteResponse, PipelineStartResponse } from "./pipeline.js";
2
+ export interface RunnerProtocol {
3
+ executePipeline(options: ExecutePipelineOptions): Promise<PipelineExecuteResponse>;
4
+ startPipeline(options: ExecutePipelineOptions): Promise<PipelineStartResponse>;
5
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/client/protocol.ts"],"names":[],"mappings":""}
@@ -52,7 +52,7 @@ export function showBanner() {
52
52
  console.log(` ${chalk.dim("$")} mthds build pipe "Analyze a CV against a job offer"`);
53
53
  console.log(` ${chalk.dim("$")} mthds validate my_bundle.plx`);
54
54
  console.log(` ${chalk.dim("$")} mthds install my-method-slug\n`);
55
- console.log(chalk.dim(" Docs: https://pipelex.dev/docs\n"));
55
+ console.log(chalk.dim(" Docs: https://docs.pipelex.com \n"));
56
56
  console.log(chalk.bold(" Telemetry:"));
57
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"));
58
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from "./client/index.js";
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./client/index.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -1,2 +1 @@
1
- export declare function isUvInstalled(): boolean;
2
1
  export declare function isPipelexInstalled(): boolean;
@@ -1,20 +1,8 @@
1
1
  import { execFileSync } from "node:child_process";
2
- export function isUvInstalled() {
3
- try {
4
- execFileSync("uv", ["--version"], { stdio: "ignore" });
5
- return true;
6
- }
7
- catch {
8
- return false;
9
- }
10
- }
11
2
  export function isPipelexInstalled() {
12
3
  try {
13
- const output = execFileSync("uv", ["tool", "list"], {
14
- encoding: "utf-8",
15
- stdio: ["ignore", "pipe", "ignore"],
16
- });
17
- return output.includes("pipelex");
4
+ execFileSync("pipelex", ["--version"], { stdio: "ignore" });
5
+ return true;
18
6
  }
19
7
  catch {
20
8
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/runtime/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,UAAU,aAAa;IAC3B,IAAI,CAAC;QACH,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;YAClD,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/runtime/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC;QACH,YAAY,CAAC,SAAS,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -1,39 +1,28 @@
1
- import { execSync, execFileSync } from "node:child_process";
1
+ import { execSync } from "node:child_process";
2
2
  import ora from "ora";
3
- import { isUvInstalled, isPipelexInstalled } from "./check.js";
3
+ import { isPipelexInstalled } from "./check.js";
4
4
  export async function ensureRuntime() {
5
- if (!isUvInstalled()) {
6
- await installUv();
7
- }
8
5
  if (!isPipelexInstalled()) {
9
6
  await installPipelex();
10
7
  }
11
8
  }
12
- async function installUv() {
13
- const spinner = ora("Installing uv runtime...").start();
14
- try {
15
- execSync("curl -LsSf https://astral.sh/uv/install.sh | sh", {
16
- stdio: "ignore",
17
- shell: "/bin/sh",
18
- });
19
- spinner.succeed("uv installed");
20
- }
21
- catch (error) {
22
- spinner.fail("Failed to install uv");
23
- throw new Error("Could not install uv. Please install it manually: https://docs.astral.sh/uv/getting-started/installation/");
24
- }
25
- }
26
9
  async function installPipelex() {
27
- const spinner = ora("Setting up pipelex runtime...").start();
10
+ const spinner = ora("Installing pipelex...").start();
28
11
  try {
29
- execFileSync("uv", ["tool", "install", "pipelex"], {
30
- stdio: "ignore",
31
- });
12
+ if (process.platform === "win32") {
13
+ execSync('powershell -Command "irm https://pipelex.com/install.ps1 | iex"', { stdio: "ignore" });
14
+ }
15
+ else {
16
+ execSync("curl -fsSL https://pipelex.com/install.sh | sh", {
17
+ stdio: "ignore",
18
+ shell: "/bin/sh",
19
+ });
20
+ }
32
21
  spinner.succeed("pipelex installed");
33
22
  }
34
23
  catch (error) {
35
24
  spinner.fail("Failed to install pipelex");
36
- throw new Error("Could not install pipelex via uv. Try manually: uv tool install pipelex");
25
+ throw new Error("Could not install pipelex. Please install it manually: https://pipelex.com");
37
26
  }
38
27
  }
39
28
  //# sourceMappingURL=installer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/runtime/installer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QACrB,MAAM,SAAS,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;QAC1B,MAAM,cAAc,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS;IACtB,MAAM,OAAO,GAAG,GAAG,CAAC,0BAA0B,CAAC,CAAC,KAAK,EAAE,CAAC;IACxD,IAAI,CAAC;QACH,QAAQ,CAAC,iDAAiD,EAAE;YAC1D,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,2GAA2G,CAC5G,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc;IAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,+BAA+B,CAAC,CAAC,KAAK,EAAE,CAAC;IAC7D,IAAI,CAAC;QACH,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE;YACjD,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/runtime/installer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;QAC1B,MAAM,cAAc,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc;IAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC;IACrD,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,QAAQ,CACN,iEAAiE,EACjE,EAAE,KAAK,EAAE,QAAQ,EAAE,CACpB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,gDAAgD,EAAE;gBACzD,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;IACJ,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,18 +1,27 @@
1
1
  {
2
2
  "name": "mthds",
3
- "version": "0.0.3",
4
- "description": "CLI for composable methods for AI agents. Turn your knowledge processes into executable methods.",
3
+ "version": "0.0.5",
4
+ "description": "CLI and SDK for MTHDS the open standard for reusable AI agent methods. Install, execute, and manage methods.",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "https://github.com/Pipelex/mthds-js"
8
+ "url": "https://github.com/mthds-ai/mthds-js"
9
9
  },
10
10
  "type": "module",
11
+ "main": "./dist/index.js",
12
+ "types": "./dist/index.d.ts",
13
+ "exports": {
14
+ ".": {
15
+ "import": "./dist/index.js",
16
+ "types": "./dist/index.d.ts"
17
+ }
18
+ },
11
19
  "bin": {
12
20
  "mthds": "./dist/cli.js"
13
21
  },
14
22
  "scripts": {
15
- "build": "tsc"
23
+ "build": "tsc",
24
+ "example": "npx tsx examples/call_api.ts"
16
25
  },
17
26
  "files": [
18
27
  "dist/"
@@ -30,6 +39,7 @@
30
39
  },
31
40
  "devDependencies": {
32
41
  "@types/node": "^22.12.0",
42
+ "tsx": "^4.19.0",
33
43
  "typescript": "^5.7.3"
34
44
  }
35
45
  }