@vellumai/plugin-api 0.10.8-dev.202607152039.bc8b1a6 → 0.10.8-staging.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/index.d.ts +202 -212
  2. package/index.js +0 -3
  3. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -245,15 +245,15 @@ declare const AssistantActivityStateEventSchema: z.ZodObject<{
245
245
  reason: z.ZodEnum<{
246
246
  thinking_delta: "thinking_delta";
247
247
  generation_cancelled: "generation_cancelled";
248
- tool_use_start: "tool_use_start";
249
- message_complete: "message_complete";
250
248
  message_dequeued: "message_dequeued";
251
249
  first_text_delta: "first_text_delta";
250
+ tool_use_start: "tool_use_start";
252
251
  preview_start: "preview_start";
253
252
  tool_result_received: "tool_result_received";
254
253
  confirmation_requested: "confirmation_requested";
255
254
  confirmation_resolved: "confirmation_resolved";
256
255
  context_compacting: "context_compacting";
256
+ message_complete: "message_complete";
257
257
  error_terminal: "error_terminal";
258
258
  }>;
259
259
  requestId: z.ZodOptional<z.ZodString>;
@@ -304,12 +304,8 @@ declare const AssistantConfigSchema: z.ZodObject<{
304
304
  }>>;
305
305
  }, z.core.$strip>>;
306
306
  stt: z.ZodDefault<z.ZodObject<{
307
- mode: z.ZodDefault<z.ZodEnum<{
308
- managed: "managed";
309
- "your-own": "your-own";
310
- }>>;
307
+ mode: z.ZodDefault<z.ZodLiteral<"your-own">>;
311
308
  provider: z.ZodEnum<{
312
- vellum: "vellum";
313
309
  deepgram: "deepgram";
314
310
  "google-gemini": "google-gemini";
315
311
  "openai-whisper": "openai-whisper";
@@ -318,12 +314,8 @@ declare const AssistantConfigSchema: z.ZodObject<{
318
314
  providers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
319
315
  }, z.core.$strip>>;
320
316
  tts: z.ZodDefault<z.ZodObject<{
321
- mode: z.ZodDefault<z.ZodEnum<{
322
- managed: "managed";
323
- "your-own": "your-own";
324
- }>>;
317
+ mode: z.ZodDefault<z.ZodLiteral<"your-own">>;
325
318
  provider: z.ZodDefault<z.ZodEnum<{
326
- vellum: "vellum";
327
319
  deepgram: "deepgram";
328
320
  xai: "xai";
329
321
  elevenlabs: "elevenlabs";
@@ -370,7 +362,6 @@ declare const AssistantConfigSchema: z.ZodObject<{
370
362
  sampleRate: z.ZodDefault<z.ZodNumber>;
371
363
  bitRate: z.ZodDefault<z.ZodNumber>;
372
364
  }, z.core.$strip>>;
373
- vellum: z.ZodDefault<z.ZodObject<{}, z.core.$strip>>;
374
365
  }, z.core.$strip>>;
375
366
  }, z.core.$strip>>;
376
367
  "google-oauth": z.ZodDefault<z.ZodObject<{
@@ -535,6 +526,9 @@ declare const AssistantConfigSchema: z.ZodObject<{
535
526
  fastConcurrency?: number | undefined;
536
527
  embedConcurrency?: number | undefined;
537
528
  }>>>;
529
+ worker: z.ZodDefault<z.ZodObject<{
530
+ enabled: z.ZodDefault<z.ZodBoolean>;
531
+ }, z.core.$strip>>;
538
532
  retention: z.ZodDefault<z.ZodObject<{
539
533
  keepRawForever: z.ZodDefault<z.ZodBoolean>;
540
534
  }, z.core.$strip>>;
@@ -667,7 +661,6 @@ declare const AssistantConfigSchema: z.ZodObject<{
667
661
  minCooldownMs: z.ZodDefault<z.ZodNumber>;
668
662
  keepSupersededRuns: z.ZodDefault<z.ZodBoolean>;
669
663
  matchConversationProfile: z.ZodDefault<z.ZodBoolean>;
670
- promptPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
671
664
  }, z.core.$strip>>;
672
665
  }, z.core.$strip>>;
673
666
  monitoring: z.ZodDefault<z.ZodObject<{
@@ -678,6 +671,11 @@ declare const AssistantConfigSchema: z.ZodObject<{
678
671
  pluginSourceScanIntervalMs: z.ZodDefault<z.ZodNumber>;
679
672
  baselineSnapshotIntervalMs: z.ZodDefault<z.ZodNumber>;
680
673
  }, z.core.$strip>>;
674
+ schedules: z.ZodDefault<z.ZodObject<{
675
+ worker: z.ZodDefault<z.ZodObject<{
676
+ enabled: z.ZodDefault<z.ZodBoolean>;
677
+ }, z.core.$strip>>;
678
+ }, z.core.$strip>>;
681
679
  migrations: z.ZodDefault<z.ZodObject<{
682
680
  worker: z.ZodDefault<z.ZodObject<{
683
681
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -1133,10 +1131,10 @@ declare const AssistantConfigSchema: z.ZodObject<{
1133
1131
  }, z.core.$strip>>;
1134
1132
  install: z.ZodDefault<z.ZodObject<{
1135
1133
  nodeManager: z.ZodDefault<z.ZodEnum<{
1134
+ bun: "bun";
1136
1135
  npm: "npm";
1137
1136
  pnpm: "pnpm";
1138
1137
  yarn: "yarn";
1139
- bun: "bun";
1140
1138
  }>>;
1141
1139
  }, z.core.$strip>>;
1142
1140
  allowBundled: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString>>>;
@@ -1164,7 +1162,6 @@ declare const AssistantConfigSchema: z.ZodObject<{
1164
1162
  turnCommitMaxWaitMs: z.ZodDefault<z.ZodNumber>;
1165
1163
  failureBackoffBaseMs: z.ZodDefault<z.ZodNumber>;
1166
1164
  failureBackoffMaxMs: z.ZodDefault<z.ZodNumber>;
1167
- maxFileSizeBytes: z.ZodDefault<z.ZodNumber>;
1168
1165
  interactiveGitTimeoutMs: z.ZodDefault<z.ZodNumber>;
1169
1166
  enrichmentQueueSize: z.ZodDefault<z.ZodNumber>;
1170
1167
  enrichmentConcurrency: z.ZodDefault<z.ZodNumber>;
@@ -1255,7 +1252,6 @@ declare const AssistantConfigSchema: z.ZodObject<{
1255
1252
  bargeInMinSpeechMs: z.ZodDefault<z.ZodNumber>;
1256
1253
  }, z.core.$strip>>;
1257
1254
  maxSessionDurationSeconds: z.ZodDefault<z.ZodNumber>;
1258
- archiveAudio: z.ZodDefault<z.ZodBoolean>;
1259
1255
  }, z.core.$strip>>;
1260
1256
  whatsapp: z.ZodDefault<z.ZodObject<{
1261
1257
  phoneNumber: z.ZodDefault<z.ZodString>;
@@ -1522,6 +1518,30 @@ export declare interface AssistantEventSubscription {
1522
1518
  readonly connectionId: string;
1523
1519
  }
1524
1520
 
1521
+ declare interface AssistantInboxEscalationResponse {
1522
+ type: "assistant_inbox_escalation_response";
1523
+ success: boolean;
1524
+ error?: string;
1525
+ /** List of escalations (returned on list). */
1526
+ escalations?: Array<{
1527
+ id: string;
1528
+ runId: string;
1529
+ conversationId: string;
1530
+ channel: string;
1531
+ requesterExternalUserId: string;
1532
+ requesterChatId: string;
1533
+ status: string;
1534
+ requestSummary?: string;
1535
+ createdAt: number;
1536
+ }>;
1537
+ /** Decision result (returned on decide). */
1538
+ decision?: {
1539
+ id: string;
1540
+ status: string;
1541
+ decidedAt: number;
1542
+ };
1543
+ }
1544
+
1525
1545
  /**
1526
1546
  * Managed skill authored by the assistant's retrospective. Identical shape to a
1527
1547
  * custom skill — it stays managed/deletable — but carries a distinct origin so
@@ -1891,12 +1911,6 @@ declare interface ClawhubSlimSkill extends SlimSkillBase {
1891
1911
 
1892
1912
  export declare const CLI_COMMAND_HELP: readonly CliCommandHelp[];
1893
1913
 
1894
- declare interface CliArgumentHelp {
1895
- /** Commander argument spec, e.g. `"<channel>"` or `"[value]"`. */
1896
- name: string;
1897
- description: string;
1898
- }
1899
-
1900
1914
  /**
1901
1915
  * Fully declarative description of a top-level `assistant` CLI command and its
1902
1916
  * subcommands. Plain data by design — no action handlers — so plugins (e.g. the
@@ -1906,21 +1920,7 @@ declare interface CliArgumentHelp {
1906
1920
  */
1907
1921
  declare interface CliCommandHelp {
1908
1922
  name: string;
1909
- /**
1910
- * Positional-argument spec appended to the name at registration, e.g.
1911
- * `"<command>"`. Use {@link commandSpec} to build the Commander registration
1912
- * string; `name` stays the bare command name so consumers (dedup, slugs,
1913
- * rendering) never parse argument syntax out of it.
1914
- */
1915
- args?: string;
1916
1923
  description: string;
1917
- /**
1918
- * Positional arguments that carry their own description, applied via
1919
- * Commander's `argument(name, description)` (rendered in the generated
1920
- * `Arguments:` help section). Use `args` instead when the positional needs
1921
- * no description.
1922
- */
1923
- arguments?: CliArgumentHelp[];
1924
1924
  /** Options declared directly on the top-level command. */
1925
1925
  options?: CliOptionHelp[];
1926
1926
  /** Extra help appended after the option list (`addHelpText("after", …)`). */
@@ -1962,30 +1962,15 @@ declare interface CliOptionHelp {
1962
1962
  /** When true, applied via `requiredOption` (missing → error) rather than `option`. */
1963
1963
  required?: boolean;
1964
1964
  /** Default value passed to `option(flags, description, defaultValue)`. */
1965
- defaultValue?: string | number | boolean;
1966
- /** Allowed values, applied via Commander's `Option.choices()` (invalid → error). */
1967
- choices?: readonly string[];
1965
+ defaultValue?: string;
1968
1966
  }
1969
1967
 
1970
1968
  declare interface CliSubcommandHelp {
1971
1969
  name: string;
1972
- /** Positional-argument spec, e.g. `"<path>"` — see {@link CliCommandHelp.args}. */
1973
- args?: string;
1974
1970
  description: string;
1975
- /**
1976
- * Positional arguments that carry their own description, applied via
1977
- * Commander's `argument(name, description)` (rendered in the generated
1978
- * `Arguments:` help section). Use `args` instead when the positional needs
1979
- * no description.
1980
- */
1981
- arguments?: CliArgumentHelp[];
1982
1971
  options?: CliOptionHelp[];
1983
1972
  /** Extra help appended after the option list (`addHelpText("after", …)`). */
1984
1973
  helpText?: string;
1985
- /** When true, this subcommand runs when the parent is invoked without one. */
1986
- isDefault?: boolean;
1987
- /** Nested subcommand groups (e.g. `avatar character update`). */
1988
- subcommands?: CliSubcommandHelp[];
1989
1974
  }
1990
1975
 
1991
1976
  declare type CompactionCircuitClosedEvent = z.infer<typeof CompactionCircuitClosedEventSchema>;
@@ -2711,7 +2696,7 @@ declare const ErrorEventSchema: z.ZodObject<{
2711
2696
  conversationId: z.ZodOptional<z.ZodString>;
2712
2697
  }, z.core.$strip>;
2713
2698
 
2714
- export declare function extractTextFromStoredMessageContent(raw: string | ContentBlock[]): string;
2699
+ export declare function extractTextFromStoredMessageContent(raw: string): string;
2715
2700
 
2716
2701
  export declare interface FileContent {
2717
2702
  type: "file";
@@ -2934,8 +2919,8 @@ declare interface GuardianDecisionPrompt {
2934
2919
  conversationId: string;
2935
2920
  callSessionId: string | null;
2936
2921
  /**
2937
- * Guardian request kind (e.g. 'tool_approval', 'pending_question').
2938
- * Present when the prompt originates from the guardian request
2922
+ * Canonical request kind (e.g. 'tool_approval', 'pending_question').
2923
+ * Present when the prompt originates from the canonical guardian request
2939
2924
  * store. Absent for legacy-only prompts.
2940
2925
  */
2941
2926
  kind?: string;
@@ -3432,10 +3417,10 @@ declare interface HostFileWriteRequest {
3432
3417
 
3433
3418
  /**
3434
3419
  * Host proxy capabilities that an interface can support. The macOS client
3435
- * supports all of them; the chrome-extension interface only supports
3420
+ * supports all five; the chrome-extension interface only supports
3436
3421
  * host_browser (via the Chrome DevTools Protocol proxy).
3437
3422
  */
3438
- declare type HostProxyCapability = "host_bash" | "host_file" | "host_cu" | "host_browser" | "host_app_control" | "host_ui_snapshot";
3423
+ declare type HostProxyCapability = "host_bash" | "host_file" | "host_cu" | "host_browser" | "host_app_control";
3439
3424
 
3440
3425
  declare interface HostTransferCancelRequest {
3441
3426
  type: "host_transfer_cancel";
@@ -3471,29 +3456,6 @@ declare interface HostTransferToSandboxRequest {
3471
3456
  sourcePath: string;
3472
3457
  }
3473
3458
 
3474
- declare interface HostUiSnapshotCancelMessage {
3475
- type: "host_ui_snapshot_cancel";
3476
- requestId: string;
3477
- }
3478
-
3479
- declare interface HostUiSnapshotRequestMessage {
3480
- type: "host_ui_snapshot_request";
3481
- requestId: string;
3482
- view: HostUiSnapshotView;
3483
- /**
3484
- * Validated workspace-theme tokens to apply on the stage. The daemon reads
3485
- * them from ui/theme.json at request time so the capture reflects the
3486
- * current file even before connected clients refetch. Absent when no valid
3487
- * theme exists — the stage renders the built-in base theme.
3488
- */
3489
- tokens?: Record<string, string>;
3490
- }
3491
-
3492
- declare type _HostUiSnapshotServerMessages = HostUiSnapshotRequestMessage | HostUiSnapshotCancelMessage;
3493
-
3494
- /** Staged compositions the web client can render for capture. */
3495
- declare type HostUiSnapshotView = "sampler" | "chat";
3496
-
3497
3459
  declare type IdentityChangedEvent = z.infer<typeof IdentityChangedEventSchema>;
3498
3460
 
3499
3461
  declare const IdentityChangedEventSchema: z.ZodObject<{
@@ -3531,7 +3493,7 @@ declare interface ImageEmbeddingInput {
3531
3493
  mimeType: string;
3532
3494
  }
3533
3495
 
3534
- declare type _InboxServerMessages = ContactsInviteResponse;
3496
+ declare type _InboxServerMessages = ContactsInviteResponse | AssistantInboxEscalationResponse;
3535
3497
 
3536
3498
  declare interface IngressConfigResponse {
3537
3499
  type: "ingress_config_response";
@@ -3632,7 +3594,7 @@ declare const InteractionResolvedEventSchema: z.ZodObject<{
3632
3594
  kind: z.ZodString;
3633
3595
  }, z.core.$strip>;
3634
3596
 
3635
- declare const INTERFACE_IDS: readonly ["macos", "ios", "cli", "telegram", "phone", "web", "whatsapp", "slack", "email", "chrome-extension", "a2a", "route"];
3597
+ declare const INTERFACE_IDS: readonly ["macos", "ios", "cli", "telegram", "phone", "web", "whatsapp", "slack", "email", "chrome-extension", "a2a"];
3636
3598
 
3637
3599
  declare type InterfaceId = (typeof INTERFACE_IDS)[number];
3638
3600
 
@@ -3894,8 +3856,8 @@ declare const messageMetadataSchema: z.ZodObject<{
3894
3856
  platform: "platform";
3895
3857
  a2a: "a2a";
3896
3858
  }>>;
3897
- userMessageInterface: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<"telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "macos" | "ios" | "cli" | "web" | "chrome-extension" | "route" | null, string>> & z.ZodType<"telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "macos" | "ios" | "cli" | "web" | "chrome-extension" | "route", string, z.core.$ZodTypeInternals<"telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "macos" | "ios" | "cli" | "web" | "chrome-extension" | "route", string>>>;
3898
- assistantMessageInterface: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<"telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "macos" | "ios" | "cli" | "web" | "chrome-extension" | "route" | null, string>> & z.ZodType<"telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "macos" | "ios" | "cli" | "web" | "chrome-extension" | "route", string, z.core.$ZodTypeInternals<"telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "macos" | "ios" | "cli" | "web" | "chrome-extension" | "route", string>>>;
3859
+ userMessageInterface: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<"telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "macos" | "ios" | "cli" | "web" | "chrome-extension" | null, string>> & z.ZodType<"telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "macos" | "ios" | "cli" | "web" | "chrome-extension", string, z.core.$ZodTypeInternals<"telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "macos" | "ios" | "cli" | "web" | "chrome-extension", string>>>;
3860
+ assistantMessageInterface: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<"telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "macos" | "ios" | "cli" | "web" | "chrome-extension" | null, string>> & z.ZodType<"telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "macos" | "ios" | "cli" | "web" | "chrome-extension", string, z.core.$ZodTypeInternals<"telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "macos" | "ios" | "cli" | "web" | "chrome-extension", string>>>;
3899
3861
  client: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
3900
3862
  subagentNotification: z.ZodOptional<z.ZodObject<{
3901
3863
  subagentId: z.ZodString;
@@ -3920,7 +3882,6 @@ declare const messageMetadataSchema: z.ZodObject<{
3920
3882
  trusted_contact: "trusted_contact";
3921
3883
  unverified_contact: "unverified_contact";
3922
3884
  }>>;
3923
- model: z.ZodOptional<z.ZodString>;
3924
3885
  provenanceSourceChannel: z.ZodOptional<z.ZodEnum<{
3925
3886
  vellum: "vellum";
3926
3887
  telegram: "telegram";
@@ -3999,13 +3960,8 @@ declare interface MessageRow {
3999
3960
  id: string;
4000
3961
  conversationId: string;
4001
3962
  role: string;
4002
- /**
4003
- * Typed content blocks, resolved at the row-fetch chokepoint by
4004
- * `resolveMessageContentBlocks`: inline JSON parses, file-backed
4005
- * `{ ref }` rows fold their delta file, and legacy plain strings arrive
4006
- * wrapped in a single text block.
4007
- */
4008
- content: ContentBlock[];
3963
+ /** Resolved content — always inline JSON, never a raw `{ ref }`. */
3964
+ content: string;
4009
3965
  createdAt: number;
4010
3966
  metadata: string | null;
4011
3967
  clientMessageId: string | null;
@@ -4912,63 +4868,6 @@ export declare enum RiskLevel {
4912
4868
  */
4913
4869
  declare type RiskLevel_2 = "safe" | "low" | "medium" | "high" | "critical" | "unknown";
4914
4870
 
4915
- /**
4916
- * Run a full conversation agent-loop turn: persist the user message, execute
4917
- * the agent loop (history, tools, compaction, injections), and return the
4918
- * assistant's full content-block response.
4919
- *
4920
- * When `conversationId` is omitted, a new conversation is created and its ID
4921
- * is returned in the result.
4922
- *
4923
- * Events are fanned out to SSE/event-hub subscribers via `broadcastMessage`
4924
- * (the same path the daemon's HTTP message route uses) while also being
4925
- * collected internally so the caller receives the final response content.
4926
- * For streaming use cases, subscribe to the conversation's events via the
4927
- * host event hub (`assistantEventHub`).
4928
- *
4929
- * If the conversation is currently processing another turn, the message is
4930
- * queued via `enqueueMessage` and the result carries `queued: true` with
4931
- * empty content -- the queued turn will execute automatically when the
4932
- * current turn finishes.
4933
- */
4934
- export declare function runConversationTurn(options: RunConversationTurnOptions): Promise<RunConversationTurnResult>;
4935
-
4936
- export declare interface RunConversationTurnOptions {
4937
- /**
4938
- * Conversation to run the turn in. If omitted, a new conversation is
4939
- * created (its ID is generated with `uuidv7` and returned in the result).
4940
- */
4941
- conversationId?: string;
4942
- /**
4943
- * User message content blocks for this turn. Text blocks become the
4944
- * user message body; image/file blocks are resolved to inline
4945
- * attachments. Other block types (tool_use, tool_result, thinking) are
4946
- * ignored as they are not valid user input.
4947
- */
4948
- content: ContentBlock[];
4949
- /**
4950
- * LLM call-site for inference profile resolution. Defaults to
4951
- * `"mainAgent"` inside the agent loop when omitted.
4952
- */
4953
- callSite?: LLMCallSite;
4954
- /**
4955
- * Abort signal. When aborted, the conversation's internal abort
4956
- * controller fires, terminating the in-flight agent loop.
4957
- */
4958
- signal?: AbortSignal;
4959
- }
4960
-
4961
- export declare interface RunConversationTurnResult {
4962
- /** The assistant's full content blocks for this turn (text, tool_use, etc.). */
4963
- content: ContentBlock[];
4964
- /** The user message row ID assigned by the persistence layer. */
4965
- userMessageId: string;
4966
- /** The conversation this turn ran in. */
4967
- conversationId: string;
4968
- /** True when the message was queued because the conversation was busy. */
4969
- queued?: boolean;
4970
- }
4971
-
4972
4871
  /**
4973
4872
  * Emitted when the compaction circuit breaker trips. After three consecutive
4974
4873
  * summary-LLM failures (with local fallback covering each), auto-compaction is
@@ -5137,18 +5036,6 @@ export declare interface SendMessageConfig {
5137
5036
  * stripped before any provider wire request.
5138
5037
  */
5139
5038
  selectionSeed?: string;
5140
- /**
5141
- * Per-conversation prompt-cache key for providers with explicit prompt
5142
- * caching (sent as the OpenAI `prompt_cache_key` request param). Set by
5143
- * `RetryProvider` from `selectionSeed` (the durable conversation id) for
5144
- * the `openai` and `openrouter` providers — GPT-5.6+ requires the key for
5145
- * reliable breakpoint matching, and OpenAI's ~15 req/min-per-key routing
5146
- * guidance is satisfied by per-conversation ids. A non-wire field for
5147
- * every other provider client (the Anthropic client strips it, covering
5148
- * OpenRouter's `anthropic/*` delegation); the request param is omitted
5149
- * when absent.
5150
- */
5151
- promptCacheKey?: string;
5152
5039
  /**
5153
5040
  * Internal per-request HTTP headers for managed-proxy usage attribution.
5154
5041
  * Provider clients may pass these through SDK request options only when the
@@ -5210,7 +5097,7 @@ declare interface SensitiveOutputBinding {
5210
5097
 
5211
5098
  declare type SensitiveOutputKind = "invite_code";
5212
5099
 
5213
- declare type ServerMessage = _ConversationsServerMessages | _MessagesServerMessages | _SurfacesServerMessages | _SkillsServerMessages | _AppsServerMessages | _IntegrationsServerMessages | _ComputerUseServerMessages | _ContactsServerMessages | _SubagentsServerMessages | _DocumentsServerMessages | _DocumentCommentsServerMessages | _GuardianActionsServerMessages | _SyncInvalidationServerMessages | _HomeServerMessages | _HostAppControlServerMessages | _HostBashServerMessages | _HostBrowserServerMessages | _HostCuServerMessages | _HostFileServerMessages | _HostTransferServerMessages | _HostUiSnapshotServerMessages | _MemoryServerMessages | _WorkspaceServerMessages | _SchedulesServerMessages | _SettingsServerMessages | _DiagnosticsServerMessages | _InboxServerMessages | _NotificationsServerMessages | _UpgradesServerMessages | _AcpServerMessages | _BackgroundToolsServerMessages | _BookmarksServerMessages | _WorkflowsServerMessages | DiskPressureStatusChangedEvent | HookEvent | SubagentEvent;
5100
+ declare type ServerMessage = _ConversationsServerMessages | _MessagesServerMessages | _SurfacesServerMessages | _SkillsServerMessages | _AppsServerMessages | _IntegrationsServerMessages | _ComputerUseServerMessages | _ContactsServerMessages | _WorkItemsServerMessages | _SubagentsServerMessages | _DocumentsServerMessages | _DocumentCommentsServerMessages | _GuardianActionsServerMessages | _SyncInvalidationServerMessages | _HomeServerMessages | _HostAppControlServerMessages | _HostBashServerMessages | _HostBrowserServerMessages | _HostCuServerMessages | _HostFileServerMessages | _HostTransferServerMessages | _MemoryServerMessages | _WorkspaceServerMessages | _SchedulesServerMessages | _SettingsServerMessages | _DiagnosticsServerMessages | _InboxServerMessages | _NotificationsServerMessages | _UpgradesServerMessages | _AcpServerMessages | _BackgroundToolsServerMessages | _BookmarksServerMessages | _WorkflowsServerMessages | DiskPressureStatusChangedEvent | HookEvent | SubagentEvent;
5214
5101
 
5215
5102
  export declare interface ServerToolUseContent {
5216
5103
  type: "server_tool_use";
@@ -5540,7 +5427,7 @@ declare interface StopInputContext {
5540
5427
  * Parse failures fall back to returning the raw input trimmed (the
5541
5428
  * legacy-string path).
5542
5429
  */
5543
- export declare function stringifyMessageContent(stored: string | ContentBlock[]): string;
5430
+ export declare function stringifyMessageContent(stored: string): string;
5544
5431
 
5545
5432
  declare interface SubagentDetailResponse {
5546
5433
  type: "subagent_detail_response";
@@ -5631,29 +5518,6 @@ declare type _SyncInvalidationServerMessages = SyncChangedEvent;
5631
5518
  /** Re-sync one persisted message into the conversation's disk view. */
5632
5519
  export declare function syncMessageToDisk(conversationId: string, messageId: string, createdAtMs: number): Promise<void>;
5633
5520
 
5634
- /**
5635
- * Synthesize text to audio using the globally configured TTS provider.
5636
- *
5637
- * 1. Resolves the active provider and its config via `tts-config-resolver`.
5638
- * 2. Looks up the provider adapter in the registry.
5639
- * 3. Delegates to the adapter's `synthesize` method.
5640
- *
5641
- * Throws {@link TtsSynthesisError} when the provider is not registered
5642
- * or synthesis fails.
5643
- */
5644
- export declare function synthesizeText(options: SynthesizeTextOptions): Promise<TtsSynthesisResult>;
5645
-
5646
- export declare interface SynthesizeTextOptions {
5647
- /** Text to speak. Sanitized internally — callers can pass raw model output. */
5648
- text: string;
5649
- /** Product surface requesting synthesis. */
5650
- useCase: TtsUseCase;
5651
- /** Optional voice override (provider-specific identifier). */
5652
- voiceId?: string;
5653
- /** Optional abort signal. */
5654
- signal?: AbortSignal;
5655
- }
5656
-
5657
5521
  declare interface TableCellValue {
5658
5522
  text: string;
5659
5523
  icon?: string;
@@ -5680,6 +5544,19 @@ declare interface TableSurfaceData {
5680
5544
  caption?: string;
5681
5545
  }
5682
5546
 
5547
+ /** Server push — broadcast when a task run creates a conversation. */
5548
+ declare interface TaskRunConversationCreated {
5549
+ type: "task_run_conversation_created";
5550
+ conversationId: string;
5551
+ workItemId: string;
5552
+ title: string;
5553
+ }
5554
+
5555
+ /** Server push — lightweight invalidation signal: the task queue has been mutated, refetch your list. */
5556
+ declare interface TasksChanged {
5557
+ type: "tasks_changed";
5558
+ }
5559
+
5683
5560
  declare interface TelegramConfigResponse {
5684
5561
  type: "telegram_config_response";
5685
5562
  success: boolean;
@@ -6328,31 +6205,6 @@ declare const trustClassSchema: z.ZodEnum<{
6328
6205
  unverified_contact: "unverified_contact";
6329
6206
  }>;
6330
6207
 
6331
- export declare class TtsSynthesisError extends Error {
6332
- readonly code: TtsSynthesisErrorCode;
6333
- constructor(code: TtsSynthesisErrorCode, message: string);
6334
- }
6335
-
6336
- declare type TtsSynthesisErrorCode = "TTS_PROVIDER_NOT_CONFIGURED" | "TTS_SYNTHESIS_FAILED";
6337
-
6338
- /** Output of a completed TTS synthesis call. */
6339
- export declare interface TtsSynthesisResult {
6340
- /** Complete audio buffer. */
6341
- audio: Buffer;
6342
- /** MIME type of the returned audio (e.g. `"audio/mpeg"`, `"audio/wav"`). */
6343
- contentType: string;
6344
- }
6345
-
6346
- /**
6347
- * Describes the product surface that is requesting synthesis so providers
6348
- * can tailor format, latency, and quality trade-offs.
6349
- */
6350
- declare type TtsUseCase =
6351
- /** Real-time phone call — prioritize low latency and streaming. */
6352
- "phone-call"
6353
- /** In-app message playback — buffer-oriented, higher quality acceptable. */
6354
- | "message-playback";
6355
-
6356
6208
  declare interface UiSurfaceComplete {
6357
6209
  type: "ui_surface_complete";
6358
6210
  conversationId: string;
@@ -6874,6 +6726,144 @@ declare interface WorkflowStarted {
6874
6726
  label?: string;
6875
6727
  }
6876
6728
 
6729
+ declare interface WorkItemApprovePermissionsResponse {
6730
+ type: "work_item_approve_permissions_response";
6731
+ id: string;
6732
+ success: boolean;
6733
+ error?: string;
6734
+ }
6735
+
6736
+ declare interface WorkItemCancelResponse {
6737
+ type: "work_item_cancel_response";
6738
+ id: string;
6739
+ success: boolean;
6740
+ error?: string;
6741
+ }
6742
+
6743
+ declare interface WorkItemDeleteResponse {
6744
+ type: "work_item_delete_response";
6745
+ id: string;
6746
+ success: boolean;
6747
+ }
6748
+
6749
+ declare interface WorkItemGetResponse {
6750
+ type: "work_item_get_response";
6751
+ item: {
6752
+ id: string;
6753
+ taskId: string;
6754
+ title: string;
6755
+ notes: string | null;
6756
+ status: string;
6757
+ priorityTier: number;
6758
+ sortIndex: number | null;
6759
+ lastRunId: string | null;
6760
+ lastRunConversationId: string | null;
6761
+ lastRunStatus: string | null;
6762
+ sourceType: string | null;
6763
+ sourceId: string | null;
6764
+ createdAt: number;
6765
+ updatedAt: number;
6766
+ } | null;
6767
+ }
6768
+
6769
+ declare interface WorkItemOutputResponse {
6770
+ type: "work_item_output_response";
6771
+ id: string;
6772
+ success: boolean;
6773
+ error?: string;
6774
+ output?: {
6775
+ title: string;
6776
+ status: string;
6777
+ runId: string | null;
6778
+ conversationId: string | null;
6779
+ completedAt: number | null;
6780
+ summary: string;
6781
+ highlights: string[];
6782
+ };
6783
+ }
6784
+
6785
+ declare interface WorkItemPreflightResponse {
6786
+ type: "work_item_preflight_response";
6787
+ id: string;
6788
+ success: boolean;
6789
+ error?: string;
6790
+ permissions?: {
6791
+ tool: string;
6792
+ description: string;
6793
+ riskLevel: "low" | "medium" | "high";
6794
+ currentDecision: "allow" | "deny" | "prompt";
6795
+ }[];
6796
+ }
6797
+
6798
+ declare type WorkItemRunTaskErrorCode = "not_found" | "already_running" | "invalid_status" | "no_task" | "permission_required";
6799
+
6800
+ declare interface WorkItemRunTaskResponse {
6801
+ type: "work_item_run_task_response";
6802
+ id: string;
6803
+ lastRunId: string;
6804
+ success: boolean;
6805
+ error?: string;
6806
+ /** Structured error code so the client can deterministically re-enable buttons or show contextual UI. */
6807
+ errorCode?: WorkItemRunTaskErrorCode;
6808
+ }
6809
+
6810
+ declare interface WorkItemsListResponse {
6811
+ type: "work_items_list_response";
6812
+ items: Array<{
6813
+ id: string;
6814
+ taskId: string;
6815
+ title: string;
6816
+ notes: string | null;
6817
+ status: string;
6818
+ priorityTier: number;
6819
+ sortIndex: number | null;
6820
+ lastRunId: string | null;
6821
+ lastRunConversationId: string | null;
6822
+ lastRunStatus: string | null;
6823
+ sourceType: string | null;
6824
+ sourceId: string | null;
6825
+ createdAt: number;
6826
+ updatedAt: number;
6827
+ }>;
6828
+ }
6829
+
6830
+ declare type _WorkItemsServerMessages = WorkItemsListResponse | WorkItemGetResponse | WorkItemUpdateResponse | WorkItemDeleteResponse | WorkItemRunTaskResponse | WorkItemOutputResponse | WorkItemPreflightResponse | WorkItemApprovePermissionsResponse | WorkItemCancelResponse | WorkItemStatusChanged | TaskRunConversationCreated | TasksChanged;
6831
+
6832
+ /** Server push — broadcast when a work item status changes (e.g. running -> awaiting_review). */
6833
+ declare interface WorkItemStatusChanged {
6834
+ type: "work_item_status_changed";
6835
+ item: {
6836
+ id: string;
6837
+ taskId: string;
6838
+ title: string;
6839
+ status: string;
6840
+ lastRunId: string | null;
6841
+ lastRunConversationId: string | null;
6842
+ lastRunStatus: string | null;
6843
+ updatedAt: number;
6844
+ };
6845
+ }
6846
+
6847
+ declare interface WorkItemUpdateResponse {
6848
+ type: "work_item_update_response";
6849
+ item: {
6850
+ id: string;
6851
+ taskId: string;
6852
+ title: string;
6853
+ notes: string | null;
6854
+ status: string;
6855
+ priorityTier: number;
6856
+ sortIndex: number | null;
6857
+ lastRunId: string | null;
6858
+ lastRunConversationId: string | null;
6859
+ lastRunStatus: string | null;
6860
+ sourceType: string | null;
6861
+ sourceId: string | null;
6862
+ createdAt: number;
6863
+ updatedAt: number;
6864
+ } | null;
6865
+ }
6866
+
6877
6867
  declare interface WorkResultDiff {
6878
6868
  label?: string;
6879
6869
  before?: string;
package/index.js CHANGED
@@ -3,7 +3,6 @@ const api = globalThis[Symbol.for("vellum.plugin-api")] ?? {};
3
3
  export const CLI_COMMAND_HELP = api.CLI_COMMAND_HELP;
4
4
  export const HOOKS = api.HOOKS;
5
5
  export const RiskLevel = api.RiskLevel;
6
- export const TtsSynthesisError = api.TtsSynthesisError;
7
6
  export const addMessage = api.addMessage;
8
7
  export const assistantEventHub = api.assistantEventHub;
9
8
  export const buildMessageExcerpt = api.buildMessageExcerpt;
@@ -26,10 +25,8 @@ export const listInstalledSkills = api.listInstalledSkills;
26
25
  export const parseMessageMetadata = api.parseMessageMetadata;
27
26
  export const resolveMediaSourceData = api.resolveMediaSourceData;
28
27
  export const resolveUserName = api.resolveUserName;
29
- export const runConversationTurn = api.runConversationTurn;
30
28
  export const searchMessageIdsLexical = api.searchMessageIdsLexical;
31
29
  export const selectedBackendSupportsMultimodal = api.selectedBackendSupportsMultimodal;
32
30
  export const stringifyMessageContent = api.stringifyMessageContent;
33
31
  export const syncMessageToDisk = api.syncMessageToDisk;
34
- export const synthesizeText = api.synthesizeText;
35
32
  export const updateMessageMetadata = api.updateMessageMetadata;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vellumai/plugin-api",
3
- "version": "0.10.8-dev.202607152039.bc8b1a6",
3
+ "version": "0.10.8-staging.2",
4
4
  "description": "Public TypeScript authoring contract for Vellum assistant plugins.",
5
5
  "license": "MIT",
6
6
  "type": "module",