Commit 16653e1
authored
refactor(integrations): registry one for-loop, schema-driven (#6386)
Eliminate the hand-maintained integrations registry by deriving the
catalog from schema sources. Closes #6294.
- `Configurable` derive emits `nested_option_entries(&self)` for
`#[nested] Option<T>` fields. The registry consumes this on
`ChannelsConfig`, so each new `pub foo: Option<FooConfig>` channel
surfaces an integration entry automatically. Surfaces ~15 channels
the prior hand-list missed (Mattermost, IRC, Lark, Line, Feishu,
WeCom, WeChat, Reddit, Bluesky, MQTT, Discord History, Voice
Call/Wake/Duplex, ClawdTalk, Gmail Push).
- AI providers derive from `ProviderInfo` + a new `ProviderActivation`
enum (`AlwaysActive`, `EnvVarPresent`, `ConfigKeyPresent`,
`ConfigPredicate`, `FallbackKeyMatches`). Zero per-vendor branches;
registry.rs shrinks 809 -> 142 lines.
- Per-field `#[display_name]`/`#[description]` attributes and a
struct-level `#[integration(...)]` attribute push all metadata to
the schema side; production registry path has zero string literals
naming a channel/vendor/tool/platform.
- `ComingSoon` removed entirely (enum variant, hardcoded entries,
frontend type union, statusBadge case, 62 i18n strings).
Beta-tier breaking changes (recorded in CHANGELOG-next.md):
- `IntegrationStatus::ComingSoon` removed.
- `IntegrationCategory` variants removed: `Productivity`,
`MusicAudio`, `SmartHome`, `MediaCreative`, `Social` (no live
entries). `Google Workspace` recategorised to `ToolsAutomation`.
- `IntegrationEntry.status_fn` -> `IntegrationEntry.status` (eager).
- `all_integrations()` now takes `&Config`.
Operator surface: dashboard renders more channels, no "Coming Soon"
entries. Config files unchanged.
Closes #6294
Co-authored-by: Shane Engelman <contact@shane.gg>1 parent 9544b13 commit 16653e1
13 files changed
Lines changed: 848 additions & 1145 deletions
File tree
- crates
- zeroclaw-config/src
- zeroclaw-gateway/src
- zeroclaw-macros/src
- zeroclaw-providers/src
- zeroclaw-runtime/src
- integrations
- tools
- web/src
- lib
- pages
- types
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
49 | 61 | | |
50 | 62 | | |
51 | 63 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2772 | 2772 | | |
2773 | 2773 | | |
2774 | 2774 | | |
| 2775 | + | |
| 2776 | + | |
| 2777 | + | |
| 2778 | + | |
| 2779 | + | |
| 2780 | + | |
2775 | 2781 | | |
2776 | 2782 | | |
2777 | 2783 | | |
| |||
3435 | 3441 | | |
3436 | 3442 | | |
3437 | 3443 | | |
| 3444 | + | |
| 3445 | + | |
| 3446 | + | |
| 3447 | + | |
| 3448 | + | |
| 3449 | + | |
3438 | 3450 | | |
3439 | 3451 | | |
3440 | 3452 | | |
| |||
6375 | 6387 | | |
6376 | 6388 | | |
6377 | 6389 | | |
| 6390 | + | |
| 6391 | + | |
| 6392 | + | |
| 6393 | + | |
| 6394 | + | |
| 6395 | + | |
6378 | 6396 | | |
6379 | 6397 | | |
6380 | 6398 | | |
| |||
6702 | 6720 | | |
6703 | 6721 | | |
6704 | 6722 | | |
| 6723 | + | |
| 6724 | + | |
6705 | 6725 | | |
6706 | 6726 | | |
6707 | 6727 | | |
| 6728 | + | |
| 6729 | + | |
6708 | 6730 | | |
6709 | 6731 | | |
6710 | 6732 | | |
| 6733 | + | |
| 6734 | + | |
6711 | 6735 | | |
6712 | 6736 | | |
6713 | 6737 | | |
| 6738 | + | |
| 6739 | + | |
6714 | 6740 | | |
6715 | 6741 | | |
6716 | 6742 | | |
| 6743 | + | |
| 6744 | + | |
6717 | 6745 | | |
6718 | 6746 | | |
6719 | 6747 | | |
| 6748 | + | |
| 6749 | + | |
6720 | 6750 | | |
6721 | 6751 | | |
6722 | 6752 | | |
| 6753 | + | |
| 6754 | + | |
6723 | 6755 | | |
6724 | 6756 | | |
6725 | 6757 | | |
| 6758 | + | |
| 6759 | + | |
6726 | 6760 | | |
6727 | 6761 | | |
6728 | 6762 | | |
| 6763 | + | |
| 6764 | + | |
6729 | 6765 | | |
6730 | 6766 | | |
6731 | 6767 | | |
| 6768 | + | |
| 6769 | + | |
6732 | 6770 | | |
6733 | 6771 | | |
6734 | 6772 | | |
| 6773 | + | |
| 6774 | + | |
6735 | 6775 | | |
6736 | 6776 | | |
6737 | 6777 | | |
| 6778 | + | |
| 6779 | + | |
6738 | 6780 | | |
6739 | 6781 | | |
6740 | 6782 | | |
| 6783 | + | |
| 6784 | + | |
6741 | 6785 | | |
6742 | 6786 | | |
6743 | 6787 | | |
| 6788 | + | |
| 6789 | + | |
6744 | 6790 | | |
6745 | 6791 | | |
6746 | 6792 | | |
| 6793 | + | |
| 6794 | + | |
6747 | 6795 | | |
6748 | 6796 | | |
6749 | 6797 | | |
| 6798 | + | |
| 6799 | + | |
6750 | 6800 | | |
6751 | 6801 | | |
6752 | 6802 | | |
| 6803 | + | |
| 6804 | + | |
6753 | 6805 | | |
6754 | 6806 | | |
6755 | 6807 | | |
| 6808 | + | |
| 6809 | + | |
6756 | 6810 | | |
6757 | 6811 | | |
6758 | 6812 | | |
| 6813 | + | |
| 6814 | + | |
6759 | 6815 | | |
6760 | 6816 | | |
6761 | 6817 | | |
| 6818 | + | |
| 6819 | + | |
6762 | 6820 | | |
6763 | 6821 | | |
6764 | 6822 | | |
| 6823 | + | |
| 6824 | + | |
6765 | 6825 | | |
6766 | 6826 | | |
6767 | 6827 | | |
| 6828 | + | |
| 6829 | + | |
6768 | 6830 | | |
6769 | 6831 | | |
6770 | 6832 | | |
| 6833 | + | |
| 6834 | + | |
6771 | 6835 | | |
6772 | 6836 | | |
6773 | 6837 | | |
| 6838 | + | |
| 6839 | + | |
6774 | 6840 | | |
6775 | 6841 | | |
6776 | 6842 | | |
| 6843 | + | |
| 6844 | + | |
6777 | 6845 | | |
6778 | 6846 | | |
6779 | 6847 | | |
| 6848 | + | |
| 6849 | + | |
6780 | 6850 | | |
6781 | 6851 | | |
6782 | 6852 | | |
| 6853 | + | |
| 6854 | + | |
6783 | 6855 | | |
6784 | 6856 | | |
6785 | 6857 | | |
| 6858 | + | |
| 6859 | + | |
6786 | 6860 | | |
6787 | 6861 | | |
6788 | 6862 | | |
| 6863 | + | |
| 6864 | + | |
6789 | 6865 | | |
6790 | 6866 | | |
6791 | 6867 | | |
| 6868 | + | |
| 6869 | + | |
6792 | 6870 | | |
6793 | 6871 | | |
6794 | 6872 | | |
6795 | 6873 | | |
| 6874 | + | |
| 6875 | + | |
6796 | 6876 | | |
6797 | 6877 | | |
6798 | 6878 | | |
| 6879 | + | |
| 6880 | + | |
6799 | 6881 | | |
6800 | 6882 | | |
6801 | 6883 | | |
| 6884 | + | |
| 6885 | + | |
6802 | 6886 | | |
6803 | 6887 | | |
6804 | 6888 | | |
| |||
10017 | 10101 | | |
10018 | 10102 | | |
10019 | 10103 | | |
| 10104 | + | |
| 10105 | + | |
| 10106 | + | |
| 10107 | + | |
| 10108 | + | |
| 10109 | + | |
| 10110 | + | |
| 10111 | + | |
| 10112 | + | |
| 10113 | + | |
| 10114 | + | |
| 10115 | + | |
| 10116 | + | |
10020 | 10117 | | |
10021 | 10118 | | |
10022 | 10119 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
149 | 149 | | |
150 | 150 | | |
151 | 151 | | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
152 | 191 | | |
153 | 192 | | |
154 | 193 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
574 | 574 | | |
575 | 575 | | |
576 | 576 | | |
577 | | - | |
| 577 | + | |
578 | 578 | | |
579 | 579 | | |
580 | 580 | | |
581 | 581 | | |
582 | | - | |
583 | 582 | | |
584 | 583 | | |
585 | 584 | | |
586 | 585 | | |
587 | | - | |
| 586 | + | |
588 | 587 | | |
589 | 588 | | |
590 | 589 | | |
| |||
602 | 601 | | |
603 | 602 | | |
604 | 603 | | |
605 | | - | |
| 604 | + | |
606 | 605 | | |
607 | 606 | | |
608 | 607 | | |
609 | | - | |
610 | 608 | | |
611 | | - | |
| 609 | + | |
612 | 610 | | |
613 | 611 | | |
614 | 612 | | |
615 | | - | |
| 613 | + | |
616 | 614 | | |
617 | 615 | | |
618 | 616 | | |
619 | | - | |
| 617 | + | |
620 | 618 | | |
621 | 619 | | |
622 | 620 | | |
| |||
0 commit comments