mthds 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +96 -15
- package/dist/agents/claude-code.js +24 -9
- package/dist/agents/claude-code.js.map +1 -1
- package/dist/agents/types.d.ts +1 -2
- package/dist/cli.js +48 -5
- package/dist/cli.js.map +1 -1
- package/dist/commands/index.js +8 -4
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/install.d.ts +5 -1
- package/dist/commands/install.js +113 -21
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/telemetry.d.ts +3 -0
- package/dist/commands/telemetry.js +49 -0
- package/dist/commands/telemetry.js.map +1 -0
- package/dist/resolver/address.d.ts +2 -0
- package/dist/resolver/address.js +27 -0
- package/dist/resolver/address.js.map +1 -0
- package/dist/resolver/github.d.ts +2 -0
- package/dist/resolver/github.js +179 -0
- package/dist/resolver/github.js.map +1 -0
- package/dist/resolver/index.d.ts +6 -0
- package/dist/resolver/index.js +5 -0
- package/dist/resolver/index.js.map +1 -0
- package/dist/resolver/local.d.ts +2 -0
- package/dist/resolver/local.js +123 -0
- package/dist/resolver/local.js.map +1 -0
- package/dist/resolver/types.d.ts +50 -0
- package/dist/resolver/types.js +2 -0
- package/dist/resolver/types.js.map +1 -0
- package/dist/resolver/validate.d.ts +12 -0
- package/dist/resolver/validate.js +177 -0
- package/dist/resolver/validate.js.map +1 -0
- package/dist/runtime/check.d.ts +0 -1
- package/dist/runtime/check.js +2 -14
- package/dist/runtime/check.js.map +1 -1
- package/dist/runtime/installer.js +13 -24
- package/dist/runtime/installer.js.map +1 -1
- package/dist/supabase/methods.d.ts +2 -2
- package/dist/supabase/methods.js +4 -3
- package/dist/supabase/methods.js.map +1 -1
- package/dist/supabase/types.d.ts +15 -10
- package/dist/telemetry/posthog.d.ts +23 -1
- package/dist/telemetry/posthog.js +86 -4
- package/dist/telemetry/posthog.js.map +1 -1
- package/package.json +7 -4
package/README.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
CLI and SDK for **methods** — reusable workflows for AI coding agents.
|
|
4
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).
|
|
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.
|
|
@@ -11,31 +13,112 @@ A method is a packaged workflow that an AI agent (like Claude Code) can use. Met
|
|
|
11
13
|
### Install a method
|
|
12
14
|
|
|
13
15
|
```bash
|
|
14
|
-
npx mthds install
|
|
16
|
+
npx mthds install org/repo-name
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
To install a single method from a multi-method repository:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx mthds install org/repo-name --method my-method
|
|
15
23
|
```
|
|
16
24
|
|
|
17
25
|
The CLI will:
|
|
18
26
|
|
|
19
|
-
1.
|
|
20
|
-
2.
|
|
21
|
-
3.
|
|
22
|
-
4.
|
|
23
|
-
5.
|
|
27
|
+
1. Fetch the `methods/` folder from the GitHub repository
|
|
28
|
+
2. Validate each method's `METHODS.toml` manifest
|
|
29
|
+
3. If `--method <slug>` is provided, install only that method (errors if slug not found)
|
|
30
|
+
4. Ask which AI agent to install it for (Claude Code, with more coming soon)
|
|
31
|
+
5. Ask where to install — **local** (current project) or **global** (your machine)
|
|
32
|
+
6. Optionally install a [runner](#runners)
|
|
33
|
+
7. Copy all `.mthds` files to `.claude/methods/<repo-name>/<slug>/`
|
|
34
|
+
|
|
35
|
+
You can also install from a local directory:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
npx mthds install --dir /path/to/your/repo
|
|
39
|
+
```
|
|
24
40
|
|
|
25
41
|
### Install locations
|
|
26
42
|
|
|
27
43
|
| Location | Path |
|
|
28
44
|
|----------|------|
|
|
29
|
-
| Local | `<cwd>/.claude/methods/<slug>/` |
|
|
30
|
-
| Global | `~/.claude/methods/<slug>/` |
|
|
45
|
+
| Local | `<cwd>/.claude/methods/<repo-name>/<slug>/` |
|
|
46
|
+
| Global | `~/.claude/methods/<repo-name>/<slug>/` |
|
|
47
|
+
|
|
48
|
+
## Publishing a method
|
|
49
|
+
|
|
50
|
+
To make your methods installable via `npx mthds install`, you need a **public GitHub repository** with the right structure.
|
|
51
|
+
|
|
52
|
+
### Repository structure
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
org/repo-name (or user-name/repo-name)
|
|
56
|
+
└── methods/
|
|
57
|
+
├── my-method/
|
|
58
|
+
│ ├── METHODS.toml
|
|
59
|
+
│ ├── main.mthds
|
|
60
|
+
│ └── helpers/
|
|
61
|
+
│ └── utils.mthds
|
|
62
|
+
└── another-method/
|
|
63
|
+
├── METHODS.toml
|
|
64
|
+
└── pipeline.mthds
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Rules
|
|
68
|
+
|
|
69
|
+
1. The repository must be **public** on GitHub, with the address format `org/repo-name` or `user-name/repo-name`
|
|
70
|
+
2. The repository must contain a `methods/` folder at its root
|
|
71
|
+
3. Inside `methods/`, each subfolder is a **method package**. The folder name is the **slug** and **must be kebab-case** (e.g. `my-method`, `legal-tools`)
|
|
72
|
+
4. Each method package folder must contain a `METHODS.toml` file that follows the [manifest specification](https://mthds.ai/latest/packages/manifest/)
|
|
73
|
+
5. Each method package folder should contain one or more `.mthds` files (the actual method definitions)
|
|
31
74
|
|
|
32
|
-
###
|
|
75
|
+
### METHODS.toml
|
|
76
|
+
|
|
77
|
+
The `METHODS.toml` manifest is validated during installation. A minimal valid manifest:
|
|
78
|
+
|
|
79
|
+
```toml
|
|
80
|
+
[package]
|
|
81
|
+
address = "github.com/your-org/your-repo"
|
|
82
|
+
version = "1.0.0"
|
|
83
|
+
description = "A short description of what this method does"
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Optional fields: `display_name`, `authors`, `license`, `mthds_version`.
|
|
87
|
+
|
|
88
|
+
See the full specification at [mthds.ai/latest/packages/manifest](https://mthds.ai/latest/packages/manifest/).
|
|
89
|
+
|
|
90
|
+
### Validation
|
|
91
|
+
|
|
92
|
+
The CLI validates everything during install:
|
|
93
|
+
|
|
94
|
+
- Slug must be kebab-case, start with a letter, max 64 characters
|
|
95
|
+
- `METHODS.toml` must parse as valid TOML
|
|
96
|
+
- `[package]` section with `address`, `version` (semver), and `description` are required
|
|
97
|
+
- `address` must include a hostname with a dot (e.g. `github.com/...`)
|
|
98
|
+
- Invalid methods are skipped with detailed error messages; valid ones proceed to install
|
|
99
|
+
|
|
100
|
+
## Runners
|
|
101
|
+
|
|
102
|
+
To execute a method, you need a **runner**. A runner is the engine that takes a method definition and actually runs it.
|
|
103
|
+
|
|
104
|
+
### Available runners
|
|
105
|
+
|
|
106
|
+
| Runner | Description |
|
|
107
|
+
|--------|-------------|
|
|
108
|
+
| **Pipelex** (local) | A Python-based runner you install on your machine. Install it with `npx mthds setup runner pipelex`. |
|
|
109
|
+
| **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. |
|
|
110
|
+
|
|
111
|
+
These are the only runners that exist today. Feel free to create your own runner in a different language!
|
|
112
|
+
|
|
113
|
+
### Install the local runner
|
|
33
114
|
|
|
34
115
|
```bash
|
|
35
|
-
npx mthds setup
|
|
116
|
+
npx mthds setup runner pipelex
|
|
36
117
|
```
|
|
37
118
|
|
|
38
|
-
|
|
119
|
+
### Use the API runner
|
|
120
|
+
|
|
121
|
+
See the [SDK Usage](#sdk-usage) section below to connect to a Pipelex API instance.
|
|
39
122
|
|
|
40
123
|
## SDK Usage
|
|
41
124
|
|
|
@@ -65,11 +148,9 @@ const result = await client.executePipeline({
|
|
|
65
148
|
console.log(result.pipe_output);
|
|
66
149
|
```
|
|
67
150
|
|
|
68
|
-
The hosted API at `https://api.pipelex.com` is coming soon. In the meantime, you can run the API yourself.
|
|
69
|
-
|
|
70
151
|
### Self-hosted API
|
|
71
152
|
|
|
72
|
-
Point the client to your own
|
|
153
|
+
Point the client to your own [pipelex-api](https://github.com/Pipelex/pipelex-api) instance:
|
|
73
154
|
|
|
74
155
|
```typescript
|
|
75
156
|
const client = new MthdsApiClient({
|
|
@@ -114,7 +195,7 @@ Either `pipe_code` or `mthds_content` must be provided.
|
|
|
114
195
|
|
|
115
196
|
## Telemetry
|
|
116
197
|
|
|
117
|
-
Anonymous usage data
|
|
198
|
+
Anonymous usage data is collected to help rank methods on the leaderboard. Each `install` event includes the package address, slug, version, and manifest metadata. No personal or device information is collected.
|
|
118
199
|
|
|
119
200
|
To opt out:
|
|
120
201
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { join } from "node:path";
|
|
1
|
+
import { join, dirname, resolve } from "node:path";
|
|
2
2
|
import { mkdirSync, writeFileSync } from "node:fs";
|
|
3
3
|
import * as p from "@clack/prompts";
|
|
4
4
|
import { Agent } from "./types.js";
|
|
@@ -8,14 +8,29 @@ export const claudeCodeHandler = {
|
|
|
8
8
|
supported: true,
|
|
9
9
|
async installMethod(ctx) {
|
|
10
10
|
const s = p.spinner();
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
const { repo } = ctx;
|
|
12
|
+
for (const method of repo.methods) {
|
|
13
|
+
const installDir = resolve(join(ctx.targetDir, repo.repoName, method.slug));
|
|
14
|
+
s.start(`Installing "${method.slug}" to ${installDir}...`);
|
|
15
|
+
// Create the install directory
|
|
16
|
+
mkdirSync(installDir, { recursive: true });
|
|
17
|
+
// Write METHODS.toml (verbatim raw string)
|
|
18
|
+
writeFileSync(join(installDir, "METHODS.toml"), method.rawManifest, "utf-8");
|
|
19
|
+
// Write all .mthds files, preserving directory structure
|
|
20
|
+
for (const file of method.files) {
|
|
21
|
+
const filePath = resolve(join(installDir, file.relativePath));
|
|
22
|
+
if (!filePath.startsWith(installDir + "/")) {
|
|
23
|
+
throw new Error(`Path traversal detected: "${file.relativePath}" escapes install directory.`);
|
|
24
|
+
}
|
|
25
|
+
mkdirSync(dirname(filePath), { recursive: true });
|
|
26
|
+
writeFileSync(filePath, file.content, "utf-8");
|
|
27
|
+
}
|
|
28
|
+
const fileCount = method.files.length;
|
|
29
|
+
const filesMsg = fileCount === 0
|
|
30
|
+
? "(manifest only)"
|
|
31
|
+
: `(${fileCount} .mthds file${fileCount > 1 ? "s" : ""})`;
|
|
32
|
+
s.stop(`Installed "${method.slug}" to ${installDir} ${filesMsg}`);
|
|
33
|
+
}
|
|
19
34
|
},
|
|
20
35
|
};
|
|
21
36
|
//# sourceMappingURL=claude-code.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/agents/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/agents/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,CAAC,MAAM,iBAAiB,GAAiB;IAC7C,EAAE,EAAE,KAAK,CAAC,UAAU;IACpB,KAAK,EAAE,aAAa;IACpB,SAAS,EAAE,IAAI;IAEf,KAAK,CAAC,aAAa,CAAC,GAAmB;QACrC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QACtB,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;QAErB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAE5E,CAAC,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,IAAI,QAAQ,UAAU,KAAK,CAAC,CAAC;YAE3D,+BAA+B;YAC/B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE3C,2CAA2C;YAC3C,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAE7E,yDAAyD;YACzD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC9D,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC,EAAE,CAAC;oBAC3C,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,YAAY,8BAA8B,CAAC,CAAC;gBAChG,CAAC;gBACD,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACjD,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YACtC,MAAM,QAAQ,GAAG,SAAS,KAAK,CAAC;gBAC9B,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,IAAI,SAAS,eAAe,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;YAE5D,CAAC,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,IAAI,QAAQ,UAAU,IAAI,QAAQ,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;CACF,CAAC"}
|
package/dist/agents/types.d.ts
CHANGED
|
@@ -11,8 +11,7 @@ export declare const InstallLocation: {
|
|
|
11
11
|
};
|
|
12
12
|
export type InstallLocation = (typeof InstallLocation)[keyof typeof InstallLocation];
|
|
13
13
|
export interface InstallContext {
|
|
14
|
-
readonly
|
|
15
|
-
readonly content: string;
|
|
14
|
+
readonly repo: import("../resolver/types.js").ResolvedRepo;
|
|
16
15
|
readonly agent: Agent;
|
|
17
16
|
readonly location: InstallLocation;
|
|
18
17
|
readonly targetDir: string;
|
package/dist/cli.js
CHANGED
|
@@ -11,6 +11,7 @@ import { runPipeline } from "./commands/run.js";
|
|
|
11
11
|
import { buildPipe, buildRunner, buildInputs, buildOutput, } from "./commands/build.js";
|
|
12
12
|
import { validatePlx } from "./commands/validate.js";
|
|
13
13
|
import { runnerSetDefault, runnerList } from "./commands/runner.js";
|
|
14
|
+
import { telemetryDisable, telemetryEnable, telemetryStatus } from "./commands/telemetry.js";
|
|
14
15
|
function getRunner(cmd) {
|
|
15
16
|
return cmd.optsWithGlobals().runner;
|
|
16
17
|
}
|
|
@@ -95,14 +96,30 @@ program
|
|
|
95
96
|
.action(async (target, options, cmd) => {
|
|
96
97
|
await validatePlx(target, { ...options, runner: getRunner(cmd) });
|
|
97
98
|
});
|
|
98
|
-
// ── mthds install
|
|
99
|
+
// ── mthds install [address] ──────────────────────────────────────────
|
|
99
100
|
program
|
|
100
101
|
.command("install")
|
|
101
|
-
.argument("
|
|
102
|
-
.
|
|
102
|
+
.argument("[address]", "Package address (org/repo or org/repo/sub/path)")
|
|
103
|
+
.option("--dir <path>", "Install from a local directory")
|
|
104
|
+
.option("--method <slug>", "Install only the specified method (by slug)")
|
|
105
|
+
.description("Install a method package")
|
|
103
106
|
.exitOverride()
|
|
104
|
-
.action(async (
|
|
105
|
-
|
|
107
|
+
.action(async (address, opts) => {
|
|
108
|
+
if (address && opts.dir) {
|
|
109
|
+
printLogo();
|
|
110
|
+
p.intro("mthds install");
|
|
111
|
+
p.log.error("Cannot use both an address and --dir at the same time.");
|
|
112
|
+
p.outro("");
|
|
113
|
+
process.exit(1);
|
|
114
|
+
}
|
|
115
|
+
if (!address && !opts.dir) {
|
|
116
|
+
printLogo();
|
|
117
|
+
p.intro("mthds install");
|
|
118
|
+
p.log.error("Provide an address (org/repo) or use --dir <path>.");
|
|
119
|
+
p.outro("");
|
|
120
|
+
process.exit(1);
|
|
121
|
+
}
|
|
122
|
+
await installMethod({ address, dir: opts.dir, method: opts.method });
|
|
106
123
|
});
|
|
107
124
|
// ── mthds setup runner <name> ──────────────────────────────────────
|
|
108
125
|
const setup = program.command("setup").exitOverride();
|
|
@@ -159,6 +176,32 @@ config
|
|
|
159
176
|
.action(async () => {
|
|
160
177
|
await configList();
|
|
161
178
|
});
|
|
179
|
+
// ── mthds telemetry disable|enable|status ───────────────────────────
|
|
180
|
+
const telemetry = program
|
|
181
|
+
.command("telemetry")
|
|
182
|
+
.description("Manage anonymous telemetry")
|
|
183
|
+
.exitOverride();
|
|
184
|
+
telemetry
|
|
185
|
+
.command("disable")
|
|
186
|
+
.description("Disable anonymous telemetry")
|
|
187
|
+
.exitOverride()
|
|
188
|
+
.action(async () => {
|
|
189
|
+
await telemetryDisable();
|
|
190
|
+
});
|
|
191
|
+
telemetry
|
|
192
|
+
.command("enable")
|
|
193
|
+
.description("Enable anonymous telemetry")
|
|
194
|
+
.exitOverride()
|
|
195
|
+
.action(async () => {
|
|
196
|
+
await telemetryEnable();
|
|
197
|
+
});
|
|
198
|
+
telemetry
|
|
199
|
+
.command("status")
|
|
200
|
+
.description("Show telemetry status")
|
|
201
|
+
.exitOverride()
|
|
202
|
+
.action(async () => {
|
|
203
|
+
await telemetryStatus();
|
|
204
|
+
});
|
|
162
205
|
// Default: show banner
|
|
163
206
|
program.action(() => {
|
|
164
207
|
showBanner();
|
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,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/index.js
CHANGED
|
@@ -42,7 +42,7 @@ export function showBanner() {
|
|
|
42
42
|
console.log(` ${chalk.yellow("runner set-default <name>")} Set the default runner`);
|
|
43
43
|
console.log(` ${chalk.yellow("runner list")} List available runners\n`);
|
|
44
44
|
console.log(chalk.bold(" Setup:"));
|
|
45
|
-
console.log(` ${chalk.yellow("install <
|
|
45
|
+
console.log(` ${chalk.yellow("install <address>")} Install a method package`);
|
|
46
46
|
console.log(` ${chalk.yellow("config set <key> <val>")} Set a config value`);
|
|
47
47
|
console.log(` ${chalk.yellow("config get <key>")} Get a config value`);
|
|
48
48
|
console.log(` ${chalk.yellow("config list")} List all config values\n`);
|
|
@@ -51,9 +51,13 @@ export function showBanner() {
|
|
|
51
51
|
console.log(` ${chalk.dim("$")} mthds run my_bundle.plx --inputs data.json`);
|
|
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
|
-
console.log(` ${chalk.dim("$")} mthds install
|
|
55
|
-
console.log(chalk.dim("
|
|
54
|
+
console.log(` ${chalk.dim("$")} mthds install pipelex/cookbook`);
|
|
55
|
+
console.log(` ${chalk.dim("$")} mthds install --dir ./my-local-method\n`);
|
|
56
|
+
console.log(chalk.dim(" Docs: https://docs.pipelex.com \n"));
|
|
56
57
|
console.log(chalk.bold(" Telemetry:"));
|
|
57
|
-
console.log(chalk.
|
|
58
|
+
console.log(` ${chalk.yellow("telemetry disable")} Disable anonymous telemetry`);
|
|
59
|
+
console.log(` ${chalk.yellow("telemetry enable")} Enable anonymous telemetry`);
|
|
60
|
+
console.log(` ${chalk.yellow("telemetry status")} Show telemetry status\n`);
|
|
61
|
+
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 or mthds telemetry disable\n"));
|
|
58
62
|
}
|
|
59
63
|
//# sourceMappingURL=index.js.map
|
|
@@ -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,cAAc,CAAC,kCAAkC,CACtE,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,wCAAwC,CAClF,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,kCAAkC,CAC/E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,kCAAkC,CAC/E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,6BAA6B,CAC1E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,iCAAiC,CAC1E,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,yBAAyB,CACpE,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,yBAAyB,CAC1E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,0CAA0C,CAC7E,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,
|
|
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,cAAc,CAAC,kCAAkC,CACtE,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,wCAAwC,CAClF,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,kCAAkC,CAC/E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,kCAAkC,CAC/E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,6BAA6B,CAC1E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,iCAAiC,CAC1E,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,yBAAyB,CACpE,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,yBAAyB,CAC1E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,0CAA0C,CAC7E,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,oCAAoC,CAC7E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,wBAAwB,CAAC,wBAAwB,CACtE,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,8BAA8B,CACtE,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,0CAA0C,CAC7E,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACzF,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAE7E,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,qCAAqC,CAAC,CACjD,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,qCAAqC,CAC9E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,qCAAqC,CAC7E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,kCAAkC,CAC1E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,oLAAoL,CACrL,CACF,CAAC;AACJ,CAAC"}
|
package/dist/commands/install.js
CHANGED
|
@@ -8,32 +8,107 @@ import * as p from "@clack/prompts";
|
|
|
8
8
|
import chalk from "chalk";
|
|
9
9
|
import { isPipelexInstalled } from "../runtime/check.js";
|
|
10
10
|
import { ensureRuntime } from "../runtime/installer.js";
|
|
11
|
-
import {
|
|
11
|
+
import { trackInstall, shutdown } from "../telemetry/posthog.js";
|
|
12
12
|
import { printLogo } from "./index.js";
|
|
13
13
|
import { InstallLocation as Loc } from "../agents/types.js";
|
|
14
14
|
import { getAllAgents, getAgentHandler } from "../agents/registry.js";
|
|
15
|
-
import {
|
|
16
|
-
|
|
15
|
+
import { parseAddress } from "../resolver/address.js";
|
|
16
|
+
import { resolveFromGitHub } from "../resolver/github.js";
|
|
17
|
+
import { resolveFromLocal } from "../resolver/local.js";
|
|
18
|
+
export async function installMethod(options) {
|
|
17
19
|
printLogo();
|
|
18
20
|
p.intro("mthds install");
|
|
19
|
-
|
|
21
|
+
const { address, dir, method: methodFilter } = options;
|
|
22
|
+
// Step 0: Resolve repo (multiple methods)
|
|
20
23
|
const s = p.spinner();
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
let resolved;
|
|
25
|
+
// Derive org/repo for telemetry
|
|
26
|
+
let orgRepo;
|
|
27
|
+
if (dir) {
|
|
28
|
+
s.start(`Resolving methods from ${dir}...`);
|
|
29
|
+
try {
|
|
30
|
+
resolved = resolveFromLocal(dir);
|
|
31
|
+
}
|
|
32
|
+
catch (err) {
|
|
33
|
+
s.stop("Failed to resolve local methods.");
|
|
34
|
+
p.log.error(err.message);
|
|
35
|
+
p.outro("");
|
|
36
|
+
process.exit(1);
|
|
37
|
+
}
|
|
38
|
+
s.stop(`Scanned methods/ folder in ${dir}`);
|
|
39
|
+
// Derive org/repo from first method's package.address (strip github.com/ prefix)
|
|
40
|
+
if (resolved.methods.length > 0) {
|
|
41
|
+
const addr = resolved.methods[0].manifest.package.address;
|
|
42
|
+
orgRepo = addr.replace(/^github\.com\//, "");
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
else if (address) {
|
|
46
|
+
let parsed;
|
|
47
|
+
try {
|
|
48
|
+
parsed = parseAddress(address);
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
p.log.error(err.message);
|
|
52
|
+
p.outro("");
|
|
53
|
+
process.exit(1);
|
|
54
|
+
}
|
|
55
|
+
s.start(`Resolving methods from ${parsed.org}/${parsed.repo}${parsed.subpath ? `/${parsed.subpath}` : ""}...`);
|
|
56
|
+
try {
|
|
57
|
+
resolved = await resolveFromGitHub(parsed);
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
s.stop("Failed to resolve methods.");
|
|
61
|
+
p.log.error(err.message);
|
|
62
|
+
p.outro("");
|
|
63
|
+
process.exit(1);
|
|
64
|
+
}
|
|
65
|
+
s.stop(`Scanned methods/ folder in ${parsed.org}/${parsed.repo}`);
|
|
66
|
+
orgRepo = `${parsed.org}/${parsed.repo}`;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
p.log.error("Provide an address (org/repo) or use --dir <path>.");
|
|
27
70
|
p.outro("");
|
|
28
71
|
process.exit(1);
|
|
29
72
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
73
|
+
// Filter by --method if provided
|
|
74
|
+
if (methodFilter) {
|
|
75
|
+
const match = resolved.methods.find((m) => m.slug === methodFilter);
|
|
76
|
+
if (!match) {
|
|
77
|
+
const available = resolved.methods.map((m) => m.slug).join(", ");
|
|
78
|
+
p.log.error(`Method "${methodFilter}" not found. Available slugs: ${available || "(none)"}`);
|
|
79
|
+
p.outro("");
|
|
80
|
+
process.exit(1);
|
|
81
|
+
}
|
|
82
|
+
resolved = { ...resolved, methods: [match] };
|
|
83
|
+
}
|
|
84
|
+
// Display summary
|
|
85
|
+
const validCount = resolved.methods.length;
|
|
86
|
+
const skippedCount = resolved.skipped.length;
|
|
87
|
+
const totalCount = validCount + skippedCount;
|
|
88
|
+
p.log.info([
|
|
89
|
+
`${chalk.bold("Methods found:")} ${totalCount} total, ${chalk.green(`${validCount} valid`)}, ${skippedCount > 0 ? chalk.yellow(`${skippedCount} skipped`) : `${skippedCount} skipped`}`,
|
|
90
|
+
].join("\n"));
|
|
91
|
+
// Show valid methods
|
|
92
|
+
for (const method of resolved.methods) {
|
|
93
|
+
const m = method.manifest.package;
|
|
94
|
+
const fileCount = method.files.length;
|
|
95
|
+
p.log.success([
|
|
96
|
+
`${chalk.bold(method.slug)} — ${m.display_name ?? m.address} v${m.version}`,
|
|
97
|
+
` ${m.description}`,
|
|
98
|
+
` ${fileCount} .mthds file${fileCount !== 1 ? "s" : ""}`,
|
|
99
|
+
].join("\n"));
|
|
100
|
+
}
|
|
101
|
+
// Show skipped methods with errors
|
|
102
|
+
for (const skip of resolved.skipped) {
|
|
103
|
+
const errList = skip.errors.map((e) => ` - ${e}`).join("\n");
|
|
104
|
+
p.log.warning(`${chalk.bold(skip.slug)} — skipped:\n${errList}`);
|
|
105
|
+
}
|
|
106
|
+
// If no valid methods, exit
|
|
107
|
+
if (validCount === 0) {
|
|
108
|
+
p.log.error("No valid methods to install.");
|
|
33
109
|
p.outro("");
|
|
34
110
|
process.exit(1);
|
|
35
111
|
}
|
|
36
|
-
s.stop(`Found "${method.name}"${method.description ? ` — ${method.description}` : ""}`);
|
|
37
112
|
// Step 1: Which AI agent?
|
|
38
113
|
const agents = getAllAgents();
|
|
39
114
|
const agentOptions = agents.map((a) => ({
|
|
@@ -43,7 +118,7 @@ export async function installMethod(slug) {
|
|
|
43
118
|
disabled: !a.supported,
|
|
44
119
|
}));
|
|
45
120
|
const selectedAgent = await p.select({
|
|
46
|
-
message: "Which AI agent do you want to install
|
|
121
|
+
message: "Which AI agent do you want to install these methods for?",
|
|
47
122
|
options: agentOptions,
|
|
48
123
|
});
|
|
49
124
|
if (p.isCancel(selectedAgent)) {
|
|
@@ -54,7 +129,7 @@ export async function installMethod(slug) {
|
|
|
54
129
|
const localDir = join(process.cwd(), ".claude", "methods");
|
|
55
130
|
const globalDir = join(homedir(), ".claude", "methods");
|
|
56
131
|
const selectedLocation = await p.select({
|
|
57
|
-
message: "Where do you want to install
|
|
132
|
+
message: "Where do you want to install these methods?",
|
|
58
133
|
options: [
|
|
59
134
|
{
|
|
60
135
|
value: Loc.Local,
|
|
@@ -90,14 +165,31 @@ export async function installMethod(slug) {
|
|
|
90
165
|
p.log.success("pipelex is already installed.");
|
|
91
166
|
}
|
|
92
167
|
}
|
|
93
|
-
// Step 4: Install via the agent handler
|
|
168
|
+
// Step 4: Install all valid methods via the agent handler
|
|
94
169
|
const targetDir = selectedLocation === Loc.Global ? globalDir : localDir;
|
|
95
170
|
mkdirSync(targetDir, { recursive: true });
|
|
96
171
|
const handler = getAgentHandler(selectedAgent);
|
|
97
|
-
|
|
172
|
+
// Track telemetry only for public GitHub repositories
|
|
173
|
+
if (resolved.source === "github" && resolved.isPublic) {
|
|
174
|
+
for (const method of resolved.methods) {
|
|
175
|
+
const pkg = method.manifest.package;
|
|
176
|
+
trackInstall({
|
|
177
|
+
address: orgRepo ?? pkg.address.replace(/^github\.com\//, ""),
|
|
178
|
+
slug: method.slug,
|
|
179
|
+
version: pkg.version,
|
|
180
|
+
description: pkg.description,
|
|
181
|
+
display_name: pkg.display_name,
|
|
182
|
+
authors: pkg.authors,
|
|
183
|
+
license: pkg.license,
|
|
184
|
+
mthds_version: pkg.mthds_version,
|
|
185
|
+
exports: method.manifest.exports,
|
|
186
|
+
dependencies: method.manifest.dependencies,
|
|
187
|
+
manifest_raw: method.rawManifest,
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
}
|
|
98
191
|
await handler.installMethod({
|
|
99
|
-
|
|
100
|
-
content: method.content,
|
|
192
|
+
repo: resolved,
|
|
101
193
|
agent: selectedAgent,
|
|
102
194
|
location: selectedLocation,
|
|
103
195
|
targetDir,
|
|
@@ -118,7 +210,7 @@ export async function installMethod(slug) {
|
|
|
118
210
|
? chalk.yellow(" press space to select, enter to confirm")
|
|
119
211
|
: chalk.dim(" press space to select, enter to confirm");
|
|
120
212
|
const result = await p.multiselect({
|
|
121
|
-
message: `
|
|
213
|
+
message: `For a better experience using the pipelex runner, install the skills:\n${hint}`,
|
|
122
214
|
options: skillChoices,
|
|
123
215
|
required: false,
|
|
124
216
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAClC,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|