@vellumai/plugin-api 0.11.7-staging.2 → 0.11.8-staging.1

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 +118 -7
  2. package/index.js +2 -0
  3. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -1065,6 +1065,7 @@ declare const AssistantConfigSchema: z.ZodObject<{
1065
1065
  }>>;
1066
1066
  vad: z.ZodDefault<z.ZodObject<{
1067
1067
  speechEnergyThreshold: z.ZodDefault<z.ZodNumber>;
1068
+ noiseFloorMargin: z.ZodDefault<z.ZodNumber>;
1068
1069
  silenceThresholdMs: z.ZodDefault<z.ZodNumber>;
1069
1070
  maxTurnDurationMs: z.ZodDefault<z.ZodNumber>;
1070
1071
  bargeInMinSpeechMs: z.ZodDefault<z.ZodNumber>;
@@ -1098,6 +1099,9 @@ declare const AssistantConfigSchema: z.ZodObject<{
1098
1099
  maxSessionDurationSeconds: z.ZodDefault<z.ZodNumber>;
1099
1100
  archiveAudio: z.ZodDefault<z.ZodBoolean>;
1100
1101
  }, z.core.$strip>>;
1102
+ sight: z.ZodDefault<z.ZodObject<{
1103
+ keepLatestFrames: z.ZodDefault<z.ZodNumber>;
1104
+ }, z.core.$strip>>;
1101
1105
  whatsapp: z.ZodDefault<z.ZodObject<{
1102
1106
  phoneNumber: z.ZodDefault<z.ZodString>;
1103
1107
  deliverAuthBypass: z.ZodDefault<z.ZodBoolean>;
@@ -1479,6 +1483,34 @@ declare const AssistantEventEnvelopeSchema: z.ZodObject<{
1479
1483
  causedByRequestId: z.ZodOptional<z.ZodString>;
1480
1484
  decisionText: z.ZodOptional<z.ZodString>;
1481
1485
  toolUseId: z.ZodOptional<z.ZodString>;
1486
+ }, z.core.$strip>, z.ZodObject<{
1487
+ type: z.ZodLiteral<"contact_form_closed">;
1488
+ requestId: z.ZodString;
1489
+ reason: z.ZodEnum<{
1490
+ cancelled: "cancelled";
1491
+ timed_out: "timed_out";
1492
+ answered: "answered";
1493
+ }>;
1494
+ }, z.core.$strip>, z.ZodObject<{
1495
+ type: z.ZodLiteral<"contact_record_request">;
1496
+ requestId: z.ZodString;
1497
+ operation: z.ZodEnum<{
1498
+ delete: "delete";
1499
+ create: "create";
1500
+ update: "update";
1501
+ }>;
1502
+ contactId: z.ZodOptional<z.ZodString>;
1503
+ currentDisplayName: z.ZodOptional<z.ZodString>;
1504
+ currentNotes: z.ZodOptional<z.ZodString>;
1505
+ channels: z.ZodOptional<z.ZodArray<z.ZodObject<{
1506
+ type: z.ZodString;
1507
+ address: z.ZodString;
1508
+ }, z.core.$strip>>>;
1509
+ displayName: z.ZodOptional<z.ZodString>;
1510
+ notes: z.ZodOptional<z.ZodString>;
1511
+ notesProposed: z.ZodOptional<z.ZodBoolean>;
1512
+ label: z.ZodOptional<z.ZodString>;
1513
+ description: z.ZodOptional<z.ZodString>;
1482
1514
  }, z.core.$strip>, z.ZodObject<{
1483
1515
  type: z.ZodLiteral<"contact_request">;
1484
1516
  requestId: z.ZodString;
@@ -1488,6 +1520,7 @@ declare const AssistantEventEnvelopeSchema: z.ZodObject<{
1488
1520
  label: z.ZodOptional<z.ZodString>;
1489
1521
  description: z.ZodOptional<z.ZodString>;
1490
1522
  role: z.ZodOptional<z.ZodString>;
1523
+ verify: z.ZodOptional<z.ZodBoolean>;
1491
1524
  }, z.core.$strip>, z.ZodObject<{
1492
1525
  type: z.ZodLiteral<"contacts_changed">;
1493
1526
  }, z.core.$strip>, z.ZodObject<{
@@ -1907,8 +1940,8 @@ declare const AssistantEventEnvelopeSchema: z.ZodObject<{
1907
1940
  approved: "approved";
1908
1941
  cancelled: "cancelled";
1909
1942
  superseded: "superseded";
1910
- rejected: "rejected";
1911
1943
  answered: "answered";
1944
+ rejected: "rejected";
1912
1945
  }>;
1913
1946
  kind: z.ZodString;
1914
1947
  }, z.core.$strip>, z.ZodObject<{
@@ -2970,6 +3003,34 @@ declare const AssistantEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
2970
3003
  causedByRequestId: z.ZodOptional<z.ZodString>;
2971
3004
  decisionText: z.ZodOptional<z.ZodString>;
2972
3005
  toolUseId: z.ZodOptional<z.ZodString>;
3006
+ }, z.core.$strip>, z.ZodObject<{
3007
+ type: z.ZodLiteral<"contact_form_closed">;
3008
+ requestId: z.ZodString;
3009
+ reason: z.ZodEnum<{
3010
+ cancelled: "cancelled";
3011
+ timed_out: "timed_out";
3012
+ answered: "answered";
3013
+ }>;
3014
+ }, z.core.$strip>, z.ZodObject<{
3015
+ type: z.ZodLiteral<"contact_record_request">;
3016
+ requestId: z.ZodString;
3017
+ operation: z.ZodEnum<{
3018
+ delete: "delete";
3019
+ create: "create";
3020
+ update: "update";
3021
+ }>;
3022
+ contactId: z.ZodOptional<z.ZodString>;
3023
+ currentDisplayName: z.ZodOptional<z.ZodString>;
3024
+ currentNotes: z.ZodOptional<z.ZodString>;
3025
+ channels: z.ZodOptional<z.ZodArray<z.ZodObject<{
3026
+ type: z.ZodString;
3027
+ address: z.ZodString;
3028
+ }, z.core.$strip>>>;
3029
+ displayName: z.ZodOptional<z.ZodString>;
3030
+ notes: z.ZodOptional<z.ZodString>;
3031
+ notesProposed: z.ZodOptional<z.ZodBoolean>;
3032
+ label: z.ZodOptional<z.ZodString>;
3033
+ description: z.ZodOptional<z.ZodString>;
2973
3034
  }, z.core.$strip>, z.ZodObject<{
2974
3035
  type: z.ZodLiteral<"contact_request">;
2975
3036
  requestId: z.ZodString;
@@ -2979,6 +3040,7 @@ declare const AssistantEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
2979
3040
  label: z.ZodOptional<z.ZodString>;
2980
3041
  description: z.ZodOptional<z.ZodString>;
2981
3042
  role: z.ZodOptional<z.ZodString>;
3043
+ verify: z.ZodOptional<z.ZodBoolean>;
2982
3044
  }, z.core.$strip>, z.ZodObject<{
2983
3045
  type: z.ZodLiteral<"contacts_changed">;
2984
3046
  }, z.core.$strip>, z.ZodObject<{
@@ -3398,8 +3460,8 @@ declare const AssistantEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3398
3460
  approved: "approved";
3399
3461
  cancelled: "cancelled";
3400
3462
  superseded: "superseded";
3401
- rejected: "rejected";
3402
3463
  answered: "answered";
3464
+ rejected: "rejected";
3403
3465
  }>;
3404
3466
  kind: z.ZodString;
3405
3467
  }, z.core.$strip>, z.ZodObject<{
@@ -4030,6 +4092,26 @@ export declare interface AssistantEventSubscription {
4030
4092
  readonly connectionId: string;
4031
4093
  }
4032
4094
 
4095
+ /**
4096
+ * The `_attachmentId` property as a spreadable fragment, or nothing when there
4097
+ * is no usable id.
4098
+ *
4099
+ * Every producer of a media block faces the same choice: it either knows the
4100
+ * attachment row the block came from, or it does not, and the field has to be
4101
+ * absent rather than present-and-empty in the second case. This helper is the
4102
+ * one place that decision lives, so every producer answers it the same way.
4103
+ * Callers pass whatever id they hold: the source block's own
4104
+ * ({@link ImageContent._attachmentId}) when carrying it across a rebuild, or an
4105
+ * upload's row id when stamping a fresh block.
4106
+ *
4107
+ * Empty counts as absent, matching the read side, which requires a non-empty
4108
+ * string before it will treat the field as an id (see
4109
+ * `daemon/handlers/shared.ts`).
4110
+ */
4111
+ export declare function attachmentIdFragment(attachmentId: string | undefined): {
4112
+ _attachmentId?: string;
4113
+ };
4114
+
4033
4115
  export declare interface AudioEmbeddingInput {
4034
4116
  type: "audio";
4035
4117
  data: Buffer;
@@ -4744,6 +4826,19 @@ declare type HostProxyCapability = (typeof HOST_PROXY_CAPABILITIES)[number];
4744
4826
  export declare interface ImageContent {
4745
4827
  type: "image";
4746
4828
  source: MediaSource_2;
4829
+ /**
4830
+ * Internal id linking a base64 image block to a row in the attachments table,
4831
+ * the same correlation {@link FileContent._attachmentId} carries. A live turn
4832
+ * sends its uploads inline while persisting them as references, so this is
4833
+ * the only handle on the in-memory copy of an image whose stored form is a
4834
+ * `workspace_ref`; camera-frame retention matches on it. Redundant once the
4835
+ * block is a reference (use `source.attachmentId`).
4836
+ *
4837
+ * Never reaches a provider: every client builds its image payload out of
4838
+ * `source` alone (see the `case "image"` arms of the Anthropic, Gemini, and
4839
+ * both OpenAI clients), so top-level fields are dropped by construction.
4840
+ */
4841
+ _attachmentId?: string;
4747
4842
  }
4748
4843
 
4749
4844
  export declare interface ImageEmbeddingInput {
@@ -5032,11 +5127,12 @@ declare interface LiveVoiceErrorServerFrame extends LiveVoiceServerFrameBase {
5032
5127
  * daemons predating the field.
5033
5128
  *
5034
5129
  * It exists so an `unknown_type` is attributable. A client that sends more
5035
- * than one optional frame (today: `update_config` and `attach_image`) gets
5036
- * the same code for either, and without this has to assume which one was
5037
- * refused. The wrong assumption is silent in both directions: settings stop
5038
- * applying for a session, or a photo the user watched themselves take is
5039
- * dropped with nothing said.
5130
+ * than one optional frame (today: `update_config`, `attach_image`,
5131
+ * `attach_frame`, `sight_frame`, and `text`) gets the same code for any of
5132
+ * them, and without this has to assume which one was refused. The wrong
5133
+ * assumption is silent in both directions: settings stop applying for a
5134
+ * session, or a photo the user watched themselves take is dropped with
5135
+ * nothing said.
5040
5136
  */
5041
5137
  readonly frameType?: string;
5042
5138
  /**
@@ -5314,6 +5410,21 @@ declare const LLMCallSiteEnum: z.ZodEnum<{
5314
5410
  workflowLeaf: "workflowLeaf";
5315
5411
  }>;
5316
5412
 
5413
+ /**
5414
+ * The attachment row a media block came from, whichever of the two shapes it
5415
+ * is in, or undefined for a block that came from none (tool-generated and
5416
+ * assistant-authored media).
5417
+ *
5418
+ * A reference names its row on `source.attachmentId`; an inline block has
5419
+ * nowhere to put it but the top-level `_attachmentId`. Both are the same fact,
5420
+ * so anything asking "which attachment is this?" has to read both or it goes
5421
+ * blind on half the histories. Reading only `_attachmentId` in particular is
5422
+ * the sharp edge: it is absent on every reference block, so a rebuild that
5423
+ * flattens a reference to inline bytes drops the link unless it derives the id
5424
+ * through here first.
5425
+ */
5426
+ export declare function mediaBlockAttachmentId(block: ImageContent | FileContent): string | undefined;
5427
+
5317
5428
  declare type MediaSource_2 = Base64MediaSource | WorkspaceRefMediaSource;
5318
5429
 
5319
5430
  export declare interface Message {
package/index.js CHANGED
@@ -11,6 +11,7 @@ export const TtsSynthesisError = api.TtsSynthesisError;
11
11
  export const VOICE_ESCALATION_CONTINUATION_MESSAGE_KIND = api.VOICE_ESCALATION_CONTINUATION_MESSAGE_KIND;
12
12
  export const addMessage = api.addMessage;
13
13
  export const assistantEventHub = api.assistantEventHub;
14
+ export const attachmentIdFragment = api.attachmentIdFragment;
14
15
  export const buildMessageExcerpt = api.buildMessageExcerpt;
15
16
  export const createLiveVoiceConnection = api.createLiveVoiceConnection;
16
17
  export const deleteConversation = api.deleteConversation;
@@ -38,6 +39,7 @@ export const lastToolResultUserMessageIndex = api.lastToolResultUserMessageIndex
38
39
  export const listCatalogSkills = api.listCatalogSkills;
39
40
  export const listConversations = api.listConversations;
40
41
  export const listInstalledSkills = api.listInstalledSkills;
42
+ export const mediaBlockAttachmentId = api.mediaBlockAttachmentId;
41
43
  export const openTranscriptionSession = api.openTranscriptionSession;
42
44
  export const parseMessageMetadata = api.parseMessageMetadata;
43
45
  export const persistSystemCard = api.persistSystemCard;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vellumai/plugin-api",
3
- "version": "0.11.7-staging.2",
3
+ "version": "0.11.8-staging.1",
4
4
  "description": "Public TypeScript authoring contract for Vellum assistant plugins.",
5
5
  "license": "MIT",
6
6
  "type": "module",