@vellumai/plugin-api 0.10.0 → 0.10.1-dev.202606240206.7c2bca6

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 +42 -35
  2. package/index.js +1 -1
  3. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -561,19 +561,19 @@ declare interface BundleAppResponse {
561
561
  };
562
562
  }
563
563
 
564
- declare interface CardSurfaceData {
565
- title: string;
566
- subtitle?: string;
567
- body: string;
568
- metadata?: Array<{
569
- label: string;
570
- value: string;
571
- }>;
572
- /** Optional template name for specialized rendering (e.g. "weather_forecast"). */
573
- template?: string;
574
- /** Arbitrary data consumed by the template renderer. Shape depends on template. */
575
- templateData?: Record<string, unknown>;
576
- }
564
+ declare type CardSurfaceData = z.infer<typeof CardSurfaceDataSchema>;
565
+
566
+ declare const CardSurfaceDataSchema: z.ZodObject<{
567
+ title: z.ZodOptional<z.ZodString>;
568
+ subtitle: z.ZodOptional<z.ZodString>;
569
+ body: z.ZodOptional<z.ZodString>;
570
+ metadata: z.ZodOptional<z.ZodArray<z.ZodObject<{
571
+ label: z.ZodCoercedString<unknown>;
572
+ value: z.ZodCoercedString<unknown>;
573
+ }, z.core.$strip>>>;
574
+ template: z.ZodOptional<z.ZodString>;
575
+ templateData: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
576
+ }, z.core.$strip>;
577
577
 
578
578
  declare const CHANNEL_IDS: readonly ["telegram", "phone", "vellum", "whatsapp", "slack", "email", "platform", "a2a"];
579
579
 
@@ -1244,6 +1244,15 @@ declare interface DocumentSaveResponse {
1244
1244
 
1245
1245
  declare type _DocumentsServerMessages = DocumentEditorShow | DocumentEditorUpdateEvent | DocumentSaveResponse | DocumentLoadResponse | DocumentListResponse;
1246
1246
 
1247
+ /**
1248
+ * Whether the given model or profile can process image input.
1249
+ *
1250
+ * `modelOrProfile` may be a concrete model id, a profile key, or a
1251
+ * {@link ModelProfileInfo}. A bare string is resolved as a model id first and,
1252
+ * failing that, as a profile key. Returns `false` when nothing resolves.
1253
+ */
1254
+ export declare function doesSupportVision(modelOrProfile: ModelProfileInfo | string): boolean;
1255
+
1247
1256
  declare interface DynamicPagePreview {
1248
1257
  title: string;
1249
1258
  subtitle?: string;
@@ -1485,7 +1494,9 @@ export declare function getConfiguredProvider(callSite: LLMCallSite, opts?: {
1485
1494
  /**
1486
1495
  * List the workspace inference profiles a plugin can route to, in the order the
1487
1496
  * `/model` picker presents them (`llm.profileOrder` first, then the rest
1488
- * alphabetically). Disabled profiles are included and flagged via
1497
+ * alphabetically). Metadata-only entries without a provider, model, or mix are
1498
+ * not routing targets, so plugins never see them. Disabled profiles are
1499
+ * included and flagged via
1489
1500
  * {@link ModelProfileInfo.isDisabled}; weighted "mix" profiles are included and
1490
1501
  * flagged via {@link ModelProfileInfo.isMix}, since a mix is itself a valid
1491
1502
  * routing target (it resolves to one constituent per conversation).
@@ -1495,12 +1506,6 @@ export declare function getConfiguredProvider(callSite: LLMCallSite, opts?: {
1495
1506
  */
1496
1507
  export declare function getModelProfiles(): ModelProfileInfo[];
1497
1508
 
1498
- /**
1499
- * Retrieve a secret from secure storage. Convenience wrapper over
1500
- * `getSecureKeyResultAsync` that returns only the value.
1501
- */
1502
- export declare function getSecureKeyAsync(account: string): Promise<string | undefined>;
1503
-
1504
1509
  declare interface GetSigningIdentityRequest {
1505
1510
  type: "get_signing_identity";
1506
1511
  requestId: string;
@@ -1535,11 +1540,9 @@ declare interface GuardianDecisionAction {
1535
1540
  }
1536
1541
 
1537
1542
  /**
1538
- * Shared types for the guardian decision primitive.
1539
- *
1540
- * All decision entrypoints (callback buttons, conversational engine, legacy
1541
- * parser, requester self-cancel) use these types to route through the
1542
- * unified `applyGuardianDecision` primitive.
1543
+ * Shared types and render helpers for guardian decision prompts: the prompt
1544
+ * model shown to guardians, the canonical action constants, and the
1545
+ * legend/fallback builders used to present them on rich and plain-text channels.
1543
1546
  */
1544
1547
  /** Structured model for prompts shown to guardians. */
1545
1548
  declare interface GuardianDecisionPrompt {
@@ -2185,6 +2188,7 @@ declare const LLMCallSiteEnum: z.ZodEnum<{
2185
2188
  meetChatOpportunity: "meetChatOpportunity";
2186
2189
  inference: "inference";
2187
2190
  advisor: "advisor";
2191
+ vision: "vision";
2188
2192
  trustRuleSuggestion: "trustRuleSuggestion";
2189
2193
  homeGreeting: "homeGreeting";
2190
2194
  homeSuggestedPrompts: "homeSuggestedPrompts";
@@ -2447,7 +2451,7 @@ declare const MessageRequestCompleteEventSchema: z.ZodObject<{
2447
2451
  runStillActive: z.ZodOptional<z.ZodBoolean>;
2448
2452
  }, z.core.$strip>;
2449
2453
 
2450
- declare type _MessagesServerMessages = UserMessageEchoEvent | AssistantTurnStartEvent | AssistantTextDeltaEvent | AssistantThinkingDeltaEvent | ToolUseStartEvent | ToolUsePreviewStartEvent | ToolOutputChunkEvent | ToolInputDelta | ToolResultEvent | ConfirmationRequestEvent | SecretRequestEvent | QuestionRequestEvent | MessageCompleteEvent | ErrorEvent_2 | MessageQueuedEvent | MessageDequeuedEvent | MessageRequestCompleteEvent | MessageQueuedDeletedEvent | MessageSteered | SuggestionResponse | TraceEvent | ConfirmationStateChanged | AssistantActivityStateEvent | TurnProfileAutoRoutedEvent | ConversationInferenceProfileUpdated | InteractionResolvedEvent;
2454
+ declare type _MessagesServerMessages = UserMessageEchoEvent | AssistantTurnStartEvent | AssistantTextDeltaEvent | AssistantThinkingDeltaEvent | ToolUseStartEvent | ToolUsePreviewStartEvent | ToolOutputChunkEvent | ToolInputDelta | ToolResultEvent | ConfirmationRequestEvent | SecretRequestEvent | QuestionRequestEvent | MessageCompleteEvent | ErrorEvent_2 | MessageQueuedEvent | MessageDequeuedEvent | MessageRequestCompleteEvent | MessageQueuedDeletedEvent | MessageSteered | SuggestionResponse | TraceEvent | ConfirmationStateChanged | AssistantActivityStateEvent | ConversationInferenceProfileUpdated | InteractionResolvedEvent;
2451
2455
 
2452
2456
  declare interface MessageSteered {
2453
2457
  type: "message_steered";
@@ -3046,6 +3050,18 @@ export declare interface Provider {
3046
3050
  */
3047
3051
  tokenEstimationProvider?: string;
3048
3052
  sendMessage(messages: Message[], options?: SendMessageOptions): Promise<ProviderResponse>;
3053
+ /**
3054
+ * Exact prompt-token count from the provider's own tokenizer, for the
3055
+ * `messages` + `systemPrompt` + `tools` composition the next call would
3056
+ * send. Optional: providers without a token-counting endpoint omit it, and
3057
+ * callers must fall back to the local estimator (`estimatePromptTokens`).
3058
+ *
3059
+ * This runs a dedicated counting request (no inference), so it carries a
3060
+ * network round-trip and the provider's own rate limit — use it for
3061
+ * user-initiated, occasional actions (e.g. `/compact`), never on the
3062
+ * per-turn hot path.
3063
+ */
3064
+ countInputTokens?(messages: Message[], systemPrompt: string, tools?: ToolDefinition_2[]): Promise<number>;
3049
3065
  }
3050
3066
 
3051
3067
  export declare type ProviderEvent = {
@@ -4442,15 +4458,6 @@ declare const TraceEventSchema: z.ZodObject<{
4442
4458
  */
4443
4459
  declare type TrustClass = "guardian" | "trusted_contact" | "unverified_contact" | "unknown";
4444
4460
 
4445
- declare type TurnProfileAutoRoutedEvent = z.infer<typeof TurnProfileAutoRoutedEventSchema>;
4446
-
4447
- declare const TurnProfileAutoRoutedEventSchema: z.ZodObject<{
4448
- type: z.ZodLiteral<"turn_profile_auto_routed">;
4449
- conversationId: z.ZodString;
4450
- profile: z.ZodString;
4451
- profileLabel: z.ZodString;
4452
- }, z.core.$strip>;
4453
-
4454
4461
  declare interface UiSurfaceComplete {
4455
4462
  type: "ui_surface_complete";
4456
4463
  conversationId: string;
package/index.js CHANGED
@@ -3,6 +3,6 @@ const api = globalThis[Symbol.for("vellum.plugin-api")] ?? {};
3
3
  export const HOOKS = api.HOOKS;
4
4
  export const RiskLevel = api.RiskLevel;
5
5
  export const assistantEventHub = api.assistantEventHub;
6
+ export const doesSupportVision = api.doesSupportVision;
6
7
  export const getConfiguredProvider = api.getConfiguredProvider;
7
8
  export const getModelProfiles = api.getModelProfiles;
8
- export const getSecureKeyAsync = api.getSecureKeyAsync;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vellumai/plugin-api",
3
- "version": "0.10.0",
3
+ "version": "0.10.1-dev.202606240206.7c2bca6",
4
4
  "description": "Public TypeScript authoring contract for Vellum assistant plugins.",
5
5
  "license": "MIT",
6
6
  "type": "module",