@mindstudio-ai/agent 0.1.122 → 0.1.123

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -8109,6 +8109,39 @@ interface TranscribeAudioStepInput {
8109
8109
  interface TranscribeAudioStepOutput {
8110
8110
  /** The transcribed text from the audio file */
8111
8111
  text: string;
8112
+ /** Timed passages with per-segment confidence, speaker attribution and optional word-level detail — see the step's usage notes for which models populate it. Absent for models that return nothing but text. */
8113
+ segments?: {
8114
+ /** Seconds from the start of the audio. */
8115
+ start: number;
8116
+ end: number;
8117
+ /** The passage, spacing normalized. */
8118
+ text: string;
8119
+ /**
8120
+ * How sure the model was, always `0..1` with higher meaning more confident — whatever the provider reported.
8121
+ *
8122
+ * Normalizing 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.
8123
+ */
8124
+ confidence?: number;
8125
+ /** Present only when diarization was asked for and the provider supports it. */
8126
+ speaker?: string;
8127
+ /** Present only for providers that report language per passage rather than per request. Most report it once for the whole audio — see `TranscriptionResponse.language`. */
8128
+ language?: string;
8129
+ /** 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. */
8130
+ words?: {
8131
+ text: string;
8132
+ /** Seconds from the start of the audio. */
8133
+ start?: number;
8134
+ end?: number;
8135
+ /** See the confidence convention on `TranscriptSegment`. */
8136
+ confidence?: number;
8137
+ /** Provider-assigned speaker id, present only when diarization was asked for. */
8138
+ speaker?: string;
8139
+ }[];
8140
+ }[];
8141
+ /** Detected or declared language of the audio, when the model reports it. */
8142
+ language?: string;
8143
+ /** Length of the transcribed audio, when the model reports it. */
8144
+ durationSeconds?: number;
8112
8145
  }
8113
8146
  interface TrimMediaStepInput {
8114
8147
  /** URL of the source audio or video file to trim */
@@ -11304,6 +11337,12 @@ interface StepMethods {
11304
11337
  *
11305
11338
  * @remarks
11306
11339
  * - The prompt field provides optional context to improve transcription accuracy (e.g. language, speaker names, domain).
11340
+ * - Detail beyond the plain transcript is requested through `transcriptionModelOverride.config`, and support varies by model:
11341
+ * - `includeSpeakers: 'yes'` — label each passage with a speaker. Supported by elevenlabs-scribe-v1, elevenlabs-scribe-v2, deepgram-nova-3 and grok-stt. Also switches `text` to a timestamped, speaker-labelled block format.
11342
+ * - `includeWordTimings: 'yes'` — add per-word timings and confidence inside each segment. Supported by elevenlabs-scribe-v1, elevenlabs-scribe-v2, deepgram-nova-3 and whisper-1. Off by default because an hour of speech is roughly ten thousand words.
11343
+ * - `detectLanguage: 'yes'` — detect the spoken language instead of assuming English (deepgram-nova-3 only; Scribe and the whisper models always report it).
11344
+ * - 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 for elevenlabs-scribe-v1/v2, deepgram-nova-3, whisper-1 and the DeepInfra-served whisper/voxtral/qwen models, and absent for models that return nothing but text (gpt-transcribe, gpt-4o-transcribe, grok-stt).
11345
+ * - `confidence` is always 0..1 with higher meaning more confident, whichever model produced it.
11307
11346
  *
11308
11347
  * @example
11309
11348
  * ```typescript
@@ -11821,6 +11860,11 @@ declare function runWithContext<T>(ctx: RequestContext, fn: () => T | Promise<T>
11821
11860
  * is spend per object. The mapper's `map` runs under a per-object timeout
11822
11861
  * (declared in `mindstudio.json`, default 30 s); the executor never throws.
11823
11862
  *
11863
+ * On a job, mapping is its own stage: the mapper turns each object into
11864
+ * documents, and the platform ingests those documents in parallel batches of
11865
+ * fifty across its workers, whatever one object became. An object's size does
11866
+ * not set the pace; the number of objects sets how wide the mapping runs.
11867
+ *
11824
11868
  * Declared in `mindstudio.json`:
11825
11869
  * ```json
11826
11870
  * "dataSources": [{ "slug": "archive", "mapper": { "path": "dist/datasources/archive.mapper.ts" } }]
package/dist/index.js CHANGED
@@ -4421,9 +4421,9 @@ var stepMetadata = {
4421
4421
  "transcribeAudio": {
4422
4422
  stepType: "transcribeAudio",
4423
4423
  description: "Convert an audio file to text using a transcription model.",
4424
- usageNotes: "- The prompt field provides optional context to improve transcription accuracy (e.g. language, speaker names, domain).",
4424
+ usageNotes: "- The prompt field provides optional context to improve transcription accuracy (e.g. language, speaker names, domain).\n- Detail beyond the plain transcript is requested through `transcriptionModelOverride.config`, and support varies by model:\n - `includeSpeakers: 'yes'` \u2014 label each passage with a speaker. Supported by elevenlabs-scribe-v1, elevenlabs-scribe-v2, deepgram-nova-3 and grok-stt. Also switches `text` to a timestamped, speaker-labelled block format.\n - `includeWordTimings: 'yes'` \u2014 add per-word timings and confidence inside each segment. Supported by elevenlabs-scribe-v1, elevenlabs-scribe-v2, deepgram-nova-3 and whisper-1. Off by default because an hour of speech is roughly ten thousand words.\n - `detectLanguage: 'yes'` \u2014 detect the spoken language instead of assuming English (deepgram-nova-3 only; Scribe and the whisper models always report it).\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 for elevenlabs-scribe-v1/v2, deepgram-nova-3, whisper-1 and the DeepInfra-served whisper/voxtral/qwen models, and absent for models that return nothing but text (gpt-transcribe, gpt-4o-transcribe, grok-stt).\n- `confidence` is always 0..1 with higher meaning more confident, whichever model produced it.",
4425
4425
  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"] },
4426
- outputSchema: { "type": "object", "properties": { "text": { "type": "string", "description": "The transcribed text from the audio file" } }, "required": ["text"] }
4426
+ 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"] }
4427
4427
  },
4428
4428
  "trimMedia": {
4429
4429
  stepType: "trimMedia",