lua-cli 3.47.0 → 3.49.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.
@@ -119,7 +119,7 @@ declare interface LuaToolCtx {
119
119
  *
120
120
  * export default new LuaVoice({
121
121
  * name: 'support-line',
122
- * llm: 'openai/gpt-5.2-chat-latest',
122
+ * llm: 'openai/chat-latest',
123
123
  * stt: 'deepgram/nova-3',
124
124
  * tts: { model: 'cartesia/sonic-3', voice: '9626c31c-bec5-4cca-baa8-f8ba9e84c8bc' },
125
125
  * vad: 'silero',
@@ -219,7 +219,7 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
219
219
  name: z.ZodOptional<z.ZodString>;
220
220
  llm: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
221
221
  kind: z.ZodLiteral<"inference">;
222
- /** Provider-prefixed model id (e.g. `'openai/gpt-5.2-chat-latest'`). */
222
+ /** Provider-prefixed model id (e.g. `'openai/chat-latest'`). */
223
223
  model: z.ZodString;
224
224
  /**
225
225
  * TTS-only — provider voice id. Inference's TTS API takes voice
@@ -234,13 +234,13 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
234
234
  */
235
235
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
236
236
  }, "strip", z.ZodTypeAny, {
237
- kind: "inference";
238
237
  model: string;
238
+ kind: "inference";
239
239
  voice?: string | undefined;
240
240
  options?: Record<string, unknown> | undefined;
241
241
  }, {
242
- kind: "inference";
243
242
  model: string;
243
+ kind: "inference";
244
244
  voice?: string | undefined;
245
245
  options?: Record<string, unknown> | undefined;
246
246
  }>, z.ZodObject<{
@@ -255,15 +255,15 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
255
255
  */
256
256
  options: z.ZodRecord<z.ZodString, z.ZodUnknown>;
257
257
  }, "strip", z.ZodTypeAny, {
258
- kind: "plugin";
258
+ options: Record<string, unknown>;
259
259
  provider: "deepgram" | "elevenlabs";
260
+ kind: "plugin";
260
261
  class: "LLM" | "STT" | "STTv2" | "TTS";
261
- options: Record<string, unknown>;
262
262
  }, {
263
- kind: "plugin";
263
+ options: Record<string, unknown>;
264
264
  provider: "deepgram" | "elevenlabs";
265
+ kind: "plugin";
265
266
  class: "LLM" | "STT" | "STTv2" | "TTS";
266
- options: Record<string, unknown>;
267
267
  }>, z.ZodObject<{
268
268
  kind: z.ZodLiteral<"realtime">;
269
269
  provider: z.ZodEnum<["openai", "google", "xai"]>;
@@ -275,17 +275,17 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
275
275
  */
276
276
  options: z.ZodRecord<z.ZodString, z.ZodUnknown>;
277
277
  }, "strip", z.ZodTypeAny, {
278
- kind: "realtime";
279
- provider: "openai" | "google" | "xai";
280
278
  options: Record<string, unknown>;
281
- }, {
282
- kind: "realtime";
283
279
  provider: "openai" | "google" | "xai";
280
+ kind: "realtime";
281
+ }, {
284
282
  options: Record<string, unknown>;
283
+ provider: "openai" | "google" | "xai";
284
+ kind: "realtime";
285
285
  }>]>;
286
286
  stt: z.ZodOptional<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
287
287
  kind: z.ZodLiteral<"inference">;
288
- /** Provider-prefixed model id (e.g. `'openai/gpt-5.2-chat-latest'`). */
288
+ /** Provider-prefixed model id (e.g. `'openai/chat-latest'`). */
289
289
  model: z.ZodString;
290
290
  /**
291
291
  * TTS-only — provider voice id. Inference's TTS API takes voice
@@ -300,13 +300,13 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
300
300
  */
301
301
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
302
302
  }, "strip", z.ZodTypeAny, {
303
- kind: "inference";
304
303
  model: string;
304
+ kind: "inference";
305
305
  voice?: string | undefined;
306
306
  options?: Record<string, unknown> | undefined;
307
307
  }, {
308
- kind: "inference";
309
308
  model: string;
309
+ kind: "inference";
310
310
  voice?: string | undefined;
311
311
  options?: Record<string, unknown> | undefined;
312
312
  }>, z.ZodObject<{
@@ -321,15 +321,15 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
321
321
  */
322
322
  options: z.ZodRecord<z.ZodString, z.ZodUnknown>;
323
323
  }, "strip", z.ZodTypeAny, {
324
- kind: "plugin";
324
+ options: Record<string, unknown>;
325
325
  provider: "deepgram" | "elevenlabs";
326
+ kind: "plugin";
326
327
  class: "LLM" | "STT" | "STTv2" | "TTS";
327
- options: Record<string, unknown>;
328
328
  }, {
329
- kind: "plugin";
329
+ options: Record<string, unknown>;
330
330
  provider: "deepgram" | "elevenlabs";
331
+ kind: "plugin";
331
332
  class: "LLM" | "STT" | "STTv2" | "TTS";
332
- options: Record<string, unknown>;
333
333
  }>, z.ZodObject<{
334
334
  kind: z.ZodLiteral<"realtime">;
335
335
  provider: z.ZodEnum<["openai", "google", "xai"]>;
@@ -341,17 +341,17 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
341
341
  */
342
342
  options: z.ZodRecord<z.ZodString, z.ZodUnknown>;
343
343
  }, "strip", z.ZodTypeAny, {
344
- kind: "realtime";
345
- provider: "openai" | "google" | "xai";
346
344
  options: Record<string, unknown>;
347
- }, {
348
- kind: "realtime";
349
345
  provider: "openai" | "google" | "xai";
346
+ kind: "realtime";
347
+ }, {
350
348
  options: Record<string, unknown>;
349
+ provider: "openai" | "google" | "xai";
350
+ kind: "realtime";
351
351
  }>]>>;
352
352
  tts: z.ZodOptional<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
353
353
  kind: z.ZodLiteral<"inference">;
354
- /** Provider-prefixed model id (e.g. `'openai/gpt-5.2-chat-latest'`). */
354
+ /** Provider-prefixed model id (e.g. `'openai/chat-latest'`). */
355
355
  model: z.ZodString;
356
356
  /**
357
357
  * TTS-only — provider voice id. Inference's TTS API takes voice
@@ -366,13 +366,13 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
366
366
  */
367
367
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
368
368
  }, "strip", z.ZodTypeAny, {
369
- kind: "inference";
370
369
  model: string;
370
+ kind: "inference";
371
371
  voice?: string | undefined;
372
372
  options?: Record<string, unknown> | undefined;
373
373
  }, {
374
- kind: "inference";
375
374
  model: string;
375
+ kind: "inference";
376
376
  voice?: string | undefined;
377
377
  options?: Record<string, unknown> | undefined;
378
378
  }>, z.ZodObject<{
@@ -387,15 +387,15 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
387
387
  */
388
388
  options: z.ZodRecord<z.ZodString, z.ZodUnknown>;
389
389
  }, "strip", z.ZodTypeAny, {
390
- kind: "plugin";
390
+ options: Record<string, unknown>;
391
391
  provider: "deepgram" | "elevenlabs";
392
+ kind: "plugin";
392
393
  class: "LLM" | "STT" | "STTv2" | "TTS";
393
- options: Record<string, unknown>;
394
394
  }, {
395
- kind: "plugin";
395
+ options: Record<string, unknown>;
396
396
  provider: "deepgram" | "elevenlabs";
397
+ kind: "plugin";
397
398
  class: "LLM" | "STT" | "STTv2" | "TTS";
398
- options: Record<string, unknown>;
399
399
  }>, z.ZodObject<{
400
400
  kind: z.ZodLiteral<"realtime">;
401
401
  provider: z.ZodEnum<["openai", "google", "xai"]>;
@@ -407,13 +407,13 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
407
407
  */
408
408
  options: z.ZodRecord<z.ZodString, z.ZodUnknown>;
409
409
  }, "strip", z.ZodTypeAny, {
410
- kind: "realtime";
411
- provider: "openai" | "google" | "xai";
412
410
  options: Record<string, unknown>;
413
- }, {
414
- kind: "realtime";
415
411
  provider: "openai" | "google" | "xai";
412
+ kind: "realtime";
413
+ }, {
416
414
  options: Record<string, unknown>;
415
+ provider: "openai" | "google" | "xai";
416
+ kind: "realtime";
417
417
  }>]>>;
418
418
  vad: z.ZodOptional<z.ZodString>;
419
419
  vadOptions: z.ZodOptional<z.ZodObject<{
@@ -572,52 +572,52 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
572
572
  excludeTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
573
573
  }, "strip", z.ZodTypeAny, {
574
574
  llm: {
575
- kind: "inference";
576
575
  model: string;
576
+ kind: "inference";
577
577
  voice?: string | undefined;
578
578
  options?: Record<string, unknown> | undefined;
579
579
  } | {
580
- kind: "plugin";
580
+ options: Record<string, unknown>;
581
581
  provider: "deepgram" | "elevenlabs";
582
+ kind: "plugin";
582
583
  class: "LLM" | "STT" | "STTv2" | "TTS";
583
- options: Record<string, unknown>;
584
584
  } | {
585
- kind: "realtime";
586
- provider: "openai" | "google" | "xai";
587
585
  options: Record<string, unknown>;
586
+ provider: "openai" | "google" | "xai";
587
+ kind: "realtime";
588
588
  };
589
589
  name?: string | undefined;
590
590
  vad?: string | undefined;
591
591
  stt?: {
592
- kind: "inference";
593
592
  model: string;
593
+ kind: "inference";
594
594
  voice?: string | undefined;
595
595
  options?: Record<string, unknown> | undefined;
596
596
  } | {
597
- kind: "plugin";
597
+ options: Record<string, unknown>;
598
598
  provider: "deepgram" | "elevenlabs";
599
+ kind: "plugin";
599
600
  class: "LLM" | "STT" | "STTv2" | "TTS";
600
- options: Record<string, unknown>;
601
601
  } | {
602
- kind: "realtime";
603
- provider: "openai" | "google" | "xai";
604
602
  options: Record<string, unknown>;
603
+ provider: "openai" | "google" | "xai";
604
+ kind: "realtime";
605
605
  } | undefined;
606
606
  volume?: number | undefined;
607
607
  tts?: {
608
- kind: "inference";
609
608
  model: string;
609
+ kind: "inference";
610
610
  voice?: string | undefined;
611
611
  options?: Record<string, unknown> | undefined;
612
612
  } | {
613
- kind: "plugin";
613
+ options: Record<string, unknown>;
614
614
  provider: "deepgram" | "elevenlabs";
615
+ kind: "plugin";
615
616
  class: "LLM" | "STT" | "STTv2" | "TTS";
616
- options: Record<string, unknown>;
617
617
  } | {
618
- kind: "realtime";
619
- provider: "openai" | "google" | "xai";
620
618
  options: Record<string, unknown>;
619
+ provider: "openai" | "google" | "xai";
620
+ kind: "realtime";
621
621
  } | undefined;
622
622
  vadOptions?: {
623
623
  minSpeechDuration?: number | undefined;
@@ -666,52 +666,52 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
666
666
  excludeTools?: string[] | undefined;
667
667
  }, {
668
668
  llm: {
669
- kind: "inference";
670
669
  model: string;
670
+ kind: "inference";
671
671
  voice?: string | undefined;
672
672
  options?: Record<string, unknown> | undefined;
673
673
  } | {
674
- kind: "plugin";
674
+ options: Record<string, unknown>;
675
675
  provider: "deepgram" | "elevenlabs";
676
+ kind: "plugin";
676
677
  class: "LLM" | "STT" | "STTv2" | "TTS";
677
- options: Record<string, unknown>;
678
678
  } | {
679
- kind: "realtime";
680
- provider: "openai" | "google" | "xai";
681
679
  options: Record<string, unknown>;
680
+ provider: "openai" | "google" | "xai";
681
+ kind: "realtime";
682
682
  };
683
683
  name?: string | undefined;
684
684
  vad?: string | undefined;
685
685
  stt?: {
686
- kind: "inference";
687
686
  model: string;
687
+ kind: "inference";
688
688
  voice?: string | undefined;
689
689
  options?: Record<string, unknown> | undefined;
690
690
  } | {
691
- kind: "plugin";
691
+ options: Record<string, unknown>;
692
692
  provider: "deepgram" | "elevenlabs";
693
+ kind: "plugin";
693
694
  class: "LLM" | "STT" | "STTv2" | "TTS";
694
- options: Record<string, unknown>;
695
695
  } | {
696
- kind: "realtime";
697
- provider: "openai" | "google" | "xai";
698
696
  options: Record<string, unknown>;
697
+ provider: "openai" | "google" | "xai";
698
+ kind: "realtime";
699
699
  } | undefined;
700
700
  volume?: number | undefined;
701
701
  tts?: {
702
- kind: "inference";
703
702
  model: string;
703
+ kind: "inference";
704
704
  voice?: string | undefined;
705
705
  options?: Record<string, unknown> | undefined;
706
706
  } | {
707
- kind: "plugin";
707
+ options: Record<string, unknown>;
708
708
  provider: "deepgram" | "elevenlabs";
709
+ kind: "plugin";
709
710
  class: "LLM" | "STT" | "STTv2" | "TTS";
710
- options: Record<string, unknown>;
711
711
  } | {
712
- kind: "realtime";
713
- provider: "openai" | "google" | "xai";
714
712
  options: Record<string, unknown>;
713
+ provider: "openai" | "google" | "xai";
714
+ kind: "realtime";
715
715
  } | undefined;
716
716
  vadOptions?: {
717
717
  minSpeechDuration?: number | undefined;
@@ -760,52 +760,52 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
760
760
  excludeTools?: string[] | undefined;
761
761
  }>, {
762
762
  llm: {
763
- kind: "inference";
764
763
  model: string;
764
+ kind: "inference";
765
765
  voice?: string | undefined;
766
766
  options?: Record<string, unknown> | undefined;
767
767
  } | {
768
- kind: "plugin";
768
+ options: Record<string, unknown>;
769
769
  provider: "deepgram" | "elevenlabs";
770
+ kind: "plugin";
770
771
  class: "LLM" | "STT" | "STTv2" | "TTS";
771
- options: Record<string, unknown>;
772
772
  } | {
773
- kind: "realtime";
774
- provider: "openai" | "google" | "xai";
775
773
  options: Record<string, unknown>;
774
+ provider: "openai" | "google" | "xai";
775
+ kind: "realtime";
776
776
  };
777
777
  name?: string | undefined;
778
778
  vad?: string | undefined;
779
779
  stt?: {
780
- kind: "inference";
781
780
  model: string;
781
+ kind: "inference";
782
782
  voice?: string | undefined;
783
783
  options?: Record<string, unknown> | undefined;
784
784
  } | {
785
- kind: "plugin";
785
+ options: Record<string, unknown>;
786
786
  provider: "deepgram" | "elevenlabs";
787
+ kind: "plugin";
787
788
  class: "LLM" | "STT" | "STTv2" | "TTS";
788
- options: Record<string, unknown>;
789
789
  } | {
790
- kind: "realtime";
791
- provider: "openai" | "google" | "xai";
792
790
  options: Record<string, unknown>;
791
+ provider: "openai" | "google" | "xai";
792
+ kind: "realtime";
793
793
  } | undefined;
794
794
  volume?: number | undefined;
795
795
  tts?: {
796
- kind: "inference";
797
796
  model: string;
797
+ kind: "inference";
798
798
  voice?: string | undefined;
799
799
  options?: Record<string, unknown> | undefined;
800
800
  } | {
801
- kind: "plugin";
801
+ options: Record<string, unknown>;
802
802
  provider: "deepgram" | "elevenlabs";
803
+ kind: "plugin";
803
804
  class: "LLM" | "STT" | "STTv2" | "TTS";
804
- options: Record<string, unknown>;
805
805
  } | {
806
- kind: "realtime";
807
- provider: "openai" | "google" | "xai";
808
806
  options: Record<string, unknown>;
807
+ provider: "openai" | "google" | "xai";
808
+ kind: "realtime";
809
809
  } | undefined;
810
810
  vadOptions?: {
811
811
  minSpeechDuration?: number | undefined;
@@ -854,52 +854,52 @@ declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
854
854
  excludeTools?: string[] | undefined;
855
855
  }, {
856
856
  llm: {
857
- kind: "inference";
858
857
  model: string;
858
+ kind: "inference";
859
859
  voice?: string | undefined;
860
860
  options?: Record<string, unknown> | undefined;
861
861
  } | {
862
- kind: "plugin";
862
+ options: Record<string, unknown>;
863
863
  provider: "deepgram" | "elevenlabs";
864
+ kind: "plugin";
864
865
  class: "LLM" | "STT" | "STTv2" | "TTS";
865
- options: Record<string, unknown>;
866
866
  } | {
867
- kind: "realtime";
868
- provider: "openai" | "google" | "xai";
869
867
  options: Record<string, unknown>;
868
+ provider: "openai" | "google" | "xai";
869
+ kind: "realtime";
870
870
  };
871
871
  name?: string | undefined;
872
872
  vad?: string | undefined;
873
873
  stt?: {
874
- kind: "inference";
875
874
  model: string;
875
+ kind: "inference";
876
876
  voice?: string | undefined;
877
877
  options?: Record<string, unknown> | undefined;
878
878
  } | {
879
- kind: "plugin";
879
+ options: Record<string, unknown>;
880
880
  provider: "deepgram" | "elevenlabs";
881
+ kind: "plugin";
881
882
  class: "LLM" | "STT" | "STTv2" | "TTS";
882
- options: Record<string, unknown>;
883
883
  } | {
884
- kind: "realtime";
885
- provider: "openai" | "google" | "xai";
886
884
  options: Record<string, unknown>;
885
+ provider: "openai" | "google" | "xai";
886
+ kind: "realtime";
887
887
  } | undefined;
888
888
  volume?: number | undefined;
889
889
  tts?: {
890
- kind: "inference";
891
890
  model: string;
891
+ kind: "inference";
892
892
  voice?: string | undefined;
893
893
  options?: Record<string, unknown> | undefined;
894
894
  } | {
895
- kind: "plugin";
895
+ options: Record<string, unknown>;
896
896
  provider: "deepgram" | "elevenlabs";
897
+ kind: "plugin";
897
898
  class: "LLM" | "STT" | "STTv2" | "TTS";
898
- options: Record<string, unknown>;
899
899
  } | {
900
- kind: "realtime";
901
- provider: "openai" | "google" | "xai";
902
900
  options: Record<string, unknown>;
901
+ provider: "openai" | "google" | "xai";
902
+ kind: "realtime";
903
903
  } | undefined;
904
904
  vadOptions?: {
905
905
  minSpeechDuration?: number | undefined;
@@ -10,7 +10,7 @@
10
10
  * import { deepgram, elevenlabs, inference } from 'lua-cli/voice';
11
11
  *
12
12
  * export default new LuaVoice({
13
- * llm: 'openai/gpt-5.2-chat-latest', // string descriptor → Inference
13
+ * llm: 'openai/chat-latest', // string descriptor → Inference
14
14
  * stt: new deepgram.STT({ model: 'nova-3' }), // class form → direct plugin
15
15
  * tts: new elevenlabs.TTS({ voiceId: 'abc', model: 'eleven_v3' }),
16
16
  * });
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/voice-exports.ts"],"sourcesContent":["/**\n * Sub-entrypoint for voice-related imports — re-exports the LiveKit\n * plugin namespaces that LuaVoice's class-form `stt` / `tts` accept.\n *\n * Devs who write a code-defined LuaVoice with the plugin route can keep\n * `lua-cli` as the only dependency they import:\n *\n * ```typescript\n * import { LuaVoice } from 'lua-cli';\n * import { deepgram, elevenlabs, inference } from 'lua-cli/voice';\n *\n * export default new LuaVoice({\n * llm: 'openai/gpt-5.2-chat-latest', // string descriptor → Inference\n * stt: new deepgram.STT({ model: 'nova-3' }), // class form → direct plugin\n * tts: new elevenlabs.TTS({ voiceId: 'abc', model: 'eleven_v3' }),\n * });\n * ```\n *\n * Without this sub-entrypoint, devs would need to add\n * `@livekit/agents-plugin-deepgram` etc. as direct dependencies in\n * their own project. Routing through `lua-cli` keeps the dev-side\n * `package.json` clean.\n *\n * Note: these are *type-only relevant* at compile time — the lua-cli\n * compiler ASTs the dev's source and extracts `{ kind: 'plugin',\n * provider, class, options }` for the wire shape. The actual\n * `new deepgram.STT({...})` construction happens in the lua-livekit\n * worker's dispatch path, not the dev's process. The re-exports here\n * give devs full TypeScript autocomplete on plugin-specific options.\n *\n * `inference` is re-exported from `@livekit/agents` (the parent\n * package) so devs can use the typed `new inference.LLM/STT/TTS({...})`\n * form without adding `@livekit/agents` to their dev project.\n */\n\nexport * as deepgram from '@livekit/agents-plugin-deepgram';\nexport * as elevenlabs from '@livekit/agents-plugin-elevenlabs';\nexport * as openai from '@livekit/agents-plugin-openai';\nexport * as google from '@livekit/agents-plugin-google';\nexport * as xai from '@livekit/agents-plugin-xai';\nexport { inference } from '@livekit/agents';\n"],"mappings":";AAmCA,YAAYA,cAAc;AAC1B,YAAYC,gBAAgB;AAC5B,YAAYC,YAAY;AACxB,YAAYC,YAAY;AACxB,YAAYC,SAAS;AACrB,SAASC,iBAAiB;","names":["deepgram","elevenlabs","openai","google","xai","inference"]}
1
+ {"version":3,"sources":["../src/voice-exports.ts"],"sourcesContent":["/**\n * Sub-entrypoint for voice-related imports — re-exports the LiveKit\n * plugin namespaces that LuaVoice's class-form `stt` / `tts` accept.\n *\n * Devs who write a code-defined LuaVoice with the plugin route can keep\n * `lua-cli` as the only dependency they import:\n *\n * ```typescript\n * import { LuaVoice } from 'lua-cli';\n * import { deepgram, elevenlabs, inference } from 'lua-cli/voice';\n *\n * export default new LuaVoice({\n * llm: 'openai/chat-latest', // string descriptor → Inference\n * stt: new deepgram.STT({ model: 'nova-3' }), // class form → direct plugin\n * tts: new elevenlabs.TTS({ voiceId: 'abc', model: 'eleven_v3' }),\n * });\n * ```\n *\n * Without this sub-entrypoint, devs would need to add\n * `@livekit/agents-plugin-deepgram` etc. as direct dependencies in\n * their own project. Routing through `lua-cli` keeps the dev-side\n * `package.json` clean.\n *\n * Note: these are *type-only relevant* at compile time — the lua-cli\n * compiler ASTs the dev's source and extracts `{ kind: 'plugin',\n * provider, class, options }` for the wire shape. The actual\n * `new deepgram.STT({...})` construction happens in the lua-livekit\n * worker's dispatch path, not the dev's process. The re-exports here\n * give devs full TypeScript autocomplete on plugin-specific options.\n *\n * `inference` is re-exported from `@livekit/agents` (the parent\n * package) so devs can use the typed `new inference.LLM/STT/TTS({...})`\n * form without adding `@livekit/agents` to their dev project.\n */\n\nexport * as deepgram from '@livekit/agents-plugin-deepgram';\nexport * as elevenlabs from '@livekit/agents-plugin-elevenlabs';\nexport * as openai from '@livekit/agents-plugin-openai';\nexport * as google from '@livekit/agents-plugin-google';\nexport * as xai from '@livekit/agents-plugin-xai';\nexport { inference } from '@livekit/agents';\n"],"mappings":";AAmCA,YAAYA,cAAc;AAC1B,YAAYC,gBAAgB;AAC5B,YAAYC,YAAY;AACxB,YAAYC,YAAY;AACxB,YAAYC,SAAS;AACrB,SAASC,iBAAiB;","names":["deepgram","elevenlabs","openai","google","xai","inference"]}
@@ -361,7 +361,9 @@ export declare type LuaWorkflowBuildCode = 'duplicate-step-id' | 'unknown-step-r
361
361
  /** BAC-2062: the builder mirror of the BAC-619 validator codes: a `waitForSignal` name a delivery refuses. */
362
362
  | 'signal-name-invalid'
363
363
  /** BAC-2062: a numeric approval / waitForSignal `timeoutHours` outside 1..720. */
364
- | 'timeout-hours-out-of-range' | 'editable-path-invalid' | 'env-template-secret-key' | 'invalid-envelope' | 'invalid-step' | 'invalid-step-id' | 'invalid-workflow-name' | 'schedule-input-required' | 'schedule-input-invalid' | 'hitl-duration-defaulted' | 'WORKFLOW_UNPLACED_STEP';
364
+ | 'timeout-hours-out-of-range' | 'editable-path-invalid' | 'env-template-secret-key' | 'invalid-envelope'
365
+ /** BAC-2341: a `concurrencyKey` declared without `concurrencyPolicy:'forbid'` (the server's 400 twin). */
366
+ | 'concurrency-key-requires-forbid' | 'invalid-step' | 'invalid-step-id' | 'invalid-workflow-name' | 'schedule-input-required' | 'schedule-input-invalid' | 'hitl-duration-defaulted' | 'WORKFLOW_UNPLACED_STEP';
365
367
 
366
368
  export declare interface LuaWorkflowBuilder {
367
369
  then(step: StepRef): this;
@@ -428,6 +430,11 @@ export declare interface LuaWorkflowConfig {
428
430
  stateSchema?: ZodType;
429
431
  /** 'forbid' = jobs-style overlap guard per workflow (D21-r1) — every start path gets 409 `RUNS_IN_FLIGHT`. */
430
432
  concurrencyPolicy?: 'allow' | 'forbid';
433
+ /**
434
+ * Scope the `forbid` overlap guard per correlation key instead of workflow-wide. Requires `concurrencyPolicy:'forbid'`;
435
+ * absent means workflow-wide. Rides the manifest and the push body, not the graph envelope or `graphHash`.
436
+ */
437
+ concurrencyKey?: 'correlationKey';
431
438
  /** Who may READ this workflow's run outputs beyond `workflows:read-outputs` holders (B44). Envelope member outside `graphHash`. */
432
439
  outputVisibility?: WorkflowOutputVisibility;
433
440
  /**