@socialseal/mcp-server 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.ts +3 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +184 -3
- package/dist/client.js.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +25 -1
- package/dist/errors.js.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +631 -0
- package/dist/registry.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +27 -17
- package/dist/server.js.map +1 -1
- package/dist/translation.d.ts +21 -0
- package/dist/translation.d.ts.map +1 -0
- package/dist/translation.js +703 -0
- package/dist/translation.js.map +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/registry.js
CHANGED
|
@@ -23,6 +23,7 @@ export const TOOL_REGISTRY = [
|
|
|
23
23
|
category: "export",
|
|
24
24
|
description: "Generate report exports as csv, json, markdown, html, or excel_data.",
|
|
25
25
|
workspaceScoped: true,
|
|
26
|
+
notes: "reportType search_results_enriched is csv-only and is fulfilled through export-data with the tracking_ranked_videos_raw template.",
|
|
26
27
|
},
|
|
27
28
|
{
|
|
28
29
|
name: "export_tracking_data",
|
|
@@ -62,6 +63,69 @@ export const TOOL_REGISTRY = [
|
|
|
62
63
|
description: "Manage tracking items.",
|
|
63
64
|
workspaceScoped: true,
|
|
64
65
|
},
|
|
66
|
+
{
|
|
67
|
+
name: "tracked-video-extract",
|
|
68
|
+
category: "video",
|
|
69
|
+
description: "Resolve tracked videos or ad hoc public URLs into analysis and asset status.",
|
|
70
|
+
workspaceScoped: true,
|
|
71
|
+
notes: "Accepts tracked identifiers or public URL items with allowUntracked=true; poll read-only status with videoUid or platformVideoId.",
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
name: "vnext-clips-read",
|
|
75
|
+
category: "asset-studio",
|
|
76
|
+
description: "List workspace clip-library items and optionally sign selected source videos.",
|
|
77
|
+
workspaceScoped: true,
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
name: "vnext-clips-create",
|
|
81
|
+
category: "asset-studio",
|
|
82
|
+
description: "Create signed clip upload targets and finalize uploaded clip metadata.",
|
|
83
|
+
workspaceScoped: true,
|
|
84
|
+
notes: "The create action returns signed upload URLs; upload bytes to storage before calling finalize.",
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
name: "vnext-clip-shot-mappings-read",
|
|
88
|
+
category: "asset-studio",
|
|
89
|
+
description: "Read clip-to-blueprint shot mappings for Asset Studio.",
|
|
90
|
+
workspaceScoped: true,
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: "vnext-clip-shot-mappings-write",
|
|
94
|
+
category: "asset-studio",
|
|
95
|
+
description: "Upsert or delete clip-to-blueprint shot mappings for Asset Studio.",
|
|
96
|
+
workspaceScoped: true,
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: "vnext-generated-assets-read",
|
|
100
|
+
category: "asset-studio",
|
|
101
|
+
description: "List generated rough cuts for a blueprint or read one generated asset.",
|
|
102
|
+
workspaceScoped: true,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
name: "vnext-generated-asset-create",
|
|
106
|
+
category: "asset-studio",
|
|
107
|
+
description: "Create a generated rough-cut asset from an edit spec.",
|
|
108
|
+
workspaceScoped: true,
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
name: "vnext-generated-asset-optimize",
|
|
112
|
+
category: "asset-studio",
|
|
113
|
+
description: "Optimize a generated asset or create a new revision.",
|
|
114
|
+
workspaceScoped: true,
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
name: "vnext-generated-asset-export",
|
|
118
|
+
category: "asset-studio",
|
|
119
|
+
description: "Export a generated rough cut as FCPXML.",
|
|
120
|
+
workspaceScoped: true,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
name: "vnext-generated-asset-share",
|
|
124
|
+
category: "asset-studio",
|
|
125
|
+
description: "Create, read, or revoke generated-asset share links.",
|
|
126
|
+
workspaceScoped: false,
|
|
127
|
+
notes: "create/revoke require workspaceId in the body; read uses shareToken and does not require workspace scope.",
|
|
128
|
+
},
|
|
65
129
|
{
|
|
66
130
|
name: "search-journey-run",
|
|
67
131
|
category: "vnext",
|
|
@@ -75,12 +139,54 @@ export const TOOL_REGISTRY = [
|
|
|
75
139
|
description: "Read vNext blueprint history and specific versions.",
|
|
76
140
|
workspaceScoped: true,
|
|
77
141
|
},
|
|
142
|
+
{
|
|
143
|
+
name: "vnext-blueprints-create",
|
|
144
|
+
category: "vnext",
|
|
145
|
+
description: "Create a vNext blueprint from grounded evidence.",
|
|
146
|
+
workspaceScoped: true,
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
name: "vnext-blueprints-generate",
|
|
150
|
+
category: "vnext",
|
|
151
|
+
description: "Generate a vNext blueprint from workspace opportunity data.",
|
|
152
|
+
workspaceScoped: true,
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
name: "vnext-blueprints-shots-read",
|
|
156
|
+
category: "video-production",
|
|
157
|
+
description: "Read shot-lift and pinned shot assets for a blueprint.",
|
|
158
|
+
workspaceScoped: true,
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
name: "vnext-blueprints-shots-refresh",
|
|
162
|
+
category: "video-production",
|
|
163
|
+
description: "Queue a refresh for blueprint shot assets.",
|
|
164
|
+
workspaceScoped: true,
|
|
165
|
+
},
|
|
78
166
|
{
|
|
79
167
|
name: "vnext-briefs-read",
|
|
80
168
|
category: "vnext",
|
|
81
169
|
description: "Read generated vNext briefs and version history.",
|
|
82
170
|
workspaceScoped: true,
|
|
83
171
|
},
|
|
172
|
+
{
|
|
173
|
+
name: "vnext-briefs-create",
|
|
174
|
+
category: "vnext",
|
|
175
|
+
description: "Create a vNext brief record.",
|
|
176
|
+
workspaceScoped: true,
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
name: "vnext-briefs-generate",
|
|
180
|
+
category: "vnext",
|
|
181
|
+
description: "Generate a vNext brief from a blueprint or opportunity.",
|
|
182
|
+
workspaceScoped: true,
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
name: "vnext-briefs-export",
|
|
186
|
+
category: "video-production",
|
|
187
|
+
description: "Export a generated vNext brief as markdown.",
|
|
188
|
+
workspaceScoped: true,
|
|
189
|
+
},
|
|
84
190
|
{
|
|
85
191
|
name: "vnext-journeys",
|
|
86
192
|
category: "vnext",
|
|
@@ -193,6 +299,531 @@ export const TOOL_SCHEMA_HINTS = {
|
|
|
193
299
|
"socialseal tools status 6809 --kind google_ai_run",
|
|
194
300
|
],
|
|
195
301
|
},
|
|
302
|
+
"group-management": {
|
|
303
|
+
summary: "Manage single-platform tracking groups and memberships.",
|
|
304
|
+
operations: [
|
|
305
|
+
{
|
|
306
|
+
action: "create",
|
|
307
|
+
required: ["action=create", "name", "workspaceId (or workspace default)"],
|
|
308
|
+
optional: ["platform (defaults to tiktok)", "description", "refresh_frequency", "next_refresh_at", "brand_id"],
|
|
309
|
+
example: {
|
|
310
|
+
action: "create",
|
|
311
|
+
name: "YouTube competitor searches",
|
|
312
|
+
platform: "youtube",
|
|
313
|
+
},
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
action: "add_item",
|
|
317
|
+
required: ["action=add_item", "group_id", "item_id or track_type+track_value"],
|
|
318
|
+
optional: ["name", "region", "platform", "refresh_frequency"],
|
|
319
|
+
example: {
|
|
320
|
+
action: "add_item",
|
|
321
|
+
group_id: 123,
|
|
322
|
+
item_id: 456,
|
|
323
|
+
},
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
action: "add_items",
|
|
327
|
+
required: ["action=add_items", "group_id", "item_ids or items"],
|
|
328
|
+
optional: ["platform for item payload defaults"],
|
|
329
|
+
example: {
|
|
330
|
+
action: "add_items",
|
|
331
|
+
group_id: 123,
|
|
332
|
+
items: [
|
|
333
|
+
{
|
|
334
|
+
name: "best kenya safari",
|
|
335
|
+
type: "keyword",
|
|
336
|
+
value: "best kenya safari",
|
|
337
|
+
region: "US",
|
|
338
|
+
},
|
|
339
|
+
],
|
|
340
|
+
},
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
action: "list | get | update | delete | refresh | list_items | remove_item | completeness",
|
|
344
|
+
required: ["action", "group_id (except list)"],
|
|
345
|
+
optional: ["item_id (remove_item)", "expected_items (completeness)", "page", "limit"],
|
|
346
|
+
example: {
|
|
347
|
+
action: "refresh",
|
|
348
|
+
group_id: 123,
|
|
349
|
+
},
|
|
350
|
+
},
|
|
351
|
+
],
|
|
352
|
+
cliExamples: [
|
|
353
|
+
"socialseal tools call --function group-management --workspace-id <workspace-uuid> --body '{\"action\":\"create\",\"name\":\"YouTube group\",\"platform\":\"youtube\"}'",
|
|
354
|
+
"socialseal tools call --function group-management --workspace-id <workspace-uuid> --body '{\"action\":\"add_items\",\"group_id\":123,\"items\":[{\"name\":\"best kenya safari\",\"type\":\"keyword\",\"value\":\"best kenya safari\",\"region\":\"US\"}]}'",
|
|
355
|
+
],
|
|
356
|
+
},
|
|
357
|
+
tracking: {
|
|
358
|
+
summary: "Manage tracking items (keywords, hashtags, creators).",
|
|
359
|
+
operations: [
|
|
360
|
+
{
|
|
361
|
+
action: "create",
|
|
362
|
+
required: ["action=create", "track_type (keyword/search, hashtag, account/creator)", "track_value"],
|
|
363
|
+
optional: ["name", "region", "platform", "refresh_frequency", "next_refresh_at", "brand_ids"],
|
|
364
|
+
example: {
|
|
365
|
+
action: "create",
|
|
366
|
+
track_type: "search",
|
|
367
|
+
track_value: "best kenya safari",
|
|
368
|
+
region: "US",
|
|
369
|
+
platform: "tiktok",
|
|
370
|
+
},
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
action: "refresh",
|
|
374
|
+
required: ["action=refresh", "item_id (numeric)"],
|
|
375
|
+
optional: [],
|
|
376
|
+
example: {
|
|
377
|
+
action: "refresh",
|
|
378
|
+
item_id: 35854,
|
|
379
|
+
},
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
action: "list | get | resolve | update | delete",
|
|
383
|
+
required: ["action", "item_id (get/update/delete)", "track_type+track_value (resolve)"],
|
|
384
|
+
optional: ["limit", "page", "offset", "include_inactive", "platform", "region"],
|
|
385
|
+
example: {
|
|
386
|
+
action: "list",
|
|
387
|
+
limit: 20,
|
|
388
|
+
},
|
|
389
|
+
},
|
|
390
|
+
],
|
|
391
|
+
cliExamples: [
|
|
392
|
+
"socialseal tools call --function tracking --workspace-id <workspace-uuid> --body '{\"action\":\"create\",\"track_type\":\"search\",\"track_value\":\"best kenya safari\",\"region\":\"US\"}'",
|
|
393
|
+
"socialseal tools call --function tracking --workspace-id <workspace-uuid> --body '{\"action\":\"refresh\",\"item_id\":35854}'",
|
|
394
|
+
],
|
|
395
|
+
},
|
|
396
|
+
"tracked-video-extract": {
|
|
397
|
+
summary: "Extract assets and queue/read analysis for tracked identifiers or ad hoc public video URLs.",
|
|
398
|
+
operations: [
|
|
399
|
+
{
|
|
400
|
+
action: "extract-tracked",
|
|
401
|
+
required: ["workspaceId (or workspace default)", "items[] with exactly one tracked selector"],
|
|
402
|
+
optional: [
|
|
403
|
+
"items[].searchResultId",
|
|
404
|
+
"items[].videoId",
|
|
405
|
+
"items[].videoUid",
|
|
406
|
+
"items[].platformVideoId",
|
|
407
|
+
"items[].platformId",
|
|
408
|
+
"ensureAnalysis",
|
|
409
|
+
"includeAssets",
|
|
410
|
+
"includeRawAnalysis",
|
|
411
|
+
"includeSourceVideo",
|
|
412
|
+
"frameStrategy",
|
|
413
|
+
"frameCount",
|
|
414
|
+
"signedUrlSeconds",
|
|
415
|
+
],
|
|
416
|
+
example: {
|
|
417
|
+
items: [
|
|
418
|
+
{
|
|
419
|
+
videoUid: "11111111-1111-4111-8111-111111111111",
|
|
420
|
+
},
|
|
421
|
+
],
|
|
422
|
+
ensureAnalysis: true,
|
|
423
|
+
includeAssets: true,
|
|
424
|
+
},
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
action: "extract-url",
|
|
428
|
+
required: ["workspaceId (or workspace default)", "allowUntracked=true", "items[].url"],
|
|
429
|
+
optional: [
|
|
430
|
+
"ensureAnalysis",
|
|
431
|
+
"includeAssets",
|
|
432
|
+
"includeRawAnalysis",
|
|
433
|
+
"includeSourceVideo",
|
|
434
|
+
"frameStrategy",
|
|
435
|
+
"frameCount",
|
|
436
|
+
"signedUrlSeconds",
|
|
437
|
+
],
|
|
438
|
+
example: {
|
|
439
|
+
allowUntracked: true,
|
|
440
|
+
ensureAnalysis: true,
|
|
441
|
+
items: [
|
|
442
|
+
{
|
|
443
|
+
url: "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
|
|
444
|
+
},
|
|
445
|
+
],
|
|
446
|
+
},
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
action: "queue-analysis",
|
|
450
|
+
required: ["workspaceId (or workspace default)", "items[] with exactly one selector"],
|
|
451
|
+
optional: ["allowUntracked for URL items", "queueOnly", "includeRawAnalysis"],
|
|
452
|
+
example: {
|
|
453
|
+
allowUntracked: true,
|
|
454
|
+
ensureAnalysis: true,
|
|
455
|
+
queueOnly: true,
|
|
456
|
+
includeAssets: false,
|
|
457
|
+
includeRawAnalysis: false,
|
|
458
|
+
includeSourceVideo: false,
|
|
459
|
+
items: [
|
|
460
|
+
{
|
|
461
|
+
url: "https://www.instagram.com/reel/SHORTCODE/",
|
|
462
|
+
},
|
|
463
|
+
],
|
|
464
|
+
},
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
action: "status",
|
|
468
|
+
required: [
|
|
469
|
+
"socialseal_get_tool_status kind=video_analysis with videoUid UUID or platformVideoId",
|
|
470
|
+
],
|
|
471
|
+
optional: ["includeResults"],
|
|
472
|
+
example: {
|
|
473
|
+
id: "11111111-1111-4111-8111-111111111111",
|
|
474
|
+
kind: "video_analysis",
|
|
475
|
+
includeResults: true,
|
|
476
|
+
},
|
|
477
|
+
},
|
|
478
|
+
],
|
|
479
|
+
cliExamples: [
|
|
480
|
+
"socialseal video extract --url https://www.youtube.com/watch?v=dQw4w9WgXcQ --allow-untracked --wait --out-dir ./video-assets --workspace-id <workspace-uuid>",
|
|
481
|
+
"socialseal video queue-analysis --url https://www.tiktok.com/@creator/video/7348293840000000000 --allow-untracked --wait --workspace-id <workspace-uuid>",
|
|
482
|
+
"socialseal video extract --video-uid <video-uuid> --wait --workspace-id <workspace-uuid>",
|
|
483
|
+
"socialseal tools call --function tracked-video-extract --workspace-id <workspace-uuid> --body '{\"allowUntracked\":true,\"items\":[{\"url\":\"https://www.instagram.com/reel/SHORTCODE/\"}]}'",
|
|
484
|
+
],
|
|
485
|
+
},
|
|
486
|
+
"vnext-clips-read": {
|
|
487
|
+
summary: "List Asset Studio clip-library items and optionally sign selected video URLs.",
|
|
488
|
+
operations: [
|
|
489
|
+
{
|
|
490
|
+
action: "list",
|
|
491
|
+
required: ["workspaceId (or workspace default)"],
|
|
492
|
+
optional: ["videoClipIds[]"],
|
|
493
|
+
example: {
|
|
494
|
+
videoClipIds: ["11111111-1111-4111-8111-111111111111"],
|
|
495
|
+
},
|
|
496
|
+
},
|
|
497
|
+
],
|
|
498
|
+
cliExamples: [
|
|
499
|
+
"socialseal tools call --function vnext-clips-read --workspace-id <workspace-uuid> --body '{\"videoClipIds\":[\"<clip-uuid>\"]}'",
|
|
500
|
+
],
|
|
501
|
+
},
|
|
502
|
+
"vnext-clips-create": {
|
|
503
|
+
summary: "Create signed upload targets for clips and finalize uploaded clip metadata.",
|
|
504
|
+
operations: [
|
|
505
|
+
{
|
|
506
|
+
action: "create",
|
|
507
|
+
required: ["action=create", "workspaceId (or workspace default)", "fileName", "mimeType"],
|
|
508
|
+
optional: [],
|
|
509
|
+
example: {
|
|
510
|
+
action: "create",
|
|
511
|
+
fileName: "hero-shot.mp4",
|
|
512
|
+
mimeType: "video/mp4",
|
|
513
|
+
},
|
|
514
|
+
},
|
|
515
|
+
{
|
|
516
|
+
action: "finalize",
|
|
517
|
+
required: [
|
|
518
|
+
"action=finalize",
|
|
519
|
+
"workspaceId (or workspace default)",
|
|
520
|
+
"clipId",
|
|
521
|
+
"fileName",
|
|
522
|
+
"storagePath",
|
|
523
|
+
"mimeType",
|
|
524
|
+
"sizeBytes",
|
|
525
|
+
"rightsAttested=true",
|
|
526
|
+
],
|
|
527
|
+
optional: ["durationSeconds", "width", "height", "posterPath"],
|
|
528
|
+
example: {
|
|
529
|
+
action: "finalize",
|
|
530
|
+
clipId: "11111111-1111-4111-8111-111111111111",
|
|
531
|
+
fileName: "hero-shot.mp4",
|
|
532
|
+
storagePath: "workspace-00000000-0000-4000-8000-000000000000/11111111-1111-4111-8111-111111111111.mp4",
|
|
533
|
+
mimeType: "video/mp4",
|
|
534
|
+
sizeBytes: 1048576,
|
|
535
|
+
rightsAttested: true,
|
|
536
|
+
},
|
|
537
|
+
},
|
|
538
|
+
],
|
|
539
|
+
cliExamples: [
|
|
540
|
+
"socialseal tools call --function vnext-clips-create --workspace-id <workspace-uuid> --body '{\"action\":\"create\",\"fileName\":\"hero-shot.mp4\",\"mimeType\":\"video/mp4\"}'",
|
|
541
|
+
"socialseal tools call --function vnext-clips-create --workspace-id <workspace-uuid> --body @clip-finalize.json",
|
|
542
|
+
],
|
|
543
|
+
},
|
|
544
|
+
"vnext-clip-shot-mappings-read": {
|
|
545
|
+
summary: "Read Asset Studio clip-to-shot mappings for a blueprint.",
|
|
546
|
+
operations: [
|
|
547
|
+
{
|
|
548
|
+
action: "read",
|
|
549
|
+
required: ["workspaceId (or workspace default)", "blueprintId"],
|
|
550
|
+
optional: [],
|
|
551
|
+
example: {
|
|
552
|
+
blueprintId: "22222222-2222-4222-8222-222222222222",
|
|
553
|
+
},
|
|
554
|
+
},
|
|
555
|
+
],
|
|
556
|
+
cliExamples: [
|
|
557
|
+
"socialseal tools call --function vnext-clip-shot-mappings-read --workspace-id <workspace-uuid> --body '{\"blueprintId\":\"<blueprint-uuid>\"}'",
|
|
558
|
+
],
|
|
559
|
+
},
|
|
560
|
+
"vnext-clip-shot-mappings-write": {
|
|
561
|
+
summary: "Upsert or delete Asset Studio clip-to-shot mappings.",
|
|
562
|
+
operations: [
|
|
563
|
+
{
|
|
564
|
+
action: "upsert",
|
|
565
|
+
required: ["action=upsert", "workspaceId (or workspace default)", "blueprintId", "panelId", "clipId"],
|
|
566
|
+
optional: ["source", "score"],
|
|
567
|
+
example: {
|
|
568
|
+
action: "upsert",
|
|
569
|
+
blueprintId: "22222222-2222-4222-8222-222222222222",
|
|
570
|
+
panelId: "panel-1",
|
|
571
|
+
clipId: "11111111-1111-4111-8111-111111111111",
|
|
572
|
+
source: "override",
|
|
573
|
+
},
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
action: "delete",
|
|
577
|
+
required: ["action=delete", "workspaceId (or workspace default)", "blueprintId", "panelId"],
|
|
578
|
+
optional: [],
|
|
579
|
+
example: {
|
|
580
|
+
action: "delete",
|
|
581
|
+
blueprintId: "22222222-2222-4222-8222-222222222222",
|
|
582
|
+
panelId: "panel-1",
|
|
583
|
+
},
|
|
584
|
+
},
|
|
585
|
+
],
|
|
586
|
+
cliExamples: [
|
|
587
|
+
"socialseal tools call --function vnext-clip-shot-mappings-write --workspace-id <workspace-uuid> --body '{\"action\":\"upsert\",\"blueprintId\":\"<blueprint-uuid>\",\"panelId\":\"panel-1\",\"clipId\":\"<clip-uuid>\"}'",
|
|
588
|
+
],
|
|
589
|
+
},
|
|
590
|
+
"vnext-generated-assets-read": {
|
|
591
|
+
summary: "List generated rough cuts for a blueprint or read one generated asset.",
|
|
592
|
+
operations: [
|
|
593
|
+
{
|
|
594
|
+
action: "list",
|
|
595
|
+
required: ["action=list", "workspaceId (or workspace default)", "blueprintId"],
|
|
596
|
+
optional: [],
|
|
597
|
+
example: {
|
|
598
|
+
action: "list",
|
|
599
|
+
blueprintId: "22222222-2222-4222-8222-222222222222",
|
|
600
|
+
},
|
|
601
|
+
},
|
|
602
|
+
{
|
|
603
|
+
action: "detail",
|
|
604
|
+
required: ["action=detail", "workspaceId (or workspace default)", "assetId"],
|
|
605
|
+
optional: [],
|
|
606
|
+
example: {
|
|
607
|
+
action: "detail",
|
|
608
|
+
assetId: "33333333-3333-4333-8333-333333333333",
|
|
609
|
+
},
|
|
610
|
+
},
|
|
611
|
+
],
|
|
612
|
+
cliExamples: [
|
|
613
|
+
"socialseal tools call --function vnext-generated-assets-read --workspace-id <workspace-uuid> --body '{\"action\":\"list\",\"blueprintId\":\"<blueprint-uuid>\"}'",
|
|
614
|
+
"socialseal tools call --function vnext-generated-assets-read --workspace-id <workspace-uuid> --body '{\"action\":\"detail\",\"assetId\":\"<asset-uuid>\"}'",
|
|
615
|
+
],
|
|
616
|
+
},
|
|
617
|
+
"vnext-generated-asset-create": {
|
|
618
|
+
summary: "Create a generated rough cut from an Asset Studio edit spec.",
|
|
619
|
+
operations: [
|
|
620
|
+
{
|
|
621
|
+
action: "create",
|
|
622
|
+
required: ["workspaceId (or workspace default)", "blueprintId", "title", "editSpec"],
|
|
623
|
+
optional: [],
|
|
624
|
+
example: {
|
|
625
|
+
blueprintId: "22222222-2222-4222-8222-222222222222",
|
|
626
|
+
title: "Homepage rough cut",
|
|
627
|
+
editSpec: {
|
|
628
|
+
version: 1,
|
|
629
|
+
fps: 30,
|
|
630
|
+
width: 1080,
|
|
631
|
+
height: 1920,
|
|
632
|
+
totalDurationSeconds: 3,
|
|
633
|
+
shots: [
|
|
634
|
+
{
|
|
635
|
+
panelId: "panel-1",
|
|
636
|
+
clipId: "11111111-1111-4111-8111-111111111111",
|
|
637
|
+
title: "Opening hook",
|
|
638
|
+
kind: "hook",
|
|
639
|
+
shotLabel: "Hero exterior",
|
|
640
|
+
sourceStartSeconds: 0,
|
|
641
|
+
durationSeconds: 3,
|
|
642
|
+
evidenceIds: [],
|
|
643
|
+
},
|
|
644
|
+
],
|
|
645
|
+
},
|
|
646
|
+
},
|
|
647
|
+
},
|
|
648
|
+
],
|
|
649
|
+
cliExamples: [
|
|
650
|
+
"socialseal tools call --function vnext-generated-asset-create --workspace-id <workspace-uuid> --body @edit-spec.json",
|
|
651
|
+
],
|
|
652
|
+
},
|
|
653
|
+
"vnext-generated-asset-optimize": {
|
|
654
|
+
summary: "Optimize a generated asset or create a new revision.",
|
|
655
|
+
operations: [
|
|
656
|
+
{
|
|
657
|
+
action: "optimize",
|
|
658
|
+
required: ["action=optimize", "workspaceId (or workspace default)", "assetId"],
|
|
659
|
+
optional: [],
|
|
660
|
+
example: {
|
|
661
|
+
action: "optimize",
|
|
662
|
+
assetId: "33333333-3333-4333-8333-333333333333",
|
|
663
|
+
},
|
|
664
|
+
},
|
|
665
|
+
{
|
|
666
|
+
action: "create-revision",
|
|
667
|
+
required: ["action=create-revision", "workspaceId (or workspace default)", "assetId"],
|
|
668
|
+
optional: [],
|
|
669
|
+
example: {
|
|
670
|
+
action: "create-revision",
|
|
671
|
+
assetId: "33333333-3333-4333-8333-333333333333",
|
|
672
|
+
},
|
|
673
|
+
},
|
|
674
|
+
],
|
|
675
|
+
cliExamples: [
|
|
676
|
+
"socialseal tools call --function vnext-generated-asset-optimize --workspace-id <workspace-uuid> --body '{\"action\":\"optimize\",\"assetId\":\"<asset-uuid>\"}'",
|
|
677
|
+
],
|
|
678
|
+
},
|
|
679
|
+
"vnext-generated-asset-export": {
|
|
680
|
+
summary: "Export a generated rough cut as FCPXML.",
|
|
681
|
+
operations: [
|
|
682
|
+
{
|
|
683
|
+
action: "export",
|
|
684
|
+
required: ["workspaceId (or workspace default)", "assetId"],
|
|
685
|
+
optional: ["format=fcpxml"],
|
|
686
|
+
example: {
|
|
687
|
+
assetId: "33333333-3333-4333-8333-333333333333",
|
|
688
|
+
format: "fcpxml",
|
|
689
|
+
},
|
|
690
|
+
},
|
|
691
|
+
],
|
|
692
|
+
cliExamples: [
|
|
693
|
+
"socialseal tools call --function vnext-generated-asset-export --workspace-id <workspace-uuid> --body '{\"assetId\":\"<asset-uuid>\",\"format\":\"fcpxml\"}'",
|
|
694
|
+
],
|
|
695
|
+
},
|
|
696
|
+
"vnext-generated-asset-share": {
|
|
697
|
+
summary: "Create, read, or revoke generated rough-cut share links.",
|
|
698
|
+
operations: [
|
|
699
|
+
{
|
|
700
|
+
action: "create",
|
|
701
|
+
required: ["action=create", "workspaceId", "assetId"],
|
|
702
|
+
optional: ["ttlSeconds", "shareBaseUrl"],
|
|
703
|
+
example: {
|
|
704
|
+
action: "create",
|
|
705
|
+
workspaceId: "00000000-0000-4000-8000-000000000000",
|
|
706
|
+
assetId: "33333333-3333-4333-8333-333333333333",
|
|
707
|
+
ttlSeconds: 604800,
|
|
708
|
+
},
|
|
709
|
+
},
|
|
710
|
+
{
|
|
711
|
+
action: "read",
|
|
712
|
+
required: ["action=read", "shareToken"],
|
|
713
|
+
optional: [],
|
|
714
|
+
example: {
|
|
715
|
+
action: "read",
|
|
716
|
+
shareToken: "0123456789abcdef0123456789abcdef",
|
|
717
|
+
},
|
|
718
|
+
},
|
|
719
|
+
{
|
|
720
|
+
action: "revoke",
|
|
721
|
+
required: ["action=revoke", "workspaceId", "shareLinkId"],
|
|
722
|
+
optional: [],
|
|
723
|
+
example: {
|
|
724
|
+
action: "revoke",
|
|
725
|
+
workspaceId: "00000000-0000-4000-8000-000000000000",
|
|
726
|
+
shareLinkId: "44444444-4444-4444-8444-444444444444",
|
|
727
|
+
},
|
|
728
|
+
},
|
|
729
|
+
],
|
|
730
|
+
cliExamples: [
|
|
731
|
+
"socialseal tools call --function vnext-generated-asset-share --body '{\"action\":\"create\",\"workspaceId\":\"<workspace-uuid>\",\"assetId\":\"<asset-uuid>\"}'",
|
|
732
|
+
"socialseal tools call --function vnext-generated-asset-share --body '{\"action\":\"read\",\"shareToken\":\"<share-token>\"}'",
|
|
733
|
+
],
|
|
734
|
+
},
|
|
735
|
+
"vnext-blueprints-shots-read": {
|
|
736
|
+
summary: "Read blueprint shot-lift rows and pinned shot assets with signed URLs.",
|
|
737
|
+
operations: [
|
|
738
|
+
{
|
|
739
|
+
action: "read",
|
|
740
|
+
required: ["workspaceId (or workspace default)", "blueprintId"],
|
|
741
|
+
optional: ["signedUrlSeconds"],
|
|
742
|
+
example: {
|
|
743
|
+
blueprintId: "22222222-2222-4222-8222-222222222222",
|
|
744
|
+
signedUrlSeconds: 3600,
|
|
745
|
+
},
|
|
746
|
+
},
|
|
747
|
+
],
|
|
748
|
+
cliExamples: [
|
|
749
|
+
"socialseal tools call --function vnext-blueprints-shots-read --workspace-id <workspace-uuid> --body '{\"blueprintId\":\"<blueprint-uuid>\"}'",
|
|
750
|
+
],
|
|
751
|
+
},
|
|
752
|
+
"vnext-blueprints-shots-refresh": {
|
|
753
|
+
summary: "Queue a refresh for blueprint shot assets.",
|
|
754
|
+
operations: [
|
|
755
|
+
{
|
|
756
|
+
action: "refresh",
|
|
757
|
+
required: ["workspaceId (or workspace default)", "blueprintId"],
|
|
758
|
+
optional: [],
|
|
759
|
+
example: {
|
|
760
|
+
blueprintId: "22222222-2222-4222-8222-222222222222",
|
|
761
|
+
},
|
|
762
|
+
},
|
|
763
|
+
],
|
|
764
|
+
cliExamples: [
|
|
765
|
+
"socialseal tools call --function vnext-blueprints-shots-refresh --workspace-id <workspace-uuid> --body '{\"blueprintId\":\"<blueprint-uuid>\"}'",
|
|
766
|
+
],
|
|
767
|
+
},
|
|
768
|
+
"vnext-briefs-export": {
|
|
769
|
+
summary: "Export the latest or selected generated vNext brief as markdown.",
|
|
770
|
+
operations: [
|
|
771
|
+
{
|
|
772
|
+
action: "export",
|
|
773
|
+
required: ["workspaceId (or workspace default)", "opportunityKey"],
|
|
774
|
+
optional: ["version"],
|
|
775
|
+
example: {
|
|
776
|
+
opportunityKey: "opportunity-key",
|
|
777
|
+
version: 1,
|
|
778
|
+
},
|
|
779
|
+
},
|
|
780
|
+
],
|
|
781
|
+
cliExamples: [
|
|
782
|
+
"socialseal tools call --function vnext-briefs-export --workspace-id <workspace-uuid> --body '{\"opportunityKey\":\"<opportunity-key>\"}'",
|
|
783
|
+
],
|
|
784
|
+
},
|
|
785
|
+
export_tracking_data: {
|
|
786
|
+
summary: "Stream tracking exports as CSV for a tracking group or single tracking item.",
|
|
787
|
+
operations: [
|
|
788
|
+
{
|
|
789
|
+
action: "export",
|
|
790
|
+
required: ["group_id (numeric tracking_group id) or tracking_item_id"],
|
|
791
|
+
optional: ["time_period", "workspace_id (defaults to resolved workspace)"],
|
|
792
|
+
example: {
|
|
793
|
+
group_id: 436,
|
|
794
|
+
time_period: "30d",
|
|
795
|
+
},
|
|
796
|
+
},
|
|
797
|
+
],
|
|
798
|
+
cliExamples: [
|
|
799
|
+
"socialseal data export-tracking --group-id 436 --workspace-id <workspace-uuid>",
|
|
800
|
+
"socialseal tools call --function export_tracking_data --workspace-id <workspace-uuid> --body '{\"group_id\":436}'",
|
|
801
|
+
],
|
|
802
|
+
},
|
|
803
|
+
"export-report": {
|
|
804
|
+
summary: "Generate report exports; search_results_enriched is fulfilled through export-data.",
|
|
805
|
+
operations: [
|
|
806
|
+
{
|
|
807
|
+
action: "export",
|
|
808
|
+
required: [
|
|
809
|
+
"reportType (keyword_universe | cluster_insights | creator_signatures | post_publish | quick_audit | search_results_enriched)",
|
|
810
|
+
"payload (shape depends on reportType)",
|
|
811
|
+
],
|
|
812
|
+
optional: ["format (csv | json | markdown | html | excel_data; search_results_enriched is csv-only)"],
|
|
813
|
+
example: {
|
|
814
|
+
reportType: "search_results_enriched",
|
|
815
|
+
format: "csv",
|
|
816
|
+
payload: {
|
|
817
|
+
groupIds: [436],
|
|
818
|
+
},
|
|
819
|
+
},
|
|
820
|
+
},
|
|
821
|
+
],
|
|
822
|
+
cliExamples: [
|
|
823
|
+
"socialseal data export-report --report-type search_results_enriched --format csv --payload '{\"groupIds\":[436]}' --workspace-id <workspace-uuid>",
|
|
824
|
+
"socialseal data export-search-results --group-ids 436 --workspace-id <workspace-uuid>",
|
|
825
|
+
],
|
|
826
|
+
},
|
|
196
827
|
};
|
|
197
828
|
const TOOL_BY_NAME = new Map(TOOL_REGISTRY.map((entry) => [entry.name, entry]));
|
|
198
829
|
export function getToolEntry(toolName) {
|