mirror of
https://github.com/cline/cline.git
synced 2026-09-21 13:21:23 +08:00
* feat(hub): add connector configure path and share catalog via @cline/shared Add connector.channels/configure/delete_config Hub commands that persist connector settings to disk without starting connector processes or calling provider auth APIs. This means settings (including tokens) are saved as-is without verification; callers are responsible for supplying valid values. Shared catalog and platform definitions: - Move ConnectorCatalogEntry, CONNECTOR_CATALOG, listConnectorCatalog, and all ConnectorPlatformDef/FieldDef/SecurityDef types + CONNECTOR_PLATFORMS into sdk/packages/shared/src/connectors/platforms.ts - Export everything from @cline/shared index so CLI and Hub use the same definitions without duplication - Reduce apps/cli/src/connectors/catalog.ts and apps/cli/src/wizards/connect/platforms.ts to thin re-export shims that preserve existing CLI import paths New Hub connector handlers (sdk/packages/core): - connector-handlers.ts: handles connector.channels (list available/active/ configured), connector.configure (validate fields and write settings.json under ~/.cline/data/connectors/), connector.delete_config (remove entry and clean up empty file) - Settings are stored as ConnectorSettingsFile (version 1) at ~/.cline/data/connectors/settings.json; reads are lenient/defensive - Wire handlers into hub-server-transport.ts dispatch switch - connector-handlers.test.ts: unit tests for configure, channels, and delete_config covering field validation, conditional fields, security constraints, and settings round-trips Hub WebSocket auth helpers (hub-websocket-server.ts): - Extract isLocalHubHostName / isLocalHubOrigin as named, tested exports - Allow unauthenticated WebSocket upgrades from local origins (localhost, 127.0.0.1, ::1) so the Hub UI can connect without an auth token - hub-websocket-server.test.ts: extend tests to cover new local-origin logic Add connector.channels, connector.configure, connector.delete_config to HubCommandName union in sdk/packages/shared/src/hub.ts * apply feedback * export connector settings json path * apply feedback from robin