@vellumai/plugin-api 0.11.2-dev.202608071221.2563112 → 0.11.2-dev.202608071330.b91b7a0

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.
Files changed (2) hide show
  1. package/index.d.ts +105 -3
  2. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -147,6 +147,7 @@ declare const AssistantConfigSchema: z.ZodObject<{
147
147
  provider: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodEnum<{
148
148
  vellum: "vellum";
149
149
  deepgram: "deepgram";
150
+ "deepgram-flux": "deepgram-flux";
150
151
  "google-gemini": "google-gemini";
151
152
  "openai-whisper": "openai-whisper";
152
153
  xai: "xai";
@@ -1092,6 +1093,15 @@ declare const AssistantConfigSchema: z.ZodObject<{
1092
1093
  generationTimeoutMs: z.ZodDefault<z.ZodNumber>;
1093
1094
  }, z.core.$strip>>;
1094
1095
  }, z.core.$strip>>;
1096
+ flux: z.ZodDefault<z.ZodObject<{
1097
+ turnEnd: z.ZodDefault<z.ZodObject<{
1098
+ enabled: z.ZodDefault<z.ZodBoolean>;
1099
+ }, z.core.$strip>>;
1100
+ model: z.ZodDefault<z.ZodString>;
1101
+ eotThreshold: z.ZodDefault<z.ZodNumber>;
1102
+ eagerEotThreshold: z.ZodOptional<z.ZodNumber>;
1103
+ eotTimeoutMs: z.ZodDefault<z.ZodNumber>;
1104
+ }, z.core.$strip>>;
1095
1105
  maxSessionDurationSeconds: z.ZodDefault<z.ZodNumber>;
1096
1106
  archiveAudio: z.ZodDefault<z.ZodBoolean>;
1097
1107
  }, z.core.$strip>>;
@@ -4813,14 +4823,34 @@ declare interface LiveVoiceMetricsServerFrame extends LiveVoiceServerFrameBase {
4813
4823
  /** End-of-speech (utterance_end, or ptt_release in manual mode) to first TTS audio. */
4814
4824
  readonly roundTripMs: number | null;
4815
4825
  readonly totalMs: number | null;
4826
+ /**
4827
+ * End-of-turn latency: the local VAD speech-stop mark to the moment the
4828
+ * turn committed. Recorded on every committed turn, and measured from the
4829
+ * same anchor whichever decider owned the boundary, so front-door and Flux
4830
+ * turns are one comparable population. Absent on a turn that never
4831
+ * committed and in push-to-talk mode, where there is no local VAD
4832
+ * speech-stop mark.
4833
+ */
4834
+ readonly endpointCommitLatencyMs?: number;
4816
4835
  /**
4817
4836
  * Semantic-endpointing "hold" decisions taken during the turn. Present only
4818
4837
  * when the endpoint decider was consulted (otherwise the field is absent,
4819
4838
  * keeping frames unchanged).
4820
4839
  */
4821
4840
  readonly endpointHoldCount?: number;
4822
- /** Worst endpoint-decision latency observed during the turn. */
4841
+ /**
4842
+ * Worst endpoint-decision latency observed during the turn. It spans only
4843
+ * the decider's own work, and the two deciders start it at different
4844
+ * moments, so it is a diagnostic rather than a cross-path comparison: read
4845
+ * `endpointCommitLatencyMs` for that.
4846
+ */
4823
4847
  readonly endpointDecisionMaxLatencyMs?: number;
4848
+ /**
4849
+ * Which path decided the turn's endpoint: the front-door hold verdict or
4850
+ * the STT provider's model-integrated end-of-turn. Present under the same
4851
+ * condition as the two fields above.
4852
+ */
4853
+ readonly endpointDecisionSource?: "front-door" | "flux";
4824
4854
  /** Which floor-holding ack actually spoke during the turn, if any. */
4825
4855
  readonly ackSpoken?: "first_delta" | "tool_use";
4826
4856
  /**
@@ -6490,13 +6520,32 @@ export declare type SttErrorCategory =
6490
6520
  * Canonical provider identifiers for daemon-hosted STT backends.
6491
6521
  * Extend this union as new providers are integrated.
6492
6522
  */
6493
- export declare type SttProviderId = "openai-whisper" | "deepgram" | "google-gemini" | "xai" | "vellum";
6523
+ export declare type SttProviderId = "openai-whisper" | "deepgram"
6524
+ /**
6525
+ * Deepgram's Flux conversational speech model. Shares the `deepgram`
6526
+ * credential and is streaming-only: Flux has no batch endpoint.
6527
+ */
6528
+ | "deepgram-flux" | "google-gemini" | "xai" | "vellum";
6494
6529
 
6495
6530
  /** The streaming session has closed (no more events will be emitted). */
6496
6531
  export declare interface SttStreamServerClosedEvent {
6497
6532
  readonly type: "closed";
6498
6533
  }
6499
6534
 
6535
+ /**
6536
+ * The provider's turn model speculates the user has finished, ahead of its
6537
+ * committed end-of-turn decision. A {@link SttStreamServerTurnResumedEvent}
6538
+ * retracts the speculation; a {@link SttStreamServerTurnEndEvent} confirms it.
6539
+ *
6540
+ * Emitted only by providers with model-integrated turn detection; providers
6541
+ * without it never emit these.
6542
+ */
6543
+ export declare interface SttStreamServerEagerTurnEndEvent {
6544
+ readonly type: "eager-turn-end";
6545
+ /** Transcript text as of the speculated turn end. */
6546
+ readonly text: string;
6547
+ }
6548
+
6500
6549
  /** An error occurred during streaming transcription. */
6501
6550
  export declare interface SttStreamServerErrorEvent {
6502
6551
  readonly type: "error";
@@ -6513,7 +6562,7 @@ export declare interface SttStreamServerErrorEvent {
6513
6562
  * and final transcripts, errors, and session lifecycle signals in a
6514
6563
  * type-safe manner.
6515
6564
  */
6516
- export declare type SttStreamServerEvent = SttStreamServerPartialEvent | SttStreamServerFinalEvent | SttStreamServerFinalizedEvent | SttStreamServerErrorEvent | SttStreamServerClosedEvent;
6565
+ export declare type SttStreamServerEvent = SttStreamServerPartialEvent | SttStreamServerFinalEvent | SttStreamServerFinalizedEvent | SttStreamServerTurnStartEvent | SttStreamServerEagerTurnEndEvent | SttStreamServerTurnResumedEvent | SttStreamServerTurnEndEvent | SttStreamServerErrorEvent | SttStreamServerClosedEvent;
6517
6566
 
6518
6567
  /**
6519
6568
  * A final (committed) transcript — this segment will not be revised.
@@ -6563,6 +6612,59 @@ export declare interface SttStreamServerPartialEvent {
6563
6612
  readonly confidence?: number;
6564
6613
  }
6565
6614
 
6615
+ /**
6616
+ * The provider's turn model committed an end of turn: the user has finished
6617
+ * speaking and a reply can be dispatched.
6618
+ *
6619
+ * Emitted only by providers with model-integrated turn detection; providers
6620
+ * without it never emit these.
6621
+ */
6622
+ export declare interface SttStreamServerTurnEndEvent {
6623
+ readonly type: "turn-end";
6624
+ /** Committed transcript text for the completed turn. */
6625
+ readonly text: string;
6626
+ /**
6627
+ * Provider-emitted end-of-turn confidence in [0, 1]. Undefined when the
6628
+ * provider does not surface a score.
6629
+ */
6630
+ readonly confidence?: number;
6631
+ /**
6632
+ * Provider's index for the turn being closed, matching the
6633
+ * {@link SttStreamServerTurnStartEvent} that opened it. A consumer can
6634
+ * compare it against the newest turn it has seen opened to tell an
6635
+ * end-of-turn for the turn still in progress from one the provider has
6636
+ * already superseded. Undefined when the provider does not number its
6637
+ * turns.
6638
+ */
6639
+ readonly turnIndex?: number;
6640
+ }
6641
+
6642
+ /**
6643
+ * The user kept speaking after an {@link SttStreamServerEagerTurnEndEvent},
6644
+ * retracting the speculated turn end.
6645
+ *
6646
+ * Emitted only by providers with model-integrated turn detection; providers
6647
+ * without it never emit these.
6648
+ */
6649
+ export declare interface SttStreamServerTurnResumedEvent {
6650
+ readonly type: "turn-resumed";
6651
+ }
6652
+
6653
+ /**
6654
+ * The provider's turn model detected the start of a user turn.
6655
+ *
6656
+ * Emitted only by providers with model-integrated turn detection; providers
6657
+ * without it never emit these.
6658
+ */
6659
+ export declare interface SttStreamServerTurnStartEvent {
6660
+ readonly type: "turn-start";
6661
+ /**
6662
+ * Provider's index for the turn being opened, monotonically increasing
6663
+ * within a stream. Undefined when the provider does not number its turns.
6664
+ */
6665
+ readonly turnIndex?: number;
6666
+ }
6667
+
6566
6668
  declare type SubscriberEntry = ClientEntry | ProcessEntry;
6567
6669
 
6568
6670
  /** Input shape for `subscribe()` — hub fills `active`, `connectedAt`, `lastActiveAt`, `connectionId` and defaults `filter`/`onEvict`. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vellumai/plugin-api",
3
- "version": "0.11.2-dev.202608071221.2563112",
3
+ "version": "0.11.2-dev.202608071330.b91b7a0",
4
4
  "description": "Public TypeScript authoring contract for Vellum assistant plugins.",
5
5
  "license": "MIT",
6
6
  "type": "module",