lua-cli 3.54.0 → 3.55.0

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.
@@ -2885,15 +2885,6 @@ export declare interface ChannelSendTarget {
2885
2885
  identity?: UserIdentityRef;
2886
2886
  }
2887
2887
 
2888
- /**
2889
- * Wire-format types for `GET /chat/history/:agentId` and the VM-sandbox
2890
- * `User.getChatHistory()` API. Both paths return the same shape.
2891
- *
2892
- * Shared between lua-core (HTTP controller + VM devtools) and lua-cli
2893
- * (HTTP client typing for `lua test`). Also shared with lua-api's
2894
- * `thread.service.ts` (admin org-thread listing) so the parser never
2895
- * diverges across services.
2896
- */
2897
2888
  /**
2898
2889
  * One content part of a chat-history message.
2899
2890
  *
@@ -2964,6 +2955,8 @@ export declare interface ChatHistoryMessage {
2964
2955
  servedModel?: string;
2965
2956
  /** True when the turn reached that model through the Auto selector. */
2966
2957
  autoModelRequested?: boolean;
2958
+ /** On an assistant message: the id the reply streamed under, which its usage and ledger rows carry. */
2959
+ turnId?: string;
2967
2960
  author?: {
2968
2961
  userId: string;
2969
2962
  };
@@ -2973,6 +2966,8 @@ export declare interface ChatHistoryMessage {
2973
2966
  };
2974
2967
  /** On a user message: the id the client gave the turn when it sent it, so it can tell which of its sends arrived. */
2975
2968
  clientTurnId?: string;
2969
+ /** Set on every message of a turn that has more than one version. */
2970
+ replyVersion?: ReplyVersionInfo;
2976
2971
  /**
2977
2972
  * Permanent recording for a voice-note turn (Lua Desktop). Populated by the
2978
2973
  * admin threads history endpoint from the row's `content.metadata.audio` — a
@@ -3288,6 +3283,8 @@ declare interface CustomDataAPI {
3288
3283
  set?: Record<string, any>;
3289
3284
  unset?: string[];
3290
3285
  searchText?: string | null;
3286
+ /** Refreshes the index declarations (same semantics as create's option). */
3287
+ index?: Array<string | string[]>;
3291
3288
  }, options?: {
3292
3289
  ifVersion?: number;
3293
3290
  }): Promise<UpdateCustomDataResponse>;
@@ -3485,7 +3482,7 @@ export declare const Data: {
3485
3482
  *
3486
3483
  * @param collectionName - Name of the collection
3487
3484
  * @param entryId - ID of the entry
3488
- * @param mutation - `{ set?, unset?, searchText? }` (`searchText: null` clears it)
3485
+ * @param mutation - `{ set?, unset?, searchText?, index? }` (`searchText: null` clears it; `index` as create's option)
3489
3486
  * @param options - `{ ifVersion? }` for compare-and-swap
3490
3487
  * @returns Promise resolving to `{ status, message, version }` (`version` = the entry's new version)
3491
3488
  */
@@ -3493,6 +3490,8 @@ export declare const Data: {
3493
3490
  set?: Record<string, any>;
3494
3491
  unset?: string[];
3495
3492
  searchText?: string | null;
3493
+ /** Refreshes the index declarations (same semantics as create's `index` option). */
3494
+ index?: Array<string | string[]>;
3496
3495
  }, options?: PatchCustomDataOptions): Promise<UpdateCustomDataResponse>;
3497
3496
  /**
3498
3497
  * Atomically adds `by` (default 1; negative and fractional amounts allowed)
@@ -3557,7 +3556,9 @@ export declare const Data: {
3557
3556
  * - Readers may `collections`, `get`, `getEntry`, `search`; writers may also `create`, `update`, `patch`,
3558
3557
  * `increment`, `delete` (a writer can read). Anything else rejects with `code === 'shared_data_forbidden'`
3559
3558
  * (403) — also when the name does not exist or belongs to another org.
3560
- * - Same limits, filters, managed indexes, compare-and-swap and vector search as `Data`. Every write is audited
3559
+ * - Same limits, filters, managed indexes, compare-and-swap and vector search as `Data`. A writer declares indexes
3560
+ * (`{ index }` on create/update/patch); they belong to the shared collection (5 across its sub-collections) and
3561
+ * `collections()` reports their status to every reader. Every write is audited
3561
3562
  * (agent, collection, entry id; never the value).
3562
3563
  * - A test session may read but not write (`shared_data_test_session_write_refused`, 409).
3563
3564
  * - Deployed agents only: under `lua test` every call rejects with `code === 'shared_data_unavailable_offline'`.
@@ -3601,11 +3602,11 @@ export declare class DataEntryInstance {
3601
3602
  /**
3602
3603
  * Updates the custom data entry
3603
3604
  * @param data - The data fields to update (partial update supported)
3604
- * @param searchText - Optional new search text for semantic search indexing
3605
+ * @param optionsOrSearchText - `{ searchText?, index? }` (as `Data.update`), or a bare string (legacy `searchText`)
3605
3606
  * @returns Promise resolving to the updated data
3606
3607
  * @throws Error if the update fails
3607
3608
  */
3608
- update(data: Record<string, any>, searchText?: string): Promise<Record<string, any>>;
3609
+ update(data: Record<string, any>, optionsOrSearchText?: string | CreateCustomDataOptions): Promise<Record<string, any>>;
3609
3610
  /**
3610
3611
  * Atomically sets/unsets fields. `options.ifVersion` makes it a
3611
3612
  * compare-and-swap (pass `entry._version`); a stale version rejects with
@@ -3616,6 +3617,8 @@ export declare class DataEntryInstance {
3616
3617
  set?: Record<string, any>;
3617
3618
  unset?: string[];
3618
3619
  searchText?: string | null;
3620
+ /** Refreshes the index declarations (same semantics as create's option). */
3621
+ index?: Array<string | string[]>;
3619
3622
  }, options?: {
3620
3623
  ifVersion?: number;
3621
3624
  }): Promise<Record<string, any>>;
@@ -3628,11 +3631,11 @@ export declare class DataEntryInstance {
3628
3631
  delete(): Promise<boolean>;
3629
3632
  /**
3630
3633
  * Saves the data entry
3631
- * @param searchText - Optional search text for vector search indexing
3634
+ * @param optionsOrSearchText - `{ searchText?, index? }` (as `Data.update`), or a bare string (legacy `searchText`)
3632
3635
  * @returns Promise resolving to true if saving was successful
3633
3636
  * @throws Error if the save operation fails
3634
3637
  */
3635
- save(searchText?: string): Promise<boolean>;
3638
+ save(optionsOrSearchText?: string | CreateCustomDataOptions): Promise<boolean>;
3636
3639
  }
3637
3640
 
3638
3641
  export { DatasetRef }
@@ -4979,6 +4982,17 @@ export declare interface IntegrationPassthroughRequest {
4979
4982
  * server-side and cannot be overridden.
4980
4983
  */
4981
4984
  headers?: Record<string, string>;
4985
+ /**
4986
+ * BAC-2677 — ask for the provider body as bytes. With `'base64'`, a 2xx
4987
+ * response body is read as raw bytes and returned base64-encoded in `data`
4988
+ * (and `encoding: 'base64'` is set on the response), so binary files such as
4989
+ * a Drive PDF (`drive/v3/files/<id>?alt=media`) survive intact. Bodies over
4990
+ * {@link INTEGRATION_PASSTHROUGH_MAX_BASE64_RESPONSE_BYTES} are refused with
4991
+ * {@link INTEGRATION_PASSTHROUGH_RESPONSE_TOO_LARGE_CODE}, never truncated.
4992
+ * Provider error statuses keep the normal JSON/text body. Omit for the
4993
+ * default JSON/text handling.
4994
+ */
4995
+ responseType?: 'base64';
4982
4996
  }
4983
4997
 
4984
4998
  /**
@@ -4994,8 +5008,16 @@ export declare interface IntegrationPassthroughResponse {
4994
5008
  /**
4995
5009
  * Provider response body: parsed JSON when the response is JSON, the raw
4996
5010
  * string otherwise (e.g. a `text/plain` unified diff round-trips intact).
5011
+ * A base64 string when `encoding` is `'base64'`.
4997
5012
  */
4998
5013
  data: unknown;
5014
+ /**
5015
+ * BAC-2677 — `'base64'` when `data` is the provider body base64-encoded
5016
+ * (the request asked for `responseType: 'base64'` and the provider answered
5017
+ * 2xx). Absent means `data` took the normal JSON/text path, so a caller that
5018
+ * asked for bytes can tell when it did not get them.
5019
+ */
5020
+ encoding?: 'base64';
4999
5021
  }
5000
5022
 
5001
5023
  export declare const Integrations: IntegrationsApi;
@@ -6649,10 +6671,7 @@ export declare interface LuaTool<TInput extends ZodType = ZodType> {
6649
6671
  * while the tool runs. Each text is a string literal (or a const holding one)
6650
6672
  * of at most 80 characters; `lua compile` ignores a computed label.
6651
6673
  */
6652
- label?: string | {
6653
- running: string;
6654
- done: string;
6655
- };
6674
+ label?: ToolLabel;
6656
6675
  /** Zod schema for input validation */
6657
6676
  inputSchema: TInput;
6658
6677
  /**
@@ -6918,15 +6937,15 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
6918
6937
  */
6919
6938
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
6920
6939
  }, "strip", z.ZodTypeAny, {
6921
- model: string;
6922
6940
  kind: "inference";
6923
- voice?: string | undefined;
6941
+ model: string;
6924
6942
  options?: Record<string, unknown> | undefined;
6943
+ voice?: string | undefined;
6925
6944
  }, {
6926
- model: string;
6927
6945
  kind: "inference";
6928
- voice?: string | undefined;
6946
+ model: string;
6929
6947
  options?: Record<string, unknown> | undefined;
6948
+ voice?: string | undefined;
6930
6949
  }>, z.ZodObject<{
6931
6950
  kind: z.ZodLiteral<"plugin">;
6932
6951
  provider: z.ZodEnum<["deepgram", "elevenlabs"]>;
@@ -6941,13 +6960,13 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
6941
6960
  }, "strip", z.ZodTypeAny, {
6942
6961
  class: "LLM" | "STT" | "STTv2" | "TTS";
6943
6962
  options: Record<string, unknown>;
6944
- provider: "deepgram" | "elevenlabs";
6945
6963
  kind: "plugin";
6964
+ provider: "deepgram" | "elevenlabs";
6946
6965
  }, {
6947
6966
  class: "LLM" | "STT" | "STTv2" | "TTS";
6948
6967
  options: Record<string, unknown>;
6949
- provider: "deepgram" | "elevenlabs";
6950
6968
  kind: "plugin";
6969
+ provider: "deepgram" | "elevenlabs";
6951
6970
  }>, z.ZodObject<{
6952
6971
  kind: z.ZodLiteral<"realtime">;
6953
6972
  provider: z.ZodEnum<["openai", "google", "xai"]>;
@@ -6960,12 +6979,12 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
6960
6979
  options: z.ZodRecord<z.ZodString, z.ZodUnknown>;
6961
6980
  }, "strip", z.ZodTypeAny, {
6962
6981
  options: Record<string, unknown>;
6963
- provider: "openai" | "google" | "xai";
6964
6982
  kind: "realtime";
6983
+ provider: "openai" | "google" | "xai";
6965
6984
  }, {
6966
6985
  options: Record<string, unknown>;
6967
- provider: "openai" | "google" | "xai";
6968
6986
  kind: "realtime";
6987
+ provider: "openai" | "google" | "xai";
6969
6988
  }>]>;
6970
6989
  stt: z.ZodOptional<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
6971
6990
  kind: z.ZodLiteral<"inference">;
@@ -6984,15 +7003,15 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
6984
7003
  */
6985
7004
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
6986
7005
  }, "strip", z.ZodTypeAny, {
6987
- model: string;
6988
7006
  kind: "inference";
6989
- voice?: string | undefined;
7007
+ model: string;
6990
7008
  options?: Record<string, unknown> | undefined;
7009
+ voice?: string | undefined;
6991
7010
  }, {
6992
- model: string;
6993
7011
  kind: "inference";
6994
- voice?: string | undefined;
7012
+ model: string;
6995
7013
  options?: Record<string, unknown> | undefined;
7014
+ voice?: string | undefined;
6996
7015
  }>, z.ZodObject<{
6997
7016
  kind: z.ZodLiteral<"plugin">;
6998
7017
  provider: z.ZodEnum<["deepgram", "elevenlabs"]>;
@@ -7007,13 +7026,13 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
7007
7026
  }, "strip", z.ZodTypeAny, {
7008
7027
  class: "LLM" | "STT" | "STTv2" | "TTS";
7009
7028
  options: Record<string, unknown>;
7010
- provider: "deepgram" | "elevenlabs";
7011
7029
  kind: "plugin";
7030
+ provider: "deepgram" | "elevenlabs";
7012
7031
  }, {
7013
7032
  class: "LLM" | "STT" | "STTv2" | "TTS";
7014
7033
  options: Record<string, unknown>;
7015
- provider: "deepgram" | "elevenlabs";
7016
7034
  kind: "plugin";
7035
+ provider: "deepgram" | "elevenlabs";
7017
7036
  }>, z.ZodObject<{
7018
7037
  kind: z.ZodLiteral<"realtime">;
7019
7038
  provider: z.ZodEnum<["openai", "google", "xai"]>;
@@ -7026,12 +7045,12 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
7026
7045
  options: z.ZodRecord<z.ZodString, z.ZodUnknown>;
7027
7046
  }, "strip", z.ZodTypeAny, {
7028
7047
  options: Record<string, unknown>;
7029
- provider: "openai" | "google" | "xai";
7030
7048
  kind: "realtime";
7049
+ provider: "openai" | "google" | "xai";
7031
7050
  }, {
7032
7051
  options: Record<string, unknown>;
7033
- provider: "openai" | "google" | "xai";
7034
7052
  kind: "realtime";
7053
+ provider: "openai" | "google" | "xai";
7035
7054
  }>]>>;
7036
7055
  tts: z.ZodOptional<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
7037
7056
  kind: z.ZodLiteral<"inference">;
@@ -7050,15 +7069,15 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
7050
7069
  */
7051
7070
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
7052
7071
  }, "strip", z.ZodTypeAny, {
7053
- model: string;
7054
7072
  kind: "inference";
7055
- voice?: string | undefined;
7073
+ model: string;
7056
7074
  options?: Record<string, unknown> | undefined;
7075
+ voice?: string | undefined;
7057
7076
  }, {
7058
- model: string;
7059
7077
  kind: "inference";
7060
- voice?: string | undefined;
7078
+ model: string;
7061
7079
  options?: Record<string, unknown> | undefined;
7080
+ voice?: string | undefined;
7062
7081
  }>, z.ZodObject<{
7063
7082
  kind: z.ZodLiteral<"plugin">;
7064
7083
  provider: z.ZodEnum<["deepgram", "elevenlabs"]>;
@@ -7073,13 +7092,13 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
7073
7092
  }, "strip", z.ZodTypeAny, {
7074
7093
  class: "LLM" | "STT" | "STTv2" | "TTS";
7075
7094
  options: Record<string, unknown>;
7076
- provider: "deepgram" | "elevenlabs";
7077
7095
  kind: "plugin";
7096
+ provider: "deepgram" | "elevenlabs";
7078
7097
  }, {
7079
7098
  class: "LLM" | "STT" | "STTv2" | "TTS";
7080
7099
  options: Record<string, unknown>;
7081
- provider: "deepgram" | "elevenlabs";
7082
7100
  kind: "plugin";
7101
+ provider: "deepgram" | "elevenlabs";
7083
7102
  }>, z.ZodObject<{
7084
7103
  kind: z.ZodLiteral<"realtime">;
7085
7104
  provider: z.ZodEnum<["openai", "google", "xai"]>;
@@ -7092,12 +7111,12 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
7092
7111
  options: z.ZodRecord<z.ZodString, z.ZodUnknown>;
7093
7112
  }, "strip", z.ZodTypeAny, {
7094
7113
  options: Record<string, unknown>;
7095
- provider: "openai" | "google" | "xai";
7096
7114
  kind: "realtime";
7115
+ provider: "openai" | "google" | "xai";
7097
7116
  }, {
7098
7117
  options: Record<string, unknown>;
7099
- provider: "openai" | "google" | "xai";
7100
7118
  kind: "realtime";
7119
+ provider: "openai" | "google" | "xai";
7101
7120
  }>]>>;
7102
7121
  vad: z.ZodOptional<z.ZodString>;
7103
7122
  vadOptions: z.ZodOptional<z.ZodObject<{
@@ -7256,52 +7275,52 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
7256
7275
  excludeTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
7257
7276
  }, "strip", z.ZodTypeAny, {
7258
7277
  llm: {
7259
- model: string;
7260
7278
  kind: "inference";
7261
- voice?: string | undefined;
7279
+ model: string;
7262
7280
  options?: Record<string, unknown> | undefined;
7281
+ voice?: string | undefined;
7263
7282
  } | {
7264
7283
  class: "LLM" | "STT" | "STTv2" | "TTS";
7265
7284
  options: Record<string, unknown>;
7266
- provider: "deepgram" | "elevenlabs";
7267
7285
  kind: "plugin";
7286
+ provider: "deepgram" | "elevenlabs";
7268
7287
  } | {
7269
7288
  options: Record<string, unknown>;
7270
- provider: "openai" | "google" | "xai";
7271
7289
  kind: "realtime";
7290
+ provider: "openai" | "google" | "xai";
7272
7291
  };
7273
7292
  name?: string | undefined;
7274
7293
  vad?: string | undefined;
7275
7294
  stt?: {
7276
- model: string;
7277
7295
  kind: "inference";
7278
- voice?: string | undefined;
7296
+ model: string;
7279
7297
  options?: Record<string, unknown> | undefined;
7298
+ voice?: string | undefined;
7280
7299
  } | {
7281
7300
  class: "LLM" | "STT" | "STTv2" | "TTS";
7282
7301
  options: Record<string, unknown>;
7283
- provider: "deepgram" | "elevenlabs";
7284
7302
  kind: "plugin";
7303
+ provider: "deepgram" | "elevenlabs";
7285
7304
  } | {
7286
7305
  options: Record<string, unknown>;
7287
- provider: "openai" | "google" | "xai";
7288
7306
  kind: "realtime";
7307
+ provider: "openai" | "google" | "xai";
7289
7308
  } | undefined;
7290
7309
  volume?: number | undefined;
7291
7310
  tts?: {
7292
- model: string;
7293
7311
  kind: "inference";
7294
- voice?: string | undefined;
7312
+ model: string;
7295
7313
  options?: Record<string, unknown> | undefined;
7314
+ voice?: string | undefined;
7296
7315
  } | {
7297
7316
  class: "LLM" | "STT" | "STTv2" | "TTS";
7298
7317
  options: Record<string, unknown>;
7299
- provider: "deepgram" | "elevenlabs";
7300
7318
  kind: "plugin";
7319
+ provider: "deepgram" | "elevenlabs";
7301
7320
  } | {
7302
7321
  options: Record<string, unknown>;
7303
- provider: "openai" | "google" | "xai";
7304
7322
  kind: "realtime";
7323
+ provider: "openai" | "google" | "xai";
7305
7324
  } | undefined;
7306
7325
  vadOptions?: {
7307
7326
  minSpeechDuration?: number | undefined;
@@ -7350,52 +7369,52 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
7350
7369
  excludeTools?: string[] | undefined;
7351
7370
  }, {
7352
7371
  llm: {
7353
- model: string;
7354
7372
  kind: "inference";
7355
- voice?: string | undefined;
7373
+ model: string;
7356
7374
  options?: Record<string, unknown> | undefined;
7375
+ voice?: string | undefined;
7357
7376
  } | {
7358
7377
  class: "LLM" | "STT" | "STTv2" | "TTS";
7359
7378
  options: Record<string, unknown>;
7360
- provider: "deepgram" | "elevenlabs";
7361
7379
  kind: "plugin";
7380
+ provider: "deepgram" | "elevenlabs";
7362
7381
  } | {
7363
7382
  options: Record<string, unknown>;
7364
- provider: "openai" | "google" | "xai";
7365
7383
  kind: "realtime";
7384
+ provider: "openai" | "google" | "xai";
7366
7385
  };
7367
7386
  name?: string | undefined;
7368
7387
  vad?: string | undefined;
7369
7388
  stt?: {
7370
- model: string;
7371
7389
  kind: "inference";
7372
- voice?: string | undefined;
7390
+ model: string;
7373
7391
  options?: Record<string, unknown> | undefined;
7392
+ voice?: string | undefined;
7374
7393
  } | {
7375
7394
  class: "LLM" | "STT" | "STTv2" | "TTS";
7376
7395
  options: Record<string, unknown>;
7377
- provider: "deepgram" | "elevenlabs";
7378
7396
  kind: "plugin";
7397
+ provider: "deepgram" | "elevenlabs";
7379
7398
  } | {
7380
7399
  options: Record<string, unknown>;
7381
- provider: "openai" | "google" | "xai";
7382
7400
  kind: "realtime";
7401
+ provider: "openai" | "google" | "xai";
7383
7402
  } | undefined;
7384
7403
  volume?: number | undefined;
7385
7404
  tts?: {
7386
- model: string;
7387
7405
  kind: "inference";
7388
- voice?: string | undefined;
7406
+ model: string;
7389
7407
  options?: Record<string, unknown> | undefined;
7408
+ voice?: string | undefined;
7390
7409
  } | {
7391
7410
  class: "LLM" | "STT" | "STTv2" | "TTS";
7392
7411
  options: Record<string, unknown>;
7393
- provider: "deepgram" | "elevenlabs";
7394
7412
  kind: "plugin";
7413
+ provider: "deepgram" | "elevenlabs";
7395
7414
  } | {
7396
7415
  options: Record<string, unknown>;
7397
- provider: "openai" | "google" | "xai";
7398
7416
  kind: "realtime";
7417
+ provider: "openai" | "google" | "xai";
7399
7418
  } | undefined;
7400
7419
  vadOptions?: {
7401
7420
  minSpeechDuration?: number | undefined;
@@ -7444,52 +7463,52 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
7444
7463
  excludeTools?: string[] | undefined;
7445
7464
  }>, {
7446
7465
  llm: {
7447
- model: string;
7448
7466
  kind: "inference";
7449
- voice?: string | undefined;
7467
+ model: string;
7450
7468
  options?: Record<string, unknown> | undefined;
7469
+ voice?: string | undefined;
7451
7470
  } | {
7452
7471
  class: "LLM" | "STT" | "STTv2" | "TTS";
7453
7472
  options: Record<string, unknown>;
7454
- provider: "deepgram" | "elevenlabs";
7455
7473
  kind: "plugin";
7474
+ provider: "deepgram" | "elevenlabs";
7456
7475
  } | {
7457
7476
  options: Record<string, unknown>;
7458
- provider: "openai" | "google" | "xai";
7459
7477
  kind: "realtime";
7478
+ provider: "openai" | "google" | "xai";
7460
7479
  };
7461
7480
  name?: string | undefined;
7462
7481
  vad?: string | undefined;
7463
7482
  stt?: {
7464
- model: string;
7465
7483
  kind: "inference";
7466
- voice?: string | undefined;
7484
+ model: string;
7467
7485
  options?: Record<string, unknown> | undefined;
7486
+ voice?: string | undefined;
7468
7487
  } | {
7469
7488
  class: "LLM" | "STT" | "STTv2" | "TTS";
7470
7489
  options: Record<string, unknown>;
7471
- provider: "deepgram" | "elevenlabs";
7472
7490
  kind: "plugin";
7491
+ provider: "deepgram" | "elevenlabs";
7473
7492
  } | {
7474
7493
  options: Record<string, unknown>;
7475
- provider: "openai" | "google" | "xai";
7476
7494
  kind: "realtime";
7495
+ provider: "openai" | "google" | "xai";
7477
7496
  } | undefined;
7478
7497
  volume?: number | undefined;
7479
7498
  tts?: {
7480
- model: string;
7481
7499
  kind: "inference";
7482
- voice?: string | undefined;
7500
+ model: string;
7483
7501
  options?: Record<string, unknown> | undefined;
7502
+ voice?: string | undefined;
7484
7503
  } | {
7485
7504
  class: "LLM" | "STT" | "STTv2" | "TTS";
7486
7505
  options: Record<string, unknown>;
7487
- provider: "deepgram" | "elevenlabs";
7488
7506
  kind: "plugin";
7507
+ provider: "deepgram" | "elevenlabs";
7489
7508
  } | {
7490
7509
  options: Record<string, unknown>;
7491
- provider: "openai" | "google" | "xai";
7492
7510
  kind: "realtime";
7511
+ provider: "openai" | "google" | "xai";
7493
7512
  } | undefined;
7494
7513
  vadOptions?: {
7495
7514
  minSpeechDuration?: number | undefined;
@@ -7538,52 +7557,52 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
7538
7557
  excludeTools?: string[] | undefined;
7539
7558
  }, {
7540
7559
  llm: {
7541
- model: string;
7542
7560
  kind: "inference";
7543
- voice?: string | undefined;
7561
+ model: string;
7544
7562
  options?: Record<string, unknown> | undefined;
7563
+ voice?: string | undefined;
7545
7564
  } | {
7546
7565
  class: "LLM" | "STT" | "STTv2" | "TTS";
7547
7566
  options: Record<string, unknown>;
7548
- provider: "deepgram" | "elevenlabs";
7549
7567
  kind: "plugin";
7568
+ provider: "deepgram" | "elevenlabs";
7550
7569
  } | {
7551
7570
  options: Record<string, unknown>;
7552
- provider: "openai" | "google" | "xai";
7553
7571
  kind: "realtime";
7572
+ provider: "openai" | "google" | "xai";
7554
7573
  };
7555
7574
  name?: string | undefined;
7556
7575
  vad?: string | undefined;
7557
7576
  stt?: {
7558
- model: string;
7559
7577
  kind: "inference";
7560
- voice?: string | undefined;
7578
+ model: string;
7561
7579
  options?: Record<string, unknown> | undefined;
7580
+ voice?: string | undefined;
7562
7581
  } | {
7563
7582
  class: "LLM" | "STT" | "STTv2" | "TTS";
7564
7583
  options: Record<string, unknown>;
7565
- provider: "deepgram" | "elevenlabs";
7566
7584
  kind: "plugin";
7585
+ provider: "deepgram" | "elevenlabs";
7567
7586
  } | {
7568
7587
  options: Record<string, unknown>;
7569
- provider: "openai" | "google" | "xai";
7570
7588
  kind: "realtime";
7589
+ provider: "openai" | "google" | "xai";
7571
7590
  } | undefined;
7572
7591
  volume?: number | undefined;
7573
7592
  tts?: {
7574
- model: string;
7575
7593
  kind: "inference";
7576
- voice?: string | undefined;
7594
+ model: string;
7577
7595
  options?: Record<string, unknown> | undefined;
7596
+ voice?: string | undefined;
7578
7597
  } | {
7579
7598
  class: "LLM" | "STT" | "STTv2" | "TTS";
7580
7599
  options: Record<string, unknown>;
7581
- provider: "deepgram" | "elevenlabs";
7582
7600
  kind: "plugin";
7601
+ provider: "deepgram" | "elevenlabs";
7583
7602
  } | {
7584
7603
  options: Record<string, unknown>;
7585
- provider: "openai" | "google" | "xai";
7586
7604
  kind: "realtime";
7605
+ provider: "openai" | "google" | "xai";
7587
7606
  } | undefined;
7588
7607
  vadOptions?: {
7589
7608
  minSpeechDuration?: number | undefined;
@@ -7677,6 +7696,7 @@ export declare class LuaVoiceTool<TInput extends ZodType = ZodType> implements L
7677
7696
  readonly inputSchema: TInput;
7678
7697
  readonly execute: (input: any, ctx?: LuaVoiceToolCtx) => Promise<any>;
7679
7698
  readonly condition?: () => Promise<boolean>;
7699
+ readonly label?: ToolLabel;
7680
7700
  readonly voice?: {
7681
7701
  flags?: ToolFlag[];
7682
7702
  };
@@ -7695,6 +7715,8 @@ export declare interface LuaVoiceToolConfig<TInput extends ZodType = ZodType> {
7695
7715
  execute: (input: any, ctx?: LuaVoiceToolCtx) => Promise<any>;
7696
7716
  condition?: () => Promise<boolean>;
7697
7717
  flags?: ToolFlag[];
7718
+ /** What a step shows while the tool runs and when it is done, as on `LuaTool`. */
7719
+ label?: ToolLabel;
7698
7720
  }
7699
7721
 
7700
7722
  /**
@@ -9438,6 +9460,22 @@ export declare interface RefusedAnswer {
9438
9460
 
9439
9461
  export declare type ReplyChannel = 'whatsapp' | 'sms' | 'email' | 'webchat' | 'slack';
9440
9462
 
9463
+ /**
9464
+ * Reply versions on a stored conversation. A version is a block: one user row and the
9465
+ * rows after it up to the next user row. A re-run of the latest turn hides the current
9466
+ * block (`metadata.inactiveVersion`) and stamps `metadata.replyVersion` on the user row
9467
+ * of every block of the turn. Readers fold rich parts first, then call
9468
+ * `applyReplyVersions`, so a hidden reply's citations leave with it.
9469
+ */
9470
+ declare interface ReplyVersionInfo {
9471
+ group: string;
9472
+ /** 1-based. */
9473
+ index: number;
9474
+ total: number;
9475
+ /** The version the agent reads; the others are hidden from it. */
9476
+ active: boolean;
9477
+ }
9478
+
9441
9479
  declare interface RequestCredential {
9442
9480
  readonly descriptor: RequestCredentialDescriptor;
9443
9481
  bearer(): Promise<string>;
@@ -10713,6 +10751,12 @@ export declare enum ToolFlag {
10713
10751
  DISALLOW_INTERRUPTION = "disallow_interruption"
10714
10752
  }
10715
10753
 
10754
+ /** A tool's `label`: one text for both moments, or one while it runs and one when it is done. `{arg}` fills from the call. */
10755
+ declare type ToolLabel = string | {
10756
+ running: string;
10757
+ done: string;
10758
+ };
10759
+
10716
10760
  export declare interface ToolStepOptions {
10717
10761
  input?: LuaMapConfig;
10718
10762
  timeoutSeconds?: number;