@mindstudio-ai/agent 0.1.149 → 0.1.151
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 +2 -2
- package/dist/cli.js +30 -19
- package/dist/index.d.ts +144 -23
- package/dist/index.js +23 -12
- package/dist/index.js.map +1 -1
- package/dist/postinstall.js +30 -19
- package/llms.txt +52 -21
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -537,6 +537,15 @@ interface MindStudioModel {
|
|
|
537
537
|
maxResponseSize?: number;
|
|
538
538
|
/** Accepted input types for this model (text, imageUrl, videoUrl, etc.). */
|
|
539
539
|
inputs?: Record<string, unknown>[];
|
|
540
|
+
/**
|
|
541
|
+
* When the platform retires this model (`YYYY-MM-DD`, from 00:00 UTC). Until
|
|
542
|
+
* then it runs as itself; from then saved calls run on `replacedBy`.
|
|
543
|
+
*/
|
|
544
|
+
retiresOn?: string;
|
|
545
|
+
/** The model that runs in this one's place once it has retired. */
|
|
546
|
+
replacedBy?: string;
|
|
547
|
+
/** True once the model has retired: a call to it runs on `replacedBy`. */
|
|
548
|
+
retired?: boolean;
|
|
540
549
|
}
|
|
541
550
|
/** A lightweight AI model summary. */
|
|
542
551
|
interface MindStudioModelSummary {
|
|
@@ -547,6 +556,15 @@ interface MindStudioModelSummary {
|
|
|
547
556
|
type?: ModelType;
|
|
548
557
|
/** Comma-separated tags for the model. */
|
|
549
558
|
tags?: string;
|
|
559
|
+
/**
|
|
560
|
+
* When the platform retires this model (`YYYY-MM-DD`, from 00:00 UTC). Until
|
|
561
|
+
* then it runs as itself; from then saved calls run on `replacedBy`.
|
|
562
|
+
*/
|
|
563
|
+
retiresOn?: string;
|
|
564
|
+
/** The model that runs in this one's place once it has retired. */
|
|
565
|
+
replacedBy?: string;
|
|
566
|
+
/** True once the model has retired: a call to it runs on `replacedBy`. */
|
|
567
|
+
retired?: boolean;
|
|
550
568
|
}
|
|
551
569
|
/**
|
|
552
570
|
* Supported model type categories for filtering.
|
|
@@ -5790,6 +5808,32 @@ interface EnrichPersonStepOutput {
|
|
|
5790
5808
|
/** Apollo enrichment result with contact details, employment history, and social profiles */
|
|
5791
5809
|
data: unknown;
|
|
5792
5810
|
}
|
|
5811
|
+
interface EvaluateDecisionStepInput {
|
|
5812
|
+
/** The content to evaluate. A string, or a JSON object or array. */
|
|
5813
|
+
state: string | Record<string, unknown> | unknown[];
|
|
5814
|
+
/** Questions to ask about the state, keyed by an id you choose. */
|
|
5815
|
+
questions: Record<string, unknown>;
|
|
5816
|
+
/** Images for a model that reads them (Clef, Clef Flash, GPT-6 Luna Decisions). Each entry is a URL or a data URL. A model that reads none refuses the call. */
|
|
5817
|
+
images?: string[];
|
|
5818
|
+
/** Optional model override. Uses the workspace's default decision model (Jev) if not specified */
|
|
5819
|
+
decisionModelOverride?: {
|
|
5820
|
+
/** Decision model: a catalog id, its vendor's name for it (`@cf/cloudflare/clef`, `gpt-6-luna`), or a version it pins (`jev-1.13.0`) */
|
|
5821
|
+
model: string;
|
|
5822
|
+
/** Additional model-specific configuration */
|
|
5823
|
+
config?: Record<string, unknown>;
|
|
5824
|
+
};
|
|
5825
|
+
}
|
|
5826
|
+
interface EvaluateDecisionStepOutput {
|
|
5827
|
+
/** Versioned model id that answered, such as jev-1.13.0. */
|
|
5828
|
+
model: string;
|
|
5829
|
+
/** One answer per question, under the same ids. */
|
|
5830
|
+
answers: Record<string, unknown>;
|
|
5831
|
+
/** Token counts for the call. Input tokens are what the model bills. */
|
|
5832
|
+
usage: {
|
|
5833
|
+
input_tokens: number;
|
|
5834
|
+
output_tokens: number;
|
|
5835
|
+
};
|
|
5836
|
+
}
|
|
5793
5837
|
interface ExtractAudioFromVideoStepInput {
|
|
5794
5838
|
/** URL of the source video to extract audio from */
|
|
5795
5839
|
videoUrl: string;
|
|
@@ -5801,12 +5845,45 @@ interface ExtractAudioFromVideoStepOutput {
|
|
|
5801
5845
|
interface ExtractTextStepInput {
|
|
5802
5846
|
/** URL or array of URLs to extract text from. Accepts a single URL, comma-separated list, or JSON array */
|
|
5803
5847
|
url: string | string[];
|
|
5804
|
-
/** Optional
|
|
5848
|
+
/** Optional model override. Uses the workspace's default document extraction model if not specified */
|
|
5849
|
+
extractionModelOverride?: {
|
|
5850
|
+
/** Document extraction model identifier */
|
|
5851
|
+
model: string;
|
|
5852
|
+
/** Additional model-specific configuration */
|
|
5853
|
+
config?: Record<string, unknown>;
|
|
5854
|
+
};
|
|
5855
|
+
/** Optional extraction model id. */
|
|
5805
5856
|
model?: string;
|
|
5857
|
+
/** Add each page's typed blocks, with their bounding boxes, and the page's size to `documents`. Off by default, since they're several times the size of the text. */
|
|
5858
|
+
includeBlocks?: boolean;
|
|
5806
5859
|
}
|
|
5807
5860
|
interface ExtractTextStepOutput {
|
|
5808
5861
|
/** Extracted text content. A single string for one URL, or an array for multiple URLs */
|
|
5809
5862
|
text: string | string[];
|
|
5863
|
+
/** Each URL's document, in the order given, page by page. */
|
|
5864
|
+
documents: {
|
|
5865
|
+
/** The URL the document was read from. */
|
|
5866
|
+
url: string;
|
|
5867
|
+
/** The whole document's text. */
|
|
5868
|
+
text: string;
|
|
5869
|
+
/** Its pages, in order. A format read without a model is one page. */
|
|
5870
|
+
pages: {
|
|
5871
|
+
/** 1-based. */
|
|
5872
|
+
pageNumber: number;
|
|
5873
|
+
/** The page's text, as markdown. */
|
|
5874
|
+
markdown: string;
|
|
5875
|
+
/** The page's typed regions (title, text, table, image, header, footer…), each with its bounding box, when `includeBlocks` was set and the model returns them. */
|
|
5876
|
+
blocks?: unknown[];
|
|
5877
|
+
/** The page's size in pixels, the space `blocks`' bounding boxes are in. */
|
|
5878
|
+
dimensions?: {
|
|
5879
|
+
width: number;
|
|
5880
|
+
height: number;
|
|
5881
|
+
dpi?: number;
|
|
5882
|
+
};
|
|
5883
|
+
}[];
|
|
5884
|
+
/** The pages the model read and billed, 0 for a format read without one. */
|
|
5885
|
+
pagesProcessed: number;
|
|
5886
|
+
}[];
|
|
5810
5887
|
}
|
|
5811
5888
|
interface FetchDataSourceDocumentStepInput {
|
|
5812
5889
|
/** ID of the data source containing the document (supports variable interpolation) */
|
|
@@ -8551,6 +8628,8 @@ interface TranscribeAudioStepOutput {
|
|
|
8551
8628
|
language?: string;
|
|
8552
8629
|
/** Length of the transcribed audio, when the model reports it. */
|
|
8553
8630
|
durationSeconds?: number;
|
|
8631
|
+
/** The transcript as an SRT or WebVTT file, when `subtitles` was asked for in the model's config and the model returned segments to time it by. */
|
|
8632
|
+
subtitles?: string;
|
|
8554
8633
|
}
|
|
8555
8634
|
interface TrimMediaStepInput {
|
|
8556
8635
|
/** URL of the source audio or video file to trim */
|
|
@@ -8571,9 +8650,9 @@ interface TypesafeEvaluateStepInput {
|
|
|
8571
8650
|
state: string | Record<string, unknown> | unknown[];
|
|
8572
8651
|
/** Questions to ask about the state, keyed by an id you choose. */
|
|
8573
8652
|
questions: Record<string, unknown>;
|
|
8574
|
-
/** Model id or alias. Defaults to jev-latest.
|
|
8653
|
+
/** Model id or alias. Defaults to the workspace's default decision model (jev-latest). Every model evaluateDecision takes: jev-preview, a pinned version such as jev-1.13.0, clef and clef-flash, gpt-6-luna-decisions. */
|
|
8575
8654
|
model?: string;
|
|
8576
|
-
/** Images for Clef
|
|
8655
|
+
/** Images for a model that reads them (Clef, Clef Flash, GPT-6 Luna Decisions). Each entry is a URL or a data URL. A model that reads none refuses the call. */
|
|
8577
8656
|
images?: string[];
|
|
8578
8657
|
}
|
|
8579
8658
|
interface TypesafeEvaluateStepOutput {
|
|
@@ -8934,7 +9013,7 @@ type GenerateAssetStepOutput = GeneratePdfStepOutput;
|
|
|
8934
9013
|
type GenerateTextStepInput = UserMessageStepInput;
|
|
8935
9014
|
type GenerateTextStepOutput = UserMessageStepOutput;
|
|
8936
9015
|
/** Union of all available step type names. */
|
|
8937
|
-
type StepName = "activeCampaignAddNote" | "activeCampaignCreateContact" | "addSubtitlesToVideo" | "addThumbnailToVideo" | "airtableCreateUpdateRecord" | "airtableDeleteRecord" | "airtableGetRecord" | "airtableGetTableRecords" | "analyzeImage" | "analyzeVideo" | "captureThumbnail" | "checkAppRole" | "codaCreateUpdatePage" | "codaCreateUpdateRow" | "codaFindRow" | "codaGetPage" | "codaGetTableRows" | "convertPdfToImages" | "createDataSource" | "createGmailDraft" | "createGoogleCalendarEvent" | "createGoogleDoc" | "createGoogleSheet" | "decomposeImage" | "deleteDataSource" | "deleteDataSourceDocument" | "deleteGmailEmail" | "deleteGoogleCalendarEvent" | "deleteGoogleSheetRows" | "detectChanges" | "detectPII" | "downloadVideo" | "enhanceImageGenerationPrompt" | "enhanceVideoGenerationPrompt" | "enrichPerson" | "extractAudioFromVideo" | "extractText" | "fetchDataSourceDocument" | "fetchGoogleDoc" | "fetchGoogleSheet" | "fetchSlackChannelHistory" | "fetchYoutubeCaptions" | "fetchYoutubeChannel" | "fetchYoutubeComments" | "fetchYoutubeVideo" | "generate3dModel" | "generateImage" | "generateLipsync" | "generateMusic" | "generatePdf" | "generateSound" | "generateStaticVideoFromImage" | "generateVideo" | "getGmailAttachments" | "getGmailDraft" | "getGmailEmail" | "getGmailUnreadCount" | "getGoogleCalendarEvent" | "getGoogleDriveFile" | "getGoogleSheetInfo" | "getMediaMetadata" | "hubspotCreateCompany" | "hubspotCreateContact" | "hubspotGetCompany" | "hubspotGetContact" | "hunterApiCompanyEnrichment" | "hunterApiDomainSearch" | "hunterApiEmailFinder" | "hunterApiEmailVerification" | "hunterApiPersonEnrichment" | "imageFaceSwap" | "imageRemoveWatermark" | "importFromUrl" | "insertVideoClips" | "listDataSources" | "listGmailDrafts" | "listGmailLabels" | "listGoogleCalendarEvents" | "listGoogleDriveFiles" | "listRecentGmailEmails" | "logic" | "makeDotComRunScenario" | "mergeAudio" | "mergeVideos" | "meshyAnimate" | "meshyImageTo3d" | "meshyRemesh" | "meshyRig" | "meshyTextTo3d" | "meshyTexture" | "mixAudioIntoVideo" | "muteVideo" | "n8nRunNode" | "notionCreatePage" | "notionUpdatePage" | "peopleSearch" | "postToLinkedIn" | "postToSlackChannel" | "postToX" | "postToZapier" | "queryDataSource" | "queryExternalDatabase" | "quickbooksApiRequest" | "redactPII" | "removeBackgroundFromImage" | "renderVideoFromHtmlComposition" | "replyToGmailEmail" | "resizeVideo" | "runFfmpeg" | "runFromConnectorRegistry" | "scrapeLinkedInCompany" | "scrapeLinkedInProfile" | "scrapeUrl" | "scrapeXPost" | "scrapeXProfile" | "screenshotUrl" | "searchGmailEmails" | "searchGoogle" | "searchGoogleCalendarEvents" | "searchGoogleDrive" | "searchGoogleImages" | "searchGoogleNews" | "searchGoogleTrends" | "searchPerplexity" | "searchXPosts" | "searchYoutube" | "searchYoutubeTrends" | "sendEmail" | "sendGmailDraft" | "sendGmailMessage" | "sendSlackDirectMessage" | "sendSMS" | "setGmailReadStatus" | "setRunTitle" | "setVariable" | "textToSpeech" | "transcribeAudio" | "trimMedia" | "typesafeEvaluate" | "updateGmailLabels" | "updateGoogleCalendarEvent" | "updateGoogleDoc" | "updateGoogleSheet" | "uploadDataSourceDocument" | "upscaleImage" | "upscaleVideo" | "userMessage" | "videoFaceSwap" | "videoRemoveBackground" | "videoRemoveWatermark" | "watermarkImage" | "watermarkVideo" | "youDotComFinanceResearch" | "youDotComGetPageContent" | "youDotComLiveNews" | "youDotComWebResearch" | "youDotComWebSearch";
|
|
9016
|
+
type StepName = "activeCampaignAddNote" | "activeCampaignCreateContact" | "addSubtitlesToVideo" | "addThumbnailToVideo" | "airtableCreateUpdateRecord" | "airtableDeleteRecord" | "airtableGetRecord" | "airtableGetTableRecords" | "analyzeImage" | "analyzeVideo" | "captureThumbnail" | "checkAppRole" | "codaCreateUpdatePage" | "codaCreateUpdateRow" | "codaFindRow" | "codaGetPage" | "codaGetTableRows" | "convertPdfToImages" | "createDataSource" | "createGmailDraft" | "createGoogleCalendarEvent" | "createGoogleDoc" | "createGoogleSheet" | "decomposeImage" | "deleteDataSource" | "deleteDataSourceDocument" | "deleteGmailEmail" | "deleteGoogleCalendarEvent" | "deleteGoogleSheetRows" | "detectChanges" | "detectPII" | "downloadVideo" | "enhanceImageGenerationPrompt" | "enhanceVideoGenerationPrompt" | "enrichPerson" | "evaluateDecision" | "extractAudioFromVideo" | "extractText" | "fetchDataSourceDocument" | "fetchGoogleDoc" | "fetchGoogleSheet" | "fetchSlackChannelHistory" | "fetchYoutubeCaptions" | "fetchYoutubeChannel" | "fetchYoutubeComments" | "fetchYoutubeVideo" | "generate3dModel" | "generateImage" | "generateLipsync" | "generateMusic" | "generatePdf" | "generateSound" | "generateStaticVideoFromImage" | "generateVideo" | "getGmailAttachments" | "getGmailDraft" | "getGmailEmail" | "getGmailUnreadCount" | "getGoogleCalendarEvent" | "getGoogleDriveFile" | "getGoogleSheetInfo" | "getMediaMetadata" | "hubspotCreateCompany" | "hubspotCreateContact" | "hubspotGetCompany" | "hubspotGetContact" | "hunterApiCompanyEnrichment" | "hunterApiDomainSearch" | "hunterApiEmailFinder" | "hunterApiEmailVerification" | "hunterApiPersonEnrichment" | "imageFaceSwap" | "imageRemoveWatermark" | "importFromUrl" | "insertVideoClips" | "listDataSources" | "listGmailDrafts" | "listGmailLabels" | "listGoogleCalendarEvents" | "listGoogleDriveFiles" | "listRecentGmailEmails" | "logic" | "makeDotComRunScenario" | "mergeAudio" | "mergeVideos" | "meshyAnimate" | "meshyImageTo3d" | "meshyRemesh" | "meshyRig" | "meshyTextTo3d" | "meshyTexture" | "mixAudioIntoVideo" | "muteVideo" | "n8nRunNode" | "notionCreatePage" | "notionUpdatePage" | "peopleSearch" | "postToLinkedIn" | "postToSlackChannel" | "postToX" | "postToZapier" | "queryDataSource" | "queryExternalDatabase" | "quickbooksApiRequest" | "redactPII" | "removeBackgroundFromImage" | "renderVideoFromHtmlComposition" | "replyToGmailEmail" | "resizeVideo" | "runFfmpeg" | "runFromConnectorRegistry" | "scrapeLinkedInCompany" | "scrapeLinkedInProfile" | "scrapeUrl" | "scrapeXPost" | "scrapeXProfile" | "screenshotUrl" | "searchGmailEmails" | "searchGoogle" | "searchGoogleCalendarEvents" | "searchGoogleDrive" | "searchGoogleImages" | "searchGoogleNews" | "searchGoogleTrends" | "searchPerplexity" | "searchXPosts" | "searchYoutube" | "searchYoutubeTrends" | "sendEmail" | "sendGmailDraft" | "sendGmailMessage" | "sendSlackDirectMessage" | "sendSMS" | "setGmailReadStatus" | "setRunTitle" | "setVariable" | "textToSpeech" | "transcribeAudio" | "trimMedia" | "typesafeEvaluate" | "updateGmailLabels" | "updateGoogleCalendarEvent" | "updateGoogleDoc" | "updateGoogleSheet" | "uploadDataSourceDocument" | "upscaleImage" | "upscaleVideo" | "userMessage" | "videoFaceSwap" | "videoRemoveBackground" | "videoRemoveWatermark" | "watermarkImage" | "watermarkVideo" | "youDotComFinanceResearch" | "youDotComGetPageContent" | "youDotComLiveNews" | "youDotComWebResearch" | "youDotComWebSearch";
|
|
8938
9017
|
/** Maps step names to their input types. */
|
|
8939
9018
|
interface StepInputMap {
|
|
8940
9019
|
activeCampaignAddNote: ActiveCampaignAddNoteStepInput;
|
|
@@ -8972,6 +9051,7 @@ interface StepInputMap {
|
|
|
8972
9051
|
enhanceImageGenerationPrompt: EnhanceImageGenerationPromptStepInput;
|
|
8973
9052
|
enhanceVideoGenerationPrompt: EnhanceVideoGenerationPromptStepInput;
|
|
8974
9053
|
enrichPerson: EnrichPersonStepInput;
|
|
9054
|
+
evaluateDecision: EvaluateDecisionStepInput;
|
|
8975
9055
|
extractAudioFromVideo: ExtractAudioFromVideoStepInput;
|
|
8976
9056
|
extractText: ExtractTextStepInput;
|
|
8977
9057
|
fetchDataSourceDocument: FetchDataSourceDocumentStepInput;
|
|
@@ -9132,6 +9212,7 @@ interface StepOutputMap {
|
|
|
9132
9212
|
enhanceImageGenerationPrompt: EnhanceImageGenerationPromptStepOutput;
|
|
9133
9213
|
enhanceVideoGenerationPrompt: EnhanceVideoGenerationPromptStepOutput;
|
|
9134
9214
|
enrichPerson: EnrichPersonStepOutput;
|
|
9215
|
+
evaluateDecision: EvaluateDecisionStepOutput;
|
|
9135
9216
|
extractAudioFromVideo: ExtractAudioFromVideoStepOutput;
|
|
9136
9217
|
extractText: ExtractTextStepOutput;
|
|
9137
9218
|
fetchDataSourceDocument: FetchDataSourceDocumentStepOutput;
|
|
@@ -9860,6 +9941,36 @@ interface StepMethods {
|
|
|
9860
9941
|
* ```
|
|
9861
9942
|
*/
|
|
9862
9943
|
enrichPerson(step: EnrichPersonStepInput, options?: StepExecutionOptions): Promise<StepExecutionResult<EnrichPersonStepOutput>>;
|
|
9944
|
+
/**
|
|
9945
|
+
* Ask structured questions about text, JSON, or images and get calibrated answers from a decision model. The model returns a probability, a selected option, or a score. It does not write a reply. Each question is a noul (yes or no, as a probability from 0 to 1), a choice (one option from a set you define, with a probability for each), or a score (a rating against ordered levels). Put every question in the same call. The question id is yours: answers come back under the same ids. The model defaults to Jev (jev-latest).
|
|
9946
|
+
*
|
|
9947
|
+
* @remarks
|
|
9948
|
+
* - state is the content to judge: a string, or a JSON object or array (a record, a chat log, application state).
|
|
9949
|
+
* - questions is a map. The key is an id you choose. It is not shown to the model. The answer comes back under the same id.
|
|
9950
|
+
* - A noul asks a yes/no question and returns noul, a probability from 0 (no) to 1 (yes). Optional criteria.true and criteria.false say what a yes and a no mean.
|
|
9951
|
+
* - A choice picks one option. criteria is a map of option id to a short description (or null). At most 255 options. The answer includes the winning choice, a probability for every option, and confidence.
|
|
9952
|
+
* - A score rates the state on an ordered rubric. criteria is 2 to 10 level descriptions, low to high. The answer's score can land between levels, and includes a probability per level plus confidence.
|
|
9953
|
+
* - An answer of type refusal means the model declined that question (GPT-6 Luna Decisions can).
|
|
9954
|
+
* - instructions may be a string, or an object that keeps the question in one field and reference data in the others. Refer to those fields by name in backticks.
|
|
9955
|
+
* - Send every question you need in one call. The model reads the state once and answers them together.
|
|
9956
|
+
* - Probabilities from different models are not comparable: tune a threshold against the model, and the version, it will run on.
|
|
9957
|
+
* - decisionModelOverride.model picks the model:
|
|
9958
|
+
* - jev-latest (the default) is TypeSafe's current stable release, text only, up to 64k tokens. jev-preview tracks TypeSafe's newest release. Pin a version such as jev-1.13.0 when a threshold was tuned against that version.
|
|
9959
|
+
* - clef and clef-flash run Cloudflare Clef, which also reads up to 4 PNG, JPEG, or WebP images, each at most 4 MiB and 8 MiB together, and takes at most 64 questions, each id using only letters, digits, underscore, dot, and hyphen, up to 100 characters. clef is the larger model, clef-flash the faster one. @cf/cloudflare/clef and @cf/cloudflare/clef-flash name the same two.
|
|
9960
|
+
* - gpt-6-luna-decisions runs OpenAI's Decisions API (in beta), which reads up to 922k tokens and PNG, JPEG, WebP, or GIF images of up to 20 MB each. It takes up to 200 questions, and a choice needs at least 2 options. gpt-6-luna names it too.
|
|
9961
|
+
* - images is for a model that reads them. Pass URLs or data URLs. A model that reads none refuses the call.
|
|
9962
|
+
* - The response model field is the version that answered.
|
|
9963
|
+
* - Billed per input token. Output tokens are free. Each model has its own rate, and GPT-6 Luna Decisions bills a prompt over 272k tokens at twice its rate.
|
|
9964
|
+
*
|
|
9965
|
+
* @example
|
|
9966
|
+
* ```typescript
|
|
9967
|
+
* const result = await agent.evaluateDecision({
|
|
9968
|
+
* state: ``,
|
|
9969
|
+
* questions: {},
|
|
9970
|
+
* });
|
|
9971
|
+
* ```
|
|
9972
|
+
*/
|
|
9973
|
+
evaluateDecision(step: EvaluateDecisionStepInput, options?: StepExecutionOptions): Promise<StepExecutionResult<EvaluateDecisionStepOutput>>;
|
|
9863
9974
|
/**
|
|
9864
9975
|
* Extract audio MP3 from a video file
|
|
9865
9976
|
*
|
|
@@ -9877,9 +9988,16 @@ interface StepMethods {
|
|
|
9877
9988
|
* @remarks
|
|
9878
9989
|
* - Best suited for PDFs and raw text/document files. For web pages, use the scrapeUrl step instead.
|
|
9879
9990
|
* - Handles both text-layer PDFs and image-based/scanned PDFs (e.g. Figma/Canva exports, scanned documents). Image-based PDFs are processed with OCR automatically — there is no need to convert PDF pages to images first.
|
|
9991
|
+
* - Plain text, code, HTML, spreadsheets and Office documents (docx, pptx, odt, rtf, epub) are read without a model and cost nothing. PDFs and images go to the extraction model, billed per page.
|
|
9880
9992
|
* - Accepts a single URL, a comma-separated list of URLs, or a JSON array of URLs.
|
|
9881
9993
|
* - Nothing is published. One of the app's own files — including a private one, or a share link — is read where it sits; any other URL is downloaded and staged privately for the extraction model, then discarded when extraction finishes.
|
|
9882
|
-
* -
|
|
9994
|
+
* - `text` is each document's text: a string for one URL, an array for several. `documents` has each document page by page, with its page numbers and the pages billed. Set `includeBlocks` to add each page's typed blocks (title, text, table, image, header, footer…) with their bounding boxes, and the page's size.
|
|
9995
|
+
* - A file that can't be read (unreachable, an unsupported type, past the model's limits, or refused by the model) fails the step with the reason.
|
|
9996
|
+
* - `extractionModelOverride.model` picks the model; omit it to use the workspace's default:
|
|
9997
|
+
* - `mistral-ocr-4.1` (the default): PDFs and images up to 50 MB and 1,000 pages, with typed blocks.
|
|
9998
|
+
* - `mistral-document-ai-2512`: Mistral Document AI on Microsoft Foundry, up to 30 MB and 30 pages, with typed blocks.
|
|
9999
|
+
* - `llamaparse`: LlamaParse's agentic mode, up to 100 MB and 1,000 pages, markdown without blocks.
|
|
10000
|
+
* - `google-document-ai`: Google Document AI OCR, up to 500 pages, where the deployment has set it up.
|
|
9883
10001
|
* - Maximum file size is 50MB per URL.
|
|
9884
10002
|
*
|
|
9885
10003
|
* @example
|
|
@@ -11550,6 +11668,10 @@ interface StepMethods {
|
|
|
11550
11668
|
*
|
|
11551
11669
|
* @remarks
|
|
11552
11670
|
* - The text field contains the exact words to be spoken (not instructions).
|
|
11671
|
+
* - Voice, delivery and format are set through `speechModelOverride.config`, whose keys are the model's own (look a model up with its id). Delivery direction, where a model takes one, is never spoken: `styleInstruction` on gemini-3.8-flash-tts and gemini-3.8-flash-lite-tts, `instructions` on gpt-realtime-2.1-mini-tts, `voice_instruction` on seed-speech-tts-2.0, `emotion` on cartesia-sonic-3.6 and the MiniMax models.
|
|
11672
|
+
* - Tags in the text act at that point, in each vendor's own syntax: `[laughs]` or `[whispers]` on elevenlabs-tts with Eleven v4 or v3; `<laugh>`, `<sigh>` or `<whispers>` on the Gemini 3.8 models; `[laugh]`, `[pause]` or `<whisper>…</whisper>` on grok-voice-tts; `[laughter]` or `<emotion value="excited"/>` on cartesia-sonic-3.6; `[be happy and upbeat]` on inworld-tts-2.
|
|
11673
|
+
* - A dialogue between voices: set `$mode: 'dialogue'` and name each speaker (`speaker1_name`, `speaker1_voice`, `speaker2_name`, …), then write the text as a script, one `Name: line` per turn. Supported by elevenlabs-tts (Eleven v4 or v3, up to 4 speakers) and the Gemini 3.8 models (exactly 2).
|
|
11674
|
+
* - A text longer than a model takes in one request is spoken in pieces and joined, and then comes back as MP3 whatever format was asked for.
|
|
11553
11675
|
* - In foreground mode, the audio is displayed to the user. In background mode, the URL is saved to a variable.
|
|
11554
11676
|
*
|
|
11555
11677
|
* @example
|
|
@@ -11564,12 +11686,20 @@ interface StepMethods {
|
|
|
11564
11686
|
* Convert an audio file to text using a transcription model.
|
|
11565
11687
|
*
|
|
11566
11688
|
* @remarks
|
|
11567
|
-
* - The
|
|
11568
|
-
* -
|
|
11569
|
-
* -
|
|
11570
|
-
* - `
|
|
11571
|
-
* - `detectLanguage: 'yes'` — detect the
|
|
11572
|
-
* -
|
|
11689
|
+
* - The default model is elevenlabs-scribe-v2: speakers, word timings, key terms and redaction, at any length.
|
|
11690
|
+
* - The prompt field gives context (speaker names, domain) to OpenAI's and DeepInfra's models. Other models ignore it; give them `keyterms` instead.
|
|
11691
|
+
* - Options go in `transcriptionModelOverride.config`, and support varies by model:
|
|
11692
|
+
* - `language` — the spoken language as a code such as `en` or `es`; left out, the model detects it. Every model takes it. deepgram-nova-3 assumes `en` unless told, and also takes `multi` for speech that switches language (billed at its multilingual rate).
|
|
11693
|
+
* - `detectLanguage: 'yes'` — detect the language instead of assuming English (deepgram-nova-3 only).
|
|
11694
|
+
* - `includeSpeakers: 'yes'` — label each passage with a speaker. Supported by elevenlabs-scribe-v2, elevenlabs-scribe-v2-medical, deepgram-nova-3, grok-stt, voxtral-mini-transcribe-2 and gemini-3.5-transcribe; gpt-4o-transcribe-diarize always does. Scribe and Voxtral also switch `text` to a timestamped, speaker-labelled block format; Deepgram, Gemini and gpt-4o-transcribe-diarize to `Speaker N:` lines.
|
|
11695
|
+
* - `numSpeakers` — the most people talking, to help tell them apart (Scribe).
|
|
11696
|
+
* - `keyterms` — a list of names, products and terms the audio contains, so they're spelled right. Supported by gpt-transcribe, Scribe, deepgram-nova-3, grok-stt, voxtral-mini-transcribe-2 and gemini-3.5-transcribe. Billed as an add-on on Scribe and Deepgram.
|
|
11697
|
+
* - `redactPii: 'yes'` — replace names, phone numbers, addresses and other personal information with a label of what was there (Scribe, deepgram-nova-3). Billed as an add-on.
|
|
11698
|
+
* - `includeWordTimings: 'yes'` — add per-word timings and confidence inside each segment. Supported by Scribe, deepgram-nova-3, whisper-1, grok-stt, voxtral-mini-transcribe-2 and gemini-3.5-transcribe. Off by default because an hour of speech is roughly ten thousand words.
|
|
11699
|
+
* - `subtitles: 'srt' | 'vtt'` — also return the transcript as a subtitle file, in the `subtitles` output, timed by the segments. Any model that returns segments.
|
|
11700
|
+
* - gemini-3.5-transcribe can't take `keyterms` together with speakers, word timings or subtitles, and voxtral-mini-transcribe-2 can't take `language` together with word timings or subtitles; either asked for both is refused.
|
|
11701
|
+
* - The `segments` output carries timings, confidence and speakers as structured data, so there is no need to slice the audio up to recover them. It is populated by Scribe, deepgram-nova-3, grok-stt, whisper-1, gpt-4o-transcribe-diarize, voxtral-mini-transcribe-2 (unless given a language), gemini-3.5-transcribe (with word timings or subtitles) and the DeepInfra-served whisper and qwen models, and absent for models that return nothing but text (gpt-transcribe, gpt-4o-transcribe, gpt-4o-mini-transcribe, the DeepInfra-served voxtral models).
|
|
11702
|
+
* - A recording of any length can be transcribed. One longer than a model takes at once (OpenAI's and DeepInfra's models, Gemini) is transcribed in pieces and joined, its timings running from the start of the recording. Speakers can't be followed from one piece to the next, so with speakers on, such a recording is refused; Scribe and Deepgram label speakers at any length.
|
|
11573
11703
|
* - `confidence` is always 0..1 with higher meaning more confident, whichever model produced it.
|
|
11574
11704
|
*
|
|
11575
11705
|
* @example
|
|
@@ -11593,19 +11723,10 @@ interface StepMethods {
|
|
|
11593
11723
|
*/
|
|
11594
11724
|
trimMedia(step: TrimMediaStepInput, options?: StepExecutionOptions): Promise<StepExecutionResult<TrimMediaStepOutput>>;
|
|
11595
11725
|
/**
|
|
11596
|
-
*
|
|
11726
|
+
* @deprecated Use evaluateDecision: the same questions, answers and models, with decisionModelOverride in place of model. evaluateDecision's earlier name, which still runs: ask structured questions about text, JSON, or images and get calibrated answers from a decision model.
|
|
11597
11727
|
*
|
|
11598
11728
|
* @remarks
|
|
11599
|
-
* -
|
|
11600
|
-
* - images is for Clef and Clef Flash. Pass up to 4 PNG, JPEG, or WebP images as URLs. Each file is at most 4 MiB, and 8 MiB together. A call on Jev that includes images is rejected.
|
|
11601
|
-
* - questions is a map. The key is an id you choose. It is not shown to the model. The answer comes back under the same id.
|
|
11602
|
-
* - A noul asks a yes/no question and returns noul, a probability from 0 (no) to 1 (yes). Optional criteria.true and criteria.false say what a yes and a no mean.
|
|
11603
|
-
* - A choice picks one option. criteria is a map of option id to a short description (or null). At most 255 options. The answer includes the winning choice, a probability for every option, and confidence.
|
|
11604
|
-
* - A score rates the state on an ordered rubric. criteria is 2 to 10 level descriptions, low to high. The answer's score can land between levels, and includes a probability per level plus confidence.
|
|
11605
|
-
* - instructions may be a string, or an object that keeps the question in one field and reference data in the others. Refer to those fields by name in backticks.
|
|
11606
|
-
* - Send every question you need in one call. The model reads the state once and answers them together.
|
|
11607
|
-
* - model defaults to jev-latest, the current stable TypeSafe release. jev-preview tracks the newest TypeSafe release. Pin a version such as jev-1.13.0 when a threshold was tuned against that version. clef and clef-flash run Cloudflare Clef on the same questions and answers. clef is the larger model. clef-flash is the faster one. @cf/cloudflare/clef and @cf/cloudflare/clef-flash name the same two. Clef accepts at most 64 questions, and a question id may use only letters, digits, underscore, dot, and hyphen, up to 100 characters. The response model field is the version that answered.
|
|
11608
|
-
* - Billed per input token. Output tokens are free. Clef and Clef-flash have their own rates.
|
|
11729
|
+
* - Runs exactly as evaluateDecision does, with the same questions, answers, models and limits (see its notes), and model in place of decisionModelOverride.model.
|
|
11609
11730
|
*
|
|
11610
11731
|
* @example
|
|
11611
11732
|
* ```typescript
|
|
@@ -12746,4 +12867,4 @@ declare const prerender: {
|
|
|
12746
12867
|
}>;
|
|
12747
12868
|
};
|
|
12748
12869
|
|
|
12749
|
-
export { type Accessor, type ActiveCampaignAddNoteStepInput, type ActiveCampaignAddNoteStepOutput, type ActiveCampaignCreateContactStepInput, type ActiveCampaignCreateContactStepOutput, type AddSubtitlesToVideoStepInput, type AddSubtitlesToVideoStepOutput, type AddThumbnailToVideoStepInput, type AddThumbnailToVideoStepOutput, type AgentInfo, type AgentOptions, type AggregateRow, type AggregateSelect, type AggregateTerm, type AiSourceVendor, type AirtableCreateUpdateRecordStepInput, type AirtableCreateUpdateRecordStepOutput, type AirtableDeleteRecordStepInput, type AirtableDeleteRecordStepOutput, type AirtableGetRecordStepInput, type AirtableGetRecordStepOutput, type AirtableGetTableRecordsStepInput, type AirtableGetTableRecordsStepOutput, type Analytics, type AnalyticsDateRange, type AnalyticsDimension, type AnalyticsFilter, type AnalyticsFilterOp, type AnalyticsGranularity, type AnalyticsMetric, type AnalyticsQueryResponse, type AnalyticsQueryResultRow, type AnalyticsQuerySpec, type AnalyticsReadOptions, type AnalyzeImageStepInput, type AnalyzeImageStepOutput, type AnalyzeVideoStepInput, type AnalyzeVideoStepOutput, type AppAuthContext, type AppContextResult, type AppDatabase, type AppDatabaseColumnSchema, type AppDatabaseTable, type AppRoleAssignment, AuthContext, type AuthTableConfig, type BatchStepInput, type BatchStepResult, type Batchable, type CaptureThumbnailStepInput, type CaptureThumbnailStepOutput, type CheckAppRoleStepInput, type CheckAppRoleStepOutput, type CodaCreateUpdatePageStepInput, type CodaCreateUpdatePageStepOutput, type CodaCreateUpdateRowStepInput, type CodaCreateUpdateRowStepOutput, type CodaFindRowStepInput, type CodaFindRowStepOutput, type CodaGetPageStepInput, type CodaGetPageStepOutput, type CodaGetTableRowsStepInput, type CodaGetTableRowsStepOutput, type Connection, type ConnectorActionDetail, type ConnectorService, type ConvertPdfToImagesStepInput, type ConvertPdfToImagesStepOutput, type CrawlerBucket, type CrawlerHit, type CrawlerOverview, type CreateDataSourceStepInput, type CreateDataSourceStepOutput, type CreateGmailDraftStepInput, type CreateGmailDraftStepOutput, type CreateGoogleCalendarEventStepInput, type CreateGoogleCalendarEventStepOutput, type CreateGoogleDocStepInput, type CreateGoogleDocStepOutput, type CreateGoogleSheetStepInput, type CreateGoogleSheetStepOutput, type Db, type DecomposeImageStepInput, type DecomposeImageStepOutput, type DefineStoreOptions, type DefineTableOptions, type DeleteDataSourceDocumentStepInput, type DeleteDataSourceDocumentStepOutput, type DeleteDataSourceStepInput, type DeleteDataSourceStepOutput, type DeleteGmailEmailStepInput, type DeleteGmailEmailStepOutput, type DeleteGoogleCalendarEventStepInput, type DeleteGoogleCalendarEventStepOutput, type DeleteGoogleSheetRowsStepInput, type DeleteGoogleSheetRowsStepOutput, type DetectChangesStepInput, type DetectChangesStepOutput, type DetectPIIStepInput, type DetectPIIStepOutput, type DownloadVideoStepInput, type DownloadVideoStepOutput, type EnhanceImageGenerationPromptStepInput, type EnhanceImageGenerationPromptStepOutput, type EnhanceVideoGenerationPromptStepInput, type EnhanceVideoGenerationPromptStepOutput, type EnrichPersonStepInput, type EnrichPersonStepOutput, type EventGrantOptions, type EventGrantResult, type Events, type ExecuteStepBatchOptions, type ExecuteStepBatchResult, type ExtractAudioFromVideoStepInput, type ExtractAudioFromVideoStepOutput, type ExtractTextStepInput, type ExtractTextStepOutput, type FetchDataSourceDocumentStepInput, type FetchDataSourceDocumentStepOutput, type FetchGoogleDocStepInput, type FetchGoogleDocStepOutput, type FetchGoogleSheetStepInput, type FetchGoogleSheetStepOutput, type FetchSlackChannelHistoryStepInput, type FetchSlackChannelHistoryStepOutput, type FetchYoutubeCaptionsStepInput, type FetchYoutubeCaptionsStepOutput, type FetchYoutubeChannelStepInput, type FetchYoutubeChannelStepOutput, type FetchYoutubeCommentsStepInput, type FetchYoutubeCommentsStepOutput, type FetchYoutubeVideoStepInput, type FetchYoutubeVideoStepOutput, type FileAccess, type Files, type FromSchema, type Generate3dModelStepInput, type Generate3dModelStepOutput, type GenerateAssetStepInput, type GenerateAssetStepOutput, type GenerateImageStepInput, type GenerateImageStepOutput, type GenerateLipsyncStepInput, type GenerateLipsyncStepOutput, type GenerateMusicStepInput, type GenerateMusicStepOutput, type GeneratePdfStepInput, type GeneratePdfStepOutput, type GenerateSoundStepInput, type GenerateSoundStepOutput, type GenerateStaticVideoFromImageStepInput, type GenerateStaticVideoFromImageStepOutput, type GenerateTextStepInput, type GenerateTextStepOutput, type GenerateVideoStepInput, type GenerateVideoStepOutput, type GetGmailAttachmentsStepInput, type GetGmailAttachmentsStepOutput, type GetGmailDraftStepInput, type GetGmailDraftStepOutput, type GetGmailEmailStepInput, type GetGmailEmailStepOutput, type GetGmailUnreadCountStepInput, type GetGmailUnreadCountStepOutput, type GetGoogleCalendarEventStepInput, type GetGoogleCalendarEventStepOutput, type GetGoogleDriveFileStepInput, type GetGoogleDriveFileStepOutput, type GetGoogleSheetInfoStepInput, type GetGoogleSheetInfoStepOutput, type GetMediaMetadataStepInput, type GetMediaMetadataStepOutput, type GetStreamOptions, type HubspotCreateCompanyStepInput, type HubspotCreateCompanyStepOutput, type HubspotCreateContactStepInput, type HubspotCreateContactStepOutput, type HubspotGetCompanyStepInput, type HubspotGetCompanyStepOutput, type HubspotGetContactStepInput, type HubspotGetContactStepOutput, type HunterApiCompanyEnrichmentStepInput, type HunterApiCompanyEnrichmentStepOutput, type HunterApiDomainSearchStepInput, type HunterApiDomainSearchStepOutput, type HunterApiEmailFinderStepInput, type HunterApiEmailFinderStepOutput, type HunterApiEmailVerificationStepInput, type HunterApiEmailVerificationStepOutput, type HunterApiPersonEnrichmentStepInput, type HunterApiPersonEnrichmentStepOutput, type ImageFaceSwapStepInput, type ImageFaceSwapStepOutput, type ImageRemoveWatermarkStepInput, type ImageRemoveWatermarkStepOutput, type ImportFromUrlStepInput, type ImportFromUrlStepOutput, type InsertVideoClipsStepInput, type InsertVideoClipsStepOutput, type Jewel, type JewelConfig, type JewelGradeContext, type JewelMethod, type JewelMethodInput, type JewelPairRecord, type JewelProposal, type JewelProposeOutcome, type JewelProposeResult, type JewelQueueItem, type JewelQueueResolution, type JewelQueueResolveResult, type JewelRunParams, type JewelVerdict, type JewelsApi, type JsonObjectSchema, type JsonSchema, type JsonSchemaTypeName, type ListAgentsResult, type ListDataSourcesStepInput, type ListDataSourcesStepOutput, type ListGmailDraftsStepInput, type ListGmailDraftsStepOutput, type ListGmailLabelsStepInput, type ListGmailLabelsStepOutput, type ListGoogleCalendarEventsStepInput, type ListGoogleCalendarEventsStepOutput, type ListGoogleDriveFilesStepInput, type ListGoogleDriveFilesStepOutput, type ListOptions, type ListRecentGmailEmailsStepInput, type ListRecentGmailEmailsStepOutput, type LiveNow, type LogicStepInput, type LogicStepOutput, MAX_EVENT_PAYLOAD_CHARS, type MakeDotComRunScenarioStepInput, type MakeDotComRunScenarioStepOutput, type MapObject, type MapOutcome, type MapPoint, type MapRunObject, type MapRunOutcome, type MapRunParams, type MapRunRecord, type MapRunResult, type MappedDocument, type Mapper, type MapperConfig, type MergeAudioStepInput, type MergeAudioStepOutput, type MergeVideosStepInput, type MergeVideosStepOutput, type MeshyAnimateStepInput, type MeshyAnimateStepOutput, type MeshyImageTo3dStepInput, type MeshyImageTo3dStepOutput, type MeshyRemeshStepInput, type MeshyRemeshStepOutput, type MeshyRigStepInput, type MeshyRigStepOutput, type MeshyTextTo3dStepInput, type MeshyTextTo3dStepOutput, type MeshyTextureStepInput, type MeshyTextureStepOutput, MindStudioAgent, MindStudioError, type MindStudioModel, type MindStudioModelSummary, type MixAudioIntoVideoStepInput, type MixAudioIntoVideoStepOutput, type ModelType, type MonacoSnippet, type MonacoSnippetField, type MonacoSnippetFieldType, type MuteVideoStepInput, type MuteVideoStepOutput, type N8nRunNodeStepInput, type N8nRunNodeStepOutput, type NotionCreatePageStepInput, type NotionCreatePageStepOutput, type NotionUpdatePageStepInput, type NotionUpdatePageStepOutput, type PackagedWorkflow, type PackagedWorkflowInput, type PackagedWorkflowSignature, type PeopleSearchStepInput, type PeopleSearchStepOutput, type PostToLinkedInStepInput, type PostToLinkedInStepOutput, type PostToSlackChannelStepInput, type PostToSlackChannelStepOutput, type PostToXStepInput, type PostToXStepOutput, type PostToZapierStepInput, type PostToZapierStepOutput, type Predicate, type PushInput, type PutOptions, type PutStream, Query, type QueryDataSourceStepInput, type QueryDataSourceStepOutput, type QueryExternalDatabaseStepInput, type QueryExternalDatabaseStepOutput, type QuickbooksApiRequestStepInput, type QuickbooksApiRequestStepOutput, RawQuery, type ReadDelivery, type ReadRunParams, type ReadRunRecord, type ReadRunResult, type Reader, type ReaderConfig, type ReaderDocument, type RedactPIIStepInput, type RedactPIIStepOutput, type RemoveBackgroundFromImageStepInput, type RemoveBackgroundFromImageStepOutput, type RenderVideoFromHtmlCompositionStepInput, type RenderVideoFromHtmlCompositionStepOutput, type ReplyToGmailEmailStepInput, type ReplyToGmailEmailStepOutput, type ReportIssueInput, type ReportedIssue, type RequestContext, type ResizeVideoStepInput, type ResizeVideoStepOutput, type ResolvedUser, Roles, type RunAgentOptions, type RunAgentResult, type RunFfmpegStepInput, type RunFfmpegStepOutput, type RunFromConnectorRegistryStepInput, type RunFromConnectorRegistryStepOutput, type RunTaskOptions, type RunTaskOptionsWithExample, type RunTaskOptionsWithSchema, type RunTaskResult, type SchemaValidationError, type ScrapeLinkedInCompanyStepInput, type ScrapeLinkedInCompanyStepOutput, type ScrapeLinkedInProfileStepInput, type ScrapeLinkedInProfileStepOutput, type ScrapeUrlStepInput, type ScrapeUrlStepOutput, type ScrapeXPostStepInput, type ScrapeXPostStepOutput, type ScrapeXProfileStepInput, type ScrapeXProfileStepOutput, type ScreenshotUrlStepInput, type ScreenshotUrlStepOutput, type SearchGmailEmailsStepInput, type SearchGmailEmailsStepOutput, type SearchGoogleCalendarEventsStepInput, type SearchGoogleCalendarEventsStepOutput, type SearchGoogleDriveStepInput, type SearchGoogleDriveStepOutput, type SearchGoogleImagesStepInput, type SearchGoogleImagesStepOutput, type SearchGoogleNewsStepInput, type SearchGoogleNewsStepOutput, type SearchGoogleStepInput, type SearchGoogleStepOutput, type SearchGoogleTrendsStepInput, type SearchGoogleTrendsStepOutput, type SearchPerplexityStepInput, type SearchPerplexityStepOutput, type SearchXPostsStepInput, type SearchXPostsStepOutput, type SearchYoutubeStepInput, type SearchYoutubeStepOutput, type SearchYoutubeTrendsStepInput, type SearchYoutubeTrendsStepOutput, type SendEmailStepInput, type SendEmailStepOutput, type SendGmailDraftStepInput, type SendGmailDraftStepOutput, type SendGmailMessageStepInput, type SendGmailMessageStepOutput, type SendSMSStepInput, type SendSMSStepOutput, type SendSlackDirectMessageStepInput, type SendSlackDirectMessageStepOutput, type SessionContext, type SetGmailReadStatusStepInput, type SetGmailReadStatusStepOutput, type SetRunTitleStepInput, type SetRunTitleStepOutput, type SetVariableStepInput, type SetVariableStepOutput, type StepCostEstimateEntry, type StepExecutionMeta, type StepExecutionOptions, type StepExecutionResult, type StepInputMap, type StepLogEvent, type StepMetadata, type StepMethods, type StepName, type StepOutputMap, Store, type StoredFile, type SystemFields, Table, type TaskEvent, type TaskToolCall, type TaskToolConfig, type TaskUsage, type TextToSpeechStepInput, type TextToSpeechStepOutput, type TopSource, type TranscribeAudioStepInput, type TranscribeAudioStepOutput, type TrimMediaStepInput, type TrimMediaStepOutput, type TypesafeEvaluateStepInput, type TypesafeEvaluateStepOutput, type UpdateGmailLabelsStepInput, type UpdateGmailLabelsStepOutput, type UpdateGoogleCalendarEventStepInput, type UpdateGoogleCalendarEventStepOutput, type UpdateGoogleDocStepInput, type UpdateGoogleDocStepOutput, type UpdateGoogleSheetStepInput, type UpdateGoogleSheetStepOutput, type UpdateInput, type UploadDataSourceDocumentStepInput, type UploadDataSourceDocumentStepOutput, type UploadFileResult, type UploadToken, type UpscaleImageStepInput, type UpscaleImageStepOutput, type UpscaleVideoStepInput, type UpscaleVideoStepOutput, type User, type UserInfoResult, type UserMessageStepInput, type UserMessageStepOutput, type VideoFaceSwapStepInput, type VideoFaceSwapStepOutput, type VideoRemoveBackgroundStepInput, type VideoRemoveBackgroundStepOutput, type VideoRemoveWatermarkStepInput, type VideoRemoveWatermarkStepOutput, type Voice, type VoiceCallResult, type WatermarkImageStepInput, type WatermarkImageStepOutput, type WatermarkVideoStepInput, type WatermarkVideoStepOutput, type YouDotComFinanceResearchStepInput, type YouDotComFinanceResearchStepOutput, type YouDotComGetPageContentStepInput, type YouDotComGetPageContentStepOutput, type YouDotComLiveNewsStepInput, type YouDotComLiveNewsStepOutput, type YouDotComWebResearchStepInput, type YouDotComWebResearchStepOutput, type YouDotComWebSearchStepInput, type YouDotComWebSearchStepOutput, analytics, auth, blockTypeAliases, dataSources, db, mindstudio as default, defineJewel, defineMapper, defineReader, deletes, documents, email, events, files, getRequestContext, mindstudio, monacoSnippets, passthrough, prerender, reportIssue, resolveUser, runWithContext, session, skip, stepMetadata, stream, voice, waitUntil };
|
|
12870
|
+
export { type Accessor, type ActiveCampaignAddNoteStepInput, type ActiveCampaignAddNoteStepOutput, type ActiveCampaignCreateContactStepInput, type ActiveCampaignCreateContactStepOutput, type AddSubtitlesToVideoStepInput, type AddSubtitlesToVideoStepOutput, type AddThumbnailToVideoStepInput, type AddThumbnailToVideoStepOutput, type AgentInfo, type AgentOptions, type AggregateRow, type AggregateSelect, type AggregateTerm, type AiSourceVendor, type AirtableCreateUpdateRecordStepInput, type AirtableCreateUpdateRecordStepOutput, type AirtableDeleteRecordStepInput, type AirtableDeleteRecordStepOutput, type AirtableGetRecordStepInput, type AirtableGetRecordStepOutput, type AirtableGetTableRecordsStepInput, type AirtableGetTableRecordsStepOutput, type Analytics, type AnalyticsDateRange, type AnalyticsDimension, type AnalyticsFilter, type AnalyticsFilterOp, type AnalyticsGranularity, type AnalyticsMetric, type AnalyticsQueryResponse, type AnalyticsQueryResultRow, type AnalyticsQuerySpec, type AnalyticsReadOptions, type AnalyzeImageStepInput, type AnalyzeImageStepOutput, type AnalyzeVideoStepInput, type AnalyzeVideoStepOutput, type AppAuthContext, type AppContextResult, type AppDatabase, type AppDatabaseColumnSchema, type AppDatabaseTable, type AppRoleAssignment, AuthContext, type AuthTableConfig, type BatchStepInput, type BatchStepResult, type Batchable, type CaptureThumbnailStepInput, type CaptureThumbnailStepOutput, type CheckAppRoleStepInput, type CheckAppRoleStepOutput, type CodaCreateUpdatePageStepInput, type CodaCreateUpdatePageStepOutput, type CodaCreateUpdateRowStepInput, type CodaCreateUpdateRowStepOutput, type CodaFindRowStepInput, type CodaFindRowStepOutput, type CodaGetPageStepInput, type CodaGetPageStepOutput, type CodaGetTableRowsStepInput, type CodaGetTableRowsStepOutput, type Connection, type ConnectorActionDetail, type ConnectorService, type ConvertPdfToImagesStepInput, type ConvertPdfToImagesStepOutput, type CrawlerBucket, type CrawlerHit, type CrawlerOverview, type CreateDataSourceStepInput, type CreateDataSourceStepOutput, type CreateGmailDraftStepInput, type CreateGmailDraftStepOutput, type CreateGoogleCalendarEventStepInput, type CreateGoogleCalendarEventStepOutput, type CreateGoogleDocStepInput, type CreateGoogleDocStepOutput, type CreateGoogleSheetStepInput, type CreateGoogleSheetStepOutput, type Db, type DecomposeImageStepInput, type DecomposeImageStepOutput, type DefineStoreOptions, type DefineTableOptions, type DeleteDataSourceDocumentStepInput, type DeleteDataSourceDocumentStepOutput, type DeleteDataSourceStepInput, type DeleteDataSourceStepOutput, type DeleteGmailEmailStepInput, type DeleteGmailEmailStepOutput, type DeleteGoogleCalendarEventStepInput, type DeleteGoogleCalendarEventStepOutput, type DeleteGoogleSheetRowsStepInput, type DeleteGoogleSheetRowsStepOutput, type DetectChangesStepInput, type DetectChangesStepOutput, type DetectPIIStepInput, type DetectPIIStepOutput, type DownloadVideoStepInput, type DownloadVideoStepOutput, type EnhanceImageGenerationPromptStepInput, type EnhanceImageGenerationPromptStepOutput, type EnhanceVideoGenerationPromptStepInput, type EnhanceVideoGenerationPromptStepOutput, type EnrichPersonStepInput, type EnrichPersonStepOutput, type EvaluateDecisionStepInput, type EvaluateDecisionStepOutput, type EventGrantOptions, type EventGrantResult, type Events, type ExecuteStepBatchOptions, type ExecuteStepBatchResult, type ExtractAudioFromVideoStepInput, type ExtractAudioFromVideoStepOutput, type ExtractTextStepInput, type ExtractTextStepOutput, type FetchDataSourceDocumentStepInput, type FetchDataSourceDocumentStepOutput, type FetchGoogleDocStepInput, type FetchGoogleDocStepOutput, type FetchGoogleSheetStepInput, type FetchGoogleSheetStepOutput, type FetchSlackChannelHistoryStepInput, type FetchSlackChannelHistoryStepOutput, type FetchYoutubeCaptionsStepInput, type FetchYoutubeCaptionsStepOutput, type FetchYoutubeChannelStepInput, type FetchYoutubeChannelStepOutput, type FetchYoutubeCommentsStepInput, type FetchYoutubeCommentsStepOutput, type FetchYoutubeVideoStepInput, type FetchYoutubeVideoStepOutput, type FileAccess, type Files, type FromSchema, type Generate3dModelStepInput, type Generate3dModelStepOutput, type GenerateAssetStepInput, type GenerateAssetStepOutput, type GenerateImageStepInput, type GenerateImageStepOutput, type GenerateLipsyncStepInput, type GenerateLipsyncStepOutput, type GenerateMusicStepInput, type GenerateMusicStepOutput, type GeneratePdfStepInput, type GeneratePdfStepOutput, type GenerateSoundStepInput, type GenerateSoundStepOutput, type GenerateStaticVideoFromImageStepInput, type GenerateStaticVideoFromImageStepOutput, type GenerateTextStepInput, type GenerateTextStepOutput, type GenerateVideoStepInput, type GenerateVideoStepOutput, type GetGmailAttachmentsStepInput, type GetGmailAttachmentsStepOutput, type GetGmailDraftStepInput, type GetGmailDraftStepOutput, type GetGmailEmailStepInput, type GetGmailEmailStepOutput, type GetGmailUnreadCountStepInput, type GetGmailUnreadCountStepOutput, type GetGoogleCalendarEventStepInput, type GetGoogleCalendarEventStepOutput, type GetGoogleDriveFileStepInput, type GetGoogleDriveFileStepOutput, type GetGoogleSheetInfoStepInput, type GetGoogleSheetInfoStepOutput, type GetMediaMetadataStepInput, type GetMediaMetadataStepOutput, type GetStreamOptions, type HubspotCreateCompanyStepInput, type HubspotCreateCompanyStepOutput, type HubspotCreateContactStepInput, type HubspotCreateContactStepOutput, type HubspotGetCompanyStepInput, type HubspotGetCompanyStepOutput, type HubspotGetContactStepInput, type HubspotGetContactStepOutput, type HunterApiCompanyEnrichmentStepInput, type HunterApiCompanyEnrichmentStepOutput, type HunterApiDomainSearchStepInput, type HunterApiDomainSearchStepOutput, type HunterApiEmailFinderStepInput, type HunterApiEmailFinderStepOutput, type HunterApiEmailVerificationStepInput, type HunterApiEmailVerificationStepOutput, type HunterApiPersonEnrichmentStepInput, type HunterApiPersonEnrichmentStepOutput, type ImageFaceSwapStepInput, type ImageFaceSwapStepOutput, type ImageRemoveWatermarkStepInput, type ImageRemoveWatermarkStepOutput, type ImportFromUrlStepInput, type ImportFromUrlStepOutput, type InsertVideoClipsStepInput, type InsertVideoClipsStepOutput, type Jewel, type JewelConfig, type JewelGradeContext, type JewelMethod, type JewelMethodInput, type JewelPairRecord, type JewelProposal, type JewelProposeOutcome, type JewelProposeResult, type JewelQueueItem, type JewelQueueResolution, type JewelQueueResolveResult, type JewelRunParams, type JewelVerdict, type JewelsApi, type JsonObjectSchema, type JsonSchema, type JsonSchemaTypeName, type ListAgentsResult, type ListDataSourcesStepInput, type ListDataSourcesStepOutput, type ListGmailDraftsStepInput, type ListGmailDraftsStepOutput, type ListGmailLabelsStepInput, type ListGmailLabelsStepOutput, type ListGoogleCalendarEventsStepInput, type ListGoogleCalendarEventsStepOutput, type ListGoogleDriveFilesStepInput, type ListGoogleDriveFilesStepOutput, type ListOptions, type ListRecentGmailEmailsStepInput, type ListRecentGmailEmailsStepOutput, type LiveNow, type LogicStepInput, type LogicStepOutput, MAX_EVENT_PAYLOAD_CHARS, type MakeDotComRunScenarioStepInput, type MakeDotComRunScenarioStepOutput, type MapObject, type MapOutcome, type MapPoint, type MapRunObject, type MapRunOutcome, type MapRunParams, type MapRunRecord, type MapRunResult, type MappedDocument, type Mapper, type MapperConfig, type MergeAudioStepInput, type MergeAudioStepOutput, type MergeVideosStepInput, type MergeVideosStepOutput, type MeshyAnimateStepInput, type MeshyAnimateStepOutput, type MeshyImageTo3dStepInput, type MeshyImageTo3dStepOutput, type MeshyRemeshStepInput, type MeshyRemeshStepOutput, type MeshyRigStepInput, type MeshyRigStepOutput, type MeshyTextTo3dStepInput, type MeshyTextTo3dStepOutput, type MeshyTextureStepInput, type MeshyTextureStepOutput, MindStudioAgent, MindStudioError, type MindStudioModel, type MindStudioModelSummary, type MixAudioIntoVideoStepInput, type MixAudioIntoVideoStepOutput, type ModelType, type MonacoSnippet, type MonacoSnippetField, type MonacoSnippetFieldType, type MuteVideoStepInput, type MuteVideoStepOutput, type N8nRunNodeStepInput, type N8nRunNodeStepOutput, type NotionCreatePageStepInput, type NotionCreatePageStepOutput, type NotionUpdatePageStepInput, type NotionUpdatePageStepOutput, type PackagedWorkflow, type PackagedWorkflowInput, type PackagedWorkflowSignature, type PeopleSearchStepInput, type PeopleSearchStepOutput, type PostToLinkedInStepInput, type PostToLinkedInStepOutput, type PostToSlackChannelStepInput, type PostToSlackChannelStepOutput, type PostToXStepInput, type PostToXStepOutput, type PostToZapierStepInput, type PostToZapierStepOutput, type Predicate, type PushInput, type PutOptions, type PutStream, Query, type QueryDataSourceStepInput, type QueryDataSourceStepOutput, type QueryExternalDatabaseStepInput, type QueryExternalDatabaseStepOutput, type QuickbooksApiRequestStepInput, type QuickbooksApiRequestStepOutput, RawQuery, type ReadDelivery, type ReadRunParams, type ReadRunRecord, type ReadRunResult, type Reader, type ReaderConfig, type ReaderDocument, type RedactPIIStepInput, type RedactPIIStepOutput, type RemoveBackgroundFromImageStepInput, type RemoveBackgroundFromImageStepOutput, type RenderVideoFromHtmlCompositionStepInput, type RenderVideoFromHtmlCompositionStepOutput, type ReplyToGmailEmailStepInput, type ReplyToGmailEmailStepOutput, type ReportIssueInput, type ReportedIssue, type RequestContext, type ResizeVideoStepInput, type ResizeVideoStepOutput, type ResolvedUser, Roles, type RunAgentOptions, type RunAgentResult, type RunFfmpegStepInput, type RunFfmpegStepOutput, type RunFromConnectorRegistryStepInput, type RunFromConnectorRegistryStepOutput, type RunTaskOptions, type RunTaskOptionsWithExample, type RunTaskOptionsWithSchema, type RunTaskResult, type SchemaValidationError, type ScrapeLinkedInCompanyStepInput, type ScrapeLinkedInCompanyStepOutput, type ScrapeLinkedInProfileStepInput, type ScrapeLinkedInProfileStepOutput, type ScrapeUrlStepInput, type ScrapeUrlStepOutput, type ScrapeXPostStepInput, type ScrapeXPostStepOutput, type ScrapeXProfileStepInput, type ScrapeXProfileStepOutput, type ScreenshotUrlStepInput, type ScreenshotUrlStepOutput, type SearchGmailEmailsStepInput, type SearchGmailEmailsStepOutput, type SearchGoogleCalendarEventsStepInput, type SearchGoogleCalendarEventsStepOutput, type SearchGoogleDriveStepInput, type SearchGoogleDriveStepOutput, type SearchGoogleImagesStepInput, type SearchGoogleImagesStepOutput, type SearchGoogleNewsStepInput, type SearchGoogleNewsStepOutput, type SearchGoogleStepInput, type SearchGoogleStepOutput, type SearchGoogleTrendsStepInput, type SearchGoogleTrendsStepOutput, type SearchPerplexityStepInput, type SearchPerplexityStepOutput, type SearchXPostsStepInput, type SearchXPostsStepOutput, type SearchYoutubeStepInput, type SearchYoutubeStepOutput, type SearchYoutubeTrendsStepInput, type SearchYoutubeTrendsStepOutput, type SendEmailStepInput, type SendEmailStepOutput, type SendGmailDraftStepInput, type SendGmailDraftStepOutput, type SendGmailMessageStepInput, type SendGmailMessageStepOutput, type SendSMSStepInput, type SendSMSStepOutput, type SendSlackDirectMessageStepInput, type SendSlackDirectMessageStepOutput, type SessionContext, type SetGmailReadStatusStepInput, type SetGmailReadStatusStepOutput, type SetRunTitleStepInput, type SetRunTitleStepOutput, type SetVariableStepInput, type SetVariableStepOutput, type StepCostEstimateEntry, type StepExecutionMeta, type StepExecutionOptions, type StepExecutionResult, type StepInputMap, type StepLogEvent, type StepMetadata, type StepMethods, type StepName, type StepOutputMap, Store, type StoredFile, type SystemFields, Table, type TaskEvent, type TaskToolCall, type TaskToolConfig, type TaskUsage, type TextToSpeechStepInput, type TextToSpeechStepOutput, type TopSource, type TranscribeAudioStepInput, type TranscribeAudioStepOutput, type TrimMediaStepInput, type TrimMediaStepOutput, type TypesafeEvaluateStepInput, type TypesafeEvaluateStepOutput, type UpdateGmailLabelsStepInput, type UpdateGmailLabelsStepOutput, type UpdateGoogleCalendarEventStepInput, type UpdateGoogleCalendarEventStepOutput, type UpdateGoogleDocStepInput, type UpdateGoogleDocStepOutput, type UpdateGoogleSheetStepInput, type UpdateGoogleSheetStepOutput, type UpdateInput, type UploadDataSourceDocumentStepInput, type UploadDataSourceDocumentStepOutput, type UploadFileResult, type UploadToken, type UpscaleImageStepInput, type UpscaleImageStepOutput, type UpscaleVideoStepInput, type UpscaleVideoStepOutput, type User, type UserInfoResult, type UserMessageStepInput, type UserMessageStepOutput, type VideoFaceSwapStepInput, type VideoFaceSwapStepOutput, type VideoRemoveBackgroundStepInput, type VideoRemoveBackgroundStepOutput, type VideoRemoveWatermarkStepInput, type VideoRemoveWatermarkStepOutput, type Voice, type VoiceCallResult, type WatermarkImageStepInput, type WatermarkImageStepOutput, type WatermarkVideoStepInput, type WatermarkVideoStepOutput, type YouDotComFinanceResearchStepInput, type YouDotComFinanceResearchStepOutput, type YouDotComGetPageContentStepInput, type YouDotComGetPageContentStepOutput, type YouDotComLiveNewsStepInput, type YouDotComLiveNewsStepOutput, type YouDotComWebResearchStepInput, type YouDotComWebResearchStepOutput, type YouDotComWebSearchStepInput, type YouDotComWebSearchStepOutput, analytics, auth, blockTypeAliases, dataSources, db, mindstudio as default, defineJewel, defineMapper, defineReader, deletes, documents, email, events, files, getRequestContext, mindstudio, monacoSnippets, passthrough, prerender, reportIssue, resolveUser, runWithContext, session, skip, stepMetadata, stream, voice, waitUntil };
|
package/dist/index.js
CHANGED
|
@@ -403,8 +403,8 @@ async function executeDbBatchOverWs(url, token, databaseId, queries) {
|
|
|
403
403
|
|
|
404
404
|
// src/rate-limit.ts
|
|
405
405
|
var DEFAULT_CONCURRENCY = {
|
|
406
|
-
internal:
|
|
407
|
-
apiKey:
|
|
406
|
+
internal: 50,
|
|
407
|
+
apiKey: 100
|
|
408
408
|
};
|
|
409
409
|
var RateLimiter = class {
|
|
410
410
|
concurrencyLimit;
|
|
@@ -4350,6 +4350,13 @@ var stepMetadata = {
|
|
|
4350
4350
|
inputSchema: { "type": "object", "properties": { "params": { "type": "object", "properties": { "id": { "type": "string", "description": "Apollo person ID" }, "name": { "type": "string", "description": "Person's full name" }, "linkedinUrl": { "type": "string", "description": "LinkedIn profile URL" }, "email": { "type": "string", "description": "Email address" }, "domain": { "type": "string", "description": "Company domain" } }, "required": ["id", "name", "linkedinUrl", "email", "domain"], "description": "Search parameters to identify the person (ID, name, LinkedIn URL, email, or domain)" } }, "required": ["params"] },
|
|
4351
4351
|
outputSchema: { "type": "object", "properties": { "data": { "description": "Apollo enrichment result with contact details, employment history, and social profiles" } }, "required": ["data"] }
|
|
4352
4352
|
},
|
|
4353
|
+
"evaluateDecision": {
|
|
4354
|
+
stepType: "evaluateDecision",
|
|
4355
|
+
description: "Ask structured questions about text, JSON, or images and get calibrated answers from a decision model. The model returns a probability, a selected option, or a score. It does not write a reply. Each question is a noul (yes or no, as a probability from 0 to 1), a choice (one option from a set you define, with a probability for each), or a score (a rating against ordered levels). Put every question in the same call. The question id is yours: answers come back under the same ids. The model defaults to Jev (jev-latest).",
|
|
4356
|
+
usageNotes: "- state is the content to judge: a string, or a JSON object or array (a record, a chat log, application state).\n- questions is a map. The key is an id you choose. It is not shown to the model. The answer comes back under the same id.\n- A noul asks a yes/no question and returns noul, a probability from 0 (no) to 1 (yes). Optional criteria.true and criteria.false say what a yes and a no mean.\n- A choice picks one option. criteria is a map of option id to a short description (or null). At most 255 options. The answer includes the winning choice, a probability for every option, and confidence.\n- A score rates the state on an ordered rubric. criteria is 2 to 10 level descriptions, low to high. The answer's score can land between levels, and includes a probability per level plus confidence.\n- An answer of type refusal means the model declined that question (GPT-6 Luna Decisions can).\n- instructions may be a string, or an object that keeps the question in one field and reference data in the others. Refer to those fields by name in backticks.\n- Send every question you need in one call. The model reads the state once and answers them together.\n- Probabilities from different models are not comparable: tune a threshold against the model, and the version, it will run on.\n- decisionModelOverride.model picks the model:\n - jev-latest (the default) is TypeSafe's current stable release, text only, up to 64k tokens. jev-preview tracks TypeSafe's newest release. Pin a version such as jev-1.13.0 when a threshold was tuned against that version.\n - clef and clef-flash run Cloudflare Clef, which also reads up to 4 PNG, JPEG, or WebP images, each at most 4 MiB and 8 MiB together, and takes at most 64 questions, each id using only letters, digits, underscore, dot, and hyphen, up to 100 characters. clef is the larger model, clef-flash the faster one. @cf/cloudflare/clef and @cf/cloudflare/clef-flash name the same two.\n - gpt-6-luna-decisions runs OpenAI's Decisions API (in beta), which reads up to 922k tokens and PNG, JPEG, WebP, or GIF images of up to 20 MB each. It takes up to 200 questions, and a choice needs at least 2 options. gpt-6-luna names it too.\n- images is for a model that reads them. Pass URLs or data URLs. A model that reads none refuses the call.\n- The response model field is the version that answered.\n- Billed per input token. Output tokens are free. Each model has its own rate, and GPT-6 Luna Decisions bills a prompt over 272k tokens at twice its rate.",
|
|
4357
|
+
inputSchema: { "type": "object", "properties": { "state": { "anyOf": [{ "type": "string" }, { "type": "object", "properties": {}, "required": [] }, { "type": "array", "items": {} }] }, "questions": { "type": "object", "properties": {}, "required": [], "description": "Questions to ask about the state, keyed by an id you choose." }, "images": { "type": "array", "items": { "type": "string" }, "description": "Images for a model that reads them (Clef, Clef Flash, GPT-6 Luna Decisions). Each entry is a URL or a data URL. A model that reads none refuses the call." }, "decisionModelOverride": { "type": "object", "properties": { "model": { "type": "string", "description": "Decision model: a catalog id, its vendor's name for it (`@cf/cloudflare/clef`, `gpt-6-luna`), or a version it pins (`jev-1.13.0`)" }, "config": { "type": "object", "properties": {}, "required": [], "description": "Additional model-specific configuration" } }, "required": ["model"], "description": "Optional model override. Uses the workspace's default decision model (Jev) if not specified" } }, "required": ["state", "questions"] },
|
|
4358
|
+
outputSchema: { "type": "object", "properties": { "model": { "type": "string", "description": "Versioned model id that answered, such as jev-1.13.0." }, "answers": { "type": "object", "properties": {}, "required": [], "description": "One answer per question, under the same ids." }, "usage": { "type": "object", "properties": { "input_tokens": { "type": "number" }, "output_tokens": { "type": "number" } }, "required": ["input_tokens", "output_tokens"], "description": "Token counts for the call. Input tokens are what the model bills." } }, "required": ["model", "answers", "usage"] }
|
|
4359
|
+
},
|
|
4353
4360
|
"extractAudioFromVideo": {
|
|
4354
4361
|
stepType: "extractAudioFromVideo",
|
|
4355
4362
|
description: "Extract audio MP3 from a video file",
|
|
@@ -4360,9 +4367,9 @@ var stepMetadata = {
|
|
|
4360
4367
|
"extractText": {
|
|
4361
4368
|
stepType: "extractText",
|
|
4362
4369
|
description: "Download a file from a URL and extract its text content. Supports PDFs (including scanned/image-based PDFs via OCR), plain text files, and other document formats.",
|
|
4363
|
-
usageNotes: "- Best suited for PDFs and raw text/document files. For web pages, use the scrapeUrl step instead.\n- Handles both text-layer PDFs and image-based/scanned PDFs (e.g. Figma/Canva exports, scanned documents). Image-based PDFs are processed with OCR automatically \u2014 there is no need to convert PDF pages to images first.\n- Accepts a single URL, a comma-separated list of URLs, or a JSON array of URLs.\n- Nothing is published. One of the app's own files \u2014 including a private one, or a share link \u2014 is read where it sits; any other URL is downloaded and staged privately for the extraction model, then discarded when extraction finishes.\n-
|
|
4364
|
-
inputSchema: { "type": "object", "properties": { "url": { "anyOf": [{ "type": "string" }, { "type": "array", "items": { "type": "string" } }] }, "model": { "type": "string", "description": "
|
|
4365
|
-
outputSchema: { "type": "object", "properties": { "text": { "anyOf": [{ "type": "string" }, { "type": "array", "items": { "type": "string" } }] } }, "required": ["text"] }
|
|
4370
|
+
usageNotes: "- Best suited for PDFs and raw text/document files. For web pages, use the scrapeUrl step instead.\n- Handles both text-layer PDFs and image-based/scanned PDFs (e.g. Figma/Canva exports, scanned documents). Image-based PDFs are processed with OCR automatically \u2014 there is no need to convert PDF pages to images first.\n- Plain text, code, HTML, spreadsheets and Office documents (docx, pptx, odt, rtf, epub) are read without a model and cost nothing. PDFs and images go to the extraction model, billed per page.\n- Accepts a single URL, a comma-separated list of URLs, or a JSON array of URLs.\n- Nothing is published. One of the app's own files \u2014 including a private one, or a share link \u2014 is read where it sits; any other URL is downloaded and staged privately for the extraction model, then discarded when extraction finishes.\n- `text` is each document's text: a string for one URL, an array for several. `documents` has each document page by page, with its page numbers and the pages billed. Set `includeBlocks` to add each page's typed blocks (title, text, table, image, header, footer\u2026) with their bounding boxes, and the page's size.\n- A file that can't be read (unreachable, an unsupported type, past the model's limits, or refused by the model) fails the step with the reason.\n- `extractionModelOverride.model` picks the model; omit it to use the workspace's default:\n - `mistral-ocr-4.1` (the default): PDFs and images up to 50 MB and 1,000 pages, with typed blocks.\n - `mistral-document-ai-2512`: Mistral Document AI on Microsoft Foundry, up to 30 MB and 30 pages, with typed blocks.\n - `llamaparse`: LlamaParse's agentic mode, up to 100 MB and 1,000 pages, markdown without blocks.\n - `google-document-ai`: Google Document AI OCR, up to 500 pages, where the deployment has set it up.\n- Maximum file size is 50MB per URL.",
|
|
4371
|
+
inputSchema: { "type": "object", "properties": { "url": { "anyOf": [{ "type": "string" }, { "type": "array", "items": { "type": "string" } }] }, "extractionModelOverride": { "type": "object", "properties": { "model": { "type": "string", "description": "Document extraction model identifier" }, "config": { "type": "object", "properties": {}, "required": [], "description": "Additional model-specific configuration" } }, "required": ["model"], "description": "Optional model override. Uses the workspace's default document extraction model if not specified" }, "model": { "type": "string", "description": "Optional extraction model id." }, "includeBlocks": { "type": "boolean", "description": "Add each page's typed blocks, with their bounding boxes, and the page's size to `documents`. Off by default, since they're several times the size of the text." } }, "required": ["url"] },
|
|
4372
|
+
outputSchema: { "type": "object", "properties": { "text": { "anyOf": [{ "type": "string" }, { "type": "array", "items": { "type": "string" } }] }, "documents": { "type": "array", "items": { "type": "object", "properties": { "url": { "type": "string", "description": "The URL the document was read from." }, "text": { "type": "string", "description": "The whole document's text." }, "pages": { "type": "array", "items": { "type": "object", "properties": { "pageNumber": { "type": "number", "description": "1-based." }, "markdown": { "type": "string", "description": "The page's text, as markdown." }, "blocks": { "type": "array", "items": { "type": "string" }, "description": "The page's typed regions (title, text, table, image, header, footer\u2026), each with its bounding box, when `includeBlocks` was set and the model returns them." }, "dimensions": { "type": "object", "properties": { "width": { "type": "number" }, "height": { "type": "number" }, "dpi": { "type": "number" } }, "required": ["width", "height"], "description": "The page's size in pixels, the space `blocks`' bounding boxes are in." } }, "required": ["pageNumber", "markdown"], "description": "One page of an extracted document." }, "description": "Its pages, in order. A format read without a model is one page." }, "pagesProcessed": { "type": "number", "description": "The pages the model read and billed, 0 for a format read without one." } }, "required": ["url", "text", "pages", "pagesProcessed"] }, "description": "Each URL's document, in the order given, page by page." } }, "required": ["text", "documents"] }
|
|
4366
4373
|
},
|
|
4367
4374
|
"fetchDataSourceDocument": {
|
|
4368
4375
|
stepType: "fetchDataSourceDocument",
|
|
@@ -5107,16 +5114,16 @@ var stepMetadata = {
|
|
|
5107
5114
|
"textToSpeech": {
|
|
5108
5115
|
stepType: "textToSpeech",
|
|
5109
5116
|
description: "Generate an audio file from provided text using a speech model.",
|
|
5110
|
-
usageNotes: "- The text field contains the exact words to be spoken (not instructions).\n- In foreground mode, the audio is displayed to the user. In background mode, the URL is saved to a variable.",
|
|
5117
|
+
usageNotes: "- The text field contains the exact words to be spoken (not instructions).\n- Voice, delivery and format are set through `speechModelOverride.config`, whose keys are the model's own (look a model up with its id). Delivery direction, where a model takes one, is never spoken: `styleInstruction` on gemini-3.8-flash-tts and gemini-3.8-flash-lite-tts, `instructions` on gpt-realtime-2.1-mini-tts, `voice_instruction` on seed-speech-tts-2.0, `emotion` on cartesia-sonic-3.6 and the MiniMax models.\n- Tags in the text act at that point, in each vendor's own syntax: `[laughs]` or `[whispers]` on elevenlabs-tts with Eleven v4 or v3; `<laugh>`, `<sigh>` or `<whispers>` on the Gemini 3.8 models; `[laugh]`, `[pause]` or `<whisper>\u2026</whisper>` on grok-voice-tts; `[laughter]` or `<emotion value=\"excited\"/>` on cartesia-sonic-3.6; `[be happy and upbeat]` on inworld-tts-2.\n- A dialogue between voices: set `$mode: 'dialogue'` and name each speaker (`speaker1_name`, `speaker1_voice`, `speaker2_name`, \u2026), then write the text as a script, one `Name: line` per turn. Supported by elevenlabs-tts (Eleven v4 or v3, up to 4 speakers) and the Gemini 3.8 models (exactly 2).\n- A text longer than a model takes in one request is spoken in pieces and joined, and then comes back as MP3 whatever format was asked for.\n- In foreground mode, the audio is displayed to the user. In background mode, the URL is saved to a variable.",
|
|
5111
5118
|
inputSchema: { "type": "object", "properties": { "text": { "type": "string", "description": "The text to convert to speech" }, "intermediateAsset": { "type": "boolean" }, "speechModelOverride": { "type": "object", "properties": { "model": { "type": "string", "description": "Speech synthesis model identifier" }, "config": { "type": "object", "properties": {}, "required": [], "description": "Additional model-specific configuration" } }, "required": ["model"], "description": "Optional model configuration override. Uses the workflow's default speech model if not specified" } }, "required": ["text"] },
|
|
5112
5119
|
outputSchema: { "type": "object", "properties": { "audioUrl": { "type": "string", "description": "URL of the generated audio file" } }, "required": ["audioUrl"] }
|
|
5113
5120
|
},
|
|
5114
5121
|
"transcribeAudio": {
|
|
5115
5122
|
stepType: "transcribeAudio",
|
|
5116
5123
|
description: "Convert an audio file to text using a transcription model.",
|
|
5117
|
-
usageNotes: "- The
|
|
5124
|
+
usageNotes: "- The default model is elevenlabs-scribe-v2: speakers, word timings, key terms and redaction, at any length.\n- The prompt field gives context (speaker names, domain) to OpenAI's and DeepInfra's models. Other models ignore it; give them `keyterms` instead.\n- Options go in `transcriptionModelOverride.config`, and support varies by model:\n - `language` \u2014 the spoken language as a code such as `en` or `es`; left out, the model detects it. Every model takes it. deepgram-nova-3 assumes `en` unless told, and also takes `multi` for speech that switches language (billed at its multilingual rate).\n - `detectLanguage: 'yes'` \u2014 detect the language instead of assuming English (deepgram-nova-3 only).\n - `includeSpeakers: 'yes'` \u2014 label each passage with a speaker. Supported by elevenlabs-scribe-v2, elevenlabs-scribe-v2-medical, deepgram-nova-3, grok-stt, voxtral-mini-transcribe-2 and gemini-3.5-transcribe; gpt-4o-transcribe-diarize always does. Scribe and Voxtral also switch `text` to a timestamped, speaker-labelled block format; Deepgram, Gemini and gpt-4o-transcribe-diarize to `Speaker N:` lines.\n - `numSpeakers` \u2014 the most people talking, to help tell them apart (Scribe).\n - `keyterms` \u2014 a list of names, products and terms the audio contains, so they're spelled right. Supported by gpt-transcribe, Scribe, deepgram-nova-3, grok-stt, voxtral-mini-transcribe-2 and gemini-3.5-transcribe. Billed as an add-on on Scribe and Deepgram.\n - `redactPii: 'yes'` \u2014 replace names, phone numbers, addresses and other personal information with a label of what was there (Scribe, deepgram-nova-3). Billed as an add-on.\n - `includeWordTimings: 'yes'` \u2014 add per-word timings and confidence inside each segment. Supported by Scribe, deepgram-nova-3, whisper-1, grok-stt, voxtral-mini-transcribe-2 and gemini-3.5-transcribe. Off by default because an hour of speech is roughly ten thousand words.\n - `subtitles: 'srt' | 'vtt'` \u2014 also return the transcript as a subtitle file, in the `subtitles` output, timed by the segments. Any model that returns segments.\n- gemini-3.5-transcribe can't take `keyterms` together with speakers, word timings or subtitles, and voxtral-mini-transcribe-2 can't take `language` together with word timings or subtitles; either asked for both is refused.\n- The `segments` output carries timings, confidence and speakers as structured data, so there is no need to slice the audio up to recover them. It is populated by Scribe, deepgram-nova-3, grok-stt, whisper-1, gpt-4o-transcribe-diarize, voxtral-mini-transcribe-2 (unless given a language), gemini-3.5-transcribe (with word timings or subtitles) and the DeepInfra-served whisper and qwen models, and absent for models that return nothing but text (gpt-transcribe, gpt-4o-transcribe, gpt-4o-mini-transcribe, the DeepInfra-served voxtral models).\n- A recording of any length can be transcribed. One longer than a model takes at once (OpenAI's and DeepInfra's models, Gemini) is transcribed in pieces and joined, its timings running from the start of the recording. Speakers can't be followed from one piece to the next, so with speakers on, such a recording is refused; Scribe and Deepgram label speakers at any length.\n- `confidence` is always 0..1 with higher meaning more confident, whichever model produced it.",
|
|
5118
5125
|
inputSchema: { "type": "object", "properties": { "audioUrl": { "type": "string", "description": "URL of the audio file to transcribe" }, "prompt": { "type": "string", "description": "Optional context to improve transcription accuracy (e.g. language, speaker names, domain terms)" }, "transcriptionModelOverride": { "type": "object", "properties": { "model": { "type": "string", "description": "Audio transcription model identifier" }, "config": { "type": "object", "properties": {}, "required": [], "description": "Additional model-specific configuration" } }, "required": ["model"], "description": "Optional model configuration override. Uses the workflow's default transcription model if not specified" } }, "required": ["audioUrl", "prompt"] },
|
|
5119
|
-
outputSchema: { "type": "object", "properties": { "text": { "type": "string", "description": "The transcribed text from the audio file" }, "segments": { "type": "array", "items": { "type": "object", "properties": { "start": { "type": "number", "description": "Seconds from the start of the audio." }, "end": { "type": "number" }, "text": { "type": "string", "description": "The passage, spacing normalized." }, "confidence": { "type": "number", "description": "How sure the model was, always `0..1` with higher meaning more confident \u2014 whatever the provider reported.\n\nNormalizing this is the whole point of the type. Providers disagree on both the scale and the direction: Deepgram reports a probability in `0..1`, ElevenLabs and Whisper report a log probability in `(-inf, 0]`. Handing those through untouched would make `confidence < 0.5` mean opposite things depending on which model the caller happened to pick. Log probabilities are converted with `Math.exp`; probabilities pass through." }, "speaker": { "type": "string", "description": "Present only when diarization was asked for and the provider supports it." }, "language": { "type": "string", "description": "Present only for providers that report language per passage rather than per request. Most report it once for the whole audio \u2014 see `TranscriptionResponse.language`." }, "words": { "type": "array", "items": { "type": "object", "properties": { "text": { "type": "string" }, "start": { "type": "number", "description": "Seconds from the start of the audio." }, "end": { "type": "number" }, "confidence": { "type": "number", "description": "See the confidence convention on `TranscriptSegment`." }, "speaker": { "type": "string", "description": "Provider-assigned speaker id, present only when diarization was asked for." } }, "required": ["text"], "description": "One recognized token.\n\n`text` rather than `word` because an entry is not always a word \u2014 providers emit punctuation, spacing and non-speech audio events (laughter, footsteps) through the same channel." }, "description": "Word-level detail, when the caller asked for it (`includeWordTimings`). Off by default: an hour of speech is roughly ten thousand words, an order of magnitude more payload than the segments that contain them." } }, "required": ["start", "end", "text"], "description": "A contiguous passage of one speaker's speech, bounded in time.\n\nThe unit a review UI works in: short enough to seek to and highlight, coarse enough that an hour of audio is a few hundred entries rather than ten thousand." }, "description": "Timed passages with per-segment confidence, speaker attribution and optional word-level detail \u2014 see the step's usage notes for which models populate it. Absent for models that return nothing but text." }, "language": { "type": "string", "description": "Detected or declared language of the audio, when the model reports it." }, "durationSeconds": { "type": "number", "description": "Length of the transcribed audio, when the model reports it." } }, "required": ["text"] }
|
|
5126
|
+
outputSchema: { "type": "object", "properties": { "text": { "type": "string", "description": "The transcribed text from the audio file" }, "segments": { "type": "array", "items": { "type": "object", "properties": { "start": { "type": "number", "description": "Seconds from the start of the audio." }, "end": { "type": "number" }, "text": { "type": "string", "description": "The passage, spacing normalized." }, "confidence": { "type": "number", "description": "How sure the model was, always `0..1` with higher meaning more confident \u2014 whatever the provider reported.\n\nNormalizing this is the whole point of the type. Providers disagree on both the scale and the direction: Deepgram reports a probability in `0..1`, ElevenLabs and Whisper report a log probability in `(-inf, 0]`. Handing those through untouched would make `confidence < 0.5` mean opposite things depending on which model the caller happened to pick. Log probabilities are converted with `Math.exp`; probabilities pass through." }, "speaker": { "type": "string", "description": "Present only when diarization was asked for and the provider supports it." }, "language": { "type": "string", "description": "Present only for providers that report language per passage rather than per request. Most report it once for the whole audio \u2014 see `TranscriptionResponse.language`." }, "words": { "type": "array", "items": { "type": "object", "properties": { "text": { "type": "string" }, "start": { "type": "number", "description": "Seconds from the start of the audio." }, "end": { "type": "number" }, "confidence": { "type": "number", "description": "See the confidence convention on `TranscriptSegment`." }, "speaker": { "type": "string", "description": "Provider-assigned speaker id, present only when diarization was asked for." } }, "required": ["text"], "description": "One recognized token.\n\n`text` rather than `word` because an entry is not always a word \u2014 providers emit punctuation, spacing and non-speech audio events (laughter, footsteps) through the same channel." }, "description": "Word-level detail, when the caller asked for it (`includeWordTimings`). Off by default: an hour of speech is roughly ten thousand words, an order of magnitude more payload than the segments that contain them." } }, "required": ["start", "end", "text"], "description": "A contiguous passage of one speaker's speech, bounded in time.\n\nThe unit a review UI works in: short enough to seek to and highlight, coarse enough that an hour of audio is a few hundred entries rather than ten thousand." }, "description": "Timed passages with per-segment confidence, speaker attribution and optional word-level detail \u2014 see the step's usage notes for which models populate it. Absent for models that return nothing but text." }, "language": { "type": "string", "description": "Detected or declared language of the audio, when the model reports it." }, "durationSeconds": { "type": "number", "description": "Length of the transcribed audio, when the model reports it." }, "subtitles": { "type": "string", "description": "The transcript as an SRT or WebVTT file, when `subtitles` was asked for in the model's config and the model returned segments to time it by." } }, "required": ["text"] }
|
|
5120
5127
|
},
|
|
5121
5128
|
"trimMedia": {
|
|
5122
5129
|
stepType: "trimMedia",
|
|
@@ -5127,9 +5134,9 @@ var stepMetadata = {
|
|
|
5127
5134
|
},
|
|
5128
5135
|
"typesafeEvaluate": {
|
|
5129
5136
|
stepType: "typesafeEvaluate",
|
|
5130
|
-
description: "
|
|
5131
|
-
usageNotes: "-
|
|
5132
|
-
inputSchema: { "type": "object", "properties": { "state": { "anyOf": [{ "type": "string" }, { "type": "object", "properties": {}, "required": [] }, { "type": "array", "items": {} }] }, "questions": { "type": "object", "properties": {}, "required": [], "description": "Questions to ask about the state, keyed by an id you choose." }, "model": { "type": "string", "description": "Model id or alias. Defaults to jev-latest.
|
|
5137
|
+
description: "Use evaluateDecision: the same questions, answers and models, with decisionModelOverride in place of model. evaluateDecision's earlier name, which still runs: ask structured questions about text, JSON, or images and get calibrated answers from a decision model.",
|
|
5138
|
+
usageNotes: "- Runs exactly as evaluateDecision does, with the same questions, answers, models and limits (see its notes), and model in place of decisionModelOverride.model.",
|
|
5139
|
+
inputSchema: { "type": "object", "properties": { "state": { "anyOf": [{ "type": "string" }, { "type": "object", "properties": {}, "required": [] }, { "type": "array", "items": {} }] }, "questions": { "type": "object", "properties": {}, "required": [], "description": "Questions to ask about the state, keyed by an id you choose." }, "model": { "type": "string", "description": "Model id or alias. Defaults to the workspace's default decision model (jev-latest). Every model evaluateDecision takes: jev-preview, a pinned version such as jev-1.13.0, clef and clef-flash, gpt-6-luna-decisions." }, "images": { "type": "array", "items": { "type": "string" }, "description": "Images for a model that reads them (Clef, Clef Flash, GPT-6 Luna Decisions). Each entry is a URL or a data URL. A model that reads none refuses the call." } }, "required": ["state", "questions"] },
|
|
5133
5140
|
outputSchema: { "type": "object", "properties": { "model": { "type": "string", "description": "Versioned model id that answered, such as jev-1.13.0." }, "answers": { "type": "object", "properties": {}, "required": [], "description": "One answer per question, under the same ids." }, "usage": { "type": "object", "properties": { "input_tokens": { "type": "number" }, "output_tokens": { "type": "number" } }, "required": ["input_tokens", "output_tokens"], "description": "Token counts for the call. Input tokens are what the model bills." } }, "required": ["model", "answers", "usage"] }
|
|
5134
5141
|
},
|
|
5135
5142
|
"updateGmailLabels": {
|
|
@@ -6133,6 +6140,9 @@ function applyStepMethods(AgentClass) {
|
|
|
6133
6140
|
proto.enrichPerson = function(step, options) {
|
|
6134
6141
|
return this.executeStep("enrichPerson", step, options);
|
|
6135
6142
|
};
|
|
6143
|
+
proto.evaluateDecision = function(step, options) {
|
|
6144
|
+
return this.executeStep("evaluateDecision", step, options);
|
|
6145
|
+
};
|
|
6136
6146
|
proto.extractAudioFromVideo = function(step, options) {
|
|
6137
6147
|
return this.executeStep("extractAudioFromVideo", step, options);
|
|
6138
6148
|
};
|
|
@@ -8987,8 +8997,9 @@ var monacoSnippets = {
|
|
|
8987
8997
|
"enhanceImageGenerationPrompt": { fields: [["initialPrompt", "string"], ["includeNegativePrompt", "boolean"], ["systemPrompt", "string"]], outputKeys: ["prompt"] },
|
|
8988
8998
|
"enhanceVideoGenerationPrompt": { fields: [["initialPrompt", "string"], ["includeNegativePrompt", "boolean"], ["systemPrompt", "string"]], outputKeys: ["prompt"] },
|
|
8989
8999
|
"enrichPerson": { fields: [["params", "object"]], outputKeys: ["data"] },
|
|
9000
|
+
"evaluateDecision": { fields: [["state", "string"], ["questions", "object"]], outputKeys: ["model", "answers", "usage"] },
|
|
8990
9001
|
"extractAudioFromVideo": { fields: [["videoUrl", "string"]], outputKeys: ["audioUrl"] },
|
|
8991
|
-
"extractText": { fields: [["url", "string"]], outputKeys: ["text"] },
|
|
9002
|
+
"extractText": { fields: [["url", "string"]], outputKeys: ["text", "documents"] },
|
|
8992
9003
|
"fetchDataSourceDocument": { fields: [["dataSourceId", "string"], ["documentId", "string"]], outputKeys: ["documentId", "name", "content", "summary", "numWords"] },
|
|
8993
9004
|
"fetchGoogleDoc": { fields: [["documentId", "string"], ["exportType", ["html", "markdown", "json", "plain"]]], outputKeys: ["content"] },
|
|
8994
9005
|
"fetchGoogleSheet": { fields: [["spreadsheetId", "string"], ["range", "string"], ["exportType", ["csv", "json"]]], outputKeys: ["content"] },
|