@vellumai/plugin-api 0.11.6 → 0.11.7-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.
- package/index.d.ts +187 -37
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -148,14 +148,29 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
148
148
|
stt: z.ZodDefault<z.ZodObject<{
|
|
149
149
|
provider: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodEnum<{
|
|
150
150
|
vellum: "vellum";
|
|
151
|
+
"openai-whisper": "openai-whisper";
|
|
151
152
|
deepgram: "deepgram";
|
|
152
|
-
"deepgram-flux": "deepgram-flux";
|
|
153
153
|
"google-gemini": "google-gemini";
|
|
154
|
-
"openai-whisper": "openai-whisper";
|
|
155
154
|
xai: "xai";
|
|
156
155
|
}>>;
|
|
157
156
|
language: z.ZodDefault<z.ZodString>;
|
|
158
157
|
providers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
|
|
158
|
+
roles: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
|
|
159
|
+
watch: "watch";
|
|
160
|
+
liveVoice: "liveVoice";
|
|
161
|
+
telephony: "telephony";
|
|
162
|
+
dictation: "dictation";
|
|
163
|
+
batch: "batch";
|
|
164
|
+
}> & z.core.$partial, z.ZodObject<{
|
|
165
|
+
provider: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodEnum<{
|
|
166
|
+
vellum: "vellum";
|
|
167
|
+
"openai-whisper": "openai-whisper";
|
|
168
|
+
deepgram: "deepgram";
|
|
169
|
+
"google-gemini": "google-gemini";
|
|
170
|
+
xai: "xai";
|
|
171
|
+
}>>;
|
|
172
|
+
model: z.ZodOptional<z.ZodString>;
|
|
173
|
+
}, z.core.$strip>>>;
|
|
159
174
|
}, z.core.$strip>>;
|
|
160
175
|
tts: z.ZodDefault<z.ZodObject<{
|
|
161
176
|
provider: z.ZodDefault<z.ZodEnum<{
|
|
@@ -181,9 +196,9 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
181
196
|
referenceId: z.ZodDefault<z.ZodString>;
|
|
182
197
|
chunkLength: z.ZodDefault<z.ZodNumber>;
|
|
183
198
|
format: z.ZodDefault<z.ZodEnum<{
|
|
199
|
+
opus: "opus";
|
|
184
200
|
mp3: "mp3";
|
|
185
201
|
wav: "wav";
|
|
186
|
-
opus: "opus";
|
|
187
202
|
}>>;
|
|
188
203
|
latency: z.ZodDefault<z.ZodEnum<{
|
|
189
204
|
balanced: "balanced";
|
|
@@ -194,9 +209,9 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
194
209
|
deepgram: z.ZodDefault<z.ZodObject<{
|
|
195
210
|
model: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
|
|
196
211
|
format: z.ZodDefault<z.ZodEnum<{
|
|
212
|
+
opus: "opus";
|
|
197
213
|
mp3: "mp3";
|
|
198
214
|
wav: "wav";
|
|
199
|
-
opus: "opus";
|
|
200
215
|
}>>;
|
|
201
216
|
languageVoices: z.ZodOptional<z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodString>, z.ZodTransform<{
|
|
202
217
|
[k: string]: string;
|
|
@@ -280,6 +295,24 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
280
295
|
"your-own": "your-own";
|
|
281
296
|
}>>;
|
|
282
297
|
}, z.core.$strip>>;
|
|
298
|
+
"monday-oauth": z.ZodDefault<z.ZodObject<{
|
|
299
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
300
|
+
managed: "managed";
|
|
301
|
+
"your-own": "your-own";
|
|
302
|
+
}>>;
|
|
303
|
+
}, z.core.$strip>>;
|
|
304
|
+
"eventbrite-oauth": z.ZodDefault<z.ZodObject<{
|
|
305
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
306
|
+
managed: "managed";
|
|
307
|
+
"your-own": "your-own";
|
|
308
|
+
}>>;
|
|
309
|
+
}, z.core.$strip>>;
|
|
310
|
+
"calendly-oauth": z.ZodDefault<z.ZodObject<{
|
|
311
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
312
|
+
managed: "managed";
|
|
313
|
+
"your-own": "your-own";
|
|
314
|
+
}>>;
|
|
315
|
+
}, z.core.$strip>>;
|
|
283
316
|
}, z.core.$strip>>;
|
|
284
317
|
memory: z.ZodDefault<z.ZodObject<{
|
|
285
318
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -528,10 +561,6 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
528
561
|
}, z.core.$strip>>;
|
|
529
562
|
retrospective: z.ZodDefault<z.ZodObject<{
|
|
530
563
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
531
|
-
forkStrategy: z.ZodDefault<z.ZodEnum<{
|
|
532
|
-
cloning: "cloning";
|
|
533
|
-
reference: "reference";
|
|
534
|
-
}>>;
|
|
535
564
|
timeThresholdMs: z.ZodDefault<z.ZodNumber>;
|
|
536
565
|
messageThreshold: z.ZodDefault<z.ZodNumber>;
|
|
537
566
|
minCooldownMs: z.ZodDefault<z.ZodNumber>;
|
|
@@ -600,10 +629,10 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
600
629
|
model: z.ZodOptional<z.ZodString>;
|
|
601
630
|
maxTokens: z.ZodOptional<z.ZodNumber>;
|
|
602
631
|
effort: z.ZodOptional<z.ZodEnum<{
|
|
632
|
+
none: "none";
|
|
603
633
|
low: "low";
|
|
604
634
|
medium: "medium";
|
|
605
635
|
high: "high";
|
|
606
|
-
none: "none";
|
|
607
636
|
xhigh: "xhigh";
|
|
608
637
|
max: "max";
|
|
609
638
|
}>>;
|
|
@@ -673,6 +702,7 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
673
702
|
profile: z.ZodString;
|
|
674
703
|
weight: z.ZodNumber;
|
|
675
704
|
}, z.core.$strip>>>;
|
|
705
|
+
fallbackProfile: z.ZodOptional<z.ZodString>;
|
|
676
706
|
}, z.core.$strip>>>;
|
|
677
707
|
profileOrder: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
678
708
|
callSites: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
|
|
@@ -723,10 +753,10 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
723
753
|
model: z.ZodOptional<z.ZodString>;
|
|
724
754
|
maxTokens: z.ZodOptional<z.ZodNumber>;
|
|
725
755
|
effort: z.ZodOptional<z.ZodEnum<{
|
|
756
|
+
none: "none";
|
|
726
757
|
low: "low";
|
|
727
758
|
medium: "medium";
|
|
728
759
|
high: "high";
|
|
729
|
-
none: "none";
|
|
730
760
|
xhigh: "xhigh";
|
|
731
761
|
max: "max";
|
|
732
762
|
}>>;
|
|
@@ -1060,7 +1090,7 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
1060
1090
|
turnEnd: z.ZodDefault<z.ZodObject<{
|
|
1061
1091
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1062
1092
|
}, z.core.$strip>>;
|
|
1063
|
-
model: z.
|
|
1093
|
+
model: z.ZodOptional<z.ZodString>;
|
|
1064
1094
|
eotThreshold: z.ZodDefault<z.ZodNumber>;
|
|
1065
1095
|
eagerEotThreshold: z.ZodOptional<z.ZodNumber>;
|
|
1066
1096
|
eotTimeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
@@ -1097,6 +1127,12 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
1097
1127
|
mention_then_thread: "mention_then_thread";
|
|
1098
1128
|
}>>;
|
|
1099
1129
|
}, z.core.$strip>>;
|
|
1130
|
+
discord: z.ZodDefault<z.ZodObject<{
|
|
1131
|
+
botUserId: z.ZodDefault<z.ZodString>;
|
|
1132
|
+
botUsername: z.ZodDefault<z.ZodString>;
|
|
1133
|
+
applicationId: z.ZodDefault<z.ZodString>;
|
|
1134
|
+
inviteUrl: z.ZodDefault<z.ZodString>;
|
|
1135
|
+
}, z.core.$strip>>;
|
|
1100
1136
|
a2a: z.ZodDefault<z.ZodObject<{
|
|
1101
1137
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1102
1138
|
}, z.core.$strip>>;
|
|
@@ -1435,8 +1471,8 @@ declare const AssistantEventEnvelopeSchema: z.ZodObject<{
|
|
|
1435
1471
|
}>;
|
|
1436
1472
|
source: z.ZodEnum<{
|
|
1437
1473
|
timeout: "timeout";
|
|
1438
|
-
system: "system";
|
|
1439
1474
|
button: "button";
|
|
1475
|
+
system: "system";
|
|
1440
1476
|
inline_nl: "inline_nl";
|
|
1441
1477
|
auto_deny: "auto_deny";
|
|
1442
1478
|
}>;
|
|
@@ -2679,11 +2715,11 @@ declare const AssistantEventPublishOptionsSchema: z.ZodObject<{
|
|
|
2679
2715
|
a2a: "a2a";
|
|
2680
2716
|
discord: "discord";
|
|
2681
2717
|
plugin: "plugin";
|
|
2718
|
+
web: "web";
|
|
2719
|
+
ios: "ios";
|
|
2682
2720
|
macos: "macos";
|
|
2683
2721
|
windows: "windows";
|
|
2684
|
-
ios: "ios";
|
|
2685
2722
|
cli: "cli";
|
|
2686
|
-
web: "web";
|
|
2687
2723
|
"chrome-extension": "chrome-extension";
|
|
2688
2724
|
route: "route";
|
|
2689
2725
|
}>>;
|
|
@@ -2926,8 +2962,8 @@ declare const AssistantEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
2926
2962
|
}>;
|
|
2927
2963
|
source: z.ZodEnum<{
|
|
2928
2964
|
timeout: "timeout";
|
|
2929
|
-
system: "system";
|
|
2930
2965
|
button: "button";
|
|
2966
|
+
system: "system";
|
|
2931
2967
|
inline_nl: "inline_nl";
|
|
2932
2968
|
auto_deny: "auto_deny";
|
|
2933
2969
|
}>;
|
|
@@ -4157,6 +4193,19 @@ declare interface CliCommandHelp {
|
|
|
4157
4193
|
subcommands?: CliSubcommandHelp[];
|
|
4158
4194
|
}
|
|
4159
4195
|
|
|
4196
|
+
/**
|
|
4197
|
+
* Client OS surfaces — the value set for the message-body `clientOs` field.
|
|
4198
|
+
*
|
|
4199
|
+
* This is deliberately SEPARATE from {@link INTERFACE_IDS}: `clientOs`
|
|
4200
|
+
* describes which OS the user's device runs, not which transport the turn
|
|
4201
|
+
* arrived on. `"android"` (and `"ios"` for a mobile browser) are real OS
|
|
4202
|
+
* surfaces but not transports — they must never answer transport questions
|
|
4203
|
+
* (`supportsHostProxy`, `isInteractiveInterface`), so they live here rather
|
|
4204
|
+
* than polluting the interface vocabulary. Drives only the per-turn
|
|
4205
|
+
* `client_os` context line (e.g. app-builder mobile-first for `ios`/`android`).
|
|
4206
|
+
*/
|
|
4207
|
+
declare const CLIENT_OS_VALUES: readonly ["web", "ios", "macos", "windows", "android"];
|
|
4208
|
+
|
|
4160
4209
|
declare interface ClientEntry extends BaseSubscriberEntry {
|
|
4161
4210
|
type: "client";
|
|
4162
4211
|
clientId: string;
|
|
@@ -4185,6 +4234,8 @@ declare interface ClientEntry extends BaseSubscriberEntry {
|
|
|
4185
4234
|
webPresence?: ClientWebPresence;
|
|
4186
4235
|
}
|
|
4187
4236
|
|
|
4237
|
+
declare type ClientOs = (typeof CLIENT_OS_VALUES)[number];
|
|
4238
|
+
|
|
4188
4239
|
declare interface ClientPresence {
|
|
4189
4240
|
state: DesktopPresenceState;
|
|
4190
4241
|
/** When the daemon last heard from the client. Drives staleness. */
|
|
@@ -4320,7 +4371,7 @@ export declare interface ConversationRow {
|
|
|
4320
4371
|
originInterface: string | null;
|
|
4321
4372
|
forkParentConversationId: string | null;
|
|
4322
4373
|
forkParentMessageId: string | null;
|
|
4323
|
-
/** `"reference"` on referential forks;
|
|
4374
|
+
/** `"reference"` on referential forks; null on copied ones. */
|
|
4324
4375
|
forkStrategy: string | null;
|
|
4325
4376
|
isAutoTitle: number;
|
|
4326
4377
|
scheduleJobId: string | null;
|
|
@@ -4550,11 +4601,11 @@ export declare function getDocument(documentId: string): Promise<IndexedDocument
|
|
|
4550
4601
|
export declare function getMessages(conversationId: string): Promise<MessageRow[]>;
|
|
4551
4602
|
|
|
4552
4603
|
/**
|
|
4553
|
-
* List the workspace inference profiles a plugin can route to, in the order
|
|
4554
|
-
*
|
|
4555
|
-
* alphabetically).
|
|
4556
|
-
*
|
|
4557
|
-
* included and flagged via
|
|
4604
|
+
* List the workspace inference profiles a plugin can route to, in the order a
|
|
4605
|
+
* user-facing model picker presents them (`llm.profileOrder` first, then the
|
|
4606
|
+
* rest alphabetically). Managed backup routes are internal and omitted.
|
|
4607
|
+
* Metadata-only entries without a provider, model, or mix are not routing
|
|
4608
|
+
* targets, so plugins never see them. Disabled profiles are included and flagged via
|
|
4558
4609
|
* {@link ModelProfileInfo.isDisabled}; weighted "mix" profiles are included and
|
|
4559
4610
|
* flagged via {@link ModelProfileInfo.isMix}, since a mix is itself a valid
|
|
4560
4611
|
* routing target (it resolves to one constituent per conversation).
|
|
@@ -4943,6 +4994,12 @@ declare interface LiveVoiceAssistantTextDeltaServerFrame extends LiveVoiceServer
|
|
|
4943
4994
|
declare interface LiveVoiceBusyServerFrame extends LiveVoiceServerFrameBase {
|
|
4944
4995
|
readonly type: "busy";
|
|
4945
4996
|
readonly activeSessionId: string;
|
|
4997
|
+
/**
|
|
4998
|
+
* Absent from daemons that predate it, and from a holder that revealed
|
|
4999
|
+
* neither field, so a client must degrade to the unspecific copy rather
|
|
5000
|
+
* than assume.
|
|
5001
|
+
*/
|
|
5002
|
+
readonly holder?: LiveVoiceSessionHolder;
|
|
4946
5003
|
}
|
|
4947
5004
|
|
|
4948
5005
|
export declare interface LiveVoiceConnection {
|
|
@@ -5087,6 +5144,23 @@ declare interface LiveVoiceReadyServerFrame extends LiveVoiceServerFrameBase {
|
|
|
5087
5144
|
* (older daemons) means "manual".
|
|
5088
5145
|
*/
|
|
5089
5146
|
readonly turnDetection?: LiveVoiceTurnDetectionMode;
|
|
5147
|
+
/**
|
|
5148
|
+
* Whether this daemon will accept `text` frames on the session. Absent
|
|
5149
|
+
* (older daemons) means no, which is what lets a client that asked for
|
|
5150
|
+
* `textInput` fall back rather than type into a socket that would answer
|
|
5151
|
+
* every typed turn with an `unknown_type` error.
|
|
5152
|
+
*/
|
|
5153
|
+
readonly textInput?: boolean;
|
|
5154
|
+
/**
|
|
5155
|
+
* Whether the session's speech-to-text leg is live. Absent means yes, which
|
|
5156
|
+
* is the only thing an older daemon can have meant: it rejects a session it
|
|
5157
|
+
* cannot transcribe, so every session it readies can hear.
|
|
5158
|
+
*
|
|
5159
|
+
* False is reachable only for a client that declared `textInput`, and tells
|
|
5160
|
+
* it to present the session as typed rather than draw a microphone that
|
|
5161
|
+
* will never hear anything.
|
|
5162
|
+
*/
|
|
5163
|
+
readonly audioInput?: boolean;
|
|
5090
5164
|
}
|
|
5091
5165
|
|
|
5092
5166
|
export declare type LiveVoiceServerFrame = LiveVoiceReadyServerFrame | LiveVoiceBusyServerFrame | LiveVoiceSpeechStartedServerFrame | LiveVoiceUtteranceEndServerFrame | LiveVoiceUtteranceDiscardedServerFrame | LiveVoiceSttPartialServerFrame | LiveVoiceSttFinalServerFrame | LiveVoiceThinkingServerFrame | LiveVoiceActivityServerFrame | LiveVoiceAssistantTextDeltaServerFrame | LiveVoiceTtsAudioServerFrame | LiveVoiceTtsDoneServerFrame | LiveVoiceTurnCancelledServerFrame | LiveVoiceMinimizeRoomServerFrame | LiveVoiceMetricsServerFrame | LiveVoiceArchivedServerFrame | LiveVoiceErrorServerFrame;
|
|
@@ -5100,6 +5174,27 @@ declare type LiveVoiceServerFrameType = (typeof _LIVE_VOICE_SERVER_FRAME_TYPES)[
|
|
|
5100
5174
|
|
|
5101
5175
|
export declare type LiveVoiceSessionCloseReason = "client_end" | "error" | "websocket_close" | "transport_closed" | "client_timeout" | "forced_end" | "manager_shutdown";
|
|
5102
5176
|
|
|
5177
|
+
/**
|
|
5178
|
+
* Where the session holding the daemon's single live-voice slot is running,
|
|
5179
|
+
* as much of it as the daemon knows.
|
|
5180
|
+
*
|
|
5181
|
+
* Display only: it is what lets a client refused a session say where the one
|
|
5182
|
+
* that blocked it is. Nothing routes, authorizes, or decides capability on
|
|
5183
|
+
* it, and every field is optional, so a holder that names neither its surface
|
|
5184
|
+
* nor a conversation is simply less specific.
|
|
5185
|
+
*/
|
|
5186
|
+
declare interface LiveVoiceSessionHolder {
|
|
5187
|
+
/**
|
|
5188
|
+
* The OS surface the holder is running on, from its `start` frame. A
|
|
5189
|
+
* {@link ClientOs} carries no transport meaning by contract (see
|
|
5190
|
+
* `channels/types.ts`), which is exactly right for a label: it says which
|
|
5191
|
+
* device the user should go looking on, and answers nothing else.
|
|
5192
|
+
*/
|
|
5193
|
+
readonly client?: ClientOs;
|
|
5194
|
+
/** The conversation the holder is talking in, once it has one. */
|
|
5195
|
+
readonly conversationId?: string;
|
|
5196
|
+
}
|
|
5197
|
+
|
|
5103
5198
|
/**
|
|
5104
5199
|
* Emitted when the server VAD detects user speech. The client MUST
|
|
5105
5200
|
* immediately stop local TTS playback — this doubles as the flush-tail-audio
|
|
@@ -5278,8 +5373,8 @@ declare const messageMetadataSchema: z.ZodObject<{
|
|
|
5278
5373
|
discord: "discord";
|
|
5279
5374
|
plugin: "plugin";
|
|
5280
5375
|
}>>;
|
|
5281
|
-
userMessageInterface: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<"phone" | "telegram" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "plugin" | "
|
|
5282
|
-
assistantMessageInterface: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<"phone" | "telegram" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "plugin" | "
|
|
5376
|
+
userMessageInterface: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<"phone" | "telegram" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "plugin" | "web" | "ios" | "macos" | "windows" | "cli" | "chrome-extension" | "route" | null, string>> & z.ZodType<"phone" | "telegram" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "plugin" | "web" | "ios" | "macos" | "windows" | "cli" | "chrome-extension" | "route", string, z.core.$ZodTypeInternals<"phone" | "telegram" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "plugin" | "web" | "ios" | "macos" | "windows" | "cli" | "chrome-extension" | "route", string>>>;
|
|
5377
|
+
assistantMessageInterface: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<"phone" | "telegram" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "plugin" | "web" | "ios" | "macos" | "windows" | "cli" | "chrome-extension" | "route" | null, string>> & z.ZodType<"phone" | "telegram" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "plugin" | "web" | "ios" | "macos" | "windows" | "cli" | "chrome-extension" | "route", string, z.core.$ZodTypeInternals<"phone" | "telegram" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "plugin" | "web" | "ios" | "macos" | "windows" | "cli" | "chrome-extension" | "route", string>>>;
|
|
5283
5378
|
client: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
5284
5379
|
clientOsFromRequest: z.ZodOptional<z.ZodBoolean>;
|
|
5285
5380
|
subagentNotification: z.ZodOptional<z.ZodObject<{
|
|
@@ -5925,6 +6020,15 @@ export declare interface ProviderResponse {
|
|
|
5925
6020
|
model: string;
|
|
5926
6021
|
/** Provider that actually produced this response, which may differ from a wrapper provider name. */
|
|
5927
6022
|
actualProvider?: string;
|
|
6023
|
+
/**
|
|
6024
|
+
* Inference profile key that actually governed this response when a
|
|
6025
|
+
* wrapper re-routed the request away from the caller's own resolution
|
|
6026
|
+
* (`RetryProvider`'s fallback-route escalation). `UsageTrackingProvider`
|
|
6027
|
+
* prefers this over re-resolving from the original request options, so a
|
|
6028
|
+
* successful fallback serve is attributed to the backup profile rather
|
|
6029
|
+
* than the failed primary's. Absent on the normal (non-rerouted) path.
|
|
6030
|
+
*/
|
|
6031
|
+
actualInferenceProfile?: string;
|
|
5928
6032
|
/**
|
|
5929
6033
|
* Base URL the provider's HTTP client actually resolved to for this request,
|
|
5930
6034
|
* read from the live SDK client instance rather than re-derived from config.
|
|
@@ -6174,6 +6278,8 @@ export declare interface ResolvedSkillEntry {
|
|
|
6174
6278
|
avoidWhen?: string[];
|
|
6175
6279
|
/** True when the skill is pinned into the memory selector pool every turn. */
|
|
6176
6280
|
alwaysCandidate?: boolean;
|
|
6281
|
+
/** Host operating systems on which this skill may be used. */
|
|
6282
|
+
platforms?: SkillPlatform[];
|
|
6177
6283
|
/** True for locally installed skills; false for remote catalog entries. */
|
|
6178
6284
|
installed: boolean;
|
|
6179
6285
|
/** Where the installed skill comes from. Unset for remote catalog entries. */
|
|
@@ -6445,6 +6551,18 @@ export declare interface SendMessageConfig {
|
|
|
6445
6551
|
* request.
|
|
6446
6552
|
*/
|
|
6447
6553
|
forceOverrideProfile?: boolean;
|
|
6554
|
+
/**
|
|
6555
|
+
* True when the caller appended {@link NATIVE_WEB_SEARCH_TOOL_NAME} purely
|
|
6556
|
+
* to activate the route's provider-native web search, rather than passing an
|
|
6557
|
+
* app-executed search tool of the same name (which is what runs when a
|
|
6558
|
+
* search backend like Brave or the platform search proxy is configured).
|
|
6559
|
+
* Only the caller can tell those apart, and a route change after that
|
|
6560
|
+
* decision has to: `RetryProvider` drops the tool on a backup that runs no
|
|
6561
|
+
* native search, and must not touch it when the daemon executes it itself.
|
|
6562
|
+
* A resolution/routing-time concern only; stripped before any provider wire
|
|
6563
|
+
* request.
|
|
6564
|
+
*/
|
|
6565
|
+
nativeWebSearchSentinel?: boolean;
|
|
6448
6566
|
/**
|
|
6449
6567
|
* Per-conversation seed for deterministic `mix`-profile expansion. The agent
|
|
6450
6568
|
* loop sets this to the conversation id so every resolver call this send
|
|
@@ -6480,6 +6598,14 @@ export declare interface SendMessageConfig {
|
|
|
6480
6598
|
* JSON request bodies.
|
|
6481
6599
|
*/
|
|
6482
6600
|
usageAttributionHeaders?: Record<string, string>;
|
|
6601
|
+
/**
|
|
6602
|
+
* Per-request HTTP headers merged onto the transport. `RetryProvider`
|
|
6603
|
+
* stamps these for providers that need support-lookup headers (OpenCode
|
|
6604
|
+
* `x-opencode-session` / `x-opencode-request`). Provider clients pass
|
|
6605
|
+
* them through SDK request options only and must never include this
|
|
6606
|
+
* object in provider JSON request bodies.
|
|
6607
|
+
*/
|
|
6608
|
+
requestHeaders?: Record<string, string>;
|
|
6483
6609
|
/**
|
|
6484
6610
|
* Controls local usage-ledger writes for attributed provider calls.
|
|
6485
6611
|
* Defaults to `auto`; conversation paths that aggregate usage separately
|
|
@@ -6602,6 +6728,8 @@ export declare interface ShutdownContext {
|
|
|
6602
6728
|
*/
|
|
6603
6729
|
declare type ShutdownReason = "shutdown" | "uninstall" | "disable" | "reload";
|
|
6604
6730
|
|
|
6731
|
+
declare const SKILL_PLATFORM_VALUES: readonly ["macos", "windows", "linux"];
|
|
6732
|
+
|
|
6605
6733
|
declare interface SkillInstallMeta {
|
|
6606
6734
|
origin: "vellum" | "clawhub" | "skillssh" | "custom";
|
|
6607
6735
|
installedAt: string;
|
|
@@ -6617,6 +6745,8 @@ declare interface SkillInstallMeta {
|
|
|
6617
6745
|
lastUsedAt?: string;
|
|
6618
6746
|
}
|
|
6619
6747
|
|
|
6748
|
+
declare type SkillPlatform = (typeof SKILL_PLATFORM_VALUES)[number];
|
|
6749
|
+
|
|
6620
6750
|
/**
|
|
6621
6751
|
* Origin of a skill in the merged catalog.
|
|
6622
6752
|
*
|
|
@@ -6817,28 +6947,33 @@ export declare type SttErrorCategory =
|
|
|
6817
6947
|
| "provider-error";
|
|
6818
6948
|
|
|
6819
6949
|
/**
|
|
6820
|
-
*
|
|
6950
|
+
* Catalog identity for a daemon-hosted STT backend.
|
|
6821
6951
|
*
|
|
6822
|
-
*
|
|
6823
|
-
*
|
|
6824
|
-
*
|
|
6825
|
-
*
|
|
6952
|
+
* This is the key capability is stored under, NOT the set of values a user may
|
|
6953
|
+
* put in `services.stt.provider`. A provider that offers more than one model
|
|
6954
|
+
* family with genuinely different capabilities gets a row per family, because
|
|
6955
|
+
* the catalog is a capability matrix and those capabilities differ. Users
|
|
6956
|
+
* select the family with `services.stt.providers.<id>.model`, and
|
|
6957
|
+
* {@link resolveSttCatalogKey} maps that pair onto the row.
|
|
6826
6958
|
*
|
|
6827
|
-
*
|
|
6828
|
-
*
|
|
6829
|
-
*
|
|
6830
|
-
*
|
|
6831
|
-
*/
|
|
6832
|
-
/**
|
|
6833
|
-
* Canonical provider identifiers for daemon-hosted STT backends.
|
|
6834
|
-
* Extend this union as new providers are integrated.
|
|
6959
|
+
* Keeping the two apart bounds the user-facing surface: adding a model family
|
|
6960
|
+
* costs a catalog row and nothing else, while adding a provider id costs an
|
|
6961
|
+
* enum entry, a settings-picker row, and a place in every predicate that
|
|
6962
|
+
* classifies providers.
|
|
6835
6963
|
*/
|
|
6836
6964
|
export declare type SttProviderId = "openai-whisper" | "deepgram"
|
|
6837
6965
|
/**
|
|
6838
6966
|
* Deepgram's Flux conversational speech model. Shares the `deepgram`
|
|
6839
6967
|
* credential and is streaming-only: Flux has no batch endpoint.
|
|
6840
6968
|
*/
|
|
6841
|
-
| "deepgram-flux" | "google-gemini" | "xai" | "vellum"
|
|
6969
|
+
| "deepgram-flux" | "google-gemini" | "xai" | "vellum"
|
|
6970
|
+
/**
|
|
6971
|
+
* Managed Flux: the same conversational model as `deepgram-flux`, reached
|
|
6972
|
+
* through the platform's speech relay instead of a Deepgram key. Dials the
|
|
6973
|
+
* relay's STT v2 endpoint asking for native Flux frames, so it keeps the
|
|
6974
|
+
* turn events the relay's default v1-shaped translation drops.
|
|
6975
|
+
*/
|
|
6976
|
+
| "vellum-flux";
|
|
6842
6977
|
|
|
6843
6978
|
/** The streaming session has closed (no more events will be emitted). */
|
|
6844
6979
|
export declare interface SttStreamServerClosedEvent {
|
|
@@ -7284,6 +7419,12 @@ export declare interface ToolContext {
|
|
|
7284
7419
|
* @legacy
|
|
7285
7420
|
*/
|
|
7286
7421
|
requesterIdentifier?: string;
|
|
7422
|
+
/**
|
|
7423
|
+
* Contact ID of the requester's member record. Approval resolution looks
|
|
7424
|
+
* up this contact's auto-approve ceiling from the gateway at use time.
|
|
7425
|
+
* @legacy
|
|
7426
|
+
*/
|
|
7427
|
+
requesterContactId?: string;
|
|
7287
7428
|
/**
|
|
7288
7429
|
* Preferred display name for the requester.
|
|
7289
7430
|
* @legacy
|
|
@@ -7323,6 +7464,8 @@ export declare interface ToolContext {
|
|
|
7323
7464
|
* @legacy
|
|
7324
7465
|
*/
|
|
7325
7466
|
transportInterface?: InterfaceId;
|
|
7467
|
+
/** Operating system reported by the client for the current turn. */
|
|
7468
|
+
clientOs?: ClientOs;
|
|
7326
7469
|
/**
|
|
7327
7470
|
* The per-turn inference-profile override the agent loop is currently
|
|
7328
7471
|
* running under, propagated through tool context so subagent-spawn tools
|
|
@@ -7423,6 +7566,13 @@ declare const ToolDefinitionSchema: z.ZodObject<{
|
|
|
7423
7566
|
sandbox: "sandbox";
|
|
7424
7567
|
host: "host";
|
|
7425
7568
|
}>>;
|
|
7569
|
+
supportedClientOs: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
7570
|
+
web: "web";
|
|
7571
|
+
ios: "ios";
|
|
7572
|
+
macos: "macos";
|
|
7573
|
+
windows: "windows";
|
|
7574
|
+
android: "android";
|
|
7575
|
+
}>>>;
|
|
7426
7576
|
execute: z.ZodOptional<z.ZodCustom<(input: Record<string, unknown>, context: ToolContext) => Promise<ToolExecutionResult>, (input: Record<string, unknown>, context: ToolContext) => Promise<ToolExecutionResult>>>;
|
|
7427
7577
|
exclusive: z.ZodOptional<z.ZodBoolean>;
|
|
7428
7578
|
}, z.core.$strip>;
|