@vellumai/plugin-api 0.12.1 → 0.12.2-dev.202609162314.7778bc8

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 +165 -50
  2. package/index.js +3 -0
  3. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -101,6 +101,7 @@ declare const AnsweredQuestionSchema: z.ZodObject<{
101
101
  description: z.ZodOptional<z.ZodString>;
102
102
  }, z.core.$strip>>;
103
103
  freeTextPlaceholder: z.ZodOptional<z.ZodString>;
104
+ presentation: z.ZodOptional<z.ZodLiteral<"virtual_desktop">>;
104
105
  }, z.core.$strip>>;
105
106
  responses: z.ZodArray<z.ZodObject<{
106
107
  questionId: z.ZodString;
@@ -167,10 +168,10 @@ declare const AssistantConfigSchema: z.ZodObject<{
167
168
  language: z.ZodDefault<z.ZodString>;
168
169
  providers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
169
170
  roles: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
170
- watch: "watch";
171
171
  liveVoice: "liveVoice";
172
172
  telephony: "telephony";
173
173
  dictation: "dictation";
174
+ watch: "watch";
174
175
  batch: "batch";
175
176
  }> & z.core.$partial, z.ZodObject<{
176
177
  provider: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodEnum<{
@@ -312,6 +313,12 @@ declare const AssistantConfigSchema: z.ZodObject<{
312
313
  "your-own": "your-own";
313
314
  }>>;
314
315
  }, z.core.$strip>>;
316
+ "shopify-oauth": z.ZodDefault<z.ZodObject<{
317
+ mode: z.ZodDefault<z.ZodEnum<{
318
+ managed: "managed";
319
+ "your-own": "your-own";
320
+ }>>;
321
+ }, z.core.$strip>>;
315
322
  "stripe-link-oauth": z.ZodDefault<z.ZodObject<{
316
323
  mode: z.ZodDefault<z.ZodEnum<{
317
324
  managed: "managed";
@@ -324,6 +331,12 @@ declare const AssistantConfigSchema: z.ZodObject<{
324
331
  "your-own": "your-own";
325
332
  }>>;
326
333
  }, z.core.$strip>>;
334
+ "quickbooks-oauth": z.ZodDefault<z.ZodObject<{
335
+ mode: z.ZodDefault<z.ZodEnum<{
336
+ managed: "managed";
337
+ "your-own": "your-own";
338
+ }>>;
339
+ }, z.core.$strip>>;
327
340
  "eventbrite-oauth": z.ZodDefault<z.ZodObject<{
328
341
  mode: z.ZodDefault<z.ZodEnum<{
329
342
  managed: "managed";
@@ -592,6 +605,7 @@ declare const AssistantConfigSchema: z.ZodObject<{
592
605
  }, z.core.$strip>>;
593
606
  retrospective: z.ZodDefault<z.ZodObject<{
594
607
  enabled: z.ZodDefault<z.ZodBoolean>;
608
+ skillImprovement: z.ZodDefault<z.ZodBoolean>;
595
609
  timeThresholdMs: z.ZodDefault<z.ZodNumber>;
596
610
  messageThreshold: z.ZodDefault<z.ZodNumber>;
597
611
  minCooldownMs: z.ZodDefault<z.ZodNumber>;
@@ -611,6 +625,7 @@ declare const AssistantConfigSchema: z.ZodObject<{
611
625
  fdPollIntervalMs: z.ZodDefault<z.ZodNumber>;
612
626
  highFdThresholdRatio: z.ZodDefault<z.ZodNumber>;
613
627
  fdWarnCooldownMs: z.ZodDefault<z.ZodNumber>;
628
+ mountWatchIntervalMs: z.ZodDefault<z.ZodNumber>;
614
629
  pluginSourceScanIntervalMs: z.ZodDefault<z.ZodNumber>;
615
630
  baselineSnapshotIntervalMs: z.ZodDefault<z.ZodNumber>;
616
631
  }, z.core.$strip>>;
@@ -945,31 +960,14 @@ declare const AssistantConfigSchema: z.ZodObject<{
945
960
  }, z.core.$strip>>;
946
961
  localDirectory: z.ZodDefault<z.ZodNullable<z.ZodString>>;
947
962
  }, z.core.$strip>>;
948
- mcp: z.ZodDefault<z.ZodObject<{
949
- servers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
950
- transport: z.ZodDiscriminatedUnion<[z.ZodObject<{
951
- type: z.ZodLiteral<"stdio">;
952
- command: z.ZodString;
953
- args: z.ZodDefault<z.ZodArray<z.ZodString>>;
954
- env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
955
- }, z.core.$strip>, z.ZodObject<{
956
- type: z.ZodLiteral<"sse">;
957
- url: z.ZodString;
958
- headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
959
- }, z.core.$strip>, z.ZodObject<{
960
- type: z.ZodLiteral<"streamable-http">;
961
- url: z.ZodString;
962
- headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
963
- }, z.core.$strip>], "type">;
964
- }, z.core.$strip>>>;
965
- }, z.core.$strip>>;
966
963
  acp: z.ZodDefault<z.ZodObject<{
967
964
  maxConcurrentSessions: z.ZodDefault<z.ZodNumber>;
968
965
  agents: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
969
- command: z.ZodString;
966
+ command: z.ZodOptional<z.ZodString>;
970
967
  args: z.ZodDefault<z.ZodArray<z.ZodString>>;
971
968
  description: z.ZodOptional<z.ZodString>;
972
969
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
970
+ model: z.ZodOptional<z.ZodString>;
973
971
  }, z.core.$strip>>>;
974
972
  }, z.core.$strip>>;
975
973
  skills: z.ZodDefault<z.ZodObject<{
@@ -981,8 +979,6 @@ declare const AssistantConfigSchema: z.ZodObject<{
981
979
  }, z.core.$strip>>>;
982
980
  load: z.ZodDefault<z.ZodObject<{
983
981
  extraDirs: z.ZodDefault<z.ZodArray<z.ZodString>>;
984
- watch: z.ZodDefault<z.ZodBoolean>;
985
- watchDebounceMs: z.ZodDefault<z.ZodNumber>;
986
982
  }, z.core.$strip>>;
987
983
  install: z.ZodDefault<z.ZodObject<{
988
984
  nodeManager: z.ZodDefault<z.ZodEnum<{
@@ -1077,15 +1073,7 @@ declare const AssistantConfigSchema: z.ZodObject<{
1077
1073
  enabled: z.ZodDefault<z.ZodBoolean>;
1078
1074
  text: z.ZodDefault<z.ZodString>;
1079
1075
  }, z.core.$strip>>;
1080
- safety: z.ZodDefault<z.ZodObject<{
1081
- denyCategories: z.ZodDefault<z.ZodArray<z.ZodString>>;
1082
- }, z.core.$strip>>;
1083
1076
  voice: z.ZodDefault<z.ZodObject<{
1084
- interruptSensitivity: z.ZodDefault<z.ZodEnum<{
1085
- low: "low";
1086
- medium: "medium";
1087
- high: "high";
1088
- }>>;
1089
1077
  telephonyStreaming: z.ZodDefault<z.ZodBoolean>;
1090
1078
  utteranceEndMs: z.ZodDefault<z.ZodNumber>;
1091
1079
  }, z.core.$strip>>;
@@ -1100,10 +1088,6 @@ declare const AssistantConfigSchema: z.ZodObject<{
1100
1088
  }, z.core.$strip>>;
1101
1089
  }, z.core.$strip>>;
1102
1090
  liveVoice: z.ZodDefault<z.ZodObject<{
1103
- mode: z.ZodDefault<z.ZodEnum<{
1104
- ptt: "ptt";
1105
- "open-mic": "open-mic";
1106
- }>>;
1107
1091
  vad: z.ZodDefault<z.ZodObject<{
1108
1092
  speechEnergyThreshold: z.ZodDefault<z.ZodNumber>;
1109
1093
  noiseFloorMargin: z.ZodDefault<z.ZodNumber>;
@@ -1114,6 +1098,18 @@ declare const AssistantConfigSchema: z.ZodObject<{
1114
1098
  echoEmaHalfLifeMs: z.ZodDefault<z.ZodNumber>;
1115
1099
  echoDrainSlackMs: z.ZodDefault<z.ZodNumber>;
1116
1100
  }, z.core.$strip>>;
1101
+ flux: z.ZodDefault<z.ZodObject<{
1102
+ turnEnd: z.ZodDefault<z.ZodObject<{
1103
+ enabled: z.ZodDefault<z.ZodBoolean>;
1104
+ }, z.core.$strip>>;
1105
+ model: z.ZodOptional<z.ZodString>;
1106
+ eotThreshold: z.ZodDefault<z.ZodNumber>;
1107
+ eagerEotThreshold: z.ZodOptional<z.ZodNumber>;
1108
+ eotTimeoutMs: z.ZodDefault<z.ZodNumber>;
1109
+ }, z.core.$strip>>;
1110
+ archiveAudio: z.ZodDefault<z.ZodBoolean>;
1111
+ }, z.core.$strip>>;
1112
+ voice: z.ZodDefault<z.ZodObject<{
1117
1113
  frontModel: z.ZodDefault<z.ZodObject<{
1118
1114
  endpointDecisionTimeoutMs: z.ZodDefault<z.ZodNumber>;
1119
1115
  endpointExtensionMs: z.ZodDefault<z.ZodNumber>;
@@ -1128,17 +1124,6 @@ declare const AssistantConfigSchema: z.ZodObject<{
1128
1124
  generationTimeoutMs: z.ZodDefault<z.ZodNumber>;
1129
1125
  }, z.core.$strip>>;
1130
1126
  }, z.core.$strip>>;
1131
- flux: z.ZodDefault<z.ZodObject<{
1132
- turnEnd: z.ZodDefault<z.ZodObject<{
1133
- enabled: z.ZodDefault<z.ZodBoolean>;
1134
- }, z.core.$strip>>;
1135
- model: z.ZodOptional<z.ZodString>;
1136
- eotThreshold: z.ZodDefault<z.ZodNumber>;
1137
- eagerEotThreshold: z.ZodOptional<z.ZodNumber>;
1138
- eotTimeoutMs: z.ZodDefault<z.ZodNumber>;
1139
- }, z.core.$strip>>;
1140
- maxSessionDurationSeconds: z.ZodDefault<z.ZodNumber>;
1141
- archiveAudio: z.ZodDefault<z.ZodBoolean>;
1142
1127
  }, z.core.$strip>>;
1143
1128
  sight: z.ZodDefault<z.ZodObject<{
1144
1129
  keepLatestFrames: z.ZodDefault<z.ZodNumber>;
@@ -1313,6 +1298,18 @@ declare const AssistantEventEnvelopeSchema: z.ZodObject<{
1313
1298
  type: z.ZodLiteral<"acp_session_error">;
1314
1299
  acpSessionId: z.ZodString;
1315
1300
  error: z.ZodString;
1301
+ }, z.core.$strict>, z.ZodObject<{
1302
+ type: z.ZodLiteral<"acp_session_model_update">;
1303
+ acpSessionId: z.ZodString;
1304
+ modelRevisionEpoch: z.ZodString;
1305
+ modelRevision: z.ZodNumber;
1306
+ model: z.ZodOptional<z.ZodString>;
1307
+ availableModels: z.ZodArray<z.ZodObject<{
1308
+ value: z.ZodString;
1309
+ label: z.ZodString;
1310
+ description: z.ZodOptional<z.ZodString>;
1311
+ group: z.ZodOptional<z.ZodString>;
1312
+ }, z.core.$strip>>;
1316
1313
  }, z.core.$strict>, z.ZodObject<{
1317
1314
  type: z.ZodLiteral<"acp_session_spawned">;
1318
1315
  acpSessionId: z.ZodString;
@@ -1665,6 +1662,8 @@ declare const AssistantEventEnvelopeSchema: z.ZodObject<{
1665
1662
  type: z.ZodLiteral<"conversation_title_updated">;
1666
1663
  conversationId: z.ZodString;
1667
1664
  title: z.ZodString;
1665
+ }, z.core.$strip>, z.ZodObject<{
1666
+ type: z.ZodLiteral<"desktop_activity_changed">;
1668
1667
  }, z.core.$strip>, z.ZodObject<{
1669
1668
  type: z.ZodLiteral<"disk_pressure_status_changed">;
1670
1669
  status: z.ZodObject<{
@@ -1764,6 +1763,7 @@ declare const AssistantEventEnvelopeSchema: z.ZodObject<{
1764
1763
  sandbox_file: "sandbox_file";
1765
1764
  tool_block: "tool_block";
1766
1765
  }>>;
1766
+ computerUseScreenshot: z.ZodOptional<z.ZodBoolean>;
1767
1767
  sizeBytes: z.ZodOptional<z.ZodNumber>;
1768
1768
  thumbnailData: z.ZodOptional<z.ZodString>;
1769
1769
  fileBacked: z.ZodOptional<z.ZodBoolean>;
@@ -2044,6 +2044,7 @@ declare const AssistantEventEnvelopeSchema: z.ZodObject<{
2044
2044
  sandbox_file: "sandbox_file";
2045
2045
  tool_block: "tool_block";
2046
2046
  }>>;
2047
+ computerUseScreenshot: z.ZodOptional<z.ZodBoolean>;
2047
2048
  sizeBytes: z.ZodOptional<z.ZodNumber>;
2048
2049
  thumbnailData: z.ZodOptional<z.ZodString>;
2049
2050
  fileBacked: z.ZodOptional<z.ZodBoolean>;
@@ -2121,6 +2122,7 @@ declare const AssistantEventEnvelopeSchema: z.ZodObject<{
2121
2122
  }, z.core.$strip>, z.ZodObject<{
2122
2123
  type: z.ZodLiteral<"notification_intent">;
2123
2124
  sourceEventName: z.ZodString;
2125
+ assistantName: z.ZodOptional<z.ZodString>;
2124
2126
  title: z.ZodString;
2125
2127
  body: z.ZodString;
2126
2128
  deliveryId: z.ZodOptional<z.ZodString>;
@@ -2172,6 +2174,7 @@ declare const AssistantEventEnvelopeSchema: z.ZodObject<{
2172
2174
  description: z.ZodOptional<z.ZodString>;
2173
2175
  }, z.core.$strip>>;
2174
2176
  freeTextPlaceholder: z.ZodOptional<z.ZodString>;
2177
+ presentation: z.ZodOptional<z.ZodLiteral<"virtual_desktop">>;
2175
2178
  }, z.core.$strip>>;
2176
2179
  question: z.ZodString;
2177
2180
  description: z.ZodOptional<z.ZodString>;
@@ -2436,6 +2439,7 @@ declare const AssistantEventEnvelopeSchema: z.ZodObject<{
2436
2439
  description: z.ZodOptional<z.ZodString>;
2437
2440
  }, z.core.$strip>>;
2438
2441
  freeTextPlaceholder: z.ZodOptional<z.ZodString>;
2442
+ presentation: z.ZodOptional<z.ZodLiteral<"virtual_desktop">>;
2439
2443
  }, z.core.$strip>>;
2440
2444
  responses: z.ZodArray<z.ZodObject<{
2441
2445
  questionId: z.ZodString;
@@ -2548,6 +2552,7 @@ declare const AssistantEventEnvelopeSchema: z.ZodObject<{
2548
2552
  messageId: z.ZodOptional<z.ZodString>;
2549
2553
  requestId: z.ZodOptional<z.ZodString>;
2550
2554
  clientMessageId: z.ZodOptional<z.ZodString>;
2555
+ cameraFrame: z.ZodOptional<z.ZodLiteral<true>>;
2551
2556
  }, z.core.$strict>, z.ZodObject<{
2552
2557
  type: z.ZodLiteral<"watch_retro_completed">;
2553
2558
  sessionId: z.ZodString;
@@ -2781,6 +2786,7 @@ declare const AssistantEventPublishOptionsSchema: z.ZodObject<{
2781
2786
  host_file: "host_file";
2782
2787
  host_cu: "host_cu";
2783
2788
  host_cu_window_capture: "host_cu_window_capture";
2789
+ host_cu_sequence: "host_cu_sequence";
2784
2790
  host_cu_annotate: "host_cu_annotate";
2785
2791
  host_browser: "host_browser";
2786
2792
  host_app_control: "host_app_control";
@@ -2841,6 +2847,18 @@ declare const AssistantEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
2841
2847
  type: z.ZodLiteral<"acp_session_error">;
2842
2848
  acpSessionId: z.ZodString;
2843
2849
  error: z.ZodString;
2850
+ }, z.core.$strict>, z.ZodObject<{
2851
+ type: z.ZodLiteral<"acp_session_model_update">;
2852
+ acpSessionId: z.ZodString;
2853
+ modelRevisionEpoch: z.ZodString;
2854
+ modelRevision: z.ZodNumber;
2855
+ model: z.ZodOptional<z.ZodString>;
2856
+ availableModels: z.ZodArray<z.ZodObject<{
2857
+ value: z.ZodString;
2858
+ label: z.ZodString;
2859
+ description: z.ZodOptional<z.ZodString>;
2860
+ group: z.ZodOptional<z.ZodString>;
2861
+ }, z.core.$strip>>;
2844
2862
  }, z.core.$strict>, z.ZodObject<{
2845
2863
  type: z.ZodLiteral<"acp_session_spawned">;
2846
2864
  acpSessionId: z.ZodString;
@@ -3193,6 +3211,8 @@ declare const AssistantEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3193
3211
  type: z.ZodLiteral<"conversation_title_updated">;
3194
3212
  conversationId: z.ZodString;
3195
3213
  title: z.ZodString;
3214
+ }, z.core.$strip>, z.ZodObject<{
3215
+ type: z.ZodLiteral<"desktop_activity_changed">;
3196
3216
  }, z.core.$strip>, z.ZodObject<{
3197
3217
  type: z.ZodLiteral<"disk_pressure_status_changed">;
3198
3218
  status: z.ZodObject<{
@@ -3292,6 +3312,7 @@ declare const AssistantEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3292
3312
  sandbox_file: "sandbox_file";
3293
3313
  tool_block: "tool_block";
3294
3314
  }>>;
3315
+ computerUseScreenshot: z.ZodOptional<z.ZodBoolean>;
3295
3316
  sizeBytes: z.ZodOptional<z.ZodNumber>;
3296
3317
  thumbnailData: z.ZodOptional<z.ZodString>;
3297
3318
  fileBacked: z.ZodOptional<z.ZodBoolean>;
@@ -3572,6 +3593,7 @@ declare const AssistantEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3572
3593
  sandbox_file: "sandbox_file";
3573
3594
  tool_block: "tool_block";
3574
3595
  }>>;
3596
+ computerUseScreenshot: z.ZodOptional<z.ZodBoolean>;
3575
3597
  sizeBytes: z.ZodOptional<z.ZodNumber>;
3576
3598
  thumbnailData: z.ZodOptional<z.ZodString>;
3577
3599
  fileBacked: z.ZodOptional<z.ZodBoolean>;
@@ -3649,6 +3671,7 @@ declare const AssistantEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3649
3671
  }, z.core.$strip>, z.ZodObject<{
3650
3672
  type: z.ZodLiteral<"notification_intent">;
3651
3673
  sourceEventName: z.ZodString;
3674
+ assistantName: z.ZodOptional<z.ZodString>;
3652
3675
  title: z.ZodString;
3653
3676
  body: z.ZodString;
3654
3677
  deliveryId: z.ZodOptional<z.ZodString>;
@@ -3700,6 +3723,7 @@ declare const AssistantEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3700
3723
  description: z.ZodOptional<z.ZodString>;
3701
3724
  }, z.core.$strip>>;
3702
3725
  freeTextPlaceholder: z.ZodOptional<z.ZodString>;
3726
+ presentation: z.ZodOptional<z.ZodLiteral<"virtual_desktop">>;
3703
3727
  }, z.core.$strip>>;
3704
3728
  question: z.ZodString;
3705
3729
  description: z.ZodOptional<z.ZodString>;
@@ -3964,6 +3988,7 @@ declare const AssistantEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3964
3988
  description: z.ZodOptional<z.ZodString>;
3965
3989
  }, z.core.$strip>>;
3966
3990
  freeTextPlaceholder: z.ZodOptional<z.ZodString>;
3991
+ presentation: z.ZodOptional<z.ZodLiteral<"virtual_desktop">>;
3967
3992
  }, z.core.$strip>>;
3968
3993
  responses: z.ZodArray<z.ZodObject<{
3969
3994
  questionId: z.ZodString;
@@ -4076,6 +4101,7 @@ declare const AssistantEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
4076
4101
  messageId: z.ZodOptional<z.ZodString>;
4077
4102
  requestId: z.ZodOptional<z.ZodString>;
4078
4103
  clientMessageId: z.ZodOptional<z.ZodString>;
4104
+ cameraFrame: z.ZodOptional<z.ZodLiteral<true>>;
4079
4105
  }, z.core.$strict>, z.ZodObject<{
4080
4106
  type: z.ZodLiteral<"watch_retro_completed">;
4081
4107
  sessionId: z.ZodString;
@@ -4754,6 +4780,12 @@ export declare function getConversationDirPath(id: string, createdAtMs: number):
4754
4780
  */
4755
4781
  export declare function getConversationProcessingStartedAt(id: string): Promise<number | null>;
4756
4782
 
4783
+ /**
4784
+ * The tool definitions the conversation's most recent live turn sent to the
4785
+ * provider, or `null` when none has been recorded.
4786
+ */
4787
+ export declare function getConversationToolSurface(conversationId: string): Promise<ToolDefinition_2[] | null>;
4788
+
4757
4789
  /** Fetch one document from the calling plugin's index, or null. */
4758
4790
  export declare function getDocument(documentId: string): Promise<IndexedDocument | null>;
4759
4791
 
@@ -4849,6 +4881,7 @@ export declare type HookBroadcast = (detail: Record<string, unknown>) => void;
4849
4881
  * - `post-model-call` — {@link PostModelCallContext}
4850
4882
  * - `conversation-deleted` — {@link ConversationDeletedContext}
4851
4883
  * - `conversations-cleared` — {@link ConversationsClearedContext}
4884
+ * - `message-deleted`: {@link MessageDeletedContext}
4852
4885
  */
4853
4886
  export declare type HookFunction<TCtx = unknown> = (ctx: TCtx) => Promise<Partial<TCtx> | void>;
4854
4887
 
@@ -4890,6 +4923,8 @@ export declare const HOOKS: {
4890
4923
  readonly CONVERSATION_DELETED: "conversation-deleted";
4891
4924
  /** Fires once when every conversation is wiped at once (the clear-all reset), after the main tables are cleared. Carries no `conversationId`; cleanup hooks wipe their own per-conversation state wholesale. */
4892
4925
  readonly CONVERSATIONS_CLEARED: "conversations-cleared";
4926
+ /** Fires once per deleted message row, after the row is removed, carrying the row's `(createdAt, id)` so a hook can settle state that pointed at it. Fire-and-forget cleanup signal, like `conversation-deleted`; whole-conversation deletes dispatch that hook instead. */
4927
+ readonly MESSAGE_DELETED: "message-deleted";
4893
4928
  };
4894
4929
 
4895
4930
  /**
@@ -4904,7 +4939,7 @@ export declare const HOOKS: {
4904
4939
  *
4905
4940
  * Pure data and pure functions only: no imports, no daemon runtime graph.
4906
4941
  */
4907
- declare const HOST_PROXY_CAPABILITIES: readonly ["host_bash", "host_file", "host_cu", "host_cu_window_capture", "host_cu_annotate", "host_browser", "host_app_control", "host_ui_snapshot"];
4942
+ declare const HOST_PROXY_CAPABILITIES: readonly ["host_bash", "host_file", "host_cu", "host_cu_window_capture", "host_cu_sequence", "host_cu_annotate", "host_browser", "host_app_control", "host_ui_snapshot"];
4908
4943
 
4909
4944
  declare type HostProxyCapability = (typeof HOST_PROXY_CAPABILITIES)[number];
4910
4945
 
@@ -5116,7 +5151,9 @@ export declare function listConversations(limit?: number, conversationType?: Con
5116
5151
  */
5117
5152
  export declare function listInstalledSkills(): Promise<ResolvedSkillEntry[]>;
5118
5153
 
5119
- declare const _LIVE_VOICE_SERVER_FRAME_TYPES: readonly ["ready", "busy", "speech_started", "utterance_end", "utterance_discarded", "stt_partial", "stt_final", "thinking", "activity", "assistant_text_delta", "tts_audio", "tts_done", "turn_cancelled", "minimize_room", "metrics", "archived", "error"];
5154
+ declare const _LIVE_VOICE_SERVER_FRAME_TYPES: readonly ["ready", "busy", "speech_started", "utterance_end", "utterance_discarded", "stt_partial", "stt_final", "thinking", "activity", "assistant_text_delta", "tts_audio", "tts_done", "turn_cancelled", "minimize_room", "session_control", "metrics", "archived", "error"];
5155
+
5156
+ declare const LIVE_VOICE_SESSION_CONTROLS: readonly ["end", "mute", "look_screen", "look_camera", "look_stop"];
5120
5157
 
5121
5158
  declare const LIVE_VOICE_TURN_DETECTION_MODES: readonly ["manual", "server_vad"];
5122
5159
 
@@ -5293,8 +5330,6 @@ declare interface LiveVoiceMetricsServerFrame extends LiveVoiceServerFrameBase {
5293
5330
  * condition as the two fields above.
5294
5331
  */
5295
5332
  readonly endpointDecisionSource?: "front-door" | "provider";
5296
- /** Which floor-holding ack actually spoke during the turn, if any. */
5297
- readonly ackSpoken?: "first_delta" | "tool_use";
5298
5333
  /**
5299
5334
  * Spoken progress narrations during the turn. Present only when at least
5300
5335
  * one progress update spoke (otherwise the field is absent, keeping frames
@@ -5361,7 +5396,7 @@ declare interface LiveVoiceReadyServerFrame extends LiveVoiceServerFrameBase {
5361
5396
  readonly audioInput?: boolean;
5362
5397
  }
5363
5398
 
5364
- export declare type LiveVoiceServerFrame = LiveVoiceReadyServerFrame | LiveVoiceBusyServerFrame | LiveVoiceSpeechStartedServerFrame | LiveVoiceUtteranceEndServerFrame | LiveVoiceUtteranceDiscardedServerFrame | LiveVoiceSttPartialServerFrame | LiveVoiceSttFinalServerFrame | LiveVoiceThinkingServerFrame | LiveVoiceActivityServerFrame | LiveVoiceAssistantTextDeltaServerFrame | LiveVoiceTtsAudioServerFrame | LiveVoiceTtsDoneServerFrame | LiveVoiceTurnCancelledServerFrame | LiveVoiceMinimizeRoomServerFrame | LiveVoiceMetricsServerFrame | LiveVoiceArchivedServerFrame | LiveVoiceErrorServerFrame;
5399
+ export declare type LiveVoiceServerFrame = LiveVoiceReadyServerFrame | LiveVoiceBusyServerFrame | LiveVoiceSpeechStartedServerFrame | LiveVoiceUtteranceEndServerFrame | LiveVoiceUtteranceDiscardedServerFrame | LiveVoiceSttPartialServerFrame | LiveVoiceSttFinalServerFrame | LiveVoiceThinkingServerFrame | LiveVoiceActivityServerFrame | LiveVoiceAssistantTextDeltaServerFrame | LiveVoiceTtsAudioServerFrame | LiveVoiceTtsDoneServerFrame | LiveVoiceTurnCancelledServerFrame | LiveVoiceMinimizeRoomServerFrame | LiveVoiceSessionControlServerFrame | LiveVoiceMetricsServerFrame | LiveVoiceArchivedServerFrame | LiveVoiceErrorServerFrame;
5365
5400
 
5366
5401
  declare interface LiveVoiceServerFrameBase {
5367
5402
  readonly type: LiveVoiceServerFrameType;
@@ -5372,6 +5407,32 @@ declare type LiveVoiceServerFrameType = (typeof _LIVE_VOICE_SERVER_FRAME_TYPES)[
5372
5407
 
5373
5408
  export declare type LiveVoiceSessionCloseReason = "client_end" | "error" | "websocket_close" | "transport_closed" | "client_timeout" | "forced_end" | "manager_shutdown";
5374
5409
 
5410
+ /** A session control a client can carry out on the assistant's behalf. */
5411
+ declare type LiveVoiceSessionControl = (typeof LIVE_VOICE_SESSION_CONTROLS)[number];
5412
+
5413
+ /**
5414
+ * A session control the just-completed reply asked for with a terminal marker
5415
+ * (`[END_CALL]`, `[MUTE]`, `[MUTE:<seconds>]`). Sent only after the turn's TTS
5416
+ * has fully drained, so the spoken acknowledgement is heard first, never for a
5417
+ * turn the user barged in on, at most once per turn, and only for a control
5418
+ * the client listed in the start frame's `sessionControls`.
5419
+ *
5420
+ * - `end`: end the session the way the client's own end control does.
5421
+ * - `mute`: mute the microphone. With `durationMs`, unmute again once it
5422
+ * elapses; without, stay muted until the user unmutes. The timer is the
5423
+ * client's: a muted microphone sends silence, so the daemon cannot hear an
5424
+ * "unmute".
5425
+ * - `look_screen`: start showing the call the user's screen.
5426
+ * - `look_camera`: start showing the call what the camera sees.
5427
+ * - `look_stop`: stop showing the call the screen and the camera.
5428
+ */
5429
+ declare interface LiveVoiceSessionControlServerFrame extends LiveVoiceServerFrameBase {
5430
+ readonly type: "session_control";
5431
+ readonly turnId: string;
5432
+ readonly action: LiveVoiceSessionControl;
5433
+ readonly durationMs?: number;
5434
+ }
5435
+
5375
5436
  /**
5376
5437
  * Where the session holding the daemon's single live-voice slot is running,
5377
5438
  * as much of it as the daemon knows.
@@ -5535,6 +5596,37 @@ export declare interface Message {
5535
5596
  content: ContentBlock[];
5536
5597
  }
5537
5598
 
5599
+ /**
5600
+ * The full `message-deleted` context a hook receives: the dispatching call
5601
+ * site's {@link MessageDeletedInputContext} plus the pipeline-stamped
5602
+ * {@link BaseHookContext} capabilities.
5603
+ */
5604
+ export declare interface MessageDeletedContext extends MessageDeletedInputContext, BaseHookContext {
5605
+ }
5606
+
5607
+ /**
5608
+ * Context passed to the `message-deleted` hook. Fires once per deleted
5609
+ * message row, from the shared single-message delete primitive, after the row
5610
+ * is removed. Whole-conversation deletes dispatch `conversation-deleted`
5611
+ * instead.
5612
+ *
5613
+ * Fire-and-forget like `conversation-deleted`: the primitive is synchronous
5614
+ * and does not wait for the chain. The row is gone by the time a hook runs,
5615
+ * so the context carries the row's `createdAt` alongside its id. Together
5616
+ * they are the `(createdAt, id)` position the row held, which is what a hook
5617
+ * keeping a cursor on that row needs to record once the row can no longer be
5618
+ * looked up. The default memory plugin contributes a hook here that stamps
5619
+ * its retrospective cursor.
5620
+ */
5621
+ declare interface MessageDeletedInputContext {
5622
+ /** ID of the conversation that owned the row. */
5623
+ readonly conversationId: string;
5624
+ /** ID of the deleted message row. */
5625
+ readonly messageId: string;
5626
+ /** The deleted row's `createdAt`. */
5627
+ readonly createdAt: number;
5628
+ }
5629
+
5538
5630
  declare type MessageLexicalSearchResult = Awaited<ReturnType<searchMessageIdsLexical_2>>[number];
5539
5631
 
5540
5632
  declare interface MessageLexicalSearchResult_2 {
@@ -5632,6 +5724,7 @@ declare const messageMetadataSchema: z.ZodObject<{
5632
5724
  automated: z.ZodOptional<z.ZodBoolean>;
5633
5725
  hidden: z.ZodOptional<z.ZodBoolean>;
5634
5726
  voiceSessionTurn: z.ZodOptional<z.ZodBoolean>;
5727
+ computerUseScreenshotAttachmentIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
5635
5728
  messageKind: z.ZodOptional<z.ZodString>;
5636
5729
  assistantTextVisibility: z.ZodOptional<z.ZodString>;
5637
5730
  providerErrorCode: z.ZodOptional<z.ZodString>;
@@ -5823,6 +5916,11 @@ export declare interface PluginLogger {
5823
5916
  debug(obj: Record<string, unknown>, msg?: string): void;
5824
5917
  }
5825
5918
 
5919
+ export declare class PluginTurnNotAdmittedError extends Error {
5920
+ readonly reason: string;
5921
+ constructor(reason: string);
5922
+ }
5923
+
5826
5924
  /**
5827
5925
  * The full `post-compact` context a hook receives — the dispatching call
5828
5926
  * site's {@link PostCompactInputContext} plus the pipeline-stamped
@@ -6707,6 +6805,23 @@ export declare interface RunConversationTurnResult {
6707
6805
  queued?: boolean;
6708
6806
  }
6709
6807
 
6808
+ /**
6809
+ * Slice a string like `String.prototype.slice`, but never cut a UTF-16
6810
+ * surrogate pair in half.
6811
+ *
6812
+ * If the character at `end - 1` is a high surrogate *and* there is more of
6813
+ * the string beyond `end` (so cutting would actually orphan it), `end` is
6814
+ * decremented by one.
6815
+ *
6816
+ * If the character at `start` is a low surrogate *and* `start > 0` (so we
6817
+ * would be starting mid-pair), `start` is incremented by one.
6818
+ *
6819
+ * When `end === str.length` we do not touch a trailing high surrogate: if it
6820
+ * was already orphaned upstream, repairing it here would silently mutate
6821
+ * content. That is the sanitizer's job, not this function's.
6822
+ */
6823
+ export declare function safeStringSlice(str: string, start?: number, end?: number): string;
6824
+
6710
6825
  /** Sparse lexical search over stored message text; ranked message-id hits. */
6711
6826
  export declare function searchMessageIdsLexical(query: string, limit: number, opts?: {
6712
6827
  conversationId?: string;
package/index.js CHANGED
@@ -5,6 +5,7 @@ export const CredentialResolutionError = api.CredentialResolutionError;
5
5
  export const CredentialStoreError = api.CredentialStoreError;
6
6
  export const HOOKS = api.HOOKS;
7
7
  export const INTERNAL_NUDGE_OUTPUT_SUPPRESSION = api.INTERNAL_NUDGE_OUTPUT_SUPPRESSION;
8
+ export const PluginTurnNotAdmittedError = api.PluginTurnNotAdmittedError;
8
9
  export const REFUSAL_FALLBACK_TEXT = api.REFUSAL_FALLBACK_TEXT;
9
10
  export const RiskLevel = api.RiskLevel;
10
11
  export const TtsSynthesisError = api.TtsSynthesisError;
@@ -25,6 +26,7 @@ export const getConfiguredProvider = api.getConfiguredProvider;
25
26
  export const getConversation = api.getConversation;
26
27
  export const getConversationDirPath = api.getConversationDirPath;
27
28
  export const getConversationProcessingStartedAt = api.getConversationProcessingStartedAt;
29
+ export const getConversationToolSurface = api.getConversationToolSurface;
28
30
  export const getDocument = api.getDocument;
29
31
  export const getMessages = api.getMessages;
30
32
  export const getModelProfiles = api.getModelProfiles;
@@ -54,6 +56,7 @@ export const resolveOauthCallbackUrl = api.resolveOauthCallbackUrl;
54
56
  export const resolveUserName = api.resolveUserName;
55
57
  export const resolveWebhookUrl = api.resolveWebhookUrl;
56
58
  export const runConversationTurn = api.runConversationTurn;
59
+ export const safeStringSlice = api.safeStringSlice;
57
60
  export const searchMessageIdsLexical = api.searchMessageIdsLexical;
58
61
  export const selectedBackendSupportsMultimodal = api.selectedBackendSupportsMultimodal;
59
62
  export const storeCredential = api.storeCredential;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vellumai/plugin-api",
3
- "version": "0.12.1",
3
+ "version": "0.12.2-dev.202609162314.7778bc8",
4
4
  "description": "Public TypeScript authoring contract for Vellum assistant plugins.",
5
5
  "license": "MIT",
6
6
  "type": "module",