@autopo/mcp 0.4.4 → 0.5.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.
@@ -1,9 +1,14 @@
1
1
  import { z } from 'zod';
2
2
  import { pick, rows, trimmed } from '../api.js';
3
- import { COMPANY_ARG, PAGE_ARGS, ToolError, ask, choice, confirm, define, isInputRequired, resolveCompany, text, textField } from '../kit.js';
3
+ import { COMPANY_ARG, PAGE_ARGS, ToolError, answer, ask, choice, confirm, define, isInputRequired, resolveCompany, shown, text, textField } from '../kit.js';
4
4
  const TASK_KEYS = ['id', 'key', 'title', 'status', 'priority', 'assignee', 'assignee_name', 'created_at', 'updated_at', 'goal', 'parent_id', 'waiting_on', 'shortfall'];
5
5
  const AGENT_KEYS = ['id', 'name', 'role_key', 'title', 'status', 'enabled', 'model'];
6
6
  const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
7
+ const noteProposals = (s, messages) => {
8
+ for (const m of messages)
9
+ for (const a of m.actions ?? [])
10
+ s.proposals.set(String(a.id), { kind: a.kind, title: a.title, payload: a.payload });
11
+ };
7
12
  /** A chat's last reply once it is done, or what it has so far when the wait runs out. */
8
13
  async function waitReply(s, chatId, wait, signal) {
9
14
  const deadline = Date.now() + Math.max(0, Math.min(wait ?? 90, 300)) * 1000;
@@ -12,6 +17,7 @@ async function waitReply(s, chatId, wait, signal) {
12
17
  const messages = session.messages ?? [];
13
18
  const reply = [...messages].reverse().find((m) => m.role === 'agent');
14
19
  const streaming = reply?.status === 'streaming';
20
+ noteProposals(s, messages);
15
21
  if (!reply || !streaming || Date.now() >= deadline || signal?.aborted) {
16
22
  return {
17
23
  chat: chatId,
@@ -154,22 +160,23 @@ export function registerCompanyTools(server, s) {
154
160
  const title = card.title ?? 'this card';
155
161
  const amount = card.amount ?? (typeof card.amount_cents === 'number' ? `$${(card.amount_cents / 100).toFixed(2)}` : '');
156
162
  const verb = args.choice === 'approve' ? 'Approve' : args.choice === 'reject' ? 'Reject' : 'Cancel';
157
- const got = (await import('../kit.js')).answer(ctx, 'decide');
163
+ const got = answer(ctx, 'decide');
158
164
  if (got === undefined) {
159
- return ask('decide', `${verb} "${title}"${amount ? ` (${amount})` : ''}?${args.note ? ` Note: ${args.note}` : ''}`, {
165
+ const extras = [args.note ? `Note: ${args.note}` : '', args.answer !== undefined ? `Answer: ${shown(args.answer)}` : '', args.edited_input ? `With these changes: ${shown(args.edited_input)}` : ''].filter(Boolean);
166
+ return ask('decide', `${verb} "${title}"${amount ? ` (${amount})` : ''}?${extras.length ? `\n${extras.join('\n')}` : ''}`, {
160
167
  go: choice('Decision', [{ value: 'yes', label: `Yes, ${verb.toLowerCase()} it` }, { value: 'no', label: 'No, leave it open' }]),
161
168
  note: textField('A note for the team (required when rejecting)', undefined, { maxLength: 1000 }),
162
169
  }, ['go']);
163
170
  }
164
171
  if (got === null || got.go !== 'yes')
165
172
  return text('Left open: nothing was decided.');
166
- const note = args.note ?? got.note ?? '';
173
+ const note = args.note?.trim() ? args.note : (got.note ?? '');
167
174
  if (args.choice === 'reject' && !note.trim())
168
175
  return text('Not rejected: a note is required when rejecting. Call decide again with `note`.');
169
176
  const body = { decision: args.choice };
170
177
  if (note.trim())
171
178
  body.note = note;
172
- if (args.answer)
179
+ if (args.answer !== undefined)
173
180
  body.answer = args.answer;
174
181
  if (args.edited_input)
175
182
  body.edited_input = args.edited_input;
@@ -249,11 +256,14 @@ export function registerCompanyTools(server, s) {
249
256
  });
250
257
  define(server, s, 'update_task', {
251
258
  title: 'Update task',
252
- description: 'Change a task: its title, description, status, priority, assignee or criteria.',
259
+ description: 'Change a task: its title, description, status, priority, assignee or criteria. To cancel one, use cancel_task.',
253
260
  input: { task: z.string(), title: z.string().optional(), description: z.string().optional(), status: z.string().optional(), priority: z.string().optional(), assignee: z.string().optional(), acceptance_criteria: z.array(z.string()).optional() },
254
261
  group: 'tasks',
255
262
  kind: 'write',
256
263
  }, async (args) => {
264
+ // The same cascade as cancel_task, so it can't be the way around that tool's dialog.
265
+ if (args.status?.trim().toLowerCase() === 'cancelled')
266
+ throw new ToolError('Cancelling a task takes its subtasks, cards and live runs with it: use cancel_task, which shows you what it takes first.');
257
267
  const body = {};
258
268
  for (const key of ['title', 'description', 'status', 'priority', 'acceptance_criteria'])
259
269
  if (args[key] !== undefined)
@@ -320,7 +330,7 @@ export function registerCompanyTools(server, s) {
320
330
  if (args.production)
321
331
  body.context = { page: 'studio', production: args.production };
322
332
  const session = (await s.api.post(`/api/agents/${agent.id}/chats`, body));
323
- return waitReply(s, session.id, args.wait_seconds, ctx.signal);
333
+ return waitReply(s, session.id, args.wait_seconds, ctx.mcpReq.signal);
324
334
  });
325
335
  define(server, s, 'continue_chat', {
326
336
  title: 'Continue chat',
@@ -330,7 +340,7 @@ export function registerCompanyTools(server, s) {
330
340
  kind: 'write',
331
341
  }, async (args, ctx) => {
332
342
  await s.api.post(`/api/chats/${args.chat}/messages`, { content: args.message });
333
- return waitReply(s, args.chat, args.wait_seconds, ctx.signal);
343
+ return waitReply(s, args.chat, args.wait_seconds, ctx.mcpReq.signal);
334
344
  });
335
345
  define(server, s, 'read_chat', {
336
346
  title: 'Read chat',
@@ -340,6 +350,7 @@ export function registerCompanyTools(server, s) {
340
350
  }, async (args) => {
341
351
  const session = (await s.api.get(`/api/chats/${args.chat}`));
342
352
  const last = args.last ?? 20;
353
+ noteProposals(s, session.messages ?? []);
343
354
  return {
344
355
  id: session.id,
345
356
  title: session.title,
@@ -363,13 +374,20 @@ export function registerCompanyTools(server, s) {
363
374
  });
364
375
  define(server, s, 'apply_chat_action', {
365
376
  title: 'Apply a chat proposal',
366
- description: "Apply a proposal an agent made in a chat (a task, a note, media to make, a card): the action's id from the reply's `actions`. `edits` changes fields of its payload first. `dismiss: true` declines it.",
377
+ description: "Apply a proposal an agent made in a chat (a task, a note, media to make, a card): the action's id from the reply's `actions`. `edits` changes fields of its payload first. `dismiss: true` declines it. Applying can start work or spend credits, so you confirm in a dialog.",
367
378
  input: { action: z.string(), edits: z.record(z.string(), z.unknown()).optional(), dismiss: z.boolean().optional() },
368
379
  group: 'team',
369
380
  kind: 'write',
370
- }, async (args) => {
381
+ }, async (args, ctx) => {
371
382
  if (args.dismiss)
372
383
  return s.api.post(`/api/chat-actions/${args.action}/dismiss`);
384
+ const known = s.proposals.get(args.action);
385
+ const what = typeof known?.title === 'string' && known.title ? `"${known.title}"` : 'this proposal';
386
+ const spends = known?.kind === undefined || known.kind === 'studio_generate';
387
+ const details = [known?.payload ? shown(known.payload) : '', args.edits ? `With these changes: ${shown(args.edits)}` : ''].filter(Boolean);
388
+ const ok = confirm(ctx, 'apply', `Apply ${what}?${spends ? ' It can spend credits.' : ''}${details.length ? `\n${details.join('\n')}` : ''}`, 'Yes, apply it', 'No');
389
+ if (ok !== true)
390
+ return ok;
373
391
  return s.api.post(`/api/chat-actions/${args.action}/apply`, args.edits ? { edits: args.edits } : {});
374
392
  });
375
393
  // --- runs ----------------------------------------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"company.js","sourceRoot":"","sources":["../../src/tools/company.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"company.js","sourceRoot":"","sources":["../../src/tools/company.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { trimmed } from '../api.js';
3
- import { COMPANY_ARG, PAGE_ARGS, answer, askToOpen, confirm, define, isInputRequired, resolveCompany, text } from '../kit.js';
3
+ import { COMPANY_ARG, PAGE_ARGS, answer, askToOpen, confirm, define, isInputRequired, resolveCompany, shown, text } from '../kit.js';
4
4
  /** Where things live in the web app, by what the person wants to open. */
5
5
  const PLACES = {
6
6
  home: (c) => `/c/${c}/overview`,
@@ -18,6 +18,13 @@ const PLACES = {
18
18
  connectors: (c) => `/c/${c}/connectors`,
19
19
  settings: (c) => `/c/${c}/settings`,
20
20
  };
21
+ /** A query written into `path` joins `query`, so the path that reaches the API is only a path. */
22
+ function splitQuery(raw, query = {}) {
23
+ const at = raw.indexOf('?');
24
+ if (at < 0)
25
+ return { path: raw, query };
26
+ return { path: raw.slice(0, at), query: { ...Object.fromEntries(new URLSearchParams(raw.slice(at + 1))), ...query } };
27
+ }
21
28
  export function registerMarketingAndApiTools(server, s) {
22
29
  // --- marketing and social ------------------------------------------------------------------------------------------
23
30
  define(server, s, 'brand_brain', {
@@ -75,7 +82,7 @@ export function registerMarketingAndApiTools(server, s) {
75
82
  const cid = await resolveCompany(s, args, ctx);
76
83
  if (isInputRequired(cid))
77
84
  return cid;
78
- const preview = args.posts.map((p) => `• ${String(p.account ?? '?')}: ${String(p.text ?? '').slice(0, 120)}`).join('\n');
85
+ const preview = args.posts.map((p) => `• ${String(p.account ?? '?')}: ${shown(String(p.text ?? ''), 500)}${p.media ? ` [media: ${shown(p.media, 120)}]` : ''}`).join('\n');
79
86
  const when = args.schedule_at ? `at ${args.schedule_at}` : 'now';
80
87
  const ok = confirm(ctx, 'post', `Publish ${args.posts.length} post${args.posts.length > 1 ? 's' : ''} ${when}?\n${preview}`, 'Yes, post', 'No');
81
88
  if (ok !== true)
@@ -138,12 +145,12 @@ export function registerMarketingAndApiTools(server, s) {
138
145
  const url = checkout.url ?? checkout.checkout_url;
139
146
  if (!url)
140
147
  return text('The platform gave no checkout link. Buy credits on the Money page of the app.', { link: s.link(PLACES.money(cid)) });
141
- return askToOpen('checkout', url, `Open the checkout for ${args.amount ? `${args.amount} credits` : 'credits'}?`);
148
+ return askToOpen('checkout', url, `Open the checkout for ${args.amount ? `${args.amount} credits` : 'credits'}?`, ctx);
142
149
  });
143
150
  // --- everything else: the whole API ----------------------------------------------------------------------------------
144
151
  define(server, s, 'api_request', {
145
152
  title: 'Call the API',
146
- description: 'Call any endpoint of the Autopo REST API as yourself: `method`, `path` (starts with /api/, ids filled in), optional JSON `body` and `query`. api_reference is the manual: use this for anything the other tools don’t cover. Writes are real.',
153
+ description: 'Call any endpoint of the Autopo REST API as yourself: `method`, `path` (starts with /api/, ids filled in), optional JSON `body` and `query`. api_reference is the manual: use this for anything the other tools don’t cover. Reads go straight through; anything else is real, so you confirm it in a dialog first.',
147
154
  input: {
148
155
  method: z.enum(['GET', 'POST', 'PATCH', 'PUT', 'DELETE']),
149
156
  path: z.string(),
@@ -152,8 +159,18 @@ export function registerMarketingAndApiTools(server, s) {
152
159
  },
153
160
  group: 'api',
154
161
  kind: 'write',
155
- }, async (args) => {
156
- const data = await s.api.request(args.method, args.path, args.body, args.query);
162
+ hints: { destructiveHint: true },
163
+ }, async (args, ctx) => {
164
+ const { path, query } = splitQuery(args.path, args.query);
165
+ if (args.method !== 'GET') {
166
+ // This tool reaches everything the others guard (decide, generate, post, delete), so it can't be the way around their dialogs.
167
+ const search = new URLSearchParams(Object.entries(query).map(([k, v]) => [k, String(v)])).toString();
168
+ const body = args.body ? `\n${shown(args.body, 1000)}` : '';
169
+ const ok = confirm(ctx, 'api', `Send ${args.method} ${path}${search ? `?${search}` : ''} as you?${body}`, 'Yes, send it', 'No');
170
+ if (ok !== true)
171
+ return ok;
172
+ }
173
+ const data = await s.api.request(args.method, path, args.body, query);
157
174
  return data === null || data === undefined ? { ok: true } : data;
158
175
  });
159
176
  define(server, s, 'api_reference', {
@@ -204,11 +221,11 @@ export function registerMarketingAndApiTools(server, s) {
204
221
  const cid = await resolveCompany(s, args, ctx);
205
222
  if (isInputRequired(cid))
206
223
  return cid;
207
- const url = s.link(PLACES[args.what](cid, args.id));
224
+ const url = s.link(PLACES[args.what](encodeURIComponent(cid), args.id === undefined ? undefined : encodeURIComponent(args.id)));
208
225
  const opened = answer(ctx, 'open');
209
226
  if (opened !== undefined)
210
227
  return text(opened === null ? `Not opened. The link: ${url}` : `Opened ${url}`, { url });
211
- return askToOpen('open', url, `Open ${args.what} in the app?`);
228
+ return askToOpen('open', url, `Open ${args.what} in the app?`, ctx);
212
229
  });
213
230
  }
214
231
  //# sourceMappingURL=marketing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"marketing.js","sourceRoot":"","sources":["../../src/tools/marketing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"marketing.js","sourceRoot":"","sources":["../../src/tools/marketing.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { ApiError, pick, rows, trimmed } from '../api.js';
3
3
  import { COMPANY_ARG, PAGE_ARGS, ToolError, confirm, define, isInputRequired, money, resolveCompany } from '../kit.js';
4
- import { describeApiError, expandPath, fileRefs, findFile, mb, noLocalFiles, pathSource, planFromPath, planFromUrl, progressOf, rewriteRefs, upload, urlSource, waitReady } from '../files.js';
4
+ import { describeApiError, expandPath, fileRefs, findFile, mb, noLocalFiles, pathSource, planFromPath, planFromUrl, progressOf, rewriteRefs, upload, uploadQuestion, urlSource, waitReady } from '../files.js';
5
5
  const MEDIA_KEYS = ['id', 'kind', 'status', 'title', 'model', 'source', 'purpose', 'url', 'thumb_url', 'duration_seconds', 'width', 'height', 'cost_cents', 'error', 'created_at'];
6
6
  const MODEL_KEYS = ['key', 'kind', 'purpose', 'label', 'maker', 'short', 'quality', 'speed', 'cents', 'unit', 'aspect_ratios', 'durations', 'available'];
7
7
  const VOICE_KEYS = ['key', 'label', 'description', 'gender', 'age', 'accent'];
@@ -105,6 +105,14 @@ async function attach(s, video, assignments) {
105
105
  return (await s.api.put(`/api/studio/productions/${video.id}/shots`, { shots: rows }));
106
106
  }
107
107
  const companyOf = (video) => video.company_id ?? video.company;
108
+ /** The sources of a plan's files on this machine, read once so the dialog can size them and the upload needn't look again. */
109
+ async function planSources(bundle, keys) {
110
+ const sources = new Map();
111
+ for (const key of keys)
112
+ if (!sources.has(key))
113
+ sources.set(key, await bundle.files[key]());
114
+ return sources;
115
+ }
108
116
  export function registerStudioTools(server, s) {
109
117
  define(server, s, 'studio_overview', {
110
118
  title: 'Studio overview',
@@ -231,7 +239,7 @@ export function registerStudioTools(server, s) {
231
239
  });
232
240
  define(server, s, 'create_video', {
233
241
  title: 'Create video',
234
- description: "Start a video: a title, the brief (who it's for, what it must show, the one thing to feel), the shape (16:9, 9:16, 1:1, 4:5) and the length in seconds. The platform drafts the storyboard from the brief (free); then shape it with set_video_shots or ask the Creative Director (ask_agent creative, with `production`). `draft: false` makes an empty video to fill yourself.",
242
+ description: "Start a video: a title, the brief (who it's for, what it must show, the one thing to feel), the shape (16:9, 9:16, 1:1, 4:5) and the length in seconds. The platform drafts the storyboard from the brief (a little model time, billed like an agent's); then shape it with set_video_shots or ask the Creative Director (ask_agent creative, with `production`). `draft: false` makes an empty video to fill yourself.",
235
243
  input: {
236
244
  ...COMPANY_ARG,
237
245
  title: z.string(),
@@ -265,7 +273,7 @@ export function registerStudioTools(server, s) {
265
273
  }, async (args) => s.api.put(`/api/studio/productions/${args.video}/shots`, { shots: args.shots }));
266
274
  define(server, s, 'upload_media', {
267
275
  title: 'Upload your files',
268
- description: "Put your own files into the Studio library: recordings, screen captures, photos, a voice track, music. Each item is a `path` on the machine this server runs on (a file, or a folder: every image, clip and audio file in it, in name order) or a public `url`. The server uploads them itself, in 8 MB chunks, straight to the platform. With `video`, the files belong to that video; an item's `shot` (a shot id) puts it on that shot (a clip or image becomes the shot's picture as footage, audio becomes its voice line); `in_order: true` puts the files, in order, on the video's shots that have no picture yet. Returns the media ids (processing for a moment, then ready; wait_for_video waits for them).",
276
+ description: "Put your own files into the Studio library: recordings, screen captures, photos, a voice track, music. Each item is a `path` on the machine this server runs on (a file, or a folder: every image, clip and audio file in it, in name order; you confirm the list in a dialog before anything leaves the machine) or a public `url`. Only images, clips and audio can be uploaded. The server uploads them itself, in 8 MB chunks, straight to the platform. With `video`, the files belong to that video; an item's `shot` (a shot id) puts it on that shot (a clip or image becomes the shot's picture as footage, audio becomes its voice line); `in_order: true` puts the files, in order, on the video's shots that have no picture yet. Returns the media ids (processing for a moment, then ready; wait_for_video waits for them).",
269
277
  input: {
270
278
  ...COMPANY_ARG,
271
279
  video: z.string().optional().describe('the video the files are for (optional)'),
@@ -279,6 +287,7 @@ export function registerStudioTools(server, s) {
279
287
  },
280
288
  group: 'studio',
281
289
  kind: 'write',
290
+ hints: { openWorldHint: true },
282
291
  }, async (args, ctx) => {
283
292
  let video = null;
284
293
  let companyId;
@@ -299,7 +308,7 @@ export function registerStudioTools(server, s) {
299
308
  throw new ToolError(`Give a path or a url, not both (${item.path}).`);
300
309
  if (item.url) {
301
310
  const url = item.url;
302
- wanted.push({ source: () => urlSource(url, s.api.fetchImpl), name: url, title: item.title, shot: item.shot });
311
+ wanted.push({ source: () => urlSource(url, s.outside, ctx.mcpReq.signal), name: url, title: item.title, shot: item.shot });
303
312
  }
304
313
  else if (item.path) {
305
314
  if (!s.local)
@@ -308,7 +317,7 @@ export function registerStudioTools(server, s) {
308
317
  if (paths.length > 1 && item.shot)
309
318
  throw new ToolError(`${item.path} is a folder: give shot ids per file, or in_order.`);
310
319
  for (const path of paths)
311
- wanted.push({ source: () => pathSource(path), name: path, title: paths.length === 1 ? item.title : undefined, shot: item.shot });
320
+ wanted.push({ source: () => pathSource(path), name: path, title: paths.length === 1 ? item.title : undefined, shot: item.shot, local: true });
312
321
  }
313
322
  else {
314
323
  throw new ToolError('Each file needs a path (on this machine) or a url.');
@@ -316,6 +325,13 @@ export function registerStudioTools(server, s) {
316
325
  }
317
326
  if (wanted.length > 60)
318
327
  throw new ToolError(`${wanted.length} files: at most 60 in one call.`);
328
+ const local = wanted.filter((w) => w.local);
329
+ if (local.length > 0) {
330
+ const sizes = await Promise.all(local.map((w) => w.source().then((source) => source.size)));
331
+ const ok = confirm(ctx, 'upload', uploadQuestion(local.map((w) => w.name), sizes.reduce((sum, n) => sum + n, 0), "your company's Studio library"), 'Yes, upload them', 'No');
332
+ if (ok !== true)
333
+ return ok;
334
+ }
319
335
  const progress = progressOf(ctx);
320
336
  const uploaded = [];
321
337
  const failed = [];
@@ -411,14 +427,15 @@ export function registerStudioTools(server, s) {
411
427
  const shots = video.shots ?? [];
412
428
  const lacking = shots.filter((sh) => sh.visual === 'generate' && !sh.media && sh.direction?.motion !== 'still');
413
429
  const companyId = video.company_id ?? video.company;
414
- const { models } = companyId ? await s.studio(companyId) : { models: [] };
415
- const clipKey = args.model ?? video.style?.models?.clip;
430
+ const { models, defaults } = companyId ? await s.studio(companyId) : { models: [], defaults: {} };
431
+ const clipKey = args.model ?? video.style?.models?.clip ?? defaults.video;
416
432
  const clip = models.find((m) => m.key === clipKey);
417
433
  const seconds = lacking.reduce((sum, sh) => sum + (sh.duration_seconds ?? 5), 0);
418
- const clipCost = clip?.cents != null ? (clip.unit === 'second' ? clip.cents * seconds : clip.cents * lacking.length) : null;
419
434
  const what = args.what ?? 'all';
435
+ const makesClips = what === 'all' || what === 'visuals';
436
+ const clipCost = makesClips && clip?.cents != null ? (clip.unit === 'second' ? clip.cents * seconds : clip.cents * lacking.length) : null;
420
437
  const parts = [
421
- what === 'all' || what === 'visuals' ? `${lacking.length} clips (${seconds}s${clip ? `, ${clip.label ?? clip.key}` : ''})` : '',
438
+ makesClips ? `${lacking.length} clips (${seconds}s${clip ? `, ${clip.label ?? clip.key}` : ''})` : '',
422
439
  what === 'all' || what === 'voice' ? 'the voice lines' : '',
423
440
  what === 'music' ? 'the music' : '',
424
441
  ].filter(Boolean);
@@ -441,8 +458,8 @@ export function registerStudioTools(server, s) {
441
458
  const video = (await s.api.get(`/api/studio/productions/${args.video}`));
442
459
  const targets = (video.shots ?? []).filter((sh) => (args.shots ? args.shots.includes(sh.id ?? '') : sh.visual === 'generate' && !(sh.takes ?? []).some((t) => t.stage === 'keyframe')));
443
460
  const companyId = video.company_id ?? video.company;
444
- const { models } = companyId ? await s.studio(companyId) : { models: [] };
445
- const key = video.style?.models?.keyframe;
461
+ const { models, defaults } = companyId ? await s.studio(companyId) : { models: [], defaults: {} };
462
+ const key = video.style?.models?.keyframe ?? defaults.image;
446
463
  const model = models.find((m) => m.key === key);
447
464
  const cost = model?.cents != null ? model.cents * targets.length : null;
448
465
  const ok = confirm(ctx, 'spend', `Make ${targets.length} keyframes for "${video.title ?? args.video}" for about ${money(cost)}?`, 'Yes, make them', 'No');
@@ -452,7 +469,7 @@ export function registerStudioTools(server, s) {
452
469
  });
453
470
  define(server, s, 'critique_video', {
454
471
  title: 'Critique takes',
455
- description: 'The critic judges the latest takes (`stage` keyframes or clips) against each shot’s direction and puts the best on the shot.',
472
+ description: 'The critic judges the latest takes (`stage` keyframes or clips) against each shot’s direction and puts the best on the shot (a little model time, billed like an agent’s).',
456
473
  input: { video: z.string(), stage: z.enum(['keyframes', 'clips']) },
457
474
  group: 'studio',
458
475
  kind: 'write',
@@ -464,7 +481,7 @@ export function registerStudioTools(server, s) {
464
481
  group: 'studio',
465
482
  }, async (args, ctx) => {
466
483
  const deadline = Date.now() + (args.wait_seconds ?? 60) * 1000;
467
- const signal = ctx.signal;
484
+ const signal = ctx.mcpReq.signal;
468
485
  for (;;) {
469
486
  const video = (await s.api.get(`/api/studio/productions/${args.video}`));
470
487
  const p = pending(video);
@@ -494,11 +511,18 @@ export function registerStudioTools(server, s) {
494
511
  });
495
512
  define(server, s, 'design_video_cards', {
496
513
  title: 'Design the cards',
497
- description: 'Make (or re-sync) the cards drawn over a video’s shots, one scene per shot, editable in the Studio’s design editor. `remove: true` takes them off.',
514
+ description: 'Make (or re-sync) the cards drawn over a video’s shots, one scene per shot, editable in the Studio’s design editor. `remove: true` takes them off (you confirm in a dialog).',
498
515
  input: { video: z.string(), remove: z.boolean().optional() },
499
516
  group: 'studio',
500
517
  kind: 'write',
501
- }, async (args) => (args.remove ? s.api.delete(`/api/studio/productions/${args.video}/overlay`) : s.api.post(`/api/studio/productions/${args.video}/overlay`)));
518
+ }, async (args, ctx) => {
519
+ if (!args.remove)
520
+ return s.api.post(`/api/studio/productions/${args.video}/overlay`);
521
+ const ok = confirm(ctx, 'delete', 'Take the cards off this video? Any edits to them are lost.', 'Yes, take them off', 'No');
522
+ if (ok !== true)
523
+ return ok;
524
+ return s.api.delete(`/api/studio/productions/${args.video}/overlay`);
525
+ });
502
526
  define(server, s, 'video_plan', {
503
527
  title: 'Video plan',
504
528
  description: 'A video as a plan (JSON): its shots, presenter, style, media ids. Change it and import it back with import_video_plan.',
@@ -511,6 +535,7 @@ export function registerStudioTools(server, s) {
511
535
  input: { ...COMPANY_ARG, plan: z.record(z.string(), z.unknown()).optional(), path: z.string().optional().describe('a zip, a plan.json or a folder on this machine'), url: z.string().optional().describe('a link to a zip or plan.json') },
512
536
  group: 'studio',
513
537
  kind: 'write',
538
+ hints: { openWorldHint: true },
514
539
  }, async (args, ctx) => {
515
540
  const cid = await resolveCompany(s, args, ctx);
516
541
  if (isInputRequired(cid))
@@ -522,12 +547,19 @@ export function registerStudioTools(server, s) {
522
547
  return s.api.post(`/api/companies/${cid}/studio/productions/import`, { plan: args.plan });
523
548
  if (args.path && !s.local)
524
549
  throw noLocalFiles(s, cid);
525
- const bundle = args.path ? await planFromPath(args.path) : await planFromUrl(args.url, s.api.fetchImpl);
550
+ const bundle = args.path ? await planFromPath(args.path) : await planFromUrl(args.url, s.outside, ctx.mcpReq.signal);
526
551
  try {
527
552
  const refs = fileRefs(bundle.plan);
528
553
  const missing = refs.filter((ref) => !findFile(bundle.files, ref));
529
554
  if (missing.length > 0)
530
555
  throw new ToolError(`The plan names ${missing.join(', ')}, but no such file came with it. Put the files beside plan.json (or in the zip), or upload them with upload_media and use their media ids.`);
556
+ const sources = await planSources(bundle, refs.map((ref) => findFile(bundle.files, ref)));
557
+ if (args.path) {
558
+ const all = [...sources.values()];
559
+ const ok = confirm(ctx, 'upload', uploadQuestion([args.path, ...all.map((f) => f.name)], all.reduce((sum, f) => sum + f.size, 0), "your company's Studio library"), 'Yes, upload them', 'No');
560
+ if (ok !== true)
561
+ return ok;
562
+ }
531
563
  const progress = progressOf(ctx);
532
564
  const ids = {};
533
565
  const byKey = new Map();
@@ -535,7 +567,7 @@ export function registerStudioTools(server, s) {
535
567
  for (const [i, ref] of refs.entries()) {
536
568
  const key = findFile(bundle.files, ref);
537
569
  if (!byKey.has(key)) {
538
- const source = await bundle.files[key]();
570
+ const source = sources.get(key);
539
571
  await progress(i, refs.length, `Uploading ${i + 1}/${refs.length}: ${source.name} (${mb(source.size)})`);
540
572
  const media = await upload(s, cid, source, {
541
573
  signal: ctx.mcpReq.signal,
@@ -578,7 +610,7 @@ export function registerStudioTools(server, s) {
578
610
  });
579
611
  define(server, s, 'update_media', {
580
612
  title: 'Update media',
581
- description: 'Rename, star or delete a piece of media; `retry` makes a failed generation again; `cancel` stops one.',
613
+ description: 'Rename, star or delete a piece of media; `retry` makes a failed generation again (it spends credits again: you confirm in a dialog); `cancel` stops one.',
582
614
  input: { media: z.string(), title: z.string().optional(), starred: z.boolean().optional(), action: z.enum(['delete', 'retry', 'cancel']).optional() },
583
615
  group: 'studio',
584
616
  kind: 'write',
@@ -590,8 +622,12 @@ export function registerStudioTools(server, s) {
590
622
  await s.api.delete(`/api/studio/media/${args.media}`);
591
623
  return { deleted: args.media };
592
624
  }
593
- if (args.action === 'retry')
625
+ if (args.action === 'retry') {
626
+ const ok = confirm(ctx, 'spend', 'Make this media again? Credits leave your balance.', 'Yes, make it', 'No');
627
+ if (ok !== true)
628
+ return ok;
594
629
  return s.api.post(`/api/studio/media/${args.media}/retry`);
630
+ }
595
631
  if (args.action === 'cancel')
596
632
  return s.api.post(`/api/studio/media/${args.media}/cancel`);
597
633
  const body = {};