@paretools/python 0.8.5 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/formatters.d.ts +52 -5
- package/dist/lib/formatters.d.ts.map +1 -1
- package/dist/lib/formatters.js +287 -37
- package/dist/lib/formatters.js.map +1 -1
- package/dist/lib/parsers.d.ts +30 -15
- package/dist/lib/parsers.d.ts.map +1 -1
- package/dist/lib/parsers.js +506 -51
- package/dist/lib/parsers.js.map +1 -1
- package/dist/lib/python-runner.d.ts +2 -0
- package/dist/lib/python-runner.d.ts.map +1 -1
- package/dist/lib/python-runner.js +12 -8
- package/dist/lib/python-runner.js.map +1 -1
- package/dist/schemas/index.d.ts +354 -69
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +266 -32
- package/dist/schemas/index.js.map +1 -1
- package/dist/tools/black.d.ts.map +1 -1
- package/dist/tools/black.js +45 -10
- package/dist/tools/black.js.map +1 -1
- package/dist/tools/conda.d.ts.map +1 -1
- package/dist/tools/conda.js +73 -14
- package/dist/tools/conda.js.map +1 -1
- package/dist/tools/mypy.d.ts.map +1 -1
- package/dist/tools/mypy.js +168 -13
- package/dist/tools/mypy.js.map +1 -1
- package/dist/tools/pip-audit.d.ts.map +1 -1
- package/dist/tools/pip-audit.js +75 -15
- package/dist/tools/pip-audit.js.map +1 -1
- package/dist/tools/pip-install.d.ts.map +1 -1
- package/dist/tools/pip-install.js +88 -14
- package/dist/tools/pip-install.js.map +1 -1
- package/dist/tools/pip-list.d.ts.map +1 -1
- package/dist/tools/pip-list.js +58 -13
- package/dist/tools/pip-list.js.map +1 -1
- package/dist/tools/pip-show.d.ts.map +1 -1
- package/dist/tools/pip-show.js +46 -12
- package/dist/tools/pip-show.js.map +1 -1
- package/dist/tools/poetry.d.ts.map +1 -1
- package/dist/tools/poetry.js +75 -14
- package/dist/tools/poetry.js.map +1 -1
- package/dist/tools/pyenv.d.ts.map +1 -1
- package/dist/tools/pyenv.js +84 -19
- package/dist/tools/pyenv.js.map +1 -1
- package/dist/tools/pytest.d.ts.map +1 -1
- package/dist/tools/pytest.js +77 -11
- package/dist/tools/pytest.js.map +1 -1
- package/dist/tools/ruff-format.d.ts.map +1 -1
- package/dist/tools/ruff-format.js +84 -9
- package/dist/tools/ruff-format.js.map +1 -1
- package/dist/tools/ruff.d.ts.map +1 -1
- package/dist/tools/ruff.js +87 -11
- package/dist/tools/ruff.js.map +1 -1
- package/dist/tools/uv-install.d.ts.map +1 -1
- package/dist/tools/uv-install.js +79 -14
- package/dist/tools/uv-install.js.map +1 -1
- package/dist/tools/uv-run.d.ts.map +1 -1
- package/dist/tools/uv-run.js +81 -13
- package/dist/tools/uv-run.js.map +1 -1
- package/package.json +2 -2
package/dist/tools/uv-install.js
CHANGED
|
@@ -8,16 +8,9 @@ import { UvInstallSchema } from "../schemas/index.js";
|
|
|
8
8
|
export function registerUvInstallTool(server) {
|
|
9
9
|
server.registerTool("uv-install", {
|
|
10
10
|
title: "uv Install",
|
|
11
|
-
description: "Runs uv pip install and returns a structured summary of installed packages. "
|
|
12
|
-
"Use instead of running `uv pip install` in the terminal. " +
|
|
13
|
-
"WARNING: Installing packages may execute arbitrary setup.py code during build. " +
|
|
14
|
-
"Only install trusted packages. Use dryRun to preview what would be installed before committing.",
|
|
11
|
+
description: "Runs uv pip install and returns a structured summary of installed packages. WARNING: may execute untrusted code.",
|
|
15
12
|
inputSchema: {
|
|
16
|
-
path: z
|
|
17
|
-
.string()
|
|
18
|
-
.max(INPUT_LIMITS.PATH_MAX)
|
|
19
|
-
.optional()
|
|
20
|
-
.describe("Working directory (default: cwd)"),
|
|
13
|
+
path: z.string().max(INPUT_LIMITS.PATH_MAX).optional().describe("Working directory"),
|
|
21
14
|
packages: z
|
|
22
15
|
.array(z.string().max(INPUT_LIMITS.SHORT_STRING_MAX))
|
|
23
16
|
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
@@ -33,24 +26,96 @@ export function registerUvInstallTool(server) {
|
|
|
33
26
|
.optional()
|
|
34
27
|
.default(false)
|
|
35
28
|
.describe("Preview what would be installed without actually installing (--dry-run)"),
|
|
36
|
-
|
|
29
|
+
verifyHashes: z
|
|
30
|
+
.boolean()
|
|
31
|
+
.optional()
|
|
32
|
+
.default(false)
|
|
33
|
+
.describe("Verify package hashes for supply-chain security (--verify-hashes)"),
|
|
34
|
+
upgrade: z
|
|
37
35
|
.boolean()
|
|
38
36
|
.optional()
|
|
39
|
-
.default(
|
|
40
|
-
.describe("
|
|
37
|
+
.default(false)
|
|
38
|
+
.describe("Upgrade already-installed packages to the newest version (--upgrade)"),
|
|
39
|
+
noDeps: z
|
|
40
|
+
.boolean()
|
|
41
|
+
.optional()
|
|
42
|
+
.default(false)
|
|
43
|
+
.describe("Do not install package dependencies (--no-deps)"),
|
|
44
|
+
reinstall: z
|
|
45
|
+
.boolean()
|
|
46
|
+
.optional()
|
|
47
|
+
.default(false)
|
|
48
|
+
.describe("Force reinstall of all packages even if already installed (--reinstall)"),
|
|
49
|
+
editable: z
|
|
50
|
+
.string()
|
|
51
|
+
.max(INPUT_LIMITS.PATH_MAX)
|
|
52
|
+
.optional()
|
|
53
|
+
.describe("Path to local package for editable install (-e PATH)"),
|
|
54
|
+
constraint: z
|
|
55
|
+
.string()
|
|
56
|
+
.max(INPUT_LIMITS.PATH_MAX)
|
|
57
|
+
.optional()
|
|
58
|
+
.describe("Path to constraints file for version pinning (-c FILE)"),
|
|
59
|
+
indexUrl: z
|
|
60
|
+
.string()
|
|
61
|
+
.max(INPUT_LIMITS.STRING_MAX)
|
|
62
|
+
.optional()
|
|
63
|
+
.describe("Base URL of the Python Package Index (-i URL)"),
|
|
64
|
+
python: z
|
|
65
|
+
.string()
|
|
66
|
+
.max(INPUT_LIMITS.SHORT_STRING_MAX)
|
|
67
|
+
.optional()
|
|
68
|
+
.describe("Python interpreter version to use (-p VERSION)"),
|
|
69
|
+
extras: z
|
|
70
|
+
.array(z.string().max(INPUT_LIMITS.SHORT_STRING_MAX))
|
|
71
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
72
|
+
.optional()
|
|
73
|
+
.describe("Package extras to install (--extra NAME)"),
|
|
74
|
+
compact: z.boolean().optional().default(true).describe("Prefer compact output"),
|
|
41
75
|
},
|
|
42
76
|
outputSchema: UvInstallSchema,
|
|
43
|
-
}, async ({ path, packages, requirements, dryRun, compact }) => {
|
|
77
|
+
}, async ({ path, packages, requirements, dryRun, verifyHashes, upgrade, noDeps, reinstall, editable, constraint, indexUrl, python, extras, compact, }) => {
|
|
44
78
|
const cwd = path || process.cwd();
|
|
45
79
|
for (const p of packages ?? []) {
|
|
46
80
|
assertNoFlagInjection(p, "packages");
|
|
47
81
|
}
|
|
48
82
|
if (requirements)
|
|
49
83
|
assertNoFlagInjection(requirements, "requirements");
|
|
84
|
+
if (editable)
|
|
85
|
+
assertNoFlagInjection(editable, "editable");
|
|
86
|
+
if (constraint)
|
|
87
|
+
assertNoFlagInjection(constraint, "constraint");
|
|
88
|
+
if (indexUrl)
|
|
89
|
+
assertNoFlagInjection(indexUrl, "indexUrl");
|
|
90
|
+
if (python)
|
|
91
|
+
assertNoFlagInjection(python, "python");
|
|
92
|
+
for (const e of extras ?? []) {
|
|
93
|
+
assertNoFlagInjection(e, "extras");
|
|
94
|
+
}
|
|
50
95
|
const args = ["pip", "install"];
|
|
51
96
|
if (dryRun)
|
|
52
97
|
args.push("--dry-run");
|
|
53
|
-
if (
|
|
98
|
+
if (verifyHashes)
|
|
99
|
+
args.push("--verify-hashes");
|
|
100
|
+
if (upgrade)
|
|
101
|
+
args.push("--upgrade");
|
|
102
|
+
if (noDeps)
|
|
103
|
+
args.push("--no-deps");
|
|
104
|
+
if (reinstall)
|
|
105
|
+
args.push("--reinstall");
|
|
106
|
+
if (constraint)
|
|
107
|
+
args.push("-c", constraint);
|
|
108
|
+
if (indexUrl)
|
|
109
|
+
args.push("-i", indexUrl);
|
|
110
|
+
if (python)
|
|
111
|
+
args.push("-p", python);
|
|
112
|
+
for (const e of extras ?? []) {
|
|
113
|
+
args.push("--extra", e);
|
|
114
|
+
}
|
|
115
|
+
if (editable) {
|
|
116
|
+
args.push("-e", editable);
|
|
117
|
+
}
|
|
118
|
+
else if (requirements) {
|
|
54
119
|
args.push("-r", requirements);
|
|
55
120
|
}
|
|
56
121
|
else if (packages && packages.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uv-install.js","sourceRoot":"","sources":["../../src/tools/uv-install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,+DAA+D;AAC/D,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACrD,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,YAAY;QACnB,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"uv-install.js","sourceRoot":"","sources":["../../src/tools/uv-install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,+DAA+D;AAC/D,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACrD,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,YAAY;QACnB,WAAW,EACT,kHAAkH;QACpH,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACpF,QAAQ,EAAE,CAAC;iBACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;iBACpD,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;iBAC3B,QAAQ,EAAE;iBACV,QAAQ,CAAC,qBAAqB,CAAC;YAClC,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,2BAA2B,CAAC;YACxC,MAAM,EAAE,CAAC;iBACN,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,yEAAyE,CAAC;YACtF,YAAY,EAAE,CAAC;iBACZ,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,mEAAmE,CAAC;YAChF,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,sEAAsE,CAAC;YACnF,MAAM,EAAE,CAAC;iBACN,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,iDAAiD,CAAC;YAC9D,SAAS,EAAE,CAAC;iBACT,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,yEAAyE,CAAC;YACtF,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,sDAAsD,CAAC;YACnE,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,wDAAwD,CAAC;YACrE,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC;iBAC5B,QAAQ,EAAE;iBACV,QAAQ,CAAC,+CAA+C,CAAC;YAC5D,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC;iBAClC,QAAQ,EAAE;iBACV,QAAQ,CAAC,gDAAgD,CAAC;YAC7D,MAAM,EAAE,CAAC;iBACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;iBACpD,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;iBAC3B,QAAQ,EAAE;iBACV,QAAQ,CAAC,0CAA0C,CAAC;YACvD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;SAChF;QACD,YAAY,EAAE,eAAe;KAC9B,EACD,KAAK,EAAE,EACL,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,OAAO,EACP,MAAM,EACN,SAAS,EACT,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,GACR,EAAE,EAAE;QACH,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC/B,qBAAqB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,YAAY;YAAE,qBAAqB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QACtE,IAAI,QAAQ;YAAE,qBAAqB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC1D,IAAI,UAAU;YAAE,qBAAqB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAChE,IAAI,QAAQ;YAAE,qBAAqB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC1D,IAAI,MAAM;YAAE,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpD,KAAK,MAAM,CAAC,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;YAC7B,qBAAqB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAChC,IAAI,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnC,IAAI,YAAY;YAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC/C,IAAI,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnC,IAAI,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACxC,IAAI,UAAU;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC5C,IAAI,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,IAAI,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,YAAY,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAChC,CAAC;aAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3E,OAAO,iBAAiB,CACtB,IAAI,EACJ,MAAM,CAAC,MAAM,EACb,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,OAAO,KAAK,KAAK,CAClB,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uv-run.d.ts","sourceRoot":"","sources":["../../src/tools/uv-run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,2DAA2D;AAC3D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"uv-run.d.ts","sourceRoot":"","sources":["../../src/tools/uv-run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,2DAA2D;AAC3D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,QAsHlD"}
|
package/dist/tools/uv-run.js
CHANGED
|
@@ -8,34 +8,102 @@ import { UvRunSchema } from "../schemas/index.js";
|
|
|
8
8
|
export function registerUvRunTool(server) {
|
|
9
9
|
server.registerTool("uv-run", {
|
|
10
10
|
title: "uv Run",
|
|
11
|
-
description: "Runs a command in a uv-managed environment and returns structured output.
|
|
11
|
+
description: "Runs a command in a uv-managed environment and returns structured output.",
|
|
12
12
|
inputSchema: {
|
|
13
|
-
path: z
|
|
14
|
-
.string()
|
|
15
|
-
.max(INPUT_LIMITS.PATH_MAX)
|
|
16
|
-
.optional()
|
|
17
|
-
.describe("Working directory (default: cwd)"),
|
|
13
|
+
path: z.string().max(INPUT_LIMITS.PATH_MAX).optional().describe("Working directory"),
|
|
18
14
|
command: z
|
|
19
15
|
.array(z.string().max(INPUT_LIMITS.STRING_MAX))
|
|
20
16
|
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
21
17
|
.min(1)
|
|
22
18
|
.describe("Command and arguments to run (e.g. ['python', 'script.py'])"),
|
|
23
|
-
|
|
19
|
+
isolated: z
|
|
20
|
+
.boolean()
|
|
21
|
+
.optional()
|
|
22
|
+
.default(false)
|
|
23
|
+
.describe("Run in a clean isolated environment (--isolated)"),
|
|
24
|
+
module: z
|
|
24
25
|
.boolean()
|
|
25
26
|
.optional()
|
|
26
|
-
.default(
|
|
27
|
-
.describe("
|
|
27
|
+
.default(false)
|
|
28
|
+
.describe("Run as python -m <module> instead of a script (-m)"),
|
|
29
|
+
noSync: z
|
|
30
|
+
.boolean()
|
|
31
|
+
.optional()
|
|
32
|
+
.default(false)
|
|
33
|
+
.describe("Skip syncing the environment for faster execution (--no-sync)"),
|
|
34
|
+
locked: z
|
|
35
|
+
.boolean()
|
|
36
|
+
.optional()
|
|
37
|
+
.default(false)
|
|
38
|
+
.describe("Assert the lockfile is up-to-date (--locked)"),
|
|
39
|
+
frozen: z
|
|
40
|
+
.boolean()
|
|
41
|
+
.optional()
|
|
42
|
+
.default(false)
|
|
43
|
+
.describe("Run without updating the lockfile (--frozen)"),
|
|
44
|
+
withPackages: z
|
|
45
|
+
.array(z.string().max(INPUT_LIMITS.SHORT_STRING_MAX))
|
|
46
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
47
|
+
.optional()
|
|
48
|
+
.describe("Additional packages to inject for one-off use (--with PKG)"),
|
|
49
|
+
python: z
|
|
50
|
+
.string()
|
|
51
|
+
.max(INPUT_LIMITS.SHORT_STRING_MAX)
|
|
52
|
+
.optional()
|
|
53
|
+
.describe("Python interpreter version to use (-p VERSION)"),
|
|
54
|
+
envFile: z
|
|
55
|
+
.string()
|
|
56
|
+
.max(INPUT_LIMITS.PATH_MAX)
|
|
57
|
+
.optional()
|
|
58
|
+
.describe("Path to environment file (--env-file FILE)"),
|
|
59
|
+
outputLimit: z
|
|
60
|
+
.number()
|
|
61
|
+
.int()
|
|
62
|
+
.positive()
|
|
63
|
+
.optional()
|
|
64
|
+
.default(20000)
|
|
65
|
+
.describe("Maximum characters to return for stdout/stderr before truncation"),
|
|
66
|
+
compact: z.boolean().optional().default(true).describe("Prefer compact output"),
|
|
28
67
|
},
|
|
29
68
|
outputSchema: UvRunSchema,
|
|
30
|
-
}, async ({ path, command, compact }) => {
|
|
69
|
+
}, async ({ path, command, isolated, module, noSync, locked, frozen, withPackages, python, envFile, outputLimit, compact, }) => {
|
|
31
70
|
const cwd = path || process.cwd();
|
|
32
71
|
assertNoFlagInjection(command[0], "command");
|
|
33
|
-
|
|
72
|
+
if (python)
|
|
73
|
+
assertNoFlagInjection(python, "python");
|
|
74
|
+
if (envFile)
|
|
75
|
+
assertNoFlagInjection(envFile, "envFile");
|
|
76
|
+
for (const p of withPackages ?? []) {
|
|
77
|
+
assertNoFlagInjection(p, "withPackages");
|
|
78
|
+
}
|
|
79
|
+
const args = ["run"];
|
|
80
|
+
if (isolated)
|
|
81
|
+
args.push("--isolated");
|
|
82
|
+
if (module)
|
|
83
|
+
args.push("-m");
|
|
84
|
+
if (noSync)
|
|
85
|
+
args.push("--no-sync");
|
|
86
|
+
if (locked)
|
|
87
|
+
args.push("--locked");
|
|
88
|
+
if (frozen)
|
|
89
|
+
args.push("--frozen");
|
|
90
|
+
for (const p of withPackages ?? []) {
|
|
91
|
+
args.push("--with", p);
|
|
92
|
+
}
|
|
93
|
+
if (python)
|
|
94
|
+
args.push("-p", python);
|
|
95
|
+
if (envFile)
|
|
96
|
+
args.push("--env-file", envFile);
|
|
97
|
+
// Use "--" separator to isolate uv flags from command arguments,
|
|
98
|
+
// preventing command args from being interpreted as uv options.
|
|
99
|
+
args.push("--", ...command);
|
|
34
100
|
const start = Date.now();
|
|
35
101
|
const result = await uv(args, cwd);
|
|
36
102
|
const elapsed = Date.now() - start;
|
|
37
|
-
const data = parseUvRun(result.stdout, result.stderr, result.exitCode, elapsed
|
|
38
|
-
|
|
103
|
+
const data = parseUvRun(result.stdout, result.stderr, result.exitCode, elapsed, {
|
|
104
|
+
maxOutputChars: outputLimit,
|
|
105
|
+
});
|
|
106
|
+
return compactDualOutput(data, `${result.stdout}\n${result.stderr}`, formatUvRun, compactUvRunMap, formatUvRunCompact, compact === false);
|
|
39
107
|
});
|
|
40
108
|
}
|
|
41
109
|
//# sourceMappingURL=uv-run.js.map
|
package/dist/tools/uv-run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uv-run.js","sourceRoot":"","sources":["../../src/tools/uv-run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,2DAA2D;AAC3D,MAAM,UAAU,iBAAiB,CAAC,MAAiB;IACjD,MAAM,CAAC,YAAY,CACjB,QAAQ,EACR;QACE,KAAK,EAAE,QAAQ;QACf,WAAW,
|
|
1
|
+
{"version":3,"file":"uv-run.js","sourceRoot":"","sources":["../../src/tools/uv-run.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paretools/python",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"mcpName": "io.github.Dave-London/pare-python",
|
|
5
5
|
"description": "MCP server for Python tools (pip, mypy, ruff) with structured, token-efficient output",
|
|
6
6
|
"license": "MIT",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"dependencies": {
|
|
54
54
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
55
55
|
"zod": "^4.3.6",
|
|
56
|
-
"@paretools/shared": "0.
|
|
56
|
+
"@paretools/shared": "0.10.0"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@types/node": "^25.2.3",
|