@vellumai/plugin-api 0.11.5-staging.2 → 0.11.6-dev.202608252309.48526e7
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 +188 -51
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -137,19 +137,20 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
137
137
|
provider: z.ZodDefault<z.ZodEnum<{
|
|
138
138
|
[x: string]: string;
|
|
139
139
|
}>>;
|
|
140
|
+
apiBase: z.ZodOptional<z.ZodString>;
|
|
140
141
|
}, z.core.$strip>>;
|
|
141
142
|
"web-fetch": z.ZodDefault<z.ZodObject<{
|
|
142
143
|
provider: z.ZodDefault<z.ZodEnum<{
|
|
143
144
|
[x: string]: string;
|
|
144
145
|
}>>;
|
|
146
|
+
apiBase: z.ZodOptional<z.ZodString>;
|
|
145
147
|
}, z.core.$strip>>;
|
|
146
148
|
stt: z.ZodDefault<z.ZodObject<{
|
|
147
149
|
provider: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodEnum<{
|
|
148
150
|
vellum: "vellum";
|
|
151
|
+
"openai-whisper": "openai-whisper";
|
|
149
152
|
deepgram: "deepgram";
|
|
150
|
-
"deepgram-flux": "deepgram-flux";
|
|
151
153
|
"google-gemini": "google-gemini";
|
|
152
|
-
"openai-whisper": "openai-whisper";
|
|
153
154
|
xai: "xai";
|
|
154
155
|
}>>;
|
|
155
156
|
language: z.ZodDefault<z.ZodString>;
|
|
@@ -278,6 +279,24 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
278
279
|
"your-own": "your-own";
|
|
279
280
|
}>>;
|
|
280
281
|
}, z.core.$strip>>;
|
|
282
|
+
"monday-oauth": z.ZodDefault<z.ZodObject<{
|
|
283
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
284
|
+
managed: "managed";
|
|
285
|
+
"your-own": "your-own";
|
|
286
|
+
}>>;
|
|
287
|
+
}, z.core.$strip>>;
|
|
288
|
+
"eventbrite-oauth": z.ZodDefault<z.ZodObject<{
|
|
289
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
290
|
+
managed: "managed";
|
|
291
|
+
"your-own": "your-own";
|
|
292
|
+
}>>;
|
|
293
|
+
}, z.core.$strip>>;
|
|
294
|
+
"calendly-oauth": z.ZodDefault<z.ZodObject<{
|
|
295
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
296
|
+
managed: "managed";
|
|
297
|
+
"your-own": "your-own";
|
|
298
|
+
}>>;
|
|
299
|
+
}, z.core.$strip>>;
|
|
281
300
|
}, z.core.$strip>>;
|
|
282
301
|
memory: z.ZodDefault<z.ZodObject<{
|
|
283
302
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -598,10 +617,10 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
598
617
|
model: z.ZodOptional<z.ZodString>;
|
|
599
618
|
maxTokens: z.ZodOptional<z.ZodNumber>;
|
|
600
619
|
effort: z.ZodOptional<z.ZodEnum<{
|
|
620
|
+
none: "none";
|
|
601
621
|
low: "low";
|
|
602
622
|
medium: "medium";
|
|
603
623
|
high: "high";
|
|
604
|
-
none: "none";
|
|
605
624
|
xhigh: "xhigh";
|
|
606
625
|
max: "max";
|
|
607
626
|
}>>;
|
|
@@ -662,6 +681,7 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
662
681
|
label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
663
682
|
description: z.ZodOptional<z.ZodString>;
|
|
664
683
|
provider_connection: z.ZodOptional<z.ZodString>;
|
|
684
|
+
allowUnlisted: z.ZodOptional<z.ZodBoolean>;
|
|
665
685
|
status: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
666
686
|
active: "active";
|
|
667
687
|
disabled: "disabled";
|
|
@@ -670,6 +690,7 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
670
690
|
profile: z.ZodString;
|
|
671
691
|
weight: z.ZodNumber;
|
|
672
692
|
}, z.core.$strip>>>;
|
|
693
|
+
fallbackProfile: z.ZodOptional<z.ZodString>;
|
|
673
694
|
}, z.core.$strip>>>;
|
|
674
695
|
profileOrder: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
675
696
|
callSites: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
|
|
@@ -720,10 +741,10 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
720
741
|
model: z.ZodOptional<z.ZodString>;
|
|
721
742
|
maxTokens: z.ZodOptional<z.ZodNumber>;
|
|
722
743
|
effort: z.ZodOptional<z.ZodEnum<{
|
|
744
|
+
none: "none";
|
|
723
745
|
low: "low";
|
|
724
746
|
medium: "medium";
|
|
725
747
|
high: "high";
|
|
726
|
-
none: "none";
|
|
727
748
|
xhigh: "xhigh";
|
|
728
749
|
max: "max";
|
|
729
750
|
}>>;
|
|
@@ -1057,7 +1078,7 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
1057
1078
|
turnEnd: z.ZodDefault<z.ZodObject<{
|
|
1058
1079
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1059
1080
|
}, z.core.$strip>>;
|
|
1060
|
-
model: z.
|
|
1081
|
+
model: z.ZodOptional<z.ZodString>;
|
|
1061
1082
|
eotThreshold: z.ZodDefault<z.ZodNumber>;
|
|
1062
1083
|
eagerEotThreshold: z.ZodOptional<z.ZodNumber>;
|
|
1063
1084
|
eotTimeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
@@ -1331,9 +1352,9 @@ declare const AssistantEventEnvelopeSchema: z.ZodObject<{
|
|
|
1331
1352
|
id: z.ZodString;
|
|
1332
1353
|
conversationId: z.ZodString;
|
|
1333
1354
|
status: z.ZodEnum<{
|
|
1334
|
-
cancelled: "cancelled";
|
|
1335
1355
|
completed: "completed";
|
|
1336
1356
|
failed: "failed";
|
|
1357
|
+
cancelled: "cancelled";
|
|
1337
1358
|
}>;
|
|
1338
1359
|
exitCode: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
1339
1360
|
output: z.ZodOptional<z.ZodString>;
|
|
@@ -1672,8 +1693,8 @@ declare const AssistantEventEnvelopeSchema: z.ZodObject<{
|
|
|
1672
1693
|
hookName: z.ZodString;
|
|
1673
1694
|
owner: z.ZodObject<{
|
|
1674
1695
|
kind: z.ZodEnum<{
|
|
1675
|
-
workspace: "workspace";
|
|
1676
1696
|
plugin: "plugin";
|
|
1697
|
+
workspace: "workspace";
|
|
1677
1698
|
}>;
|
|
1678
1699
|
id: z.ZodString;
|
|
1679
1700
|
}, z.core.$strip>;
|
|
@@ -2266,6 +2287,7 @@ declare const AssistantEventEnvelopeSchema: z.ZodObject<{
|
|
|
2266
2287
|
tavily: "tavily";
|
|
2267
2288
|
keenable: "keenable";
|
|
2268
2289
|
firecrawl: "firecrawl";
|
|
2290
|
+
fastcrw: "fastcrw";
|
|
2269
2291
|
}>;
|
|
2270
2292
|
resultCount: z.ZodNumber;
|
|
2271
2293
|
durationMs: z.ZodNumber;
|
|
@@ -2287,6 +2309,7 @@ declare const AssistantEventEnvelopeSchema: z.ZodObject<{
|
|
|
2287
2309
|
provider: z.ZodOptional<z.ZodEnum<{
|
|
2288
2310
|
default: "default";
|
|
2289
2311
|
firecrawl: "firecrawl";
|
|
2312
|
+
fastcrw: "fastcrw";
|
|
2290
2313
|
}>>;
|
|
2291
2314
|
status: z.ZodNumber;
|
|
2292
2315
|
contentType: z.ZodOptional<z.ZodString>;
|
|
@@ -2427,6 +2450,11 @@ declare const AssistantEventEnvelopeSchema: z.ZodObject<{
|
|
|
2427
2450
|
requestId: z.ZodOptional<z.ZodString>;
|
|
2428
2451
|
clientMessageId: z.ZodOptional<z.ZodString>;
|
|
2429
2452
|
}, z.core.$strict>, z.ZodObject<{
|
|
2453
|
+
type: z.ZodLiteral<"watch_retro_completed">;
|
|
2454
|
+
sessionId: z.ZodString;
|
|
2455
|
+
conversationId: z.ZodString;
|
|
2456
|
+
reportReady: z.ZodBoolean;
|
|
2457
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
2430
2458
|
type: z.ZodLiteral<"workflow_completed">;
|
|
2431
2459
|
runId: z.ZodString;
|
|
2432
2460
|
conversationId: z.ZodOptional<z.ZodString>;
|
|
@@ -2662,12 +2690,12 @@ declare const AssistantEventPublishOptionsSchema: z.ZodObject<{
|
|
|
2662
2690
|
targetClientId: z.ZodOptional<z.ZodString>;
|
|
2663
2691
|
targetInterfaceId: z.ZodOptional<z.ZodEnum<{
|
|
2664
2692
|
phone: "phone";
|
|
2665
|
-
a2a: "a2a";
|
|
2666
|
-
whatsapp: "whatsapp";
|
|
2667
|
-
discord: "discord";
|
|
2668
2693
|
telegram: "telegram";
|
|
2694
|
+
whatsapp: "whatsapp";
|
|
2669
2695
|
slack: "slack";
|
|
2670
2696
|
email: "email";
|
|
2697
|
+
a2a: "a2a";
|
|
2698
|
+
discord: "discord";
|
|
2671
2699
|
plugin: "plugin";
|
|
2672
2700
|
macos: "macos";
|
|
2673
2701
|
windows: "windows";
|
|
@@ -2815,9 +2843,9 @@ declare const AssistantEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
2815
2843
|
id: z.ZodString;
|
|
2816
2844
|
conversationId: z.ZodString;
|
|
2817
2845
|
status: z.ZodEnum<{
|
|
2818
|
-
cancelled: "cancelled";
|
|
2819
2846
|
completed: "completed";
|
|
2820
2847
|
failed: "failed";
|
|
2848
|
+
cancelled: "cancelled";
|
|
2821
2849
|
}>;
|
|
2822
2850
|
exitCode: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
2823
2851
|
output: z.ZodOptional<z.ZodString>;
|
|
@@ -3156,8 +3184,8 @@ declare const AssistantEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
3156
3184
|
hookName: z.ZodString;
|
|
3157
3185
|
owner: z.ZodObject<{
|
|
3158
3186
|
kind: z.ZodEnum<{
|
|
3159
|
-
workspace: "workspace";
|
|
3160
3187
|
plugin: "plugin";
|
|
3188
|
+
workspace: "workspace";
|
|
3161
3189
|
}>;
|
|
3162
3190
|
id: z.ZodString;
|
|
3163
3191
|
}, z.core.$strip>;
|
|
@@ -3750,6 +3778,7 @@ declare const AssistantEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
3750
3778
|
tavily: "tavily";
|
|
3751
3779
|
keenable: "keenable";
|
|
3752
3780
|
firecrawl: "firecrawl";
|
|
3781
|
+
fastcrw: "fastcrw";
|
|
3753
3782
|
}>;
|
|
3754
3783
|
resultCount: z.ZodNumber;
|
|
3755
3784
|
durationMs: z.ZodNumber;
|
|
@@ -3771,6 +3800,7 @@ declare const AssistantEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
3771
3800
|
provider: z.ZodOptional<z.ZodEnum<{
|
|
3772
3801
|
default: "default";
|
|
3773
3802
|
firecrawl: "firecrawl";
|
|
3803
|
+
fastcrw: "fastcrw";
|
|
3774
3804
|
}>>;
|
|
3775
3805
|
status: z.ZodNumber;
|
|
3776
3806
|
contentType: z.ZodOptional<z.ZodString>;
|
|
@@ -3911,6 +3941,11 @@ declare const AssistantEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
3911
3941
|
requestId: z.ZodOptional<z.ZodString>;
|
|
3912
3942
|
clientMessageId: z.ZodOptional<z.ZodString>;
|
|
3913
3943
|
}, z.core.$strict>, z.ZodObject<{
|
|
3944
|
+
type: z.ZodLiteral<"watch_retro_completed">;
|
|
3945
|
+
sessionId: z.ZodString;
|
|
3946
|
+
conversationId: z.ZodString;
|
|
3947
|
+
reportReady: z.ZodBoolean;
|
|
3948
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
3914
3949
|
type: z.ZodLiteral<"workflow_completed">;
|
|
3915
3950
|
runId: z.ZodString;
|
|
3916
3951
|
conversationId: z.ZodOptional<z.ZodString>;
|
|
@@ -4057,6 +4092,13 @@ declare interface BaseSubscriberEntry {
|
|
|
4057
4092
|
*/
|
|
4058
4093
|
export declare function buildMessageExcerpt(rawContent: string, query: string): Promise<string>;
|
|
4059
4094
|
|
|
4095
|
+
/**
|
|
4096
|
+
* Conversation-type axis within an adapter (the "channel-type" cascade
|
|
4097
|
+
* level): direct message, private channel/group, public channel. Adapters
|
|
4098
|
+
* map their native surfaces onto these three.
|
|
4099
|
+
*/
|
|
4100
|
+
declare const CHANNEL_CONVERSATION_TYPES: readonly ["dm", "private", "public"];
|
|
4101
|
+
|
|
4060
4102
|
/**
|
|
4061
4103
|
* Canonical channel-id vocabulary shared between the assistant daemon and the
|
|
4062
4104
|
* gateway.
|
|
@@ -4090,6 +4132,8 @@ export declare function buildMessageExcerpt(rawContent: string, query: string):
|
|
|
4090
4132
|
*/
|
|
4091
4133
|
declare const CHANNEL_IDS: readonly ["telegram", "phone", "vellum", "whatsapp", "slack", "email", "platform", "a2a", "discord", "plugin"];
|
|
4092
4134
|
|
|
4135
|
+
declare type ChannelConversationType = (typeof CHANNEL_CONVERSATION_TYPES)[number];
|
|
4136
|
+
|
|
4093
4137
|
declare type ChannelId = (typeof CHANNEL_IDS)[number];
|
|
4094
4138
|
|
|
4095
4139
|
export declare const CLI_COMMAND_HELP: readonly CliCommandHelp[];
|
|
@@ -4131,6 +4175,19 @@ declare interface CliCommandHelp {
|
|
|
4131
4175
|
subcommands?: CliSubcommandHelp[];
|
|
4132
4176
|
}
|
|
4133
4177
|
|
|
4178
|
+
/**
|
|
4179
|
+
* Client OS surfaces — the value set for the message-body `clientOs` field.
|
|
4180
|
+
*
|
|
4181
|
+
* This is deliberately SEPARATE from {@link INTERFACE_IDS}: `clientOs`
|
|
4182
|
+
* describes which OS the user's device runs, not which transport the turn
|
|
4183
|
+
* arrived on. `"android"` (and `"ios"` for a mobile browser) are real OS
|
|
4184
|
+
* surfaces but not transports — they must never answer transport questions
|
|
4185
|
+
* (`supportsHostProxy`, `isInteractiveInterface`), so they live here rather
|
|
4186
|
+
* than polluting the interface vocabulary. Drives only the per-turn
|
|
4187
|
+
* `client_os` context line (e.g. app-builder mobile-first for `ios`/`android`).
|
|
4188
|
+
*/
|
|
4189
|
+
declare const CLIENT_OS_VALUES: readonly ["web", "ios", "macos", "windows", "android"];
|
|
4190
|
+
|
|
4134
4191
|
declare interface ClientEntry extends BaseSubscriberEntry {
|
|
4135
4192
|
type: "client";
|
|
4136
4193
|
clientId: string;
|
|
@@ -4159,6 +4216,8 @@ declare interface ClientEntry extends BaseSubscriberEntry {
|
|
|
4159
4216
|
webPresence?: ClientWebPresence;
|
|
4160
4217
|
}
|
|
4161
4218
|
|
|
4219
|
+
declare type ClientOs = (typeof CLIENT_OS_VALUES)[number];
|
|
4220
|
+
|
|
4162
4221
|
declare interface ClientPresence {
|
|
4163
4222
|
state: DesktopPresenceState;
|
|
4164
4223
|
/** When the daemon last heard from the client. Drives staleness. */
|
|
@@ -4323,9 +4382,17 @@ export declare type ConversationsClearedContext = BaseHookContext;
|
|
|
4323
4382
|
/** Read-side alias of {@link ConversationCreateType}. */
|
|
4324
4383
|
declare type ConversationType = ConversationCreateType;
|
|
4325
4384
|
|
|
4326
|
-
/**
|
|
4385
|
+
/**
|
|
4386
|
+
* Create a live voice connection bound to the caller's `send` transport.
|
|
4387
|
+
*
|
|
4388
|
+
* `close` is how the daemon hangs up. It is optional only because a transport
|
|
4389
|
+
* may not be able to (an in-process pipe), but a real one should always pass
|
|
4390
|
+
* it: without it, a session the daemon reclaims from an absent client leaves
|
|
4391
|
+
* the transport open behind it.
|
|
4392
|
+
*/
|
|
4327
4393
|
export declare function createLiveVoiceConnection(options: {
|
|
4328
4394
|
send: LiveVoiceFrameSender;
|
|
4395
|
+
close?: () => void;
|
|
4329
4396
|
}): LiveVoiceConnection;
|
|
4330
4397
|
|
|
4331
4398
|
/**
|
|
@@ -4516,11 +4583,11 @@ export declare function getDocument(documentId: string): Promise<IndexedDocument
|
|
|
4516
4583
|
export declare function getMessages(conversationId: string): Promise<MessageRow[]>;
|
|
4517
4584
|
|
|
4518
4585
|
/**
|
|
4519
|
-
* List the workspace inference profiles a plugin can route to, in the order
|
|
4520
|
-
*
|
|
4521
|
-
* alphabetically).
|
|
4522
|
-
*
|
|
4523
|
-
* included and flagged via
|
|
4586
|
+
* List the workspace inference profiles a plugin can route to, in the order a
|
|
4587
|
+
* user-facing model picker presents them (`llm.profileOrder` first, then the
|
|
4588
|
+
* rest alphabetically). Managed backup routes are internal and omitted.
|
|
4589
|
+
* Metadata-only entries without a provider, model, or mix are not routing
|
|
4590
|
+
* targets, so plugins never see them. Disabled profiles are included and flagged via
|
|
4524
4591
|
* {@link ModelProfileInfo.isDisabled}; weighted "mix" profiles are included and
|
|
4525
4592
|
* flagged via {@link ModelProfileInfo.isMix}, since a mix is itself a valid
|
|
4526
4593
|
* routing target (it resolves to one constituent per conversation).
|
|
@@ -4909,6 +4976,12 @@ declare interface LiveVoiceAssistantTextDeltaServerFrame extends LiveVoiceServer
|
|
|
4909
4976
|
declare interface LiveVoiceBusyServerFrame extends LiveVoiceServerFrameBase {
|
|
4910
4977
|
readonly type: "busy";
|
|
4911
4978
|
readonly activeSessionId: string;
|
|
4979
|
+
/**
|
|
4980
|
+
* Absent from daemons that predate it, and from a holder that revealed
|
|
4981
|
+
* neither field, so a client must degrade to the unspecific copy rather
|
|
4982
|
+
* than assume.
|
|
4983
|
+
*/
|
|
4984
|
+
readonly holder?: LiveVoiceSessionHolder;
|
|
4912
4985
|
}
|
|
4913
4986
|
|
|
4914
4987
|
export declare interface LiveVoiceConnection {
|
|
@@ -5053,6 +5126,23 @@ declare interface LiveVoiceReadyServerFrame extends LiveVoiceServerFrameBase {
|
|
|
5053
5126
|
* (older daemons) means "manual".
|
|
5054
5127
|
*/
|
|
5055
5128
|
readonly turnDetection?: LiveVoiceTurnDetectionMode;
|
|
5129
|
+
/**
|
|
5130
|
+
* Whether this daemon will accept `text` frames on the session. Absent
|
|
5131
|
+
* (older daemons) means no, which is what lets a client that asked for
|
|
5132
|
+
* `textInput` fall back rather than type into a socket that would answer
|
|
5133
|
+
* every typed turn with an `unknown_type` error.
|
|
5134
|
+
*/
|
|
5135
|
+
readonly textInput?: boolean;
|
|
5136
|
+
/**
|
|
5137
|
+
* Whether the session's speech-to-text leg is live. Absent means yes, which
|
|
5138
|
+
* is the only thing an older daemon can have meant: it rejects a session it
|
|
5139
|
+
* cannot transcribe, so every session it readies can hear.
|
|
5140
|
+
*
|
|
5141
|
+
* False is reachable only for a client that declared `textInput`, and tells
|
|
5142
|
+
* it to present the session as typed rather than draw a microphone that
|
|
5143
|
+
* will never hear anything.
|
|
5144
|
+
*/
|
|
5145
|
+
readonly audioInput?: boolean;
|
|
5056
5146
|
}
|
|
5057
5147
|
|
|
5058
5148
|
export declare type LiveVoiceServerFrame = LiveVoiceReadyServerFrame | LiveVoiceBusyServerFrame | LiveVoiceSpeechStartedServerFrame | LiveVoiceUtteranceEndServerFrame | LiveVoiceUtteranceDiscardedServerFrame | LiveVoiceSttPartialServerFrame | LiveVoiceSttFinalServerFrame | LiveVoiceThinkingServerFrame | LiveVoiceActivityServerFrame | LiveVoiceAssistantTextDeltaServerFrame | LiveVoiceTtsAudioServerFrame | LiveVoiceTtsDoneServerFrame | LiveVoiceTurnCancelledServerFrame | LiveVoiceMinimizeRoomServerFrame | LiveVoiceMetricsServerFrame | LiveVoiceArchivedServerFrame | LiveVoiceErrorServerFrame;
|
|
@@ -5064,7 +5154,28 @@ declare interface LiveVoiceServerFrameBase {
|
|
|
5064
5154
|
|
|
5065
5155
|
declare type LiveVoiceServerFrameType = (typeof _LIVE_VOICE_SERVER_FRAME_TYPES)[number];
|
|
5066
5156
|
|
|
5067
|
-
export declare type LiveVoiceSessionCloseReason = "client_end" | "error" | "websocket_close" | "transport_closed" | "manager_shutdown";
|
|
5157
|
+
export declare type LiveVoiceSessionCloseReason = "client_end" | "error" | "websocket_close" | "transport_closed" | "client_timeout" | "forced_end" | "manager_shutdown";
|
|
5158
|
+
|
|
5159
|
+
/**
|
|
5160
|
+
* Where the session holding the daemon's single live-voice slot is running,
|
|
5161
|
+
* as much of it as the daemon knows.
|
|
5162
|
+
*
|
|
5163
|
+
* Display only: it is what lets a client refused a session say where the one
|
|
5164
|
+
* that blocked it is. Nothing routes, authorizes, or decides capability on
|
|
5165
|
+
* it, and every field is optional, so a holder that names neither its surface
|
|
5166
|
+
* nor a conversation is simply less specific.
|
|
5167
|
+
*/
|
|
5168
|
+
declare interface LiveVoiceSessionHolder {
|
|
5169
|
+
/**
|
|
5170
|
+
* The OS surface the holder is running on, from its `start` frame. A
|
|
5171
|
+
* {@link ClientOs} carries no transport meaning by contract (see
|
|
5172
|
+
* `channels/types.ts`), which is exactly right for a label: it says which
|
|
5173
|
+
* device the user should go looking on, and answers nothing else.
|
|
5174
|
+
*/
|
|
5175
|
+
readonly client?: ClientOs;
|
|
5176
|
+
/** The conversation the holder is talking in, once it has one. */
|
|
5177
|
+
readonly conversationId?: string;
|
|
5178
|
+
}
|
|
5068
5179
|
|
|
5069
5180
|
/**
|
|
5070
5181
|
* Emitted when the server VAD detects user speech. The client MUST
|
|
@@ -5222,30 +5333,30 @@ declare const messageMetadataSchema: z.ZodObject<{
|
|
|
5222
5333
|
sentAt: z.ZodOptional<z.ZodNumber>;
|
|
5223
5334
|
userMessageChannel: z.ZodOptional<z.ZodEnum<{
|
|
5224
5335
|
phone: "phone";
|
|
5225
|
-
|
|
5226
|
-
a2a: "a2a";
|
|
5336
|
+
telegram: "telegram";
|
|
5227
5337
|
vellum: "vellum";
|
|
5228
5338
|
whatsapp: "whatsapp";
|
|
5229
|
-
discord: "discord";
|
|
5230
|
-
telegram: "telegram";
|
|
5231
5339
|
slack: "slack";
|
|
5232
5340
|
email: "email";
|
|
5341
|
+
platform: "platform";
|
|
5342
|
+
a2a: "a2a";
|
|
5343
|
+
discord: "discord";
|
|
5233
5344
|
plugin: "plugin";
|
|
5234
5345
|
}>>;
|
|
5235
5346
|
assistantMessageChannel: z.ZodOptional<z.ZodEnum<{
|
|
5236
5347
|
phone: "phone";
|
|
5237
|
-
|
|
5238
|
-
a2a: "a2a";
|
|
5348
|
+
telegram: "telegram";
|
|
5239
5349
|
vellum: "vellum";
|
|
5240
5350
|
whatsapp: "whatsapp";
|
|
5241
|
-
discord: "discord";
|
|
5242
|
-
telegram: "telegram";
|
|
5243
5351
|
slack: "slack";
|
|
5244
5352
|
email: "email";
|
|
5353
|
+
platform: "platform";
|
|
5354
|
+
a2a: "a2a";
|
|
5355
|
+
discord: "discord";
|
|
5245
5356
|
plugin: "plugin";
|
|
5246
5357
|
}>>;
|
|
5247
|
-
userMessageInterface: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<"phone" | "
|
|
5248
|
-
assistantMessageInterface: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<"phone" | "
|
|
5358
|
+
userMessageInterface: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<"phone" | "telegram" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "plugin" | "macos" | "windows" | "ios" | "cli" | "web" | "chrome-extension" | "route" | null, string>> & z.ZodType<"phone" | "telegram" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "plugin" | "macos" | "windows" | "ios" | "cli" | "web" | "chrome-extension" | "route", string, z.core.$ZodTypeInternals<"phone" | "telegram" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "plugin" | "macos" | "windows" | "ios" | "cli" | "web" | "chrome-extension" | "route", string>>>;
|
|
5359
|
+
assistantMessageInterface: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<"phone" | "telegram" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "plugin" | "macos" | "windows" | "ios" | "cli" | "web" | "chrome-extension" | "route" | null, string>> & z.ZodType<"phone" | "telegram" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "plugin" | "macos" | "windows" | "ios" | "cli" | "web" | "chrome-extension" | "route", string, z.core.$ZodTypeInternals<"phone" | "telegram" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "plugin" | "macos" | "windows" | "ios" | "cli" | "web" | "chrome-extension" | "route", string>>>;
|
|
5249
5360
|
client: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
5250
5361
|
clientOsFromRequest: z.ZodOptional<z.ZodBoolean>;
|
|
5251
5362
|
subagentNotification: z.ZodOptional<z.ZodObject<{
|
|
@@ -5274,14 +5385,14 @@ declare const messageMetadataSchema: z.ZodObject<{
|
|
|
5274
5385
|
model: z.ZodOptional<z.ZodString>;
|
|
5275
5386
|
provenanceSourceChannel: z.ZodOptional<z.ZodEnum<{
|
|
5276
5387
|
phone: "phone";
|
|
5277
|
-
|
|
5278
|
-
a2a: "a2a";
|
|
5388
|
+
telegram: "telegram";
|
|
5279
5389
|
vellum: "vellum";
|
|
5280
5390
|
whatsapp: "whatsapp";
|
|
5281
|
-
discord: "discord";
|
|
5282
|
-
telegram: "telegram";
|
|
5283
5391
|
slack: "slack";
|
|
5284
5392
|
email: "email";
|
|
5393
|
+
platform: "platform";
|
|
5394
|
+
a2a: "a2a";
|
|
5395
|
+
discord: "discord";
|
|
5285
5396
|
plugin: "plugin";
|
|
5286
5397
|
}>>;
|
|
5287
5398
|
provenanceGuardianExternalUserId: z.ZodOptional<z.ZodString>;
|
|
@@ -5299,9 +5410,9 @@ declare const messageMetadataSchema: z.ZodObject<{
|
|
|
5299
5410
|
command: z.ZodString;
|
|
5300
5411
|
startedAt: z.ZodNumber;
|
|
5301
5412
|
status: z.ZodEnum<{
|
|
5302
|
-
cancelled: "cancelled";
|
|
5303
5413
|
completed: "completed";
|
|
5304
5414
|
failed: "failed";
|
|
5415
|
+
cancelled: "cancelled";
|
|
5305
5416
|
}>;
|
|
5306
5417
|
exitCode: z.ZodNullable<z.ZodNumber>;
|
|
5307
5418
|
output: z.ZodString;
|
|
@@ -5891,6 +6002,15 @@ export declare interface ProviderResponse {
|
|
|
5891
6002
|
model: string;
|
|
5892
6003
|
/** Provider that actually produced this response, which may differ from a wrapper provider name. */
|
|
5893
6004
|
actualProvider?: string;
|
|
6005
|
+
/**
|
|
6006
|
+
* Inference profile key that actually governed this response when a
|
|
6007
|
+
* wrapper re-routed the request away from the caller's own resolution
|
|
6008
|
+
* (`RetryProvider`'s fallback-route escalation). `UsageTrackingProvider`
|
|
6009
|
+
* prefers this over re-resolving from the original request options, so a
|
|
6010
|
+
* successful fallback serve is attributed to the backup profile rather
|
|
6011
|
+
* than the failed primary's. Absent on the normal (non-rerouted) path.
|
|
6012
|
+
*/
|
|
6013
|
+
actualInferenceProfile?: string;
|
|
5894
6014
|
/**
|
|
5895
6015
|
* Base URL the provider's HTTP client actually resolved to for this request,
|
|
5896
6016
|
* read from the live SDK client instance rather than re-derived from config.
|
|
@@ -6411,6 +6531,18 @@ export declare interface SendMessageConfig {
|
|
|
6411
6531
|
* request.
|
|
6412
6532
|
*/
|
|
6413
6533
|
forceOverrideProfile?: boolean;
|
|
6534
|
+
/**
|
|
6535
|
+
* True when the caller appended {@link NATIVE_WEB_SEARCH_TOOL_NAME} purely
|
|
6536
|
+
* to activate the route's provider-native web search, rather than passing an
|
|
6537
|
+
* app-executed search tool of the same name (which is what runs when a
|
|
6538
|
+
* search backend like Brave or the platform search proxy is configured).
|
|
6539
|
+
* Only the caller can tell those apart, and a route change after that
|
|
6540
|
+
* decision has to: `RetryProvider` drops the tool on a backup that runs no
|
|
6541
|
+
* native search, and must not touch it when the daemon executes it itself.
|
|
6542
|
+
* A resolution/routing-time concern only; stripped before any provider wire
|
|
6543
|
+
* request.
|
|
6544
|
+
*/
|
|
6545
|
+
nativeWebSearchSentinel?: boolean;
|
|
6414
6546
|
/**
|
|
6415
6547
|
* Per-conversation seed for deterministic `mix`-profile expansion. The agent
|
|
6416
6548
|
* loop sets this to the conversation id so every resolver call this send
|
|
@@ -6783,28 +6915,33 @@ export declare type SttErrorCategory =
|
|
|
6783
6915
|
| "provider-error";
|
|
6784
6916
|
|
|
6785
6917
|
/**
|
|
6786
|
-
*
|
|
6918
|
+
* Catalog identity for a daemon-hosted STT backend.
|
|
6787
6919
|
*
|
|
6788
|
-
*
|
|
6789
|
-
*
|
|
6790
|
-
*
|
|
6791
|
-
*
|
|
6920
|
+
* This is the key capability is stored under, NOT the set of values a user may
|
|
6921
|
+
* put in `services.stt.provider`. A provider that offers more than one model
|
|
6922
|
+
* family with genuinely different capabilities gets a row per family, because
|
|
6923
|
+
* the catalog is a capability matrix and those capabilities differ. Users
|
|
6924
|
+
* select the family with `services.stt.providers.<id>.model`, and
|
|
6925
|
+
* {@link resolveSttCatalogKey} maps that pair onto the row.
|
|
6792
6926
|
*
|
|
6793
|
-
*
|
|
6794
|
-
*
|
|
6795
|
-
*
|
|
6796
|
-
*
|
|
6797
|
-
*/
|
|
6798
|
-
/**
|
|
6799
|
-
* Canonical provider identifiers for daemon-hosted STT backends.
|
|
6800
|
-
* Extend this union as new providers are integrated.
|
|
6927
|
+
* Keeping the two apart bounds the user-facing surface: adding a model family
|
|
6928
|
+
* costs a catalog row and nothing else, while adding a provider id costs an
|
|
6929
|
+
* enum entry, a settings-picker row, and a place in every predicate that
|
|
6930
|
+
* classifies providers.
|
|
6801
6931
|
*/
|
|
6802
6932
|
export declare type SttProviderId = "openai-whisper" | "deepgram"
|
|
6803
6933
|
/**
|
|
6804
6934
|
* Deepgram's Flux conversational speech model. Shares the `deepgram`
|
|
6805
6935
|
* credential and is streaming-only: Flux has no batch endpoint.
|
|
6806
6936
|
*/
|
|
6807
|
-
| "deepgram-flux" | "google-gemini" | "xai" | "vellum"
|
|
6937
|
+
| "deepgram-flux" | "google-gemini" | "xai" | "vellum"
|
|
6938
|
+
/**
|
|
6939
|
+
* Managed Flux: the same conversational model as `deepgram-flux`, reached
|
|
6940
|
+
* through the platform's speech relay instead of a Deepgram key. Dials the
|
|
6941
|
+
* relay's STT v2 endpoint asking for native Flux frames, so it keeps the
|
|
6942
|
+
* turn events the relay's default v1-shaped translation drops.
|
|
6943
|
+
*/
|
|
6944
|
+
| "vellum-flux";
|
|
6808
6945
|
|
|
6809
6946
|
/** The streaming session has closed (no more events will be emitted). */
|
|
6810
6947
|
export declare interface SttStreamServerClosedEvent {
|
|
@@ -7261,7 +7398,7 @@ export declare interface ToolContext {
|
|
|
7261
7398
|
* resolution; undefined when the chat type is unknown or ambiguous.
|
|
7262
7399
|
* @legacy
|
|
7263
7400
|
*/
|
|
7264
|
-
channelConversationType?:
|
|
7401
|
+
channelConversationType?: ChannelConversationType;
|
|
7265
7402
|
/**
|
|
7266
7403
|
* External channel/conversation ID of the current chat (the binding's
|
|
7267
7404
|
* external chat id — Slack channel, Telegram chat, …). Keys the channel
|
|
@@ -7740,7 +7877,7 @@ declare interface WebFetchMetadata {
|
|
|
7740
7877
|
}
|
|
7741
7878
|
|
|
7742
7879
|
/** Provider that backed a `web_fetch` call. `default` is the built-in fetcher. */
|
|
7743
|
-
declare type WebFetchProviderId = "default" | "firecrawl";
|
|
7880
|
+
declare type WebFetchProviderId = "default" | "firecrawl" | "fastcrw";
|
|
7744
7881
|
|
|
7745
7882
|
/**
|
|
7746
7883
|
* Public URL resolution for a plugin's own ingress route.
|
|
@@ -7797,7 +7934,7 @@ declare interface WebSearchMetadata {
|
|
|
7797
7934
|
errorMessage?: string;
|
|
7798
7935
|
}
|
|
7799
7936
|
|
|
7800
|
-
declare type WebSearchProviderId = "anthropic-native" | "brave" | "perplexity" | "tavily" | "keenable" | "firecrawl";
|
|
7937
|
+
declare type WebSearchProviderId = "anthropic-native" | "brave" | "perplexity" | "tavily" | "keenable" | "firecrawl" | "fastcrw";
|
|
7801
7938
|
|
|
7802
7939
|
declare interface WebSearchResultItem {
|
|
7803
7940
|
rank: number;
|
package/package.json
CHANGED