release: v2.75.0

https://claude.ai/code/session_013BwmqG3NuwwZY3vsUb4Y9Y
This commit is contained in:
github-actions[bot] 2026-04-17 17:26:31 +00:00
parent dc0db3868a
commit 8f160677b7
No known key found for this signature in database
18 changed files with 154 additions and 140 deletions

View file

@ -6,6 +6,13 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
## [Unreleased]
## [2.75.0] - 2026-04-17
### Added
- **proxy**: per-family provider priority system with 429 fallback — Gemini/Gemma prefer `google-gemini-cli`, GLM routes to `zai`, Kimi to `kimi-coding`, MiniMax to `minimax`; global fallback chain (`opencode → opencode-go → openrouter → ollama-cloud`) applies to all families; rate-limited providers are automatically skipped at runtime
- **proxy**: `settings.json` `proxy.providerPriority` overrides per-family defaults
- **tui**: "Proxy priorities" settings submenu dynamically generated from all known model families for configuring preferred provider per family
## [2.74.0] - 2026-04-14
### Added
@ -2893,7 +2900,8 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
### Changed
- License updated to MIT
[Unreleased]: https://github.com/sf-build/sf-2/compare/v2.74.0...HEAD
[Unreleased]: https://github.com/sf-build/sf-2/compare/v2.75.0...HEAD
[2.75.0]: https://github.com/sf-build/sf-2/compare/v2.74.0...v2.75.0
[2.74.0]: https://github.com/sf-build/sf-2/compare/v2.73.1...v2.74.0
[2.73.1]: https://github.com/sf-build/sf-2/compare/v2.73.0...v2.73.1
[2.73.0]: https://github.com/sf-build/sf-2/compare/v2.72.0...v2.73.0

View file

@ -1,6 +1,6 @@
{
"name": "@singularity-forge/engine-darwin-arm64",
"version": "2.74.0",
"version": "2.75.0",
"description": "SF native engine binary for macOS ARM64",
"os": [
"darwin"

View file

@ -1,6 +1,6 @@
{
"name": "@singularity-forge/engine-darwin-x64",
"version": "2.74.0",
"version": "2.75.0",
"description": "SF native engine binary for macOS Intel",
"os": [
"darwin"

View file

@ -1,6 +1,6 @@
{
"name": "@singularity-forge/engine-linux-arm64-gnu",
"version": "2.74.0",
"version": "2.75.0",
"description": "SF native engine binary for Linux ARM64 (glibc)",
"os": [
"linux"

View file

@ -1,6 +1,6 @@
{
"name": "@singularity-forge/engine-linux-x64-gnu",
"version": "2.74.0",
"version": "2.75.0",
"description": "SF native engine binary for Linux x64 (glibc)",
"os": [
"linux"

View file

@ -1,6 +1,6 @@
{
"name": "@singularity-forge/engine-win32-x64-msvc",
"version": "2.74.0",
"version": "2.75.0",
"description": "SF native engine binary for Windows x64 (MSVC)",
"os": [
"win32"

219
package-lock.json generated
View file

@ -1,12 +1,12 @@
{
"name": "sf-run",
"version": "2.74.0",
"version": "2.75.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "sf-run",
"version": "2.74.0",
"version": "2.75.0",
"hasInstallScript": true,
"license": "MIT",
"workspaces": [
@ -900,7 +900,6 @@
"integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@babel/code-frame": "^7.29.0",
"@babel/generator": "^7.29.0",
@ -2516,7 +2515,6 @@
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.6.tgz",
"integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==",
"license": "MIT",
"peer": true,
"dependencies": {
"@octokit/auth-token": "^6.0.0",
"@octokit/graphql": "^9.0.3",
@ -2754,7 +2752,8 @@
"optional": true,
"os": [
"android"
]
],
"peer": true
},
"node_modules/@rollup/rollup-android-arm64": {
"version": "4.59.0",
@ -2768,7 +2767,8 @@
"optional": true,
"os": [
"android"
]
],
"peer": true
},
"node_modules/@rollup/rollup-darwin-arm64": {
"version": "4.59.0",
@ -2782,7 +2782,8 @@
"optional": true,
"os": [
"darwin"
]
],
"peer": true
},
"node_modules/@rollup/rollup-darwin-x64": {
"version": "4.59.0",
@ -2796,7 +2797,8 @@
"optional": true,
"os": [
"darwin"
]
],
"peer": true
},
"node_modules/@rollup/rollup-freebsd-arm64": {
"version": "4.59.0",
@ -2810,7 +2812,8 @@
"optional": true,
"os": [
"freebsd"
]
],
"peer": true
},
"node_modules/@rollup/rollup-freebsd-x64": {
"version": "4.59.0",
@ -2824,7 +2827,8 @@
"optional": true,
"os": [
"freebsd"
]
],
"peer": true
},
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
"version": "4.59.0",
@ -2838,7 +2842,8 @@
"optional": true,
"os": [
"linux"
]
],
"peer": true
},
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
"version": "4.59.0",
@ -2852,7 +2857,8 @@
"optional": true,
"os": [
"linux"
]
],
"peer": true
},
"node_modules/@rollup/rollup-linux-arm64-gnu": {
"version": "4.59.0",
@ -2866,7 +2872,8 @@
"optional": true,
"os": [
"linux"
]
],
"peer": true
},
"node_modules/@rollup/rollup-linux-arm64-musl": {
"version": "4.59.0",
@ -2880,7 +2887,8 @@
"optional": true,
"os": [
"linux"
]
],
"peer": true
},
"node_modules/@rollup/rollup-linux-loong64-gnu": {
"version": "4.59.0",
@ -2894,7 +2902,8 @@
"optional": true,
"os": [
"linux"
]
],
"peer": true
},
"node_modules/@rollup/rollup-linux-loong64-musl": {
"version": "4.59.0",
@ -2908,7 +2917,8 @@
"optional": true,
"os": [
"linux"
]
],
"peer": true
},
"node_modules/@rollup/rollup-linux-ppc64-gnu": {
"version": "4.59.0",
@ -2922,7 +2932,8 @@
"optional": true,
"os": [
"linux"
]
],
"peer": true
},
"node_modules/@rollup/rollup-linux-ppc64-musl": {
"version": "4.59.0",
@ -2936,7 +2947,8 @@
"optional": true,
"os": [
"linux"
]
],
"peer": true
},
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
"version": "4.59.0",
@ -2950,7 +2962,8 @@
"optional": true,
"os": [
"linux"
]
],
"peer": true
},
"node_modules/@rollup/rollup-linux-riscv64-musl": {
"version": "4.59.0",
@ -2964,7 +2977,8 @@
"optional": true,
"os": [
"linux"
]
],
"peer": true
},
"node_modules/@rollup/rollup-linux-s390x-gnu": {
"version": "4.59.0",
@ -2978,7 +2992,8 @@
"optional": true,
"os": [
"linux"
]
],
"peer": true
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
"version": "4.59.0",
@ -2992,7 +3007,8 @@
"optional": true,
"os": [
"linux"
]
],
"peer": true
},
"node_modules/@rollup/rollup-linux-x64-musl": {
"version": "4.59.0",
@ -3006,7 +3022,8 @@
"optional": true,
"os": [
"linux"
]
],
"peer": true
},
"node_modules/@rollup/rollup-openbsd-x64": {
"version": "4.59.0",
@ -3020,7 +3037,8 @@
"optional": true,
"os": [
"openbsd"
]
],
"peer": true
},
"node_modules/@rollup/rollup-openharmony-arm64": {
"version": "4.59.0",
@ -3034,7 +3052,8 @@
"optional": true,
"os": [
"openharmony"
]
],
"peer": true
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
"version": "4.59.0",
@ -3048,7 +3067,8 @@
"optional": true,
"os": [
"win32"
]
],
"peer": true
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
"version": "4.59.0",
@ -3062,7 +3082,8 @@
"optional": true,
"os": [
"win32"
]
],
"peer": true
},
"node_modules/@rollup/rollup-win32-x64-gnu": {
"version": "4.59.0",
@ -3076,7 +3097,8 @@
"optional": true,
"os": [
"win32"
]
],
"peer": true
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
"version": "4.59.0",
@ -3090,7 +3112,8 @@
"optional": true,
"os": [
"win32"
]
],
"peer": true
},
"node_modules/@sapphire/async-queue": {
"version": "1.5.5",
@ -3125,30 +3148,6 @@
"npm": ">=7.0.0"
}
},
"node_modules/@sf-run/native": {
"resolved": "packages/native",
"link": true
},
"node_modules/@sf-run/pi-agent-core": {
"resolved": "packages/pi-agent-core",
"link": true
},
"node_modules/@sf-run/pi-ai": {
"resolved": "packages/pi-ai",
"link": true
},
"node_modules/@sf-run/pi-coding-agent": {
"resolved": "packages/pi-coding-agent",
"link": true
},
"node_modules/@sf-run/pi-tui": {
"resolved": "packages/pi-tui",
"link": true
},
"node_modules/@sf-run/studio": {
"resolved": "studio",
"link": true
},
"node_modules/@silvia-odwyer/photon-node": {
"version": "0.3.4",
"resolved": "https://registry.npmjs.org/@silvia-odwyer/photon-node/-/photon-node-0.3.4.tgz",
@ -3178,29 +3177,38 @@
"resolved": "packages/daemon",
"link": true
},
"node_modules/@singularity-forge/engine-darwin-arm64": {
"optional": true
},
"node_modules/@singularity-forge/engine-darwin-x64": {
"optional": true
},
"node_modules/@singularity-forge/engine-linux-arm64-gnu": {
"optional": true
},
"node_modules/@singularity-forge/engine-linux-x64-gnu": {
"optional": true
},
"node_modules/@singularity-forge/engine-win32-x64-msvc": {
"optional": true
},
"node_modules/@singularity-forge/mcp-server": {
"resolved": "packages/mcp-server",
"link": true
},
"node_modules/@singularity-forge/native": {
"resolved": "packages/native",
"link": true
},
"node_modules/@singularity-forge/pi-agent-core": {
"resolved": "packages/pi-agent-core",
"link": true
},
"node_modules/@singularity-forge/pi-ai": {
"resolved": "packages/pi-ai",
"link": true
},
"node_modules/@singularity-forge/pi-coding-agent": {
"resolved": "packages/pi-coding-agent",
"link": true
},
"node_modules/@singularity-forge/pi-tui": {
"resolved": "packages/pi-tui",
"link": true
},
"node_modules/@singularity-forge/rpc-client": {
"resolved": "packages/rpc-client",
"link": true
},
"node_modules/@singularity-forge/studio": {
"resolved": "studio",
"link": true
},
"node_modules/@smithy/abort-controller": {
"version": "4.2.12",
"resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-4.2.12.tgz",
@ -4264,7 +4272,8 @@
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
"integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
"dev": true,
"license": "MIT"
"license": "MIT",
"peer": true
},
"node_modules/@types/express": {
"version": "4.17.25",
@ -4389,7 +4398,6 @@
"integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==",
"devOptional": true,
"license": "MIT",
"peer": true,
"dependencies": {
"csstype": "^3.2.2"
}
@ -4759,7 +4767,6 @@
}
],
"license": "MIT",
"peer": true,
"dependencies": {
"baseline-browser-mapping": "^2.9.0",
"caniuse-lite": "^1.0.30001759",
@ -5642,7 +5649,6 @@
"resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz",
"integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==",
"license": "MIT",
"peer": true,
"dependencies": {
"accepts": "^2.0.0",
"body-parser": "^2.2.1",
@ -5813,6 +5819,7 @@
"integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=12.0.0"
},
@ -6327,7 +6334,6 @@
"resolved": "https://registry.npmjs.org/hono/-/hono-4.12.12.tgz",
"integrity": "sha512-p1JfQMKaceuCbpJKAPKVqyqviZdS0eUxH9v82oWo1kb9xjQ5wA6iP3FNVAPDFlz5/p7d45lO+BpSk1tuSZMF4Q==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=16.9.0"
}
@ -7207,6 +7213,7 @@
}
],
"license": "MIT",
"peer": true,
"bin": {
"nanoid": "bin/nanoid.cjs"
},
@ -7538,7 +7545,6 @@
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=12"
},
@ -7619,6 +7625,7 @@
}
],
"license": "MIT",
"peer": true,
"dependencies": {
"nanoid": "^3.3.11",
"picocolors": "^1.1.1",
@ -7796,7 +7803,6 @@
"resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz",
"integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=0.10.0"
}
@ -7806,7 +7812,6 @@
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz",
"integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==",
"license": "MIT",
"peer": true,
"dependencies": {
"scheduler": "^0.27.0"
},
@ -7920,6 +7925,7 @@
"integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@types/estree": "1.0.8"
},
@ -8492,6 +8498,7 @@
"integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"fdir": "^6.5.0",
"picomatch": "^4.0.3"
@ -8795,6 +8802,7 @@
"os": [
"aix"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -8812,6 +8820,7 @@
"os": [
"android"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -8829,6 +8838,7 @@
"os": [
"android"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -8846,6 +8856,7 @@
"os": [
"android"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -8863,6 +8874,7 @@
"os": [
"darwin"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -8880,6 +8892,7 @@
"os": [
"darwin"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -8897,6 +8910,7 @@
"os": [
"freebsd"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -8914,6 +8928,7 @@
"os": [
"freebsd"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -8931,6 +8946,7 @@
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -8948,6 +8964,7 @@
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -8965,6 +8982,7 @@
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -8982,6 +9000,7 @@
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -8999,6 +9018,7 @@
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -9016,6 +9036,7 @@
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -9033,6 +9054,7 @@
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -9050,6 +9072,7 @@
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -9067,6 +9090,7 @@
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -9084,6 +9108,7 @@
"os": [
"netbsd"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -9101,6 +9126,7 @@
"os": [
"netbsd"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -9118,6 +9144,7 @@
"os": [
"openbsd"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -9135,6 +9162,7 @@
"os": [
"openbsd"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -9152,6 +9180,7 @@
"os": [
"openharmony"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -9169,6 +9198,7 @@
"os": [
"sunos"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -9186,6 +9216,7 @@
"os": [
"win32"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -9203,6 +9234,7 @@
"os": [
"win32"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -9220,6 +9252,7 @@
"os": [
"win32"
],
"peer": true,
"engines": {
"node": ">=18"
}
@ -9231,6 +9264,7 @@
"dev": true,
"hasInstallScript": true,
"license": "MIT",
"peer": true,
"bin": {
"esbuild": "bin/esbuild"
},
@ -9459,7 +9493,6 @@
"resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz",
"integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==",
"license": "MIT",
"peer": true,
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
@ -9504,11 +9537,11 @@
},
"packages/daemon": {
"name": "@singularity-forge/daemon",
"version": "2.74.0",
"version": "2.75.0",
"license": "MIT",
"dependencies": {
"@anthropic-ai/sdk": "^0.52.0",
"@singularity-forge/rpc-client": "^2.74.0",
"@singularity-forge/rpc-client": "^2.75.0",
"discord.js": "^14.25.1",
"yaml": "^2.8.0",
"zod": "^3.24.0"
@ -9544,11 +9577,11 @@
},
"packages/mcp-server": {
"name": "@singularity-forge/mcp-server",
"version": "2.74.0",
"version": "2.75.0",
"license": "MIT",
"dependencies": {
"@modelcontextprotocol/sdk": "^1.27.1",
"@singularity-forge/rpc-client": "^2.74.0",
"@singularity-forge/rpc-client": "^2.75.0",
"zod": "^4.0.0"
},
"bin": {
@ -9563,17 +9596,17 @@
}
},
"packages/native": {
"name": "@sf-run/native",
"version": "2.74.0",
"name": "@singularity-forge/native",
"version": "2.75.0",
"license": "MIT"
},
"packages/pi-agent-core": {
"name": "@sf-run/pi-agent-core",
"version": "2.74.0"
"name": "@singularity-forge/pi-agent-core",
"version": "2.75.0"
},
"packages/pi-ai": {
"name": "@sf-run/pi-ai",
"version": "2.74.0",
"name": "@singularity-forge/pi-ai",
"version": "2.75.0",
"dependencies": {
"@anthropic-ai/sdk": "^0.73.0",
"@anthropic-ai/vertex-sdk": "^0.14.4",
@ -9611,8 +9644,8 @@
}
},
"packages/pi-coding-agent": {
"name": "@sf-run/pi-coding-agent",
"version": "2.74.0",
"name": "@singularity-forge/pi-coding-agent",
"version": "2.75.0",
"dependencies": {
"@mariozechner/jiti": "^2.6.2",
"@silvia-odwyer/photon-node": "^0.3.4",
@ -9932,8 +9965,8 @@
}
},
"packages/pi-tui": {
"name": "@sf-run/pi-tui",
"version": "2.74.0",
"name": "@singularity-forge/pi-tui",
"version": "2.75.0",
"dependencies": {
"chalk": "^5.6.2",
"get-east-asian-width": "^1.3.0",
@ -9949,14 +9982,14 @@
},
"packages/rpc-client": {
"name": "@singularity-forge/rpc-client",
"version": "2.74.0",
"version": "2.75.0",
"license": "MIT",
"engines": {
"node": ">=22.0.0"
}
},
"studio": {
"name": "@sf-run/studio",
"name": "@singularity-forge/studio",
"version": "0.0.0",
"dependencies": {
"@phosphor-icons/react": "^2.1.10",

View file

@ -1,6 +1,6 @@
{
"name": "sf-run",
"version": "2.74.0",
"version": "2.75.0",
"description": "sf-run — Singularity Forge runtime core",
"license": "MIT",
"repository": {

View file

@ -1,6 +1,6 @@
{
"name": "@singularity-forge/daemon",
"version": "2.74.0",
"version": "2.75.0",
"description": "sf-run daemon — background process for project monitoring and Discord integration",
"license": "MIT",
"repository": {
@ -29,7 +29,7 @@
},
"dependencies": {
"@anthropic-ai/sdk": "^0.52.0",
"@singularity-forge/rpc-client": "^2.74.0",
"@singularity-forge/rpc-client": "^2.75.0",
"discord.js": "^14.25.1",
"yaml": "^2.8.0",
"zod": "^3.24.0"

View file

@ -1,6 +1,6 @@
{
"name": "@singularity-forge/mcp-server",
"version": "2.74.0",
"version": "2.75.0",
"description": "MCP server exposing sf-run orchestration tools for Claude Code, Cursor, and other MCP clients",
"license": "MIT",
"repository": {
@ -29,7 +29,7 @@
},
"dependencies": {
"@modelcontextprotocol/sdk": "^1.27.1",
"@singularity-forge/rpc-client": "^2.74.0",
"@singularity-forge/rpc-client": "^2.75.0",
"zod": "^4.0.0"
},
"devDependencies": {

View file

@ -1,6 +1,6 @@
{
"name": "@singularity-forge/native",
"version": "2.74.0",
"version": "2.75.0",
"description": "Native Rust bindings for sf-run — high-performance native modules via N-API",
"type": "commonjs",
"main": "./dist/index.js",

View file

@ -1,6 +1,6 @@
{
"name": "@singularity-forge/pi-agent-core",
"version": "2.74.0",
"version": "2.75.0",
"description": "General-purpose agent core (vendored from pi-mono)",
"type": "module",
"main": "./dist/index.js",

View file

@ -1,6 +1,6 @@
{
"name": "@singularity-forge/pi-ai",
"version": "2.74.0",
"version": "2.75.0",
"description": "Unified LLM API (vendored from pi-mono)",
"type": "module",
"main": "./dist/index.js",

View file

@ -1,6 +1,6 @@
{
"name": "@singularity-forge/pi-coding-agent",
"version": "2.74.0",
"version": "2.75.0",
"description": "Coding agent CLI (vendored from pi-mono)",
"type": "module",
"piConfig": {

View file

@ -1,6 +1,6 @@
{
"name": "@singularity-forge/pi-tui",
"version": "2.74.0",
"version": "2.75.0",
"description": "Terminal User Interface library (vendored from pi-mono)",
"type": "module",
"main": "./dist/index.js",

View file

@ -1,6 +1,6 @@
{
"name": "@singularity-forge/rpc-client",
"version": "2.74.0",
"version": "2.75.0",
"description": "Standalone RPC client SDK for sf-run — zero internal dependencies",
"license": "MIT",
"repository": {

View file

@ -1,6 +1,6 @@
{
"name": "sf",
"version": "2.74.0",
"version": "2.75.0",
"piConfig": {
"name": "sf",
"configDir": ".sf"

31
web/package-lock.json generated
View file

@ -128,7 +128,6 @@
"integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@babel/code-frame": "^7.29.0",
"@babel/generator": "^7.29.0",
@ -372,7 +371,6 @@
"resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.20.1.tgz",
"integrity": "sha512-1cvg3Vz1dSSToCNlJfRA2WSI4ht3K+WplO0UMOgmUYPivCyy2oueZY6Lx7M9wThm7SDUBViRmuT+OG/i8+ON9A==",
"license": "MIT",
"peer": true,
"dependencies": {
"@codemirror/language": "^6.0.0",
"@codemirror/state": "^6.0.0",
@ -407,7 +405,6 @@
"resolved": "https://registry.npmjs.org/@codemirror/lang-css/-/lang-css-6.3.1.tgz",
"integrity": "sha512-kr5fwBGiGtmz6l0LSJIbno9QrifNMUusivHbnA1H6Dmqy4HZFte3UAICix1VuKo0lMPKQr2rqB+0BkKi/S3Ejg==",
"license": "MIT",
"peer": true,
"dependencies": {
"@codemirror/autocomplete": "^6.0.0",
"@codemirror/language": "^6.0.0",
@ -434,7 +431,6 @@
"resolved": "https://registry.npmjs.org/@codemirror/lang-html/-/lang-html-6.4.11.tgz",
"integrity": "sha512-9NsXp7Nwp891pQchI7gPdTwBuSuT3K65NGTHWHNJ55HjYcHLllr0rbIZNdOzas9ztc1EUVBlHou85FFZS4BNnw==",
"license": "MIT",
"peer": true,
"dependencies": {
"@codemirror/autocomplete": "^6.0.0",
"@codemirror/lang-css": "^6.0.0",
@ -462,7 +458,6 @@
"resolved": "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-6.2.5.tgz",
"integrity": "sha512-zD4e5mS+50htS7F+TYjBPsiIFGanfVqg4HyUz6WNFikgOPf2BgKlx+TQedI1w6n/IqRBVBbBWmGFdLB/7uxO4A==",
"license": "MIT",
"peer": true,
"dependencies": {
"@codemirror/autocomplete": "^6.0.0",
"@codemirror/language": "^6.6.0",
@ -663,7 +658,6 @@
"resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.12.2.tgz",
"integrity": "sha512-jEPmz2nGGDxhRTg3lTpzmIyGKxz3Gp3SJES4b0nAuE5SWQoKdT5GoQ69cwMmFd+wvFUhYirtDTr0/DRHpQAyWg==",
"license": "MIT",
"peer": true,
"dependencies": {
"@codemirror/state": "^6.0.0",
"@codemirror/view": "^6.23.0",
@ -709,7 +703,6 @@
"resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.6.0.tgz",
"integrity": "sha512-4nbvra5R5EtiCzr9BTHiTLc+MLXK2QGiAVYMyi8PkQd3SR+6ixar/Q/01Fa21TBIDOZXgeWV4WppsQolSreAPQ==",
"license": "MIT",
"peer": true,
"dependencies": {
"@marijn/find-cluster-break": "^1.0.0"
}
@ -731,7 +724,6 @@
"resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.40.0.tgz",
"integrity": "sha512-WA0zdU7xfF10+5I3HhUUq3kqOx3KjqmtQ9lqZjfK7jtYk4G72YW9rezcSywpaUMCWOMlq+6E0pO1IWg1TNIhtg==",
"license": "MIT",
"peer": true,
"dependencies": {
"@codemirror/state": "^6.6.0",
"crelt": "^1.0.6",
@ -1983,8 +1975,7 @@
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.5.1.tgz",
"integrity": "sha512-6YRVG9vBkaY7p1IVxL4s44n5nUnaNnGM2/AckNgYOnxTG2kWh1vR8BMxPseWPjRNpb5VtXnMpeYAEAADoRV1Iw==",
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/@lezer/cpp": {
"version": "1.1.5",
@ -2024,7 +2015,6 @@
"resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.3.tgz",
"integrity": "sha512-qXdH7UqTvGfdVBINrgKhDsVTJTxactNNxLk7+UMwZhU13lMHaOBlJe9Vqp907ya56Y3+ed2tlqzys7jDkTmW0g==",
"license": "MIT",
"peer": true,
"dependencies": {
"@lezer/common": "^1.3.0"
}
@ -2056,7 +2046,6 @@
"resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.5.4.tgz",
"integrity": "sha512-vvYx3MhWqeZtGPwDStM2dwgljd5smolYD2lR2UyFcHfxbBQebqx8yjmFmxtJ/E6nN6u1D9srOiVWm3Rb4tmcUA==",
"license": "MIT",
"peer": true,
"dependencies": {
"@lezer/common": "^1.2.0",
"@lezer/highlight": "^1.1.3",
@ -2079,7 +2068,6 @@
"resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.8.tgz",
"integrity": "sha512-bPWa0Pgx69ylNlMlPvBPryqeLYQjyJjqPx+Aupm5zydLIF3NE+6MMLT8Yi23Bd9cif9VS00aUebn+6fDIGBcDA==",
"license": "MIT",
"peer": true,
"dependencies": {
"@lezer/common": "^1.0.0"
}
@ -4675,7 +4663,6 @@
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz",
"integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==",
"license": "MIT",
"peer": true,
"dependencies": {
"csstype": "^3.2.2"
}
@ -4686,7 +4673,6 @@
"integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==",
"devOptional": true,
"license": "MIT",
"peer": true,
"peerDependencies": {
"@types/react": "^19.2.0"
}
@ -4742,7 +4728,6 @@
"integrity": "sha512-XZzOmihLIr8AD1b9hL9ccNMzEMWt/dE2u7NyTY9jJG6YNiNthaD5XtUHVF2uCXZ15ng+z2hT3MVuxnUYhq6k1g==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@typescript-eslint/scope-manager": "8.57.0",
"@typescript-eslint/types": "8.57.0",
@ -5388,7 +5373,6 @@
"integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",
"dev": true,
"license": "MIT",
"peer": true,
"bin": {
"acorn": "bin/acorn"
},
@ -5789,7 +5773,6 @@
}
],
"license": "MIT",
"peer": true,
"dependencies": {
"baseline-browser-mapping": "^2.9.0",
"caniuse-lite": "^1.0.30001759",
@ -6454,8 +6437,7 @@
"version": "8.6.0",
"resolved": "https://registry.npmjs.org/embla-carousel/-/embla-carousel-8.6.0.tgz",
"integrity": "sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==",
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/embla-carousel-react": {
"version": "8.6.0",
@ -6748,7 +6730,6 @@
"integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.8.0",
"@eslint-community/regexpp": "^4.12.1",
@ -6934,7 +6915,6 @@
"integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@rtsao/scc": "^1.1.0",
"array-includes": "^3.1.9",
@ -10309,7 +10289,6 @@
}
],
"license": "MIT",
"peer": true,
"dependencies": {
"nanoid": "^3.3.11",
"picocolors": "^1.1.1",
@ -10398,7 +10377,6 @@
"resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz",
"integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=0.10.0"
}
@ -10429,7 +10407,6 @@
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz",
"integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==",
"license": "MIT",
"peer": true,
"dependencies": {
"scheduler": "^0.27.0"
},
@ -10442,7 +10419,6 @@
"resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.71.2.tgz",
"integrity": "sha512-1CHvcDYzuRUNOflt4MOq3ZM46AronNJtQ1S7tnX6YN4y72qhgiUItpacZUAQ0TyWYci3yz1X+rXaSxiuEm86PA==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=18.0.0"
},
@ -11482,7 +11458,6 @@
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=12"
},
@ -11675,7 +11650,6 @@
"integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==",
"dev": true,
"license": "Apache-2.0",
"peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@ -12169,7 +12143,6 @@
"resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
"integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
"license": "MIT",
"peer": true,
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}