@llmindset/hf-mcp 0.2.35 → 0.2.37

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 (39) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/jobs/api-client.d.ts.map +1 -1
  6. package/dist/jobs/api-client.js.map +1 -1
  7. package/dist/jobs/commands/run.d.ts.map +1 -1
  8. package/dist/jobs/commands/run.js +3 -35
  9. package/dist/jobs/commands/run.js.map +1 -1
  10. package/dist/jobs/commands/scheduled.d.ts.map +1 -1
  11. package/dist/jobs/commands/scheduled.js +3 -30
  12. package/dist/jobs/commands/scheduled.js.map +1 -1
  13. package/dist/jobs/commands/uv-utils.d.ts +9 -0
  14. package/dist/jobs/commands/uv-utils.d.ts.map +1 -0
  15. package/dist/jobs/commands/uv-utils.js +39 -0
  16. package/dist/jobs/commands/uv-utils.js.map +1 -0
  17. package/dist/jobs/{tool.d.ts → jobs-tool.d.ts} +2 -3
  18. package/dist/jobs/jobs-tool.d.ts.map +1 -0
  19. package/dist/jobs/{tool.js → jobs-tool.js} +103 -44
  20. package/dist/jobs/jobs-tool.js.map +1 -0
  21. package/dist/jobs/schema-help.d.ts +22 -0
  22. package/dist/jobs/schema-help.d.ts.map +1 -0
  23. package/dist/jobs/schema-help.js +155 -0
  24. package/dist/jobs/schema-help.js.map +1 -0
  25. package/dist/jobs/types.d.ts +0 -6
  26. package/dist/jobs/types.d.ts.map +1 -1
  27. package/dist/jobs/types.js +13 -14
  28. package/dist/jobs/types.js.map +1 -1
  29. package/package.json +1 -1
  30. package/src/index.ts +1 -1
  31. package/src/jobs/api-client.ts +0 -2
  32. package/src/jobs/commands/run.ts +3 -52
  33. package/src/jobs/commands/scheduled.ts +3 -42
  34. package/src/jobs/commands/uv-utils.ts +54 -0
  35. package/src/jobs/{tool.ts → jobs-tool.ts} +112 -44
  36. package/src/jobs/schema-help.ts +230 -0
  37. package/src/jobs/types.ts +14 -14
  38. package/dist/jobs/tool.d.ts.map +0 -1
  39. package/dist/jobs/tool.js.map +0 -1
@@ -0,0 +1,155 @@
1
+ import { z } from 'zod';
2
+ export function unwrapType(zodType) {
3
+ let current = zodType;
4
+ let isOptional = false;
5
+ let isNullable = false;
6
+ let defaultValue;
7
+ while (true) {
8
+ if (current instanceof z.ZodOptional) {
9
+ isOptional = true;
10
+ current = current._def.innerType;
11
+ continue;
12
+ }
13
+ if (current instanceof z.ZodDefault) {
14
+ isOptional = true;
15
+ defaultValue = current._def.defaultValue();
16
+ current = current._def.innerType;
17
+ continue;
18
+ }
19
+ if (current instanceof z.ZodNullable) {
20
+ isNullable = true;
21
+ current = current._def.innerType;
22
+ continue;
23
+ }
24
+ if (current instanceof z.ZodEffects) {
25
+ current = current._def.schema;
26
+ continue;
27
+ }
28
+ break;
29
+ }
30
+ return { baseType: current, isOptional, isNullable, defaultValue };
31
+ }
32
+ function isZodType(value) {
33
+ return value instanceof z.ZodType;
34
+ }
35
+ function isPlainObject(value) {
36
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
37
+ }
38
+ export function labelForType(zodType) {
39
+ if (zodType instanceof z.ZodString) {
40
+ return 'string';
41
+ }
42
+ if (zodType instanceof z.ZodNumber) {
43
+ return 'number';
44
+ }
45
+ if (zodType instanceof z.ZodBoolean) {
46
+ return 'boolean';
47
+ }
48
+ if (zodType instanceof z.ZodEnum) {
49
+ return `enum(${zodType.options.join(', ')})`;
50
+ }
51
+ if (zodType instanceof z.ZodLiteral) {
52
+ return `literal(${JSON.stringify(zodType.value)})`;
53
+ }
54
+ if (zodType instanceof z.ZodArray) {
55
+ return `array<${labelForType(zodType._def.type)}>`;
56
+ }
57
+ if (zodType instanceof z.ZodRecord) {
58
+ return `record<string, ${labelForType(zodType._def.valueType)}>`;
59
+ }
60
+ if (zodType instanceof z.ZodUnion) {
61
+ const options = zodType._def.options;
62
+ const labels = options.map((opt) => labelForType(opt));
63
+ return labels.join(' | ');
64
+ }
65
+ if (zodType instanceof z.ZodObject) {
66
+ return 'object';
67
+ }
68
+ return zodType.constructor.name.replace(/^Zod/, '').toLowerCase();
69
+ }
70
+ export function extractFieldDetails(schema) {
71
+ if (!(schema instanceof z.ZodObject)) {
72
+ return [];
73
+ }
74
+ const shape = schema.shape;
75
+ const keys = Object.keys(shape);
76
+ const details = [];
77
+ for (const key of keys) {
78
+ const candidate = shape[key];
79
+ if (!isZodType(candidate)) {
80
+ continue;
81
+ }
82
+ const fieldSchema = candidate;
83
+ const { baseType, isOptional, isNullable, defaultValue } = unwrapType(fieldSchema);
84
+ details.push({
85
+ key: String(key),
86
+ description: fieldSchema.description ?? baseType.description,
87
+ typeLabel: labelForType(baseType),
88
+ isOptional,
89
+ isNullable,
90
+ defaultValue,
91
+ });
92
+ }
93
+ return details;
94
+ }
95
+ export function formatDefaultValue(value) {
96
+ if (value === undefined) {
97
+ return undefined;
98
+ }
99
+ if (typeof value === 'string') {
100
+ return `"${value}"`;
101
+ }
102
+ if (typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint') {
103
+ return String(value);
104
+ }
105
+ if (typeof value === 'symbol') {
106
+ return value.description ? `Symbol(${value.description})` : 'Symbol()';
107
+ }
108
+ if (value === null) {
109
+ return 'null';
110
+ }
111
+ if (Array.isArray(value)) {
112
+ try {
113
+ return JSON.stringify(value);
114
+ }
115
+ catch {
116
+ return '[unserializable]';
117
+ }
118
+ }
119
+ if (isPlainObject(value)) {
120
+ try {
121
+ return JSON.stringify(value);
122
+ }
123
+ catch {
124
+ return '[unserializable]';
125
+ }
126
+ }
127
+ return '[unsupported]';
128
+ }
129
+ export function formatCommandHelp(commandName, schema) {
130
+ if (!schema) {
131
+ return `No help available for '${commandName}'.`;
132
+ }
133
+ const fields = extractFieldDetails(schema);
134
+ if (fields.length === 0) {
135
+ return `No help available for '${commandName}'.`;
136
+ }
137
+ const header = `# Command help: ${commandName}\n\nArguments:\n`;
138
+ const lines = fields.map((field) => {
139
+ const parts = [];
140
+ parts.push(field.isOptional ? 'optional' : 'required');
141
+ parts.push(field.typeLabel);
142
+ if (field.isNullable) {
143
+ parts.push('nullable');
144
+ }
145
+ const defaultValue = formatDefaultValue(field.defaultValue);
146
+ if (defaultValue !== undefined) {
147
+ parts.push(`default: ${defaultValue}`);
148
+ }
149
+ const meta = parts.join(', ');
150
+ const description = field.description ?? 'No description provided.';
151
+ return `- \`${field.key}\` (${meta}): ${description}`;
152
+ });
153
+ return header + lines.join('\n');
154
+ }
155
+ //# sourceMappingURL=schema-help.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-help.js","sourceRoot":"","sources":["../../src/jobs/schema-help.ts"],"names":[],"mappings":"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"}
@@ -95,7 +95,6 @@ export declare const uvArgsSchema: z.ZodObject<{
95
95
  namespace: z.ZodOptional<z.ZodString>;
96
96
  } & {
97
97
  script: z.ZodString;
98
- repo: z.ZodOptional<z.ZodString>;
99
98
  with_deps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
100
99
  script_args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
101
100
  python: z.ZodOptional<z.ZodString>;
@@ -112,7 +111,6 @@ export declare const uvArgsSchema: z.ZodObject<{
112
111
  namespace?: string | undefined;
113
112
  env?: Record<string, string> | undefined;
114
113
  secrets?: Record<string, string> | undefined;
115
- repo?: string | undefined;
116
114
  with_deps?: string[] | undefined;
117
115
  script_args?: string[] | undefined;
118
116
  python?: string | undefined;
@@ -124,7 +122,6 @@ export declare const uvArgsSchema: z.ZodObject<{
124
122
  secrets?: Record<string, string> | undefined;
125
123
  timeout?: string | undefined;
126
124
  detach?: boolean | undefined;
127
- repo?: string | undefined;
128
125
  with_deps?: string[] | undefined;
129
126
  script_args?: string[] | undefined;
130
127
  python?: string | undefined;
@@ -219,7 +216,6 @@ export declare const scheduledUvArgsSchema: z.ZodObject<{
219
216
  namespace: z.ZodOptional<z.ZodString>;
220
217
  } & {
221
218
  script: z.ZodString;
222
- repo: z.ZodOptional<z.ZodString>;
223
219
  with_deps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
224
220
  script_args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
225
221
  python: z.ZodOptional<z.ZodString>;
@@ -241,7 +237,6 @@ export declare const scheduledUvArgsSchema: z.ZodObject<{
241
237
  namespace?: string | undefined;
242
238
  env?: Record<string, string> | undefined;
243
239
  secrets?: Record<string, string> | undefined;
244
- repo?: string | undefined;
245
240
  with_deps?: string[] | undefined;
246
241
  script_args?: string[] | undefined;
247
242
  python?: string | undefined;
@@ -254,7 +249,6 @@ export declare const scheduledUvArgsSchema: z.ZodObject<{
254
249
  secrets?: Record<string, string> | undefined;
255
250
  timeout?: string | undefined;
256
251
  detach?: boolean | undefined;
257
- repo?: string | undefined;
258
252
  with_deps?: string[] | undefined;
259
253
  script_args?: string[] | undefined;
260
254
  python?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/jobs/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/jobs/types.ts"],"names":[],"mappings":"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"}
@@ -36,35 +36,36 @@ export const runArgsSchema = commonArgsSchema.extend({
36
36
  .default('cpu-basic')
37
37
  .describe(`Hardware flavor. Options: ${ALL_FLAVORS.join(', ')}`),
38
38
  env: z.record(z.string()).optional().describe('Environment variables as key-value pairs'),
39
- secrets: z.record(z.string()).optional().describe('Secret environment variables (encrypted server-side)'),
40
- timeout: z
41
- .string()
39
+ secrets: z
40
+ .record(z.string())
42
41
  .optional()
43
- .describe('Max duration (e.g., "5m", "2h", "30s"). Default: 30m')
44
- .default('30m'),
42
+ .describe('Secrets as key-value pairs. Use HF_TOKEN=$HF_TOKEN to include your token'),
43
+ timeout: z.string().optional().describe('Max duration (e.g., "5m", "2h", "30s"). Default: 30m').default('30m'),
45
44
  detach: z
46
45
  .boolean()
47
46
  .optional()
48
47
  .default(true)
49
- .describe('Run in background and return immediately (default: true)'),
48
+ .describe('Run in background and return after 10 seconds (default: true)'),
50
49
  });
51
50
  export const uvArgsSchema = commonArgsSchema.extend({
52
51
  script: z
53
52
  .string()
54
53
  .describe('Python script: local file path, URL, or inline code. UV will handle dependencies automatically.'),
55
- repo: z.string().optional().describe('Persistent repository name for script storage'),
56
54
  with_deps: z.array(z.string()).optional().describe('Additional package dependencies'),
57
55
  script_args: z.array(z.string()).optional().describe('Arguments to pass to the script'),
58
56
  python: z.string().optional().describe('Python interpreter version (e.g., "3.12")'),
59
57
  flavor: z.enum(ALL_FLAVORS).optional().default('cpu-basic').describe('Hardware flavor'),
60
- env: z.record(z.string()).optional().describe('Environment variables'),
61
- secrets: z.record(z.string()).optional().describe('Secret environment variables'),
58
+ env: z.record(z.string()).optional().describe('Environment variables as key-value pairs'),
59
+ secrets: z
60
+ .record(z.string())
61
+ .optional()
62
+ .describe('Secrets as key-value pairs. Use HF_TOKEN=$HF_TOKEN to include your token'),
62
63
  timeout: z.string().optional().default('30m').describe('Max duration'),
63
- detach: z.boolean().optional().default(true).describe('Run in background'),
64
+ detach: z.boolean().optional().default(true).describe('Run in background and return after 10 seconds'),
64
65
  });
65
66
  export const psArgsSchema = commonArgsSchema.extend({
66
67
  all: z.boolean().optional().default(false).describe('Show all jobs (default: only running)'),
67
- status: z.string().optional().describe('Filter by status (e.g., "RUNNING", "COMPLETED")'),
68
+ status: z.string().optional().describe('Filter by status ("RUNNING", "COMPLETED", "CANCELED", "ERROR", "DELETED")'),
68
69
  });
69
70
  export const logsArgsSchema = commonArgsSchema.extend({
70
71
  job_id: z.string().describe('Job ID to fetch logs from'),
@@ -77,9 +78,7 @@ export const cancelArgsSchema = commonArgsSchema.extend({
77
78
  job_id: z.string().describe('Job ID to cancel'),
78
79
  });
79
80
  export const scheduledRunArgsSchema = runArgsSchema.extend({
80
- schedule: z
81
- .string()
82
- .describe('Schedule: cron expression or shorthand (@hourly, @daily, @weekly, @monthly, @yearly)'),
81
+ schedule: z.string().describe('Schedule: cron expression or shorthand (@hourly, @daily, @weekly, @monthly, @yearly)'),
83
82
  suspend: z.boolean().optional().default(false).describe('Create in suspended state'),
84
83
  });
85
84
  export const scheduledUvArgsSchema = uvArgsSchema.extend({
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/jobs/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/jobs/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@llmindset/hf-mcp",
3
- "version": "0.2.35",
3
+ "version": "0.2.37",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/index.ts CHANGED
@@ -19,7 +19,7 @@ export * from './docs-search/docs-semantic-search.js';
19
19
  export * from './docs-search/doc-fetch.js';
20
20
  export * from './readme-utils.js';
21
21
  export * from './use-space.js';
22
- export * from './jobs/tool.js';
22
+ export * from './jobs/jobs-tool.js';
23
23
 
24
24
  // Export shared types
25
25
  export * from './types/tool-result.js';
@@ -52,8 +52,6 @@ export class JobsApiClient extends HfApiCall {
52
52
  const ns = await this.getNamespace(namespace);
53
53
  const url = `https://huggingface.co/api/jobs/${ns}`;
54
54
 
55
- // Debug logging (will be visible in server logs)
56
-
57
55
  const result = await this.fetchFromApi<JobInfo>(url, {
58
56
  method: 'POST',
59
57
  headers: {
@@ -2,6 +2,7 @@ import type { RunArgs, UvArgs } from '../types.js';
2
2
  import type { JobsApiClient } from '../api-client.js';
3
3
  import { createJobSpec } from './utils.js';
4
4
  import { fetchJobLogs } from '../sse-handler.js';
5
+ import { resolveUvCommand, UV_DEFAULT_IMAGE } from './uv-utils.js';
5
6
 
6
7
  /**
7
8
  * Execute the 'run' command
@@ -64,31 +65,10 @@ To inspect: \`hf_jobs("inspect", {"job_id": "${job.id}"})\``;
64
65
  */
65
66
  export async function uvCommand(args: UvArgs, client: JobsApiClient, token?: string): Promise<string> {
66
67
  // UV jobs use a standard UV image unless overridden
67
- const image = 'ghcr.io/astral-sh/uv:latest'; // Standard UV image
68
+ const image = UV_DEFAULT_IMAGE;
68
69
 
69
70
  // Detect script source and build command
70
- const scriptSource = args.script;
71
- let command: string | string[];
72
-
73
- // Check if script is a URL
74
- if (scriptSource.startsWith('http://') || scriptSource.startsWith('https://')) {
75
- // URL - download and run
76
- command = buildUvCommand(scriptSource, args);
77
- } else if (scriptSource.includes('\n')) {
78
- // Inline multi-line script - encode it
79
- const encoded = Buffer.from(scriptSource).toString('base64');
80
- const depsPart =
81
- args.with_deps && args.with_deps.length > 0
82
- ? args.with_deps.map(dep => `--with ${dep}`).join(' ')
83
- : '';
84
- const pythonPart = args.python ? `-p ${args.python}` : '';
85
- const uvArgs = [depsPart, pythonPart].filter(Boolean).join(' ');
86
- const shellSnippet = `echo "${encoded}" | base64 -d | uv run${uvArgs ? ` ${uvArgs}` : ''} -`;
87
- command = ['/bin/sh', '-lc', shellSnippet];
88
- } else {
89
- // Assume it's a URL or path - UV will handle it
90
- command = buildUvCommand(scriptSource, args);
91
- }
71
+ const command = resolveUvCommand(args);
92
72
 
93
73
  // Convert to run args
94
74
  const runArgs: RunArgs = {
@@ -104,32 +84,3 @@ export async function uvCommand(args: UvArgs, client: JobsApiClient, token?: str
104
84
 
105
85
  return runCommand(runArgs, client, token);
106
86
  }
107
-
108
- /**
109
- * Build UV command with options
110
- */
111
- function buildUvCommand(script: string, args: UvArgs): string {
112
- const parts: string[] = ['uv', 'run'];
113
-
114
- // Add dependencies
115
- if (args.with_deps && args.with_deps.length > 0) {
116
- for (const dep of args.with_deps) {
117
- parts.push('--with', dep);
118
- }
119
- }
120
-
121
- // Add Python version
122
- if (args.python) {
123
- parts.push('-p', args.python);
124
- }
125
-
126
- // Add script
127
- parts.push(script);
128
-
129
- // Add script arguments
130
- if (args.script_args && args.script_args.length > 0) {
131
- parts.push(...args.script_args);
132
- }
133
-
134
- return parts.join(' ');
135
- }
@@ -8,6 +8,7 @@ import type {
8
8
  import type { JobsApiClient } from '../api-client.js';
9
9
  import { formatScheduledJobsTable, formatScheduledJobDetails } from '../formatters.js';
10
10
  import { createJobSpec } from './utils.js';
11
+ import { resolveUvCommand, UV_DEFAULT_IMAGE } from './uv-utils.js';
11
12
 
12
13
  /**
13
14
  * Execute 'scheduled run' command
@@ -60,22 +61,10 @@ export async function scheduledUvCommand(
60
61
  token?: string
61
62
  ): Promise<string> {
62
63
  // For UV, use standard UV image
63
- const image = 'ghcr.io/astral-sh/uv:python3.12-bookworm';
64
+ const image = UV_DEFAULT_IMAGE;
64
65
 
65
66
  // Build UV command (similar to regular uv command)
66
- const scriptSource = args.script;
67
- let command: string;
68
-
69
- if (scriptSource.startsWith('http://') || scriptSource.startsWith('https://')) {
70
- command = buildUvCommand(scriptSource, args);
71
- } else if (scriptSource.includes('\n')) {
72
- const encoded = Buffer.from(scriptSource).toString('base64');
73
- const deps =
74
- args.with_deps && args.with_deps.length > 0 ? args.with_deps.map((dep) => `--with ${dep}`).join(' ') + ' ' : '';
75
- command = `echo "${encoded}" | base64 -d | uv run ${deps}${args.python ? `-p ${args.python}` : ''} -`;
76
- } else {
77
- command = buildUvCommand(scriptSource, args);
78
- }
67
+ const command = resolveUvCommand(args);
79
68
 
80
69
  // Convert to scheduled run args
81
70
  const scheduledRunArgs: ScheduledRunArgs = {
@@ -94,34 +83,6 @@ export async function scheduledUvCommand(
94
83
  return scheduledRunCommand(scheduledRunArgs, client, token);
95
84
  }
96
85
 
97
- /**
98
- * Build UV command with options
99
- */
100
- function buildUvCommand(
101
- script: string,
102
- args: { with_deps?: string[]; python?: string; script_args?: string[] }
103
- ): string {
104
- const parts: string[] = ['uv', 'run'];
105
-
106
- if (args.with_deps && args.with_deps.length > 0) {
107
- for (const dep of args.with_deps) {
108
- parts.push('--with', dep);
109
- }
110
- }
111
-
112
- if (args.python) {
113
- parts.push('-p', args.python);
114
- }
115
-
116
- parts.push(script);
117
-
118
- if (args.script_args && args.script_args.length > 0) {
119
- parts.push(...args.script_args);
120
- }
121
-
122
- return parts.join(' ');
123
- }
124
-
125
86
  /**
126
87
  * Execute 'scheduled ps' command
127
88
  * Lists scheduled jobs
@@ -0,0 +1,54 @@
1
+ import { quote as shellQuote } from 'shell-quote';
2
+ import type { UvArgs } from '../types.js';
3
+
4
+ export const UV_DEFAULT_IMAGE = 'ghcr.io/astral-sh/uv:python3.12-bookworm';
5
+
6
+ type UvCommandOptions = Pick<UvArgs, 'with_deps' | 'python' | 'script_args'>;
7
+ type UvCommandLikeArgs = Pick<UvArgs, 'script' | 'with_deps' | 'python' | 'script_args'>;
8
+
9
+ export function buildUvCommand(script: string, args: UvCommandOptions): string[] {
10
+ const parts: string[] = ['uv', 'run'];
11
+
12
+ if (args.with_deps && args.with_deps.length > 0) {
13
+ for (const dep of args.with_deps) {
14
+ parts.push('--with', dep);
15
+ }
16
+ }
17
+
18
+ if (args.python) {
19
+ parts.push('-p', args.python);
20
+ }
21
+
22
+ parts.push(script);
23
+
24
+ if (args.script_args && args.script_args.length > 0) {
25
+ parts.push(...args.script_args);
26
+ }
27
+
28
+ return parts;
29
+ }
30
+
31
+ export function wrapInlineScript(script: string, args: UvCommandOptions): string {
32
+ const encoded = Buffer.from(script, 'utf-8').toString('base64');
33
+ const baseCommand = shellQuote(buildUvCommand('-', args));
34
+ return `echo "${encoded}" | base64 -d | ${baseCommand}`;
35
+ }
36
+
37
+ export function resolveUvCommand(args: UvCommandLikeArgs): string[] {
38
+ const options: UvCommandOptions = {
39
+ with_deps: args.with_deps,
40
+ python: args.python,
41
+ script_args: args.script_args,
42
+ };
43
+ const scriptSource = args.script;
44
+
45
+ if (scriptSource.startsWith('http://') || scriptSource.startsWith('https://')) {
46
+ return buildUvCommand(scriptSource, options);
47
+ }
48
+
49
+ if (scriptSource.includes('\n')) {
50
+ return ['/bin/sh', '-lc', wrapInlineScript(scriptSource, options)];
51
+ }
52
+
53
+ return buildUvCommand(scriptSource, options);
54
+ }