mirror of
https://github.com/getpaseo/paseo.git
synced 2026-10-30 21:23:04 +00:00
* fix(server): respect environment proxies across daemon traffic Install proxy routing at daemon and plugin process startup, with a separate HTTP agent for outbound WebSockets. Always exempt loopback so local provider bridges remain reachable. * test(server): run usage source regressions in CI * fix(server): validate proxy settings without blocking startup Normalize scheme-less proxies and share HTTP-only validation across fetch and WebSockets. Record ignored variables without credentials in the daemon log. Separate built-in and directory plugin regressions through a typed fixture. * refactor(server): treat ignored proxy variables as unset * fix(server): read Windows proxy environment entries once * fix(server): apply proxy policy to connected host links * test(server): isolate proxy fixture credential directories * fix(server): keep proxy routing and authentication consistent Normalize Windows environment names and wildcard bypass rules at the network boundary. Compare bypass ports numerically and keep Basic proxy credentials on the CONNECT pool, including empty credential fields.
169 lines
9.0 KiB
JSON
169 lines
9.0 KiB
JSON
{
|
|
"name": "@getpaseo/server",
|
|
"version": "0.14.0",
|
|
"description": "Paseo backend server",
|
|
"files": [
|
|
"dist/server",
|
|
"dist/src",
|
|
"dist/scripts",
|
|
"!dist/**/*.map",
|
|
"README.md",
|
|
".env.example"
|
|
],
|
|
"type": "module",
|
|
"types": "./dist/server/server/exports.d.ts",
|
|
"exports": {
|
|
".": {
|
|
"types": "./dist/server/server/exports.d.ts",
|
|
"source": "./src/server/exports.ts",
|
|
"default": "./dist/server/server/exports.js"
|
|
},
|
|
"./utils/tool-call-parsers": {
|
|
"types": "./dist/server/utils/tool-call-parsers.d.ts",
|
|
"source": "./src/utils/tool-call-parsers.ts",
|
|
"default": "./dist/server/utils/tool-call-parsers.js"
|
|
},
|
|
"./agent-hooks": {
|
|
"types": "./dist/server/terminal/agent-hooks/provider-registry.d.ts",
|
|
"source": "./src/terminal/agent-hooks/provider-registry.ts",
|
|
"default": "./dist/server/terminal/agent-hooks/provider-registry.js"
|
|
},
|
|
"./daemon-control": {
|
|
"types": "./dist/server/server/daemon-instance.d.ts",
|
|
"source": "./src/server/daemon-instance.ts",
|
|
"default": "./dist/server/server/daemon-instance.js"
|
|
},
|
|
"./configuration": {
|
|
"types": "./dist/server/server/config.d.ts",
|
|
"source": "./src/server/config.ts",
|
|
"default": "./dist/server/server/config.js"
|
|
},
|
|
"./process": {
|
|
"types": "./dist/server/utils/spawn.d.ts",
|
|
"source": "./src/utils/spawn.ts",
|
|
"default": "./dist/server/utils/spawn.js"
|
|
},
|
|
"./auth": {
|
|
"types": "./dist/server/server/auth.d.ts",
|
|
"source": "./src/server/auth.ts",
|
|
"default": "./dist/server/server/auth.js"
|
|
},
|
|
"./pairing": {
|
|
"types": "./dist/server/server/pairing-offer.d.ts",
|
|
"source": "./src/server/pairing-offer.ts",
|
|
"default": "./dist/server/server/pairing-offer.js"
|
|
},
|
|
"./agent-activity": {
|
|
"types": "./dist/server/server/agent/activity-curator.d.ts",
|
|
"source": "./src/server/agent/activity-curator.ts",
|
|
"default": "./dist/server/server/agent/activity-curator.js"
|
|
},
|
|
"./agent-response": {
|
|
"types": "./dist/server/server/agent/agent-response-loop.d.ts",
|
|
"source": "./src/server/agent/agent-response-loop.ts",
|
|
"default": "./dist/server/server/agent/agent-response-loop.js"
|
|
}
|
|
},
|
|
"publishConfig": {
|
|
"access": "public"
|
|
},
|
|
"scripts": {
|
|
"dev": "cross-env PASEO_NODE_ENV=development node --import tsx scripts/dev-runner.ts",
|
|
"dev:tsx": "cross-env PASEO_NODE_ENV=development tsx watch --ignore '**/*.timestamp-*' scripts/dev-runner.ts",
|
|
"clean": "node ../../scripts/clean-package-dist.mjs",
|
|
"build": "npm run build:lib && npm run build:scripts",
|
|
"build:clean": "npm run clean && npm run build",
|
|
"build:lib": "tsc -p tsconfig.server.json --incremental false && node scripts/build-opencode-bridge-plugin.mjs && node scripts/build-terminal-worker.mjs && node -e \"const fs=require('node:fs'); fs.mkdirSync('dist/server/server/speech/providers/local/sherpa/assets',{recursive:true}); fs.copyFileSync('src/server/speech/providers/local/sherpa/assets/silero_vad.onnx','dist/server/server/speech/providers/local/sherpa/assets/silero_vad.onnx'); fs.cpSync('src/terminal/shell-integration','dist/server/terminal/shell-integration',{recursive:true}); fs.cpSync('src/terminal/shell-integration','dist/src/terminal/shell-integration',{recursive:true}); fs.copyFileSync('src/terminal/terminal-ts-loader.mjs','dist/server/terminal/terminal-ts-loader.mjs'); fs.rmSync('dist/server/skills',{recursive:true,force:true}); fs.cpSync('../../skills','dist/server/skills',{recursive:true}); fs.rmSync('dist/server/builtin-plugins',{recursive:true,force:true}); fs.cpSync('../../plugins','dist/server/builtin-plugins',{recursive:true,filter:(source)=>!source.split(require('node:path').sep).some((segment)=>segment==='node_modules'||segment==='test')&&!/\\.(test|spec)\\.[cm]?[jt]sx?$/.test(source)&&!source.endsWith('.tsbuildinfo')});\"",
|
|
"build:scripts": "tsc -p tsconfig.scripts.json --incremental false && node -e \"const fs=require('node:fs'); fs.mkdirSync('dist/scripts',{recursive:true}); fs.copyFileSync('scripts/mcp-stdio-socket-bridge-cli.mjs','dist/scripts/mcp-stdio-socket-bridge-cli.mjs');\"",
|
|
"prepack": "npm run build:clean && npm --prefix ../.. run build:daemon-web-ui",
|
|
"start": "node dist/scripts/supervisor-entrypoint.js",
|
|
"typecheck": "tsgo -p tsconfig.server.typecheck.json --noEmit",
|
|
"generate:config-schema": "tsx scripts/generate-config-schema.ts",
|
|
"measure:agent-tools": "tsx scripts/measure-agent-tools-context.ts",
|
|
"measure:git-observation": "tsx scripts/measure-git-observation.ts",
|
|
"measure:file-observer": "tsx scripts/measure-file-observer.ts",
|
|
"analyze:observer-metrics": "tsx scripts/analyze-observer-metrics.ts",
|
|
"repro:file-observer-teardown": "tsx scripts/reproduce-file-observer-teardown.ts",
|
|
"speech:models": "tsx scripts/list-speech-models.ts",
|
|
"speech:download": "tsx scripts/download-speech-models.ts",
|
|
"speech:transcribe:local": "tsx scripts/transcribe-local-wav.ts",
|
|
"test": "npm run test:unit && npm run test:integration",
|
|
"test:unit": "vitest run --fileParallelism --exclude \"**/*.e2e.test.ts\"",
|
|
"test:integration": "vitest run --maxWorkers=1 src/server/git-filename-diffs.e2e.test.ts src/server/daemon-e2e/checkout-diff-content.e2e.test.ts src/server/daemon-e2e/filesystem.e2e.test.ts src/server/daemon-e2e/file-download.e2e.test.ts src/server/daemon-e2e/cli-logs-follow.e2e.test.ts src/server/creation/creation.e2e.test.ts src/server/daemon-e2e/terminal-workspace-sdk.e2e.test.ts src/server/daemon-e2e/terminal-worker-lifecycle.e2e.test.ts src/server/workspace-create-worktree-source.e2e.test.ts src/server/daemon-e2e/models.e2e.test.ts src/server/daemon-e2e/live-preferences.e2e.test.ts src/server/daemon-e2e/oversized-message.e2e.test.ts src/server/agent/model-catalog.e2e.test.ts src/server/plugins/plugin-paseo-api.e2e.test.ts src/server/plugins/usage-sources.e2e.test.ts src/server/plugins/lifecycle.e2e.test.ts src/server/connected-hosts/hosts.e2e.test.ts src/server/owned-subscriptions.e2e.test.ts && vitest run --maxWorkers=1 src/server/agent/providers/omp/history.e2e.test.ts src/server/daemon-e2e/git-operations.e2e.test.ts src/server/session.create-agent-worktree-autoarchive.e2e.test.ts src/server/agent/providers/opencode-bridge.local.e2e.test.ts src/server/daemon-e2e/relay-transport.e2e.test.ts -t \"merges into|creates a worktree and auto-archives both|versioned runtime|oversized attachments|connected hosts|password-protected daemon refuses|replays selected OMP history\"",
|
|
"test:hub-cli-contract": "vitest run --maxWorkers=1 src/server/hub/hub-cli-contract.test.ts",
|
|
"test:integration:all": "npm run test:e2e",
|
|
"test:integration:real": "vitest run real.e2e.test.ts",
|
|
"test:integration:local": "vitest run local.e2e.test.ts",
|
|
"test:watch": "vitest",
|
|
"test:ui": "vitest --ui",
|
|
"test:e2e": "vitest run e2e.test.ts --maxWorkers=1 --exclude \"**/*.real.e2e.test.ts\" --exclude \"**/*.local.e2e.test.ts\"",
|
|
"test:e2e:all": "vitest run e2e.test.ts --maxWorkers=1",
|
|
"test:e2e:real": "npm run test:integration:real",
|
|
"test:e2e:local": "npm run test:integration:local",
|
|
"test:e2e:relay:live": "cross-env RUN_LIVE_RELAY_E2E=1 vitest run src/server/daemon-e2e/live-relay.real.e2e.test.ts --maxWorkers=1",
|
|
"test:e2e:ui": "vitest --ui e2e.test.ts"
|
|
},
|
|
"dependencies": {
|
|
"@agentclientprotocol/sdk": "^0.17.1",
|
|
"@anthropic-ai/claude-agent-sdk": "0.3.246",
|
|
"@anthropic-ai/sdk": "^0.104.2",
|
|
"@getpaseo/client": "0.14.0",
|
|
"@getpaseo/highlight": "0.14.0",
|
|
"@getpaseo/plugin": "0.14.0",
|
|
"@getpaseo/protocol": "0.14.0",
|
|
"@getpaseo/relay": "0.14.0",
|
|
"@isaacs/ttlcache": "^2.1.4",
|
|
"@modelcontextprotocol/sdk": "1.29.0",
|
|
"@opencode-ai/sdk": "1.14.46",
|
|
"@opencode/client": "2.0.10",
|
|
"@xterm/headless": "^6.0.0",
|
|
"ai": "5.0.78",
|
|
"ajv": "^8.20.0",
|
|
"bcryptjs": "^3.0.3",
|
|
"dotenv": "^17.2.3",
|
|
"esbuild": "^0.25.12",
|
|
"express": "^4.18.2",
|
|
"fast-deep-equal": "^3.1.3",
|
|
"https-proxy-agent": "^7.0.6",
|
|
"lru-cache": "^11.5.1",
|
|
"markdown-it": "^10.0.0",
|
|
"mnemonic-id": "^3.2.7",
|
|
"node-pty": "1.2.0-beta.15",
|
|
"openai": "^6.44.0",
|
|
"p-limit": "^7.3.0",
|
|
"p-memoize": "^8.0.0",
|
|
"p-throttle": "^8.1.0",
|
|
"pino": "^10.2.0",
|
|
"pino-pretty": "^13.1.3",
|
|
"qrcode": "^1.5.4",
|
|
"rotating-file-stream": "^3.2.9",
|
|
"semver": "^7.8.5",
|
|
"sherpa-onnx-node": "1.12.28",
|
|
"strip-ansi": "^7.1.2",
|
|
"tree-kill": "^1.2.2",
|
|
"typescript": "^5.9.3",
|
|
"undici": "^7.24.8",
|
|
"uuid": "^9.0.1",
|
|
"which": "^5.0.0",
|
|
"ws": "^8.14.2",
|
|
"yaml": "2.9.1",
|
|
"zod": "^4.4.3"
|
|
},
|
|
"devDependencies": {
|
|
"@playwright/test": "^1.56.1",
|
|
"@types/express": "^4.17.20",
|
|
"@types/markdown-it": "^14.2.0",
|
|
"@types/node": "^20.9.0",
|
|
"@types/qrcode": "^1.5.6",
|
|
"@types/uuid": "^9.0.7",
|
|
"@types/ws": "^8.5.8",
|
|
"@vitest/ui": "^4.1.6",
|
|
"cross-env": "^10.1.0",
|
|
"tsx": "^4.6.0",
|
|
"vitest": "^4.1.6"
|
|
},
|
|
"overrides": {
|
|
"lightningcss": "1.30.1"
|
|
}
|
|
}
|