chore(deps): refresh dependencies with seven-day cutoff (#149908)

* chore(deps): refresh dependencies with seven-day cutoff

Advance eligible application, native, release, and development dependencies
published by 2026-09-09T06:51:52Z. Audit new registry resolutions and native
artifact hashes, preserving existing security pins and compatibility holds.

Adapt MCP Apps 2 tool discovery and host context, retain Clack cancellation
handling, and align the updater fixture with its runtime assembly owner.
Synchronize native artifact checks, operational docs, and tooling pins.

Validation includes frozen installation, full build, CLI rebuild, typechecks,
lint, 96 npm package locks, dependency audits, focused runtime and native
proofs, and independent review. Exact-head hosted CI is required before land.

* fix(deps): preserve scroll ownership and synchronize toolchain contracts

* fix(cli): preserve generic wizard option values after Clack update

* docs(lobster): clarify credentials for embedded remote calls

* test(cli): use Clack cancellation sentinel in prompt fixtures

* fix(ios): avoid opening audio input during relay cancellation

* test: reuse dependency update fixtures within line limits

* fix(crabbox): retain the previous trusted pnpm pin

* test(gateway): synchronize task access churn with page selection

* test(macos): isolate the challenge timeout transport fixture

* fix(macos): preserve hidden windows through deminiaturization

* fix(macos): exclude hidden dashboards from window selection
This commit is contained in:
Peter Steinberger 2026-09-16 09:06:40 -07:00 • committed by GitHub
parent ca08632783
commit f78f51359d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
143 changed files with 2137 additions and 2141 deletions

View file

@ -44,7 +44,7 @@ runs:
esac
- name: Setup Java
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0
uses: actions/setup-java@dd06d9cba3e5552c54d9f8ea23572deb30010f7c # v6.0.0
with:
distribution: temurin
# Keep sdkmanager on the stable JDK path for Linux CI runners.
@ -52,7 +52,7 @@ runs:
- name: Setup Gradle Java
id: gradle-java
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0
uses: actions/setup-java@dd06d9cba3e5552c54d9f8ea23572deb30010f7c # v6.0.0
with:
distribution: temurin
# Pin Gradle's runtime without changing later SDK tool invocations.

View file

@ -8,8 +8,8 @@
"name": "openclaw-release-vercel-cli",
"version": "1.0.0",
"dependencies": {
"sandbox": "4.2.1",
"vercel": "59.11.7"
"sandbox": "4.3.0",
"vercel": "59.13.1"
}
},
"node_modules/@bytecodealliance/preview2-shim": {
@ -1881,9 +1881,9 @@
}
},
"node_modules/@vercel/backends": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@vercel/backends/-/backends-7.0.2.tgz",
"integrity": "sha512-tC1EQ7g7wJTUH4MYc1ve9dDn6l92aLR5VOSChan9slLctLmhOPFfZGD8R0ZlYzkTZLE50NVi6bMwE3jlvdza4Q==",
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/@vercel/backends/-/backends-7.0.3.tgz",
"integrity": "sha512-iSPLDAILYUtMEOgJr4n+HhJ/YQH6WG7jV0oADWs9Av/VB6Er5MHXEwKnZhOvhv4QBS2QCsD0Jh00gg78MxTOuA==",
"license": "Apache-2.0",
"dependencies": {
"@vercel/nft": "1.10.0",
@ -1901,7 +1901,7 @@
"zod": "3.22.4"
},
"peerDependencies": {
"@vercel/build-utils": "14.9.1"
"@vercel/build-utils": "14.9.2"
}
},
"node_modules/@vercel/backends/node_modules/zod": {
@ -1945,9 +1945,9 @@
}
},
"node_modules/@vercel/build-utils": {
"version": "14.9.1",
"resolved": "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-14.9.1.tgz",
"integrity": "sha512-d7Ov4+TA+UAxopVsgh698LPs0Um/LrW430FRU/qPlI7WFWWU55XwGJ2+aXCY8ZbA2zoZ8XjbZJVGjwnTCBG52Q==",
"version": "14.9.2",
"resolved": "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-14.9.2.tgz",
"integrity": "sha512-AmprppA5kD+hGOb9l62dvN89zjgS4J0qr+0PsGzgrLgEBmtf03IDdcIJY7pt0UhKhUeI99u7y7xLUI46PHKfww==",
"license": "Apache-2.0",
"dependencies": {
"cjs-module-lexer": "1.2.3",
@ -1955,29 +1955,39 @@
}
},
"node_modules/@vercel/cervel": {
"version": "0.1.61",
"resolved": "https://registry.npmjs.org/@vercel/cervel/-/cervel-0.1.61.tgz",
"integrity": "sha512-cm3WyokqnHwtLIK+k9C+NbUSmu+yGldnCPnn/rYB0ZzPZTlwdI3k7/d93Zq7/TEcsbHFpo7fxAwWr+DUAh3ufw==",
"version": "0.1.62",
"resolved": "https://registry.npmjs.org/@vercel/cervel/-/cervel-0.1.62.tgz",
"integrity": "sha512-cZd1d07HkX0utwA8SkDlmbgDO6OhhZmDGqhLD0FXTs2UqTP/s5X4juGLcGr7TxYD0AMIlaX7SozOTb3jbJVe1w==",
"license": "Apache-2.0",
"dependencies": {
"@vercel/backends": "7.0.2"
"@vercel/backends": "7.0.3"
},
"bin": {
"cervel": "bin/cervel.mjs"
}
},
"node_modules/@vercel/cli-auth": {
"version": "0.3.5",
"resolved": "https://registry.npmjs.org/@vercel/cli-auth/-/cli-auth-0.3.5.tgz",
"integrity": "sha512-DSkTWamJrhgCUrymOSCWysbiVeLsvPINhoKVTw+mypoyIJxKQxDgQaafvZ0OYGS2qg8wVUY30HgDugzaEdwo6Q==",
"version": "0.3.6",
"resolved": "https://registry.npmjs.org/@vercel/cli-auth/-/cli-auth-0.3.6.tgz",
"integrity": "sha512-DUWj0+Yio1Ii7G6sileE84cnuojHBi6yX4PBEQYuTWEBKKbI+Ghk9a5evNADXSB4Du8Y+oE/ldBf/uADFnVvlg==",
"dependencies": {
"@napi-rs/keyring": "1.2.0",
"@vercel/cli-config": "0.2.4",
"@vercel/cli-config": "0.2.5",
"async-listen": "3.0.0",
"open": "8.4.0",
"zod": "4.1.11"
}
},
"node_modules/@vercel/cli-auth/node_modules/@vercel/cli-config": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/@vercel/cli-config/-/cli-config-0.2.5.tgz",
"integrity": "sha512-WniFxgznIPZ3h1USCLxArTyvR2a3/lvZW5mSSkuI2r8rQWEzUV8qnKXJEOFrVnVWe2YDxeCVMgZoxIH4kHA92Q==",
"license": "Apache-2.0",
"dependencies": {
"xdg-app-paths": "5",
"zod": "4.1.11"
}
},
"node_modules/@vercel/cli-config": {
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/@vercel/cli-config/-/cli-config-0.2.4.tgz",
@ -2051,12 +2061,12 @@
"license": "ISC"
},
"node_modules/@vercel/container": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/@vercel/container/-/container-7.0.1.tgz",
"integrity": "sha512-kAN2pV5u3kj6AoyqeFa/PrlO9yxceTRBJM5YNJObdqpVVyLC7wlZ3GUx0VpP3TPsSFKK+B12xJPAP0xxxF6CWQ==",
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@vercel/container/-/container-7.0.2.tgz",
"integrity": "sha512-XjJHH9X4ApqZapsgHEC4PDAB0jA7S7XssGTmnSQB7AUaYugmLnnkFsR+8nD85LGh90EHruW4Ux1LUkOW+dBq1g==",
"license": "Apache-2.0",
"peerDependencies": {
"@vercel/build-utils": "14.9.1"
"@vercel/build-utils": "14.9.2"
}
},
"node_modules/@vercel/detect-agent": {
@ -2069,16 +2079,16 @@
}
},
"node_modules/@vercel/elysia": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/@vercel/elysia/-/elysia-7.0.1.tgz",
"integrity": "sha512-bOCgbU/d0qwOi+3vEOtkQ9oGzrs7CQ6PNcUM8L8iZ/cUirD6lra+T+wQgNEeOPi1q6xNcXCkj92J4uk/jEmMuw==",
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@vercel/elysia/-/elysia-7.0.2.tgz",
"integrity": "sha512-793gCh4lDmYKniCmph82sXoEmbUfwBg+o1wCw/FYIjU9f4/tqo2KX9rf3lAYL7p5vTmlMDDSDwqi3UJcw2VsJQ==",
"license": "Apache-2.0",
"dependencies": {
"@vercel/node": "12.0.1",
"@vercel/node": "12.0.2",
"@vercel/static-config": "3.4.3"
},
"peerDependencies": {
"@vercel/build-utils": "14.9.1"
"@vercel/build-utils": "14.9.2"
}
},
"node_modules/@vercel/error-utils": {
@ -2088,14 +2098,14 @@
"license": "Apache-2.0"
},
"node_modules/@vercel/express": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@vercel/express/-/express-7.0.2.tgz",
"integrity": "sha512-pRsUuf0YNg0gTypzV1Ne0Z1oO76KnLNVht8HP4ERHit3QS5RrCSh468CgqAB1tbVFexcSgFFTtJ/90oPwDEO9g==",
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/@vercel/express/-/express-7.0.3.tgz",
"integrity": "sha512-6zJ/GR6Y3JWfs4xKYWNTf+oIJ2vVU6yy534h8YY2AB/ILDezYCYpvHR1TutCWRgh73ewyCI4UZpn3IbIZTL4uA==",
"license": "Apache-2.0",
"dependencies": {
"@vercel/cervel": "0.1.61",
"@vercel/cervel": "0.1.62",
"@vercel/nft": "1.10.0",
"@vercel/node": "12.0.1",
"@vercel/node": "12.0.2",
"@vercel/static-config": "3.4.3",
"fs-extra": "11.1.0",
"path-to-regexp": "8.3.0",
@ -2103,7 +2113,7 @@
"zod": "3.22.4"
},
"peerDependencies": {
"@vercel/build-utils": "14.9.1"
"@vercel/build-utils": "14.9.2"
}
},
"node_modules/@vercel/express/node_modules/zod": {
@ -2116,16 +2126,16 @@
}
},
"node_modules/@vercel/fastify": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/@vercel/fastify/-/fastify-7.0.1.tgz",
"integrity": "sha512-oXnXkK7ydsQQO+Ds2Ivfsyqc1MeqJZxbiUvDX+oAG+jZjtTDjkJfs0sD8acKdVUtShFO55m9k8WzTILVaQVVRg==",
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@vercel/fastify/-/fastify-7.0.2.tgz",
"integrity": "sha512-HtpYjkctoXpDDL/4GAfB4/5CDGj2X4tgSc52VulbYwf7EFcWnIESxJHxtKASs29xOXJiu3iBdOFrWXKgTFYQKQ==",
"license": "Apache-2.0",
"dependencies": {
"@vercel/node": "12.0.1",
"@vercel/node": "12.0.2",
"@vercel/static-config": "3.4.3"
},
"peerDependencies": {
"@vercel/build-utils": "14.9.1"
"@vercel/build-utils": "14.9.2"
}
},
"node_modules/@vercel/fun": {
@ -2185,48 +2195,48 @@
}
},
"node_modules/@vercel/gatsby-plugin-vercel-builder": {
"version": "2.2.53",
"resolved": "https://registry.npmjs.org/@vercel/gatsby-plugin-vercel-builder/-/gatsby-plugin-vercel-builder-2.2.53.tgz",
"integrity": "sha512-2AaKdNQGz5nQDQ9hMG8SeE7NdysDG7DYNK90YlNvRTqVopCvC6ZLAz33QuFc8dnAMAHiqYDOO0UKw+Px1KlBkg==",
"version": "2.2.54",
"resolved": "https://registry.npmjs.org/@vercel/gatsby-plugin-vercel-builder/-/gatsby-plugin-vercel-builder-2.2.54.tgz",
"integrity": "sha512-u7pc6kHv3I3YabuwG1J0+C86aROlamg1UsSUcifhwDBgeYYQgVkzXVqFC1iNUYycWcE9loKKLpX5trdHKooZhg==",
"license": "Apache-2.0",
"dependencies": {
"@sinclair/typebox": "0.25.24",
"@vercel/build-utils": "14.9.1",
"@vercel/build-utils": "14.9.2",
"esbuild": "0.27.0",
"etag": "1.8.1",
"fs-extra": "11.1.0"
}
},
"node_modules/@vercel/go": {
"version": "10.0.1",
"resolved": "https://registry.npmjs.org/@vercel/go/-/go-10.0.1.tgz",
"integrity": "sha512-qtxY5K4I5c/ll9JgGvxJ2as9mQDKzoiCsvxVB1F4VzsGh03EXJVYdYZoDdBcumdC+q3sy9G4a3UYhIpOspY+8Q==",
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/@vercel/go/-/go-10.1.0.tgz",
"integrity": "sha512-XDWGWLbfe5KYJWw0Q/2CIc1FrUCichQhIzU55ktJ604RaiGrVeeJsl4TqaiPqzL5Rju+qiy1X65XgWb8LrY7ow==",
"license": "Apache-2.0",
"peerDependencies": {
"@vercel/build-utils": "14.9.1"
"@vercel/build-utils": "14.9.2"
}
},
"node_modules/@vercel/h3": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/@vercel/h3/-/h3-7.0.1.tgz",
"integrity": "sha512-91utvhU1sigL/MfWgshQ8okSfR4Dfx8iA4kMuA1l2iCRW9cfS3YZxZh6F3IMPyiC/J75e9pCevpf9ze4OHWaNg==",
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@vercel/h3/-/h3-7.0.2.tgz",
"integrity": "sha512-dSa/jOZBDKoIqwcarSlNjwZAa+Kr55VEEYv+8VyXoADvJFY5+dBUdBG7ofRTXF1Zjy368KF+ZUrYy4i1jXAJVA==",
"license": "Apache-2.0",
"dependencies": {
"@vercel/node": "12.0.1",
"@vercel/node": "12.0.2",
"@vercel/static-config": "3.4.3"
},
"peerDependencies": {
"@vercel/build-utils": "14.9.1"
"@vercel/build-utils": "14.9.2"
}
},
"node_modules/@vercel/hono": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/@vercel/hono/-/hono-7.0.1.tgz",
"integrity": "sha512-ZMDgAZ3RML7M05dUfogmLLLfE2JCJkJTfaCnF6oq9cH/BA0DTxn6QFQvQbIgiA18Ot0FcypuYRl9uge8hdCiYA==",
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@vercel/hono/-/hono-7.0.2.tgz",
"integrity": "sha512-Vl9JlU5ihQGJg/bU7JFl5P5ly5LPJzQOYIbXtRB0mlkeXbZnZXXfKNDXnGtm3SRdhIjMZMsA+UGOWpi226ZnSA==",
"license": "Apache-2.0",
"dependencies": {
"@vercel/nft": "1.10.0",
"@vercel/node": "12.0.1",
"@vercel/node": "12.0.2",
"@vercel/static-config": "3.4.3",
"fs-extra": "11.1.0",
"path-to-regexp": "8.3.0",
@ -2234,7 +2244,7 @@
"zod": "3.22.4"
},
"peerDependencies": {
"@vercel/build-utils": "14.9.1"
"@vercel/build-utils": "14.9.2"
}
},
"node_modules/@vercel/hono/node_modules/zod": {
@ -2247,54 +2257,54 @@
}
},
"node_modules/@vercel/hydrogen": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@vercel/hydrogen/-/hydrogen-8.0.1.tgz",
"integrity": "sha512-2CfTbi2XujdyNK/YQxs23j0Llm+jwyZYkysu+NSD8FO/vrpFzK9ozAmlWN+88S4phXoJjnfq35nDGf23YKRkDg==",
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/@vercel/hydrogen/-/hydrogen-8.0.2.tgz",
"integrity": "sha512-oVk/zufemogJ42LMSxVaz8R3UvxNlyeUJ8N9cpeuDaJfj7R+Ym1L9zoxg2G7y7AjQCqkgx5aBcZMPtjalKXkWw==",
"license": "Apache-2.0",
"dependencies": {
"@vercel/static-config": "3.4.3",
"ts-morph": "12.0.0"
},
"peerDependencies": {
"@vercel/build-utils": "14.9.1"
"@vercel/build-utils": "14.9.2"
}
},
"node_modules/@vercel/koa": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/@vercel/koa/-/koa-7.0.1.tgz",
"integrity": "sha512-FnQHRkRaL3w1NI+xBznOgFwuu0YfDvqdIdB384KdXTRYjZs3yhBfIC9GY0qmTu69Bh3Sln7ZANANZAK+7hbwmg==",
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@vercel/koa/-/koa-7.0.2.tgz",
"integrity": "sha512-jBYj+caD2TukyqECMl+0WFxxGhOPsV8O7Gl0n57p0FrgmnAM0jAqFElEZAdXmKRIA5mcJ1SkIGGX8UgcQbgEjw==",
"license": "Apache-2.0",
"dependencies": {
"@vercel/node": "12.0.1",
"@vercel/node": "12.0.2",
"@vercel/static-config": "3.4.3"
},
"peerDependencies": {
"@vercel/build-utils": "14.9.1"
"@vercel/build-utils": "14.9.2"
}
},
"node_modules/@vercel/nestjs": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/@vercel/nestjs/-/nestjs-7.0.1.tgz",
"integrity": "sha512-kRmI/lJ3w4SpRjtCKZMxt69JSZDQn6ulRGAmrkr/p6ioYVstC1Uf94zRPjafkBIVYJFW0KExNq/kwv5XYU59bw==",
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@vercel/nestjs/-/nestjs-7.0.2.tgz",
"integrity": "sha512-JBVrHRWZ141duQa+HdX0Jig0Q9d0OUJnNui2dd8+Y+ncLCrxS7OiC1P8EcyLwSKTBc7Akpvp9tj4HzSpZWByOQ==",
"license": "Apache-2.0",
"dependencies": {
"@vercel/node": "12.0.1",
"@vercel/node": "12.0.2",
"@vercel/static-config": "3.4.3"
},
"peerDependencies": {
"@vercel/build-utils": "14.9.1"
"@vercel/build-utils": "14.9.2"
}
},
"node_modules/@vercel/next": {
"version": "11.0.2",
"resolved": "https://registry.npmjs.org/@vercel/next/-/next-11.0.2.tgz",
"integrity": "sha512-c97ybY1jpF7534R0DkxlydWOOcFg93X24rdEdljBHtnho3wWD2RE+E9beC5dzq98uXSYSXrUQUghQko8oiY8sg==",
"version": "11.0.3",
"resolved": "https://registry.npmjs.org/@vercel/next/-/next-11.0.3.tgz",
"integrity": "sha512-34jZL6fFuiZn9Quoytz1jIczPrBmJ61bigvj98bnZjjga6yvk1CJlAb9vC/1IJlULMvmtp2+GV/zd8LYURc/yA==",
"license": "Apache-2.0",
"dependencies": {
"@vercel/nft": "1.10.0"
},
"peerDependencies": {
"@vercel/build-utils": "14.9.1"
"@vercel/build-utils": "14.9.2"
}
},
"node_modules/@vercel/nft": {
@ -2324,9 +2334,9 @@
}
},
"node_modules/@vercel/node": {
"version": "12.0.1",
"resolved": "https://registry.npmjs.org/@vercel/node/-/node-12.0.1.tgz",
"integrity": "sha512-aKxdgnp31N/clDxZM69Z9McoZ0gfBo48Ms+iiuFxJ5wt2SilTVvmS3Rn/LZjlTvQwHGKlJPUwamiuDs/Qsfszw==",
"version": "12.0.2",
"resolved": "https://registry.npmjs.org/@vercel/node/-/node-12.0.2.tgz",
"integrity": "sha512-9W+wTqem3zk6XywPb4c+shCtaQS9b520RVc9x7F2qX+bKi6Ox5w9x4SHj4h97iqbrAZ1B3OSRJsAzmG10zouEA==",
"license": "Apache-2.0",
"dependencies": {
"@edge-runtime/node-utils": "2.3.0",
@ -2352,7 +2362,7 @@
"undici": "5.28.4"
},
"peerDependencies": {
"@vercel/build-utils": "14.9.1"
"@vercel/build-utils": "14.9.2"
}
},
"node_modules/@vercel/node/node_modules/es-module-lexer": {
@ -2403,15 +2413,15 @@
"license": "MIT"
},
"node_modules/@vercel/python": {
"version": "13.0.1",
"resolved": "https://registry.npmjs.org/@vercel/python/-/python-13.0.1.tgz",
"integrity": "sha512-w96ozfdjVQxkPXKcY6GEi7/gqc9ZLriiWiflrUS/fBq66gTBkWtga2CFhK166ZaQT+cqgN3/X0NED7gUUzoLGw==",
"version": "13.0.2",
"resolved": "https://registry.npmjs.org/@vercel/python/-/python-13.0.2.tgz",
"integrity": "sha512-hEnPMjvYzRARoZvhWlnU/0oNrbswQHLFTdo3M+8eW1as6Jv8ccV4/is30I1aQzCjO03pRy16VbBt1U1QIn2AfA==",
"license": "Apache-2.0",
"dependencies": {
"@vercel/python-analysis": "0.14.0"
},
"peerDependencies": {
"@vercel/build-utils": "14.9.1"
"@vercel/build-utils": "14.9.2"
}
},
"node_modules/@vercel/python-analysis": {
@ -2453,9 +2463,9 @@
}
},
"node_modules/@vercel/redwood": {
"version": "9.0.1",
"resolved": "https://registry.npmjs.org/@vercel/redwood/-/redwood-9.0.1.tgz",
"integrity": "sha512-gamcb5L0T5HA11+10kBxypGbxSm3wTzWcor6qCpJdO3YMNzbvf74PZmwPfEMEsMo9BBb0MV03XgsVObra5lriw==",
"version": "9.0.2",
"resolved": "https://registry.npmjs.org/@vercel/redwood/-/redwood-9.0.2.tgz",
"integrity": "sha512-mnMGPaXeRYdYhb6ltVO01a+sOI6J14atyu1VHs6+7jSyGywuS7AP7aG64XzD+1nqvknqz88fnI6NqS2WVVOO1g==",
"license": "Apache-2.0",
"dependencies": {
"@vercel/nft": "1.10.0",
@ -2464,7 +2474,7 @@
"ts-morph": "12.0.0"
},
"peerDependencies": {
"@vercel/build-utils": "14.9.1"
"@vercel/build-utils": "14.9.2"
}
},
"node_modules/@vercel/redwood/node_modules/semver": {
@ -2477,9 +2487,9 @@
}
},
"node_modules/@vercel/remix-builder": {
"version": "12.0.1",
"resolved": "https://registry.npmjs.org/@vercel/remix-builder/-/remix-builder-12.0.1.tgz",
"integrity": "sha512-7X5F2f61bUANZ1NawaXRZh322sHR4RLMADrOKIbteCeMUw1me2FhgM5EjYWxGwCwkD2tmveo+CtDU5cESsmLag==",
"version": "12.0.2",
"resolved": "https://registry.npmjs.org/@vercel/remix-builder/-/remix-builder-12.0.2.tgz",
"integrity": "sha512-wRhUUJoohhHthbucuF1+h6LArTIu2MUepB054M1rDnEj9NeafqQ4RoxkS1BPj8d+2BCt6QUiQzr6wZFrCBvTUw==",
"license": "Apache-2.0",
"dependencies": {
"@vercel/error-utils": "2.2.1",
@ -2490,7 +2500,7 @@
"ts-morph": "12.0.0"
},
"peerDependencies": {
"@vercel/build-utils": "14.9.1"
"@vercel/build-utils": "14.9.2"
}
},
"node_modules/@vercel/remix-builder/node_modules/path-to-regexp": {
@ -2500,18 +2510,18 @@
"license": "MIT"
},
"node_modules/@vercel/ruby": {
"version": "9.0.1",
"resolved": "https://registry.npmjs.org/@vercel/ruby/-/ruby-9.0.1.tgz",
"integrity": "sha512-DwqWxQiA7DSnA1/Xr5EkZ8tCfeZ/yc/zbX15DfwBbHsXdcX4dnKLjjQNZan/6zCehHRWstEQja9JMohRK39oeQ==",
"version": "9.0.2",
"resolved": "https://registry.npmjs.org/@vercel/ruby/-/ruby-9.0.2.tgz",
"integrity": "sha512-EAfqC12wKQhR7RJuDVulq8Ae72U2WGr+X8PsCKFhL7RloahiDeE/uX6gVHr/yVcshyFeA63WL4Vu893ZACZE4w==",
"license": "Apache-2.0",
"peerDependencies": {
"@vercel/build-utils": "14.9.1"
"@vercel/build-utils": "14.9.2"
}
},
"node_modules/@vercel/rust": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@vercel/rust/-/rust-8.0.1.tgz",
"integrity": "sha512-rCXhlyA4P80cXpIsMAueVeymsia8dlyZwFJNXyYKOxeMnVasZsDJ06/xuObwLndww16IaNrGtkf9GQ7uU1JVwA==",
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/@vercel/rust/-/rust-8.0.2.tgz",
"integrity": "sha512-o957wFH2OY0BzZ2YfvJVH6Rw7tPp99M+z3Q7NFpgkXG44bna3XEL/o1LtJYvRqh48w4zSphaNgcfFIyvgKXocA==",
"license": "Apache-2.0",
"dependencies": {
"execa": "5",
@ -2519,7 +2529,7 @@
"smol-toml": "1.5.2"
},
"peerDependencies": {
"@vercel/build-utils": "14.9.1"
"@vercel/build-utils": "14.9.2"
}
},
"node_modules/@vercel/rust/node_modules/execa": {
@ -2573,9 +2583,9 @@
"license": "ISC"
},
"node_modules/@vercel/sandbox": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/@vercel/sandbox/-/sandbox-3.2.1.tgz",
"integrity": "sha512-Yw/UJl5T5OwO+TmnMAVgHTWlu2vYmMUAA9x7RhTHCge9y3cx90kvrjvNDDiqtt3euoFnLeoP2kvZFDbNwgWaww==",
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/@vercel/sandbox/-/sandbox-3.2.2.tgz",
"integrity": "sha512-ak2r3AZWi/vokms/BdMJPtf73sb2k1BT9dIuYRadmMBhHKacnK4+FlsLMcWLCFPsqA/HVE7SlUognDiTUQ7Qyg==",
"license": "Apache-2.0",
"dependencies": {
"@vercel/oidc": "3.2.0",
@ -2629,18 +2639,18 @@
}
},
"node_modules/@vercel/static-build": {
"version": "9.0.1",
"resolved": "https://registry.npmjs.org/@vercel/static-build/-/static-build-9.0.1.tgz",
"integrity": "sha512-n/4AxdEBprOo/1WEHyQfZdYKw1fmAn54SQGWww0ZP3WRkbYRKui1KjkfqeHLdSkhu6AAsZGpRlYZmK5sghFErA==",
"version": "9.0.2",
"resolved": "https://registry.npmjs.org/@vercel/static-build/-/static-build-9.0.2.tgz",
"integrity": "sha512-vi9+XLdesajLXt9g/ujwS28dNEAcssguJh9G3QP1UYLydgIQYSzI4L5ExWYigF/aKSX+RoHCngBpR3pYVEXYxA==",
"license": "Apache-2.0",
"dependencies": {
"@vercel/gatsby-plugin-vercel-analytics": "1.0.12",
"@vercel/gatsby-plugin-vercel-builder": "2.2.53",
"@vercel/gatsby-plugin-vercel-builder": "2.2.54",
"@vercel/static-config": "3.4.3",
"ts-morph": "12.0.0"
},
"peerDependencies": {
"@vercel/build-utils": "14.9.1"
"@vercel/build-utils": "14.9.2"
}
},
"node_modules/@vercel/static-config": {
@ -2656,9 +2666,9 @@
}
},
"node_modules/@vercel/vc-native-darwin-arm64": {
"version": "59.11.7",
"resolved": "https://registry.npmjs.org/@vercel/vc-native-darwin-arm64/-/vc-native-darwin-arm64-59.11.7.tgz",
"integrity": "sha512-SeYVrBni2n2GiUdyfLQb8R5ZSzujljsAePMPOlXg3nIC+oxyFjfmZn/vZmDfjfa5bV/Qme/LRtsU5GJQiSE08w==",
"version": "59.13.1",
"resolved": "https://registry.npmjs.org/@vercel/vc-native-darwin-arm64/-/vc-native-darwin-arm64-59.13.1.tgz",
"integrity": "sha512-PGNDXWhQQ0oTcISSr9JzrPY0zSW7yp30X1byCtZhm6DCdo3pWK+vuoHrJ1NHvkesTeSRNk14ejDPWfDYWNgHDg==",
"cpu": [
"arm64"
],
@ -2669,9 +2679,9 @@
]
},
"node_modules/@vercel/vc-native-darwin-x64": {
"version": "59.11.7",
"resolved": "https://registry.npmjs.org/@vercel/vc-native-darwin-x64/-/vc-native-darwin-x64-59.11.7.tgz",
"integrity": "sha512-SAwmxo3kfCXWO32Iq9A1VMVRVWi0B0G1zCPO16Fiuz0eFK/PZRnWXbA2J68U6W3hkf4nCpC6IEagNBhJudA72w==",
"version": "59.13.1",
"resolved": "https://registry.npmjs.org/@vercel/vc-native-darwin-x64/-/vc-native-darwin-x64-59.13.1.tgz",
"integrity": "sha512-syRdmkuvIoUWRqWUobfLd4QJN72PfB7KgPS29ah3h0Bivj9N8WL8ofJNv2UYO/59jugmWroCcTHAtuBvXTPdqg==",
"cpu": [
"x64"
],
@ -2682,9 +2692,9 @@
]
},
"node_modules/@vercel/vc-native-linux-arm64": {
"version": "59.11.7",
"resolved": "https://registry.npmjs.org/@vercel/vc-native-linux-arm64/-/vc-native-linux-arm64-59.11.7.tgz",
"integrity": "sha512-UbyQVlA59SPsQmSfUUAdMm37bOVJti/GbcsEF4QwFIsWjjV2wPFJkfzSICeE25xw/TSWCNmVD4GqjXJEnzAGcQ==",
"version": "59.13.1",
"resolved": "https://registry.npmjs.org/@vercel/vc-native-linux-arm64/-/vc-native-linux-arm64-59.13.1.tgz",
"integrity": "sha512-vWLGdCrQSGUuS4csFCAZ2rpQ2MJkxfFoLFcOkPA5xT0Nwgoc7CQLBLxZm3ri0DUXTFU4phrdav00e3rlgV6C+Q==",
"cpu": [
"arm64"
],
@ -2695,9 +2705,9 @@
]
},
"node_modules/@vercel/vc-native-linux-x64": {
"version": "59.11.7",
"resolved": "https://registry.npmjs.org/@vercel/vc-native-linux-x64/-/vc-native-linux-x64-59.11.7.tgz",
"integrity": "sha512-zabEvXd4VDxV8kYl1vXHBqJGiG354EWrEAoJD+zTuwQxu4bM38nZON96OvsQEGJt4Q1WG0cjFwPFfqEugrUOfQ==",
"version": "59.13.1",
"resolved": "https://registry.npmjs.org/@vercel/vc-native-linux-x64/-/vc-native-linux-x64-59.13.1.tgz",
"integrity": "sha512-sZlkpA+1NqeLEilNSeo/A0QnxtnvY8hT5C2YAzRupfAmXQFcPvppfu2bz7eQOua1msJJFQDi9V9Au+KJCbSfdg==",
"cpu": [
"x64"
],
@ -4251,12 +4261,12 @@
"license": "MIT"
},
"node_modules/sandbox": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/sandbox/-/sandbox-4.2.1.tgz",
"integrity": "sha512-e7D/gnq4Q8M4SUDRCtKo8CtsZX9jntdzzteIBhuuTOe5+wpfEqOZsNnAqbqiEakOnoctRAbAuc2fdoj+iopmuA==",
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/sandbox/-/sandbox-4.3.0.tgz",
"integrity": "sha512-AmxuGAe8kbQNOUl8WeAbr42H8UXJ2w2MJyDCGClkKvRwxPA9Hvz+5BgYoLNmO9N66RzAetpB+8Ix/bVlMJ5pPg==",
"license": "Apache-2.0",
"dependencies": {
"@vercel/sandbox": "3.2.1",
"@vercel/sandbox": "3.2.2",
"async-retry": "1.3.3",
"debug": "^4.4.1",
"ws": "^8.21.0",
@ -4673,38 +4683,38 @@
}
},
"node_modules/vercel": {
"version": "59.11.7",
"resolved": "https://registry.npmjs.org/vercel/-/vercel-59.11.7.tgz",
"integrity": "sha512-C+L/JKmlGDypKGcTU/atckydeK/AKa/7fKwUbvcwveguV1QPlY8beiIGgbwkdbb80bbIpPFHRQYrhi5XPAmCBA==",
"version": "59.13.1",
"resolved": "https://registry.npmjs.org/vercel/-/vercel-59.13.1.tgz",
"integrity": "sha512-sBxGOvWru8BFdCaqlRhtARTAWDL4FV+Q8APcN63lnOEryTXRce1z3DBWzaakpsts+uF1Sy9MdrTft0zPOWpGuA==",
"license": "Apache-2.0",
"dependencies": {
"@vercel/backends": "7.0.2",
"@vercel/backends": "7.0.3",
"@vercel/blob": "2.8.0",
"@vercel/build-utils": "14.9.1",
"@vercel/cli-auth": "0.3.5",
"@vercel/cli-config": "0.2.4",
"@vercel/container": "7.0.1",
"@vercel/build-utils": "14.9.2",
"@vercel/cli-auth": "0.3.6",
"@vercel/cli-config": "0.2.5",
"@vercel/container": "7.0.2",
"@vercel/detect-agent": "1.2.5",
"@vercel/elysia": "7.0.1",
"@vercel/express": "7.0.2",
"@vercel/fastify": "7.0.1",
"@vercel/elysia": "7.0.2",
"@vercel/express": "7.0.3",
"@vercel/fastify": "7.0.2",
"@vercel/fun": "1.3.0",
"@vercel/go": "10.0.1",
"@vercel/h3": "7.0.1",
"@vercel/hono": "7.0.1",
"@vercel/hydrogen": "8.0.1",
"@vercel/koa": "7.0.1",
"@vercel/nestjs": "7.0.1",
"@vercel/next": "11.0.2",
"@vercel/node": "12.0.1",
"@vercel/go": "10.1.0",
"@vercel/h3": "7.0.2",
"@vercel/hono": "7.0.2",
"@vercel/hydrogen": "8.0.2",
"@vercel/koa": "7.0.2",
"@vercel/nestjs": "7.0.2",
"@vercel/next": "11.0.3",
"@vercel/node": "12.0.2",
"@vercel/prepare-flags-definitions": "0.3.0",
"@vercel/python": "13.0.1",
"@vercel/python": "13.0.2",
"@vercel/python-analysis": "0.14.0",
"@vercel/redwood": "9.0.1",
"@vercel/remix-builder": "12.0.1",
"@vercel/ruby": "9.0.1",
"@vercel/rust": "8.0.1",
"@vercel/static-build": "9.0.1",
"@vercel/redwood": "9.0.2",
"@vercel/remix-builder": "12.0.2",
"@vercel/ruby": "9.0.2",
"@vercel/rust": "8.0.2",
"@vercel/static-build": "9.0.2",
"chokidar": "4.0.0",
"esbuild": "0.27.0",
"jose": "5.9.6",
@ -4724,10 +4734,20 @@
"node": ">= 18"
},
"optionalDependencies": {
"@vercel/vc-native-darwin-arm64": "59.11.7",
"@vercel/vc-native-darwin-x64": "59.11.7",
"@vercel/vc-native-linux-arm64": "59.11.7",
"@vercel/vc-native-linux-x64": "59.11.7"
"@vercel/vc-native-darwin-arm64": "59.13.1",
"@vercel/vc-native-darwin-x64": "59.13.1",
"@vercel/vc-native-linux-arm64": "59.13.1",
"@vercel/vc-native-linux-x64": "59.13.1"
}
},
"node_modules/vercel/node_modules/@vercel/cli-config": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/@vercel/cli-config/-/cli-config-0.2.5.tgz",
"integrity": "sha512-WniFxgznIPZ3h1USCLxArTyvR2a3/lvZW5mSSkuI2r8rQWEzUV8qnKXJEOFrVnVWe2YDxeCVMgZoxIH4kHA92Q==",
"license": "Apache-2.0",
"dependencies": {
"xdg-app-paths": "5",
"zod": "4.1.11"
}
},
"node_modules/vercel/node_modules/@vercel/sandbox": {

View file

@ -3,8 +3,8 @@
"private": true,
"version": "1.0.0",
"dependencies": {
"sandbox": "4.2.1",
"vercel": "59.11.7"
"sandbox": "4.3.0",
"vercel": "59.13.1"
},
"overrides": {
"@tootallnate/once@2.0.0": "2.0.1",

View file

@ -253,7 +253,7 @@ jobs:
set -euo pipefail
bundle _2.6.9_ install --jobs 4 --retry 3
bundle _2.6.9_ check
test "$(bundle _2.6.9_ exec ruby -e 'require "fastlane"; print Fastlane::VERSION')" = "2.238.0"
test "$(bundle _2.6.9_ exec ruby -e 'require "fastlane"; print Fastlane::VERSION')" = "2.239.0"
- name: Revalidate release authority immediately before signing access
uses: ./apps/android/build/mobile-release-ci/authority/.github/actions/mobile-release-authority

View file

@ -81,7 +81,7 @@ concurrency:
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
IOS_SCREENSHOT_FASTLANE_VERSION: "2.238.0"
IOS_SCREENSHOT_FASTLANE_VERSION: "2.239.0"
IOS_SCREENSHOT_NODE_VERSION: "24.16.0"
IOS_SCREENSHOT_XCODE_VERSION: "Xcode 26.6 Build version 17F113"
NODE_VERSION: "24.x"
@ -3814,7 +3814,7 @@ jobs:
# protected boundary lane may publish this repository-global snapshot.
- name: Mount extension boundary sticky disk
if: matrix.task == 'lint' && steps.extension-boundary-inputs.outputs.enabled == 'true' && vars.OPENCLAW_CI_RUNNER_BACKEND != 'github' && vars.OPENCLAW_CI_RUNNER_BACKEND != 'hybrid' && github.event_name != 'workflow_dispatch' && github.repository == 'openclaw/openclaw' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'openclaw/openclaw')
uses: useblacksmith/stickydisk@35ba2e331a80056a42af053ee54968511de2b7c7 # v1.5.0
uses: useblacksmith/stickydisk@74f3f01ab1392726dd6ee06904f0452b0ec1e151 # v1.6.0
with:
# One stable disk for the whole repository. The v1 per-PR/per-config
# keys minted a new backing disk for every PR and toolchain change
@ -4306,7 +4306,7 @@ jobs:
# repository-global snapshots, so they keep the GitHub cache path.
- name: Mount extension boundary sticky disk
if: matrix.group == 'extension-package-boundary' && steps.extension-boundary-inputs.outputs.enabled == 'true' && vars.OPENCLAW_CI_RUNNER_BACKEND != 'github' && vars.OPENCLAW_CI_RUNNER_BACKEND != 'hybrid' && github.event_name != 'workflow_dispatch' && github.repository == 'openclaw/openclaw' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'openclaw/openclaw')
uses: useblacksmith/stickydisk@35ba2e331a80056a42af053ee54968511de2b7c7 # v1.5.0
uses: useblacksmith/stickydisk@74f3f01ab1392726dd6ee06904f0452b0ec1e151 # v1.6.0
with:
# One stable disk for the whole repository. The v1 per-PR/per-config
# keys minted a new backing disk for every PR and toolchain change
@ -5697,7 +5697,7 @@ jobs:
# runs-on already selects non-Blacksmith ubuntu-24.04 runners).
- name: Mount Gradle sticky disk
if: vars.OPENCLAW_CI_RUNNER_BACKEND != 'github' && !(vars.OPENCLAW_CI_RUNNER_BACKEND == 'hybrid' && github.run_attempt > 1) && github.event_name != 'workflow_dispatch' && github.repository == 'openclaw/openclaw' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'openclaw/openclaw')
uses: useblacksmith/stickydisk@35ba2e331a80056a42af053ee54968511de2b7c7 # v1.5.0
uses: useblacksmith/stickydisk@74f3f01ab1392726dd6ee06904f0452b0ec1e151 # v1.6.0
with:
# One stable disk per matrix task. The v1 per-PR/per-dependency-hash
# keys minted a new backing disk for every PR and dependency bump

View file

@ -29,7 +29,7 @@ jobs:
submodules: false
- name: Setup Java
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0
uses: actions/setup-java@dd06d9cba3e5552c54d9f8ea23572deb30010f7c # v6.0.0
with:
distribution: temurin
java-version: "21"
@ -41,7 +41,7 @@ jobs:
install-bun: "false"
- name: Initialize CodeQL
uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
languages: java-kotlin
build-mode: manual
@ -52,6 +52,6 @@ jobs:
run: ./gradlew --no-daemon :app:assemblePlayDebug
- name: Analyze
uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
category: "/codeql-critical-security/android"

View file

@ -342,13 +342,13 @@ jobs:
submodules: false
- name: Initialize CodeQL
uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
languages: javascript-typescript
config-file: ./.github/codeql/codeql-core-auth-secrets-critical-quality.yml
- name: Analyze
uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
category: "/codeql-critical-quality/core-auth-secrets"
@ -365,13 +365,13 @@ jobs:
submodules: false
- name: Initialize CodeQL
uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
languages: javascript-typescript
config-file: ./.github/codeql/codeql-config-boundary-critical-quality.yml
- name: Analyze
uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
category: "/codeql-critical-quality/config-boundary"
@ -388,13 +388,13 @@ jobs:
submodules: false
- name: Initialize CodeQL
uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
languages: javascript-typescript
config-file: ./.github/codeql/codeql-gateway-runtime-boundary-critical-quality.yml
- name: Analyze
uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
category: "/codeql-critical-quality/gateway-runtime-boundary"
@ -411,13 +411,13 @@ jobs:
submodules: false
- name: Initialize CodeQL
uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
languages: javascript-typescript
config-file: ./.github/codeql/codeql-channel-runtime-boundary-critical-quality.yml
- name: Analyze
uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
category: "/codeql-critical-quality/channel-runtime-boundary"
@ -487,7 +487,7 @@ jobs:
- name: Initialize CodeQL
id: init-network-codeql
if: ${{ github.event_name != 'pull_request' || steps.network-diff-scan.outputs.full_codeql == 'true' }}
uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
languages: javascript-typescript
config-file: ./.github/codeql/codeql-network-runtime-boundary-critical-quality.yml
@ -503,7 +503,7 @@ jobs:
- name: Analyze
id: analyze
if: ${{ github.event_name != 'pull_request' || steps.network-diff-scan.outputs.full_codeql == 'true' }}
uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
output: sarif-results
category: "/codeql-critical-quality/network-runtime-boundary"
@ -553,13 +553,13 @@ jobs:
submodules: false
- name: Initialize CodeQL
uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
languages: javascript-typescript
config-file: ./.github/codeql/codeql-agent-runtime-boundary-critical-quality.yml
- name: Analyze
uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
category: "/codeql-critical-quality/agent-runtime-boundary"
@ -576,13 +576,13 @@ jobs:
submodules: false
- name: Initialize CodeQL
uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
languages: javascript-typescript
config-file: ./.github/codeql/codeql-mcp-process-runtime-boundary-critical-quality.yml
- name: Analyze
uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
category: "/codeql-critical-quality/mcp-process-runtime-boundary"
@ -599,13 +599,13 @@ jobs:
submodules: false
- name: Initialize CodeQL
uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
languages: javascript-typescript
config-file: ./.github/codeql/codeql-memory-runtime-boundary-critical-quality.yml
- name: Analyze
uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
category: "/codeql-critical-quality/memory-runtime-boundary"
@ -622,13 +622,13 @@ jobs:
submodules: false
- name: Initialize CodeQL
uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
languages: javascript-typescript
config-file: ./.github/codeql/codeql-session-diagnostics-boundary-critical-quality.yml
- name: Analyze
uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
category: "/codeql-critical-quality/session-diagnostics-boundary"
@ -645,13 +645,13 @@ jobs:
submodules: false
- name: Initialize CodeQL
uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
languages: javascript-typescript
config-file: ./.github/codeql/codeql-plugin-sdk-reply-runtime-critical-quality.yml
- name: Analyze
uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
category: "/codeql-critical-quality/plugin-sdk-reply-runtime"
@ -668,13 +668,13 @@ jobs:
submodules: false
- name: Initialize CodeQL
uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
languages: javascript-typescript
config-file: ./.github/codeql/codeql-provider-runtime-boundary-critical-quality.yml
- name: Analyze
uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
category: "/codeql-critical-quality/provider-runtime-boundary"
@ -690,13 +690,13 @@ jobs:
submodules: false
- name: Initialize CodeQL
uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
languages: javascript-typescript
config-file: ./.github/codeql/codeql-ui-control-plane-critical-quality.yml
- name: Analyze
uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
category: "/codeql-critical-quality/ui-control-plane"
@ -712,13 +712,13 @@ jobs:
submodules: false
- name: Initialize CodeQL
uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
languages: javascript-typescript
config-file: ./.github/codeql/codeql-web-media-runtime-boundary-critical-quality.yml
- name: Analyze
uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
category: "/codeql-critical-quality/web-media-runtime-boundary"
@ -735,13 +735,13 @@ jobs:
submodules: false
- name: Initialize CodeQL
uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
languages: javascript-typescript
config-file: ./.github/codeql/codeql-plugin-boundary-critical-quality.yml
- name: Analyze
uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
category: "/codeql-critical-quality/plugin-boundary"
@ -758,12 +758,12 @@ jobs:
submodules: false
- name: Initialize CodeQL
uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
languages: javascript-typescript
config-file: ./.github/codeql/codeql-plugin-sdk-package-contract-critical-quality.yml
- name: Analyze
uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
category: "/codeql-critical-quality/plugin-sdk-package-contract"

View file

@ -98,7 +98,7 @@ jobs:
path: apps/shared/OpenClawKit/Sources/OpenClawChatUI/Resources/Mermaid
- name: Initialize CodeQL
uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
languages: swift
build-mode: manual
@ -110,7 +110,7 @@ jobs:
- name: Analyze
id: analyze
uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
output: sarif-results
upload: failure-only
@ -147,7 +147,7 @@ jobs:
done
- name: Upload filtered SARIF
uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/upload-sarif@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
sarif_file: sarif-results-filtered
category: "/codeql-critical-security/macos"

View file

@ -119,12 +119,12 @@ jobs:
.github/codeql
- name: Initialize CodeQL
uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
languages: ${{ matrix.language }}
config-file: ${{ matrix.config_file }}
- name: Analyze
uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
category: "/codeql-security-high/${{ matrix.category }}"

View file

@ -158,7 +158,7 @@ jobs:
persist-credentials: false
- name: Set up Blacksmith Docker Builder
uses: useblacksmith/setup-docker-builder@a5256a73e30f09e37e3eceb8ca36043d17621d24 # v2.1.0
uses: useblacksmith/setup-docker-builder@19215110ab936351210feebdfa5b440b4493e184 # v2.2.0
with:
cache-key: Dockerfile
@ -373,7 +373,7 @@ jobs:
NODE
- name: Set up Blacksmith Docker Builder
uses: useblacksmith/setup-docker-builder@a5256a73e30f09e37e3eceb8ca36043d17621d24 # v2.1.0
uses: useblacksmith/setup-docker-builder@19215110ab936351210feebdfa5b440b4493e184 # v2.2.0
with:
cache-key: Dockerfile
@ -710,7 +710,7 @@ jobs:
test -s "${RUNNER_TEMP}/candidate.tar.gz"
- name: Set up Blacksmith Docker Builder
uses: useblacksmith/setup-docker-builder@a5256a73e30f09e37e3eceb8ca36043d17621d24 # v2.1.0
uses: useblacksmith/setup-docker-builder@19215110ab936351210feebdfa5b440b4493e184 # v2.2.0
with:
cache-key: scripts/docker/install-sh-smoke/Dockerfile
@ -859,7 +859,7 @@ jobs:
- *trusted_workflow_subdir_identity_step
- name: Set up Blacksmith Docker Builder
uses: useblacksmith/setup-docker-builder@a5256a73e30f09e37e3eceb8ca36043d17621d24 # v2.1.0
uses: useblacksmith/setup-docker-builder@19215110ab936351210feebdfa5b440b4493e184 # v2.2.0
with:
cache-key: scripts/docker/install-sh-smoke/Dockerfile
@ -932,7 +932,7 @@ jobs:
- *trusted_workflow_subdir_identity_step
- name: Set up Blacksmith Docker Builder
uses: useblacksmith/setup-docker-builder@a5256a73e30f09e37e3eceb8ca36043d17621d24 # v2.1.0
uses: useblacksmith/setup-docker-builder@19215110ab936351210feebdfa5b440b4493e184 # v2.2.0
with:
cache-key: scripts/docker/install-sh-nonroot/Dockerfile
@ -1474,7 +1474,7 @@ jobs:
persist-credentials: false
- name: Set up Blacksmith Docker Builder
uses: useblacksmith/setup-docker-builder@a5256a73e30f09e37e3eceb8ca36043d17621d24 # v2.1.0
uses: useblacksmith/setup-docker-builder@19215110ab936351210feebdfa5b440b4493e184 # v2.2.0
with:
cache-key: scripts/e2e/Dockerfile

View file

@ -210,7 +210,7 @@ jobs:
set -euo pipefail
bundle _2.6.9_ install --jobs 4 --retry 3
bundle _2.6.9_ check
test "$(bundle _2.6.9_ exec ruby -e 'require "fastlane"; print Fastlane::VERSION')" = "2.238.0"
test "$(bundle _2.6.9_ exec ruby -e 'require "fastlane"; print Fastlane::VERSION')" = "2.239.0"
- name: Select Xcode 26
run: |
@ -458,7 +458,7 @@ jobs:
set -euo pipefail
bundle _2.6.9_ install --jobs 4 --retry 3
bundle _2.6.9_ check
test "$(bundle _2.6.9_ exec ruby -e 'require "fastlane"; print Fastlane::VERSION')" = "2.238.0"
test "$(bundle _2.6.9_ exec ruby -e 'require "fastlane"; print Fastlane::VERSION')" = "2.239.0"
- name: Revalidate inspection authority immediately before credential access
id: inspection-authority

View file

@ -35,7 +35,7 @@ jobs:
password: ${{ github.token }}
- name: Set up Blacksmith Docker Builder
uses: useblacksmith/setup-docker-builder@a5256a73e30f09e37e3eceb8ca36043d17621d24 # v2.1.0
uses: useblacksmith/setup-docker-builder@19215110ab936351210feebdfa5b440b4493e184 # v2.2.0
with:
cache-key: .github/images/live-media-runner/Dockerfile

View file

@ -299,7 +299,7 @@ jobs:
persist-credentials: false
- name: Set up Blacksmith Docker Builder
uses: useblacksmith/setup-docker-builder@a5256a73e30f09e37e3eceb8ca36043d17621d24 # v2.1.0
uses: useblacksmith/setup-docker-builder@19215110ab936351210feebdfa5b440b4493e184 # v2.2.0
with:
cache-key: scripts/e2e/Dockerfile

View file

@ -3597,7 +3597,7 @@ jobs:
- name: Setup Docker builder
if: inputs.shared_image_policy == 'no-push-artifact'
uses: useblacksmith/setup-docker-builder@a5256a73e30f09e37e3eceb8ca36043d17621d24 # v2.1.0
uses: useblacksmith/setup-docker-builder@19215110ab936351210feebdfa5b440b4493e184 # v2.2.0
with:
cache-key: Dockerfile

View file

@ -1663,9 +1663,9 @@ jobs:
set -euo pipefail
pnpm_prefix="$RUNNER_TEMP/vitest-pair-pnpm"
npm_config_cache="$RUNNER_TEMP/vitest-pair-npm-cache" \
npm install --global --prefix "$pnpm_prefix" pnpm@12.3.4
npm install --global --prefix "$pnpm_prefix" pnpm@12.4.0
pnpm_bin="$pnpm_prefix/bin/pnpm"
[[ "$("$pnpm_bin" --version)" == "12.3.4" ]]
[[ "$("$pnpm_bin" --version)" == "12.4.0" ]]
echo "VITEST_PAIR_PNPM_BIN=$pnpm_bin" >> "$GITHUB_ENV"
- name: Run Vitest pair benchmark

View file

@ -34,8 +34,8 @@ jobs:
# Pin the official Linux asset and its published digest. The upstream
# installer validates tags through an unauthenticated GitHub API and
# can fail before scanning even when this fixed release is available.
OPENGREP_VERSION: v1.27.1
OPENGREP_LINUX_X64_SHA256: 58053da76672bbeb5b0a5441021c58338707052e10f81d777140ca879bd491ce
OPENGREP_VERSION: v1.30.0
OPENGREP_LINUX_X64_SHA256: 35779bdd72e92129c8df2a77f0c55e8c08356801ea92591ef32108d6b28d564c
run: |
set -euo pipefail
binary="$(mktemp "${RUNNER_TEMP}/opengrep.XXXXXX")"
@ -68,7 +68,7 @@ jobs:
> .opengrep-out/precise.github.sarif
- name: Upload SARIF to GitHub Code Scanning
uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/upload-sarif@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
# Never publish a partial conversion; the raw audit artifact stays intact.
if: always() && steps.github-sarif.outcome == 'success'
with:

View file

@ -74,8 +74,8 @@ jobs:
# Pin the official Linux asset and its published digest. The upstream
# installer validates tags through an unauthenticated GitHub API and
# can fail before scanning even when this fixed release is available.
OPENGREP_VERSION: v1.27.1
OPENGREP_LINUX_X64_SHA256: 58053da76672bbeb5b0a5441021c58338707052e10f81d777140ca879bd491ce
OPENGREP_VERSION: v1.30.0
OPENGREP_LINUX_X64_SHA256: 35779bdd72e92129c8df2a77f0c55e8c08356801ea92591ef32108d6b28d564c
run: |
set -euo pipefail
binary="$(mktemp "${RUNNER_TEMP}/opengrep.XXXXXX")"
@ -112,7 +112,7 @@ jobs:
> .opengrep-out/precise.github.sarif
- name: Upload SARIF to GitHub Code Scanning
uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
uses: github/codeql-action/upload-sarif@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
# Never publish a partial conversion; the raw audit artifact stays intact.
if: always() && steps.github-sarif.outcome == 'success'
with:

View file

@ -483,7 +483,7 @@ jobs:
submodules: false
- name: Setup trusted scanner TypeScript runtime
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0
with:
node-version: "24.x"
@ -532,7 +532,7 @@ jobs:
submodules: false
- name: Setup trusted scanner TypeScript runtime
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0
with:
node-version: "24.x"

View file

@ -2,4 +2,4 @@ source "https://rubygems.org"
ruby "3.4.10"
gem "fastlane", "2.238.0"
gem "fastlane", "2.239.0"

View file

@ -8,7 +8,7 @@ GEM
artifactory (3.0.17)
atomos (0.1.3)
aws-eventstream (1.4.0)
aws-partitions (1.1283.0)
aws-partitions (1.1284.0)
aws-sdk-core (3.254.1)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
@ -20,7 +20,7 @@ GEM
aws-sdk-kms (1.130.0)
aws-sdk-core (~> 3, >= 3.254.0)
aws-sigv4 (~> 1.5)
aws-sdk-s3 (1.229.0)
aws-sdk-s3 (1.230.0)
aws-sdk-core (~> 3, >= 3.254.1)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.5)
@ -39,7 +39,7 @@ GEM
declarative (0.0.20)
digest-crc (0.7.0)
rake (>= 12.0.0, < 14.0.0)
domain_name (0.6.20260829)
domain_name (0.6.20260902)
dotenv (2.8.1)
emoji_regex (3.2.3)
erb (6.0.7)
@ -61,7 +61,7 @@ GEM
faraday-retry (2.4.0)
faraday (~> 2.0)
fastimage (2.4.1)
fastlane (2.238.0)
fastlane (2.239.0)
CFPropertyList (>= 2.3, < 5.0.0)
abbrev (~> 0.1)
addressable (>= 2.9.0, < 3.0.0)
@ -85,12 +85,11 @@ GEM
fastimage (>= 2.1.0, < 3.0.0)
fastlane-sirp (>= 1.1.0)
gh_inspector (>= 1.1.2, < 2.0.0)
google-apis-androidpublisher_v3 (~> 0.3)
google-apis-androidpublisher_v3 (~> 0.99.0)
google-apis-playcustomapp_v1 (~> 0.1)
google-cloud-env (>= 1.6.0, < 2.3.0)
google-cloud-env (>= 1.6.0, < 2.4.0)
google-cloud-storage (~> 1.31)
highline (~> 2.0)
http-cookie (~> 1.0.5)
irb (>= 1.8)
json (< 3.0.0)
jwt (>= 2.10.3, < 4)
@ -117,7 +116,7 @@ GEM
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
fastlane-sirp (1.1.0)
gh_inspector (1.1.3)
google-apis-androidpublisher_v3 (0.107.0)
google-apis-androidpublisher_v3 (0.99.0)
google-apis-core (>= 0.15.0, < 2.a)
google-apis-core (1.2.5)
addressable (~> 2.9)
@ -132,12 +131,12 @@ GEM
google-apis-core (>= 0.15.0, < 2.a)
google-apis-playcustomapp_v1 (0.18.0)
google-apis-core (>= 0.15.0, < 2.a)
google-apis-storage_v1 (0.66.0)
google-apis-storage_v1 (0.67.0)
google-apis-core (>= 0.15.0, < 2.a)
google-cloud-core (1.9.0)
google-cloud-env (>= 1.0, < 3.a)
google-cloud-errors (~> 1.0)
google-cloud-env (2.2.2)
google-cloud-env (2.3.1)
base64 (~> 0.2)
faraday (>= 1.0, < 3.a)
google-cloud-errors (1.7.0)
@ -160,7 +159,7 @@ GEM
pstore (~> 0.1)
signet (>= 0.16, < 2.a)
highline (2.0.3)
http-cookie (1.0.8)
http-cookie (1.1.6)
domain_name (~> 0.5)
io-console (0.9.2)
irb (1.18.0)
@ -175,7 +174,7 @@ GEM
logger (1.7.0)
mini_magick (4.13.2)
mini_mime (1.1.5)
multi_json (1.21.1)
multi_json (1.21.2)
multipart-post (2.4.1)
mutex_m (0.3.0)
nanaimo (0.4.0)
@ -257,7 +256,7 @@ PLATFORMS
x86_64-linux
DEPENDENCIES
fastlane (= 2.238.0)
fastlane (= 2.239.0)
CHECKSUMS
CFPropertyList (3.0.8) sha256=2c99d0d980536d3d7ab252f7bd59ac8be50fbdd1ff487c98c949bb66bb114261
@ -266,10 +265,10 @@ CHECKSUMS
artifactory (3.0.17) sha256=3023d5c964c31674090d655a516f38ca75665c15084140c08b7f2841131af263
atomos (0.1.3) sha256=7d43b22f2454a36bace5532d30785b06de3711399cb1c6bf932573eda536789f
aws-eventstream (1.4.0) sha256=116bf85c436200d1060811e6f5d2d40c88f65448f2125bc77ffce5121e6e183b
aws-partitions (1.1283.0) sha256=125ba9cb65eb7ec2b0a2041a47d204d403b3f6d9aa62bffa53a6b95b04b1f1de
aws-partitions (1.1284.0) sha256=026432da13da430a31ba7c30c0c210b35fa7d738399977f033d4a5a354de58dc
aws-sdk-core (3.254.1) sha256=518089e32134c3478cd4ec63d07fb966546a45e9e4cbf5f80d2cf16d5699d29b
aws-sdk-kms (1.130.0) sha256=a2e83662ca31b77a2a19c9aa2f40a98165a67270c18c718fe1c70d0cbd7cd749
aws-sdk-s3 (1.229.0) sha256=7dd11a111875b3505d2ec0a0a383a6aab6c1badb3d4e94e7fbb958a24451f596
aws-sdk-s3 (1.230.0) sha256=cf9157b0760fd8260b5890ce4d5d841539b423c0333b6394362a76d797d3fc73
aws-sigv4 (1.12.1) sha256=6973ff95cb0fd0dc58ba26e90e9510a2219525d07620c8babeb70ef831826c00
babosa (1.0.4) sha256=18dea450f595462ed7cb80595abd76b2e535db8c91b350f6c4b3d73986c5bc99
base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
@ -282,7 +281,7 @@ CHECKSUMS
csv (3.3.6) sha256=aba61e7e507a66f03d45cb1f3c4b6359861c3504038b422962875dce099e4456
declarative (0.0.20) sha256=8021dd6cb17ab2b61233c56903d3f5a259c5cf43c80ff332d447d395b17d9ff9
digest-crc (0.7.0) sha256=64adc23a26a241044cbe6732477ca1b3c281d79e2240bcff275a37a5a0d78c07
domain_name (0.6.20260829) sha256=a9c1aa678423b9db3a4193b300fd76b9c21cb2a5f60d7dcf0a832b82d13764f0
domain_name (0.6.20260902) sha256=4fac7f8e0a77dc85ec02f6534fdeff38e143d434ab8a86528fe68ca5bc45a042
dotenv (2.8.1) sha256=c5944793349ae03c432e1780a2ca929d60b88c7d14d52d630db0508c3a8a17d8
emoji_regex (3.2.3) sha256=ecd8be856b7691406c6bf3bb3a5e55d6ed683ffab98b4aa531bb90e1ddcc564b
erb (6.0.7) sha256=c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92
@ -294,22 +293,22 @@ CHECKSUMS
faraday-net_http (3.4.4) sha256=0e78af151747ed1b00f33e25973b4bc220d7f16c00c39676817c8b12331eb588
faraday-retry (2.4.0) sha256=7b79c48fb7e56526faf247b12d94a680071ff40c9fda7cf1ec1549439ad11ebe
fastimage (2.4.1) sha256=c64bebd46b6fd8943ab70c1e6e85ff728f970f2e48f92ecd249b6bc3a540ad20
fastlane (2.238.0) sha256=78e9252df2224c7e427012638e41051edfa29b133a40fda883fd2f1c13a77b98
fastlane (2.239.0) sha256=6d99c0ea639f44fd4ebb53d442e5557e9a64159e6ca60ba1f38517cfe02c5689
fastlane-sirp (1.1.0) sha256=10bc94f9682efd8e1badfb31452a76dd8981f1f3a33717c765fde6d75b54d847
gh_inspector (1.1.3) sha256=04cca7171b87164e053aa43147971d3b7f500fcb58177698886b48a9fc4a1939
google-apis-androidpublisher_v3 (0.107.0) sha256=b8207eecc89e6a9f7ea11aa88a07bccdcae5ca90121330079db4ef4696a2f3ff
google-apis-androidpublisher_v3 (0.99.0) sha256=a0452fdd99cb7672cc95cac07429305f8aaee54c22e4875224cf675b1ab59729
google-apis-core (1.2.5) sha256=e21562b5627a0fc6a0c3165e429c3afed0f6a628eaa514e83f7204dda1adff69
google-apis-iamcredentials_v1 (0.28.0) sha256=0a92ffe6cc39c569554af2a77a25dfc61519ed8bbb64ab04cffdd352dc5ef106
google-apis-playcustomapp_v1 (0.18.0) sha256=44b277b9dee4a59ac5e9d98be1485edc5e382d2f9d73c79ae8908a455786a254
google-apis-storage_v1 (0.66.0) sha256=fdf6d65d3fc77e7046b3494333a818ece9e2afd763bb161e1a7a9e70cf198351
google-apis-storage_v1 (0.67.0) sha256=13befc89bf03512783f535d214590f15993b0c56411155fd8090ca607e1b8d20
google-cloud-core (1.9.0) sha256=ab55409f51488e8deefb6edcc1ce4771dfb5da2fe7b3bc075709a030c2b682a4
google-cloud-env (2.2.2) sha256=94bed40e05a67e9468ce1cb38389fba9a90aa8fc62fc9e173204c1dca59e21e7
google-cloud-env (2.3.1) sha256=0faac01eb27be78c2591d64433663b1a114f8f7af55a4f819755426cac9178e7
google-cloud-errors (1.7.0) sha256=6e682f42d89aae08689f36f28495de629d756da076bafff0003bac7f8042ebb3
google-cloud-storage (1.62.0) sha256=e2c3c08bf8fd40d50be92304084942203314d4fc0ee52028e99f9359c3ad1330
google-logging-utils (0.2.0) sha256=675462b4ea5affa825a3442694ca2d75d0069455a1d0956127207498fca3df7b
googleauth (1.17.4) sha256=acc2cac2a6011048f149c922cbc6c9675719e165aa5000c7fa3876c480fe9ae3
highline (2.0.3) sha256=2ddd5c127d4692721486f91737307236fe005352d12a4202e26c48614f719479
http-cookie (1.0.8) sha256=b14fe0445cf24bf9ae098633e9b8d42e4c07c3c1f700672b09fbfe32ffd41aa6
http-cookie (1.1.6) sha256=ba4b82be64de61dc281243dac70e3c382c45142f20268ed9276a3670c93feaa9
io-console (0.9.2) sha256=efa74f891dd03c0939a931dfc6e74c2813d904763d456ea9762b0525e748db08
irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
jmespath (1.6.2) sha256=238d774a58723d6c090494c8879b5e9918c19485f7e840f2c1c7532cf84ebcb1
@ -318,7 +317,7 @@ CHECKSUMS
logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
mini_magick (4.13.2) sha256=71d6258e0e8a3d04a9a0a09784d5d857b403a198a51dd4f882510435eb95ddd9
mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef
multi_json (1.21.1) sha256=e6126a31808e3b4d19f483c775ceac34df190dffa62adfb63a165ee14ba68080
multi_json (1.21.2) sha256=245531eaf54bdba57aba515ff08b4503505c5e09911daa89c5a561e2f85bea8e
multipart-post (2.4.1) sha256=9872d03a8e552020ca096adadbf5e3cb1cd1cdd6acd3c161136b8a5737cdb4a8
mutex_m (0.3.0) sha256=cfcb04ac16b69c4813777022fdceda24e9f798e48092a2b817eb4c0a782b0751
nanaimo (0.4.0) sha256=faf069551bab17f15169c1f74a1c73c220657e71b6e900919897a10d991d0723

View file

@ -28,7 +28,7 @@ junit-vintage = "6.1.3"
ksp = "2.3.11"
ktlint-cli = "1.8.0"
ktlint-gradle = "14.2.0"
kotlin = "2.4.10"
kotlin = "2.4.20"
material = "1.14.0"
media3 = "1.11.0"
okhttp = "5.5.0"

View file

@ -2,4 +2,4 @@ source "https://rubygems.org"
ruby "3.4.10"
gem "fastlane", "2.238.0"
gem "fastlane", "2.239.0"

View file

@ -8,7 +8,7 @@ GEM
artifactory (3.0.17)
atomos (0.1.3)
aws-eventstream (1.4.0)
aws-partitions (1.1283.0)
aws-partitions (1.1284.0)
aws-sdk-core (3.254.1)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
@ -20,7 +20,7 @@ GEM
aws-sdk-kms (1.130.0)
aws-sdk-core (~> 3, >= 3.254.0)
aws-sigv4 (~> 1.5)
aws-sdk-s3 (1.229.0)
aws-sdk-s3 (1.230.0)
aws-sdk-core (~> 3, >= 3.254.1)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.5)
@ -39,7 +39,7 @@ GEM
declarative (0.0.20)
digest-crc (0.7.0)
rake (>= 12.0.0, < 14.0.0)
domain_name (0.6.20260829)
domain_name (0.6.20260902)
dotenv (2.8.1)
emoji_regex (3.2.3)
erb (6.0.7)
@ -61,7 +61,7 @@ GEM
faraday-retry (2.4.0)
faraday (~> 2.0)
fastimage (2.4.1)
fastlane (2.238.0)
fastlane (2.239.0)
CFPropertyList (>= 2.3, < 5.0.0)
abbrev (~> 0.1)
addressable (>= 2.9.0, < 3.0.0)
@ -85,12 +85,11 @@ GEM
fastimage (>= 2.1.0, < 3.0.0)
fastlane-sirp (>= 1.1.0)
gh_inspector (>= 1.1.2, < 2.0.0)
google-apis-androidpublisher_v3 (~> 0.3)
google-apis-androidpublisher_v3 (~> 0.99.0)
google-apis-playcustomapp_v1 (~> 0.1)
google-cloud-env (>= 1.6.0, < 2.3.0)
google-cloud-env (>= 1.6.0, < 2.4.0)
google-cloud-storage (~> 1.31)
highline (~> 2.0)
http-cookie (~> 1.0.5)
irb (>= 1.8)
json (< 3.0.0)
jwt (>= 2.10.3, < 4)
@ -117,7 +116,7 @@ GEM
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
fastlane-sirp (1.1.0)
gh_inspector (1.1.3)
google-apis-androidpublisher_v3 (0.107.0)
google-apis-androidpublisher_v3 (0.99.0)
google-apis-core (>= 0.15.0, < 2.a)
google-apis-core (1.2.5)
addressable (~> 2.9)
@ -132,12 +131,12 @@ GEM
google-apis-core (>= 0.15.0, < 2.a)
google-apis-playcustomapp_v1 (0.18.0)
google-apis-core (>= 0.15.0, < 2.a)
google-apis-storage_v1 (0.66.0)
google-apis-storage_v1 (0.67.0)
google-apis-core (>= 0.15.0, < 2.a)
google-cloud-core (1.9.0)
google-cloud-env (>= 1.0, < 3.a)
google-cloud-errors (~> 1.0)
google-cloud-env (2.2.2)
google-cloud-env (2.3.1)
base64 (~> 0.2)
faraday (>= 1.0, < 3.a)
google-cloud-errors (1.7.0)
@ -160,7 +159,7 @@ GEM
pstore (~> 0.1)
signet (>= 0.16, < 2.a)
highline (2.0.3)
http-cookie (1.0.8)
http-cookie (1.1.6)
domain_name (~> 0.5)
io-console (0.9.2)
irb (1.18.0)
@ -175,7 +174,7 @@ GEM
logger (1.7.0)
mini_magick (4.13.2)
mini_mime (1.1.5)
multi_json (1.21.1)
multi_json (1.21.2)
multipart-post (2.4.1)
mutex_m (0.3.0)
nanaimo (0.4.0)
@ -255,7 +254,7 @@ PLATFORMS
x86_64-darwin
DEPENDENCIES
fastlane (= 2.238.0)
fastlane (= 2.239.0)
CHECKSUMS
CFPropertyList (3.0.8) sha256=2c99d0d980536d3d7ab252f7bd59ac8be50fbdd1ff487c98c949bb66bb114261
@ -264,10 +263,10 @@ CHECKSUMS
artifactory (3.0.17) sha256=3023d5c964c31674090d655a516f38ca75665c15084140c08b7f2841131af263
atomos (0.1.3) sha256=7d43b22f2454a36bace5532d30785b06de3711399cb1c6bf932573eda536789f
aws-eventstream (1.4.0) sha256=116bf85c436200d1060811e6f5d2d40c88f65448f2125bc77ffce5121e6e183b
aws-partitions (1.1283.0) sha256=125ba9cb65eb7ec2b0a2041a47d204d403b3f6d9aa62bffa53a6b95b04b1f1de
aws-partitions (1.1284.0) sha256=026432da13da430a31ba7c30c0c210b35fa7d738399977f033d4a5a354de58dc
aws-sdk-core (3.254.1) sha256=518089e32134c3478cd4ec63d07fb966546a45e9e4cbf5f80d2cf16d5699d29b
aws-sdk-kms (1.130.0) sha256=a2e83662ca31b77a2a19c9aa2f40a98165a67270c18c718fe1c70d0cbd7cd749
aws-sdk-s3 (1.229.0) sha256=7dd11a111875b3505d2ec0a0a383a6aab6c1badb3d4e94e7fbb958a24451f596
aws-sdk-s3 (1.230.0) sha256=cf9157b0760fd8260b5890ce4d5d841539b423c0333b6394362a76d797d3fc73
aws-sigv4 (1.12.1) sha256=6973ff95cb0fd0dc58ba26e90e9510a2219525d07620c8babeb70ef831826c00
babosa (1.0.4) sha256=18dea450f595462ed7cb80595abd76b2e535db8c91b350f6c4b3d73986c5bc99
base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
@ -280,7 +279,7 @@ CHECKSUMS
csv (3.3.6) sha256=aba61e7e507a66f03d45cb1f3c4b6359861c3504038b422962875dce099e4456
declarative (0.0.20) sha256=8021dd6cb17ab2b61233c56903d3f5a259c5cf43c80ff332d447d395b17d9ff9
digest-crc (0.7.0) sha256=64adc23a26a241044cbe6732477ca1b3c281d79e2240bcff275a37a5a0d78c07
domain_name (0.6.20260829) sha256=a9c1aa678423b9db3a4193b300fd76b9c21cb2a5f60d7dcf0a832b82d13764f0
domain_name (0.6.20260902) sha256=4fac7f8e0a77dc85ec02f6534fdeff38e143d434ab8a86528fe68ca5bc45a042
dotenv (2.8.1) sha256=c5944793349ae03c432e1780a2ca929d60b88c7d14d52d630db0508c3a8a17d8
emoji_regex (3.2.3) sha256=ecd8be856b7691406c6bf3bb3a5e55d6ed683ffab98b4aa531bb90e1ddcc564b
erb (6.0.7) sha256=c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92
@ -292,22 +291,22 @@ CHECKSUMS
faraday-net_http (3.4.4) sha256=0e78af151747ed1b00f33e25973b4bc220d7f16c00c39676817c8b12331eb588
faraday-retry (2.4.0) sha256=7b79c48fb7e56526faf247b12d94a680071ff40c9fda7cf1ec1549439ad11ebe
fastimage (2.4.1) sha256=c64bebd46b6fd8943ab70c1e6e85ff728f970f2e48f92ecd249b6bc3a540ad20
fastlane (2.238.0) sha256=78e9252df2224c7e427012638e41051edfa29b133a40fda883fd2f1c13a77b98
fastlane (2.239.0) sha256=6d99c0ea639f44fd4ebb53d442e5557e9a64159e6ca60ba1f38517cfe02c5689
fastlane-sirp (1.1.0) sha256=10bc94f9682efd8e1badfb31452a76dd8981f1f3a33717c765fde6d75b54d847
gh_inspector (1.1.3) sha256=04cca7171b87164e053aa43147971d3b7f500fcb58177698886b48a9fc4a1939
google-apis-androidpublisher_v3 (0.107.0) sha256=b8207eecc89e6a9f7ea11aa88a07bccdcae5ca90121330079db4ef4696a2f3ff
google-apis-androidpublisher_v3 (0.99.0) sha256=a0452fdd99cb7672cc95cac07429305f8aaee54c22e4875224cf675b1ab59729
google-apis-core (1.2.5) sha256=e21562b5627a0fc6a0c3165e429c3afed0f6a628eaa514e83f7204dda1adff69
google-apis-iamcredentials_v1 (0.28.0) sha256=0a92ffe6cc39c569554af2a77a25dfc61519ed8bbb64ab04cffdd352dc5ef106
google-apis-playcustomapp_v1 (0.18.0) sha256=44b277b9dee4a59ac5e9d98be1485edc5e382d2f9d73c79ae8908a455786a254
google-apis-storage_v1 (0.66.0) sha256=fdf6d65d3fc77e7046b3494333a818ece9e2afd763bb161e1a7a9e70cf198351
google-apis-storage_v1 (0.67.0) sha256=13befc89bf03512783f535d214590f15993b0c56411155fd8090ca607e1b8d20
google-cloud-core (1.9.0) sha256=ab55409f51488e8deefb6edcc1ce4771dfb5da2fe7b3bc075709a030c2b682a4
google-cloud-env (2.2.2) sha256=94bed40e05a67e9468ce1cb38389fba9a90aa8fc62fc9e173204c1dca59e21e7
google-cloud-env (2.3.1) sha256=0faac01eb27be78c2591d64433663b1a114f8f7af55a4f819755426cac9178e7
google-cloud-errors (1.7.0) sha256=6e682f42d89aae08689f36f28495de629d756da076bafff0003bac7f8042ebb3
google-cloud-storage (1.62.0) sha256=e2c3c08bf8fd40d50be92304084942203314d4fc0ee52028e99f9359c3ad1330
google-logging-utils (0.2.0) sha256=675462b4ea5affa825a3442694ca2d75d0069455a1d0956127207498fca3df7b
googleauth (1.17.4) sha256=acc2cac2a6011048f149c922cbc6c9675719e165aa5000c7fa3876c480fe9ae3
highline (2.0.3) sha256=2ddd5c127d4692721486f91737307236fe005352d12a4202e26c48614f719479
http-cookie (1.0.8) sha256=b14fe0445cf24bf9ae098633e9b8d42e4c07c3c1f700672b09fbfe32ffd41aa6
http-cookie (1.1.6) sha256=ba4b82be64de61dc281243dac70e3c382c45142f20268ed9276a3670c93feaa9
io-console (0.9.2) sha256=efa74f891dd03c0939a931dfc6e74c2813d904763d456ea9762b0525e748db08
irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
jmespath (1.6.2) sha256=238d774a58723d6c090494c8879b5e9918c19485f7e840f2c1c7532cf84ebcb1
@ -316,7 +315,7 @@ CHECKSUMS
logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
mini_magick (4.13.2) sha256=71d6258e0e8a3d04a9a0a09784d5d857b403a198a51dd4f882510435eb95ddd9
mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef
multi_json (1.21.1) sha256=e6126a31808e3b4d19f483c775ceac34df190dffa62adfb63a165ee14ba68080
multi_json (1.21.2) sha256=245531eaf54bdba57aba515ff08b4503505c5e09911daa89c5a561e2f85bea8e
multipart-post (2.4.1) sha256=9872d03a8e552020ca096adadbf5e3cb1cd1cdd6acd3c161136b8a5737cdb4a8
mutex_m (0.3.0) sha256=cfcb04ac16b69c4813777022fdceda24e9f798e48092a2b817eb4c0a782b0751
nanaimo (0.4.0) sha256=faf069551bab17f15169c1f74a1c73c220657e71b6e900919897a10d991d0723

View file

@ -26,6 +26,7 @@ private func makeRealtimeAudioTapBlock(
final class IOSRealtimeTalkAudioCapture: RealtimeTalkAudioCapturing {
private static let bufferSize: AVAudioFrameCount = 2048
private let audioEngine = AVAudioEngine()
private var tappedInputNode: AVAudioInputNode?
var suppressesInputDuringOutput: Bool {
let outputs = AVAudioSession.sharedInstance().currentRoute.outputs
@ -55,12 +56,16 @@ final class IOSRealtimeTalkAudioCapture: RealtimeTalkAudioCapturing {
inputSampleRate: format.sampleRate,
targetSampleRate: targetSampleRate,
onAudio: onAudio))
self.tappedInputNode = input
self.audioEngine.prepare()
try self.audioEngine.start()
}
func stop() {
self.audioEngine.inputNode.removeTap(onBus: 0)
// Reading inputNode creates RemoteIO even when capture never started.
// Cold relay cancellation must only tear down an already installed tap.
self.tappedInputNode?.removeTap(onBus: 0)
self.tappedInputNode = nil
self.audioEngine.stop()
}
}

View file

@ -206,7 +206,7 @@ the uploader's concurrency group and revalidates the live actor, original run
attempt, trusted workflow lineage, and unchanged candidate before credential
access and again before retaining observations.
Only the trusted workflow-SHA checkout executes Node, Fastlane 2.238.0, and
Only the trusted workflow-SHA checkout executes Node, Fastlane 2.239.0, and
locked dependencies. The candidate checkout supplies version/changelog data;
none of its scripts, Fastfile, Gemfile, or actions execute. The canonical planner
runs against this data without a forced revision/build override. Its `plan.json`

View file

@ -341,9 +341,9 @@ dependencies = [
[[package]]
name = "blocking"
version = "1.6.2"
version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21"
checksum = "a70e4329df6cb94385eed412ec92375c3cdd8a6e502493d1229b6414e4036dfa"
dependencies = [
"async-channel",
"async-task",
@ -818,9 +818,9 @@ dependencies = [
[[package]]
name = "darling"
version = "0.23.0"
version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d"
checksum = "ed17f5901b6630b993ca003def43f2f8ef4014fc13b047b57aad617ff32bc2ec"
dependencies = [
"darling_core",
"darling_macro",
@ -828,26 +828,26 @@ dependencies = [
[[package]]
name = "darling_core"
version = "0.23.0"
version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0"
checksum = "6837e2cf7485aaae18f86181d2f0e9a7ed297a025e220aeabf63fdebd3a2ddff"
dependencies = [
"ident_case",
"proc-macro2",
"quote",
"strsim",
"syn 2.0.119",
"syn 3.0.5",
]
[[package]]
name = "darling_macro"
version = "0.23.0"
version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d"
checksum = "2ac7135c3ef02b2f7833bbeb1be5ba7f966dcde8a87c6b87f65a778d71a02785"
dependencies = [
"darling_core",
"quote",
"syn 2.0.119",
"syn 3.0.5",
]
[[package]]
@ -999,7 +999,7 @@ dependencies = [
"libc",
"option-ext",
"redox_users 0.5.2",
"windows-sys 0.61.2",
"windows-sys 0.59.0",
]
[[package]]
@ -1227,7 +1227,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
dependencies = [
"libc",
"windows-sys 0.61.2",
"windows-sys 0.59.0",
]
[[package]]
@ -1880,9 +1880,9 @@ checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87"
[[package]]
name = "hybrid-array"
version = "0.4.14"
version = "0.4.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "707114b52a152fa7bdb290cd7cd5912d9467273b6d74e21b8d81aca1f8533f6b"
checksum = "27f864f10dfb56725ce5ce5472bc52252c8f93a4ab86327122cebf62c5f59a17"
dependencies = [
"typenum",
]
@ -1957,7 +1957,7 @@ dependencies = [
"js-sys",
"log",
"wasm-bindgen",
"windows-core 0.62.2",
"windows-core",
]
[[package]]
@ -2156,9 +2156,9 @@ dependencies = [
[[package]]
name = "ipnet"
version = "2.12.1"
version = "2.12.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a756c3fac73139e83f14c2d742155dd2b78d3ee56597b419a0579b7bdd6dd78"
checksum = "791930b43c0d5973160d90a8f3894509f2b273430f5c5c73b668636d0287c5c0"
[[package]]
name = "is-docker"
@ -2523,9 +2523,9 @@ dependencies = [
[[package]]
name = "mdns-sd"
version = "0.21.2"
version = "0.21.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9823c1afc7140b27e22103d37786df2156de7cbc03c39dd4ac7d8247a673f5e4"
checksum = "a63c9b854b5ad0812ac5969f8db92a59f28b45d0a5ae599b9a45b84c5c8a08e8"
dependencies = [
"fastrand",
"flume",
@ -2622,7 +2622,7 @@ dependencies = [
"png 0.18.1",
"serde",
"thiserror 2.0.20",
"windows-sys 0.61.2",
"windows-sys 0.60.2",
]
[[package]]
@ -3050,7 +3050,7 @@ dependencies = [
"webkit2gtk",
"webview2-com",
"windows",
"windows-core 0.61.2",
"windows-core",
"zbus",
"zeroize",
]
@ -3281,11 +3281,11 @@ checksum = "f6b464fbc74e149a392436b17d523f769e057cb6877f6a5c4618bc6f11800548"
[[package]]
name = "plist"
version = "1.10.0"
version = "1.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7da1d65da6dd5d1e44199ac0f58712d241c0f439f80adea8924d832384087f85"
checksum = "2896bade328c13f7042a297ea5ac5b0951f6cf989dea5f32c2fd98da398195cb"
dependencies = [
"base64 0.22.1",
"base64 0.23.1",
"indexmap 2.14.2",
"quick-xml",
"serde",
@ -3438,9 +3438,9 @@ checksum = "d55d956fa96f5ec02be2e13af0e20391a5aa83d6a074e3ad368959d0fab299ea"
[[package]]
name = "quick-xml"
version = "0.41.0"
version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e660451e55124f798a69a5af3f49ccfbefbd41910eefd25caf2393e1f3473ec1"
checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b"
dependencies = [
"memchr",
]
@ -3571,11 +3571,11 @@ checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4"
[[package]]
name = "reqwest"
version = "0.13.4"
version = "0.13.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "219c5811de6525e5416c7d5d53bb656d3afdbc6c5af816e0802bcfa42dbdc1c3"
checksum = "16a1cfa75cc186dd73d5818e510e042e40927bccc9c236b061cea97e1eb08029"
dependencies = [
"base64 0.22.1",
"base64 0.23.1",
"bytes",
"futures-core",
"futures-util",
@ -3681,7 +3681,7 @@ dependencies = [
"errno",
"libc",
"linux-raw-sys",
"windows-sys 0.61.2",
"windows-sys 0.59.0",
]
[[package]]
@ -3737,7 +3737,7 @@ dependencies = [
"security-framework",
"security-framework-sys",
"webpki-root-certs",
"windows-sys 0.61.2",
"windows-sys 0.59.0",
]
[[package]]
@ -4006,11 +4006,11 @@ dependencies = [
[[package]]
name = "serde_with"
version = "3.22.0"
version = "3.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee78f1fbe43ac4a0e47aadb3dbd357b69eb0d3793e948624cd03dd2750ab1c0a"
checksum = "935177bb8c0cd8ca1a4e6d1a2ac8988bea69cab4f9d3a31311e012ad27868ea4"
dependencies = [
"base64 0.22.1",
"base64 0.23.1",
"bs58",
"chrono",
"hex",
@ -4027,14 +4027,14 @@ dependencies = [
[[package]]
name = "serde_with_macros"
version = "3.22.0"
version = "3.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8705578779c2b6bd90d84d66eb2e206b708b1a4d7b9f17641b293545bf1c7e46"
checksum = "1d607aa01a3cb0ad757d6fd216136910db3c97b102fe686585689615a02dbcdc"
dependencies = [
"darling",
"proc-macro2",
"quote",
"syn 2.0.119",
"syn 3.0.5",
]
[[package]]
@ -4181,7 +4181,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4"
dependencies = [
"libc",
"windows-sys 0.61.2",
"windows-sys 0.60.2",
]
[[package]]
@ -4442,7 +4442,7 @@ dependencies = [
"unicode-segmentation",
"url",
"windows",
"windows-core 0.61.2",
"windows-core",
"windows-version",
"x11-dl",
]
@ -4637,7 +4637,7 @@ dependencies = [
"tracing",
"url",
"windows-registry",
"windows-result 0.3.4",
"windows-result",
]
[[package]]
@ -4718,7 +4718,7 @@ dependencies = [
"url",
"uuid",
"windows",
"windows-core 0.61.2",
"windows-core",
]
[[package]]
@ -4940,7 +4940,7 @@ dependencies = [
"getrandom 0.4.3",
"once_cell",
"rustix",
"windows-sys 0.61.2",
"windows-sys 0.59.0",
]
[[package]]
@ -5338,7 +5338,7 @@ dependencies = [
"png 0.18.1",
"serde",
"thiserror 2.0.20",
"windows-sys 0.61.2",
"windows-sys 0.60.2",
]
[[package]]
@ -5391,7 +5391,7 @@ checksum = "f2f6fb2847f6742cd76af783a2a2c49e9375d0a111c7bef6f71cd9e738c72d6e"
dependencies = [
"memoffset",
"tempfile",
"windows-sys 0.61.2",
"windows-sys 0.60.2",
]
[[package]]
@ -5714,7 +5714,7 @@ dependencies = [
"webview2-com-macros",
"webview2-com-sys",
"windows",
"windows-core 0.61.2",
"windows-core",
"windows-implement",
"windows-interface",
]
@ -5738,7 +5738,7 @@ checksum = "381336cfffd772377d291702245447a5251a2ffa5bad679c99e61bc48bacbf9c"
dependencies = [
"thiserror 2.0.20",
"windows",
"windows-core 0.61.2",
"windows-core",
]
[[package]]
@ -5763,7 +5763,7 @@ version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
dependencies = [
"windows-sys 0.61.2",
"windows-sys 0.59.0",
]
[[package]]
@ -5794,7 +5794,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893"
dependencies = [
"windows-collections",
"windows-core 0.61.2",
"windows-core",
"windows-future",
"windows-link 0.1.3",
"windows-numerics",
@ -5806,7 +5806,7 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8"
dependencies = [
"windows-core 0.61.2",
"windows-core",
]
[[package]]
@ -5818,21 +5818,8 @@ dependencies = [
"windows-implement",
"windows-interface",
"windows-link 0.1.3",
"windows-result 0.3.4",
"windows-strings 0.4.2",
]
[[package]]
name = "windows-core"
version = "0.62.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb"
dependencies = [
"windows-implement",
"windows-interface",
"windows-link 0.2.1",
"windows-result 0.4.1",
"windows-strings 0.5.1",
"windows-result",
"windows-strings",
]
[[package]]
@ -5841,7 +5828,7 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e"
dependencies = [
"windows-core 0.61.2",
"windows-core",
"windows-link 0.1.3",
"windows-threading",
]
@ -5899,7 +5886,7 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1"
dependencies = [
"windows-core 0.61.2",
"windows-core",
"windows-link 0.1.3",
]
@ -5910,8 +5897,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e"
dependencies = [
"windows-link 0.1.3",
"windows-result 0.3.4",
"windows-strings 0.4.2",
"windows-result",
"windows-strings",
]
[[package]]
@ -5923,15 +5910,6 @@ dependencies = [
"windows-link 0.1.3",
]
[[package]]
name = "windows-result"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5"
dependencies = [
"windows-link 0.2.1",
]
[[package]]
name = "windows-strings"
version = "0.4.2"
@ -5941,15 +5919,6 @@ dependencies = [
"windows-link 0.1.3",
]
[[package]]
name = "windows-strings"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091"
dependencies = [
"windows-link 0.2.1",
]
[[package]]
name = "windows-sys"
version = "0.45.0"
@ -6293,7 +6262,7 @@ dependencies = [
"webkit2gtk-sys",
"webview2-com",
"windows",
"windows-core 0.61.2",
"windows-core",
"windows-version",
"x11-dl",
]

View file

@ -18,8 +18,8 @@ ed25519-dalek = "3.0.0"
futures-util = "0.3.34"
getrandom = "0.4.3"
keyring = { version = "4.2.0", default-features = false, features = ["v1"] }
mdns-sd = { version = "0.21.2", default-features = false }
rustls = { version = "0.23.43", default-features = false, features = ["ring", "std", "tls12"] }
mdns-sd = { version = "0.21.3", default-features = false }
rustls = { version = "0.23.44", default-features = false, features = ["ring", "std", "tls12"] }
serde = { version = "1.0.229", features = ["derive"] }
serde_json = "1.0.151"
sha2 = "0.11.0"

View file

@ -77,8 +77,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/huggingface/swift-huggingface.git",
"state" : {
"revision" : "9ebe9cb568ff9ebe2f1bcd3ae7d925fbb45ec8d2",
"version" : "0.10.0"
"revision" : "b5403ed09403f674601fd1123e07c5b32914d16f",
"version" : "0.10.1"
}
},
{
@ -86,8 +86,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/huggingface/swift-jinja.git",
"state" : {
"revision" : "7d0b8880ef8e567dd4e0089f8b99fb354129017c",
"version" : "2.4.2"
"revision" : "12ea4955e380dae6b0cd98299effe48c7fe584fc",
"version" : "2.5.0"
}
},
{

View file

@ -1,5 +1,5 @@
{
"originHash" : "b41cac679f890b9f1583ac2f89ad14c0ddedeba67e113390c9b6e8d77bb1f640",
"originHash" : "3aa70e34f1a9cf93e01986dc25444a20685584880d5e686165430b00fbdb1ee1",
"pins" : [
{
"identity" : "axorcist",
@ -96,8 +96,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-log.git",
"state" : {
"revision" : "3ffafb9722d5d918c614feb496c8789a3b59d222",
"version" : "1.15.0"
"revision" : "9c6fb14227f55d8f711ce3847dc2f419fb0ecacb",
"version" : "1.15.1"
}
},
{

View file

@ -17,7 +17,7 @@ let package = Package(
dependencies: [
.package(url: "https://github.com/sindresorhus/KeyboardShortcuts", exact: "3.0.1"),
.package(url: "https://github.com/swiftlang/swift-subprocess.git", from: "1.0.0"),
.package(url: "https://github.com/apple/swift-log.git", from: "1.15.0"),
.package(url: "https://github.com/apple/swift-log.git", from: "1.15.1"),
.package(url: "https://github.com/sparkle-project/Sparkle", exact: "2.9.6"),
.package(url: "https://github.com/openclaw/Peekaboo.git", exact: "4.4.0"),
.package(url: "https://github.com/pointfreeco/swift-concurrency-extras", from: "1.4.1"),

View file

@ -30,12 +30,11 @@ private final class DashboardWindowContentView: NSView {
/// pinned at `--openclaw-native-titlebar-height`, resurrecting the traffic-light
/// misalignment. Refusing the toggle keeps the two heights in lockstep.
/// Full screen hides this sizing toolbar so it cannot cover the web controls.
private final class DashboardWindow: NSWindow {
private final class DashboardWindow: ExperienceWindow {
/// User intent belongs to the native window, not the privileged document it hosts.
var userIntentGeneration: UInt64 = 0
var lifetimeRevision: UInt64 = 0
var pendingGatewaySwitch: DashboardGatewaySwitchIntent?
var isHiddenForExperience = false
override func toggleToolbarShown(_: Any?) {}
@ -439,7 +438,7 @@ final class DashboardWindowController: NSWindowController, WKNavigationDelegate,
/// Miniaturized windows report `isVisible == false` but must still follow
/// endpoint changes so deminiaturizing does not land on a dead port.
var isWindowOpen: Bool {
guard let window else { return false }
guard let window, !self.isHiddenForExperience else { return false }
return window.isVisible || window.isMiniaturized
}

View file

@ -0,0 +1,29 @@
import AppKit
class ExperienceWindow: NSWindow {
var isHiddenForExperience = false {
didSet {
NotificationCenter.default.removeObserver(
self, name: NSWindow.didDeminiaturizeNotification, object: self)
guard self.isHiddenForExperience else { return }
NotificationCenter.default.addObserver(
self,
selector: #selector(self.finishExperienceDeminiaturization(_:)),
name: NSWindow.didDeminiaturizeNotification,
object: self)
}
}
deinit {
NotificationCenter.default.removeObserver(self)
}
@objc private func finishExperienceDeminiaturization(_: Notification) {
// AppKit orders the window on-screen after this notification returns.
// Window-owned intent survives document replacement; a later show clears it.
DispatchQueue.main.async { [weak self] in
guard let self, self.isHiddenForExperience else { return }
self.orderOut(nil)
}
}
}

View file

@ -42,7 +42,7 @@ enum WebChatTracePreferences {
/// SwiftUI's native toolbar bridge may restore visible title chrome while it
/// installs toolbar items. Keep the full-window chat's titlebar merged.
private final class WebChatWindow: NSWindow {
private final class WebChatWindow: ExperienceWindow {
var pinnedTitle: String?
override var title: String {
@ -1004,12 +1004,12 @@ final class WebChatSwiftUIWindowController: NSObject, NSWindowDelegate {
private let speech: OpenClawChatSpeechController
private let voiceNoteRecorder: OpenClawVoiceNoteRecorder
private var routingIdentityTask: Task<Void, Never>?
private var window: NSWindow?
private var isHiddenForExperience = false
private var window: ExperienceWindow?
var onBecameKey: (() -> Void)?
var isWindowOpen: Bool {
!self.isHiddenForExperience && (self.window?.isVisible == true || self.window?.isMiniaturized == true)
guard let window, !window.isHiddenForExperience else { return false }
return window.isVisible || window.isMiniaturized
}
var onClosed: (() -> Void)?
@ -1205,7 +1205,7 @@ final class WebChatSwiftUIWindowController: NSObject, NSWindowDelegate {
func show() {
guard let window else { return }
self.ensureWindowSize()
self.isHiddenForExperience = false
window.isHiddenForExperience = false
window.isExcludedFromWindowsMenu = false
if window.isMiniaturized { window.deminiaturize(nil) }
window.makeKeyAndOrderFront(nil)
@ -1216,9 +1216,7 @@ final class WebChatSwiftUIWindowController: NSObject, NSWindowDelegate {
func hide() {
guard let window else { return }
// Deminiaturization can send focus notifications; fence those before
// removing the retained window from both the Dock and Window menu.
self.isHiddenForExperience = true
window.isHiddenForExperience = true
window.isExcludedFromWindowsMenu = true
if window.isMiniaturized { window.deminiaturize(nil) }
window.orderOut(nil)
@ -1226,7 +1224,7 @@ final class WebChatSwiftUIWindowController: NSObject, NSWindowDelegate {
}
func windowDidBecomeKey(_ notification: Notification) {
guard notification.object as? NSWindow === self.window, !self.isHiddenForExperience else { return }
guard let window, notification.object as? NSWindow === window, !window.isHiddenForExperience else { return }
self.onBecameKey?()
}
@ -1295,7 +1293,7 @@ final class WebChatSwiftUIWindowController: NSObject, NSWindowDelegate {
private static func makeWindow(
contentViewController: NSViewController,
title: String,
autosaveName: String) -> NSWindow
autosaveName: String) -> ExperienceWindow
{
let window = WebChatWindow(
contentRect: NSRect(origin: .zero, size: WebChatSwiftUILayout.windowSize),

View file

@ -0,0 +1,39 @@
import AppKit
import OpenClawKit
import Testing
extension AppKitTestSupport {
static func performWindowTransition(
_ window: NSWindow,
notification: Notification.Name,
action: @MainActor () async throws -> Void) async throws
{
let events = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
let observer = NotificationCenter.default.addObserver(
forName: notification, object: window, queue: nil)
{ _ in events.continuation.yield(()) }
defer {
NotificationCenter.default.removeObserver(observer)
events.continuation.finish()
}
try await action()
let observed = try await AsyncTimeout.withTimeout(
seconds: 10,
onTimeout: {
NSError(
domain: "AppKitWindowTransitionTests",
code: 1,
userInfo: [NSLocalizedDescriptionKey: "The window did not emit \(notification.rawValue)"])
},
operation: {
var iterator = events.stream.makeAsyncIterator()
return await iterator.next() != nil
})
try #require(observed)
// Native window ordering continues after the transition notification.
// Assert the settled result after its main-queue completion work can run.
await withCheckedContinuation { continuation in
DispatchQueue.main.async { continuation.resume() }
}
}
}

View file

@ -25,11 +25,21 @@ struct DashboardExperienceTests {
try await saved.webView.evaluateJavaScript("window.fixtureDraft = 'Keep this draft'")
let savedWindow = try #require(saved.window)
let primaryWindow = try #require(primary.window)
primaryWindow.miniaturize(nil)
try await AppKitTestSupport.performWindowTransition(
primaryWindow, notification: NSWindow.didMiniaturizeNotification)
{
primaryWindow.miniaturize(nil)
}
saved.show()
#expect(manager.hasVisibleWindows)
manager.hideWindows()
try await AppKitTestSupport.performWindowTransition(
primaryWindow, notification: NSWindow.didDeminiaturizeNotification)
{
manager.hideWindows()
await manager.handleEndpointState(.ready(
mode: .remote, url: server.websocketURL(), token: "renewed", password: nil, routeRevision: 2))
}
#expect(!manager.hasVisibleWindows)
#expect(!primaryWindow.isVisible && !primaryWindow.isMiniaturized)
@ -48,12 +58,32 @@ struct DashboardExperienceTests {
#expect(try await saved.webView.evaluateJavaScript("window.fixtureDraft") as? String == "Keep this draft")
manager.hideWindows()
await manager.handleEndpointState(.ready(
mode: .remote, url: server.websocketURL(), token: "renewed", password: nil, routeRevision: 2))
let renewed = try #require(primaryWindow.windowController as? DashboardWindowController)
#expect(renewed.auth.token == "renewed")
#expect(renewed.isHiddenForExperience)
#expect(!primaryWindow.isVisible && primaryWindow.isExcludedFromWindowsMenu)
// Native ordering must not promote a window the experience owner has hidden.
primaryWindow.orderFront(nil)
#expect(!renewed.isWindowOpen)
#expect(manager.frontmostDashboard() == nil)
manager.hideWindows()
renewed.show()
try await AppKitTestSupport.performWindowTransition(
primaryWindow, notification: NSWindow.didMiniaturizeNotification)
{
primaryWindow.miniaturize(nil)
}
try await AppKitTestSupport.performWindowTransition(
primaryWindow, notification: NSWindow.didDeminiaturizeNotification)
{
manager.hideWindows()
renewed.show()
}
#expect(primaryWindow.windowController === renewed)
#expect(!renewed.isHiddenForExperience)
#expect(primaryWindow.isVisible && !primaryWindow.isExcludedFromWindowsMenu)
}
@Test(arguments: ["navigation", "new-window", "focus", "picker"])

View file

@ -511,20 +511,22 @@ struct GatewayChannelConnectTests {
let channel = try GatewayChannelActor(
url: #require(URL(string: "wss://gateway.example.ts.net")),
token: nil,
session: WebSocketSessionBox(session: session))
do {
try await channel.connect()
Issue.record("missing challenge unexpectedly connected")
} catch {
let nsError = error as NSError
#expect(nsError.domain == URLError.errorDomain)
#expect(nsError.code == URLError.timedOut.rawValue)
let problem = try #require(GatewayConnectionProblemMapper.map(error: error))
#expect(problem.kind == .timeout)
#expect(problem.retryable)
#expect(!problem.pauseReconnect)
session: WebSocketSessionBox(session: session),
connectOptions: GatewayWebSocketTestSupport.identityFreeOperatorConnectOptions)
try await self.withChannel(channel) { channel in
do {
try await channel.connect()
Issue.record("missing challenge unexpectedly connected")
} catch {
let nsError = error as NSError
#expect(nsError.domain == URLError.errorDomain)
#expect(nsError.code == URLError.timedOut.rawValue)
let problem = try #require(GatewayConnectionProblemMapper.map(error: error))
#expect(problem.kind == .timeout)
#expect(problem.retryable)
#expect(!problem.pauseReconnect)
}
}
await channel.shutdown()
}
@Test func `default operator connect scopes preserve pairing and admin`() async throws {

View file

@ -186,7 +186,7 @@ struct WebChatSwiftUISmokeTests {
@Test(arguments: [false, true])
func `hiding retains the window and its draft while removing it from the Dock and Window menu`(
minimized: Bool) throws
minimized: Bool) async throws
{
let controller = WebChatSwiftUIWindowController(
sessionKey: "main",
@ -195,10 +195,24 @@ struct WebChatSwiftUISmokeTests {
defer { controller.close() }
let window = try #require(controller._testWindow)
controller.show()
if minimized { window.miniaturize(nil) }
if minimized {
try await AppKitTestSupport.performWindowTransition(
window, notification: NSWindow.didMiniaturizeNotification)
{
window.miniaturize(nil)
}
}
#expect(controller.isWindowOpen)
controller.hide()
if minimized {
try await AppKitTestSupport.performWindowTransition(
window, notification: NSWindow.didDeminiaturizeNotification)
{
controller.hide()
}
} else {
controller.hide()
}
#expect(controller._testWindow === window)
#expect(!controller.isWindowOpen)
#expect(!window.isVisible)
@ -207,6 +221,19 @@ struct WebChatSwiftUISmokeTests {
#expect(controller._testDraft == "Keep this draft")
controller.show()
if minimized {
try await AppKitTestSupport.performWindowTransition(
window, notification: NSWindow.didMiniaturizeNotification)
{
window.miniaturize(nil)
}
try await AppKitTestSupport.performWindowTransition(
window, notification: NSWindow.didDeminiaturizeNotification)
{
controller.hide()
controller.show()
}
}
#expect(controller._testWindow === window)
#expect(controller.isWindowOpen)
#expect(!window.isExcludedFromWindowsMenu)

View file

@ -1366,18 +1366,18 @@ dependencies = [
[[package]]
name = "zerocopy"
version = "0.8.56"
version = "0.8.57"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "556764e583adb45a9f8d413c2a147fa7e8d821e48e12b14fd560b607998b75eb"
checksum = "d35102a9f36d089ccae9e4c6802bc118be4487b80aaffc0ab4e0cf5ce92d2873"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
version = "0.8.56"
version = "0.8.57"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2ab42fc20575779bd240faa45f94a74256f755c0fa9e89f0ede20d91d0cdfc1"
checksum = "146c01f5ab44258da43cf276c74a2763db2ff3969c9c652c3f2de07041d0b2bc"
dependencies = [
"proc-macro2",
"quote",

View file

@ -69,7 +69,7 @@ local proof.
"version": "1.0.0",
"type": "module",
"dependencies": {
"typebox": "1.3.27"
"typebox": "1.3.30"
},
"peerDependencies": {
"openclaw": ">=2026.3.24-beta.2"

View file

@ -53,7 +53,7 @@ Your `package.json` needs an `openclaw` field that tells the plugin system what
"version": "1.0.0",
"type": "module",
"dependencies": {
"typebox": "1.3.27"
"typebox": "1.3.30"
},
"peerDependencies": {
"openclaw": ">=2026.3.24-beta.2"

View file

@ -3,7 +3,7 @@
"version": "1.0.0",
"type": "module",
"dependencies": {
"typebox": "1.3.27"
"typebox": "1.3.30"
},
"peerDependencies": {
"openclaw": ">=2026.3.24-beta.2"

View file

@ -38,17 +38,21 @@ Built-in acpx harness aliases (from the pinned `acpx` dependency):
| `droid` | [Factory Droid](https://www.factory.ai) |
| `fast-agent` | [fast-agent](https://fast-agent.ai) |
| `gemini` | [Gemini CLI](https://github.com/google-gemini/gemini-cli) |
| `grok-build` | Grok Build (`grok agent stdio`) |
| `iflow` | [iFlow CLI](https://github.com/iflow-ai/iflow-cli) |
| `kilocode` | [Kilocode](https://kilocode.ai) |
| `kimi` | [Kimi CLI](https://github.com/MoonshotAI/kimi-cli) |
| `kiro` | [Kiro CLI](https://kiro.dev) |
| `mcode` | MiniMax Code (`mcode acp`; install and authenticate its CLI on the Gateway host) |
| `mux` | [Mux](https://mux.coder.com) |
| `opencode` | [OpenCode](https://opencode.ai) |
| `openclaw` | OpenClaw ACP bridge (native `openclaw acp`) |
| `pi` | [Pi Coding Agent](https://github.com/earendil-works/pi) |
| `pool` | Pool (`pool acp`) |
| `qoder` | [Qoder CLI](https://docs.qoder.com/cli/acp) |
| `qwen` | [Qwen Code](https://github.com/QwenLM/qwen-code) |
| `trae` | [Trae CLI](https://docs.trae.cn/cli) |
| `zeroclaw` | ZeroClaw (`zeroclaw acp`) |
`factory-droid` and `factorydroid` also resolve to the built-in `droid` adapter.

View file

@ -43,3 +43,15 @@ the next native tool call, restart the Codex app-server or OpenClaw Gateway
instead of repeating `/new`. See
[Codex harness troubleshooting](/plugins/codex-harness/troubleshooting).
</Note>
## Oversized harness messages
The acpx backend limits each incoming ACP message from a harness to 64 MiB of
raw bytes by default. If a run fails with `ACP_MESSAGE_TOO_LARGE` or
`ACP message exceeded ACPX_MAX_ACP_MESSAGE_BYTES`, reduce the harness output or
set `ACPX_MAX_ACP_MESSAGE_BYTES` in the Gateway process environment to a larger
byte count. Setting it to `0` permits unlimited incoming message sizes.
Restart the Gateway after changing the environment so new harness connections
use the limit. For direct acpx CLI sessions, close the existing warm owner and
start a new session; warm owners keep their startup setting.

View file

@ -201,6 +201,16 @@ Use the example below only when running the **standalone Lobster CLI** in an
environment where `openclaw.invoke` is already configured with the correct
gateway/auth context.
For `openclaw.invoke` and `clawd.invoke`, ambient `OPENCLAW_TOKEN` or
`CLAWD_TOKEN` credentials are accepted only for `localhost`, `127.0.0.1`, or
`[::1]` destinations. To send credentials to another HTTP(S) endpoint, pass
`--token` explicitly. This rule also applies to embedded workflows that
explicitly configure a remote connection. This command argument is the remote
Gateway credential, not the Lobster tool's approval-resume `token` parameter.
If an invocation times out or fails after dispatch,
Lobster does not retry it automatically, because the Gateway may already have
performed the action.
```lobster
openclaw.invoke --tool llm-task --action json --args-json '{
"prompt": "Given the input email, return intent and draft.",

View file

@ -10,7 +10,7 @@
"dependencies": {
"@agentclientprotocol/claude-agent-acp": "0.75.1",
"@agentclientprotocol/codex-acp": "1.10.0",
"acpx": "0.13.2",
"acpx": "0.15.1",
"smol-toml": "1.8.0",
"zod": "4.5.4"
},

View file

@ -8,8 +8,8 @@
},
"type": "module",
"dependencies": {
"@aws-sdk/client-bedrock": "3.1127.0",
"@aws-sdk/client-bedrock-runtime": "3.1127.0",
"@aws-sdk/client-bedrock": "3.1128.0",
"@aws-sdk/client-bedrock-runtime": "3.1128.0",
"@aws-sdk/credential-provider-node": "3.972.82",
"@smithy/node-http-handler": "4.12.1",
"@smithy/shared-ini-file-loader": "4.7.2",

View file

@ -8,7 +8,7 @@
"@modelcontextprotocol/sdk": "1.30.0",
"express": "5.2.1",
"playwright-core": "1.63.0",
"typebox": "1.3.27",
"typebox": "1.3.30",
"yargs-parser": "22.0.0",
"zod": "4.5.4"
},

View file

@ -12,7 +12,7 @@
"@a2ui/web_core": "0.10.7",
"@lit/context": "1.1.6",
"lit": "3.3.3",
"typebox": "1.3.27"
"typebox": "1.3.30"
},
"openclaw": {
"extensions": [

View file

@ -11,7 +11,7 @@
"@openai/codex": "0.154.0",
"semver": "7.8.5",
"smol-toml": "1.8.0",
"typebox": "1.3.27",
"typebox": "1.3.30",
"ws": "8.21.3",
"zod": "4.5.4"
},

View file

@ -4,8 +4,8 @@
"description": "Experimental CUA Driver computer control for macOS, Windows, and Linux node hosts",
"type": "module",
"dependencies": {
"@trycua/cua-driver": "0.23.2",
"rastermill": "0.3.2",
"@trycua/cua-driver": "0.24.0",
"rastermill": "0.3.3",
"zod": "4.5.4"
},
"devDependencies": {
@ -13,30 +13,30 @@
},
"cuaDriverArtifacts": {
"darwin-universal-binary": {
"archiveSha256": "0127c82ff17922df4290931a8ebf9b4a8b21656aad24cba6f21ee50e41ed4493"
"archiveSha256": "31790cb49baa206f6455fbc259f8f83ae27e86be908f5c8cac5ec2f8521f8382"
},
"linux-arm64-gnu": {
"files": {
"cua_driver_node_runtime.node": "7a14e0ed44cd4cfb5069c257d1de9ec510b01832d9d8f57924cab6a2c6484750",
"libcua_driver_sdk.so": "d3bb29556db3bcf04d7f0511823a20241cedde7f4ca514b7b695cbe1ec49fc6f"
"cua_driver_node_runtime.node": "d1f997df97fdda027175e6f824d060ab281e9579e5ebc3040fe2151e3f36f9a6",
"libcua_driver_sdk.so": "3666bfdc98198b7e4e5216c991b758b5f046d44555793433f7c334a4b895096a"
}
},
"linux-x64-gnu": {
"files": {
"cua_driver_node_runtime.node": "b5f7aef8ae08e926923a550137abf1654c93982197c581b21baa162127935fd1",
"libcua_driver_sdk.so": "b50be7598d6b695680435d5d0c9203df1956245b2396d3cdf574fb08f1c8c305"
"cua_driver_node_runtime.node": "1f805d6052ee6c4f5ed3828ecbdf6e0db1f40f4e2fedcd292226e131a307c547",
"libcua_driver_sdk.so": "6a63c34d9551c74eb15c6e304c5558d9b96c93bd59facaa5cd1a3c8c0eeedddd"
}
},
"win32-arm64-msvc": {
"files": {
"cua_driver_sdk.dll": "1752431065fd81daae23dce717cd2281b344cda4cad6b75fe5bf6031ab374f5c",
"cua_driver_node_runtime.node": "b1489b9bc49903aef60c829641a985b8508fc7df4739b282217fab3cfc1e0fa4"
"cua_driver_sdk.dll": "72e677d69e8c457a944ae63dbf3fe3780bd60ea51563bf99cca357ebd6c625a9",
"cua_driver_node_runtime.node": "13c35176c94e2ebf9e168851b9e9bfbbeaedcb77657f2dcf24665b1777b004e7"
}
},
"win32-x64-msvc": {
"files": {
"cua_driver_sdk.dll": "e4700333d4d37bc87f09a45e74ea379e75dcd307bc105562ae6d4e2485e011c7",
"cua_driver_node_runtime.node": "efce78124d5feb2f0ea05bbb8af25e594f4480e8451dcf3b87f883e18ccafca8"
"cua_driver_sdk.dll": "e5ce91e13b781e650eb6f54be61d1af7138bdee4d510b54010d9bf05fd24276e",
"cua_driver_node_runtime.node": "11de7f51a8f5a5b3b418afa317b64ba8f035b4ea3fa2b3afcd7893d5b364e3f4"
}
}
},

View file

@ -17,14 +17,14 @@ it("supplies the accepted artifact record without depending on the bundled modul
expect(mocks.inspect).toHaveBeenCalledWith(
expect.objectContaining({
pluginManifest: expect.objectContaining({
dependencies: expect.objectContaining({ "@trycua/cua-driver": "0.23.2" }),
dependencies: expect.objectContaining({ "@trycua/cua-driver": "0.24.0" }),
cuaDriverArtifacts: expect.objectContaining({
"win32-arm64-msvc": {
files: {
"cua_driver_node_runtime.node":
"b1489b9bc49903aef60c829641a985b8508fc7df4739b282217fab3cfc1e0fa4",
"13c35176c94e2ebf9e168851b9e9bfbbeaedcb77657f2dcf24665b1777b004e7",
"cua_driver_sdk.dll":
"1752431065fd81daae23dce717cd2281b344cda4cad6b75fe5bf6031ab374f5c",
"72e677d69e8c457a944ae63dbf3fe3780bd60ea51563bf99cca357ebd6c625a9",
},
},
}),

View file

@ -11,7 +11,7 @@
"@pierre/diffs": "1.4.1",
"@shikijs/langs": "4.4.3",
"playwright-core": "1.63.0",
"typebox": "1.3.27",
"typebox": "1.3.30",
"zod": "4.5.4"
},
"devDependencies": {

View file

@ -13,7 +13,7 @@
"discord-api-types": "0.38.55",
"libopus-wasm": "0.4.0",
"mdast-util-from-markdown": "2.0.3",
"typebox": "1.3.27",
"typebox": "1.3.30",
"undici": "8.10.2",
"ws": "8.21.3",
"zod": "4.5.4"

View file

@ -5,14 +5,16 @@
"description": "OpenClaw local document extraction plugin",
"type": "module",
"dependencies": {
"clawpdf": "0.3.1"
"clawpdf": "0.3.2"
},
"devDependencies": {
"@openclaw/plugin-sdk": "workspace:*"
},
"openclaw": {
"build": {
"workerEntries": ["./document-extractor.worker.ts"]
"workerEntries": [
"./document-extractor.worker.ts"
]
},
"extensions": [
"./index.ts"

View file

@ -12,7 +12,7 @@
"mdast-util-from-markdown": "2.0.3",
"mdast-util-gfm-table": "2.0.0",
"micromark-extension-gfm-table": "2.1.1",
"typebox": "1.3.27",
"typebox": "1.3.30",
"zod": "4.5.4"
},
"devDependencies": {

View file

@ -6,7 +6,7 @@
"dependencies": {
"@openclaw/fs-safe": "0.12.0",
"minimatch": "10.2.6",
"typebox": "1.3.27"
"typebox": "1.3.30"
},
"devDependencies": {
"@openclaw/plugin-sdk": "workspace:*"

View file

@ -8,7 +8,7 @@
},
"type": "module",
"dependencies": {
"typebox": "1.3.27",
"typebox": "1.3.30",
"zod": "4.5.4"
},
"devDependencies": {

View file

@ -8,8 +8,8 @@
},
"type": "module",
"dependencies": {
"jszip": "3.10.1",
"typebox": "1.3.27"
"jszip": "3.10.2",
"typebox": "1.3.30"
},
"devDependencies": {
"@openclaw/plugin-sdk": "workspace:*",

View file

@ -5,9 +5,9 @@
"description": "OpenClaw inbound IMAP email trigger plugin",
"type": "module",
"dependencies": {
"imapflow": "1.7.8",
"imapflow": "2.0.0",
"mailauth": "5.0.3",
"mailparser": "3.9.20"
"mailparser": "3.9.23"
},
"devDependencies": {
"@openclaw/plugin-sdk": "workspace:*",

View file

@ -8,7 +8,7 @@
},
"type": "module",
"dependencies": {
"typebox": "1.3.27",
"typebox": "1.3.30",
"zod": "4.5.4"
},
"devDependencies": {

View file

@ -9,7 +9,7 @@
"type": "module",
"dependencies": {
"@line/bot-sdk": "11.2.0",
"typebox": "1.3.27",
"typebox": "1.3.30",
"zod": "4.5.4"
},
"devDependencies": {

View file

@ -5,7 +5,7 @@
"description": "OpenClaw JSON-only LLM task plugin",
"type": "module",
"dependencies": {
"typebox": "1.3.27"
"typebox": "1.3.30"
},
"devDependencies": {
"@openclaw/plugin-sdk": "workspace:*"

View file

@ -8,8 +8,8 @@
},
"type": "module",
"dependencies": {
"@clawdbot/lobster": "2026.6.11",
"typebox": "1.3.27"
"@clawdbot/lobster": "2026.9.8",
"typebox": "1.3.30"
},
"devDependencies": {
"@openclaw/plugin-sdk": "workspace:*"

View file

@ -14,7 +14,7 @@
"markdown-it": "15.0.2",
"matrix-js-sdk": "42.3.0",
"music-metadata": "11.15.0",
"typebox": "1.3.27",
"typebox": "1.3.30",
"zod": "4.5.4"
},
"devDependencies": {

View file

@ -11,7 +11,7 @@
"chokidar": "5.0.0",
"json5": "2.2.3",
"p-limit": "7.3.2",
"typebox": "1.3.27"
"typebox": "1.3.30"
},
"devDependencies": {
"@openclaw/plugin-sdk": "workspace:*",

View file

@ -9,8 +9,8 @@
"type": "module",
"dependencies": {
"apache-arrow": "18.1.0",
"openai": "7.10.0",
"typebox": "1.3.27"
"openai": "7.12.1",
"typebox": "1.3.30"
},
"devDependencies": {
"@lancedb/lancedb": "0.38.0",

View file

@ -6,7 +6,7 @@
"type": "module",
"dependencies": {
"mdast-util-from-markdown": "2.0.3",
"typebox": "1.3.27",
"typebox": "1.3.30",
"yaml": "2.9.0",
"zod": "4.5.4"
},

View file

@ -12,7 +12,7 @@
"@microsoft/teams.api": "2.0.16",
"@microsoft/teams.apps": "2.0.16",
"express": "5.2.1",
"typebox": "1.3.27",
"typebox": "1.3.30",
"zod": "4.5.4"
},
"devDependencies": {

View file

@ -5,7 +5,7 @@
"description": "OpenClaw Ollama provider plugin",
"type": "module",
"dependencies": {
"typebox": "1.3.27"
"typebox": "1.3.30"
},
"devDependencies": {
"@openclaw/plugin-sdk": "workspace:*"

View file

@ -11,7 +11,7 @@
"./test-api.js": "./test-api.ts"
},
"dependencies": {
"typebox": "1.3.27",
"typebox": "1.3.30",
"zod": "4.5.4"
},
"devDependencies": {

View file

@ -5,7 +5,7 @@
"description": "OpenClaw QA lab plugin with private debugger UI and scenario runner",
"type": "module",
"dependencies": {
"@copilotkit/aimock": "1.39.0",
"@copilotkit/aimock": "1.40.0",
"@modelcontextprotocol/sdk": "1.30.0",
"@openclaw/crabline": "0.1.24",
"playwright-core": "1.63.0",
@ -37,7 +37,9 @@
"./index.ts"
],
"build": {
"workerEntries": ["./src/execution-identity-storage-inspection.worker.ts"]
"workerEntries": [
"./src/execution-identity-storage-inspection.worker.ts"
]
},
"compat": {
"pluginApi": ">=2026.9.4"

View file

@ -12,7 +12,7 @@
"@slack/types": "3.1.0",
"@slack/web-api": "8.1.1",
"get-east-asian-width": "1.6.0",
"typebox": "1.3.27",
"typebox": "1.3.30",
"undici": "7.29.1",
"zod": "4.5.4"
},

View file

@ -4,7 +4,7 @@
"description": "OpenClaw Tavily plugin",
"type": "module",
"dependencies": {
"typebox": "1.3.27"
"typebox": "1.3.30"
},
"devDependencies": {
"@openclaw/plugin-sdk": "workspace:*"

View file

@ -8,7 +8,7 @@
},
"type": "module",
"dependencies": {
"typebox": "1.3.27"
"typebox": "1.3.30"
},
"devDependencies": {
"@openclaw/plugin-sdk": "workspace:*",

View file

@ -9,7 +9,7 @@
"@grammyjs/transformer-throttler": "1.2.1",
"abort-controller": "3.0.0",
"grammy": "1.46.0",
"typebox": "1.3.27",
"typebox": "1.3.30",
"undici": "8.10.2",
"zod": "4.5.4"
},

View file

@ -8,8 +8,8 @@
},
"type": "module",
"dependencies": {
"@aws-sdk/client-s3": "3.1127.0",
"@aws-sdk/s3-request-presigner": "3.1127.0",
"@aws-sdk/client-s3": "3.1128.0",
"@aws-sdk/s3-request-presigner": "3.1128.0",
"@tloncorp/tlon-skill": "0.5.0",
"@urbit/aura": "3.0.0",
"zod": "4.5.4"

View file

@ -5,7 +5,7 @@
"description": "OpenClaw internal Cloudflare Access visitor grants plugin",
"type": "module",
"dependencies": {
"typebox": "1.3.27",
"typebox": "1.3.30",
"zod": "4.5.4"
},
"devDependencies": {

View file

@ -8,7 +8,7 @@
},
"type": "module",
"dependencies": {
"typebox": "1.3.27",
"typebox": "1.3.30",
"ws": "8.21.3",
"zod": "4.5.4"
},

View file

@ -10,7 +10,7 @@
"dependencies": {
"audio-decode": "2.2.3",
"baileys": "7.0.0-rc14",
"typebox": "1.3.27"
"typebox": "1.3.30"
},
"devDependencies": {
"@openclaw/plugin-sdk": "workspace:*",

View file

@ -223,9 +223,9 @@
"properties": {}
},
"controlUi": {
"entry": "dist/control-ui/10b93364550bfdabd0d863ea84c87a40bdd9bf11ba015c9f62200dc7235eebe5/index.js",
"entry": "dist/control-ui/6086f99d70e67af1883e874484afd2d64d2dfd7274d7749d8e1ec344afbb57fa/index.js",
"styles": [
"dist/control-ui/10b93364550bfdabd0d863ea84c87a40bdd9bf11ba015c9f62200dc7235eebe5/index.css"
"dist/control-ui/6086f99d70e67af1883e874484afd2d64d2dfd7274d7749d8e1ec344afbb57fa/index.css"
]
}
}

View file

@ -8,7 +8,7 @@
"@openclaw/gateway-protocol": "workspace:*",
"@openclaw/workboard-contract": "workspace:*",
"lit": "3.3.3",
"typebox": "1.3.27",
"typebox": "1.3.30",
"zod": "4.5.4"
},
"devDependencies": {

View file

@ -5,7 +5,7 @@
"description": "OpenClaw xAI plugin",
"type": "module",
"dependencies": {
"typebox": "1.3.27",
"typebox": "1.3.30",
"ws": "8.21.3"
},
"devDependencies": {

View file

@ -8,7 +8,7 @@
},
"type": "module",
"dependencies": {
"typebox": "1.3.27",
"typebox": "1.3.30",
"zca-js": "2.1.2",
"zod": "4.5.4"
},

View file

@ -8,7 +8,7 @@
},
"type": "module",
"dependencies": {
"typebox": "1.3.27"
"typebox": "1.3.30"
},
"devDependencies": {
"@openclaw/plugin-sdk": "workspace:*",

View file

@ -2177,8 +2177,8 @@
"dependencies": {
"@agentclientprotocol/sdk": "1.4.0",
"@anthropic-ai/sdk": "0.124.0",
"@clack/core": "1.4.3",
"@clack/prompts": "1.7.0",
"@clack/core": "1.5.0",
"@clack/prompts": "1.8.0",
"@earendil-works/pi-tui": "0.85.1",
"@google/genai": "2.21.0",
"@grammyjs/runner": "2.0.3",
@ -2192,16 +2192,16 @@
"@openclaw/fs-safe": "0.12.0",
"@openclaw/proxyline": "0.3.12",
"@silvia-odwyer/photon-node": "0.3.4",
"@trycua/cua-driver": "0.23.2",
"@trycua/cua-driver": "0.24.0",
"acorn": "8.18.0",
"chalk": "6.0.0",
"chokidar": "5.0.0",
"clawpdf": "0.3.1",
"clawpdf": "0.3.2",
"commander": "15.0.0",
"croner": "10.0.1",
"diff": "9.0.0",
"dotenv": "17.4.2",
"entities": "8.0.0",
"entities": "8.1.0",
"execa": "10.0.1",
"express": "5.2.1",
"file-type": "22.0.2",
@ -2209,7 +2209,7 @@
"highlight.js": "11.12.0",
"hosted-git-info": "10.1.1",
"iconv-lite": "0.7.3",
"ignore": "7.0.8",
"ignore": "7.0.9",
"import-meta-resolve": "4.2.0",
"jiti": "2.7.0",
"json5": "2.2.3",
@ -2220,7 +2220,7 @@
"minimatch": "10.2.6",
"ms": "2.1.3",
"node-edge-tts": "1.2.10",
"openai": "7.10.0",
"openai": "7.12.1",
"p-limit": "7.3.2",
"p-map": "7.0.7",
"partial-json": "0.1.7",
@ -2228,12 +2228,12 @@
"pretty-ms": "9.3.1",
"qrcode": "1.5.4",
"quickjs-wasi": "3.6.0",
"rastermill": "0.3.2",
"rastermill": "0.3.3",
"semver": "7.8.5",
"tar": "7.5.22",
"tree-sitter-bash": "0.25.1",
"tslog": "5.1.0",
"typebox": "1.3.27",
"typebox": "1.3.30",
"typescript": "6.0.3",
"undici": "8.10.2",
"web-push": "3.6.7",
@ -2245,7 +2245,7 @@
"devDependencies": {
"@a2ui/lit": "0.10.3",
"@a2ui/web_core": "0.10.7",
"@copilotkit/aimock": "1.39.0",
"@copilotkit/aimock": "1.40.0",
"@lit-labs/signals": "0.3.0",
"@lit/context": "1.1.6",
"@lit/task": "1.0.3",
@ -2264,28 +2264,28 @@
"@types/markdown-it": "14.2.0",
"@types/mdast": "4.0.4",
"@types/ms": "2.1.0",
"@types/node": "26.4.1",
"@types/node": "26.5.0",
"@types/semver": "7.8.0",
"@types/web-push": "3.6.4",
"@types/ws": "8.18.1",
"@vitest/coverage-v8": "5.0.0",
"acpx": "0.13.2",
"acpx": "0.15.1",
"apache-arrow": "21.2.0",
"baileys": "7.0.0-rc14",
"esbuild": "0.28.2",
"htmlparser2": "12.0.0",
"ipaddr.js": "2.5.0",
"jscpd": "5.1.2",
"jscpd": "5.2.0",
"jsdom": "30.0.1",
"lit": "3.3.3",
"lit-analyzer": "2.0.3",
"markdown-it": "15.0.2",
"markdown-it-anchor": "10.0.0",
"marked": "18.0.11",
"marked": "18.0.12",
"minipass": "7.1.3",
"nostr-tools": "2.25.2",
"oxfmt": "0.66.0",
"oxlint": "1.81.0",
"oxfmt": "0.67.0",
"oxlint": "1.82.0",
"oxlint-tsgolint": "7.0.2001",
"pako": "3.0.1",
"playwright": "1.63.0",
@ -2312,5 +2312,5 @@
"engines": {
"node": ">=24.16.0 <25 || >=26.1.0"
},
"packageManager": "pnpm@12.3.4+sha512.961aa41fb077da3a04a441d9f8e15ebc0c96da8ef710b2eb67bf9ee7cb0610eabd48f1fd85f51cffe73846785fa0f87c56a3a872a1d893f8446741b5cce45457"
"packageManager": "pnpm@12.4.0+sha512.37536c26ed40ab4134b6511e09f6b27f3ebb45687468f2406ca3805279a4e5ca158c1931350ad9774d6ab2108d71b3dbaeb39943159294375e4d053e8e05685c"
}

View file

@ -66,6 +66,6 @@
"@openclaw/ai": "workspace:*",
"@openclaw/llm-core": "workspace:*",
"@openclaw/normalization-core": "workspace:*",
"typebox": "1.3.27"
"typebox": "1.3.30"
}
}

View file

@ -121,9 +121,9 @@
"@anthropic-ai/sdk": "0.124.0",
"@google/genai": "2.21.0",
"@mistralai/mistralai": "2.6.4",
"openai": "7.10.0",
"openai": "7.12.1",
"partial-json": "0.1.7",
"typebox": "1.3.27"
"typebox": "1.3.30"
},
"devDependencies": {
"@openclaw/model-catalog-core": "workspace:*",

View file

@ -83,7 +83,7 @@
"prepack": "pnpm run build && node --import tsx ../../scripts/protocol-gen.ts --out ./protocol.schema.json"
},
"dependencies": {
"typebox": "1.3.27"
"typebox": "1.3.30"
},
"devDependencies": {
"@openclaw/normalization-core": "workspace:*"

View file

@ -41,6 +41,6 @@
}
},
"dependencies": {
"typebox": "1.3.27"
"typebox": "1.3.30"
}
}

View file

@ -11,7 +11,7 @@
},
"dependencies": {
"@openclaw/normalization-core": "workspace:*",
"dompurify": "3.4.14",
"dompurify": "3.4.15",
"mermaid": "11.17.2"
},
"devDependencies": {

View file

@ -135,6 +135,6 @@
},
"dependencies": {
"libphonenumber-js": "1.13.12",
"typebox": "1.3.27"
"typebox": "1.3.30"
}
}

View file

@ -101,7 +101,7 @@
}
},
"dependencies": {
"@clack/prompts": "1.7.0",
"@clack/prompts": "1.8.0",
"@openclaw/normalization-core": "workspace:*",
"chalk": "6.0.0",
"string-width": "8.2.2"

2354
pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff

View file

@ -72,13 +72,13 @@ overrides:
"mailauth@5.0.3>nodemailer": 10.0.8
# Mailauth pins vulnerable Undici; remove when its direct dependency is fixed.
"mailauth@5.0.3>undici": 8.10.2
"mailparser@3.9.20>nodemailer": 10.0.8
"mailparser@3.9.23>nodemailer": 10.0.8
minimatch: 10.2.6
path-to-regexp: 8.4.2
proxy-addr: 2.0.8
qs: 6.16.0
node-domexception: "npm:@nolyfill/domexception@1.0.28"
typebox: 1.3.27
typebox: 1.3.30
tar: 7.5.22
tough-cookie: 6.0.2
"tsdown>rolldown-plugin-dts": 0.28.5

View file

@ -14,6 +14,6 @@
"nostr-tools": "2.25.2"
},
"devDependencies": {
"@types/node": "26.4.1"
"@types/node": "26.5.0"
}
}

View file

@ -5,8 +5,8 @@ FROM ${OPENCLAW_IMAGE}
USER root
ARG LITESTREAM_VERSION=0.5.16
ARG LITESTREAM_SHA256=9e29112380a942e4a62ee07773684396cb8b308dc4d67e130bef41f75e937f0a
ARG LITESTREAM_VERSION=0.5.17
ARG LITESTREAM_SHA256=cfb371176d164437ae869f8351cfde49bd1804ae71c61923f75c9cba9c9c006d
ADD --checksum=sha256:${LITESTREAM_SHA256} \
https://github.com/benbjohnson/litestream/releases/download/v${LITESTREAM_VERSION}/litestream-${LITESTREAM_VERSION}-linux-x86_64.tar.gz \

View file

@ -11,6 +11,6 @@
},
"devDependencies": {
"typescript": "7.0.2",
"wrangler": "4.129.0"
"wrangler": "4.130.0"
}
}

View file

@ -2,9 +2,12 @@
set -euo pipefail
node_version="24.19.0"
pnpm_spec="pnpm@12.3.4+sha512.961aa41fb077da3a04a441d9f8e15ebc0c96da8ef710b2eb67bf9ee7cb0610eabd48f1fd85f51cffe73846785fa0f87c56a3a872a1d893f8446741b5cce45457"
# Trusted main's historical pin is needed to validate older contributor heads.
historical_pnpm_spec="pnpm@12.1.0+sha512.d9b8276d97f6ec86e49815877f91ee9f63cee61f2063b304e43b6dab8fa07ce8a9afd46d2facd39f921e6a9d06b3c75a81349c7b888c2d22886bae0229901037"
pnpm_spec="pnpm@12.4.0+sha512.37536c26ed40ab4134b6511e09f6b27f3ebb45687468f2406ca3805279a4e5ca158c1931350ad9774d6ab2108d71b3dbaeb39943159294375e4d053e8e05685c"
# Keep exact formerly trusted pins so older contributor heads remain verifiable.
historical_pnpm_specs=(
"pnpm@12.3.4+sha512.961aa41fb077da3a04a441d9f8e15ebc0c96da8ef710b2eb67bf9ee7cb0610eabd48f1fd85f51cffe73846785fa0f87c56a3a872a1d893f8446741b5cce45457"
"pnpm@12.1.0+sha512.d9b8276d97f6ec86e49815877f91ee9f63cee61f2063b304e43b6dab8fa07ce8a9afd46d2facd39f921e6a9d06b3c75a81349c7b888c2d22886bae0229901037"
)
if [[ $# -lt 2 ]]; then
echo "usage: $0 <expected-head-sha> <command> [args...]" >&2
@ -104,9 +107,9 @@ INSTALL_NODE
candidate_package_json="$PWD/package.json"
pnpm_spec="$(
cd "$install_root"
"$install_root/bin/node" - "$candidate_package_json" "$pnpm_spec" "$historical_pnpm_spec" <<'PACKAGE_MANAGER'
"$install_root/bin/node" - "$candidate_package_json" "$pnpm_spec" "${historical_pnpm_specs[@]}" <<'PACKAGE_MANAGER'
const fs = require("node:fs");
const [file, current, historical] = process.argv.slice(2);
const [file, ...approvedPins] = process.argv.slice(2);
let pkg;
try {
pkg = JSON.parse(fs.readFileSync(file, "utf8"));
@ -114,7 +117,7 @@ try {
console.error("refusing untrusted run: invalid package.json");
process.exit(1);
}
if (pkg?.packageManager !== current && pkg?.packageManager !== historical) {
if (!approvedPins.includes(pkg?.packageManager)) {
console.error("refusing untrusted run: packageManager pin differs from trusted main or approved history");
process.exit(1);
}
@ -126,11 +129,11 @@ pnpm_version="${pnpm_spec#pnpm@}"
pnpm_version="${pnpm_version%%+*}"
pnpm_native_sha512=""
case "$pnpm_version:$node_arch" in
12.3.4:x64)
pnpm_native_sha512="d99a8e9523e47f05f5879711f853e259ff3e17eda1653ff74ef8542b9b22807ab06900888aaf11ec21b186774ab3adc9b5c2e2d9ad50a68fb05ff128c9f8f225"
12.4.0:x64)
pnpm_native_sha512="490560464711e17caa7fcf9535bb58d2bb5c1277c3ab8f11847df41d6a36fd47ea2847e57b6ace3321993a63750db330e19cc6e66598a02f353bb66a1c565c3f"
;;
12.3.4:arm64)
pnpm_native_sha512="b7bd40540ecb46a88a4f2679c4c61a65cda7e437dda4c6dfa2466e8883971c138cd371029c5d2de226306810ea26056394a6143b0685fdb4506a318d038709e3"
12.4.0:arm64)
pnpm_native_sha512="ea7a50530ab70ff5976d3811e1ebc0a44290f484f39d9e88cff769b5c8c1cc0efec122d369890af7c39ddb0b070a83e61056fdb46b4cf9cbc6f36fb0cb4a3db8"
;;
esac
pnpm_archive="pnpm-${pnpm_version}.tgz"

View file

@ -1,4 +1,4 @@
FROM debian:bookworm-slim@sha256:abd67ffcfa541b485a3dff59865ab629aa048a6c613e639d36e7456b0b229241
FROM debian:bookworm-slim@sha256:88200866dfff7ea7f5cbcb6ec7c8a701889efe6fe859fe64d6990e4b07ea4171
ENV DEBIAN_FRONTEND=noninteractive

View file

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1.7
FROM debian:bookworm-slim@sha256:abd67ffcfa541b485a3dff59865ab629aa048a6c613e639d36e7456b0b229241
FROM debian:bookworm-slim@sha256:88200866dfff7ea7f5cbcb6ec7c8a701889efe6fe859fe64d6990e4b07ea4171
LABEL org.openclaw.sandbox-browser.contract="2026-05-12-cdp-relay-auth"

Some files were not shown because too many files have changed in this diff Show more