agents-bridge 0.1.0 → 0.1.1

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.
Files changed (50) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +170 -139
  3. package/bin/agent-bridge.mjs +11 -11
  4. package/config.example.json +22 -55
  5. package/config.multi-agent.example.json +67 -0
  6. package/dist/agents/agent-resolver.d.ts.map +1 -0
  7. package/dist/agents/agent-resolver.js +113 -0
  8. package/dist/agents/agent-resolver.js.map +1 -0
  9. package/dist/agents/agent-router.d.ts.map +1 -0
  10. package/dist/agents/agent-router.js +72 -0
  11. package/dist/agents/agent-router.js.map +1 -0
  12. package/dist/agents/cli-backends.d.ts +20 -27
  13. package/dist/agents/cli-backends.d.ts.map +1 -1
  14. package/dist/agents/cli-backends.js +29 -4
  15. package/dist/agents/cli-backends.js.map +1 -1
  16. package/dist/agents/cli-runner.d.ts.map +1 -1
  17. package/dist/agents/cli-runner.js +63 -11
  18. package/dist/agents/cli-runner.js.map +1 -1
  19. package/dist/agents/cli-session-store.d.ts.map +1 -1
  20. package/dist/agents/cli-session-store.js +43 -0
  21. package/dist/agents/cli-session-store.js.map +1 -1
  22. package/dist/channels/botlink.js +73 -60
  23. package/dist/channels/botlink.js.map +1 -1
  24. package/dist/cli/cmd-doctor.d.ts.map +1 -1
  25. package/dist/cli/cmd-doctor.js +41 -5
  26. package/dist/cli/cmd-doctor.js.map +1 -1
  27. package/dist/cli/cmd-logs.js +1 -1
  28. package/dist/cli/cmd-logs.js.map +1 -1
  29. package/dist/cli/cmd-onboard.d.ts.map +1 -1
  30. package/dist/cli/cmd-onboard.js +16 -10
  31. package/dist/cli/cmd-onboard.js.map +1 -1
  32. package/dist/cli/cmd-start.d.ts.map +1 -1
  33. package/dist/cli/cmd-start.js +62 -27
  34. package/dist/cli/cmd-start.js.map +1 -1
  35. package/dist/config/agent-dirs.d.ts +12 -0
  36. package/dist/config/agent-dirs.d.ts.map +1 -1
  37. package/dist/config/agent-dirs.js +43 -2
  38. package/dist/config/agent-dirs.js.map +1 -1
  39. package/dist/config/config.js +1 -1
  40. package/dist/config/config.js.map +1 -1
  41. package/dist/config/merge-config.d.ts.map +1 -1
  42. package/dist/config/merge-config.js +16 -4
  43. package/dist/config/merge-config.js.map +1 -1
  44. package/dist/config/zod-schema.d.ts +1441 -127
  45. package/dist/config/zod-schema.d.ts.map +1 -1
  46. package/dist/config/zod-schema.js +84 -1
  47. package/dist/config/zod-schema.js.map +1 -1
  48. package/dist/types/index.d.ts +91 -3
  49. package/dist/types/index.d.ts.map +1 -1
  50. package/package.json +55 -54
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- export declare const BotlinkChannelSchema: z.ZodObject<{
2
+ export declare const BotlinkAccountSchema: z.ZodObject<{
3
3
  gateway_url: z.ZodString;
4
4
  bot_token: z.ZodString;
5
5
  poll_timeout: z.ZodDefault<z.ZodNumber>;
@@ -18,7 +18,91 @@ export declare const BotlinkChannelSchema: z.ZodObject<{
18
18
  retry_interval?: number | undefined;
19
19
  max_retry_interval?: number | undefined;
20
20
  }>;
21
+ export type BotlinkAccountConfig = z.infer<typeof BotlinkAccountSchema>;
22
+ export declare const BotlinkChannelSchema: z.ZodEffects<z.ZodObject<{
23
+ gateway_url: z.ZodOptional<z.ZodString>;
24
+ bot_token: z.ZodOptional<z.ZodString>;
25
+ poll_timeout: z.ZodDefault<z.ZodNumber>;
26
+ retry_interval: z.ZodDefault<z.ZodNumber>;
27
+ max_retry_interval: z.ZodDefault<z.ZodNumber>;
28
+ accounts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
29
+ gateway_url: z.ZodString;
30
+ bot_token: z.ZodString;
31
+ poll_timeout: z.ZodDefault<z.ZodNumber>;
32
+ retry_interval: z.ZodDefault<z.ZodNumber>;
33
+ max_retry_interval: z.ZodDefault<z.ZodNumber>;
34
+ }, "strip", z.ZodTypeAny, {
35
+ gateway_url: string;
36
+ bot_token: string;
37
+ poll_timeout: number;
38
+ retry_interval: number;
39
+ max_retry_interval: number;
40
+ }, {
41
+ gateway_url: string;
42
+ bot_token: string;
43
+ poll_timeout?: number | undefined;
44
+ retry_interval?: number | undefined;
45
+ max_retry_interval?: number | undefined;
46
+ }>>>;
47
+ }, "strip", z.ZodTypeAny, {
48
+ poll_timeout: number;
49
+ retry_interval: number;
50
+ max_retry_interval: number;
51
+ gateway_url?: string | undefined;
52
+ bot_token?: string | undefined;
53
+ accounts?: Record<string, {
54
+ gateway_url: string;
55
+ bot_token: string;
56
+ poll_timeout: number;
57
+ retry_interval: number;
58
+ max_retry_interval: number;
59
+ }> | undefined;
60
+ }, {
61
+ gateway_url?: string | undefined;
62
+ bot_token?: string | undefined;
63
+ poll_timeout?: number | undefined;
64
+ retry_interval?: number | undefined;
65
+ max_retry_interval?: number | undefined;
66
+ accounts?: Record<string, {
67
+ gateway_url: string;
68
+ bot_token: string;
69
+ poll_timeout?: number | undefined;
70
+ retry_interval?: number | undefined;
71
+ max_retry_interval?: number | undefined;
72
+ }> | undefined;
73
+ }>, {
74
+ poll_timeout: number;
75
+ retry_interval: number;
76
+ max_retry_interval: number;
77
+ gateway_url?: string | undefined;
78
+ bot_token?: string | undefined;
79
+ accounts?: Record<string, {
80
+ gateway_url: string;
81
+ bot_token: string;
82
+ poll_timeout: number;
83
+ retry_interval: number;
84
+ max_retry_interval: number;
85
+ }> | undefined;
86
+ }, {
87
+ gateway_url?: string | undefined;
88
+ bot_token?: string | undefined;
89
+ poll_timeout?: number | undefined;
90
+ retry_interval?: number | undefined;
91
+ max_retry_interval?: number | undefined;
92
+ accounts?: Record<string, {
93
+ gateway_url: string;
94
+ bot_token: string;
95
+ poll_timeout?: number | undefined;
96
+ retry_interval?: number | undefined;
97
+ max_retry_interval?: number | undefined;
98
+ }> | undefined;
99
+ }>;
21
100
  export type BotlinkChannelConfig = z.infer<typeof BotlinkChannelSchema>;
101
+ export interface NormalizedBotlinkChannelConfig {
102
+ accountId: string;
103
+ config: BotlinkAccountConfig;
104
+ }
105
+ export declare function normalizeBotlinkChannelConfigs(raw: BotlinkChannelConfig): NormalizedBotlinkChannelConfig[];
22
106
  export declare const CliBackendConfigSchema: z.ZodObject<{
23
107
  command: z.ZodString;
24
108
  args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -433,11 +517,15 @@ export declare const AgentDefaultsSchema: z.ZodObject<{
433
517
  deny?: string[] | undefined;
434
518
  }>>;
435
519
  max_tokens: z.ZodOptional<z.ZodNumber>;
520
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
521
+ clearEnv: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
436
522
  }, "strip", z.ZodTypeAny, {
437
523
  model: {
438
524
  primary: string;
439
525
  fallbacks?: string[] | undefined;
440
526
  };
527
+ env?: Record<string, string> | undefined;
528
+ clearEnv?: string[] | undefined;
441
529
  cliBackends?: Record<string, {
442
530
  command: string;
443
531
  args?: string[] | undefined;
@@ -487,6 +575,8 @@ export declare const AgentDefaultsSchema: z.ZodObject<{
487
575
  primary: string;
488
576
  fallbacks?: string[] | undefined;
489
577
  };
578
+ env?: Record<string, string> | undefined;
579
+ clearEnv?: string[] | undefined;
490
580
  cliBackends?: Record<string, {
491
581
  command: string;
492
582
  args?: string[] | undefined;
@@ -533,106 +623,945 @@ export declare const AgentDefaultsSchema: z.ZodObject<{
533
623
  max_tokens?: number | undefined;
534
624
  }>;
535
625
  export type AgentDefaultsConfig = z.infer<typeof AgentDefaultsSchema>;
536
- export declare const FilesConfigSchema: z.ZodObject<{
537
- temp_dir: z.ZodDefault<z.ZodString>;
538
- max_file_size: z.ZodDefault<z.ZodNumber>;
539
- }, "strip", z.ZodTypeAny, {
540
- temp_dir: string;
541
- max_file_size: number;
542
- }, {
543
- temp_dir?: string | undefined;
544
- max_file_size?: number | undefined;
545
- }>;
546
- export declare const LoggingConfigSchema: z.ZodObject<{
547
- level: z.ZodDefault<z.ZodEnum<["trace", "debug", "info", "warn", "error", "fatal"]>>;
548
- pretty: z.ZodDefault<z.ZodBoolean>;
549
- }, "strip", z.ZodTypeAny, {
550
- level: "trace" | "debug" | "info" | "warn" | "error" | "fatal";
551
- pretty: boolean;
552
- }, {
553
- level?: "trace" | "debug" | "info" | "warn" | "error" | "fatal" | undefined;
554
- pretty?: boolean | undefined;
555
- }>;
556
- export declare const SkillsConfigSchema: z.ZodObject<{
557
- dirs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
558
- }, "strip", z.ZodTypeAny, {
559
- dirs: string[];
560
- }, {
561
- dirs?: string[] | undefined;
562
- }>;
563
- export declare const AppConfigSchema: z.ZodObject<{
564
- channels: z.ZodObject<{
565
- botlink: z.ZodObject<{
566
- gateway_url: z.ZodString;
567
- bot_token: z.ZodString;
568
- poll_timeout: z.ZodDefault<z.ZodNumber>;
569
- retry_interval: z.ZodDefault<z.ZodNumber>;
570
- max_retry_interval: z.ZodDefault<z.ZodNumber>;
571
- }, "strip", z.ZodTypeAny, {
572
- gateway_url: string;
573
- bot_token: string;
574
- poll_timeout: number;
575
- retry_interval: number;
576
- max_retry_interval: number;
577
- }, {
578
- gateway_url: string;
579
- bot_token: string;
580
- poll_timeout?: number | undefined;
581
- retry_interval?: number | undefined;
582
- max_retry_interval?: number | undefined;
583
- }>;
626
+ export declare const AgentConfigSchema: z.ZodObject<{
627
+ id: z.ZodString;
628
+ default: z.ZodOptional<z.ZodBoolean>;
629
+ name: z.ZodOptional<z.ZodString>;
630
+ model: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
631
+ primary: z.ZodString;
632
+ fallbacks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
584
633
  }, "strip", z.ZodTypeAny, {
585
- botlink: {
586
- gateway_url: string;
587
- bot_token: string;
588
- poll_timeout: number;
589
- retry_interval: number;
590
- max_retry_interval: number;
591
- };
634
+ primary: string;
635
+ fallbacks?: string[] | undefined;
592
636
  }, {
593
- botlink: {
594
- gateway_url: string;
595
- bot_token: string;
596
- poll_timeout?: number | undefined;
597
- retry_interval?: number | undefined;
598
- max_retry_interval?: number | undefined;
599
- };
600
- }>;
601
- agents: z.ZodObject<{
602
- defaults: z.ZodObject<{
603
- model: z.ZodObject<{
604
- primary: z.ZodString;
605
- fallbacks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
637
+ primary: string;
638
+ fallbacks?: string[] | undefined;
639
+ }>, z.ZodString]>>;
640
+ workspace: z.ZodOptional<z.ZodString>;
641
+ systemPrompt: z.ZodOptional<z.ZodString>;
642
+ cliBackends: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
643
+ command: z.ZodOptional<z.ZodString>;
644
+ args: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
645
+ output: z.ZodOptional<z.ZodOptional<z.ZodEnum<["json", "jsonl", "text"]>>>;
646
+ resumeOutput: z.ZodOptional<z.ZodOptional<z.ZodEnum<["json", "jsonl", "text"]>>>;
647
+ input: z.ZodOptional<z.ZodOptional<z.ZodEnum<["arg", "stdin"]>>>;
648
+ maxPromptArgChars: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
649
+ env: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
650
+ clearEnv: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
651
+ modelArg: z.ZodOptional<z.ZodOptional<z.ZodString>>;
652
+ modelAliases: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
653
+ sessionArg: z.ZodOptional<z.ZodOptional<z.ZodString>>;
654
+ sessionArgs: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
655
+ resumeArgs: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
656
+ sessionIdFields: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
657
+ sessionMode: z.ZodOptional<z.ZodOptional<z.ZodEnum<["always", "existing", "none"]>>>;
658
+ systemPromptArg: z.ZodOptional<z.ZodOptional<z.ZodString>>;
659
+ systemPromptMode: z.ZodOptional<z.ZodOptional<z.ZodEnum<["append", "replace"]>>>;
660
+ systemPromptWhen: z.ZodOptional<z.ZodOptional<z.ZodEnum<["first", "always", "never"]>>>;
661
+ imageArg: z.ZodOptional<z.ZodOptional<z.ZodString>>;
662
+ imageMode: z.ZodOptional<z.ZodOptional<z.ZodEnum<["repeat", "list"]>>>;
663
+ serialize: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
664
+ reliability: z.ZodOptional<z.ZodOptional<z.ZodObject<{
665
+ watchdog: z.ZodOptional<z.ZodObject<{
666
+ fresh: z.ZodOptional<z.ZodObject<{
667
+ noOutputTimeoutMs: z.ZodOptional<z.ZodNumber>;
668
+ noOutputTimeoutRatio: z.ZodOptional<z.ZodNumber>;
669
+ minMs: z.ZodOptional<z.ZodNumber>;
670
+ maxMs: z.ZodOptional<z.ZodNumber>;
671
+ }, "strip", z.ZodTypeAny, {
672
+ noOutputTimeoutMs?: number | undefined;
673
+ noOutputTimeoutRatio?: number | undefined;
674
+ minMs?: number | undefined;
675
+ maxMs?: number | undefined;
676
+ }, {
677
+ noOutputTimeoutMs?: number | undefined;
678
+ noOutputTimeoutRatio?: number | undefined;
679
+ minMs?: number | undefined;
680
+ maxMs?: number | undefined;
681
+ }>>;
682
+ resume: z.ZodOptional<z.ZodObject<{
683
+ noOutputTimeoutMs: z.ZodOptional<z.ZodNumber>;
684
+ noOutputTimeoutRatio: z.ZodOptional<z.ZodNumber>;
685
+ minMs: z.ZodOptional<z.ZodNumber>;
686
+ maxMs: z.ZodOptional<z.ZodNumber>;
687
+ }, "strip", z.ZodTypeAny, {
688
+ noOutputTimeoutMs?: number | undefined;
689
+ noOutputTimeoutRatio?: number | undefined;
690
+ minMs?: number | undefined;
691
+ maxMs?: number | undefined;
692
+ }, {
693
+ noOutputTimeoutMs?: number | undefined;
694
+ noOutputTimeoutRatio?: number | undefined;
695
+ minMs?: number | undefined;
696
+ maxMs?: number | undefined;
697
+ }>>;
606
698
  }, "strip", z.ZodTypeAny, {
607
- primary: string;
608
- fallbacks?: string[] | undefined;
699
+ fresh?: {
700
+ noOutputTimeoutMs?: number | undefined;
701
+ noOutputTimeoutRatio?: number | undefined;
702
+ minMs?: number | undefined;
703
+ maxMs?: number | undefined;
704
+ } | undefined;
705
+ resume?: {
706
+ noOutputTimeoutMs?: number | undefined;
707
+ noOutputTimeoutRatio?: number | undefined;
708
+ minMs?: number | undefined;
709
+ maxMs?: number | undefined;
710
+ } | undefined;
609
711
  }, {
610
- primary: string;
611
- fallbacks?: string[] | undefined;
612
- }>;
613
- cliBackends: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
614
- command: z.ZodString;
615
- args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
616
- output: z.ZodOptional<z.ZodEnum<["json", "jsonl", "text"]>>;
617
- resumeOutput: z.ZodOptional<z.ZodEnum<["json", "jsonl", "text"]>>;
618
- input: z.ZodOptional<z.ZodEnum<["arg", "stdin"]>>;
619
- maxPromptArgChars: z.ZodOptional<z.ZodNumber>;
620
- env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
621
- clearEnv: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
622
- modelArg: z.ZodOptional<z.ZodString>;
623
- modelAliases: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
624
- sessionArg: z.ZodOptional<z.ZodString>;
625
- sessionArgs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
626
- resumeArgs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
627
- sessionIdFields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
628
- sessionMode: z.ZodOptional<z.ZodEnum<["always", "existing", "none"]>>;
629
- systemPromptArg: z.ZodOptional<z.ZodString>;
630
- systemPromptMode: z.ZodOptional<z.ZodEnum<["append", "replace"]>>;
631
- systemPromptWhen: z.ZodOptional<z.ZodEnum<["first", "always", "never"]>>;
632
- imageArg: z.ZodOptional<z.ZodString>;
633
- imageMode: z.ZodOptional<z.ZodEnum<["repeat", "list"]>>;
634
- serialize: z.ZodOptional<z.ZodBoolean>;
635
- reliability: z.ZodOptional<z.ZodObject<{
712
+ fresh?: {
713
+ noOutputTimeoutMs?: number | undefined;
714
+ noOutputTimeoutRatio?: number | undefined;
715
+ minMs?: number | undefined;
716
+ maxMs?: number | undefined;
717
+ } | undefined;
718
+ resume?: {
719
+ noOutputTimeoutMs?: number | undefined;
720
+ noOutputTimeoutRatio?: number | undefined;
721
+ minMs?: number | undefined;
722
+ maxMs?: number | undefined;
723
+ } | undefined;
724
+ }>>;
725
+ }, "strip", z.ZodTypeAny, {
726
+ watchdog?: {
727
+ fresh?: {
728
+ noOutputTimeoutMs?: number | undefined;
729
+ noOutputTimeoutRatio?: number | undefined;
730
+ minMs?: number | undefined;
731
+ maxMs?: number | undefined;
732
+ } | undefined;
733
+ resume?: {
734
+ noOutputTimeoutMs?: number | undefined;
735
+ noOutputTimeoutRatio?: number | undefined;
736
+ minMs?: number | undefined;
737
+ maxMs?: number | undefined;
738
+ } | undefined;
739
+ } | undefined;
740
+ }, {
741
+ watchdog?: {
742
+ fresh?: {
743
+ noOutputTimeoutMs?: number | undefined;
744
+ noOutputTimeoutRatio?: number | undefined;
745
+ minMs?: number | undefined;
746
+ maxMs?: number | undefined;
747
+ } | undefined;
748
+ resume?: {
749
+ noOutputTimeoutMs?: number | undefined;
750
+ noOutputTimeoutRatio?: number | undefined;
751
+ minMs?: number | undefined;
752
+ maxMs?: number | undefined;
753
+ } | undefined;
754
+ } | undefined;
755
+ }>>>;
756
+ }, "strip", z.ZodTypeAny, {
757
+ command?: string | undefined;
758
+ args?: string[] | undefined;
759
+ output?: "json" | "jsonl" | "text" | undefined;
760
+ resumeOutput?: "json" | "jsonl" | "text" | undefined;
761
+ input?: "arg" | "stdin" | undefined;
762
+ maxPromptArgChars?: number | undefined;
763
+ env?: Record<string, string> | undefined;
764
+ clearEnv?: string[] | undefined;
765
+ modelArg?: string | undefined;
766
+ modelAliases?: Record<string, string> | undefined;
767
+ sessionArg?: string | undefined;
768
+ sessionArgs?: string[] | undefined;
769
+ resumeArgs?: string[] | undefined;
770
+ sessionIdFields?: string[] | undefined;
771
+ sessionMode?: "always" | "existing" | "none" | undefined;
772
+ systemPromptArg?: string | undefined;
773
+ systemPromptMode?: "append" | "replace" | undefined;
774
+ systemPromptWhen?: "never" | "always" | "first" | undefined;
775
+ imageArg?: string | undefined;
776
+ imageMode?: "repeat" | "list" | undefined;
777
+ serialize?: boolean | undefined;
778
+ reliability?: {
779
+ watchdog?: {
780
+ fresh?: {
781
+ noOutputTimeoutMs?: number | undefined;
782
+ noOutputTimeoutRatio?: number | undefined;
783
+ minMs?: number | undefined;
784
+ maxMs?: number | undefined;
785
+ } | undefined;
786
+ resume?: {
787
+ noOutputTimeoutMs?: number | undefined;
788
+ noOutputTimeoutRatio?: number | undefined;
789
+ minMs?: number | undefined;
790
+ maxMs?: number | undefined;
791
+ } | undefined;
792
+ } | undefined;
793
+ } | undefined;
794
+ }, {
795
+ command?: string | undefined;
796
+ args?: string[] | undefined;
797
+ output?: "json" | "jsonl" | "text" | undefined;
798
+ resumeOutput?: "json" | "jsonl" | "text" | undefined;
799
+ input?: "arg" | "stdin" | undefined;
800
+ maxPromptArgChars?: number | undefined;
801
+ env?: Record<string, string> | undefined;
802
+ clearEnv?: string[] | undefined;
803
+ modelArg?: string | undefined;
804
+ modelAliases?: Record<string, string> | undefined;
805
+ sessionArg?: string | undefined;
806
+ sessionArgs?: string[] | undefined;
807
+ resumeArgs?: string[] | undefined;
808
+ sessionIdFields?: string[] | undefined;
809
+ sessionMode?: "always" | "existing" | "none" | undefined;
810
+ systemPromptArg?: string | undefined;
811
+ systemPromptMode?: "append" | "replace" | undefined;
812
+ systemPromptWhen?: "never" | "always" | "first" | undefined;
813
+ imageArg?: string | undefined;
814
+ imageMode?: "repeat" | "list" | undefined;
815
+ serialize?: boolean | undefined;
816
+ reliability?: {
817
+ watchdog?: {
818
+ fresh?: {
819
+ noOutputTimeoutMs?: number | undefined;
820
+ noOutputTimeoutRatio?: number | undefined;
821
+ minMs?: number | undefined;
822
+ maxMs?: number | undefined;
823
+ } | undefined;
824
+ resume?: {
825
+ noOutputTimeoutMs?: number | undefined;
826
+ noOutputTimeoutRatio?: number | undefined;
827
+ minMs?: number | undefined;
828
+ maxMs?: number | undefined;
829
+ } | undefined;
830
+ } | undefined;
831
+ } | undefined;
832
+ }>>>;
833
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
834
+ clearEnv: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
835
+ tools: z.ZodOptional<z.ZodObject<{
836
+ allow: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
837
+ deny: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
838
+ }, "strip", z.ZodTypeAny, {
839
+ allow?: string[] | undefined;
840
+ deny?: string[] | undefined;
841
+ }, {
842
+ allow?: string[] | undefined;
843
+ deny?: string[] | undefined;
844
+ }>>;
845
+ skills: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
846
+ identity: z.ZodOptional<z.ZodObject<{
847
+ name: z.ZodOptional<z.ZodString>;
848
+ emoji: z.ZodOptional<z.ZodString>;
849
+ }, "strip", z.ZodTypeAny, {
850
+ name?: string | undefined;
851
+ emoji?: string | undefined;
852
+ }, {
853
+ name?: string | undefined;
854
+ emoji?: string | undefined;
855
+ }>>;
856
+ }, "strip", z.ZodTypeAny, {
857
+ id: string;
858
+ model?: string | {
859
+ primary: string;
860
+ fallbacks?: string[] | undefined;
861
+ } | undefined;
862
+ env?: Record<string, string> | undefined;
863
+ clearEnv?: string[] | undefined;
864
+ cliBackends?: Record<string, {
865
+ command?: string | undefined;
866
+ args?: string[] | undefined;
867
+ output?: "json" | "jsonl" | "text" | undefined;
868
+ resumeOutput?: "json" | "jsonl" | "text" | undefined;
869
+ input?: "arg" | "stdin" | undefined;
870
+ maxPromptArgChars?: number | undefined;
871
+ env?: Record<string, string> | undefined;
872
+ clearEnv?: string[] | undefined;
873
+ modelArg?: string | undefined;
874
+ modelAliases?: Record<string, string> | undefined;
875
+ sessionArg?: string | undefined;
876
+ sessionArgs?: string[] | undefined;
877
+ resumeArgs?: string[] | undefined;
878
+ sessionIdFields?: string[] | undefined;
879
+ sessionMode?: "always" | "existing" | "none" | undefined;
880
+ systemPromptArg?: string | undefined;
881
+ systemPromptMode?: "append" | "replace" | undefined;
882
+ systemPromptWhen?: "never" | "always" | "first" | undefined;
883
+ imageArg?: string | undefined;
884
+ imageMode?: "repeat" | "list" | undefined;
885
+ serialize?: boolean | undefined;
886
+ reliability?: {
887
+ watchdog?: {
888
+ fresh?: {
889
+ noOutputTimeoutMs?: number | undefined;
890
+ noOutputTimeoutRatio?: number | undefined;
891
+ minMs?: number | undefined;
892
+ maxMs?: number | undefined;
893
+ } | undefined;
894
+ resume?: {
895
+ noOutputTimeoutMs?: number | undefined;
896
+ noOutputTimeoutRatio?: number | undefined;
897
+ minMs?: number | undefined;
898
+ maxMs?: number | undefined;
899
+ } | undefined;
900
+ } | undefined;
901
+ } | undefined;
902
+ }> | undefined;
903
+ tools?: {
904
+ allow?: string[] | undefined;
905
+ deny?: string[] | undefined;
906
+ } | undefined;
907
+ default?: boolean | undefined;
908
+ name?: string | undefined;
909
+ workspace?: string | undefined;
910
+ systemPrompt?: string | undefined;
911
+ skills?: string[] | undefined;
912
+ identity?: {
913
+ name?: string | undefined;
914
+ emoji?: string | undefined;
915
+ } | undefined;
916
+ }, {
917
+ id: string;
918
+ model?: string | {
919
+ primary: string;
920
+ fallbacks?: string[] | undefined;
921
+ } | undefined;
922
+ env?: Record<string, string> | undefined;
923
+ clearEnv?: string[] | undefined;
924
+ cliBackends?: Record<string, {
925
+ command?: string | undefined;
926
+ args?: string[] | undefined;
927
+ output?: "json" | "jsonl" | "text" | undefined;
928
+ resumeOutput?: "json" | "jsonl" | "text" | undefined;
929
+ input?: "arg" | "stdin" | undefined;
930
+ maxPromptArgChars?: number | undefined;
931
+ env?: Record<string, string> | undefined;
932
+ clearEnv?: string[] | undefined;
933
+ modelArg?: string | undefined;
934
+ modelAliases?: Record<string, string> | undefined;
935
+ sessionArg?: string | undefined;
936
+ sessionArgs?: string[] | undefined;
937
+ resumeArgs?: string[] | undefined;
938
+ sessionIdFields?: string[] | undefined;
939
+ sessionMode?: "always" | "existing" | "none" | undefined;
940
+ systemPromptArg?: string | undefined;
941
+ systemPromptMode?: "append" | "replace" | undefined;
942
+ systemPromptWhen?: "never" | "always" | "first" | undefined;
943
+ imageArg?: string | undefined;
944
+ imageMode?: "repeat" | "list" | undefined;
945
+ serialize?: boolean | undefined;
946
+ reliability?: {
947
+ watchdog?: {
948
+ fresh?: {
949
+ noOutputTimeoutMs?: number | undefined;
950
+ noOutputTimeoutRatio?: number | undefined;
951
+ minMs?: number | undefined;
952
+ maxMs?: number | undefined;
953
+ } | undefined;
954
+ resume?: {
955
+ noOutputTimeoutMs?: number | undefined;
956
+ noOutputTimeoutRatio?: number | undefined;
957
+ minMs?: number | undefined;
958
+ maxMs?: number | undefined;
959
+ } | undefined;
960
+ } | undefined;
961
+ } | undefined;
962
+ }> | undefined;
963
+ tools?: {
964
+ allow?: string[] | undefined;
965
+ deny?: string[] | undefined;
966
+ } | undefined;
967
+ default?: boolean | undefined;
968
+ name?: string | undefined;
969
+ workspace?: string | undefined;
970
+ systemPrompt?: string | undefined;
971
+ skills?: string[] | undefined;
972
+ identity?: {
973
+ name?: string | undefined;
974
+ emoji?: string | undefined;
975
+ } | undefined;
976
+ }>;
977
+ export type AgentConfig = z.infer<typeof AgentConfigSchema>;
978
+ export declare const BindingMatchSchema: z.ZodObject<{
979
+ channel: z.ZodOptional<z.ZodString>;
980
+ accountId: z.ZodOptional<z.ZodString>;
981
+ peer: z.ZodOptional<z.ZodObject<{
982
+ kind: z.ZodOptional<z.ZodEnum<["private", "group", "multi_bot"]>>;
983
+ id: z.ZodOptional<z.ZodString>;
984
+ }, "strip", z.ZodTypeAny, {
985
+ id?: string | undefined;
986
+ kind?: "private" | "group" | "multi_bot" | undefined;
987
+ }, {
988
+ id?: string | undefined;
989
+ kind?: "private" | "group" | "multi_bot" | undefined;
990
+ }>>;
991
+ userId: z.ZodOptional<z.ZodString>;
992
+ }, "strip", z.ZodTypeAny, {
993
+ channel?: string | undefined;
994
+ accountId?: string | undefined;
995
+ peer?: {
996
+ id?: string | undefined;
997
+ kind?: "private" | "group" | "multi_bot" | undefined;
998
+ } | undefined;
999
+ userId?: string | undefined;
1000
+ }, {
1001
+ channel?: string | undefined;
1002
+ accountId?: string | undefined;
1003
+ peer?: {
1004
+ id?: string | undefined;
1005
+ kind?: "private" | "group" | "multi_bot" | undefined;
1006
+ } | undefined;
1007
+ userId?: string | undefined;
1008
+ }>;
1009
+ export declare const AgentBindingSchema: z.ZodObject<{
1010
+ agentId: z.ZodString;
1011
+ comment: z.ZodOptional<z.ZodString>;
1012
+ match: z.ZodObject<{
1013
+ channel: z.ZodOptional<z.ZodString>;
1014
+ accountId: z.ZodOptional<z.ZodString>;
1015
+ peer: z.ZodOptional<z.ZodObject<{
1016
+ kind: z.ZodOptional<z.ZodEnum<["private", "group", "multi_bot"]>>;
1017
+ id: z.ZodOptional<z.ZodString>;
1018
+ }, "strip", z.ZodTypeAny, {
1019
+ id?: string | undefined;
1020
+ kind?: "private" | "group" | "multi_bot" | undefined;
1021
+ }, {
1022
+ id?: string | undefined;
1023
+ kind?: "private" | "group" | "multi_bot" | undefined;
1024
+ }>>;
1025
+ userId: z.ZodOptional<z.ZodString>;
1026
+ }, "strip", z.ZodTypeAny, {
1027
+ channel?: string | undefined;
1028
+ accountId?: string | undefined;
1029
+ peer?: {
1030
+ id?: string | undefined;
1031
+ kind?: "private" | "group" | "multi_bot" | undefined;
1032
+ } | undefined;
1033
+ userId?: string | undefined;
1034
+ }, {
1035
+ channel?: string | undefined;
1036
+ accountId?: string | undefined;
1037
+ peer?: {
1038
+ id?: string | undefined;
1039
+ kind?: "private" | "group" | "multi_bot" | undefined;
1040
+ } | undefined;
1041
+ userId?: string | undefined;
1042
+ }>;
1043
+ }, "strip", z.ZodTypeAny, {
1044
+ agentId: string;
1045
+ match: {
1046
+ channel?: string | undefined;
1047
+ accountId?: string | undefined;
1048
+ peer?: {
1049
+ id?: string | undefined;
1050
+ kind?: "private" | "group" | "multi_bot" | undefined;
1051
+ } | undefined;
1052
+ userId?: string | undefined;
1053
+ };
1054
+ comment?: string | undefined;
1055
+ }, {
1056
+ agentId: string;
1057
+ match: {
1058
+ channel?: string | undefined;
1059
+ accountId?: string | undefined;
1060
+ peer?: {
1061
+ id?: string | undefined;
1062
+ kind?: "private" | "group" | "multi_bot" | undefined;
1063
+ } | undefined;
1064
+ userId?: string | undefined;
1065
+ };
1066
+ comment?: string | undefined;
1067
+ }>;
1068
+ export type AgentBinding = z.infer<typeof AgentBindingSchema>;
1069
+ export declare const FilesConfigSchema: z.ZodObject<{
1070
+ temp_dir: z.ZodDefault<z.ZodString>;
1071
+ max_file_size: z.ZodDefault<z.ZodNumber>;
1072
+ }, "strip", z.ZodTypeAny, {
1073
+ temp_dir: string;
1074
+ max_file_size: number;
1075
+ }, {
1076
+ temp_dir?: string | undefined;
1077
+ max_file_size?: number | undefined;
1078
+ }>;
1079
+ export declare const LoggingConfigSchema: z.ZodObject<{
1080
+ level: z.ZodDefault<z.ZodEnum<["trace", "debug", "info", "warn", "error", "fatal"]>>;
1081
+ pretty: z.ZodDefault<z.ZodBoolean>;
1082
+ }, "strip", z.ZodTypeAny, {
1083
+ level: "trace" | "debug" | "info" | "warn" | "error" | "fatal";
1084
+ pretty: boolean;
1085
+ }, {
1086
+ level?: "trace" | "debug" | "info" | "warn" | "error" | "fatal" | undefined;
1087
+ pretty?: boolean | undefined;
1088
+ }>;
1089
+ export declare const SkillsConfigSchema: z.ZodObject<{
1090
+ dirs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1091
+ }, "strip", z.ZodTypeAny, {
1092
+ dirs: string[];
1093
+ }, {
1094
+ dirs?: string[] | undefined;
1095
+ }>;
1096
+ export declare const AppConfigSchema: z.ZodObject<{
1097
+ channels: z.ZodObject<{
1098
+ botlink: z.ZodEffects<z.ZodObject<{
1099
+ gateway_url: z.ZodOptional<z.ZodString>;
1100
+ bot_token: z.ZodOptional<z.ZodString>;
1101
+ poll_timeout: z.ZodDefault<z.ZodNumber>;
1102
+ retry_interval: z.ZodDefault<z.ZodNumber>;
1103
+ max_retry_interval: z.ZodDefault<z.ZodNumber>;
1104
+ accounts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1105
+ gateway_url: z.ZodString;
1106
+ bot_token: z.ZodString;
1107
+ poll_timeout: z.ZodDefault<z.ZodNumber>;
1108
+ retry_interval: z.ZodDefault<z.ZodNumber>;
1109
+ max_retry_interval: z.ZodDefault<z.ZodNumber>;
1110
+ }, "strip", z.ZodTypeAny, {
1111
+ gateway_url: string;
1112
+ bot_token: string;
1113
+ poll_timeout: number;
1114
+ retry_interval: number;
1115
+ max_retry_interval: number;
1116
+ }, {
1117
+ gateway_url: string;
1118
+ bot_token: string;
1119
+ poll_timeout?: number | undefined;
1120
+ retry_interval?: number | undefined;
1121
+ max_retry_interval?: number | undefined;
1122
+ }>>>;
1123
+ }, "strip", z.ZodTypeAny, {
1124
+ poll_timeout: number;
1125
+ retry_interval: number;
1126
+ max_retry_interval: number;
1127
+ gateway_url?: string | undefined;
1128
+ bot_token?: string | undefined;
1129
+ accounts?: Record<string, {
1130
+ gateway_url: string;
1131
+ bot_token: string;
1132
+ poll_timeout: number;
1133
+ retry_interval: number;
1134
+ max_retry_interval: number;
1135
+ }> | undefined;
1136
+ }, {
1137
+ gateway_url?: string | undefined;
1138
+ bot_token?: string | undefined;
1139
+ poll_timeout?: number | undefined;
1140
+ retry_interval?: number | undefined;
1141
+ max_retry_interval?: number | undefined;
1142
+ accounts?: Record<string, {
1143
+ gateway_url: string;
1144
+ bot_token: string;
1145
+ poll_timeout?: number | undefined;
1146
+ retry_interval?: number | undefined;
1147
+ max_retry_interval?: number | undefined;
1148
+ }> | undefined;
1149
+ }>, {
1150
+ poll_timeout: number;
1151
+ retry_interval: number;
1152
+ max_retry_interval: number;
1153
+ gateway_url?: string | undefined;
1154
+ bot_token?: string | undefined;
1155
+ accounts?: Record<string, {
1156
+ gateway_url: string;
1157
+ bot_token: string;
1158
+ poll_timeout: number;
1159
+ retry_interval: number;
1160
+ max_retry_interval: number;
1161
+ }> | undefined;
1162
+ }, {
1163
+ gateway_url?: string | undefined;
1164
+ bot_token?: string | undefined;
1165
+ poll_timeout?: number | undefined;
1166
+ retry_interval?: number | undefined;
1167
+ max_retry_interval?: number | undefined;
1168
+ accounts?: Record<string, {
1169
+ gateway_url: string;
1170
+ bot_token: string;
1171
+ poll_timeout?: number | undefined;
1172
+ retry_interval?: number | undefined;
1173
+ max_retry_interval?: number | undefined;
1174
+ }> | undefined;
1175
+ }>;
1176
+ }, "strip", z.ZodTypeAny, {
1177
+ botlink: {
1178
+ poll_timeout: number;
1179
+ retry_interval: number;
1180
+ max_retry_interval: number;
1181
+ gateway_url?: string | undefined;
1182
+ bot_token?: string | undefined;
1183
+ accounts?: Record<string, {
1184
+ gateway_url: string;
1185
+ bot_token: string;
1186
+ poll_timeout: number;
1187
+ retry_interval: number;
1188
+ max_retry_interval: number;
1189
+ }> | undefined;
1190
+ };
1191
+ }, {
1192
+ botlink: {
1193
+ gateway_url?: string | undefined;
1194
+ bot_token?: string | undefined;
1195
+ poll_timeout?: number | undefined;
1196
+ retry_interval?: number | undefined;
1197
+ max_retry_interval?: number | undefined;
1198
+ accounts?: Record<string, {
1199
+ gateway_url: string;
1200
+ bot_token: string;
1201
+ poll_timeout?: number | undefined;
1202
+ retry_interval?: number | undefined;
1203
+ max_retry_interval?: number | undefined;
1204
+ }> | undefined;
1205
+ };
1206
+ }>;
1207
+ agents: z.ZodObject<{
1208
+ defaults: z.ZodObject<{
1209
+ model: z.ZodObject<{
1210
+ primary: z.ZodString;
1211
+ fallbacks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1212
+ }, "strip", z.ZodTypeAny, {
1213
+ primary: string;
1214
+ fallbacks?: string[] | undefined;
1215
+ }, {
1216
+ primary: string;
1217
+ fallbacks?: string[] | undefined;
1218
+ }>;
1219
+ cliBackends: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1220
+ command: z.ZodString;
1221
+ args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1222
+ output: z.ZodOptional<z.ZodEnum<["json", "jsonl", "text"]>>;
1223
+ resumeOutput: z.ZodOptional<z.ZodEnum<["json", "jsonl", "text"]>>;
1224
+ input: z.ZodOptional<z.ZodEnum<["arg", "stdin"]>>;
1225
+ maxPromptArgChars: z.ZodOptional<z.ZodNumber>;
1226
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1227
+ clearEnv: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1228
+ modelArg: z.ZodOptional<z.ZodString>;
1229
+ modelAliases: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1230
+ sessionArg: z.ZodOptional<z.ZodString>;
1231
+ sessionArgs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1232
+ resumeArgs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1233
+ sessionIdFields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1234
+ sessionMode: z.ZodOptional<z.ZodEnum<["always", "existing", "none"]>>;
1235
+ systemPromptArg: z.ZodOptional<z.ZodString>;
1236
+ systemPromptMode: z.ZodOptional<z.ZodEnum<["append", "replace"]>>;
1237
+ systemPromptWhen: z.ZodOptional<z.ZodEnum<["first", "always", "never"]>>;
1238
+ imageArg: z.ZodOptional<z.ZodString>;
1239
+ imageMode: z.ZodOptional<z.ZodEnum<["repeat", "list"]>>;
1240
+ serialize: z.ZodOptional<z.ZodBoolean>;
1241
+ reliability: z.ZodOptional<z.ZodObject<{
1242
+ watchdog: z.ZodOptional<z.ZodObject<{
1243
+ fresh: z.ZodOptional<z.ZodObject<{
1244
+ noOutputTimeoutMs: z.ZodOptional<z.ZodNumber>;
1245
+ noOutputTimeoutRatio: z.ZodOptional<z.ZodNumber>;
1246
+ minMs: z.ZodOptional<z.ZodNumber>;
1247
+ maxMs: z.ZodOptional<z.ZodNumber>;
1248
+ }, "strip", z.ZodTypeAny, {
1249
+ noOutputTimeoutMs?: number | undefined;
1250
+ noOutputTimeoutRatio?: number | undefined;
1251
+ minMs?: number | undefined;
1252
+ maxMs?: number | undefined;
1253
+ }, {
1254
+ noOutputTimeoutMs?: number | undefined;
1255
+ noOutputTimeoutRatio?: number | undefined;
1256
+ minMs?: number | undefined;
1257
+ maxMs?: number | undefined;
1258
+ }>>;
1259
+ resume: z.ZodOptional<z.ZodObject<{
1260
+ noOutputTimeoutMs: z.ZodOptional<z.ZodNumber>;
1261
+ noOutputTimeoutRatio: z.ZodOptional<z.ZodNumber>;
1262
+ minMs: z.ZodOptional<z.ZodNumber>;
1263
+ maxMs: z.ZodOptional<z.ZodNumber>;
1264
+ }, "strip", z.ZodTypeAny, {
1265
+ noOutputTimeoutMs?: number | undefined;
1266
+ noOutputTimeoutRatio?: number | undefined;
1267
+ minMs?: number | undefined;
1268
+ maxMs?: number | undefined;
1269
+ }, {
1270
+ noOutputTimeoutMs?: number | undefined;
1271
+ noOutputTimeoutRatio?: number | undefined;
1272
+ minMs?: number | undefined;
1273
+ maxMs?: number | undefined;
1274
+ }>>;
1275
+ }, "strip", z.ZodTypeAny, {
1276
+ fresh?: {
1277
+ noOutputTimeoutMs?: number | undefined;
1278
+ noOutputTimeoutRatio?: number | undefined;
1279
+ minMs?: number | undefined;
1280
+ maxMs?: number | undefined;
1281
+ } | undefined;
1282
+ resume?: {
1283
+ noOutputTimeoutMs?: number | undefined;
1284
+ noOutputTimeoutRatio?: number | undefined;
1285
+ minMs?: number | undefined;
1286
+ maxMs?: number | undefined;
1287
+ } | undefined;
1288
+ }, {
1289
+ fresh?: {
1290
+ noOutputTimeoutMs?: number | undefined;
1291
+ noOutputTimeoutRatio?: number | undefined;
1292
+ minMs?: number | undefined;
1293
+ maxMs?: number | undefined;
1294
+ } | undefined;
1295
+ resume?: {
1296
+ noOutputTimeoutMs?: number | undefined;
1297
+ noOutputTimeoutRatio?: number | undefined;
1298
+ minMs?: number | undefined;
1299
+ maxMs?: number | undefined;
1300
+ } | undefined;
1301
+ }>>;
1302
+ }, "strip", z.ZodTypeAny, {
1303
+ watchdog?: {
1304
+ fresh?: {
1305
+ noOutputTimeoutMs?: number | undefined;
1306
+ noOutputTimeoutRatio?: number | undefined;
1307
+ minMs?: number | undefined;
1308
+ maxMs?: number | undefined;
1309
+ } | undefined;
1310
+ resume?: {
1311
+ noOutputTimeoutMs?: number | undefined;
1312
+ noOutputTimeoutRatio?: number | undefined;
1313
+ minMs?: number | undefined;
1314
+ maxMs?: number | undefined;
1315
+ } | undefined;
1316
+ } | undefined;
1317
+ }, {
1318
+ watchdog?: {
1319
+ fresh?: {
1320
+ noOutputTimeoutMs?: number | undefined;
1321
+ noOutputTimeoutRatio?: number | undefined;
1322
+ minMs?: number | undefined;
1323
+ maxMs?: number | undefined;
1324
+ } | undefined;
1325
+ resume?: {
1326
+ noOutputTimeoutMs?: number | undefined;
1327
+ noOutputTimeoutRatio?: number | undefined;
1328
+ minMs?: number | undefined;
1329
+ maxMs?: number | undefined;
1330
+ } | undefined;
1331
+ } | undefined;
1332
+ }>>;
1333
+ }, "strip", z.ZodTypeAny, {
1334
+ command: string;
1335
+ args?: string[] | undefined;
1336
+ output?: "json" | "jsonl" | "text" | undefined;
1337
+ resumeOutput?: "json" | "jsonl" | "text" | undefined;
1338
+ input?: "arg" | "stdin" | undefined;
1339
+ maxPromptArgChars?: number | undefined;
1340
+ env?: Record<string, string> | undefined;
1341
+ clearEnv?: string[] | undefined;
1342
+ modelArg?: string | undefined;
1343
+ modelAliases?: Record<string, string> | undefined;
1344
+ sessionArg?: string | undefined;
1345
+ sessionArgs?: string[] | undefined;
1346
+ resumeArgs?: string[] | undefined;
1347
+ sessionIdFields?: string[] | undefined;
1348
+ sessionMode?: "always" | "existing" | "none" | undefined;
1349
+ systemPromptArg?: string | undefined;
1350
+ systemPromptMode?: "append" | "replace" | undefined;
1351
+ systemPromptWhen?: "never" | "always" | "first" | undefined;
1352
+ imageArg?: string | undefined;
1353
+ imageMode?: "repeat" | "list" | undefined;
1354
+ serialize?: boolean | undefined;
1355
+ reliability?: {
1356
+ watchdog?: {
1357
+ fresh?: {
1358
+ noOutputTimeoutMs?: number | undefined;
1359
+ noOutputTimeoutRatio?: number | undefined;
1360
+ minMs?: number | undefined;
1361
+ maxMs?: number | undefined;
1362
+ } | undefined;
1363
+ resume?: {
1364
+ noOutputTimeoutMs?: number | undefined;
1365
+ noOutputTimeoutRatio?: number | undefined;
1366
+ minMs?: number | undefined;
1367
+ maxMs?: number | undefined;
1368
+ } | undefined;
1369
+ } | undefined;
1370
+ } | undefined;
1371
+ }, {
1372
+ command: string;
1373
+ args?: string[] | undefined;
1374
+ output?: "json" | "jsonl" | "text" | undefined;
1375
+ resumeOutput?: "json" | "jsonl" | "text" | undefined;
1376
+ input?: "arg" | "stdin" | undefined;
1377
+ maxPromptArgChars?: number | undefined;
1378
+ env?: Record<string, string> | undefined;
1379
+ clearEnv?: string[] | undefined;
1380
+ modelArg?: string | undefined;
1381
+ modelAliases?: Record<string, string> | undefined;
1382
+ sessionArg?: string | undefined;
1383
+ sessionArgs?: string[] | undefined;
1384
+ resumeArgs?: string[] | undefined;
1385
+ sessionIdFields?: string[] | undefined;
1386
+ sessionMode?: "always" | "existing" | "none" | undefined;
1387
+ systemPromptArg?: string | undefined;
1388
+ systemPromptMode?: "append" | "replace" | undefined;
1389
+ systemPromptWhen?: "never" | "always" | "first" | undefined;
1390
+ imageArg?: string | undefined;
1391
+ imageMode?: "repeat" | "list" | undefined;
1392
+ serialize?: boolean | undefined;
1393
+ reliability?: {
1394
+ watchdog?: {
1395
+ fresh?: {
1396
+ noOutputTimeoutMs?: number | undefined;
1397
+ noOutputTimeoutRatio?: number | undefined;
1398
+ minMs?: number | undefined;
1399
+ maxMs?: number | undefined;
1400
+ } | undefined;
1401
+ resume?: {
1402
+ noOutputTimeoutMs?: number | undefined;
1403
+ noOutputTimeoutRatio?: number | undefined;
1404
+ minMs?: number | undefined;
1405
+ maxMs?: number | undefined;
1406
+ } | undefined;
1407
+ } | undefined;
1408
+ } | undefined;
1409
+ }>>>;
1410
+ tools: z.ZodOptional<z.ZodObject<{
1411
+ allow: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1412
+ deny: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1413
+ }, "strip", z.ZodTypeAny, {
1414
+ allow?: string[] | undefined;
1415
+ deny?: string[] | undefined;
1416
+ }, {
1417
+ allow?: string[] | undefined;
1418
+ deny?: string[] | undefined;
1419
+ }>>;
1420
+ max_tokens: z.ZodOptional<z.ZodNumber>;
1421
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1422
+ clearEnv: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1423
+ }, "strip", z.ZodTypeAny, {
1424
+ model: {
1425
+ primary: string;
1426
+ fallbacks?: string[] | undefined;
1427
+ };
1428
+ env?: Record<string, string> | undefined;
1429
+ clearEnv?: string[] | undefined;
1430
+ cliBackends?: Record<string, {
1431
+ command: string;
1432
+ args?: string[] | undefined;
1433
+ output?: "json" | "jsonl" | "text" | undefined;
1434
+ resumeOutput?: "json" | "jsonl" | "text" | undefined;
1435
+ input?: "arg" | "stdin" | undefined;
1436
+ maxPromptArgChars?: number | undefined;
1437
+ env?: Record<string, string> | undefined;
1438
+ clearEnv?: string[] | undefined;
1439
+ modelArg?: string | undefined;
1440
+ modelAliases?: Record<string, string> | undefined;
1441
+ sessionArg?: string | undefined;
1442
+ sessionArgs?: string[] | undefined;
1443
+ resumeArgs?: string[] | undefined;
1444
+ sessionIdFields?: string[] | undefined;
1445
+ sessionMode?: "always" | "existing" | "none" | undefined;
1446
+ systemPromptArg?: string | undefined;
1447
+ systemPromptMode?: "append" | "replace" | undefined;
1448
+ systemPromptWhen?: "never" | "always" | "first" | undefined;
1449
+ imageArg?: string | undefined;
1450
+ imageMode?: "repeat" | "list" | undefined;
1451
+ serialize?: boolean | undefined;
1452
+ reliability?: {
1453
+ watchdog?: {
1454
+ fresh?: {
1455
+ noOutputTimeoutMs?: number | undefined;
1456
+ noOutputTimeoutRatio?: number | undefined;
1457
+ minMs?: number | undefined;
1458
+ maxMs?: number | undefined;
1459
+ } | undefined;
1460
+ resume?: {
1461
+ noOutputTimeoutMs?: number | undefined;
1462
+ noOutputTimeoutRatio?: number | undefined;
1463
+ minMs?: number | undefined;
1464
+ maxMs?: number | undefined;
1465
+ } | undefined;
1466
+ } | undefined;
1467
+ } | undefined;
1468
+ }> | undefined;
1469
+ tools?: {
1470
+ allow?: string[] | undefined;
1471
+ deny?: string[] | undefined;
1472
+ } | undefined;
1473
+ max_tokens?: number | undefined;
1474
+ }, {
1475
+ model: {
1476
+ primary: string;
1477
+ fallbacks?: string[] | undefined;
1478
+ };
1479
+ env?: Record<string, string> | undefined;
1480
+ clearEnv?: string[] | undefined;
1481
+ cliBackends?: Record<string, {
1482
+ command: string;
1483
+ args?: string[] | undefined;
1484
+ output?: "json" | "jsonl" | "text" | undefined;
1485
+ resumeOutput?: "json" | "jsonl" | "text" | undefined;
1486
+ input?: "arg" | "stdin" | undefined;
1487
+ maxPromptArgChars?: number | undefined;
1488
+ env?: Record<string, string> | undefined;
1489
+ clearEnv?: string[] | undefined;
1490
+ modelArg?: string | undefined;
1491
+ modelAliases?: Record<string, string> | undefined;
1492
+ sessionArg?: string | undefined;
1493
+ sessionArgs?: string[] | undefined;
1494
+ resumeArgs?: string[] | undefined;
1495
+ sessionIdFields?: string[] | undefined;
1496
+ sessionMode?: "always" | "existing" | "none" | undefined;
1497
+ systemPromptArg?: string | undefined;
1498
+ systemPromptMode?: "append" | "replace" | undefined;
1499
+ systemPromptWhen?: "never" | "always" | "first" | undefined;
1500
+ imageArg?: string | undefined;
1501
+ imageMode?: "repeat" | "list" | undefined;
1502
+ serialize?: boolean | undefined;
1503
+ reliability?: {
1504
+ watchdog?: {
1505
+ fresh?: {
1506
+ noOutputTimeoutMs?: number | undefined;
1507
+ noOutputTimeoutRatio?: number | undefined;
1508
+ minMs?: number | undefined;
1509
+ maxMs?: number | undefined;
1510
+ } | undefined;
1511
+ resume?: {
1512
+ noOutputTimeoutMs?: number | undefined;
1513
+ noOutputTimeoutRatio?: number | undefined;
1514
+ minMs?: number | undefined;
1515
+ maxMs?: number | undefined;
1516
+ } | undefined;
1517
+ } | undefined;
1518
+ } | undefined;
1519
+ }> | undefined;
1520
+ tools?: {
1521
+ allow?: string[] | undefined;
1522
+ deny?: string[] | undefined;
1523
+ } | undefined;
1524
+ max_tokens?: number | undefined;
1525
+ }>;
1526
+ list: z.ZodOptional<z.ZodArray<z.ZodObject<{
1527
+ id: z.ZodString;
1528
+ default: z.ZodOptional<z.ZodBoolean>;
1529
+ name: z.ZodOptional<z.ZodString>;
1530
+ model: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
1531
+ primary: z.ZodString;
1532
+ fallbacks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1533
+ }, "strip", z.ZodTypeAny, {
1534
+ primary: string;
1535
+ fallbacks?: string[] | undefined;
1536
+ }, {
1537
+ primary: string;
1538
+ fallbacks?: string[] | undefined;
1539
+ }>, z.ZodString]>>;
1540
+ workspace: z.ZodOptional<z.ZodString>;
1541
+ systemPrompt: z.ZodOptional<z.ZodString>;
1542
+ cliBackends: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1543
+ command: z.ZodOptional<z.ZodString>;
1544
+ args: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1545
+ output: z.ZodOptional<z.ZodOptional<z.ZodEnum<["json", "jsonl", "text"]>>>;
1546
+ resumeOutput: z.ZodOptional<z.ZodOptional<z.ZodEnum<["json", "jsonl", "text"]>>>;
1547
+ input: z.ZodOptional<z.ZodOptional<z.ZodEnum<["arg", "stdin"]>>>;
1548
+ maxPromptArgChars: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1549
+ env: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
1550
+ clearEnv: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1551
+ modelArg: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1552
+ modelAliases: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
1553
+ sessionArg: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1554
+ sessionArgs: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1555
+ resumeArgs: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1556
+ sessionIdFields: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1557
+ sessionMode: z.ZodOptional<z.ZodOptional<z.ZodEnum<["always", "existing", "none"]>>>;
1558
+ systemPromptArg: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1559
+ systemPromptMode: z.ZodOptional<z.ZodOptional<z.ZodEnum<["append", "replace"]>>>;
1560
+ systemPromptWhen: z.ZodOptional<z.ZodOptional<z.ZodEnum<["first", "always", "never"]>>>;
1561
+ imageArg: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1562
+ imageMode: z.ZodOptional<z.ZodOptional<z.ZodEnum<["repeat", "list"]>>>;
1563
+ serialize: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1564
+ reliability: z.ZodOptional<z.ZodOptional<z.ZodObject<{
636
1565
  watchdog: z.ZodOptional<z.ZodObject<{
637
1566
  fresh: z.ZodOptional<z.ZodObject<{
638
1567
  noOutputTimeoutMs: z.ZodOptional<z.ZodNumber>;
@@ -723,9 +1652,9 @@ export declare const AppConfigSchema: z.ZodObject<{
723
1652
  maxMs?: number | undefined;
724
1653
  } | undefined;
725
1654
  } | undefined;
726
- }>>;
1655
+ }>>>;
727
1656
  }, "strip", z.ZodTypeAny, {
728
- command: string;
1657
+ command?: string | undefined;
729
1658
  args?: string[] | undefined;
730
1659
  output?: "json" | "jsonl" | "text" | undefined;
731
1660
  resumeOutput?: "json" | "jsonl" | "text" | undefined;
@@ -763,7 +1692,7 @@ export declare const AppConfigSchema: z.ZodObject<{
763
1692
  } | undefined;
764
1693
  } | undefined;
765
1694
  }, {
766
- command: string;
1695
+ command?: string | undefined;
767
1696
  args?: string[] | undefined;
768
1697
  output?: "json" | "jsonl" | "text" | undefined;
769
1698
  resumeOutput?: "json" | "jsonl" | "text" | undefined;
@@ -801,6 +1730,8 @@ export declare const AppConfigSchema: z.ZodObject<{
801
1730
  } | undefined;
802
1731
  } | undefined;
803
1732
  }>>>;
1733
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1734
+ clearEnv: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
804
1735
  tools: z.ZodOptional<z.ZodObject<{
805
1736
  allow: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
806
1737
  deny: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -811,14 +1742,27 @@ export declare const AppConfigSchema: z.ZodObject<{
811
1742
  allow?: string[] | undefined;
812
1743
  deny?: string[] | undefined;
813
1744
  }>>;
814
- max_tokens: z.ZodOptional<z.ZodNumber>;
1745
+ skills: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1746
+ identity: z.ZodOptional<z.ZodObject<{
1747
+ name: z.ZodOptional<z.ZodString>;
1748
+ emoji: z.ZodOptional<z.ZodString>;
1749
+ }, "strip", z.ZodTypeAny, {
1750
+ name?: string | undefined;
1751
+ emoji?: string | undefined;
1752
+ }, {
1753
+ name?: string | undefined;
1754
+ emoji?: string | undefined;
1755
+ }>>;
815
1756
  }, "strip", z.ZodTypeAny, {
816
- model: {
1757
+ id: string;
1758
+ model?: string | {
817
1759
  primary: string;
818
1760
  fallbacks?: string[] | undefined;
819
- };
1761
+ } | undefined;
1762
+ env?: Record<string, string> | undefined;
1763
+ clearEnv?: string[] | undefined;
820
1764
  cliBackends?: Record<string, {
821
- command: string;
1765
+ command?: string | undefined;
822
1766
  args?: string[] | undefined;
823
1767
  output?: "json" | "jsonl" | "text" | undefined;
824
1768
  resumeOutput?: "json" | "jsonl" | "text" | undefined;
@@ -860,14 +1804,25 @@ export declare const AppConfigSchema: z.ZodObject<{
860
1804
  allow?: string[] | undefined;
861
1805
  deny?: string[] | undefined;
862
1806
  } | undefined;
863
- max_tokens?: number | undefined;
1807
+ default?: boolean | undefined;
1808
+ name?: string | undefined;
1809
+ workspace?: string | undefined;
1810
+ systemPrompt?: string | undefined;
1811
+ skills?: string[] | undefined;
1812
+ identity?: {
1813
+ name?: string | undefined;
1814
+ emoji?: string | undefined;
1815
+ } | undefined;
864
1816
  }, {
865
- model: {
1817
+ id: string;
1818
+ model?: string | {
866
1819
  primary: string;
867
1820
  fallbacks?: string[] | undefined;
868
- };
1821
+ } | undefined;
1822
+ env?: Record<string, string> | undefined;
1823
+ clearEnv?: string[] | undefined;
869
1824
  cliBackends?: Record<string, {
870
- command: string;
1825
+ command?: string | undefined;
871
1826
  args?: string[] | undefined;
872
1827
  output?: "json" | "jsonl" | "text" | undefined;
873
1828
  resumeOutput?: "json" | "jsonl" | "text" | undefined;
@@ -909,14 +1864,24 @@ export declare const AppConfigSchema: z.ZodObject<{
909
1864
  allow?: string[] | undefined;
910
1865
  deny?: string[] | undefined;
911
1866
  } | undefined;
912
- max_tokens?: number | undefined;
913
- }>;
1867
+ default?: boolean | undefined;
1868
+ name?: string | undefined;
1869
+ workspace?: string | undefined;
1870
+ systemPrompt?: string | undefined;
1871
+ skills?: string[] | undefined;
1872
+ identity?: {
1873
+ name?: string | undefined;
1874
+ emoji?: string | undefined;
1875
+ } | undefined;
1876
+ }>, "many">>;
914
1877
  }, "strip", z.ZodTypeAny, {
915
1878
  defaults: {
916
1879
  model: {
917
1880
  primary: string;
918
1881
  fallbacks?: string[] | undefined;
919
1882
  };
1883
+ env?: Record<string, string> | undefined;
1884
+ clearEnv?: string[] | undefined;
920
1885
  cliBackends?: Record<string, {
921
1886
  command: string;
922
1887
  args?: string[] | undefined;
@@ -962,12 +1927,75 @@ export declare const AppConfigSchema: z.ZodObject<{
962
1927
  } | undefined;
963
1928
  max_tokens?: number | undefined;
964
1929
  };
1930
+ list?: {
1931
+ id: string;
1932
+ model?: string | {
1933
+ primary: string;
1934
+ fallbacks?: string[] | undefined;
1935
+ } | undefined;
1936
+ env?: Record<string, string> | undefined;
1937
+ clearEnv?: string[] | undefined;
1938
+ cliBackends?: Record<string, {
1939
+ command?: string | undefined;
1940
+ args?: string[] | undefined;
1941
+ output?: "json" | "jsonl" | "text" | undefined;
1942
+ resumeOutput?: "json" | "jsonl" | "text" | undefined;
1943
+ input?: "arg" | "stdin" | undefined;
1944
+ maxPromptArgChars?: number | undefined;
1945
+ env?: Record<string, string> | undefined;
1946
+ clearEnv?: string[] | undefined;
1947
+ modelArg?: string | undefined;
1948
+ modelAliases?: Record<string, string> | undefined;
1949
+ sessionArg?: string | undefined;
1950
+ sessionArgs?: string[] | undefined;
1951
+ resumeArgs?: string[] | undefined;
1952
+ sessionIdFields?: string[] | undefined;
1953
+ sessionMode?: "always" | "existing" | "none" | undefined;
1954
+ systemPromptArg?: string | undefined;
1955
+ systemPromptMode?: "append" | "replace" | undefined;
1956
+ systemPromptWhen?: "never" | "always" | "first" | undefined;
1957
+ imageArg?: string | undefined;
1958
+ imageMode?: "repeat" | "list" | undefined;
1959
+ serialize?: boolean | undefined;
1960
+ reliability?: {
1961
+ watchdog?: {
1962
+ fresh?: {
1963
+ noOutputTimeoutMs?: number | undefined;
1964
+ noOutputTimeoutRatio?: number | undefined;
1965
+ minMs?: number | undefined;
1966
+ maxMs?: number | undefined;
1967
+ } | undefined;
1968
+ resume?: {
1969
+ noOutputTimeoutMs?: number | undefined;
1970
+ noOutputTimeoutRatio?: number | undefined;
1971
+ minMs?: number | undefined;
1972
+ maxMs?: number | undefined;
1973
+ } | undefined;
1974
+ } | undefined;
1975
+ } | undefined;
1976
+ }> | undefined;
1977
+ tools?: {
1978
+ allow?: string[] | undefined;
1979
+ deny?: string[] | undefined;
1980
+ } | undefined;
1981
+ default?: boolean | undefined;
1982
+ name?: string | undefined;
1983
+ workspace?: string | undefined;
1984
+ systemPrompt?: string | undefined;
1985
+ skills?: string[] | undefined;
1986
+ identity?: {
1987
+ name?: string | undefined;
1988
+ emoji?: string | undefined;
1989
+ } | undefined;
1990
+ }[] | undefined;
965
1991
  }, {
966
1992
  defaults: {
967
1993
  model: {
968
1994
  primary: string;
969
1995
  fallbacks?: string[] | undefined;
970
1996
  };
1997
+ env?: Record<string, string> | undefined;
1998
+ clearEnv?: string[] | undefined;
971
1999
  cliBackends?: Record<string, {
972
2000
  command: string;
973
2001
  args?: string[] | undefined;
@@ -1013,7 +2041,127 @@ export declare const AppConfigSchema: z.ZodObject<{
1013
2041
  } | undefined;
1014
2042
  max_tokens?: number | undefined;
1015
2043
  };
2044
+ list?: {
2045
+ id: string;
2046
+ model?: string | {
2047
+ primary: string;
2048
+ fallbacks?: string[] | undefined;
2049
+ } | undefined;
2050
+ env?: Record<string, string> | undefined;
2051
+ clearEnv?: string[] | undefined;
2052
+ cliBackends?: Record<string, {
2053
+ command?: string | undefined;
2054
+ args?: string[] | undefined;
2055
+ output?: "json" | "jsonl" | "text" | undefined;
2056
+ resumeOutput?: "json" | "jsonl" | "text" | undefined;
2057
+ input?: "arg" | "stdin" | undefined;
2058
+ maxPromptArgChars?: number | undefined;
2059
+ env?: Record<string, string> | undefined;
2060
+ clearEnv?: string[] | undefined;
2061
+ modelArg?: string | undefined;
2062
+ modelAliases?: Record<string, string> | undefined;
2063
+ sessionArg?: string | undefined;
2064
+ sessionArgs?: string[] | undefined;
2065
+ resumeArgs?: string[] | undefined;
2066
+ sessionIdFields?: string[] | undefined;
2067
+ sessionMode?: "always" | "existing" | "none" | undefined;
2068
+ systemPromptArg?: string | undefined;
2069
+ systemPromptMode?: "append" | "replace" | undefined;
2070
+ systemPromptWhen?: "never" | "always" | "first" | undefined;
2071
+ imageArg?: string | undefined;
2072
+ imageMode?: "repeat" | "list" | undefined;
2073
+ serialize?: boolean | undefined;
2074
+ reliability?: {
2075
+ watchdog?: {
2076
+ fresh?: {
2077
+ noOutputTimeoutMs?: number | undefined;
2078
+ noOutputTimeoutRatio?: number | undefined;
2079
+ minMs?: number | undefined;
2080
+ maxMs?: number | undefined;
2081
+ } | undefined;
2082
+ resume?: {
2083
+ noOutputTimeoutMs?: number | undefined;
2084
+ noOutputTimeoutRatio?: number | undefined;
2085
+ minMs?: number | undefined;
2086
+ maxMs?: number | undefined;
2087
+ } | undefined;
2088
+ } | undefined;
2089
+ } | undefined;
2090
+ }> | undefined;
2091
+ tools?: {
2092
+ allow?: string[] | undefined;
2093
+ deny?: string[] | undefined;
2094
+ } | undefined;
2095
+ default?: boolean | undefined;
2096
+ name?: string | undefined;
2097
+ workspace?: string | undefined;
2098
+ systemPrompt?: string | undefined;
2099
+ skills?: string[] | undefined;
2100
+ identity?: {
2101
+ name?: string | undefined;
2102
+ emoji?: string | undefined;
2103
+ } | undefined;
2104
+ }[] | undefined;
1016
2105
  }>;
2106
+ bindings: z.ZodOptional<z.ZodArray<z.ZodObject<{
2107
+ agentId: z.ZodString;
2108
+ comment: z.ZodOptional<z.ZodString>;
2109
+ match: z.ZodObject<{
2110
+ channel: z.ZodOptional<z.ZodString>;
2111
+ accountId: z.ZodOptional<z.ZodString>;
2112
+ peer: z.ZodOptional<z.ZodObject<{
2113
+ kind: z.ZodOptional<z.ZodEnum<["private", "group", "multi_bot"]>>;
2114
+ id: z.ZodOptional<z.ZodString>;
2115
+ }, "strip", z.ZodTypeAny, {
2116
+ id?: string | undefined;
2117
+ kind?: "private" | "group" | "multi_bot" | undefined;
2118
+ }, {
2119
+ id?: string | undefined;
2120
+ kind?: "private" | "group" | "multi_bot" | undefined;
2121
+ }>>;
2122
+ userId: z.ZodOptional<z.ZodString>;
2123
+ }, "strip", z.ZodTypeAny, {
2124
+ channel?: string | undefined;
2125
+ accountId?: string | undefined;
2126
+ peer?: {
2127
+ id?: string | undefined;
2128
+ kind?: "private" | "group" | "multi_bot" | undefined;
2129
+ } | undefined;
2130
+ userId?: string | undefined;
2131
+ }, {
2132
+ channel?: string | undefined;
2133
+ accountId?: string | undefined;
2134
+ peer?: {
2135
+ id?: string | undefined;
2136
+ kind?: "private" | "group" | "multi_bot" | undefined;
2137
+ } | undefined;
2138
+ userId?: string | undefined;
2139
+ }>;
2140
+ }, "strip", z.ZodTypeAny, {
2141
+ agentId: string;
2142
+ match: {
2143
+ channel?: string | undefined;
2144
+ accountId?: string | undefined;
2145
+ peer?: {
2146
+ id?: string | undefined;
2147
+ kind?: "private" | "group" | "multi_bot" | undefined;
2148
+ } | undefined;
2149
+ userId?: string | undefined;
2150
+ };
2151
+ comment?: string | undefined;
2152
+ }, {
2153
+ agentId: string;
2154
+ match: {
2155
+ channel?: string | undefined;
2156
+ accountId?: string | undefined;
2157
+ peer?: {
2158
+ id?: string | undefined;
2159
+ kind?: "private" | "group" | "multi_bot" | undefined;
2160
+ } | undefined;
2161
+ userId?: string | undefined;
2162
+ };
2163
+ comment?: string | undefined;
2164
+ }>, "many">>;
1017
2165
  skills: z.ZodDefault<z.ZodObject<{
1018
2166
  dirs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1019
2167
  }, "strip", z.ZodTypeAny, {
@@ -1044,27 +2192,28 @@ export declare const AppConfigSchema: z.ZodObject<{
1044
2192
  }, "strip", z.ZodTypeAny, {
1045
2193
  channels: {
1046
2194
  botlink: {
1047
- gateway_url: string;
1048
- bot_token: string;
1049
2195
  poll_timeout: number;
1050
2196
  retry_interval: number;
1051
2197
  max_retry_interval: number;
2198
+ gateway_url?: string | undefined;
2199
+ bot_token?: string | undefined;
2200
+ accounts?: Record<string, {
2201
+ gateway_url: string;
2202
+ bot_token: string;
2203
+ poll_timeout: number;
2204
+ retry_interval: number;
2205
+ max_retry_interval: number;
2206
+ }> | undefined;
1052
2207
  };
1053
2208
  };
1054
- logging: {
1055
- level: "trace" | "debug" | "info" | "warn" | "error" | "fatal";
1056
- pretty: boolean;
1057
- };
1058
- files: {
1059
- temp_dir: string;
1060
- max_file_size: number;
1061
- };
1062
2209
  agents: {
1063
2210
  defaults: {
1064
2211
  model: {
1065
2212
  primary: string;
1066
2213
  fallbacks?: string[] | undefined;
1067
2214
  };
2215
+ env?: Record<string, string> | undefined;
2216
+ clearEnv?: string[] | undefined;
1068
2217
  cliBackends?: Record<string, {
1069
2218
  command: string;
1070
2219
  args?: string[] | undefined;
@@ -1110,18 +2259,107 @@ export declare const AppConfigSchema: z.ZodObject<{
1110
2259
  } | undefined;
1111
2260
  max_tokens?: number | undefined;
1112
2261
  };
2262
+ list?: {
2263
+ id: string;
2264
+ model?: string | {
2265
+ primary: string;
2266
+ fallbacks?: string[] | undefined;
2267
+ } | undefined;
2268
+ env?: Record<string, string> | undefined;
2269
+ clearEnv?: string[] | undefined;
2270
+ cliBackends?: Record<string, {
2271
+ command?: string | undefined;
2272
+ args?: string[] | undefined;
2273
+ output?: "json" | "jsonl" | "text" | undefined;
2274
+ resumeOutput?: "json" | "jsonl" | "text" | undefined;
2275
+ input?: "arg" | "stdin" | undefined;
2276
+ maxPromptArgChars?: number | undefined;
2277
+ env?: Record<string, string> | undefined;
2278
+ clearEnv?: string[] | undefined;
2279
+ modelArg?: string | undefined;
2280
+ modelAliases?: Record<string, string> | undefined;
2281
+ sessionArg?: string | undefined;
2282
+ sessionArgs?: string[] | undefined;
2283
+ resumeArgs?: string[] | undefined;
2284
+ sessionIdFields?: string[] | undefined;
2285
+ sessionMode?: "always" | "existing" | "none" | undefined;
2286
+ systemPromptArg?: string | undefined;
2287
+ systemPromptMode?: "append" | "replace" | undefined;
2288
+ systemPromptWhen?: "never" | "always" | "first" | undefined;
2289
+ imageArg?: string | undefined;
2290
+ imageMode?: "repeat" | "list" | undefined;
2291
+ serialize?: boolean | undefined;
2292
+ reliability?: {
2293
+ watchdog?: {
2294
+ fresh?: {
2295
+ noOutputTimeoutMs?: number | undefined;
2296
+ noOutputTimeoutRatio?: number | undefined;
2297
+ minMs?: number | undefined;
2298
+ maxMs?: number | undefined;
2299
+ } | undefined;
2300
+ resume?: {
2301
+ noOutputTimeoutMs?: number | undefined;
2302
+ noOutputTimeoutRatio?: number | undefined;
2303
+ minMs?: number | undefined;
2304
+ maxMs?: number | undefined;
2305
+ } | undefined;
2306
+ } | undefined;
2307
+ } | undefined;
2308
+ }> | undefined;
2309
+ tools?: {
2310
+ allow?: string[] | undefined;
2311
+ deny?: string[] | undefined;
2312
+ } | undefined;
2313
+ default?: boolean | undefined;
2314
+ name?: string | undefined;
2315
+ workspace?: string | undefined;
2316
+ systemPrompt?: string | undefined;
2317
+ skills?: string[] | undefined;
2318
+ identity?: {
2319
+ name?: string | undefined;
2320
+ emoji?: string | undefined;
2321
+ } | undefined;
2322
+ }[] | undefined;
1113
2323
  };
1114
2324
  skills: {
1115
2325
  dirs: string[];
1116
2326
  };
2327
+ files: {
2328
+ temp_dir: string;
2329
+ max_file_size: number;
2330
+ };
2331
+ logging: {
2332
+ level: "trace" | "debug" | "info" | "warn" | "error" | "fatal";
2333
+ pretty: boolean;
2334
+ };
2335
+ bindings?: {
2336
+ agentId: string;
2337
+ match: {
2338
+ channel?: string | undefined;
2339
+ accountId?: string | undefined;
2340
+ peer?: {
2341
+ id?: string | undefined;
2342
+ kind?: "private" | "group" | "multi_bot" | undefined;
2343
+ } | undefined;
2344
+ userId?: string | undefined;
2345
+ };
2346
+ comment?: string | undefined;
2347
+ }[] | undefined;
1117
2348
  }, {
1118
2349
  channels: {
1119
2350
  botlink: {
1120
- gateway_url: string;
1121
- bot_token: string;
2351
+ gateway_url?: string | undefined;
2352
+ bot_token?: string | undefined;
1122
2353
  poll_timeout?: number | undefined;
1123
2354
  retry_interval?: number | undefined;
1124
2355
  max_retry_interval?: number | undefined;
2356
+ accounts?: Record<string, {
2357
+ gateway_url: string;
2358
+ bot_token: string;
2359
+ poll_timeout?: number | undefined;
2360
+ retry_interval?: number | undefined;
2361
+ max_retry_interval?: number | undefined;
2362
+ }> | undefined;
1125
2363
  };
1126
2364
  };
1127
2365
  agents: {
@@ -1130,6 +2368,8 @@ export declare const AppConfigSchema: z.ZodObject<{
1130
2368
  primary: string;
1131
2369
  fallbacks?: string[] | undefined;
1132
2370
  };
2371
+ env?: Record<string, string> | undefined;
2372
+ clearEnv?: string[] | undefined;
1133
2373
  cliBackends?: Record<string, {
1134
2374
  command: string;
1135
2375
  args?: string[] | undefined;
@@ -1175,17 +2415,91 @@ export declare const AppConfigSchema: z.ZodObject<{
1175
2415
  } | undefined;
1176
2416
  max_tokens?: number | undefined;
1177
2417
  };
2418
+ list?: {
2419
+ id: string;
2420
+ model?: string | {
2421
+ primary: string;
2422
+ fallbacks?: string[] | undefined;
2423
+ } | undefined;
2424
+ env?: Record<string, string> | undefined;
2425
+ clearEnv?: string[] | undefined;
2426
+ cliBackends?: Record<string, {
2427
+ command?: string | undefined;
2428
+ args?: string[] | undefined;
2429
+ output?: "json" | "jsonl" | "text" | undefined;
2430
+ resumeOutput?: "json" | "jsonl" | "text" | undefined;
2431
+ input?: "arg" | "stdin" | undefined;
2432
+ maxPromptArgChars?: number | undefined;
2433
+ env?: Record<string, string> | undefined;
2434
+ clearEnv?: string[] | undefined;
2435
+ modelArg?: string | undefined;
2436
+ modelAliases?: Record<string, string> | undefined;
2437
+ sessionArg?: string | undefined;
2438
+ sessionArgs?: string[] | undefined;
2439
+ resumeArgs?: string[] | undefined;
2440
+ sessionIdFields?: string[] | undefined;
2441
+ sessionMode?: "always" | "existing" | "none" | undefined;
2442
+ systemPromptArg?: string | undefined;
2443
+ systemPromptMode?: "append" | "replace" | undefined;
2444
+ systemPromptWhen?: "never" | "always" | "first" | undefined;
2445
+ imageArg?: string | undefined;
2446
+ imageMode?: "repeat" | "list" | undefined;
2447
+ serialize?: boolean | undefined;
2448
+ reliability?: {
2449
+ watchdog?: {
2450
+ fresh?: {
2451
+ noOutputTimeoutMs?: number | undefined;
2452
+ noOutputTimeoutRatio?: number | undefined;
2453
+ minMs?: number | undefined;
2454
+ maxMs?: number | undefined;
2455
+ } | undefined;
2456
+ resume?: {
2457
+ noOutputTimeoutMs?: number | undefined;
2458
+ noOutputTimeoutRatio?: number | undefined;
2459
+ minMs?: number | undefined;
2460
+ maxMs?: number | undefined;
2461
+ } | undefined;
2462
+ } | undefined;
2463
+ } | undefined;
2464
+ }> | undefined;
2465
+ tools?: {
2466
+ allow?: string[] | undefined;
2467
+ deny?: string[] | undefined;
2468
+ } | undefined;
2469
+ default?: boolean | undefined;
2470
+ name?: string | undefined;
2471
+ workspace?: string | undefined;
2472
+ systemPrompt?: string | undefined;
2473
+ skills?: string[] | undefined;
2474
+ identity?: {
2475
+ name?: string | undefined;
2476
+ emoji?: string | undefined;
2477
+ } | undefined;
2478
+ }[] | undefined;
1178
2479
  };
1179
- logging?: {
1180
- level?: "trace" | "debug" | "info" | "warn" | "error" | "fatal" | undefined;
1181
- pretty?: boolean | undefined;
2480
+ skills?: {
2481
+ dirs?: string[] | undefined;
1182
2482
  } | undefined;
2483
+ bindings?: {
2484
+ agentId: string;
2485
+ match: {
2486
+ channel?: string | undefined;
2487
+ accountId?: string | undefined;
2488
+ peer?: {
2489
+ id?: string | undefined;
2490
+ kind?: "private" | "group" | "multi_bot" | undefined;
2491
+ } | undefined;
2492
+ userId?: string | undefined;
2493
+ };
2494
+ comment?: string | undefined;
2495
+ }[] | undefined;
1183
2496
  files?: {
1184
2497
  temp_dir?: string | undefined;
1185
2498
  max_file_size?: number | undefined;
1186
2499
  } | undefined;
1187
- skills?: {
1188
- dirs?: string[] | undefined;
2500
+ logging?: {
2501
+ level?: "trace" | "debug" | "info" | "warn" | "error" | "fatal" | undefined;
2502
+ pretty?: boolean | undefined;
1189
2503
  } | undefined;
1190
2504
  }>;
1191
2505
  export type AppConfig = z.infer<typeof AppConfigSchema>;