@llmindset/hf-mcp 0.3.12 → 0.3.15

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.
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/jobs/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAStD,wBAAsB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiDtG;AAMD,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBpG"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/jobs/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAStD,wBAAsB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsDtG;AAMD,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBpG"}
@@ -10,6 +10,7 @@ export async function runCommand(args, client, token) {
10
10
  secrets: args.secrets,
11
11
  timeout: args.timeout,
12
12
  hfToken: token,
13
+ volumes: args.volumes,
13
14
  });
14
15
  const job = await client.runJob(jobSpec, args.namespace);
15
16
  const jobUrl = `https://huggingface.co/jobs/${job.owner.name}/${job.id}`;
@@ -24,7 +25,11 @@ export async function runCommand(args, client, token) {
24
25
  To inspect, call this tool with \`{"operation": "inspect", "args": {"job_id": "${job.id}"}}\``;
25
26
  }
26
27
  const logsUrl = client.getLogsUrl(job.id, job.owner.name);
27
- const logResult = await fetchJobLogs(logsUrl, { token, maxDuration: DEFAULT_LOG_WAIT_MS, maxLines: DEFAULT_MAX_LOG_LINES });
28
+ const logResult = await fetchJobLogs(logsUrl, {
29
+ token,
30
+ maxDuration: DEFAULT_LOG_WAIT_MS,
31
+ maxLines: DEFAULT_MAX_LOG_LINES,
32
+ });
28
33
  let response = `Job started: ${job.id}\n\n`;
29
34
  if (logResult.logs.length > 0) {
30
35
  response += `**Logs (last ${DEFAULT_MAX_LOG_LINES} lines):**\n\`\`\`\n`;
@@ -52,6 +57,7 @@ export async function uvCommand(args, client, token) {
52
57
  timeout: args.timeout,
53
58
  detach: args.detach,
54
59
  namespace: args.namespace,
60
+ volumes: args.volumes,
55
61
  };
56
62
  return runCommand(runArgs, client, token);
57
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/jobs/commands/run.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AACvH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAMnE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAa,EAAE,MAAqB,EAAE,KAAc;IAEpF,MAAM,OAAO,GAAG,aAAa,CAAC;QAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,KAAK;KACd,CAAC,CAAC;IAGH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAEzD,MAAM,MAAM,GAAG,+BAA+B,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;IAGzE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO;;cAEK,GAAG,CAAC,EAAE;cACN,GAAG,CAAC,MAAM,CAAC,KAAK;eACf,MAAM;;kFAE6D,GAAG,CAAC,EAAE;kFACN,GAAG,CAAC,EAAE,OAAO,CAAC;IAC/F,CAAC;IAGD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAE5H,IAAI,QAAQ,GAAG,gBAAgB,GAAG,CAAC,EAAE,MAAM,CAAC;IAE5C,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,QAAQ,IAAI,gBAAgB,qBAAqB,sBAAsB,CAAC;QACxE,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,QAAQ,IAAI,WAAW,CAAC;IACzB,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACxB,QAAQ,IAAI,+BAA+B,MAAM,EAAE,CAAC;IACrD,CAAC;SAAM,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QAChC,QAAQ,IAAI,gCAAgC,wBAAwB,gCAAgC,CAAC;QACrG,QAAQ,IAAI,mBAAmB,MAAM,EAAE,CAAC;IACzC,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,MAAqB,EAAE,KAAc;IAElF,MAAM,KAAK,GAAG,gBAAgB,CAAC;IAG/B,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAGvC,MAAM,OAAO,GAAY;QACxB,KAAK;QACL,OAAO;QACP,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,SAAS,EAAE,IAAI,CAAC,SAAS;KACzB,CAAC;IAEF,OAAO,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/jobs/commands/run.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scheduled.d.ts","sourceRoot":"","sources":["../../../src/jobs/commands/scheduled.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,gBAAgB,EAEhB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAStD,wBAAsB,mBAAmB,CACxC,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,aAAa,EACrB,KAAK,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CA+BjB;AAMD,wBAAsB,kBAAkB,CACvC,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,aAAa,EACrB,KAAK,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAMD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBtG;AAMD,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAI5G;AAMD,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAI3G;AAMD,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAM5G;AAMD,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAM3G"}
1
+ {"version":3,"file":"scheduled.d.ts","sourceRoot":"","sources":["../../../src/jobs/commands/scheduled.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,gBAAgB,EAEhB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAStD,wBAAsB,mBAAmB,CACxC,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,aAAa,EACrB,KAAK,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAgCjB;AAMD,wBAAsB,kBAAkB,CACvC,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,aAAa,EACrB,KAAK,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAuBjB;AAMD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBtG;AAMD,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAI5G;AAMD,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAI3G;AAMD,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAM5G;AAMD,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAM3G"}
@@ -10,6 +10,7 @@ export async function scheduledRunCommand(args, client, token) {
10
10
  secrets: args.secrets,
11
11
  timeout: args.timeout,
12
12
  hfToken: token,
13
+ volumes: args.volumes,
13
14
  });
14
15
  const scheduledSpec = {
15
16
  schedule: args.schedule,
@@ -41,6 +42,7 @@ export async function scheduledUvCommand(args, client, token) {
41
42
  timeout: args.timeout,
42
43
  detach: args.detach,
43
44
  namespace: args.namespace,
45
+ volumes: args.volumes,
44
46
  };
45
47
  return scheduledRunCommand(scheduledRunArgs, client, token);
46
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scheduled.js","sourceRoot":"","sources":["../../../src/jobs/commands/scheduled.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduled.js","sourceRoot":"","sources":["../../../src/jobs/commands/scheduled.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { JobSpec } from '../types.js';
1
+ import type { JobSpec, JobVolume } from '../types.js';
2
2
  export declare function parseTimeout(timeout: string): number;
3
3
  export declare function parseImageSource(image: string): {
4
4
  dockerImage?: string;
@@ -8,6 +8,7 @@ export declare function parseCommand(command: string | string[]): {
8
8
  command: string[];
9
9
  arguments?: string[];
10
10
  };
11
+ export declare function parseVolumes(volumes?: string[]): JobVolume[] | undefined;
11
12
  export declare function createJobSpec(args: {
12
13
  image: string;
13
14
  command: string | string[];
@@ -16,5 +17,6 @@ export declare function createJobSpec(args: {
16
17
  secrets?: Record<string, string>;
17
18
  timeout?: string;
18
19
  hfToken?: string;
20
+ volumes?: string[];
19
21
  }): JobSpec;
20
22
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/jobs/commands/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAqC3C,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAuBpD;AAMD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAgB1F;AAMD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAiCpG;AAmCD,wBAAgB,aAAa,CAAC,IAAI,EAAE;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CA0BV"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/jobs/commands/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAiB,MAAM,aAAa,CAAC;AAgDrE,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAqBpD;AAMD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAgB1F;AAMD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAiCpG;AAsED,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,GAAG,SAAS,CAMxE;AAmCD,wBAAgB,aAAa,CAAC,IAAI,EAAE;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,GAAG,OAAO,CA8BV"}
@@ -1,5 +1,15 @@
1
1
  import { parse as parseShellArgs } from 'shell-quote';
2
2
  const SPECIAL_PARAMS = new Set(['*', '@', '#', '?', '!', '-', '_']);
3
+ const HF_VOLUME_PREFIX = 'hf://';
4
+ const VOLUME_FORMAT_HELP = 'Expected format: hf://[TYPE/]OWNER/NAME[/PATH]:/MOUNT_PATH[:ro|:rw], ' +
5
+ 'e.g. hf://datasets/org/dataset:/data:ro or hf://buckets/org/bucket:/output.';
6
+ const HF_VOLUME_TYPES = {
7
+ models: 'model',
8
+ datasets: 'dataset',
9
+ spaces: 'space',
10
+ buckets: 'bucket',
11
+ };
12
+ const SINGULAR_VOLUME_TYPES = new Set(['model', 'dataset', 'space', 'bucket']);
3
13
  function isEnvToken(entry) {
4
14
  return Boolean(entry && typeof entry === 'object' && entry.type === 'env');
5
15
  }
@@ -55,7 +65,7 @@ export function parseCommand(command) {
55
65
  if (Array.isArray(command)) {
56
66
  return { command, arguments: [] };
57
67
  }
58
- const parsed = parseShellArgs(command, key => ({ type: 'env', key }));
68
+ const parsed = parseShellArgs(command, (key) => ({ type: 'env', key }));
59
69
  const stringArgs = [];
60
70
  for (const arg of parsed) {
61
71
  if (typeof arg === 'string') {
@@ -75,6 +85,67 @@ export function parseCommand(command) {
75
85
  }
76
86
  return { command: stringArgs, arguments: [] };
77
87
  }
88
+ function invalidVolume(rawSpec, message) {
89
+ return new Error(`Invalid volume "${rawSpec}". ${message} ${VOLUME_FORMAT_HELP}`);
90
+ }
91
+ function parseVolume(rawSpec) {
92
+ let spec = rawSpec;
93
+ let readOnly;
94
+ if (spec.endsWith(':ro')) {
95
+ readOnly = true;
96
+ spec = spec.slice(0, -3);
97
+ }
98
+ else if (spec.endsWith(':rw')) {
99
+ readOnly = false;
100
+ spec = spec.slice(0, -3);
101
+ }
102
+ if (!spec.startsWith(HF_VOLUME_PREFIX)) {
103
+ throw invalidVolume(rawSpec, `Volume source must start with "${HF_VOLUME_PREFIX}".`);
104
+ }
105
+ const body = spec.slice(HF_VOLUME_PREFIX.length);
106
+ const mountSeparator = body.lastIndexOf(':/');
107
+ if (mountSeparator === -1) {
108
+ throw invalidVolume(rawSpec, 'Missing mount path.');
109
+ }
110
+ const sourcePart = body.slice(0, mountSeparator);
111
+ const mountPath = body.slice(mountSeparator + 1);
112
+ if (!sourcePart) {
113
+ throw invalidVolume(rawSpec, 'Missing Hub source before mount path.');
114
+ }
115
+ if (!mountPath.startsWith('/') || mountPath === '/') {
116
+ throw invalidVolume(rawSpec, `Mount path must be a non-empty absolute path, got "${mountPath}".`);
117
+ }
118
+ const segments = sourcePart.split('/');
119
+ const firstSegment = segments[0];
120
+ if (!firstSegment) {
121
+ throw invalidVolume(rawSpec, 'Missing Hub source type or owner.');
122
+ }
123
+ if (SINGULAR_VOLUME_TYPES.has(firstSegment)) {
124
+ throw invalidVolume(rawSpec, `Type prefix must be plural, got "${firstSegment}/".`);
125
+ }
126
+ const explicitType = HF_VOLUME_TYPES[firstSegment];
127
+ const type = explicitType ?? 'model';
128
+ const locationSegments = explicitType ? segments.slice(1) : segments;
129
+ if (locationSegments.length < 2 || !locationSegments[0] || !locationSegments[1]) {
130
+ throw invalidVolume(rawSpec, 'Hub source must include OWNER/NAME.');
131
+ }
132
+ const source = `${locationSegments[0]}/${locationSegments[1]}`;
133
+ const path = locationSegments.slice(2).join('/') || undefined;
134
+ const volume = { type, source, mountPath };
135
+ if (readOnly !== undefined) {
136
+ volume.readOnly = readOnly;
137
+ }
138
+ if (path) {
139
+ volume.path = path;
140
+ }
141
+ return volume;
142
+ }
143
+ export function parseVolumes(volumes) {
144
+ if (!volumes || volumes.length === 0) {
145
+ return undefined;
146
+ }
147
+ return volumes.map(parseVolume);
148
+ }
78
149
  function replaceTokenPlaceholder(value, hfToken) {
79
150
  if (!hfToken) {
80
151
  return value;
@@ -106,6 +177,7 @@ export function createJobSpec(args) {
106
177
  const timeoutSeconds = args.timeout ? parseTimeout(args.timeout) : undefined;
107
178
  const environment = transformEnvMap(args.env, args.hfToken) || {};
108
179
  const secrets = transformEnvMap(args.secrets, args.hfToken) || {};
180
+ const volumes = parseVolumes(args.volumes);
109
181
  const spec = {
110
182
  ...imageSource,
111
183
  command,
@@ -115,6 +187,9 @@ export function createJobSpec(args) {
115
187
  secrets,
116
188
  timeoutSeconds,
117
189
  };
190
+ if (volumes) {
191
+ spec.volumes = volumes;
192
+ }
118
193
  return spec;
119
194
  }
120
195
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/jobs/commands/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/jobs/commands/utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"jobs-tool.d.ts","sourceRoot":"","sources":["../../src/jobs/jobs-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiBxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAiB1D,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAsVhD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;CAkBtB,CAAC;AAKX,qBAAa,UAAU;IACtB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,eAAe,CAAU;gBAErB,OAAO,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM;IASrE,OAAO,CAAC,MAAM,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;CA2KlG"}
1
+ {"version":3,"file":"jobs-tool.d.ts","sourceRoot":"","sources":["../../src/jobs/jobs-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiBxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAiB1D,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAgZhD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;CAiBtB,CAAC;AAKX,qBAAa,UAAU;IACtB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,eAAe,CAAU;gBAErB,OAAO,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM;IASrE,OAAO,CAAC,MAAM,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;CA2KlG"}
@@ -252,6 +252,42 @@ Manage compute jobs on Hugging Face infrastructure.
252
252
 
253
253
  ${renderExampleSection('Run a simple job', 'run')}${renderExampleSection('Run a Python script with UV', 'uv')}
254
254
 
255
+ ## Deep Hub Dataset/Repo Analysis
256
+
257
+ Use Jobs for deep analysis prompts involving Hugging Face datasets, models, Spaces, repos, traces, or large Hub files—especially when the user asks to "analyze", "find trends", "process all rows/files", "run a complete analysis", "take your time", or "install/use Python libraries".
258
+
259
+ Recommended workflow:
260
+ 1. Inspect the repo with \`hub_repo_details\` for schema, splits, and parquet URLs.
261
+ 2. Run \`operation: "uv"\` with a self-contained Python script; do not call \`{"operation": "uv"}\` by itself except to request help.
262
+ 3. Always put third-party packages in \`with_deps\`; do not assume packages like \`pandas\`, \`polars\`, \`pyarrow\`, \`datasets\`, or \`huggingface_hub\` are installed. Prefer \`with_deps\` over relying on inline PEP 723 script metadata.
263
+ 4. Prefer converted parquet URLs for Hub datasets when available; they are often more reliable for mixed JSONL/session repos than \`datasets.load_dataset(...)\`.
264
+ 5. Print the final report at the end of the job. If the initial response only shows installation logs or partial output, call \`logs\` with the exact returned job ID and a larger \`tail\`, e.g. \`{"tail": 500}\`.
265
+ 6. Jobs do not automatically inherit the MCP server's Hugging Face token inside the container. For private/gated data or uploads, pass \`secrets: { "HF_TOKEN": "$HF_TOKEN" }\`.
266
+
267
+ Example:
268
+ \`\`\`json
269
+ {
270
+ "operation": "uv",
271
+ "args": {
272
+ "with_deps": ["polars", "pyarrow", "huggingface_hub"],
273
+ "timeout": "60m",
274
+ "flavor": "cpu-upgrade",
275
+ "script": "import polars as pl\\nurl = 'PARQUET_URL_FROM_HUB_REPO_DETAILS'\\ndf = pl.read_parquet(url)\\nprint(df.shape)\\nprint(df.head())"
276
+ }
277
+ }
278
+ \`\`\`
279
+
280
+ If output is incomplete, fetch more logs:
281
+ \`\`\`json
282
+ {
283
+ "operation": "logs",
284
+ "args": {
285
+ "job_id": "JOB_ID_FROM_RUN_RESPONSE",
286
+ "tail": 500
287
+ }
288
+ }
289
+ \`\`\`
290
+
255
291
  ## Hardware Flavors
256
292
 
257
293
  ${HARDWARE_FLAVORS_SECTION}
@@ -272,6 +308,28 @@ ${HARDWARE_FLAVORS_SECTION}
272
308
  - Include newline characters directly in the argument (e.g., \`"first line\\nsecond line"\`)
273
309
  - UV inline scripts are automatically base64-decoded inside the container; just send the raw script text
274
310
 
311
+ ## Volumes
312
+
313
+ Attach Hub repositories or buckets into the job container with \`hf://\` volume URLs.
314
+
315
+ Format: \`hf://[TYPE/]OWNER/NAME[/PATH]:/MOUNT_PATH[:ro|:rw]\`
316
+
317
+ - \`TYPE\` is one of \`models\`, \`datasets\`, \`spaces\`, or \`buckets\`; omitted type defaults to models.
318
+ - \`OWNER/NAME\` source IDs are required.
319
+ - \`:ro\` and \`:rw\` are optional; backend defaults are preserved when omitted.
320
+
321
+ Example:
322
+ \`\`\`json
323
+ {
324
+ "operation": "run",
325
+ "args": {
326
+ "image": "python:3.12",
327
+ "command": ["python", "-c", "import os; print(os.listdir('/data'))"],
328
+ "volumes": ["hf://datasets/org/dataset:/data:ro"]
329
+ }
330
+ }
331
+ \`\`\`
332
+
275
333
  ### Show command-specific help
276
334
  Call this tool with:
277
335
  \`\`\`json
@@ -288,9 +346,8 @@ Call this tool with:
288
346
  `;
289
347
  export const HF_JOBS_TOOL_CONFIG = {
290
348
  name: 'hf_jobs',
291
- description: 'Manage Hugging Face CPU/GPU compute jobs. Run commands in Docker containers, ' +
292
- 'execute Python scripts with UV. List, schedule and monitor jobs/logs. ' +
293
- 'Call this tool with no operation for full usage instructions and examples. ',
349
+ description: 'Remote compute for Hugging Face workflows. Run Python/UV or Docker jobs to deeply analyze Hub datasets, repos, traces, models, and large files; compute trends/statistics; run batch inference/evaluation; or perform long-running work with installed libraries. ' +
350
+ 'Use for dataset/repo analysis prompts when local chat inspection is insufficient. Includes submit, logs, inspect, cancel, schedule, and volume mounting.',
294
351
  schema: z.object({
295
352
  operation: z
296
353
  .enum(OPERATION_NAMES)
@@ -1 +1 @@
1
- {"version":3,"file":"jobs-tool.js","sourceRoot":"","sources":["../../src/jobs/jobs-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jobs-tool.js","sourceRoot":"","sources":["../../src/jobs/jobs-tool.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,15 @@ export interface JobOwner {
14
14
  name: string;
15
15
  type: 'user' | 'org';
16
16
  }
17
+ export type JobVolumeType = 'bucket' | 'model' | 'dataset' | 'space';
18
+ export interface JobVolume {
19
+ type: JobVolumeType;
20
+ source: string;
21
+ mountPath: string;
22
+ revision?: string;
23
+ readOnly?: boolean;
24
+ path?: string;
25
+ }
17
26
  export interface JobInfo {
18
27
  id: string;
19
28
  createdAt: string;
@@ -42,6 +51,7 @@ export interface JobSpec {
42
51
  secrets?: Record<string, string>;
43
52
  flavor: string;
44
53
  timeoutSeconds?: number;
54
+ volumes?: JobVolume[];
45
55
  }
46
56
  export interface ScheduledJobSpec {
47
57
  schedule: string;
@@ -71,6 +81,7 @@ export declare const runArgsSchema: z.ZodObject<{
71
81
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
72
82
  secrets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
73
83
  timeout: z.ZodDefault<z.ZodOptional<z.ZodString>>;
84
+ volumes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
74
85
  detach: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
75
86
  }, "strip", z.ZodTypeAny, {
76
87
  timeout: string;
@@ -81,6 +92,7 @@ export declare const runArgsSchema: z.ZodObject<{
81
92
  namespace?: string | undefined;
82
93
  env?: Record<string, string> | undefined;
83
94
  secrets?: Record<string, string> | undefined;
95
+ volumes?: string[] | undefined;
84
96
  }, {
85
97
  command: string | string[];
86
98
  timeout?: string | undefined;
@@ -89,6 +101,7 @@ export declare const runArgsSchema: z.ZodObject<{
89
101
  flavor?: "cpu-basic" | "zero-a10g" | "cpu-upgrade" | "cpu-performance" | "cpu-xl" | "sprx8" | "inf2x6" | "t4-small" | "t4-medium" | "l4x1" | "l4x4" | "l40sx1" | "l40sx4" | "l40sx8" | "a10g-small" | "a10g-large" | "a10g-largex2" | "a10g-largex4" | "a100-large" | "a100x4" | "a100x8" | undefined;
90
102
  env?: Record<string, string> | undefined;
91
103
  secrets?: Record<string, string> | undefined;
104
+ volumes?: string[] | undefined;
92
105
  detach?: boolean | undefined;
93
106
  }>;
94
107
  export declare const uvArgsSchema: z.ZodObject<{
@@ -102,6 +115,7 @@ export declare const uvArgsSchema: z.ZodObject<{
102
115
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
103
116
  secrets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
104
117
  timeout: z.ZodDefault<z.ZodOptional<z.ZodString>>;
118
+ volumes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
105
119
  detach: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
106
120
  }, "strip", z.ZodTypeAny, {
107
121
  timeout: string;
@@ -111,6 +125,7 @@ export declare const uvArgsSchema: z.ZodObject<{
111
125
  namespace?: string | undefined;
112
126
  env?: Record<string, string> | undefined;
113
127
  secrets?: Record<string, string> | undefined;
128
+ volumes?: string[] | undefined;
114
129
  with_deps?: string[] | undefined;
115
130
  script_args?: string[] | undefined;
116
131
  python?: string | undefined;
@@ -121,6 +136,7 @@ export declare const uvArgsSchema: z.ZodObject<{
121
136
  flavor?: "cpu-basic" | "zero-a10g" | "cpu-upgrade" | "cpu-performance" | "cpu-xl" | "sprx8" | "inf2x6" | "t4-small" | "t4-medium" | "l4x1" | "l4x4" | "l40sx1" | "l40sx4" | "l40sx8" | "a10g-small" | "a10g-large" | "a10g-largex2" | "a10g-largex4" | "a100-large" | "a100x4" | "a100x8" | undefined;
122
137
  env?: Record<string, string> | undefined;
123
138
  secrets?: Record<string, string> | undefined;
139
+ volumes?: string[] | undefined;
124
140
  detach?: boolean | undefined;
125
141
  with_deps?: string[] | undefined;
126
142
  script_args?: string[] | undefined;
@@ -185,6 +201,7 @@ export declare const scheduledRunArgsSchema: z.ZodObject<{
185
201
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
186
202
  secrets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
187
203
  timeout: z.ZodDefault<z.ZodOptional<z.ZodString>>;
204
+ volumes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
188
205
  detach: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
189
206
  } & {
190
207
  schedule: z.ZodString;
@@ -200,6 +217,7 @@ export declare const scheduledRunArgsSchema: z.ZodObject<{
200
217
  namespace?: string | undefined;
201
218
  env?: Record<string, string> | undefined;
202
219
  secrets?: Record<string, string> | undefined;
220
+ volumes?: string[] | undefined;
203
221
  }, {
204
222
  command: string | string[];
205
223
  schedule: string;
@@ -209,6 +227,7 @@ export declare const scheduledRunArgsSchema: z.ZodObject<{
209
227
  flavor?: "cpu-basic" | "zero-a10g" | "cpu-upgrade" | "cpu-performance" | "cpu-xl" | "sprx8" | "inf2x6" | "t4-small" | "t4-medium" | "l4x1" | "l4x4" | "l40sx1" | "l40sx4" | "l40sx8" | "a10g-small" | "a10g-large" | "a10g-largex2" | "a10g-largex4" | "a100-large" | "a100x4" | "a100x8" | undefined;
210
228
  env?: Record<string, string> | undefined;
211
229
  secrets?: Record<string, string> | undefined;
230
+ volumes?: string[] | undefined;
212
231
  detach?: boolean | undefined;
213
232
  suspend?: boolean | undefined;
214
233
  }>;
@@ -223,6 +242,7 @@ export declare const scheduledUvArgsSchema: z.ZodObject<{
223
242
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
224
243
  secrets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
225
244
  timeout: z.ZodDefault<z.ZodOptional<z.ZodString>>;
245
+ volumes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
226
246
  detach: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
227
247
  } & {
228
248
  schedule: z.ZodString;
@@ -237,6 +257,7 @@ export declare const scheduledUvArgsSchema: z.ZodObject<{
237
257
  namespace?: string | undefined;
238
258
  env?: Record<string, string> | undefined;
239
259
  secrets?: Record<string, string> | undefined;
260
+ volumes?: string[] | undefined;
240
261
  with_deps?: string[] | undefined;
241
262
  script_args?: string[] | undefined;
242
263
  python?: string | undefined;
@@ -248,6 +269,7 @@ export declare const scheduledUvArgsSchema: z.ZodObject<{
248
269
  flavor?: "cpu-basic" | "zero-a10g" | "cpu-upgrade" | "cpu-performance" | "cpu-xl" | "sprx8" | "inf2x6" | "t4-small" | "t4-medium" | "l4x1" | "l4x4" | "l40sx1" | "l40sx4" | "l40sx8" | "a10g-small" | "a10g-large" | "a10g-largex2" | "a10g-largex4" | "a100-large" | "a100x4" | "a100x8" | undefined;
249
270
  env?: Record<string, string> | undefined;
250
271
  secrets?: Record<string, string> | undefined;
272
+ volumes?: string[] | undefined;
251
273
  detach?: boolean | undefined;
252
274
  with_deps?: string[] | undefined;
253
275
  script_args?: 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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"}
@@ -50,6 +50,12 @@ export const runArgsSchema = commonArgsSchema.extend({
50
50
  .optional()
51
51
  .describe('Secrets as key-value pairs. Use HF_TOKEN=$HF_TOKEN to include your token'),
52
52
  timeout: z.string().optional().describe('Max duration (e.g., "5m", "2h", "30s"). Default: 30m').default('30m'),
53
+ volumes: z
54
+ .array(z.string())
55
+ .optional()
56
+ .describe('Volume mounts using hf:// URLs. Format: hf://TYPE/OWNER/NAME[/PATH]:/MOUNT_PATH[:ro|:rw]. ' +
57
+ 'TYPE is models, datasets, spaces, or buckets. ' +
58
+ 'Examples: ["hf://datasets/org/ds:/data:ro", "hf://buckets/org/b:/output"].'),
53
59
  detach: z
54
60
  .boolean()
55
61
  .optional()
@@ -70,7 +76,16 @@ export const uvArgsSchema = commonArgsSchema.extend({
70
76
  .optional()
71
77
  .describe('Secrets as key-value pairs. Use HF_TOKEN=$HF_TOKEN to include your token'),
72
78
  timeout: z.string().optional().default('30m').describe('Max duration'),
73
- detach: z.boolean().optional().default(false).describe('If true, return immediately with job ID. If false (default), tail logs for up to 10 seconds.'),
79
+ volumes: z
80
+ .array(z.string())
81
+ .optional()
82
+ .describe('Volume mounts using hf:// URLs. Format: hf://TYPE/OWNER/NAME[/PATH]:/MOUNT_PATH[:ro|:rw]. ' +
83
+ 'TYPE is models, datasets, spaces, or buckets.'),
84
+ detach: z
85
+ .boolean()
86
+ .optional()
87
+ .default(false)
88
+ .describe('If true, return immediately with job ID. If false (default), tail logs for up to 10 seconds.'),
74
89
  });
75
90
  export const psArgsSchema = commonArgsSchema.extend({
76
91
  all: z.boolean().optional().default(false).describe('Show all jobs (default: only running)'),
@@ -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.3.12",
3
+ "version": "0.3.15",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -30,7 +30,7 @@
30
30
  "dependencies": {
31
31
  "@huggingface/hub": "^2.11.0",
32
32
  "@mcp-ui/server": "^5.12.0",
33
- "@modelcontextprotocol/sdk": "^1.26.0",
33
+ "@modelcontextprotocol/sdk": "^1.29.0",
34
34
  "shell-quote": "^1.8.3",
35
35
  "turndown": "^7.2.0",
36
36
  "zod": "^3.24.4"
@@ -18,6 +18,7 @@ export async function runCommand(args: RunArgs, client: JobsApiClient, token?: s
18
18
  secrets: args.secrets,
19
19
  timeout: args.timeout,
20
20
  hfToken: token,
21
+ volumes: args.volumes,
21
22
  });
22
23
 
23
24
  // Submit job
@@ -39,7 +40,11 @@ export async function runCommand(args: RunArgs, client: JobsApiClient, token?: s
39
40
 
40
41
  // Not detached - fetch logs
41
42
  const logsUrl = client.getLogsUrl(job.id, job.owner.name);
42
- const logResult = await fetchJobLogs(logsUrl, { token, maxDuration: DEFAULT_LOG_WAIT_MS, maxLines: DEFAULT_MAX_LOG_LINES });
43
+ const logResult = await fetchJobLogs(logsUrl, {
44
+ token,
45
+ maxDuration: DEFAULT_LOG_WAIT_MS,
46
+ maxLines: DEFAULT_MAX_LOG_LINES,
47
+ });
43
48
 
44
49
  let response = `Job started: ${job.id}\n\n`;
45
50
 
@@ -80,6 +85,7 @@ export async function uvCommand(args: UvArgs, client: JobsApiClient, token?: str
80
85
  timeout: args.timeout,
81
86
  detach: args.detach,
82
87
  namespace: args.namespace,
88
+ volumes: args.volumes,
83
89
  };
84
90
 
85
91
  return runCommand(runArgs, client, token);
@@ -28,6 +28,7 @@ export async function scheduledRunCommand(
28
28
  secrets: args.secrets,
29
29
  timeout: args.timeout,
30
30
  hfToken: token,
31
+ volumes: args.volumes,
31
32
  });
32
33
 
33
34
  // Create scheduled job spec
@@ -78,6 +79,7 @@ export async function scheduledUvCommand(
78
79
  timeout: args.timeout,
79
80
  detach: args.detach,
80
81
  namespace: args.namespace,
82
+ volumes: args.volumes,
81
83
  };
82
84
 
83
85
  return scheduledRunCommand(scheduledRunArgs, client, token);
@@ -1,4 +1,4 @@
1
- import type { JobSpec } from '../types.js';
1
+ import type { JobSpec, JobVolume, JobVolumeType } from '../types.js';
2
2
  import { parse as parseShellArgs } from 'shell-quote';
3
3
 
4
4
  interface EnvToken {
@@ -7,6 +7,17 @@ interface EnvToken {
7
7
  }
8
8
 
9
9
  const SPECIAL_PARAMS = new Set(['*', '@', '#', '?', '!', '-', '_']);
10
+ const HF_VOLUME_PREFIX = 'hf://';
11
+ const VOLUME_FORMAT_HELP =
12
+ 'Expected format: hf://[TYPE/]OWNER/NAME[/PATH]:/MOUNT_PATH[:ro|:rw], ' +
13
+ 'e.g. hf://datasets/org/dataset:/data:ro or hf://buckets/org/bucket:/output.';
14
+ const HF_VOLUME_TYPES: Record<string, JobVolumeType> = {
15
+ models: 'model',
16
+ datasets: 'dataset',
17
+ spaces: 'space',
18
+ buckets: 'bucket',
19
+ };
20
+ const SINGULAR_VOLUME_TYPES = new Set(['model', 'dataset', 'space', 'bucket']);
10
21
 
11
22
  function isEnvToken(entry: unknown): entry is EnvToken {
12
23
  return Boolean(entry && typeof entry === 'object' && (entry as EnvToken).type === 'env');
@@ -50,9 +61,7 @@ export function parseTimeout(timeout: string): number {
50
61
  if (!isNaN(seconds)) {
51
62
  return seconds;
52
63
  }
53
- throw new Error(
54
- `Invalid timeout format: "${timeout}". Use format like "5m", "2h", "30s", or plain seconds.`
55
- );
64
+ throw new Error(`Invalid timeout format: "${timeout}". Use format like "5m", "2h", "30s", or plain seconds.`);
56
65
  }
57
66
 
58
67
  const value = parseFloat(match[1]);
@@ -93,7 +102,7 @@ export function parseCommand(command: string | string[]): { command: string[]; a
93
102
  }
94
103
 
95
104
  // Parse the command string using shell-quote for POSIX-compliant parsing
96
- const parsed = parseShellArgs<EnvToken>(command, key => ({ type: 'env', key }));
105
+ const parsed = parseShellArgs<EnvToken>(command, (key) => ({ type: 'env', key }));
97
106
 
98
107
  // Convert parsed result to string array
99
108
  // shell-quote can return various types (strings, objects for operators, etc.)
@@ -121,6 +130,82 @@ export function parseCommand(command: string | string[]): { command: string[]; a
121
130
  return { command: stringArgs, arguments: [] };
122
131
  }
123
132
 
133
+ function invalidVolume(rawSpec: string, message: string): Error {
134
+ return new Error(`Invalid volume "${rawSpec}". ${message} ${VOLUME_FORMAT_HELP}`);
135
+ }
136
+
137
+ function parseVolume(rawSpec: string): JobVolume {
138
+ let spec = rawSpec;
139
+ let readOnly: boolean | undefined;
140
+
141
+ if (spec.endsWith(':ro')) {
142
+ readOnly = true;
143
+ spec = spec.slice(0, -3);
144
+ } else if (spec.endsWith(':rw')) {
145
+ readOnly = false;
146
+ spec = spec.slice(0, -3);
147
+ }
148
+
149
+ if (!spec.startsWith(HF_VOLUME_PREFIX)) {
150
+ throw invalidVolume(rawSpec, `Volume source must start with "${HF_VOLUME_PREFIX}".`);
151
+ }
152
+
153
+ const body = spec.slice(HF_VOLUME_PREFIX.length);
154
+ const mountSeparator = body.lastIndexOf(':/');
155
+ if (mountSeparator === -1) {
156
+ throw invalidVolume(rawSpec, 'Missing mount path.');
157
+ }
158
+
159
+ const sourcePart = body.slice(0, mountSeparator);
160
+ const mountPath = body.slice(mountSeparator + 1);
161
+ if (!sourcePart) {
162
+ throw invalidVolume(rawSpec, 'Missing Hub source before mount path.');
163
+ }
164
+ if (!mountPath.startsWith('/') || mountPath === '/') {
165
+ throw invalidVolume(rawSpec, `Mount path must be a non-empty absolute path, got "${mountPath}".`);
166
+ }
167
+
168
+ const segments = sourcePart.split('/');
169
+ const firstSegment = segments[0];
170
+ if (!firstSegment) {
171
+ throw invalidVolume(rawSpec, 'Missing Hub source type or owner.');
172
+ }
173
+ if (SINGULAR_VOLUME_TYPES.has(firstSegment)) {
174
+ throw invalidVolume(rawSpec, `Type prefix must be plural, got "${firstSegment}/".`);
175
+ }
176
+
177
+ const explicitType = HF_VOLUME_TYPES[firstSegment];
178
+ const type = explicitType ?? 'model';
179
+ const locationSegments = explicitType ? segments.slice(1) : segments;
180
+ if (locationSegments.length < 2 || !locationSegments[0] || !locationSegments[1]) {
181
+ throw invalidVolume(rawSpec, 'Hub source must include OWNER/NAME.');
182
+ }
183
+
184
+ const source = `${locationSegments[0]}/${locationSegments[1]}`;
185
+ const path = locationSegments.slice(2).join('/') || undefined;
186
+ const volume: JobVolume = { type, source, mountPath };
187
+
188
+ if (readOnly !== undefined) {
189
+ volume.readOnly = readOnly;
190
+ }
191
+ if (path) {
192
+ volume.path = path;
193
+ }
194
+
195
+ return volume;
196
+ }
197
+
198
+ /**
199
+ * Parse hf:// volume mount strings into the Jobs API payload shape.
200
+ */
201
+ export function parseVolumes(volumes?: string[]): JobVolume[] | undefined {
202
+ if (!volumes || volumes.length === 0) {
203
+ return undefined;
204
+ }
205
+
206
+ return volumes.map(parseVolume);
207
+ }
208
+
124
209
  /**
125
210
  * Replace HF token placeholder with actual token if available
126
211
  */
@@ -162,6 +247,7 @@ export function createJobSpec(args: {
162
247
  secrets?: Record<string, string>;
163
248
  timeout?: string;
164
249
  hfToken?: string;
250
+ volumes?: string[];
165
251
  }): JobSpec {
166
252
  // Validate required fields
167
253
  if (!args.image) {
@@ -176,6 +262,7 @@ export function createJobSpec(args: {
176
262
  const timeoutSeconds = args.timeout ? parseTimeout(args.timeout) : undefined;
177
263
  const environment = transformEnvMap(args.env, args.hfToken) || {};
178
264
  const secrets = transformEnvMap(args.secrets, args.hfToken) || {};
265
+ const volumes = parseVolumes(args.volumes);
179
266
 
180
267
  const spec: JobSpec = {
181
268
  ...imageSource,
@@ -186,6 +273,9 @@ export function createJobSpec(args: {
186
273
  secrets,
187
274
  timeoutSeconds,
188
275
  };
276
+ if (volumes) {
277
+ spec.volumes = volumes;
278
+ }
189
279
 
190
280
  return spec;
191
281
  }
@@ -337,6 +337,42 @@ Manage compute jobs on Hugging Face infrastructure.
337
337
 
338
338
  ${renderExampleSection('Run a simple job', 'run')}${renderExampleSection('Run a Python script with UV', 'uv')}
339
339
 
340
+ ## Deep Hub Dataset/Repo Analysis
341
+
342
+ Use Jobs for deep analysis prompts involving Hugging Face datasets, models, Spaces, repos, traces, or large Hub files—especially when the user asks to "analyze", "find trends", "process all rows/files", "run a complete analysis", "take your time", or "install/use Python libraries".
343
+
344
+ Recommended workflow:
345
+ 1. Inspect the repo with \`hub_repo_details\` for schema, splits, and parquet URLs.
346
+ 2. Run \`operation: "uv"\` with a self-contained Python script; do not call \`{"operation": "uv"}\` by itself except to request help.
347
+ 3. Always put third-party packages in \`with_deps\`; do not assume packages like \`pandas\`, \`polars\`, \`pyarrow\`, \`datasets\`, or \`huggingface_hub\` are installed. Prefer \`with_deps\` over relying on inline PEP 723 script metadata.
348
+ 4. Prefer converted parquet URLs for Hub datasets when available; they are often more reliable for mixed JSONL/session repos than \`datasets.load_dataset(...)\`.
349
+ 5. Print the final report at the end of the job. If the initial response only shows installation logs or partial output, call \`logs\` with the exact returned job ID and a larger \`tail\`, e.g. \`{"tail": 500}\`.
350
+ 6. Jobs do not automatically inherit the MCP server's Hugging Face token inside the container. For private/gated data or uploads, pass \`secrets: { "HF_TOKEN": "$HF_TOKEN" }\`.
351
+
352
+ Example:
353
+ \`\`\`json
354
+ {
355
+ "operation": "uv",
356
+ "args": {
357
+ "with_deps": ["polars", "pyarrow", "huggingface_hub"],
358
+ "timeout": "60m",
359
+ "flavor": "cpu-upgrade",
360
+ "script": "import polars as pl\\nurl = 'PARQUET_URL_FROM_HUB_REPO_DETAILS'\\ndf = pl.read_parquet(url)\\nprint(df.shape)\\nprint(df.head())"
361
+ }
362
+ }
363
+ \`\`\`
364
+
365
+ If output is incomplete, fetch more logs:
366
+ \`\`\`json
367
+ {
368
+ "operation": "logs",
369
+ "args": {
370
+ "job_id": "JOB_ID_FROM_RUN_RESPONSE",
371
+ "tail": 500
372
+ }
373
+ }
374
+ \`\`\`
375
+
340
376
  ## Hardware Flavors
341
377
 
342
378
  ${HARDWARE_FLAVORS_SECTION}
@@ -357,6 +393,28 @@ ${HARDWARE_FLAVORS_SECTION}
357
393
  - Include newline characters directly in the argument (e.g., \`"first line\\nsecond line"\`)
358
394
  - UV inline scripts are automatically base64-decoded inside the container; just send the raw script text
359
395
 
396
+ ## Volumes
397
+
398
+ Attach Hub repositories or buckets into the job container with \`hf://\` volume URLs.
399
+
400
+ Format: \`hf://[TYPE/]OWNER/NAME[/PATH]:/MOUNT_PATH[:ro|:rw]\`
401
+
402
+ - \`TYPE\` is one of \`models\`, \`datasets\`, \`spaces\`, or \`buckets\`; omitted type defaults to models.
403
+ - \`OWNER/NAME\` source IDs are required.
404
+ - \`:ro\` and \`:rw\` are optional; backend defaults are preserved when omitted.
405
+
406
+ Example:
407
+ \`\`\`json
408
+ {
409
+ "operation": "run",
410
+ "args": {
411
+ "image": "python:3.12",
412
+ "command": ["python", "-c", "import os; print(os.listdir('/data'))"],
413
+ "volumes": ["hf://datasets/org/dataset:/data:ro"]
414
+ }
415
+ }
416
+ \`\`\`
417
+
360
418
  ### Show command-specific help
361
419
  Call this tool with:
362
420
  \`\`\`json
@@ -378,9 +436,8 @@ Call this tool with:
378
436
  export const HF_JOBS_TOOL_CONFIG = {
379
437
  name: 'hf_jobs',
380
438
  description:
381
- 'Manage Hugging Face CPU/GPU compute jobs. Run commands in Docker containers, ' +
382
- 'execute Python scripts with UV. List, schedule and monitor jobs/logs. ' +
383
- 'Call this tool with no operation for full usage instructions and examples. ',
439
+ 'Remote compute for Hugging Face workflows. Run Python/UV or Docker jobs to deeply analyze Hub datasets, repos, traces, models, and large files; compute trends/statistics; run batch inference/evaluation; or perform long-running work with installed libraries. ' +
440
+ 'Use for dataset/repo analysis prompts when local chat inspection is insufficient. Includes submit, logs, inspect, cancel, schedule, and volume mounting.',
384
441
  schema: z.object({
385
442
  operation: z
386
443
  .enum(OPERATION_NAMES)
package/src/jobs/types.ts CHANGED
@@ -60,6 +60,20 @@ export interface JobOwner {
60
60
  type: 'user' | 'org';
61
61
  }
62
62
 
63
+ /**
64
+ * Hugging Face Hub volume mounted into a Job container.
65
+ */
66
+ export type JobVolumeType = 'bucket' | 'model' | 'dataset' | 'space';
67
+
68
+ export interface JobVolume {
69
+ type: JobVolumeType;
70
+ source: string;
71
+ mountPath: string;
72
+ revision?: string;
73
+ readOnly?: boolean;
74
+ path?: string;
75
+ }
76
+
63
77
  /**
64
78
  * Job information from API
65
79
  * Based on OpenAPI schema
@@ -97,6 +111,7 @@ export interface JobSpec {
97
111
  secrets?: Record<string, string>;
98
112
  flavor: string;
99
113
  timeoutSeconds?: number;
114
+ volumes?: JobVolume[];
100
115
  }
101
116
 
102
117
  /**
@@ -164,6 +179,14 @@ export const runArgsSchema = commonArgsSchema.extend({
164
179
  .optional()
165
180
  .describe('Secrets as key-value pairs. Use HF_TOKEN=$HF_TOKEN to include your token'),
166
181
  timeout: z.string().optional().describe('Max duration (e.g., "5m", "2h", "30s"). Default: 30m').default('30m'),
182
+ volumes: z
183
+ .array(z.string())
184
+ .optional()
185
+ .describe(
186
+ 'Volume mounts using hf:// URLs. Format: hf://TYPE/OWNER/NAME[/PATH]:/MOUNT_PATH[:ro|:rw]. ' +
187
+ 'TYPE is models, datasets, spaces, or buckets. ' +
188
+ 'Examples: ["hf://datasets/org/ds:/data:ro", "hf://buckets/org/b:/output"].'
189
+ ),
167
190
  detach: z
168
191
  .boolean()
169
192
  .optional()
@@ -187,7 +210,18 @@ export const uvArgsSchema = commonArgsSchema.extend({
187
210
  .optional()
188
211
  .describe('Secrets as key-value pairs. Use HF_TOKEN=$HF_TOKEN to include your token'),
189
212
  timeout: z.string().optional().default('30m').describe('Max duration'),
190
- detach: z.boolean().optional().default(false).describe('If true, return immediately with job ID. If false (default), tail logs for up to 10 seconds.'),
213
+ volumes: z
214
+ .array(z.string())
215
+ .optional()
216
+ .describe(
217
+ 'Volume mounts using hf:// URLs. Format: hf://TYPE/OWNER/NAME[/PATH]:/MOUNT_PATH[:ro|:rw]. ' +
218
+ 'TYPE is models, datasets, spaces, or buckets.'
219
+ ),
220
+ detach: z
221
+ .boolean()
222
+ .optional()
223
+ .default(false)
224
+ .describe('If true, return immediately with job ID. If false (default), tail logs for up to 10 seconds.'),
191
225
  });
192
226
 
193
227
  // PS command args
@@ -1,5 +1,11 @@
1
1
  import { describe, it, expect } from 'vitest';
2
- import { parseTimeout, parseImageSource, parseCommand, createJobSpec } from '../../src/jobs/commands/utils.js';
2
+ import {
3
+ parseTimeout,
4
+ parseImageSource,
5
+ parseCommand,
6
+ parseVolumes,
7
+ createJobSpec,
8
+ } from '../../src/jobs/commands/utils.js';
3
9
 
4
10
  describe('Jobs Command Translation', () => {
5
11
  describe('parseTimeout', () => {
@@ -104,7 +110,7 @@ describe('Jobs Command Translation', () => {
104
110
  });
105
111
 
106
112
  it('should handle single-quoted strings', () => {
107
- const result = parseCommand("python -c 'print(\"Hello world!\")'");
113
+ const result = parseCommand('python -c \'print("Hello world!")\'');
108
114
  expect(result.command).toEqual(['python', '-c', 'print("Hello world!")']);
109
115
  });
110
116
 
@@ -203,6 +209,67 @@ describe('Jobs Command Translation', () => {
203
209
  });
204
210
  });
205
211
 
212
+ describe('parseVolumes', () => {
213
+ it('should parse explicit model volume', () => {
214
+ expect(parseVolumes(['hf://models/org/model:/model'])).toEqual([
215
+ { type: 'model', source: 'org/model', mountPath: '/model' },
216
+ ]);
217
+ });
218
+
219
+ it('should parse implicit model volume with owner and name', () => {
220
+ expect(parseVolumes(['hf://org/model:/model'])).toEqual([
221
+ { type: 'model', source: 'org/model', mountPath: '/model' },
222
+ ]);
223
+ });
224
+
225
+ it('should parse dataset volume with read-only suffix', () => {
226
+ expect(parseVolumes(['hf://datasets/org/ds:/data:ro'])).toEqual([
227
+ { type: 'dataset', source: 'org/ds', mountPath: '/data', readOnly: true },
228
+ ]);
229
+ });
230
+
231
+ it('should parse bucket subpath with read-write suffix', () => {
232
+ expect(parseVolumes(['hf://buckets/org/b/sub/dir:/output:rw'])).toEqual([
233
+ {
234
+ type: 'bucket',
235
+ source: 'org/b',
236
+ path: 'sub/dir',
237
+ mountPath: '/output',
238
+ readOnly: false,
239
+ },
240
+ ]);
241
+ });
242
+
243
+ it('should parse multiple volumes', () => {
244
+ expect(parseVolumes(['hf://datasets/org/ds:/data:ro', 'hf://buckets/org/b:/output'])).toEqual([
245
+ { type: 'dataset', source: 'org/ds', mountPath: '/data', readOnly: true },
246
+ { type: 'bucket', source: 'org/b', mountPath: '/output' },
247
+ ]);
248
+ });
249
+
250
+ it('should omit empty volumes', () => {
251
+ expect(parseVolumes()).toBeUndefined();
252
+ expect(parseVolumes([])).toBeUndefined();
253
+ });
254
+
255
+ it('should reject missing hf prefix', () => {
256
+ expect(() => parseVolumes(['datasets/org/ds:/data'])).toThrow(/Invalid volume.*hf:\/\//);
257
+ });
258
+
259
+ it('should reject single-segment source ids', () => {
260
+ expect(() => parseVolumes(['hf://gpt2:/model'])).toThrow(/OWNER\/NAME/);
261
+ });
262
+
263
+ it('should reject singular type prefixes', () => {
264
+ expect(() => parseVolumes(['hf://dataset/org/ds:/data'])).toThrow(/plural/);
265
+ });
266
+
267
+ it('should reject invalid mount paths', () => {
268
+ expect(() => parseVolumes(['hf://datasets/org/ds:/'])).toThrow(/Mount path/);
269
+ expect(() => parseVolumes(['hf://datasets/org/ds:data'])).toThrow(/Missing mount path/);
270
+ });
271
+ });
272
+
206
273
  describe('createJobSpec', () => {
207
274
  it('should create a basic job spec', () => {
208
275
  const spec = createJobSpec({
@@ -327,5 +394,24 @@ describe('Jobs Command Translation', () => {
327
394
 
328
395
  expect(spec.command).toEqual(['bash', '-c', 'echo hello']);
329
396
  });
397
+
398
+ it('should include volumes when provided', () => {
399
+ const spec = createJobSpec({
400
+ image: 'python:3.12',
401
+ command: ['echo', 'hi'],
402
+ volumes: ['hf://datasets/org/ds:/data:ro'],
403
+ });
404
+
405
+ expect(spec.volumes).toEqual([{ type: 'dataset', source: 'org/ds', mountPath: '/data', readOnly: true }]);
406
+ });
407
+
408
+ it('should omit volumes when not provided', () => {
409
+ const spec = createJobSpec({
410
+ image: 'python:3.12',
411
+ command: ['echo', 'hi'],
412
+ });
413
+
414
+ expect(spec).not.toHaveProperty('volumes');
415
+ });
330
416
  });
331
417
  });