mirror of
https://github.com/rowboatlabs/rowboat.git
synced 2026-07-12 21:02:17 +02:00
- env: GITHUB_OAUTH_CLIENT_ID (device flow enabled on the Rowboat OAuth app;
overridable via ROWBOAT_GITHUB_CLIENT_ID)
- packager (§4.4): allowlist-only .rowboat-app ZIP (yazl), sorted entries,
symlink skip, sha256
- github-auth (§10): device-code start/poll, identity fetch, token stored
0600 with safeStorage encryption injected from main (core stays
electron-free); githubAuth:* IPC + external open of the verification page
- registry client (§9.2): unauthenticated tarball index with 5-min cache and
stale fallback, raw-record resolve, substring search, quota-free
latestManifest via release-asset redirect with name-mismatch guard
- registry repo contents (docs/apps-registry): record JSON schema +
validate-and-merge Action implementing §9.3 checks 1-7 with rejected:<code>
comments and per-name concurrency
- fix: host-api copilot-run adapted to dev's ModelSelection {provider,model}
(this is the same fix dev needs for Ramnique's packaging break)
- pnpm 11: blockExoticSubdeps=false (electron-forge has a git subdep)
68 lines
1.9 KiB
JSON
68 lines
1.9 KiB
JSON
{
|
|
"name": "@x/core",
|
|
"private": true,
|
|
"type": "module",
|
|
"main": "./dist/index.js",
|
|
"types": "./dist/index.d.ts",
|
|
"scripts": {
|
|
"build": "rm -rf dist && tsc -p tsconfig.build.json",
|
|
"dev": "tsc -w -p tsconfig.build.json",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"inspect-turn": "node dist/turns/inspect-cli.js",
|
|
"inspect": "node dist/turns/inspect-cli.js"
|
|
},
|
|
"dependencies": {
|
|
"@agentclientprotocol/claude-agent-acp": "^0.55.0",
|
|
"@agentclientprotocol/codex-acp": "^1.1.0",
|
|
"@agentclientprotocol/sdk": "^1.1.0",
|
|
"@ai-sdk/anthropic": "^2.0.63",
|
|
"@ai-sdk/google": "^2.0.53",
|
|
"@ai-sdk/openai": "^2.0.91",
|
|
"@ai-sdk/openai-compatible": "^1.0.33",
|
|
"@ai-sdk/provider": "^2.0.1",
|
|
"@composio/core": "^0.6.0",
|
|
"@google-cloud/local-auth": "^3.0.1",
|
|
"@modelcontextprotocol/sdk": "^1.25.1",
|
|
"@openrouter/ai-sdk-provider": "^1.2.6",
|
|
"@react-pdf/renderer": "^4.3.2",
|
|
"@types/react": "^19.2.7",
|
|
"@x/shared": "workspace:*",
|
|
"ai": "^5.0.133",
|
|
"awilix": "^12.0.5",
|
|
"baileys": "7.0.0-rc13",
|
|
"chokidar": "^4.0.3",
|
|
"cors": "^2.8.6",
|
|
"cron-parser": "^5.5.0",
|
|
"express": "^5.2.1",
|
|
"glob": "^13.0.0",
|
|
"google-auth-library": "^10.5.0",
|
|
"googleapis": "^169.0.0",
|
|
"isomorphic-git": "^1.29.0",
|
|
"mammoth": "^1.11.0",
|
|
"node-html-markdown": "^2.0.0",
|
|
"ollama-ai-provider-v2": "^1.5.4",
|
|
"openid-client": "^6.8.1",
|
|
"papaparse": "^5.5.3",
|
|
"pdf-parse": "^2.4.5",
|
|
"posthog-node": "^4.18.0",
|
|
"qrcode": "^1.5.4",
|
|
"react": "^19.2.3",
|
|
"xlsx": "^0.18.5",
|
|
"yaml": "^2.8.2",
|
|
"yauzl": "^3.4.0",
|
|
"yazl": "^3.3.1",
|
|
"zod": "^4.2.1"
|
|
},
|
|
"devDependencies": {
|
|
"@types/cors": "^2.8.19",
|
|
"@types/express": "^5.0.6",
|
|
"@types/node": "^25.0.3",
|
|
"@types/papaparse": "^5.5.2",
|
|
"@types/pdf-parse": "^1.1.5",
|
|
"@types/qrcode": "^1.5.6",
|
|
"@types/yauzl": "^3.4.0",
|
|
"@types/yazl": "^3.3.1",
|
|
"vitest": "catalog:"
|
|
}
|
|
}
|