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`.
87 lines
3.0 KiB
JSON
87 lines
3.0 KiB
JSON
{
|
|
"name": "@oomol-lab/open-connector",
|
|
"version": "0.0.0-development",
|
|
"private": true,
|
|
"workspaces": [
|
|
"web"
|
|
],
|
|
"type": "module",
|
|
"scripts": {
|
|
"postinstall": "node scripts/ensure-generated.ts",
|
|
"dev": "node scripts/dev-local.ts",
|
|
"build": "npm run typecheck",
|
|
"build:web": "npm run build --workspace web",
|
|
"build:binary": "npm run generate:catalog && npm run build:web && bun scripts/build-binary.ts",
|
|
"dev:cloudflare": "npm run generate:catalog && npm run build:web && node scripts/copy-catalog-assets.ts && wrangler dev --config wrangler.local.jsonc",
|
|
"deploy:cloudflare": "npm run generate:catalog && npm run build:web && node scripts/copy-catalog-assets.ts && wrangler deploy --config wrangler.local.jsonc --minify",
|
|
"start": "node scripts/ensure-generated.ts && node src/server/index.ts",
|
|
"test": "vitest run",
|
|
"typecheck": "npm run generate:registry && node scripts/typecheck.ts",
|
|
"generate:registry": "node scripts/generate-provider-registry.ts",
|
|
"generate:catalog": "node scripts/generate-catalog.ts",
|
|
"runtime:migrate": "node scripts/runtime-data.ts migrate",
|
|
"runtime:data": "node scripts/runtime-data.ts",
|
|
"lint": "oxlint .",
|
|
"lint:fix": "oxlint . --fix",
|
|
"format": "oxfmt --check .",
|
|
"format:fix": "oxfmt .",
|
|
"fix": "npm run lint:fix && npm run format:fix",
|
|
"fix-check": "npm run fix && npm run typecheck",
|
|
"build:runtime": "npm run generate:catalog && node scripts/build-runtime-package.ts"
|
|
},
|
|
"dependencies": {
|
|
"@aws-sdk/client-s3": "^3.1111.0",
|
|
"@cfworker/json-schema": "^4.1.1",
|
|
"@hono/node-server": "^2.0.10",
|
|
"@modelcontextprotocol/client": "^2.0.0",
|
|
"@modelcontextprotocol/server": "^2.0.0",
|
|
"@scalar/hono-api-reference": "^0.11.7",
|
|
"ali-oss": "^6.23.0",
|
|
"busboy": "^1.6.0",
|
|
"fast-xml-builder": "^1.3.0",
|
|
"fast-xml-parser": "^5.10.1",
|
|
"fast-xml-validator": "^1.4.1",
|
|
"hono": "^4.13.5",
|
|
"imapflow": "^1.7.8",
|
|
"jose": "^6.2.3",
|
|
"mailparser": "^3.9.28",
|
|
"mdast-util-from-markdown": "^2.0.3",
|
|
"mdast-util-gfm": "^3.1.0",
|
|
"mdast-util-to-markdown": "^2.1.2",
|
|
"micromark-extension-gfm": "^3.0.0",
|
|
"minisearch": "^7.2.0",
|
|
"mqtt": "^5.15.2",
|
|
"nodemailer": "^9.1.1",
|
|
"pg": "^8.23.0",
|
|
"pino": "^10.3.1",
|
|
"rss-parser": "^3.13.0",
|
|
"yaml": "^2.9.0",
|
|
"zod": "^4.6.5"
|
|
},
|
|
"devDependencies": {
|
|
"@electric-sql/pglite": "^0.5.5",
|
|
"@electric-sql/pglite-socket": "^0.2.8",
|
|
"@hyrious/configs": "^0.1.6",
|
|
"@types/ali-oss": "^6.23.3",
|
|
"@types/bun": "1.4.0",
|
|
"@types/busboy": "^1.5.4",
|
|
"@types/mailparser": "^3.4.6",
|
|
"@types/mdast": "^4.0.4",
|
|
"@types/node": "^26.0.1",
|
|
"@types/nodemailer": "^8.0.1",
|
|
"@types/pg": "^8.23.1",
|
|
"oxfmt": "^0.56.0",
|
|
"oxlint": "^1.71.0",
|
|
"pino-pretty": "^13.1.3",
|
|
"typescript": "^7.0.2",
|
|
"vitest": "^4.1.11",
|
|
"wrangler": "^4.131.2"
|
|
},
|
|
"allowScripts": {
|
|
"[email protected]": true,
|
|
"[email protected]": true,
|
|
"[email protected]": true,
|
|
"[email protected]": true
|
|
}
|
|
}
|