@vellumai/plugin-api 0.11.2 → 0.11.3-dev.202608080427.92f668a
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 +453 -29
- package/index.js +3 -0
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -76,6 +76,37 @@ export declare type AgentLoopExitReason =
|
|
|
76
76
|
/** An unhandled error ended the turn. */
|
|
77
77
|
| "error";
|
|
78
78
|
|
|
79
|
+
declare type AnsweredQuestion = z.infer<typeof AnsweredQuestionSchema>;
|
|
80
|
+
|
|
81
|
+
declare const AnsweredQuestionSchema: z.ZodObject<{
|
|
82
|
+
requestId: z.ZodString;
|
|
83
|
+
questions: z.ZodArray<z.ZodObject<{
|
|
84
|
+
id: z.ZodString;
|
|
85
|
+
question: z.ZodString;
|
|
86
|
+
description: z.ZodOptional<z.ZodString>;
|
|
87
|
+
options: z.ZodArray<z.ZodObject<{
|
|
88
|
+
id: z.ZodString;
|
|
89
|
+
label: z.ZodString;
|
|
90
|
+
description: z.ZodOptional<z.ZodString>;
|
|
91
|
+
}, z.core.$strip>>;
|
|
92
|
+
freeTextPlaceholder: z.ZodOptional<z.ZodString>;
|
|
93
|
+
}, z.core.$strip>>;
|
|
94
|
+
responses: z.ZodArray<z.ZodObject<{
|
|
95
|
+
questionId: z.ZodString;
|
|
96
|
+
decision: z.ZodEnum<{
|
|
97
|
+
option: "option";
|
|
98
|
+
free_text: "free_text";
|
|
99
|
+
skipped: "skipped";
|
|
100
|
+
}>;
|
|
101
|
+
optionId: z.ZodOptional<z.ZodString>;
|
|
102
|
+
text: z.ZodOptional<z.ZodString>;
|
|
103
|
+
}, z.core.$strip>>;
|
|
104
|
+
overall: z.ZodEnum<{
|
|
105
|
+
completed: "completed";
|
|
106
|
+
closed: "closed";
|
|
107
|
+
}>;
|
|
108
|
+
}, z.core.$strip>;
|
|
109
|
+
|
|
79
110
|
/**
|
|
80
111
|
* How {@link listConversations} (and friends) treats archived rows.
|
|
81
112
|
*
|
|
@@ -116,11 +147,12 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
116
147
|
provider: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodEnum<{
|
|
117
148
|
vellum: "vellum";
|
|
118
149
|
deepgram: "deepgram";
|
|
150
|
+
"deepgram-flux": "deepgram-flux";
|
|
119
151
|
"google-gemini": "google-gemini";
|
|
120
152
|
"openai-whisper": "openai-whisper";
|
|
121
153
|
xai: "xai";
|
|
122
154
|
}>>;
|
|
123
|
-
language: z.
|
|
155
|
+
language: z.ZodDefault<z.ZodString>;
|
|
124
156
|
providers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
|
|
125
157
|
}, z.core.$strip>>;
|
|
126
158
|
tts: z.ZodDefault<z.ZodObject<{
|
|
@@ -139,6 +171,9 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
139
171
|
stability: z.ZodDefault<z.ZodNumber>;
|
|
140
172
|
similarityBoost: z.ZodDefault<z.ZodNumber>;
|
|
141
173
|
conversationTimeoutSeconds: z.ZodDefault<z.ZodNumber>;
|
|
174
|
+
languageVoices: z.ZodOptional<z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodString>, z.ZodTransform<{
|
|
175
|
+
[k: string]: string;
|
|
176
|
+
}, Record<string, string>>>>;
|
|
142
177
|
}, z.core.$strip>>;
|
|
143
178
|
"fish-audio": z.ZodDefault<z.ZodObject<{
|
|
144
179
|
referenceId: z.ZodDefault<z.ZodString>;
|
|
@@ -161,6 +196,9 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
161
196
|
wav: "wav";
|
|
162
197
|
opus: "opus";
|
|
163
198
|
}>>;
|
|
199
|
+
languageVoices: z.ZodOptional<z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodString>, z.ZodTransform<{
|
|
200
|
+
[k: string]: string;
|
|
201
|
+
}, Record<string, string>>>>;
|
|
164
202
|
}, z.core.$strip>>;
|
|
165
203
|
xai: z.ZodDefault<z.ZodObject<{
|
|
166
204
|
voiceId: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
|
|
@@ -174,6 +212,9 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
174
212
|
}, z.core.$strip>>;
|
|
175
213
|
vellum: z.ZodDefault<z.ZodObject<{
|
|
176
214
|
model: z.ZodOptional<z.ZodString>;
|
|
215
|
+
languageVoices: z.ZodOptional<z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodString>, z.ZodTransform<{
|
|
216
|
+
[k: string]: string;
|
|
217
|
+
}, Record<string, string>>>>;
|
|
177
218
|
}, z.core.$strip>>;
|
|
178
219
|
}, z.core.$strip>>;
|
|
179
220
|
}, z.core.$strip>>;
|
|
@@ -484,6 +525,11 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
484
525
|
}, z.core.$strip>>;
|
|
485
526
|
}, z.core.$strip>>;
|
|
486
527
|
retrospective: z.ZodDefault<z.ZodObject<{
|
|
528
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
529
|
+
forkStrategy: z.ZodDefault<z.ZodEnum<{
|
|
530
|
+
cloning: "cloning";
|
|
531
|
+
reference: "reference";
|
|
532
|
+
}>>;
|
|
487
533
|
timeThresholdMs: z.ZodDefault<z.ZodNumber>;
|
|
488
534
|
messageThreshold: z.ZodDefault<z.ZodNumber>;
|
|
489
535
|
minCooldownMs: z.ZodDefault<z.ZodNumber>;
|
|
@@ -680,7 +726,7 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
680
726
|
skillCategoryInference: "skillCategoryInference";
|
|
681
727
|
inference: "inference";
|
|
682
728
|
vision: "vision";
|
|
683
|
-
|
|
729
|
+
voiceProgressNarration: "voiceProgressNarration";
|
|
684
730
|
voiceFrontDoor: "voiceFrontDoor";
|
|
685
731
|
trustRuleSuggestion: "trustRuleSuggestion";
|
|
686
732
|
homeGreeting: "homeGreeting";
|
|
@@ -1010,7 +1056,6 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
1010
1056
|
denyCategories: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
1011
1057
|
}, z.core.$strip>>;
|
|
1012
1058
|
voice: z.ZodDefault<z.ZodObject<{
|
|
1013
|
-
language: z.ZodDefault<z.ZodString>;
|
|
1014
1059
|
interruptSensitivity: z.ZodDefault<z.ZodEnum<{
|
|
1015
1060
|
low: "low";
|
|
1016
1061
|
medium: "medium";
|
|
@@ -1039,13 +1084,14 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
1039
1084
|
silenceThresholdMs: z.ZodDefault<z.ZodNumber>;
|
|
1040
1085
|
maxTurnDurationMs: z.ZodDefault<z.ZodNumber>;
|
|
1041
1086
|
bargeInMinSpeechMs: z.ZodDefault<z.ZodNumber>;
|
|
1087
|
+
echoBargeInMargin: z.ZodDefault<z.ZodNumber>;
|
|
1088
|
+
echoEmaHalfLifeMs: z.ZodDefault<z.ZodNumber>;
|
|
1089
|
+
echoDrainSlackMs: z.ZodDefault<z.ZodNumber>;
|
|
1042
1090
|
}, z.core.$strip>>;
|
|
1043
1091
|
frontModel: z.ZodDefault<z.ZodObject<{
|
|
1044
1092
|
endpointDecisionTimeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
1045
1093
|
endpointExtensionMs: z.ZodDefault<z.ZodNumber>;
|
|
1046
1094
|
endpointMaxExtensions: z.ZodDefault<z.ZodNumber>;
|
|
1047
|
-
ackFirstDeltaTimeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
1048
|
-
ackGenerationTimeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
1049
1095
|
progress: z.ZodDefault<z.ZodObject<{
|
|
1050
1096
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1051
1097
|
opsThreshold: z.ZodDefault<z.ZodNumber>;
|
|
@@ -1056,6 +1102,15 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
1056
1102
|
generationTimeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
1057
1103
|
}, z.core.$strip>>;
|
|
1058
1104
|
}, z.core.$strip>>;
|
|
1105
|
+
flux: z.ZodDefault<z.ZodObject<{
|
|
1106
|
+
turnEnd: z.ZodDefault<z.ZodObject<{
|
|
1107
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1108
|
+
}, z.core.$strip>>;
|
|
1109
|
+
model: z.ZodDefault<z.ZodString>;
|
|
1110
|
+
eotThreshold: z.ZodDefault<z.ZodNumber>;
|
|
1111
|
+
eagerEotThreshold: z.ZodOptional<z.ZodNumber>;
|
|
1112
|
+
eotTimeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
1113
|
+
}, z.core.$strip>>;
|
|
1059
1114
|
maxSessionDurationSeconds: z.ZodDefault<z.ZodNumber>;
|
|
1060
1115
|
archiveAudio: z.ZodDefault<z.ZodBoolean>;
|
|
1061
1116
|
}, z.core.$strip>>;
|
|
@@ -1070,6 +1125,7 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
1070
1125
|
botId: z.ZodDefault<z.ZodString>;
|
|
1071
1126
|
botUsername: z.ZodDefault<z.ZodString>;
|
|
1072
1127
|
apiBaseUrl: z.ZodDefault<z.ZodString>;
|
|
1128
|
+
registeredWebhookUrl: z.ZodOptional<z.ZodString>;
|
|
1073
1129
|
deliverAuthBypass: z.ZodDefault<z.ZodBoolean>;
|
|
1074
1130
|
timeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
1075
1131
|
maxRetries: z.ZodDefault<z.ZodNumber>;
|
|
@@ -1162,6 +1218,18 @@ declare const AssistantConfigSchema: z.ZodObject<{
|
|
|
1162
1218
|
journalRetentionDays: z.ZodDefault<z.ZodNumber>;
|
|
1163
1219
|
}, z.core.$strip>>;
|
|
1164
1220
|
plugins: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1221
|
+
pluginUpdates: z.ZodDefault<z.ZodObject<{
|
|
1222
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
1223
|
+
auto: "auto";
|
|
1224
|
+
manual: "manual";
|
|
1225
|
+
}>>;
|
|
1226
|
+
strategy: z.ZodDefault<z.ZodEnum<{
|
|
1227
|
+
theirs: "theirs";
|
|
1228
|
+
ours: "ours";
|
|
1229
|
+
overwrite: "overwrite";
|
|
1230
|
+
}>>;
|
|
1231
|
+
checkIntervalMs: z.ZodDefault<z.ZodNumber>;
|
|
1232
|
+
}, z.core.$strip>>;
|
|
1165
1233
|
legacyTelemetryOptOut: z.ZodOptional<z.ZodBoolean>;
|
|
1166
1234
|
legacyDiagnosticsOptOut: z.ZodOptional<z.ZodBoolean>;
|
|
1167
1235
|
maxStepsPerSession: z.ZodDefault<z.ZodNumber>;
|
|
@@ -1306,8 +1374,8 @@ declare const AssistantEventEnvelopeSchema: z.ZodObject<{
|
|
|
1306
1374
|
id: z.ZodString;
|
|
1307
1375
|
conversationId: z.ZodString;
|
|
1308
1376
|
status: z.ZodEnum<{
|
|
1309
|
-
cancelled: "cancelled";
|
|
1310
1377
|
completed: "completed";
|
|
1378
|
+
cancelled: "cancelled";
|
|
1311
1379
|
failed: "failed";
|
|
1312
1380
|
}>;
|
|
1313
1381
|
exitCode: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
@@ -2258,6 +2326,34 @@ declare const AssistantEventEnvelopeSchema: z.ZodObject<{
|
|
|
2258
2326
|
mayRequireJavaScript: z.ZodOptional<z.ZodBoolean>;
|
|
2259
2327
|
}, z.core.$strip>>;
|
|
2260
2328
|
}, z.core.$strip>>;
|
|
2329
|
+
answeredQuestion: z.ZodOptional<z.ZodObject<{
|
|
2330
|
+
requestId: z.ZodString;
|
|
2331
|
+
questions: z.ZodArray<z.ZodObject<{
|
|
2332
|
+
id: z.ZodString;
|
|
2333
|
+
question: z.ZodString;
|
|
2334
|
+
description: z.ZodOptional<z.ZodString>;
|
|
2335
|
+
options: z.ZodArray<z.ZodObject<{
|
|
2336
|
+
id: z.ZodString;
|
|
2337
|
+
label: z.ZodString;
|
|
2338
|
+
description: z.ZodOptional<z.ZodString>;
|
|
2339
|
+
}, z.core.$strip>>;
|
|
2340
|
+
freeTextPlaceholder: z.ZodOptional<z.ZodString>;
|
|
2341
|
+
}, z.core.$strip>>;
|
|
2342
|
+
responses: z.ZodArray<z.ZodObject<{
|
|
2343
|
+
questionId: z.ZodString;
|
|
2344
|
+
decision: z.ZodEnum<{
|
|
2345
|
+
option: "option";
|
|
2346
|
+
free_text: "free_text";
|
|
2347
|
+
skipped: "skipped";
|
|
2348
|
+
}>;
|
|
2349
|
+
optionId: z.ZodOptional<z.ZodString>;
|
|
2350
|
+
text: z.ZodOptional<z.ZodString>;
|
|
2351
|
+
}, z.core.$strip>>;
|
|
2352
|
+
overall: z.ZodEnum<{
|
|
2353
|
+
completed: "completed";
|
|
2354
|
+
closed: "closed";
|
|
2355
|
+
}>;
|
|
2356
|
+
}, z.core.$strip>>;
|
|
2261
2357
|
errorCode: z.ZodOptional<z.ZodString>;
|
|
2262
2358
|
completedAt: z.ZodOptional<z.ZodNumber>;
|
|
2263
2359
|
}, z.core.$strip>, z.ZodObject<{
|
|
@@ -2474,6 +2570,12 @@ export declare class AssistantEventHub {
|
|
|
2474
2570
|
* delivery to remaining subscribers.
|
|
2475
2571
|
*/
|
|
2476
2572
|
publish(event: AssistantEventEnvelope, options?: AssistantEventPublishOptions): Promise<void>;
|
|
2573
|
+
/**
|
|
2574
|
+
* Yield every active client entry with the given clientId. `subscribe`
|
|
2575
|
+
* disposes any prior entries for the same clientId, so at most one entry
|
|
2576
|
+
* matches.
|
|
2577
|
+
*/
|
|
2578
|
+
private activeClientEntries;
|
|
2477
2579
|
/**
|
|
2478
2580
|
* Return the active client subscriber with the given clientId, or
|
|
2479
2581
|
* `undefined` if no such subscriber exists.
|
|
@@ -2488,6 +2590,29 @@ export declare class AssistantEventHub {
|
|
|
2488
2590
|
* authenticated user identity that opened the target client's SSE stream.
|
|
2489
2591
|
*/
|
|
2490
2592
|
getActorPrincipalIdForClient(clientId: string): string | undefined;
|
|
2593
|
+
/**
|
|
2594
|
+
* Whether the connection identified by `connectionId` is still an active
|
|
2595
|
+
* client subscription that carries no `actorPrincipalId`.
|
|
2596
|
+
*
|
|
2597
|
+
* Drives the retrying SSE self-heal (`sse-actor-principal-heal.ts`): the loop
|
|
2598
|
+
* re-checks before each attempt so it stops as soon as the connection closes,
|
|
2599
|
+
* is replaced by a reconnect, or gets a principal from any path. Returns
|
|
2600
|
+
* `false` for an unknown, inactive, or process-type connection.
|
|
2601
|
+
*/
|
|
2602
|
+
needsActorPrincipalHeal(connectionId: string): boolean;
|
|
2603
|
+
/**
|
|
2604
|
+
* Fill a missing `actorPrincipalId` on a live client subscription.
|
|
2605
|
+
*
|
|
2606
|
+
* Used by the SSE dev-bypass self-heal: when the guardian-delivery cache is
|
|
2607
|
+
* cold at subscribe time, the registration lands without a principal; the
|
|
2608
|
+
* route resolves it async and patches the record here. Keyed by
|
|
2609
|
+
* `connectionId` (not clientId) so a reconnect race cannot patch the
|
|
2610
|
+
* subscription that replaced the one being healed. No-op when the
|
|
2611
|
+
* connection is gone or already carries a principal: this only fills a
|
|
2612
|
+
* missing value, never overwrites one. The value must come from the
|
|
2613
|
+
* daemon's own server-side guardian lookup, never from client input.
|
|
2614
|
+
*/
|
|
2615
|
+
fillClientActorPrincipalId(connectionId: string, actorPrincipalId: string): void;
|
|
2491
2616
|
/**
|
|
2492
2617
|
* Returns true when at least one active subscriber would receive the given
|
|
2493
2618
|
* event based on the same conversation matching rules as publish().
|
|
@@ -2517,6 +2642,12 @@ export declare class AssistantEventHub {
|
|
|
2517
2642
|
* Touch a client subscriber — update `lastActiveAt`. Used by heartbeat.
|
|
2518
2643
|
*/
|
|
2519
2644
|
touchClient(clientId: string): void;
|
|
2645
|
+
/**
|
|
2646
|
+
* Record the desktop presence state reported by a client. `reportedAt`
|
|
2647
|
+
* always advances. Returns true when at least one active client entry
|
|
2648
|
+
* matched.
|
|
2649
|
+
*/
|
|
2650
|
+
setClientPresence(clientId: string, state: DesktopPresenceState): boolean;
|
|
2520
2651
|
/**
|
|
2521
2652
|
* Force-disconnect a client by disposing all subscribers for the given
|
|
2522
2653
|
* `clientId`. Returns the number of disposed entries.
|
|
@@ -2548,6 +2679,7 @@ declare const AssistantEventPublishOptionsSchema: z.ZodObject<{
|
|
|
2548
2679
|
}>>;
|
|
2549
2680
|
targetClientId: z.ZodOptional<z.ZodString>;
|
|
2550
2681
|
targetInterfaceId: z.ZodOptional<z.ZodEnum<{
|
|
2682
|
+
plugin: "plugin";
|
|
2551
2683
|
telegram: "telegram";
|
|
2552
2684
|
phone: "phone";
|
|
2553
2685
|
whatsapp: "whatsapp";
|
|
@@ -2694,8 +2826,8 @@ declare const AssistantEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
2694
2826
|
id: z.ZodString;
|
|
2695
2827
|
conversationId: z.ZodString;
|
|
2696
2828
|
status: z.ZodEnum<{
|
|
2697
|
-
cancelled: "cancelled";
|
|
2698
2829
|
completed: "completed";
|
|
2830
|
+
cancelled: "cancelled";
|
|
2699
2831
|
failed: "failed";
|
|
2700
2832
|
}>;
|
|
2701
2833
|
exitCode: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
@@ -3646,6 +3778,34 @@ declare const AssistantEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
3646
3778
|
mayRequireJavaScript: z.ZodOptional<z.ZodBoolean>;
|
|
3647
3779
|
}, z.core.$strip>>;
|
|
3648
3780
|
}, z.core.$strip>>;
|
|
3781
|
+
answeredQuestion: z.ZodOptional<z.ZodObject<{
|
|
3782
|
+
requestId: z.ZodString;
|
|
3783
|
+
questions: z.ZodArray<z.ZodObject<{
|
|
3784
|
+
id: z.ZodString;
|
|
3785
|
+
question: z.ZodString;
|
|
3786
|
+
description: z.ZodOptional<z.ZodString>;
|
|
3787
|
+
options: z.ZodArray<z.ZodObject<{
|
|
3788
|
+
id: z.ZodString;
|
|
3789
|
+
label: z.ZodString;
|
|
3790
|
+
description: z.ZodOptional<z.ZodString>;
|
|
3791
|
+
}, z.core.$strip>>;
|
|
3792
|
+
freeTextPlaceholder: z.ZodOptional<z.ZodString>;
|
|
3793
|
+
}, z.core.$strip>>;
|
|
3794
|
+
responses: z.ZodArray<z.ZodObject<{
|
|
3795
|
+
questionId: z.ZodString;
|
|
3796
|
+
decision: z.ZodEnum<{
|
|
3797
|
+
option: "option";
|
|
3798
|
+
free_text: "free_text";
|
|
3799
|
+
skipped: "skipped";
|
|
3800
|
+
}>;
|
|
3801
|
+
optionId: z.ZodOptional<z.ZodString>;
|
|
3802
|
+
text: z.ZodOptional<z.ZodString>;
|
|
3803
|
+
}, z.core.$strip>>;
|
|
3804
|
+
overall: z.ZodEnum<{
|
|
3805
|
+
completed: "completed";
|
|
3806
|
+
closed: "closed";
|
|
3807
|
+
}>;
|
|
3808
|
+
}, z.core.$strip>>;
|
|
3649
3809
|
errorCode: z.ZodOptional<z.ZodString>;
|
|
3650
3810
|
completedAt: z.ZodOptional<z.ZodNumber>;
|
|
3651
3811
|
}, z.core.$strip>, z.ZodObject<{
|
|
@@ -3944,6 +4104,17 @@ declare interface ClientEntry extends BaseSubscriberEntry {
|
|
|
3944
4104
|
* service-token connections that have no principal.
|
|
3945
4105
|
*/
|
|
3946
4106
|
actorPrincipalId?: string;
|
|
4107
|
+
/**
|
|
4108
|
+
* Last desktop presence reported by this client, for clients that report it.
|
|
4109
|
+
* In-memory only, so consumers must fail open when it is absent.
|
|
4110
|
+
*/
|
|
4111
|
+
presence?: ClientPresence;
|
|
4112
|
+
}
|
|
4113
|
+
|
|
4114
|
+
declare interface ClientPresence {
|
|
4115
|
+
state: DesktopPresenceState;
|
|
4116
|
+
/** When the daemon last heard from the client. Drives staleness. */
|
|
4117
|
+
reportedAt: Date;
|
|
3947
4118
|
}
|
|
3948
4119
|
|
|
3949
4120
|
declare interface CliOptionHelp {
|
|
@@ -4033,6 +4204,8 @@ export declare interface ConversationRow {
|
|
|
4033
4204
|
originInterface: string | null;
|
|
4034
4205
|
forkParentConversationId: string | null;
|
|
4035
4206
|
forkParentMessageId: string | null;
|
|
4207
|
+
/** `"reference"` on referential forks; `"cloning"` or null on copied ones. */
|
|
4208
|
+
forkStrategy: string | null;
|
|
4036
4209
|
isAutoTitle: number;
|
|
4037
4210
|
scheduleJobId: string | null;
|
|
4038
4211
|
lastMessageAt: number | null;
|
|
@@ -4102,6 +4275,14 @@ export declare class CredentialResolutionError extends Error {
|
|
|
4102
4275
|
*/
|
|
4103
4276
|
export declare function deleteConversation(id: string): Promise<void>;
|
|
4104
4277
|
|
|
4278
|
+
/**
|
|
4279
|
+
* The presence states a desktop client may report. Single runtime source: the
|
|
4280
|
+
* stored type and the route's wire enum both derive from this tuple.
|
|
4281
|
+
*/
|
|
4282
|
+
declare const DESKTOP_PRESENCE_STATES: readonly ["active", "idle", "away"];
|
|
4283
|
+
|
|
4284
|
+
declare type DesktopPresenceState = (typeof DESKTOP_PRESENCE_STATES)[number];
|
|
4285
|
+
|
|
4105
4286
|
declare interface DiffInfo {
|
|
4106
4287
|
filePath: string;
|
|
4107
4288
|
oldContent: string;
|
|
@@ -4190,6 +4371,14 @@ export declare function getConversation(id: string): Promise<ConversationRow | n
|
|
|
4190
4371
|
*/
|
|
4191
4372
|
export declare function getConversationDirPath(id: string, createdAtMs: number): Promise<string>;
|
|
4192
4373
|
|
|
4374
|
+
/**
|
|
4375
|
+
* The persisted `processing_started_at` stamp for a conversation, or null
|
|
4376
|
+
* when the conversation is idle (or the row does not exist). Lets background
|
|
4377
|
+
* consumers age-gate the processing flag: a stamp far in the past is a
|
|
4378
|
+
* stranded flag (a swallowed turn-end clear), not a live turn.
|
|
4379
|
+
*/
|
|
4380
|
+
export declare function getConversationProcessingStartedAt(id: string): Promise<number | null>;
|
|
4381
|
+
|
|
4193
4382
|
/** Fetch one document from the calling plugin's index, or null. */
|
|
4194
4383
|
export declare function getDocument(documentId: string): Promise<IndexedDocument | null>;
|
|
4195
4384
|
|
|
@@ -4433,7 +4622,7 @@ declare interface InsertedMessage {
|
|
|
4433
4622
|
deduplicated: boolean;
|
|
4434
4623
|
}
|
|
4435
4624
|
|
|
4436
|
-
declare const INTERFACE_IDS: readonly ["macos", "ios", "cli", "telegram", "phone", "web", "whatsapp", "slack", "email", "chrome-extension", "a2a", "discord", "route"];
|
|
4625
|
+
declare const INTERFACE_IDS: readonly ["macos", "ios", "cli", "telegram", "phone", "web", "whatsapp", "slack", "email", "chrome-extension", "a2a", "discord", "route", "plugin"];
|
|
4437
4626
|
|
|
4438
4627
|
declare type InterfaceId = (typeof INTERFACE_IDS)[number];
|
|
4439
4628
|
|
|
@@ -4512,7 +4701,13 @@ export declare function lastToolResultUserMessageIndex(history: Message[]): numb
|
|
|
4512
4701
|
*/
|
|
4513
4702
|
export declare function listCatalogSkills(): Promise<ResolvedSkillEntry[]>;
|
|
4514
4703
|
|
|
4515
|
-
/**
|
|
4704
|
+
/**
|
|
4705
|
+
* List conversation rows, newest first.
|
|
4706
|
+
*
|
|
4707
|
+
* The positional signature is part of the plugin API surface and stays
|
|
4708
|
+
* stable; the underlying query takes a named filter, which this maps onto.
|
|
4709
|
+
* Omitted arguments stay omitted so the query's own defaults apply.
|
|
4710
|
+
*/
|
|
4516
4711
|
export declare function listConversations(limit?: number, conversationType?: ConversationType, offset?: number, archiveStatus?: ArchiveStatusFilter, originChannel?: string): Promise<ConversationRow[]>;
|
|
4517
4712
|
|
|
4518
4713
|
/**
|
|
@@ -4607,6 +4802,19 @@ declare interface LiveVoiceErrorServerFrame extends LiveVoiceServerFrameBase {
|
|
|
4607
4802
|
readonly type: "error";
|
|
4608
4803
|
readonly code: LiveVoiceProtocolErrorCode;
|
|
4609
4804
|
readonly message: string;
|
|
4805
|
+
/**
|
|
4806
|
+
* The client frame this error is about, when the failure was a parse or
|
|
4807
|
+
* validation failure of a specific frame. Absent otherwise, and absent from
|
|
4808
|
+
* daemons predating the field.
|
|
4809
|
+
*
|
|
4810
|
+
* It exists so an `unknown_type` is attributable. A client that sends more
|
|
4811
|
+
* than one optional frame (today: `update_config` and `attach_image`) gets
|
|
4812
|
+
* the same code for either, and without this has to assume which one was
|
|
4813
|
+
* refused. The wrong assumption is silent in both directions: settings stop
|
|
4814
|
+
* applying for a session, or a photo the user watched themselves take is
|
|
4815
|
+
* dropped with nothing said.
|
|
4816
|
+
*/
|
|
4817
|
+
readonly frameType?: string;
|
|
4610
4818
|
/**
|
|
4611
4819
|
* True when the session continues past the error (e.g. a transient
|
|
4612
4820
|
* transcriber blip or one failed TTS segment). Absent (including on frames
|
|
@@ -4635,14 +4843,34 @@ declare interface LiveVoiceMetricsServerFrame extends LiveVoiceServerFrameBase {
|
|
|
4635
4843
|
/** End-of-speech (utterance_end, or ptt_release in manual mode) to first TTS audio. */
|
|
4636
4844
|
readonly roundTripMs: number | null;
|
|
4637
4845
|
readonly totalMs: number | null;
|
|
4846
|
+
/**
|
|
4847
|
+
* End-of-turn latency: the local VAD speech-stop mark to the moment the
|
|
4848
|
+
* turn committed. Recorded on every committed turn, and measured from the
|
|
4849
|
+
* same anchor whichever decider owned the boundary, so front-door and Flux
|
|
4850
|
+
* turns are one comparable population. Absent on a turn that never
|
|
4851
|
+
* committed and in push-to-talk mode, where there is no local VAD
|
|
4852
|
+
* speech-stop mark.
|
|
4853
|
+
*/
|
|
4854
|
+
readonly endpointCommitLatencyMs?: number;
|
|
4638
4855
|
/**
|
|
4639
4856
|
* Semantic-endpointing "hold" decisions taken during the turn. Present only
|
|
4640
4857
|
* when the endpoint decider was consulted (otherwise the field is absent,
|
|
4641
4858
|
* keeping frames unchanged).
|
|
4642
4859
|
*/
|
|
4643
4860
|
readonly endpointHoldCount?: number;
|
|
4644
|
-
/**
|
|
4861
|
+
/**
|
|
4862
|
+
* Worst endpoint-decision latency observed during the turn. It spans only
|
|
4863
|
+
* the decider's own work, and the two deciders start it at different
|
|
4864
|
+
* moments, so it is a diagnostic rather than a cross-path comparison: read
|
|
4865
|
+
* `endpointCommitLatencyMs` for that.
|
|
4866
|
+
*/
|
|
4645
4867
|
readonly endpointDecisionMaxLatencyMs?: number;
|
|
4868
|
+
/**
|
|
4869
|
+
* Which path decided the turn's endpoint: the front-door hold verdict or
|
|
4870
|
+
* the STT provider's model-integrated end-of-turn. Present under the same
|
|
4871
|
+
* condition as the two fields above.
|
|
4872
|
+
*/
|
|
4873
|
+
readonly endpointDecisionSource?: "front-door" | "provider";
|
|
4646
4874
|
/** Which floor-holding ack actually spoke during the turn, if any. */
|
|
4647
4875
|
readonly ackSpoken?: "first_delta" | "tool_use";
|
|
4648
4876
|
/**
|
|
@@ -4816,7 +5044,7 @@ declare const LLMCallSiteEnum: z.ZodEnum<{
|
|
|
4816
5044
|
skillCategoryInference: "skillCategoryInference";
|
|
4817
5045
|
inference: "inference";
|
|
4818
5046
|
vision: "vision";
|
|
4819
|
-
|
|
5047
|
+
voiceProgressNarration: "voiceProgressNarration";
|
|
4820
5048
|
voiceFrontDoor: "voiceFrontDoor";
|
|
4821
5049
|
trustRuleSuggestion: "trustRuleSuggestion";
|
|
4822
5050
|
homeGreeting: "homeGreeting";
|
|
@@ -4859,6 +5087,7 @@ declare type MessageMetadata_2 = z.infer<typeof messageMetadataSchema>;
|
|
|
4859
5087
|
|
|
4860
5088
|
declare const messageMetadataSchema: z.ZodObject<{
|
|
4861
5089
|
userMessageChannel: z.ZodOptional<z.ZodEnum<{
|
|
5090
|
+
plugin: "plugin";
|
|
4862
5091
|
vellum: "vellum";
|
|
4863
5092
|
platform: "platform";
|
|
4864
5093
|
telegram: "telegram";
|
|
@@ -4870,6 +5099,7 @@ declare const messageMetadataSchema: z.ZodObject<{
|
|
|
4870
5099
|
discord: "discord";
|
|
4871
5100
|
}>>;
|
|
4872
5101
|
assistantMessageChannel: z.ZodOptional<z.ZodEnum<{
|
|
5102
|
+
plugin: "plugin";
|
|
4873
5103
|
vellum: "vellum";
|
|
4874
5104
|
platform: "platform";
|
|
4875
5105
|
telegram: "telegram";
|
|
@@ -4880,9 +5110,10 @@ declare const messageMetadataSchema: z.ZodObject<{
|
|
|
4880
5110
|
a2a: "a2a";
|
|
4881
5111
|
discord: "discord";
|
|
4882
5112
|
}>>;
|
|
4883
|
-
userMessageInterface: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<"telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "macos" | "ios" | "cli" | "web" | "chrome-extension" | "route" | null, string>> & z.ZodType<"telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "macos" | "ios" | "cli" | "web" | "chrome-extension" | "route", string, z.core.$ZodTypeInternals<"telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "macos" | "ios" | "cli" | "web" | "chrome-extension" | "route", string>>>;
|
|
4884
|
-
assistantMessageInterface: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<"telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "macos" | "ios" | "cli" | "web" | "chrome-extension" | "route" | null, string>> & z.ZodType<"telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "macos" | "ios" | "cli" | "web" | "chrome-extension" | "route", string, z.core.$ZodTypeInternals<"telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "macos" | "ios" | "cli" | "web" | "chrome-extension" | "route", string>>>;
|
|
5113
|
+
userMessageInterface: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<"plugin" | "telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "macos" | "ios" | "cli" | "web" | "chrome-extension" | "route" | null, string>> & z.ZodType<"plugin" | "telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "macos" | "ios" | "cli" | "web" | "chrome-extension" | "route", string, z.core.$ZodTypeInternals<"plugin" | "telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "macos" | "ios" | "cli" | "web" | "chrome-extension" | "route", string>>>;
|
|
5114
|
+
assistantMessageInterface: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<"plugin" | "telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "macos" | "ios" | "cli" | "web" | "chrome-extension" | "route" | null, string>> & z.ZodType<"plugin" | "telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "macos" | "ios" | "cli" | "web" | "chrome-extension" | "route", string, z.core.$ZodTypeInternals<"plugin" | "telegram" | "phone" | "whatsapp" | "slack" | "email" | "a2a" | "discord" | "macos" | "ios" | "cli" | "web" | "chrome-extension" | "route", string>>>;
|
|
4885
5115
|
client: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
5116
|
+
clientOsFromRequest: z.ZodOptional<z.ZodBoolean>;
|
|
4886
5117
|
subagentNotification: z.ZodOptional<z.ZodObject<{
|
|
4887
5118
|
subagentId: z.ZodString;
|
|
4888
5119
|
label: z.ZodString;
|
|
@@ -4908,6 +5139,7 @@ declare const messageMetadataSchema: z.ZodObject<{
|
|
|
4908
5139
|
}>>;
|
|
4909
5140
|
model: z.ZodOptional<z.ZodString>;
|
|
4910
5141
|
provenanceSourceChannel: z.ZodOptional<z.ZodEnum<{
|
|
5142
|
+
plugin: "plugin";
|
|
4911
5143
|
vellum: "vellum";
|
|
4912
5144
|
platform: "platform";
|
|
4913
5145
|
telegram: "telegram";
|
|
@@ -4933,8 +5165,8 @@ declare const messageMetadataSchema: z.ZodObject<{
|
|
|
4933
5165
|
command: z.ZodString;
|
|
4934
5166
|
startedAt: z.ZodNumber;
|
|
4935
5167
|
status: z.ZodEnum<{
|
|
4936
|
-
cancelled: "cancelled";
|
|
4937
5168
|
completed: "completed";
|
|
5169
|
+
cancelled: "cancelled";
|
|
4938
5170
|
failed: "failed";
|
|
4939
5171
|
}>;
|
|
4940
5172
|
exitCode: z.ZodNullable<z.ZodNumber>;
|
|
@@ -5624,7 +5856,7 @@ declare type ResolutionFallbackReason = "missing" | "disabled" | "incomplete";
|
|
|
5624
5856
|
* 3. `llm.callSites[callSite].profile` (the call site's named profile)
|
|
5625
5857
|
* 4. `CALL_SITE_DEFAULTS[callSite].profile` intent resolved through
|
|
5626
5858
|
* `llm.defaultProvider`
|
|
5627
|
-
* 5. balanced intent through `llm.defaultProvider
|
|
5859
|
+
* 5. balanced intent through `llm.defaultProvider`: the code-owned anchor
|
|
5628
5860
|
* for profileless call sites, or when nothing above is usable
|
|
5629
5861
|
*
|
|
5630
5862
|
* A winner must carry its own `provider` AND `model`: the base layer's schema
|
|
@@ -5767,12 +5999,46 @@ export declare function resolveMediaSourceData(source: MediaSource_2): {
|
|
|
5767
5999
|
} | null;
|
|
5768
6000
|
|
|
5769
6001
|
/**
|
|
5770
|
-
*
|
|
5771
|
-
*
|
|
5772
|
-
*
|
|
6002
|
+
* Resolve the redirect URI an authorization server should send the user
|
|
6003
|
+
* back to.
|
|
6004
|
+
*
|
|
6005
|
+
* Takes no arguments on purpose: every caller shares one route, so there
|
|
6006
|
+
* is nothing to vary. That is what makes the URI stable across callers and
|
|
6007
|
+
* across attempts, which is what an exact-match `redirect_uri` check needs.
|
|
6008
|
+
*
|
|
6009
|
+
* @throws when no public ingress is configured and the assistant is not
|
|
6010
|
+
* connected to the platform. There is no URL that would work in that
|
|
6011
|
+
* case, and returning a plausible one produces an authorization request
|
|
6012
|
+
* whose callback silently never arrives.
|
|
6013
|
+
*/
|
|
6014
|
+
export declare function resolveOauthCallbackUrl(): Promise<string>;
|
|
6015
|
+
|
|
6016
|
+
/**
|
|
6017
|
+
* Read the user's display name from the guardian's persona file
|
|
6018
|
+
* (`users/<slug>.md`, resolved via the guardian-delivery binding), falling
|
|
6019
|
+
* back to `users/default.md`. Returns `null` on any miss; callers substitute
|
|
6020
|
+
* a generic label.
|
|
6021
|
+
*
|
|
6022
|
+
* The guardian resolution reads the sync in-process guardian-delivery cache;
|
|
6023
|
+
* callers in processes that do not otherwise warm it (memory worker) await
|
|
6024
|
+
* `getGuardianDelivery` first.
|
|
5773
6025
|
*/
|
|
5774
6026
|
export declare function resolveUserName(workspaceDir: string): string | null;
|
|
5775
6027
|
|
|
6028
|
+
/**
|
|
6029
|
+
* Resolve the public URL a third party should deliver to for `path`.
|
|
6030
|
+
*
|
|
6031
|
+
* On the managed branches this registers a callback route with the platform,
|
|
6032
|
+
* which is idempotent and matches what `assistant webhooks register` does.
|
|
6033
|
+
*
|
|
6034
|
+
* @throws when the plugin cannot be determined, when `path` is not one the
|
|
6035
|
+
* gateway would serve, or when no ingress is configured and the assistant is
|
|
6036
|
+
* not connected to the platform. That last case has no URL that would work,
|
|
6037
|
+
* and a plausible one would produce a vendor registration that silently
|
|
6038
|
+
* receives nothing.
|
|
6039
|
+
*/
|
|
6040
|
+
export declare function resolveWebhookUrl(options: WebhookUrlOptions): Promise<string>;
|
|
6041
|
+
|
|
5776
6042
|
export declare enum RiskLevel {
|
|
5777
6043
|
Low = "low",
|
|
5778
6044
|
Medium = "medium",
|
|
@@ -5992,12 +6258,32 @@ export declare interface SendMessageConfig {
|
|
|
5992
6258
|
*/
|
|
5993
6259
|
logit_bias?: Record<string, number>;
|
|
5994
6260
|
/**
|
|
5995
|
-
* When true, the
|
|
5996
|
-
*
|
|
5997
|
-
* it
|
|
5998
|
-
*
|
|
5999
|
-
*
|
|
6000
|
-
*
|
|
6261
|
+
* When true, the TURN-STARTING user message carries content that will not
|
|
6262
|
+
* recur byte-identically on the next turn, so a long-TTL breakpoint placed
|
|
6263
|
+
* on it could never be read back across turns. The agent loop is the only
|
|
6264
|
+
* producer: it sets the flag from the history it is about to send, when the
|
|
6265
|
+
* turn-starting message carries a memory-v3 `<memory_spotlight>` block (the
|
|
6266
|
+
* one injected block strip-and-replaced from every user message each turn).
|
|
6267
|
+
*
|
|
6268
|
+
* The flag describes the turn, not the request, so it holds for every
|
|
6269
|
+
* request the turn makes, including tool-loop iterations, whose trailing
|
|
6270
|
+
* tool-result message is user-role but carries no injected blocks.
|
|
6271
|
+
*
|
|
6272
|
+
* Consumed by the Anthropic client only, where it selects the TTL of the
|
|
6273
|
+
* turn-start breakpoint: short instead of long. The block is still marked,
|
|
6274
|
+
* so the turn's tool-loop iterations read the prefix back and each hit
|
|
6275
|
+
* refreshes the entry; nothing is spent on a long-TTL entry whose bytes
|
|
6276
|
+
* change before the next turn could reach it. Holding the flag steady across
|
|
6277
|
+
* the turn is what keeps that one boundary on a single TTL; marking it at
|
|
6278
|
+
* two would bill two writes for one reusable prefix.
|
|
6279
|
+
*
|
|
6280
|
+
* The OpenAI Responses transport ignores the flag and marks every markable
|
|
6281
|
+
* user item: a volatile message is fixed within its own turn, so the write is
|
|
6282
|
+
* prepaid once and read back by each tool-loop iteration.
|
|
6283
|
+
*
|
|
6284
|
+
* Default false. Providers that place no message-level breakpoints, or that
|
|
6285
|
+
* key their cache on a request-level identifier rather than message bytes,
|
|
6286
|
+
* can ignore it.
|
|
6001
6287
|
*/
|
|
6002
6288
|
mutableLatestUserMessage?: boolean;
|
|
6003
6289
|
/**
|
|
@@ -6272,13 +6558,32 @@ export declare type SttErrorCategory =
|
|
|
6272
6558
|
* Canonical provider identifiers for daemon-hosted STT backends.
|
|
6273
6559
|
* Extend this union as new providers are integrated.
|
|
6274
6560
|
*/
|
|
6275
|
-
export declare type SttProviderId = "openai-whisper" | "deepgram"
|
|
6561
|
+
export declare type SttProviderId = "openai-whisper" | "deepgram"
|
|
6562
|
+
/**
|
|
6563
|
+
* Deepgram's Flux conversational speech model. Shares the `deepgram`
|
|
6564
|
+
* credential and is streaming-only: Flux has no batch endpoint.
|
|
6565
|
+
*/
|
|
6566
|
+
| "deepgram-flux" | "google-gemini" | "xai" | "vellum";
|
|
6276
6567
|
|
|
6277
6568
|
/** The streaming session has closed (no more events will be emitted). */
|
|
6278
6569
|
export declare interface SttStreamServerClosedEvent {
|
|
6279
6570
|
readonly type: "closed";
|
|
6280
6571
|
}
|
|
6281
6572
|
|
|
6573
|
+
/**
|
|
6574
|
+
* The provider's turn model speculates the user has finished, ahead of its
|
|
6575
|
+
* committed end-of-turn decision. A {@link SttStreamServerTurnResumedEvent}
|
|
6576
|
+
* retracts the speculation; a {@link SttStreamServerTurnEndEvent} confirms it.
|
|
6577
|
+
*
|
|
6578
|
+
* Emitted only by providers with model-integrated turn detection; providers
|
|
6579
|
+
* without it never emit these.
|
|
6580
|
+
*/
|
|
6581
|
+
export declare interface SttStreamServerEagerTurnEndEvent {
|
|
6582
|
+
readonly type: "eager-turn-end";
|
|
6583
|
+
/** Transcript text as of the speculated turn end. */
|
|
6584
|
+
readonly text: string;
|
|
6585
|
+
}
|
|
6586
|
+
|
|
6282
6587
|
/** An error occurred during streaming transcription. */
|
|
6283
6588
|
export declare interface SttStreamServerErrorEvent {
|
|
6284
6589
|
readonly type: "error";
|
|
@@ -6295,7 +6600,7 @@ export declare interface SttStreamServerErrorEvent {
|
|
|
6295
6600
|
* and final transcripts, errors, and session lifecycle signals in a
|
|
6296
6601
|
* type-safe manner.
|
|
6297
6602
|
*/
|
|
6298
|
-
export declare type SttStreamServerEvent = SttStreamServerPartialEvent | SttStreamServerFinalEvent | SttStreamServerFinalizedEvent | SttStreamServerErrorEvent | SttStreamServerClosedEvent;
|
|
6603
|
+
export declare type SttStreamServerEvent = SttStreamServerPartialEvent | SttStreamServerFinalEvent | SttStreamServerFinalizedEvent | SttStreamServerTurnStartEvent | SttStreamServerEagerTurnEndEvent | SttStreamServerTurnResumedEvent | SttStreamServerTurnEndEvent | SttStreamServerErrorEvent | SttStreamServerClosedEvent;
|
|
6299
6604
|
|
|
6300
6605
|
/**
|
|
6301
6606
|
* A final (committed) transcript — this segment will not be revised.
|
|
@@ -6310,6 +6615,14 @@ export declare interface SttStreamServerFinalEvent {
|
|
|
6310
6615
|
* provider does not surface confidence on this chunk.
|
|
6311
6616
|
*/
|
|
6312
6617
|
readonly confidence?: number;
|
|
6618
|
+
/**
|
|
6619
|
+
* All detected languages of this chunk in dominance order (first entry
|
|
6620
|
+
* dominant), already normalized to lowercase base subtags (e.g. "en",
|
|
6621
|
+
* "hi") by the emitting adapter; consumers must not re-normalize. Only
|
|
6622
|
+
* providers with code-switching metadata (currently Deepgram nova-3
|
|
6623
|
+
* `multi`) populate this. Absence means "unknown", never English.
|
|
6624
|
+
*/
|
|
6625
|
+
readonly languages?: readonly string[];
|
|
6313
6626
|
/**
|
|
6314
6627
|
* True when this final is the flush response to
|
|
6315
6628
|
* {@link StreamingTranscriber.finalizeUtterance} — i.e. it commits audio
|
|
@@ -6343,6 +6656,67 @@ export declare interface SttStreamServerPartialEvent {
|
|
|
6343
6656
|
* provider does not surface confidence on interim chunks.
|
|
6344
6657
|
*/
|
|
6345
6658
|
readonly confidence?: number;
|
|
6659
|
+
/**
|
|
6660
|
+
* All detected languages of this chunk in dominance order (first entry
|
|
6661
|
+
* dominant), already normalized to lowercase base subtags (e.g. "en",
|
|
6662
|
+
* "hi") by the emitting adapter; consumers must not re-normalize. Only
|
|
6663
|
+
* providers with code-switching metadata (currently Deepgram nova-3
|
|
6664
|
+
* `multi`) populate this. Absence means "unknown", never English.
|
|
6665
|
+
*/
|
|
6666
|
+
readonly languages?: readonly string[];
|
|
6667
|
+
}
|
|
6668
|
+
|
|
6669
|
+
/**
|
|
6670
|
+
* The provider's turn model committed an end of turn: the user has finished
|
|
6671
|
+
* speaking and a reply can be dispatched.
|
|
6672
|
+
*
|
|
6673
|
+
* Emitted only by providers with model-integrated turn detection; providers
|
|
6674
|
+
* without it never emit these.
|
|
6675
|
+
*/
|
|
6676
|
+
export declare interface SttStreamServerTurnEndEvent {
|
|
6677
|
+
readonly type: "turn-end";
|
|
6678
|
+
/** Committed transcript text for the completed turn. */
|
|
6679
|
+
readonly text: string;
|
|
6680
|
+
/**
|
|
6681
|
+
* Provider-emitted end-of-turn confidence in [0, 1]. Undefined when the
|
|
6682
|
+
* provider does not surface a score.
|
|
6683
|
+
*/
|
|
6684
|
+
readonly confidence?: number;
|
|
6685
|
+
/**
|
|
6686
|
+
* Provider's index for the turn being closed, matching the
|
|
6687
|
+
* {@link SttStreamServerTurnStartEvent} that opened it. A consumer can
|
|
6688
|
+
* compare it against the newest turn it has seen opened to tell an
|
|
6689
|
+
* end-of-turn for the turn still in progress from one the provider has
|
|
6690
|
+
* already superseded. Undefined when the provider does not number its
|
|
6691
|
+
* turns.
|
|
6692
|
+
*/
|
|
6693
|
+
readonly turnIndex?: number;
|
|
6694
|
+
}
|
|
6695
|
+
|
|
6696
|
+
/**
|
|
6697
|
+
* The user kept speaking after an {@link SttStreamServerEagerTurnEndEvent},
|
|
6698
|
+
* retracting the speculated turn end.
|
|
6699
|
+
*
|
|
6700
|
+
* Emitted only by providers with model-integrated turn detection; providers
|
|
6701
|
+
* without it never emit these.
|
|
6702
|
+
*/
|
|
6703
|
+
export declare interface SttStreamServerTurnResumedEvent {
|
|
6704
|
+
readonly type: "turn-resumed";
|
|
6705
|
+
}
|
|
6706
|
+
|
|
6707
|
+
/**
|
|
6708
|
+
* The provider's turn model detected the start of a user turn.
|
|
6709
|
+
*
|
|
6710
|
+
* Emitted only by providers with model-integrated turn detection; providers
|
|
6711
|
+
* without it never emit these.
|
|
6712
|
+
*/
|
|
6713
|
+
export declare interface SttStreamServerTurnStartEvent {
|
|
6714
|
+
readonly type: "turn-start";
|
|
6715
|
+
/**
|
|
6716
|
+
* Provider's index for the turn being opened, monotonically increasing
|
|
6717
|
+
* within a stream. Undefined when the provider does not number its turns.
|
|
6718
|
+
*/
|
|
6719
|
+
readonly turnIndex?: number;
|
|
6346
6720
|
}
|
|
6347
6721
|
|
|
6348
6722
|
declare type SubscriberEntry = ClientEntry | ProcessEntry;
|
|
@@ -6685,6 +7059,14 @@ export declare interface ToolContext {
|
|
|
6685
7059
|
* @legacy
|
|
6686
7060
|
*/
|
|
6687
7061
|
overrideProfile?: string;
|
|
7062
|
+
/**
|
|
7063
|
+
* The firing's `cron_runs.id` when a schedule triggered this turn, `null`
|
|
7064
|
+
* otherwise. Tools that spawn further LLM work (`subagent_spawn`,
|
|
7065
|
+
* `subagent_message`) forward it so the delegated usage rows carry the same
|
|
7066
|
+
* stamp and attribute to the firing rather than dropping out of schedule
|
|
7067
|
+
* cost reporting.
|
|
7068
|
+
*/
|
|
7069
|
+
cronRunId?: string | null;
|
|
6688
7070
|
/**
|
|
6689
7071
|
* The LLM call site of the turn currently executing this tool (`mainAgent`,
|
|
6690
7072
|
* `heartbeatAgent`, scheduled work, etc.). `subagent_spawn` reads it to
|
|
@@ -6696,10 +7078,12 @@ export declare interface ToolContext {
|
|
|
6696
7078
|
invokingCallSite?: LLMCallSite;
|
|
6697
7079
|
/**
|
|
6698
7080
|
* Canonical principal ID of the actor on whose behalf this tool invocation
|
|
6699
|
-
* is running
|
|
7081
|
+
* is running — the turn's actor principal, falling back to the trust
|
|
7082
|
+
* context's `guardianPrincipalId` (see `resolveTurnActorPrincipalId`).
|
|
6700
7083
|
* Used by host proxies to bind cross-client targeted execution to the same
|
|
6701
|
-
* authenticated user identity
|
|
6702
|
-
* with
|
|
7084
|
+
* authenticated user identity, so it must resolve to the SAME principal a
|
|
7085
|
+
* desktop client registers with on its SSE stream. May be undefined for
|
|
7086
|
+
* legacy/internal flows with no resolved actor identity.
|
|
6703
7087
|
* @legacy
|
|
6704
7088
|
*/
|
|
6705
7089
|
sourceActorPrincipalId?: string;
|
|
@@ -6860,6 +7244,14 @@ export declare interface ToolExecutionResult {
|
|
|
6860
7244
|
/** Structured activity metadata for client rendering (web search, web fetch, etc).
|
|
6861
7245
|
* Populated by daemon-internal tools; plugins must not set this. */
|
|
6862
7246
|
activityMetadata?: ToolActivityMetadata;
|
|
7247
|
+
/**
|
|
7248
|
+
* Typed side channel from the `ask_question` executor to the agent loop: the
|
|
7249
|
+
* questions asked and the answers the user gave. The loop forwards it on the
|
|
7250
|
+
* `tool_result` event and persists it on the tool_use block, so the answered
|
|
7251
|
+
* card renders live and survives a history reopen instead of the decision
|
|
7252
|
+
* disappearing with the interactive prompt. Set only by `ask_question`.
|
|
7253
|
+
*/
|
|
7254
|
+
answeredQuestion?: AnsweredQuestion;
|
|
6863
7255
|
}
|
|
6864
7256
|
|
|
6865
7257
|
export declare interface ToolResultContent {
|
|
@@ -7104,6 +7496,38 @@ declare interface WebFetchMetadata {
|
|
|
7104
7496
|
/** Provider that backed a `web_fetch` call. `default` is the built-in fetcher. */
|
|
7105
7497
|
declare type WebFetchProviderId = "default" | "firecrawl";
|
|
7106
7498
|
|
|
7499
|
+
/**
|
|
7500
|
+
* Public URL resolution for a plugin's own ingress route.
|
|
7501
|
+
*
|
|
7502
|
+
* A plugin that receives third-party webhooks has to tell the vendor where to
|
|
7503
|
+
* deliver. Which URL is correct depends on how the assistant is reachable:
|
|
7504
|
+
* a platform pod and a platform-connected assistant are served through a
|
|
7505
|
+
* managed callback route, while a self-hosted deployment is served through its
|
|
7506
|
+
* configured public ingress. `ingress.publicBaseUrl` alone does not decide it,
|
|
7507
|
+
* because on a platform-connected assistant that value holds the Velay tunnel
|
|
7508
|
+
* address, which is not where plugin routes are served.
|
|
7509
|
+
*
|
|
7510
|
+
* `resolveCallbackUrl` owns that decision for every caller in the codebase
|
|
7511
|
+
* (`webhooks register`, the Telegram webhook manager). This exposes it to
|
|
7512
|
+
* plugins so there is one implementation rather than one per plugin.
|
|
7513
|
+
*/
|
|
7514
|
+
export declare interface WebhookUrlOptions {
|
|
7515
|
+
/**
|
|
7516
|
+
* Route path within the plugin's namespace, such as `"events-photon"`.
|
|
7517
|
+
* Relative, with no leading slash.
|
|
7518
|
+
*/
|
|
7519
|
+
path: string;
|
|
7520
|
+
/**
|
|
7521
|
+
* Plugin whose namespace the route belongs to.
|
|
7522
|
+
*
|
|
7523
|
+
* Defaults to the plugin in context, which covers hooks and tools. Supply it
|
|
7524
|
+
* explicitly from a plugin route handler, where no context is established.
|
|
7525
|
+
*/
|
|
7526
|
+
plugin?: string;
|
|
7527
|
+
/** Human-readable label for the platform's admin display. */
|
|
7528
|
+
sourceIdentifier?: string;
|
|
7529
|
+
}
|
|
7530
|
+
|
|
7107
7531
|
declare interface WebSearchMetadata {
|
|
7108
7532
|
query: string;
|
|
7109
7533
|
provider: WebSearchProviderId;
|
package/index.js
CHANGED
|
@@ -21,6 +21,7 @@ export const getAssistantName = api.getAssistantName;
|
|
|
21
21
|
export const getConfiguredProvider = api.getConfiguredProvider;
|
|
22
22
|
export const getConversation = api.getConversation;
|
|
23
23
|
export const getConversationDirPath = api.getConversationDirPath;
|
|
24
|
+
export const getConversationProcessingStartedAt = api.getConversationProcessingStartedAt;
|
|
24
25
|
export const getDocument = api.getDocument;
|
|
25
26
|
export const getMessages = api.getMessages;
|
|
26
27
|
export const getModelProfiles = api.getModelProfiles;
|
|
@@ -43,7 +44,9 @@ export const queryIndex = api.queryIndex;
|
|
|
43
44
|
export const removeDocument = api.removeDocument;
|
|
44
45
|
export const resolveCredential = api.resolveCredential;
|
|
45
46
|
export const resolveMediaSourceData = api.resolveMediaSourceData;
|
|
47
|
+
export const resolveOauthCallbackUrl = api.resolveOauthCallbackUrl;
|
|
46
48
|
export const resolveUserName = api.resolveUserName;
|
|
49
|
+
export const resolveWebhookUrl = api.resolveWebhookUrl;
|
|
47
50
|
export const runConversationTurn = api.runConversationTurn;
|
|
48
51
|
export const searchMessageIdsLexical = api.searchMessageIdsLexical;
|
|
49
52
|
export const selectedBackendSupportsMultimodal = api.selectedBackendSupportsMultimodal;
|