mirror of
https://gh-proxy.org/https://github.com/klinsmaya/open-connector.git
synced 2026-11-08 01:16:52 +08:00
## Summary Add OOMOL cloud OAuth as a provider authorization source. Users can save an encrypted project API key, select a cloud provider configuration, authorize named connections, and run their actions and proxy requests through SaaS. Existing connections retain their source when the provider default changes, and third-party credentials remain in SaaS. - Implement project discovery, OAuth request synchronization, remote execution, and persistent cleanup of disconnected cloud accounts. Add SQLite, PostgreSQL, and D1 migrations and storage support, with instance reset and maintenance tooling. - Add Console project and authorization settings, localized errors, disconnect notifications, and styled OAuth completion pages that close after successful authorization. Align local development callback origins and proxy routes. - Improve safe request diagnostics and retry transient project health-check failures once. Execution requests are not automatically replayed. - Group storage implementations by database backend, share guarded HTTP requests with Marketplace, update Zod to 4.6.5, and load provider icons from the public catalog. - Document setup, maintenance, and the manual acceptance checklist. ## Validation - `npm run fix-check` passed. - `npm run build:web` passed. - Latest focused regression run: 346 tests passed across 33 files covering Console, SaaS project/client/routes, OAuth completion, and guarded HTTP requests. - Earlier implementation validation included the broader runtime/storage suites and a real PostgreSQL integration run. Full deployed action/proxy, cleanup recovery, and D1 maintenance acceptance remain documented manual checks; they are not claimed as completed by the unit tests. ## Deployment notes Apply migrations `0014_saas_project` and `0015_saas_cleanup_runtime`, configure encryption and an explicit `OOMOL_CONNECT_ORIGIN`, and enable the relevant cleanup scheduling. The remote SaaS deployment must support the project OAuth and remote execution APIs described in `docs/saas-oauth.md`.
51 lines
1.6 KiB
JSON
51 lines
1.6 KiB
JSON
{
|
|
"$schema": "node_modules/wrangler/config-schema.json",
|
|
"name": "open-connector",
|
|
"main": "src/server/cloudflare.ts",
|
|
"compatibility_date": "2026-07-02",
|
|
"compatibility_flags": ["nodejs_compat"],
|
|
"cache": {
|
|
"enabled": true,
|
|
},
|
|
"assets": {
|
|
"directory": "dist/web",
|
|
"binding": "ASSETS",
|
|
"not_found_handling": "single-page-application",
|
|
"run_worker_first": ["/api/*", "/v1/*", "/mcp*", "/oauth/*", "/docs", "/docs/*", "/openapi.json", "/health"],
|
|
},
|
|
"triggers": { "crons": ["* * * * *"] },
|
|
"observability": {
|
|
"enabled": true,
|
|
"logs": {
|
|
"enabled": true,
|
|
"invocation_logs": true,
|
|
"persist": true,
|
|
},
|
|
},
|
|
"d1_databases": [
|
|
{
|
|
"binding": "DB",
|
|
"database_name": "open-connector",
|
|
"database_id": "<your-d1-database-id>",
|
|
"migrations_dir": "migrations",
|
|
},
|
|
],
|
|
// Transit-file storage — enable EXACTLY ONE of Option A or Option B.
|
|
// Both use the binding name TRANSIT_FILES; Wrangler rejects two bindings with the
|
|
// same name, so switching to Option B means commenting out Option A's block below.
|
|
//
|
|
// Option A: R2 backend (default). Comment out this whole block to use Option B.
|
|
"r2_buckets": [
|
|
{
|
|
"binding": "TRANSIT_FILES",
|
|
"bucket_name": "<your-bucket-name>",
|
|
},
|
|
],
|
|
// Option B: KV backend (no credit card required; max file size 25 MiB).
|
|
// To use it: comment out the r2_buckets block above, then uncomment all three lines below.
|
|
// "kv_namespaces": [
|
|
// { "binding": "TRANSIT_FILES", "id": "<your-kv-namespace-id>" },
|
|
// ],
|
|
// "vars": { "TRANSIT_FILES_BACKEND": "kv" },
|
|
}
|