@mindstudio-ai/agent 0.1.6 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -0
- package/dist/cli.js +1960 -253
- package/dist/index.d.ts +1274 -100
- package/dist/index.js +1719 -24
- package/dist/index.js.map +1 -1
- package/dist/postinstall.js +1960 -253
- package/llms.txt +53 -23
- package/package.json +1 -1
package/llms.txt
CHANGED
|
@@ -243,7 +243,7 @@ Input shows the first argument object. Output shows the fields available on the
|
|
|
243
243
|
#### addSubtitlesToVideo
|
|
244
244
|
Automatically add subtitles to a video
|
|
245
245
|
- Can control style of text and animation
|
|
246
|
-
- Input: `{ videoUrl: string, language: string, fontName: string, fontSize: number, fontWeight: "normal" | "bold" | "black", fontColor: "white" | "black" | "red" | "green" | "blue" | "yellow" | "orange" | "purple" | "pink" | "brown" | "gray" | "cyan" | "magenta", highlightColor: "white" | "black" | "red" | "green" | "blue" | "yellow" | "orange" | "purple" | "pink" | "brown" | "gray" | "cyan" | "magenta", strokeWidth: number, strokeColor: "black" | "white" | "red" | "green" | "blue" | "yellow" | "orange" | "purple" | "pink" | "brown" | "gray" | "cyan" | "magenta", backgroundColor: "black" | "white" | "red" | "green" | "blue" | "yellow" | "orange" | "purple" | "pink" | "brown" | "gray" | "cyan" | "magenta" | "none", backgroundOpacity: number, position: "top" | "center" | "bottom", yOffset: number, wordsPerSubtitle: number, enableAnimation: boolean,
|
|
246
|
+
- Input: `{ videoUrl: string, language: string, fontName: string, fontSize: number, fontWeight: "normal" | "bold" | "black", fontColor: "white" | "black" | "red" | "green" | "blue" | "yellow" | "orange" | "purple" | "pink" | "brown" | "gray" | "cyan" | "magenta", highlightColor: "white" | "black" | "red" | "green" | "blue" | "yellow" | "orange" | "purple" | "pink" | "brown" | "gray" | "cyan" | "magenta", strokeWidth: number, strokeColor: "black" | "white" | "red" | "green" | "blue" | "yellow" | "orange" | "purple" | "pink" | "brown" | "gray" | "cyan" | "magenta", backgroundColor: "black" | "white" | "red" | "green" | "blue" | "yellow" | "orange" | "purple" | "pink" | "brown" | "gray" | "cyan" | "magenta" | "none", backgroundOpacity: number, position: "top" | "center" | "bottom", yOffset: number, wordsPerSubtitle: number, enableAnimation: boolean, intermediateAsset?: boolean }`
|
|
247
247
|
- Output: `{ videoUrl: string }`
|
|
248
248
|
|
|
249
249
|
#### analyzeImage
|
|
@@ -265,6 +265,16 @@ Capture a thumbnail from a video at a specified timestamp
|
|
|
265
265
|
- Input: `{ videoUrl: string, at: number | string }`
|
|
266
266
|
- Output: `{ thumbnailUrl: string }`
|
|
267
267
|
|
|
268
|
+
#### checkAppRole
|
|
269
|
+
Check whether the current user has a specific app role and branch accordingly.
|
|
270
|
+
- Checks if the current user has been assigned a specific role in this app.
|
|
271
|
+
- If the user has the role, transitions to the "has role" path.
|
|
272
|
+
- If the user does not have the role, transitions to the "no role" path, or errors if no path is configured.
|
|
273
|
+
- Role names are defined by the app creator and assigned to users via the app roles system.
|
|
274
|
+
- The roleName field supports {{variables}} for dynamic role checks.
|
|
275
|
+
- Input: `{ roleName: string, hasRoleStepId?: string, hasRoleWorkflowId?: string, noRoleStepId?: string, noRoleWorkflowId?: string }`
|
|
276
|
+
- Output: `{ hasRole: boolean, userRoles: string[] }`
|
|
277
|
+
|
|
268
278
|
#### convertPdfToImages
|
|
269
279
|
Convert each page of a PDF document into a PNG image.
|
|
270
280
|
- Each page is converted to a separate PNG and re-hosted on the CDN.
|
|
@@ -411,7 +421,7 @@ Generate an HTML asset and export it as a webpage, PDF, or image
|
|
|
411
421
|
- If PDF or composited image generation are part of the workflow, assistant adds the block and leaves the "source" empty. In a separate step, assistant generates a detailed request for the developer who will write the HTML.
|
|
412
422
|
- Can also auto-generate HTML from a prompt (like a generate text block to generate HTML). In these cases, create a prompt with variables in the dynamicPrompt variable describing, in detail, the document to generate
|
|
413
423
|
- Can either display output directly to user (foreground mode) or save the URL of the asset to a variable (background mode)
|
|
414
|
-
- Input: `{ source: string, sourceType: "html" | "markdown" | "spa" | "raw" | "dynamic" | "customInterface", outputFormat: "pdf" | "png" | "html" | "mp4" | "openGraph", pageSize: "full" | "letter" | "A4" | "custom", testData: object, options?: { pageWidthPx?: number, pageHeightPx?: number, pageOrientation?: "portrait" | "landscape", rehostMedia?: boolean, videoDurationSeconds?: number }, spaSource?: { source?: string, lastCompiledSource?: string, files?: object, paths: string[], root: string, zipUrl: string }, rawSource?: string, dynamicPrompt?: string, dynamicSourceModelOverride?: { model: string, temperature: number, maxResponseTokens: number, ignorePreamble?: boolean, userMessagePreprocessor?: { dataSource?: string, messageTemplate?: string, maxResults?: number, enabled?: boolean, shouldInherit?: boolean }, preamble?: string, multiModelEnabled?: boolean, editResponseEnabled?: boolean, config?: object }, transitionControl?: "default" | "native", shareControl?: "default" | "hidden", shareImageUrl?: string,
|
|
424
|
+
- Input: `{ source: string, sourceType: "html" | "markdown" | "spa" | "raw" | "dynamic" | "customInterface", outputFormat: "pdf" | "png" | "html" | "mp4" | "openGraph", pageSize: "full" | "letter" | "A4" | "custom", testData: object, options?: { pageWidthPx?: number, pageHeightPx?: number, pageOrientation?: "portrait" | "landscape", rehostMedia?: boolean, videoDurationSeconds?: number }, spaSource?: { source?: string, lastCompiledSource?: string, files?: object, paths: string[], root: string, zipUrl: string }, rawSource?: string, dynamicPrompt?: string, dynamicSourceModelOverride?: { model: string, temperature: number, maxResponseTokens: number, ignorePreamble?: boolean, userMessagePreprocessor?: { dataSource?: string, messageTemplate?: string, maxResults?: number, enabled?: boolean, shouldInherit?: boolean }, preamble?: string, multiModelEnabled?: boolean, editResponseEnabled?: boolean, config?: object }, transitionControl?: "default" | "native", shareControl?: "default" | "hidden", shareImageUrl?: string, intermediateAsset?: boolean }`
|
|
415
425
|
- Output: `{ url: string }`
|
|
416
426
|
|
|
417
427
|
#### generateChart
|
|
@@ -428,20 +438,20 @@ Generate an image from a text prompt using an AI model.
|
|
|
428
438
|
- In foreground mode, the image is displayed to the user. In background mode, the URL is saved to a variable.
|
|
429
439
|
- When generateVariants is true with numVariants > 1, multiple images are generated in parallel.
|
|
430
440
|
- In direct execution, foreground mode behaves as background, and userSelect variant behavior behaves as saveAll.
|
|
431
|
-
- Input: `{ prompt: string,
|
|
441
|
+
- Input: `{ prompt: string, intermediateAsset?: boolean, imageModelOverride?: { model: string, config?: object }, generateVariants?: boolean, numVariants?: number, addWatermark?: boolean }`
|
|
432
442
|
- Output: `{ imageUrl: string | string[] }`
|
|
433
443
|
|
|
434
444
|
#### generateLipsync
|
|
435
445
|
Generate a lip sync video from provided audio and image.
|
|
436
446
|
- In foreground mode, the video is displayed to the user. In background mode, the URL is saved to a variable.
|
|
437
|
-
- Input: `{
|
|
447
|
+
- Input: `{ intermediateAsset?: boolean, addWatermark?: boolean, lipsyncModelOverride?: { model: string, config?: object } }`
|
|
438
448
|
- Output: `unknown`
|
|
439
449
|
|
|
440
450
|
#### generateMusic
|
|
441
451
|
Generate an audio file from provided instructions (text) using a music model.
|
|
442
452
|
- The text field contains the instructions (prompt) for the music generation.
|
|
443
453
|
- In foreground mode, the audio is displayed to the user. In background mode, the URL is saved to a variable.
|
|
444
|
-
- Input: `{ text: string,
|
|
454
|
+
- Input: `{ text: string, intermediateAsset?: boolean, musicModelOverride?: { model: string, config?: object } }`
|
|
445
455
|
- Output: `unknown`
|
|
446
456
|
|
|
447
457
|
#### generateStaticVideoFromImage
|
|
@@ -466,7 +476,7 @@ Generate a video from a text prompt using an AI model.
|
|
|
466
476
|
- In foreground mode, the video is displayed to the user. In background mode, the URL is saved to a variable.
|
|
467
477
|
- When generateVariants is true with numVariants > 1, multiple videos are generated in parallel.
|
|
468
478
|
- In direct execution, foreground mode behaves as background, and userSelect variant behavior behaves as saveAll.
|
|
469
|
-
- Input: `{ prompt: string,
|
|
479
|
+
- Input: `{ prompt: string, intermediateAsset?: boolean, videoModelOverride?: { model: string, config?: object }, generateVariants?: boolean, numVariants?: number, addWatermark?: boolean }`
|
|
470
480
|
- Output: `{ videoUrl: string | string[] }`
|
|
471
481
|
|
|
472
482
|
#### getGmailAttachments
|
|
@@ -508,12 +518,12 @@ Replace a face in an image with a face from another image using AI.
|
|
|
508
518
|
#### imageRemoveWatermark
|
|
509
519
|
Remove watermarks from an image using AI.
|
|
510
520
|
- Output is re-hosted on the CDN as a PNG.
|
|
511
|
-
- Input: `{ imageUrl: string, engine: string,
|
|
521
|
+
- Input: `{ imageUrl: string, engine: string, intermediateAsset?: boolean }`
|
|
512
522
|
- Output: `{ imageUrl: string }`
|
|
513
523
|
|
|
514
524
|
#### insertVideoClips
|
|
515
525
|
Insert b-roll clips into a base video at a timecode, optionally with an xfade transition.
|
|
516
|
-
- Input: `{ baseVideoUrl: string, overlayVideos: { videoUrl: string, startTimeSec: number }[], transition?: string, transitionDuration?: number, useOverlayAudio?: boolean,
|
|
526
|
+
- Input: `{ baseVideoUrl: string, overlayVideos: { videoUrl: string, startTimeSec: number }[], transition?: string, transitionDuration?: number, useOverlayAudio?: boolean, intermediateAsset?: boolean }`
|
|
517
527
|
- Output: `{ videoUrl: string }`
|
|
518
528
|
|
|
519
529
|
#### listDataSources
|
|
@@ -559,22 +569,22 @@ Trigger a Make.com (formerly Integromat) scenario via webhook and return the res
|
|
|
559
569
|
|
|
560
570
|
#### mergeAudio
|
|
561
571
|
Merge one or more clips into a single audio file.
|
|
562
|
-
- Input: `{ mp3Urls: string[], fileMetadata?: object, albumArtUrl?: string,
|
|
572
|
+
- Input: `{ mp3Urls: string[], fileMetadata?: object, albumArtUrl?: string, intermediateAsset?: boolean }`
|
|
563
573
|
- Output: `{ audioUrl: string }`
|
|
564
574
|
|
|
565
575
|
#### mergeVideos
|
|
566
576
|
Merge one or more clips into a single video.
|
|
567
|
-
- Input: `{ videoUrls: string[], transition?: string, transitionDuration?: number,
|
|
577
|
+
- Input: `{ videoUrls: string[], transition?: string, transitionDuration?: number, intermediateAsset?: boolean }`
|
|
568
578
|
- Output: `{ videoUrl: string }`
|
|
569
579
|
|
|
570
580
|
#### mixAudioIntoVideo
|
|
571
581
|
Mix an audio track into a video
|
|
572
|
-
- Input: `{ videoUrl: string, audioUrl: string, options: { keepVideoAudio?: boolean, audioGainDb?: number, videoGainDb?: number, loopAudio?: boolean },
|
|
582
|
+
- Input: `{ videoUrl: string, audioUrl: string, options: { keepVideoAudio?: boolean, audioGainDb?: number, videoGainDb?: number, loopAudio?: boolean }, intermediateAsset?: boolean }`
|
|
573
583
|
- Output: `{ videoUrl: string }`
|
|
574
584
|
|
|
575
585
|
#### muteVideo
|
|
576
586
|
Mute a video file
|
|
577
|
-
- Input: `{ videoUrl: string,
|
|
587
|
+
- Input: `{ videoUrl: string, intermediateAsset?: boolean }`
|
|
578
588
|
- Output: `{ videoUrl: string }`
|
|
579
589
|
|
|
580
590
|
#### n8nRunNode
|
|
@@ -601,6 +611,23 @@ Send data to a Zapier Zap via webhook and return the response.
|
|
|
601
611
|
- Input: `{ webhookUrl: string, input: object }`
|
|
602
612
|
- Output: `{ data: unknown }`
|
|
603
613
|
|
|
614
|
+
#### queryAppDatabase
|
|
615
|
+
Execute a SQL query against the app managed database.
|
|
616
|
+
- Executes raw SQL against a SQLite database managed by the app.
|
|
617
|
+
- For SELECT queries, returns rows as JSON.
|
|
618
|
+
- For INSERT/UPDATE/DELETE, returns the number of affected rows.
|
|
619
|
+
- Use {{variables}} directly in your SQL. By default they are automatically extracted
|
|
620
|
+
and passed as safe parameterized values (preventing SQL injection).
|
|
621
|
+
Example: INSERT INTO contacts (name, comment) VALUES ({{name}}, {{comment}})
|
|
622
|
+
- Full MindStudio handlebars syntax is supported, including helpers like {{json myVar}},
|
|
623
|
+
{{get myVar "$.path"}}, {{global.orgName}}, etc.
|
|
624
|
+
- Set parameterize to false for raw/dynamic SQL where variables are interpolated directly
|
|
625
|
+
into the query string. Use this when another step generates full or partial SQL, e.g.
|
|
626
|
+
a bulk INSERT with a precomputed VALUES list. The user is responsible for sanitization
|
|
627
|
+
when parameterize is false.
|
|
628
|
+
- Input: `{ databaseId: string, sql: string, parameterize?: boolean }`
|
|
629
|
+
- Output: `{ rows: unknown[], changes: number }`
|
|
630
|
+
|
|
604
631
|
#### queryDataSource
|
|
605
632
|
Search a vector data source (RAG) and return relevant document chunks.
|
|
606
633
|
- Queries a vectorized data source and returns the most relevant chunks.
|
|
@@ -632,7 +659,7 @@ Remove the background from an image using AI, producing a transparent PNG.
|
|
|
632
659
|
|
|
633
660
|
#### resizeVideo
|
|
634
661
|
Resize a video file
|
|
635
|
-
- Input: `{ videoUrl: string, mode: "fit" | "exact", maxWidth?: number, maxHeight?: number, width?: number, height?: number, strategy?: "pad" | "crop",
|
|
662
|
+
- Input: `{ videoUrl: string, mode: "fit" | "exact", maxWidth?: number, maxHeight?: number, width?: number, height?: number, strategy?: "pad" | "crop", intermediateAsset?: boolean }`
|
|
636
663
|
- Output: `{ videoUrl: string }`
|
|
637
664
|
|
|
638
665
|
#### runFromConnectorRegistry
|
|
@@ -846,7 +873,7 @@ Show the "typing..." indicator in a Telegram chat via a bot.
|
|
|
846
873
|
Generate an audio file from provided text using a speech model.
|
|
847
874
|
- The text field contains the exact words to be spoken (not instructions).
|
|
848
875
|
- In foreground mode, the audio is displayed to the user. In background mode, the URL is saved to a variable.
|
|
849
|
-
- Input: `{ text: string,
|
|
876
|
+
- Input: `{ text: string, intermediateAsset?: boolean, speechModelOverride?: { model: string, config?: object } }`
|
|
850
877
|
- Output: `{ audioUrl: string }`
|
|
851
878
|
|
|
852
879
|
#### transcribeAudio
|
|
@@ -857,7 +884,7 @@ Convert an audio file to text using a transcription model.
|
|
|
857
884
|
|
|
858
885
|
#### trimMedia
|
|
859
886
|
Trim an audio or video clip
|
|
860
|
-
- Input: `{ inputUrl: string, start?: number | string, duration?: string | number,
|
|
887
|
+
- Input: `{ inputUrl: string, start?: number | string, duration?: string | number, intermediateAsset?: boolean }`
|
|
861
888
|
- Output: `{ mediaUrl: string }`
|
|
862
889
|
|
|
863
890
|
#### updateGmailLabels
|
|
@@ -886,33 +913,33 @@ Increase the resolution of an image using AI upscaling.
|
|
|
886
913
|
|
|
887
914
|
#### upscaleVideo
|
|
888
915
|
Upscale a video file
|
|
889
|
-
- Input: `{ videoUrl: string, targetResolution: "720p" | "1080p" | "2K" | "4K", engine: "standard" | "pro" | "ultimate" | "flashvsr" | "seedance" | "seedvr2" | "runwayml/upscale-v1",
|
|
916
|
+
- Input: `{ videoUrl: string, targetResolution: "720p" | "1080p" | "2K" | "4K", engine: "standard" | "pro" | "ultimate" | "flashvsr" | "seedance" | "seedvr2" | "runwayml/upscale-v1", intermediateAsset?: boolean }`
|
|
890
917
|
- Output: `{ videoUrl: string }`
|
|
891
918
|
|
|
892
919
|
#### videoFaceSwap
|
|
893
920
|
Swap faces in a video file
|
|
894
|
-
- Input: `{ videoUrl: string, faceImageUrl: string, targetIndex: number, engine: string,
|
|
921
|
+
- Input: `{ videoUrl: string, faceImageUrl: string, targetIndex: number, engine: string, intermediateAsset?: boolean }`
|
|
895
922
|
- Output: `{ videoUrl: string }`
|
|
896
923
|
|
|
897
924
|
#### videoRemoveBackground
|
|
898
925
|
Remove or replace background from a video
|
|
899
|
-
- Input: `{ videoUrl: string, newBackground: "transparent" | "image", newBackgroundImageUrl?: string, engine: string,
|
|
926
|
+
- Input: `{ videoUrl: string, newBackground: "transparent" | "image", newBackgroundImageUrl?: string, engine: string, intermediateAsset?: boolean }`
|
|
900
927
|
- Output: `{ videoUrl: string }`
|
|
901
928
|
|
|
902
929
|
#### videoRemoveWatermark
|
|
903
930
|
Remove a watermark from a video
|
|
904
|
-
- Input: `{ videoUrl: string, engine: string,
|
|
931
|
+
- Input: `{ videoUrl: string, engine: string, intermediateAsset?: boolean }`
|
|
905
932
|
- Output: `{ videoUrl: string }`
|
|
906
933
|
|
|
907
934
|
#### watermarkImage
|
|
908
935
|
Overlay a watermark image onto another image.
|
|
909
936
|
- The watermark is placed at the specified corner with configurable padding and width.
|
|
910
|
-
- Input: `{ imageUrl: string, watermarkImageUrl: string, corner: "top-left" | "top-right" | "bottom-left" | "bottom-right", paddingPx: number, widthPx: number,
|
|
937
|
+
- Input: `{ imageUrl: string, watermarkImageUrl: string, corner: "top-left" | "top-right" | "bottom-left" | "bottom-right", paddingPx: number, widthPx: number, intermediateAsset?: boolean }`
|
|
911
938
|
- Output: `{ imageUrl: string }`
|
|
912
939
|
|
|
913
940
|
#### watermarkVideo
|
|
914
941
|
Add an image watermark to a video
|
|
915
|
-
- Input: `{ videoUrl: string, imageUrl: string, corner: "top-left" | "top-right" | "bottom-left" | "bottom-right", paddingPx: number, widthPx: number,
|
|
942
|
+
- Input: `{ videoUrl: string, imageUrl: string, corner: "top-left" | "top-right" | "bottom-left" | "bottom-right", paddingPx: number, widthPx: number, intermediateAsset?: boolean }`
|
|
916
943
|
- Output: `{ videoUrl: string }`
|
|
917
944
|
|
|
918
945
|
### ActiveCampaign
|
|
@@ -1313,9 +1340,12 @@ Get all the reels for an Instagram profile
|
|
|
1313
1340
|
#### postToLinkedIn
|
|
1314
1341
|
Create a post on LinkedIn from the connected account.
|
|
1315
1342
|
- Requires a LinkedIn OAuth connection (connectionId).
|
|
1316
|
-
- Supports text posts, image posts, and
|
|
1343
|
+
- Supports text posts, image posts, video posts, document posts, and article posts.
|
|
1344
|
+
- Attach one media type per post: image, video, document, or article.
|
|
1345
|
+
- Documents support PDF, PPT, PPTX, DOC, DOCX (max 100MB, 300 pages). Displays as a slideshow carousel.
|
|
1346
|
+
- Articles create a link preview with optional custom title, description, and thumbnail.
|
|
1317
1347
|
- Visibility controls who can see the post.
|
|
1318
|
-
- Input: `{ message: string, visibility: "PUBLIC" | "CONNECTIONS", videoUrl?: string,
|
|
1348
|
+
- Input: `{ message: string, visibility: "PUBLIC" | "CONNECTIONS", imageUrl?: string, videoUrl?: string, documentUrl?: string, articleUrl?: string, titleText?: string, descriptionText?: string, connectionId?: string }`
|
|
1319
1349
|
- Output: `unknown`
|
|
1320
1350
|
|
|
1321
1351
|
### Meta Threads
|