@vellumai/plugin-api 0.12.0 → 0.12.1-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 (2) hide show
  1. package/index.d.ts +74 -47
  2. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -167,10 +167,10 @@ declare const AssistantConfigSchema: z.ZodObject<{
167
167
  language: z.ZodDefault<z.ZodString>;
168
168
  providers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
169
169
  roles: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
170
- watch: "watch";
171
170
  liveVoice: "liveVoice";
172
171
  telephony: "telephony";
173
172
  dictation: "dictation";
173
+ watch: "watch";
174
174
  batch: "batch";
175
175
  }> & z.core.$partial, z.ZodObject<{
176
176
  provider: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodEnum<{
@@ -592,6 +592,7 @@ declare const AssistantConfigSchema: z.ZodObject<{
592
592
  }, z.core.$strip>>;
593
593
  retrospective: z.ZodDefault<z.ZodObject<{
594
594
  enabled: z.ZodDefault<z.ZodBoolean>;
595
+ skillImprovement: z.ZodDefault<z.ZodBoolean>;
595
596
  timeThresholdMs: z.ZodDefault<z.ZodNumber>;
596
597
  messageThreshold: z.ZodDefault<z.ZodNumber>;
597
598
  minCooldownMs: z.ZodDefault<z.ZodNumber>;
@@ -945,31 +946,14 @@ declare const AssistantConfigSchema: z.ZodObject<{
945
946
  }, z.core.$strip>>;
946
947
  localDirectory: z.ZodDefault<z.ZodNullable<z.ZodString>>;
947
948
  }, 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
949
  acp: z.ZodDefault<z.ZodObject<{
967
950
  maxConcurrentSessions: z.ZodDefault<z.ZodNumber>;
968
951
  agents: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
969
- command: z.ZodString;
952
+ command: z.ZodOptional<z.ZodString>;
970
953
  args: z.ZodDefault<z.ZodArray<z.ZodString>>;
971
954
  description: z.ZodOptional<z.ZodString>;
972
955
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
956
+ model: z.ZodOptional<z.ZodString>;
973
957
  }, z.core.$strip>>>;
974
958
  }, z.core.$strip>>;
975
959
  skills: z.ZodDefault<z.ZodObject<{
@@ -981,8 +965,6 @@ declare const AssistantConfigSchema: z.ZodObject<{
981
965
  }, z.core.$strip>>>;
982
966
  load: z.ZodDefault<z.ZodObject<{
983
967
  extraDirs: z.ZodDefault<z.ZodArray<z.ZodString>>;
984
- watch: z.ZodDefault<z.ZodBoolean>;
985
- watchDebounceMs: z.ZodDefault<z.ZodNumber>;
986
968
  }, z.core.$strip>>;
987
969
  install: z.ZodDefault<z.ZodObject<{
988
970
  nodeManager: z.ZodDefault<z.ZodEnum<{
@@ -1077,15 +1059,7 @@ declare const AssistantConfigSchema: z.ZodObject<{
1077
1059
  enabled: z.ZodDefault<z.ZodBoolean>;
1078
1060
  text: z.ZodDefault<z.ZodString>;
1079
1061
  }, z.core.$strip>>;
1080
- safety: z.ZodDefault<z.ZodObject<{
1081
- denyCategories: z.ZodDefault<z.ZodArray<z.ZodString>>;
1082
- }, z.core.$strip>>;
1083
1062
  voice: z.ZodDefault<z.ZodObject<{
1084
- interruptSensitivity: z.ZodDefault<z.ZodEnum<{
1085
- low: "low";
1086
- medium: "medium";
1087
- high: "high";
1088
- }>>;
1089
1063
  telephonyStreaming: z.ZodDefault<z.ZodBoolean>;
1090
1064
  utteranceEndMs: z.ZodDefault<z.ZodNumber>;
1091
1065
  }, z.core.$strip>>;
@@ -1100,10 +1074,6 @@ declare const AssistantConfigSchema: z.ZodObject<{
1100
1074
  }, z.core.$strip>>;
1101
1075
  }, z.core.$strip>>;
1102
1076
  liveVoice: z.ZodDefault<z.ZodObject<{
1103
- mode: z.ZodDefault<z.ZodEnum<{
1104
- ptt: "ptt";
1105
- "open-mic": "open-mic";
1106
- }>>;
1107
1077
  vad: z.ZodDefault<z.ZodObject<{
1108
1078
  speechEnergyThreshold: z.ZodDefault<z.ZodNumber>;
1109
1079
  noiseFloorMargin: z.ZodDefault<z.ZodNumber>;
@@ -1114,6 +1084,18 @@ declare const AssistantConfigSchema: z.ZodObject<{
1114
1084
  echoEmaHalfLifeMs: z.ZodDefault<z.ZodNumber>;
1115
1085
  echoDrainSlackMs: z.ZodDefault<z.ZodNumber>;
1116
1086
  }, z.core.$strip>>;
1087
+ flux: z.ZodDefault<z.ZodObject<{
1088
+ turnEnd: z.ZodDefault<z.ZodObject<{
1089
+ enabled: z.ZodDefault<z.ZodBoolean>;
1090
+ }, z.core.$strip>>;
1091
+ model: z.ZodOptional<z.ZodString>;
1092
+ eotThreshold: z.ZodDefault<z.ZodNumber>;
1093
+ eagerEotThreshold: z.ZodOptional<z.ZodNumber>;
1094
+ eotTimeoutMs: z.ZodDefault<z.ZodNumber>;
1095
+ }, z.core.$strip>>;
1096
+ archiveAudio: z.ZodDefault<z.ZodBoolean>;
1097
+ }, z.core.$strip>>;
1098
+ voice: z.ZodDefault<z.ZodObject<{
1117
1099
  frontModel: z.ZodDefault<z.ZodObject<{
1118
1100
  endpointDecisionTimeoutMs: z.ZodDefault<z.ZodNumber>;
1119
1101
  endpointExtensionMs: z.ZodDefault<z.ZodNumber>;
@@ -1128,17 +1110,6 @@ declare const AssistantConfigSchema: z.ZodObject<{
1128
1110
  generationTimeoutMs: z.ZodDefault<z.ZodNumber>;
1129
1111
  }, z.core.$strip>>;
1130
1112
  }, 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
1113
  }, z.core.$strip>>;
1143
1114
  sight: z.ZodDefault<z.ZodObject<{
1144
1115
  keepLatestFrames: z.ZodDefault<z.ZodNumber>;
@@ -1313,6 +1284,18 @@ declare const AssistantEventEnvelopeSchema: z.ZodObject<{
1313
1284
  type: z.ZodLiteral<"acp_session_error">;
1314
1285
  acpSessionId: z.ZodString;
1315
1286
  error: z.ZodString;
1287
+ }, z.core.$strict>, z.ZodObject<{
1288
+ type: z.ZodLiteral<"acp_session_model_update">;
1289
+ acpSessionId: z.ZodString;
1290
+ modelRevisionEpoch: z.ZodString;
1291
+ modelRevision: z.ZodNumber;
1292
+ model: z.ZodOptional<z.ZodString>;
1293
+ availableModels: z.ZodArray<z.ZodObject<{
1294
+ value: z.ZodString;
1295
+ label: z.ZodString;
1296
+ description: z.ZodOptional<z.ZodString>;
1297
+ group: z.ZodOptional<z.ZodString>;
1298
+ }, z.core.$strip>>;
1316
1299
  }, z.core.$strict>, z.ZodObject<{
1317
1300
  type: z.ZodLiteral<"acp_session_spawned">;
1318
1301
  acpSessionId: z.ZodString;
@@ -2841,6 +2824,18 @@ declare const AssistantEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
2841
2824
  type: z.ZodLiteral<"acp_session_error">;
2842
2825
  acpSessionId: z.ZodString;
2843
2826
  error: z.ZodString;
2827
+ }, z.core.$strict>, z.ZodObject<{
2828
+ type: z.ZodLiteral<"acp_session_model_update">;
2829
+ acpSessionId: z.ZodString;
2830
+ modelRevisionEpoch: z.ZodString;
2831
+ modelRevision: z.ZodNumber;
2832
+ model: z.ZodOptional<z.ZodString>;
2833
+ availableModels: z.ZodArray<z.ZodObject<{
2834
+ value: z.ZodString;
2835
+ label: z.ZodString;
2836
+ description: z.ZodOptional<z.ZodString>;
2837
+ group: z.ZodOptional<z.ZodString>;
2838
+ }, z.core.$strip>>;
2844
2839
  }, z.core.$strict>, z.ZodObject<{
2845
2840
  type: z.ZodLiteral<"acp_session_spawned">;
2846
2841
  acpSessionId: z.ZodString;
@@ -4849,6 +4844,7 @@ export declare type HookBroadcast = (detail: Record<string, unknown>) => void;
4849
4844
  * - `post-model-call` — {@link PostModelCallContext}
4850
4845
  * - `conversation-deleted` — {@link ConversationDeletedContext}
4851
4846
  * - `conversations-cleared` — {@link ConversationsClearedContext}
4847
+ * - `message-deleted`: {@link MessageDeletedContext}
4852
4848
  */
4853
4849
  export declare type HookFunction<TCtx = unknown> = (ctx: TCtx) => Promise<Partial<TCtx> | void>;
4854
4850
 
@@ -4890,6 +4886,8 @@ export declare const HOOKS: {
4890
4886
  readonly CONVERSATION_DELETED: "conversation-deleted";
4891
4887
  /** 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
4888
  readonly CONVERSATIONS_CLEARED: "conversations-cleared";
4889
+ /** 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. */
4890
+ readonly MESSAGE_DELETED: "message-deleted";
4893
4891
  };
4894
4892
 
4895
4893
  /**
@@ -5293,8 +5291,6 @@ declare interface LiveVoiceMetricsServerFrame extends LiveVoiceServerFrameBase {
5293
5291
  * condition as the two fields above.
5294
5292
  */
5295
5293
  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
5294
  /**
5299
5295
  * Spoken progress narrations during the turn. Present only when at least
5300
5296
  * one progress update spoke (otherwise the field is absent, keeping frames
@@ -5535,6 +5531,37 @@ export declare interface Message {
5535
5531
  content: ContentBlock[];
5536
5532
  }
5537
5533
 
5534
+ /**
5535
+ * The full `message-deleted` context a hook receives: the dispatching call
5536
+ * site's {@link MessageDeletedInputContext} plus the pipeline-stamped
5537
+ * {@link BaseHookContext} capabilities.
5538
+ */
5539
+ export declare interface MessageDeletedContext extends MessageDeletedInputContext, BaseHookContext {
5540
+ }
5541
+
5542
+ /**
5543
+ * Context passed to the `message-deleted` hook. Fires once per deleted
5544
+ * message row, from the shared single-message delete primitive, after the row
5545
+ * is removed. Whole-conversation deletes dispatch `conversation-deleted`
5546
+ * instead.
5547
+ *
5548
+ * Fire-and-forget like `conversation-deleted`: the primitive is synchronous
5549
+ * and does not wait for the chain. The row is gone by the time a hook runs,
5550
+ * so the context carries the row's `createdAt` alongside its id. Together
5551
+ * they are the `(createdAt, id)` position the row held, which is what a hook
5552
+ * keeping a cursor on that row needs to record once the row can no longer be
5553
+ * looked up. The default memory plugin contributes a hook here that stamps
5554
+ * its retrospective cursor.
5555
+ */
5556
+ declare interface MessageDeletedInputContext {
5557
+ /** ID of the conversation that owned the row. */
5558
+ readonly conversationId: string;
5559
+ /** ID of the deleted message row. */
5560
+ readonly messageId: string;
5561
+ /** The deleted row's `createdAt`. */
5562
+ readonly createdAt: number;
5563
+ }
5564
+
5538
5565
  declare type MessageLexicalSearchResult = Awaited<ReturnType<searchMessageIdsLexical_2>>[number];
5539
5566
 
5540
5567
  declare interface MessageLexicalSearchResult_2 {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vellumai/plugin-api",
3
- "version": "0.12.0",
3
+ "version": "0.12.1-staging.1",
4
4
  "description": "Public TypeScript authoring contract for Vellum assistant plugins.",
5
5
  "license": "MIT",
6
6
  "type": "module",