From 8fbfda675619a8db40fd0250d9ca6a8045d374a2 Mon Sep 17 00:00:00 2001 From: Dotta Date: Wed, 7 Oct 2026 06:34:13 -0500 Subject: [PATCH] Fix Pi session admission and reconcile production checks Co-Authored-By: Paperclip --- cli/src/__tests__/runtime.test.ts | 4 +- .../2026-10-02-pi-production-readiness.md | 22 + .../src/paperclip-runner-permissions.test.ts | 6 +- packages/paperclip-runner/acpx-profiles.json | 6 +- .../paperclip-runner/cursor-contract.json | 4 +- .../runner-core/src/acpx_provider_session.rs | 5 + .../src/generated_acpx_profiles.rs | 6 +- .../src/cli/acpx-runtime-sidecar.test.ts | 42 +- .../src/cli/acpx-runtime-sidecar.ts | 2 +- .../src/drivers/acpx/generated-profiles.ts | 6 +- .../src/drivers/acpx/runtime-host.test.ts | 17 + .../src/drivers/acpx/runtime-host.ts | 4 +- .../pi-acp/profile-v16-identity.json | 4 +- .../copilot-profile-v16-identity.json | 6 +- patches/acpx@0.13.1.patch | 1 - pnpm-lock.yaml | 1414 +++++++++-------- server/src/__tests__/adapter-registry.test.ts | 10 +- .../agent-instruction-working-copies.test.ts | 4 + .../invite-test-resolution-route.test.ts | 2 +- server/src/adapters/registry.test.ts | 11 +- .../heartbeat-runner-provider-config.test.ts | 12 +- .../native-runtime/native-plan-wait.test.ts | 10 +- .../providers/cursor-lifecycle.ts | 4 +- .../native-runtime/runtime-mode.test.ts | 2 +- .../codex-local/config-fields.test.tsx | 55 +- ui/src/adapters/codex-local/config-fields.tsx | 14 - ui/src/adapters/config-sections.test.tsx | 16 +- 27 files changed, 959 insertions(+), 730 deletions(-) diff --git a/cli/src/__tests__/runtime.test.ts b/cli/src/__tests__/runtime.test.ts index 62afe9f49d4..eeed2d26202 100644 --- a/cli/src/__tests__/runtime.test.ts +++ b/cli/src/__tests__/runtime.test.ts @@ -26,9 +26,9 @@ it("rejects foreign package identity and a setup entrypoint outside that package await rm(join(f.cli, "provision-pi.cjs")); await symlink(join(other.cli, "provision-pi.cjs"), join(f.cli, "provision-pi.cjs")); await expect(resolvePiProvisioner(f.url)).rejects.toThrow("escapes"); }); -it("provides an explicit Pi-only operator command and rejects other providers before resolution", async () => { +it("rejects unsupported runtime setup providers before resolution", async () => { const program = new Command(); registerRuntimeCommands(program); - await expect(program.parseAsync(["node", "paperclipai", "runtime", "setup", "untrusted"])).rejects.toThrow("Supported explicit runtime setup"); + await expect(program.parseAsync(["node", "paperclipai", "runtime", "setup", "untrusted"])).rejects.toThrow("Supported runtime setup: paperclipai runtime setup pi or cursor"); }); it("resolves the companion importer only inside the actual public server tar layout", async () => { diff --git a/doc/plans/2026-10-02-pi-production-readiness.md b/doc/plans/2026-10-02-pi-production-readiness.md index f5799886461..b38875f2413 100644 --- a/doc/plans/2026-10-02-pi-production-readiness.md +++ b/doc/plans/2026-10-02-pi-production-readiness.md @@ -5,6 +5,28 @@ set of release gates. Pi remains a candidate until every required gate passes. Keep behavioral qualification on the accepted fixtures. Do not expand it to widgets, images, Cursor or Copilot qualification. The existing draft stack must be reviewed in dependency order. +## Startup and merge repairs — 2026-10-07 + +The real sidecar process now accepts all four explicit Pi thinking levels in +`session.open`; invalid levels, foreign-provider levels and unknown fields still +fail before launch. Runtime identity verification independently checks thinking +level and retires rejected admissions without prompting. Regression tests run +with no ambient provider credentials and a caller-selected custom model. + +The empty ACPX patch hunk that broke GNU patch and Linux release packaging is +removed. Current profile 16 identities and Cursor's patch declaration are +regenerated; historical identities remain unchanged. Master-merge regressions +in historical plan receipts, duplicated Cursor controls and outdated tests are +reconciled. The PR's lockfile matches its dependency branch; CI resolves the +updated manifests under the repository's lockfile policy. + +The startup/host suites pass 136 tests, the targeted provider/receipt/environment +suites pass 187, the configuration/permission suites pass 71, the native Runner +unit suite passes 342, and packaging checks pass 16. These are free regression +checks. Production remains held until current-source CI, normal Linux package +installation, a real Pi task and the accepted live cases have passed. Mac work +remains deferred and no prior-source live result transfers to this candidate. + ## Master integration and model selection — 2026-10-06 This branch merges `origin/master` through `a9a20fb5c6c080884ced7ee0a4e3b04f9cbf3a6e`. diff --git a/packages/adapter-utils/src/paperclip-runner-permissions.test.ts b/packages/adapter-utils/src/paperclip-runner-permissions.test.ts index 6ba54823946..31bc6acc4b2 100644 --- a/packages/adapter-utils/src/paperclip-runner-permissions.test.ts +++ b/packages/adapter-utils/src/paperclip-runner-permissions.test.ts @@ -12,10 +12,10 @@ import { } from "./paperclip-runner-permissions.js"; describe("Paperclip Runner permission defaults", () => { - it("admits Pi while keeping sibling ACP profiles pending", () => { + it("admits Pi with provider credentials while keeping Copilot pending", () => { expect(PAPERCLIP_RUNNER_ACPX_PROFILES.find(profile => profile.value === "pi")) - .toMatchObject({ qualified: true, credentialEnvironment: ["OPENROUTER_API_KEY"] }); - for (const agent of ["cursor", "copilot"]) { + .toMatchObject({ qualified: true, credentialEnvironment: expect.arrayContaining(["OPENROUTER_API_KEY", "OPENAI_API_KEY", "ANTHROPIC_API_KEY", "GEMINI_API_KEY"]) }); + for (const agent of ["copilot"]) { expect(PAPERCLIP_RUNNER_ACPX_PROFILES.find(profile => profile.value === agent)?.qualified).toBe(false); } }); diff --git a/packages/paperclip-runner/acpx-profiles.json b/packages/paperclip-runner/acpx-profiles.json index a6ac64fe99a..d1a5aad93fb 100644 --- a/packages/paperclip-runner/acpx-profiles.json +++ b/packages/paperclip-runner/acpx-profiles.json @@ -19,7 +19,7 @@ "agentServerVersion": "0.0.33", "agentRuntimePackage": "@earendil-works/pi-coding-agent", "agentRuntimeVersion": "1.0.0", - "commandDigest": "sha256:5f9b802c3105ab60d80b97b993e2806f608cd659de269685c1d1ac433fc93100", + "commandDigest": "sha256:28eefeccb2556d2668e20aee2f12a90d1fef50b9be954d5f6dd97c757e2e945e", "requiresProviderPolicy": true }, "cursor": { @@ -28,7 +28,7 @@ "agentServerVersion": "2026.09.26-dd393fe", "agentRuntimePackage": null, "agentRuntimeVersion": null, - "commandDigest": "sha256:ea3d2cffb0ccc978377cef2671a65c1377212cb812cfb1f609ccaaebcb714445", + "commandDigest": "sha256:ac8092119542c8fbe95dae18ba5ef4d3689803fec56b7d2735fa193eea42f59b", "requiresProviderPolicy": true }, "copilot": { @@ -37,7 +37,7 @@ "agentServerVersion": "1.0.88", "agentRuntimePackage": null, "agentRuntimeVersion": null, - "commandDigest": "sha256:8070042cc503a6752aaa6deb2e1501a81bc2b8e2beb087fbe86bae950f369eeb", + "commandDigest": "sha256:8591f9a78a16aac4cf558733cd512f09def483fc11c673504bf93be7476d994c", "requiresProviderPolicy": true, "qualificationStatus": "pending" }, diff --git a/packages/paperclip-runner/cursor-contract.json b/packages/paperclip-runner/cursor-contract.json index 2452c212e05..e1d6881b96c 100644 --- a/packages/paperclip-runner/cursor-contract.json +++ b/packages/paperclip-runner/cursor-contract.json @@ -5,7 +5,7 @@ "base": "dd868ed125cd709506dd9b29fca640a44d580501", "vendor": "2026.09.26-dd393fe", "nativePatch": "paperclip-cursor-usage-v4", - "acpxPatchSha256": "edddf1ac33106800169a37c6d46f4b08d25162968147c8a3910855075e6bbef5", + "acpxPatchSha256": "00d6af17216cb0cad902b48633eb19bf0ec6b05837a984cb24661fca593f09c1", "publicSetup": "paperclipai runtime setup cursor", "assets": "public-server-and-provider-pack", "modes": [ @@ -19,5 +19,5 @@ "planAcceptance": "successful-run-open-task-explicit-continuation", "otherProviders": "mainline-gated", "modelSelection": "explicit-provider-verified-startup-and-reconnect", - "commandDigest": "sha256:ea3d2cffb0ccc978377cef2671a65c1377212cb812cfb1f609ccaaebcb714445" + "commandDigest": "sha256:ac8092119542c8fbe95dae18ba5ef4d3689803fec56b7d2735fa193eea42f59b" } diff --git a/packages/paperclip-runner/runner/crates/runner-core/src/acpx_provider_session.rs b/packages/paperclip-runner/runner/crates/runner-core/src/acpx_provider_session.rs index 303a37ea4b8..85da2d348b7 100644 --- a/packages/paperclip-runner/runner/crates/runner-core/src/acpx_provider_session.rs +++ b/packages/paperclip-runner/runner/crates/runner-core/src/acpx_provider_session.rs @@ -1790,6 +1790,11 @@ mod mode_tests { let mut config = config(); for agent in ["claude", "codex", "pi", "grok", "cursor", "copilot"] { config.agent = agent.to_owned(); + config.pi_thinking_level = if agent == "pi" { + Some(PiThinkingLevel::Low) + } else { + None + }; config.model = "custom/model[context=272k,reasoning=medium]".to_owned(); config.validate().unwrap(); assert_eq!( diff --git a/packages/paperclip-runner/runner/crates/runner-core/src/generated_acpx_profiles.rs b/packages/paperclip-runner/runner/crates/runner-core/src/generated_acpx_profiles.rs index 883963ef2f6..543e367e215 100644 --- a/packages/paperclip-runner/runner/crates/runner-core/src/generated_acpx_profiles.rs +++ b/packages/paperclip-runner/runner/crates/runner-core/src/generated_acpx_profiles.rs @@ -29,7 +29,7 @@ pub(crate) fn acpx_release_profile(agent: &str) -> Option { agent_runtime_package: Some("@earendil-works/pi-coding-agent"), agent_runtime_version: Some("1.0.0"), command_digest: - "sha256:5f9b802c3105ab60d80b97b993e2806f608cd659de269685c1d1ac433fc93100", + "sha256:28eefeccb2556d2668e20aee2f12a90d1fef50b9be954d5f6dd97c757e2e945e", requires_provider_policy: true, }, "cursor" => AcpxReleaseProfile { @@ -38,7 +38,7 @@ pub(crate) fn acpx_release_profile(agent: &str) -> Option { agent_runtime_package: None, agent_runtime_version: None, command_digest: - "sha256:ea3d2cffb0ccc978377cef2671a65c1377212cb812cfb1f609ccaaebcb714445", + "sha256:ac8092119542c8fbe95dae18ba5ef4d3689803fec56b7d2735fa193eea42f59b", requires_provider_policy: true, }, "copilot" => AcpxReleaseProfile { @@ -47,7 +47,7 @@ pub(crate) fn acpx_release_profile(agent: &str) -> Option { agent_runtime_package: None, agent_runtime_version: None, command_digest: - "sha256:8070042cc503a6752aaa6deb2e1501a81bc2b8e2beb087fbe86bae950f369eeb", + "sha256:8591f9a78a16aac4cf558733cd512f09def483fc11c673504bf93be7476d994c", requires_provider_policy: true, }, "claude" => AcpxReleaseProfile { diff --git a/packages/paperclip-runner/src/cli/acpx-runtime-sidecar.test.ts b/packages/paperclip-runner/src/cli/acpx-runtime-sidecar.test.ts index 6aca7f983eb..53a6898d917 100644 --- a/packages/paperclip-runner/src/cli/acpx-runtime-sidecar.test.ts +++ b/packages/paperclip-runner/src/cli/acpx-runtime-sidecar.test.ts @@ -1063,6 +1063,46 @@ describe("qualified ACPX runtime sidecar", () => { }, ); + it.each(["off", "low", "high", "max"])( + "accepts Pi thinking level %s through the actual session.open dispatcher", + async (piThinkingLevel) => { + const sidecar = startSidecar(); + const model = "custom-provider/caller-selected-model"; + sidecar.write(initializeRequest(1, "pi", model)); + expect(await sidecar.next(frame => frame.id === 1)).toMatchObject({ ok: true }); + sidecar.write({ + protocolVersion: ACPX_SIDECAR_PROTOCOL_VERSION, id: 2, command: "session.open", + params: { runtimeDirectory: "/unused", workingDirectory: "/unused", normalizedSessionId: "pi-open", + agent: "pi", model, permissionMode: "deny-all", piThinkingLevel, systemInstructions: "Test instructions", tools: [] }, + }); + // The host's policy gate runs after parsing and before installation or + // credentials. This proves the real process crosses the open boundary + // without starting a provider or making a model request. + expect(await sidecar.next(frame => frame.id === 2)).toMatchObject({ + ok: false, error: { message: "Pi admission requires an explicit task execution policy" }, + }); + }, + ); + + it.each([ + ["pi", { piThinkingLevel: "medium" }, "Pi thinking level"], + ["codex", { piThinkingLevel: "low" }, "only supported by Pi"], + ["pi", { piThinkingLevel: "low", unknownOption: true }, "unsupported field"], + ])("rejects invalid %s session.open fields before launch", async (agent, fields, message) => { + const sidecar = startSidecar(); + const model = "caller-selected-model"; + sidecar.write(initializeRequest(1, agent, model)); + expect(await sidecar.next(frame => frame.id === 1)).toMatchObject({ ok: true }); + sidecar.write({ + protocolVersion: ACPX_SIDECAR_PROTOCOL_VERSION, id: 2, command: "session.open", + params: { runtimeDirectory: "/unused", workingDirectory: "/unused", normalizedSessionId: "invalid-open", + agent, model, permissionMode: "deny-all", tools: [], ...fields }, + }); + expect(await sidecar.next(frame => frame.id === 2)).toMatchObject({ + ok: false, error: { message: expect.stringContaining(message) }, + }); + }); + it.each([ ["cursor", "explicit-cursor-model"], ["copilot", "explicit-copilot-model"], @@ -1146,7 +1186,7 @@ class SidecarProcess { this.#child = spawn( fileURLToPath(new URL("../../node_modules/.bin/tsx", import.meta.url)), [fileURLToPath(new URL("./acpx-runtime-sidecar.ts", import.meta.url))], - { stdio: ["pipe", "pipe", "pipe"] }, + { stdio: ["pipe", "pipe", "pipe"], env: { PATH: process.env.PATH, LANG: "C.UTF-8" } }, ); let stdout = ""; this.#child.stdout.setEncoding("utf8"); diff --git a/packages/paperclip-runner/src/cli/acpx-runtime-sidecar.ts b/packages/paperclip-runner/src/cli/acpx-runtime-sidecar.ts index 70758bb8755..63fc827217a 100644 --- a/packages/paperclip-runner/src/cli/acpx-runtime-sidecar.ts +++ b/packages/paperclip-runner/src/cli/acpx-runtime-sidecar.ts @@ -1209,7 +1209,7 @@ function safeOutput(value: unknown): Record { function parseOpenParams( value: Record, ): AcpxSidecarOpenParams { - const fields = new Set(["runtimeDirectory", "normalizedSessionId", "workingDirectory", "agent", "model", "permissionMode", "mode", "permissionModePinned", "providerPolicy", "systemInstructions", "runtimeContext", "tools", "providerSessionKey", "expectedIdentity"]); + const fields = new Set(["runtimeDirectory", "normalizedSessionId", "workingDirectory", "agent", "model", "permissionMode", "mode", "piThinkingLevel", "permissionModePinned", "providerPolicy", "systemInstructions", "runtimeContext", "tools", "providerSessionKey", "expectedIdentity"]); if (Object.keys(value).some(key => !fields.has(key))) throw new Error("ACPX open parameters include an unsupported field"); const agent = requireQualifiedAgent(value.agent); const model = requiredText(value.model, "model"); diff --git a/packages/paperclip-runner/src/drivers/acpx/generated-profiles.ts b/packages/paperclip-runner/src/drivers/acpx/generated-profiles.ts index 30430def973..7fa1d7afb6a 100644 --- a/packages/paperclip-runner/src/drivers/acpx/generated-profiles.ts +++ b/packages/paperclip-runner/src/drivers/acpx/generated-profiles.ts @@ -27,7 +27,7 @@ export const QUALIFIED_ACPX_PROFILE_DATA = { "agentServerVersion": "0.0.33", "agentRuntimePackage": "@earendil-works/pi-coding-agent", "agentRuntimeVersion": "1.0.0", - "commandDigest": "sha256:5f9b802c3105ab60d80b97b993e2806f608cd659de269685c1d1ac433fc93100", + "commandDigest": "sha256:28eefeccb2556d2668e20aee2f12a90d1fef50b9be954d5f6dd97c757e2e945e", "permissionPolicy": "interactive" }, "cursor": { @@ -40,7 +40,7 @@ export const QUALIFIED_ACPX_PROFILE_DATA = { "agentServerVersion": "2026.09.26-dd393fe", "agentRuntimePackage": null, "agentRuntimeVersion": null, - "commandDigest": "sha256:ea3d2cffb0ccc978377cef2671a65c1377212cb812cfb1f609ccaaebcb714445", + "commandDigest": "sha256:ac8092119542c8fbe95dae18ba5ef4d3689803fec56b7d2735fa193eea42f59b", "permissionPolicy": "interactive" }, "copilot": { @@ -53,7 +53,7 @@ export const QUALIFIED_ACPX_PROFILE_DATA = { "agentServerVersion": "1.0.88", "agentRuntimePackage": null, "agentRuntimeVersion": null, - "commandDigest": "sha256:8070042cc503a6752aaa6deb2e1501a81bc2b8e2beb087fbe86bae950f369eeb", + "commandDigest": "sha256:8591f9a78a16aac4cf558733cd512f09def483fc11c673504bf93be7476d994c", "qualificationStatus": "pending", "permissionPolicy": "interactive" }, diff --git a/packages/paperclip-runner/src/drivers/acpx/runtime-host.test.ts b/packages/paperclip-runner/src/drivers/acpx/runtime-host.test.ts index 9cf18a600ad..2eede3fed46 100644 --- a/packages/paperclip-runner/src/drivers/acpx/runtime-host.test.ts +++ b/packages/paperclip-runner/src/drivers/acpx/runtime-host.test.ts @@ -884,6 +884,23 @@ describe("ACPX runtime host", () => { expect(openRuntime).toHaveBeenCalledOnce(); }); + it.each([undefined, "high"] as const)("retires Pi admission when the runtime reports thinking level %s", async piThinkingLevel => { + const fixture = await hostFixture(); + const model = "custom-provider/caller-selected-model"; + const runtime = runtimePort({ + getStatus: async () => ({ models: { currentModelId: model } }), + identity: async () => ({ acpxRecordId: "record-1", backendSessionId: "backend-1", agentSessionId: "agent-1", + ...(piThinkingLevel === undefined ? {} : { piThinkingLevel }) }), + }); + await expect(AcpxRuntimeHost.open({ + ...fixture.options, agent: "pi", model, piThinkingLevel: "low", permissionMode: "deny-all", + providerPolicy: { readOnly: false }, + }, fixture.dependencies({ openRuntime: async () => runtime }))).rejects.toThrow(/thinking level/); + expect(runtime.startTurn).not.toHaveBeenCalled(); + expect(runtime.close).toHaveBeenCalledOnce(); + expect(fixture.commandClose).toHaveBeenCalledOnce(); + }); + it.each(["cursor", "copilot", "pi"] as const)("binds %s agent files from each registered run copy, never ambient roots", async (agent) => { const fixture = await hostFixture(); const copies = await mkdtemp(join(tmpdir(), "paperclip-agent-copies-")); diff --git a/packages/paperclip-runner/src/drivers/acpx/runtime-host.ts b/packages/paperclip-runner/src/drivers/acpx/runtime-host.ts index ee0cd894cd9..dfee453091f 100644 --- a/packages/paperclip-runner/src/drivers/acpx/runtime-host.ts +++ b/packages/paperclip-runner/src/drivers/acpx/runtime-host.ts @@ -640,7 +640,9 @@ export class AcpxRuntimeHost { ); if (runtimeIdentity.mode !== binding.mode) { throw new Error("ACPX runtime Provider mode does not match the admitted session configuration"); - if (runtimeIdentity.piThinkingLevel !== binding.piThinkingLevel) throw new Error("ACPX runtime Pi thinking level conflicts with session binding"); + } + if (runtimeIdentity.piThinkingLevel !== binding.piThinkingLevel) { + throw new Error("ACPX runtime Pi thinking level conflicts with session binding"); } const observedIdentity: AcpxExpectedSessionIdentity = { kind: "acpx", diff --git a/packages/paperclip-runner/test-fixtures/pi-acp/profile-v16-identity.json b/packages/paperclip-runner/test-fixtures/pi-acp/profile-v16-identity.json index 3ef4867cf55..cbcd7257672 100644 --- a/packages/paperclip-runner/test-fixtures/pi-acp/profile-v16-identity.json +++ b/packages/paperclip-runner/test-fixtures/pi-acp/profile-v16-identity.json @@ -1,5 +1,5 @@ { - "commandDigest": "sha256:5f9b802c3105ab60d80b97b993e2806f608cd659de269685c1d1ac433fc93100", + "commandDigest": "sha256:28eefeccb2556d2668e20aee2f12a90d1fef50b9be954d5f6dd97c757e2e945e", "declaration": { "schema": "paperclip.acpx_profile_declaration.v1", "agent": "pi", @@ -20,7 +20,7 @@ "nativeQuestions": "select-confirm-input-editor-v3-method-specific-fields", "pathPolicy": "sdk-normalization-v1", "mcpToolNames": "provider-safe-exact-source-v1", - "acpxPatchSha256": "edddf1ac33106800169a37c6d46f4b08d25162968147c8a3910855075e6bbef5", + "acpxPatchSha256": "00d6af17216cb0cad902b48633eb19bf0ec6b05837a984cb24661fca593f09c1", "nativeAssistantMessages": "pi1-rpc-deltas-v3-bound-message-and-tool-receipts", "nativeNotices": "session-extension-v2-bounded-runtime-failure", "messageProjectionSha256": "17d1e91b948dfa6a56e1905645add52b502041ad843c8d50a13b07956f22aadd", diff --git a/packages/paperclip-runner/test/fixtures/copilot-profile-v16-identity.json b/packages/paperclip-runner/test/fixtures/copilot-profile-v16-identity.json index 268545d2851..710031028ab 100644 --- a/packages/paperclip-runner/test/fixtures/copilot-profile-v16-identity.json +++ b/packages/paperclip-runner/test/fixtures/copilot-profile-v16-identity.json @@ -1,5 +1,5 @@ { - "commandDigest": "sha256:8070042cc503a6752aaa6deb2e1501a81bc2b8e2beb087fbe86bae950f369eeb", + "commandDigest": "sha256:8591f9a78a16aac4cf558733cd512f09def483fc11c673504bf93be7476d994c", "declaration": { "schema": "paperclip.acpx_profile_declaration.v1", "agent": "copilot", @@ -7,7 +7,7 @@ "acpxVersion": "0.13.1", "agentServerVersion": "1.0.88", "protocolPolicyRevision": "copilot-agent-manual-v1", - "acpxPatchSha256": "edddf1ac33106800169a37c6d46f4b08d25162968147c8a3910855075e6bbef5", + "acpxPatchSha256": "00d6af17216cb0cad902b48633eb19bf0ec6b05837a984cb24661fca593f09c1", "policySha256": "a4be69be43db84052560420a3ca546a665c9165573c24d543eb33d144ba138a3", "distributionSourceSha256": "c0a65e247fc47b263bd369a3d5ab505c4b323d4e6493be8a9ecbeb0e9dbb9107", "agentFilesBinding": "registered-runtime-context-v1", @@ -30,7 +30,7 @@ "semanticBridgeSourceSha256": "cf136da18e2cdbefae8e01d23d2c93f64eb7aebccaec938e84c2887c888f87ee", "toolEvidenceSourceSha256": "49d7d09eb6957e596a173b0afd763544afe582f0c1f05cc0992fe51916a8fdb3", "semanticNormalizedInputContract": "validated-forwarded-input-commit-v1", - "semanticSidecarSourceSha256": "1c18ebc5a1274aa888d6922e927289d15efabbf62b0ba9fce9d5299618719939", + "semanticSidecarSourceSha256": "91629734a80f0d32295cbce2c573b32af9e345f45302ff4525c269f66811aa06", "semanticDirectDriverSourceSha256": "2b7b7eaadee658312816ecdcbcb311ce491521fedf39e2ecb571036c36ff7b8e", "semanticValidationSourceSha256": "039fca52266fe21ba74ca64660d21228314d8ed737b19ba67941bfb25086e4d5", "semanticNormalizationSourceSha256": "8b628b82e8eacc91cdcc6fdca2210ba4cf282f01e9c6f74e95ff271655b5047e", diff --git a/patches/acpx@0.13.1.patch b/patches/acpx@0.13.1.patch index 84955cf4c14..bfc33c0eb2d 100644 --- a/patches/acpx@0.13.1.patch +++ b/patches/acpx@0.13.1.patch @@ -600,7 +600,6 @@ diff --git a/dist/live-checkpoint-BSIrfgVo.js b/dist/live-checkpoint-BSIrfgVo.js return response; } catch (error) { return this.throwSessionModelError("session/set_config_option", modelId, error); -@@ -4864,0 +5087,0 @@ @@ -4864,7 +5087,7 @@ } selectAuthMethod(methods) { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7571e73f5bd..6f2b5f9cef9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,8 +5,8 @@ settings: excludeLinksFromLockfile: false overrides: - '@agentclientprotocol/codex-acp@1.6.2>@openai/codex': 0.160.0 - '@agentclientprotocol/claude-agent-acp@0.73.0>@anthropic-ai/claude-agent-sdk': 0.3.286 + '@agentclientprotocol/codex-acp@1.6.2>@openai/codex': 0.156.0 + '@agentclientprotocol/claude-agent-acp@0.73.0>@anthropic-ai/claude-agent-sdk': 0.3.280 rollup: '>=4.59.0' react: ^19.2.8 react-dom: ^19.2.8 @@ -19,7 +19,7 @@ patchedDependencies: hash: riqgguivxjxydoydnzpedjy5au path: patches/@agentclientprotocol__claude-agent-acp@0.73.0.patch '@agentclientprotocol/codex-acp@1.6.2': - hash: ilkykmzaax6atpgtip6bxikv6i + hash: rt7c5otjh4is5hljadvoq7qcem path: patches/@agentclientprotocol__codex-acp@1.6.2.patch '@chat-adapter/discord@4.39.0': hash: nywlhls7dd4npegrgax7jqdbxa @@ -40,10 +40,10 @@ patchedDependencies: hash: vbylpnnxt5av2zdnuqmf6hjyjy path: patches/@discordjs__ws@1.2.3.patch acpx@0.12.0: - hash: 6st5fzvttegjv64llnfegwwpca + hash: zxns4omawae6bjvy7kkhcgweei path: patches/acpx@0.12.0.patch acpx@0.13.1: - hash: ln6xh37yzpd4rnxrfy3pxiyjgq + hash: xinuppsghzi2pwhozdhfegto3m path: patches/acpx@0.13.1.patch embedded-postgres@18.1.0-beta.16: hash: 55uhvnotpqyiy37rn3pqpukhei @@ -60,8 +60,8 @@ importers: specifier: ^1.62.1 version: 1.62.1 agentmail: - specifier: ^0.5.31 - version: 0.5.31 + specifier: ^0.5.14 + version: 0.5.20 cross-env: specifier: ^10.1.0 version: 10.1.0 @@ -72,8 +72,8 @@ importers: specifier: ^7.0.2 version: 7.0.2 vitest: - specifier: ^5.0.3 - version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + specifier: ^4.1.11 + version: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.0.1(@noble/hashes@2.4.0))(tsx@4.23.12) cli: dependencies: @@ -145,8 +145,8 @@ importers: specifier: ^24.0.0 version: 24.13.3 tsx: - specifier: ^4.23.15 - version: 4.23.15 + specifier: ^4.23.12 + version: 4.23.12 typescript: specifier: ^7.0.2 version: 7.0.2 @@ -158,7 +158,7 @@ importers: version: link:../shared acpx: specifier: 0.12.0 - version: 0.12.0(patch_hash=6st5fzvttegjv64llnfegwwpca) + version: 0.12.0(patch_hash=zxns4omawae6bjvy7kkhcgweei) picocolors: specifier: ^1.1.1 version: 1.1.1 @@ -174,10 +174,10 @@ importers: dependencies: '@agentclientprotocol/claude-agent-acp': specifier: ^0.73.0 - version: 0.73.0(patch_hash=riqgguivxjxydoydnzpedjy5au)(@anthropic-ai/sdk@0.129.0(zod@4.6.5))(@modelcontextprotocol/sdk@1.30.0(zod@4.6.5)) + version: 0.73.0(patch_hash=riqgguivxjxydoydnzpedjy5au)(@anthropic-ai/sdk@0.121.0(zod@4.6.5))(@modelcontextprotocol/sdk@1.30.0(zod@4.6.5)) '@anthropic-ai/sdk': - specifier: 0.129.0 - version: 0.129.0(zod@4.6.5) + specifier: 0.121.0 + version: 0.121.0(zod@4.6.5) '@paperclipai/adapter-utils': specifier: workspace:* version: link:../../adapter-utils @@ -199,7 +199,7 @@ importers: dependencies: '@agentclientprotocol/codex-acp': specifier: ^1.6.2 - version: 1.6.2(patch_hash=ilkykmzaax6atpgtip6bxikv6i) + version: 1.6.2(patch_hash=rt7c5otjh4is5hljadvoq7qcem) '@paperclipai/adapter-utils': specifier: workspace:* version: link:../../adapter-utils @@ -303,8 +303,8 @@ importers: specifier: ^7.0.2 version: 7.0.2 vitest: - specifier: ^5.0.3 - version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + specifier: ^4.1.11 + version: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.0.1(@noble/hashes@2.4.0))(tsx@4.23.12) packages/adapters/hermes-gateway: dependencies: @@ -319,8 +319,8 @@ importers: specifier: ^7.0.2 version: 7.0.2 vitest: - specifier: ^5.0.3 - version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + specifier: ^4.1.11 + version: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.0.1(@noble/hashes@2.4.0))(tsx@4.23.12) packages/adapters/kimi-local: dependencies: @@ -414,14 +414,14 @@ importers: specifier: ^0.31.10 version: 0.31.10 tsx: - specifier: ^4.23.15 - version: 4.23.15 + specifier: ^4.23.12 + version: 4.23.12 typescript: specifier: ^7.0.2 version: 7.0.2 vitest: - specifier: ^5.0.3 - version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + specifier: ^4.1.11 + version: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.0.1(@noble/hashes@2.4.0))(tsx@4.23.12) packages/google-sheets-mcp-server: dependencies: @@ -429,8 +429,8 @@ importers: specifier: ^1.30.0 version: 1.30.0(zod@4.4.3) googleapis: - specifier: ^182.0.0 - version: 182.0.0 + specifier: ^176.0.0 + version: 176.0.0 zod: specifier: ^4.4.3 version: 4.4.3 @@ -442,8 +442,8 @@ importers: specifier: ^7.0.2 version: 7.0.2 vitest: - specifier: ^5.0.3 - version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + specifier: ^4.1.11 + version: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.0.1(@noble/hashes@2.4.0))(tsx@4.23.12) packages/kv-demo-mcp-server: dependencies: @@ -461,8 +461,8 @@ importers: specifier: ^7.0.2 version: 7.0.2 vitest: - specifier: ^5.0.3 - version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + specifier: ^4.1.11 + version: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.0.1(@noble/hashes@2.4.0))(tsx@4.23.12) packages/mcp-server: dependencies: @@ -483,8 +483,8 @@ importers: specifier: ^7.0.2 version: 7.0.2 vitest: - specifier: ^5.0.3 - version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + specifier: ^4.1.11 + version: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.0.1(@noble/hashes@2.4.0))(tsx@4.23.12) packages/paperclip-eval-kernel: devDependencies: @@ -499,16 +499,16 @@ importers: dependencies: '@agentclientprotocol/claude-agent-acp': specifier: 0.73.0 - version: 0.73.0(patch_hash=riqgguivxjxydoydnzpedjy5au)(@anthropic-ai/sdk@0.129.0(zod@4.6.5))(@modelcontextprotocol/sdk@1.30.0(zod@4.6.5)) + version: 0.73.0(patch_hash=riqgguivxjxydoydnzpedjy5au)(@anthropic-ai/sdk@0.121.0(zod@4.6.5))(@modelcontextprotocol/sdk@1.30.0(zod@4.6.5)) '@agentclientprotocol/codex-acp': specifier: 1.6.2 - version: 1.6.2(patch_hash=ilkykmzaax6atpgtip6bxikv6i) + version: 1.6.2(patch_hash=rt7c5otjh4is5hljadvoq7qcem) '@openai/codex': - specifier: 0.160.0 - version: 0.160.0 + specifier: 0.156.0 + version: 0.156.0 acpx: specifier: 0.13.1 - version: 0.13.1(patch_hash=ln6xh37yzpd4rnxrfy3pxiyjgq) + version: 0.13.1(patch_hash=xinuppsghzi2pwhozdhfegto3m) ajv: specifier: ^8.20.0 version: 8.20.0 @@ -516,8 +516,8 @@ importers: specifier: ^3.1.1 version: 3.1.1 opencode-ai: - specifier: 1.18.34 - version: 1.18.34 + specifier: 1.18.32 + version: 1.18.32 react-markdown: specifier: ^10.1.0 version: 10.1.0(@types/react@19.2.18)(react@19.2.8) @@ -545,7 +545,7 @@ importers: version: 19.2.5(@types/react@19.2.18) '@vitejs/plugin-react': specifier: ^4.7.0 - version: 4.7.0(vite@6.4.3(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.23.15)) + version: 4.7.0(vite@6.4.3(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.23.12)) axe-core: specifier: ^4.12.1 version: 4.13.0 @@ -556,17 +556,17 @@ importers: specifier: ^19.2.8 version: 19.2.8(react@19.2.8) tsx: - specifier: ^4.23.15 - version: 4.23.15 + specifier: ^4.23.12 + version: 4.23.12 typescript: specifier: ^7.0.2 version: 7.0.2 vite: specifier: ^6.1.0 - version: 6.4.3(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.23.15) + version: 6.4.3(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.23.12) vitest: - specifier: ^5.0.3 - version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@6.4.3(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.23.15)) + specifier: ^4.1.11 + version: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.0.1(@noble/hashes@2.4.0))(tsx@4.23.12) packages/plugins/create-paperclip-plugin: dependencies: @@ -612,8 +612,8 @@ importers: specifier: ^7.0.2 version: 7.0.2 vitest: - specifier: ^5.0.3 - version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + specifier: ^4.1.11 + version: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.0.1(@noble/hashes@2.4.0))(tsx@4.23.12) packages/plugins/examples/plugin-file-browser-example: dependencies: @@ -625,7 +625,7 @@ importers: version: 6.12.4 '@codemirror/state': specifier: ^6.7.2 - version: 6.7.6 + version: 6.7.2 '@codemirror/view': specifier: ^6.43.11 version: 6.43.11 @@ -730,8 +730,8 @@ importers: specifier: ^7.0.2 version: 7.0.2 vitest: - specifier: ^5.0.3 - version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + specifier: ^4.1.11 + version: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.0.1(@noble/hashes@2.4.0))(tsx@4.23.12) packages/plugins/plugin-llm-wiki: devDependencies: @@ -769,8 +769,8 @@ importers: specifier: ^7.0.2 version: 7.0.2 vitest: - specifier: ^5.0.3 - version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + specifier: ^4.1.11 + version: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.0.1(@noble/hashes@2.4.0))(tsx@4.23.12) packages/plugins/plugin-workspace-diff: dependencies: @@ -803,8 +803,8 @@ importers: specifier: ^7.0.2 version: 7.0.2 vitest: - specifier: ^5.0.3 - version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + specifier: ^4.1.11 + version: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.0.1(@noble/hashes@2.4.0))(tsx@4.23.12) packages/plugins/sdk: dependencies: @@ -863,8 +863,8 @@ importers: specifier: ^7.0.2 version: 7.0.2 vitest: - specifier: ^5.0.3 - version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + specifier: ^4.1.11 + version: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.0.1(@noble/hashes@2.4.0))(tsx@4.23.12) packages/teams-catalog: devDependencies: @@ -896,11 +896,8 @@ importers: specifier: 1.2.3 version: 1.2.3(patch_hash=vbylpnnxt5av2zdnuqmf6hjyjy) '@grpc/grpc-js': - specifier: 1.14.5 - version: 1.14.5 - '@modelcontextprotocol/sdk': - specifier: ^1.30.0 - version: 1.30.0(zod@4.4.3) + specifier: 1.14.4 + version: 1.14.4 '@opentelemetry/api': specifier: ^1.9.0 version: 1.9.1 @@ -954,16 +951,16 @@ importers: version: link:../packages/skills-catalog '@photon-ai/advanced-imessage': specifier: 2.1.0 - version: 2.1.0(@grpc/grpc-js@1.14.5)(nice-grpc-common@2.0.4)(nice-grpc@2.1.17) + version: 2.1.0(@grpc/grpc-js@1.14.4)(nice-grpc-common@2.0.4)(nice-grpc@2.1.17) '@vercel/connect': - specifier: 2.3.3 - version: 2.3.3(@chat-adapter/slack@4.39.0(patch_hash=226jj24akljccsfbw7bcxujz4u)(zod@4.4.3))(@modelcontextprotocol/sdk@1.30.0(zod@4.4.3))(better-auth@1.7.2(@opentelemetry/api@1.9.1)(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=sryle6qd5qfmnxvoebal4gashi)))(pg@8.18.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)))) + specifier: 0.6.1 + version: 0.6.1(@chat-adapter/slack@4.39.0(patch_hash=226jj24akljccsfbw7bcxujz4u)(zod@4.4.3))(better-auth@1.7.2(@opentelemetry/api@1.9.1)(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=sryle6qd5qfmnxvoebal4gashi)))(pg@8.18.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.0.1(@noble/hashes@2.4.0))(tsx@4.23.12))) acorn: specifier: 8.18.0 version: 8.18.0 acpx: specifier: 0.13.1 - version: 0.13.1(patch_hash=ln6xh37yzpd4rnxrfy3pxiyjgq) + version: 0.13.1(patch_hash=xinuppsghzi2pwhozdhfegto3m) ajv: specifier: ^8.20.0 version: 8.20.0 @@ -972,7 +969,7 @@ importers: version: 3.0.1(ajv@8.20.0) better-auth: specifier: 1.7.2 - version: 1.7.2(@opentelemetry/api@1.9.1)(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=sryle6qd5qfmnxvoebal4gashi)))(pg@8.18.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))) + version: 1.7.2(@opentelemetry/api@1.9.1)(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=sryle6qd5qfmnxvoebal4gashi)))(pg@8.18.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.0.1(@noble/hashes@2.4.0))(tsx@4.23.12)) chat: specifier: 4.39.0 version: 4.39.0(zod@4.4.3) @@ -983,8 +980,8 @@ importers: specifier: ^2.1.0 version: 2.1.0 dompurify: - specifier: ^3.4.16 - version: 3.4.16 + specifier: ^3.4.14 + version: 3.4.14 dotenv: specifier: ^17.4.2 version: 17.4.2 @@ -1003,9 +1000,6 @@ importers: jsdom: specifier: ^30.0.1 version: 30.0.1(@noble/hashes@2.4.0) - light-my-request: - specifier: ^6.6.0 - version: 6.6.0 multer: specifier: ^2.4.0 version: 2.4.0 @@ -1016,8 +1010,8 @@ importers: specifier: 2.0.4 version: 2.0.4 open: - specifier: ^11.0.4 - version: 11.0.4 + specifier: ^11.0.1 + version: 11.0.1 pino: specifier: ^10.0.0 version: 10.3.1 @@ -1080,23 +1074,23 @@ importers: specifier: ^7.0.0 version: 7.2.2 tsx: - specifier: ^4.23.15 - version: 4.23.15 + specifier: ^4.23.12 + version: 4.23.12 typescript: specifier: ^7.0.2 version: 7.0.2 vite: specifier: ^8.2.2 - version: 8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) + version: 8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12) vitest: - specifier: ^5.0.3 - version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + specifier: ^4.1.11 + version: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.0.1(@noble/hashes@2.4.0))(tsx@4.23.12) ui: dependencies: '@assistant-ui/react': - specifier: 0.15.22 - version: 0.15.22(@opentelemetry/api@1.9.1)(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(use-sync-external-store@1.7.0(react@19.2.8)) + specifier: 0.15.21 + version: 0.15.21(@opentelemetry/api@1.9.1)(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(use-sync-external-store@1.6.0(react@19.2.8)) '@base-ui/react': specifier: ^1.7.0 version: 1.7.0(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) @@ -1179,14 +1173,14 @@ importers: specifier: ^1.1.1 version: 1.1.1(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) i18next: - specifier: ^26.4.2 - version: 26.4.2(typescript@7.0.2) + specifier: ^26.4.0 + version: 26.4.0(typescript@7.0.2) lexical: specifier: 0.48.0 version: 0.48.0(typescript@7.0.2) lucide-react: - specifier: ^1.48.0 - version: 1.48.0(react@19.2.8) + specifier: ^1.45.0 + version: 1.45.0(react@19.2.8) mermaid: specifier: ^11.17.2 version: 11.17.2 @@ -1203,8 +1197,8 @@ importers: specifier: ^19.2.8 version: 19.2.8(react@19.2.8) react-i18next: - specifier: ^17.0.15 - version: 17.0.15(i18next@26.4.2(typescript@7.0.2))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@7.0.2) + specifier: ^17.0.12 + version: 17.0.12(i18next@26.4.0(typescript@7.0.2))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@7.0.2) react-markdown: specifier: ^10.1.0 version: 10.1.0(@types/react@19.2.18)(react@19.2.8) @@ -1212,8 +1206,8 @@ importers: specifier: ^4.12.3 version: 4.12.3(react-dom@19.2.8(react@19.2.8))(react@19.2.8) react-router-dom: - specifier: ^7.18.4 - version: 7.18.4(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + specifier: ^7.18.2 + version: 7.18.2(react-dom@19.2.8(react@19.2.8))(react@19.2.8) remark-gfm: specifier: ^4.0.1 version: 4.0.1 @@ -1231,17 +1225,17 @@ importers: specifier: 10.71.0 version: 10.71.0 '@storybook/addon-a11y': - specifier: 10.6.0 - version: 10.6.0(storybook@10.6.0(@types/react@19.2.18)(react@19.2.8)) + specifier: 10.5.10 + version: 10.5.10(storybook@10.5.10(@types/react@19.2.18)(react@19.2.8)) '@storybook/addon-docs': - specifier: 10.6.0 - version: 10.6.0(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(storybook@10.6.0(@types/react@19.2.18)(react@19.2.8)) + specifier: 10.5.10 + version: 10.5.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(esbuild@0.28.2)(rollup@4.63.1)(storybook@10.5.10(@types/react@19.2.18)(react@19.2.8))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)) '@storybook/react-vite': specifier: 10.5.10 - version: 10.5.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(esbuild@0.28.2)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(rollup@4.63.1)(storybook@10.6.0(@types/react@19.2.18)(react@19.2.8))(typescript@7.0.2)(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + version: 10.5.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(esbuild@0.28.2)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(rollup@4.63.1)(storybook@10.5.10(@types/react@19.2.18)(react@19.2.8))(typescript@7.0.2)(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)) '@tailwindcss/vite': specifier: ^4.3.3 - version: 4.3.3(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + version: 4.3.3(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)) '@types/node': specifier: ^24.0.0 version: 24.13.3 @@ -1253,10 +1247,10 @@ importers: version: 19.2.5(@types/react@19.2.18) '@vitejs/plugin-react': specifier: ^6.1.1 - version: 6.1.1(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + version: 6.1.1(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)) storybook: - specifier: 10.6.0 - version: 10.6.0(@types/react@19.2.18)(react@19.2.8) + specifier: 10.5.10 + version: 10.5.10(@types/react@19.2.18)(react@19.2.8) tailwindcss: specifier: ^4.3.3 version: 4.3.3 @@ -1265,10 +1259,10 @@ importers: version: 7.0.2 vite: specifier: ^8.2.2 - version: 8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) + version: 8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12) vitest: - specifier: ^5.0.3 - version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + specifier: ^4.1.11 + version: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.0.1(@noble/hashes@2.4.0))(tsx@4.23.12) packages: @@ -1297,56 +1291,56 @@ packages: '@antfu/install-pkg@1.1.0': resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} - '@anthropic-ai/claude-agent-sdk-darwin-arm64@0.3.286': - resolution: {integrity: sha512-gkxWcJ+Z23UxwghI1V3dL09PkELIZmB2vPelR8XsdfhS+yP1KvoW7FThvRLojcxXb3fj0ddYawjQSQYIkXFbxw==} + '@anthropic-ai/claude-agent-sdk-darwin-arm64@0.3.280': + resolution: {integrity: sha512-Yws14X5g5hgDtF565Tld/+dILAhH9QZpundjKMyO3dFasq9miXZlhU0NwXqwTO2xP0jDjJ54zduIiJwkcfcvGw==} cpu: [arm64] os: [darwin] - '@anthropic-ai/claude-agent-sdk-darwin-x64@0.3.286': - resolution: {integrity: sha512-eMdni7sy1ud2IISI4QSsfVBCxotzSe62zCGdXISejL9MxDIwcRgEGZpO5OV+j7t8mNGMTe6Opl1t/3Z/1RUJaQ==} + '@anthropic-ai/claude-agent-sdk-darwin-x64@0.3.280': + resolution: {integrity: sha512-B1eLx/oZ5RL1c3a13nQ4cRUksWyhGcVNS5vbCHnOVu4Pz+dH0moZ+iY8VaE6FvikVAQwFEW6VDU00b6m3tYdsQ==} cpu: [x64] os: [darwin] - '@anthropic-ai/claude-agent-sdk-linux-arm64-musl@0.3.286': - resolution: {integrity: sha512-fG8Cqx53jkFyEL86ETA0tdLH3p06yFQKHcoxnMpiU+VmJ5g6uGFhsUZbJ6gFvuT3EgyMcNI2kZwhCCDF/DTnpQ==} + '@anthropic-ai/claude-agent-sdk-linux-arm64-musl@0.3.280': + resolution: {integrity: sha512-uDh+Ggjb36l+jcVgaYxSziGHmBSSR3clqvGlQ0Bgc1v5dLF4igwqZ6ZPW/hS9dArG27fislIOetH1waEgIr+GA==} cpu: [arm64] os: [linux] - '@anthropic-ai/claude-agent-sdk-linux-arm64@0.3.286': - resolution: {integrity: sha512-3h+WWGek9beZ6i1qbIjjwYEFbs46D6qumjSBc6cLsEvnufcoi7mc0iBwbFSh9yRb3upxoi4ZTJdl53T3gLTdUQ==} + '@anthropic-ai/claude-agent-sdk-linux-arm64@0.3.280': + resolution: {integrity: sha512-6s96OIvBHT2817hCFLIZ421JBpQnvrmZucpjlWsyCODKmwGsSxiEhlWqK2h5Q7lwS6F7bzeAhqjGvC7FzDl9Rw==} cpu: [arm64] os: [linux] - '@anthropic-ai/claude-agent-sdk-linux-x64-musl@0.3.286': - resolution: {integrity: sha512-WeO/wG2uPh95BhOQi1IsIECdW5gJgC1Q9xtGw4RjV04it1fBMAbUe7aVwP4DQgH8PHnmduA7dRnLtbnZnrGsjg==} + '@anthropic-ai/claude-agent-sdk-linux-x64-musl@0.3.280': + resolution: {integrity: sha512-IVbIgvi5C0sdLg/p9hpiVvAQ/ikvTKwOOEy5C1aT7w8XLqBgfpJbzzVuk06df1Q0HlILUmf63EKPmq48lbxtqA==} cpu: [x64] os: [linux] - '@anthropic-ai/claude-agent-sdk-linux-x64@0.3.286': - resolution: {integrity: sha512-kNczbWhWJ1G8sPRZd4Nsx/Ozr/kx16lT2NGp/EEmTV4Hn732xfLkUOlg+tFcS78i6lOPBknjDB/cz/J5Ha4wDQ==} + '@anthropic-ai/claude-agent-sdk-linux-x64@0.3.280': + resolution: {integrity: sha512-vpPyxYLy+zNc7LwQDWsZf0GZtTYa0PJLxzuv2vK9iV2dG+hrbRNTl35NSKKRR9rMj6RpKz0i2NLyVQ+D4mREgw==} cpu: [x64] os: [linux] - '@anthropic-ai/claude-agent-sdk-win32-arm64@0.3.286': - resolution: {integrity: sha512-N4p7Gw5Qg3q9+Y5sEht1cIHHZkmBAUfWXJnqfmDD7N8twqF3XNVK3w65hDLqli4i0ttuZu79bGmRGkgNGm9Imw==} + '@anthropic-ai/claude-agent-sdk-win32-arm64@0.3.280': + resolution: {integrity: sha512-heTflHwciJF+Hrf7v0J53QBzD+9mxN9gt2VVmEJAN0+ejbPcOcqnGGZHvyc9aZUuGh5INN0ECaiL4Fn1X2vXQQ==} cpu: [arm64] os: [win32] - '@anthropic-ai/claude-agent-sdk-win32-x64@0.3.286': - resolution: {integrity: sha512-pg35GRPBKyviod0i8Z3EVMzDnTiiiucuWUbyH1bVIFFN0UWCQQ+PRUJ15qrPKjL6+vlFxOX2ei9FfsWYjGYZwA==} + '@anthropic-ai/claude-agent-sdk-win32-x64@0.3.280': + resolution: {integrity: sha512-N+Y1zJb19nx0oPTvzkl/E3ng9AtWGW+K4hySmSHCgYSsgIwfs1YzDj/F5eHDMrxgklTuzFp76TvL3S75z5ge+g==} cpu: [x64] os: [win32] - '@anthropic-ai/claude-agent-sdk@0.3.286': - resolution: {integrity: sha512-InL/UNmRGSwBM/81PME0J0TZDsDBBlweWqRZgq2XSViSIg2hBi8nIL8j9Hm6MHRH85wgDJQE5n6Vo/r9hIO0NQ==} + '@anthropic-ai/claude-agent-sdk@0.3.280': + resolution: {integrity: sha512-aIQSTKcCJcOgi125GAGQaNZUYgxbEBQwV2Ac+Utp0+gGUjIEWjTqz4B8kXr9XjkcCTYiRUMTDsXPAUfIcBDjnw==} engines: {node: '>=18.0.0'} peerDependencies: '@anthropic-ai/sdk': '>=0.93.0' '@modelcontextprotocol/sdk': ^1.29.0 zod: ^4.0.0 - '@anthropic-ai/sdk@0.129.0': - resolution: {integrity: sha512-MH7LB20kNpGLUpPTe2OG5XvL/KhX8HUO9XyBaFjgFk6TLS4Xjt0VPIuMKywe7POKKPslX+QxSlVok9e+8kG5Nw==} + '@anthropic-ai/sdk@0.121.0': + resolution: {integrity: sha512-WFzwcH8l49CZHv0vQ9QQT51VJ1/DLDQfNSs9awpGlnKBdaSnqtdZa+tw/3cxxosTPIgK8uw1GqsJ2dSbCBD1Lg==} hasBin: true peerDependencies: zod: ^3.25.0 || ^4.0.0 @@ -1362,11 +1356,11 @@ packages: resolution: {integrity: sha512-93Z1N+BQNXysodoicpOIyNh2drHfz/CTf9nnT0FEx72GJcIiwgydD7tGAr78j41LsYn3hlRn+LdGPuBLn1Bl8Q==} engines: {node: ^22.13.0 || >=24.0.0} - '@assistant-ui/core@0.3.22': - resolution: {integrity: sha512-0ffExOL5TBZwySnDEx66wlTGuG7BivNAXRfvMpcqZQqEweiEcY6vFexexewYo8Dk1bP43gCeNPLwcjkBSyYpbQ==} + '@assistant-ui/core@0.3.21': + resolution: {integrity: sha512-zD0u/N4RC57jcHWbsMezAkuUK6IbBzfjkl37o9TdRRDIseDs/iEpqede551kdGpgkuSVA7qlbMokHtY4upAbYw==} peerDependencies: - '@assistant-ui/store': ^0.3.16 - '@assistant-ui/tap': ^0.9.20 + '@assistant-ui/store': ^0.3.15 + '@assistant-ui/tap': ^0.9.19 '@types/react': '*' assistant-cloud: ^0.2.1 react: ^19.2.8 @@ -1378,8 +1372,8 @@ packages: react: optional: true - '@assistant-ui/react@0.15.22': - resolution: {integrity: sha512-xSLdwMiuw/tVmfZpXBrcs9sdH2e5UJECSi4gQY1eRWdG8/xYykzn81HLmuIQQvIDVSMQo9nNRAO3u2AAFrDq/Q==} + '@assistant-ui/react@0.15.21': + resolution: {integrity: sha512-5VID3r2YpYFbx6LLfyOSWwRVf4WOJXYsfSN/C67sbCsJsqqBbxeQpn4MB9g73HcyriBkRwqvHY5XXCguyNqP6Q==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1391,10 +1385,10 @@ packages: '@types/react-dom': optional: true - '@assistant-ui/store@0.3.16': - resolution: {integrity: sha512-XfG0rqGogih445q/AfCOg16TtdIsa0SQRyNV5YH9LvaqTVhld17J49uPtXTU79eJFTzNypt7q7EVLBhWoMng1g==} + '@assistant-ui/store@0.3.15': + resolution: {integrity: sha512-BF/SVDTe0GIa168lsbiBHAn4xt/LwB6bmMX4ZUycDAEI/yxoPHhV183GScFBb4xfWW7Dmj7fYFkHYDFtxMoFqg==} peerDependencies: - '@assistant-ui/tap': ^0.9.20 + '@assistant-ui/tap': ^0.9.19 '@types/react': '*' react: ^19.2.8 peerDependenciesMeta: @@ -1403,8 +1397,8 @@ packages: react: optional: true - '@assistant-ui/tap@0.9.20': - resolution: {integrity: sha512-PpD4/VVnAzTw5nEqgpH7hvSV+w2b5Zxs5jePwOnwg0FMSRdwhrxxHaBUsWwPm3JU+G9VQrWSpfg8G2eykQIhlw==} + '@assistant-ui/tap@0.9.19': + resolution: {integrity: sha512-ggleeD5VPrgKhwYfa9T/cIcYsSlLJUSQr1fiippvPGVHp0ysaoQSoK+vll5DWVvc9PX9MtrYALpJPLL/6SG/sg==} peerDependencies: '@types/react': '*' react: ^19.2.8 @@ -1834,8 +1828,8 @@ packages: '@codemirror/search@6.6.0': resolution: {integrity: sha512-koFuNXcDvyyotWcgOnZGmY7LZqEOXZaaxD/j6n18TCLx2/9HieZJ5H6hs1g8FiRxBD0DNfs0nXn17g872RmYdw==} - '@codemirror/state@6.7.6': - resolution: {integrity: sha512-kAz+AncRtKuIknedxT1bq4XwXv4UowhbkHU1myPrtVb/jZtImWuV5BXzv5vK6i3kYACsdiZiQKFQQ5Mq7elW8w==} + '@codemirror/state@6.7.2': + resolution: {integrity: sha512-U3RiPX62Wl/Gx4ftQ7UxLlloSfsFTQqKa+7vFBYteZGCzkp6oBqcsD7iSwniWRGobCAmDcwZSY+Six3+3ztdfg==} '@codemirror/view@6.43.11': resolution: {integrity: sha512-2+esucbQX6wB2JYi1eDvdCPFTA31BN8oSy6xCmk3G6CloV11yOvEjYk+gH7kLrP0MuHG94E8WDhjs5oMiu3+Wg==} @@ -2542,8 +2536,8 @@ packages: '@floating-ui/utils@0.2.12': resolution: {integrity: sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==} - '@grpc/grpc-js@1.14.5': - resolution: {integrity: sha512-7VZM+SVdEcUUqSQeNI3zM8Qs/BhQKZndPo2h5VkYkAM8Iz0wJIa8mKV5ekQGqG8UUsnkQ0NMxIxwkIHYvj0qOw==} + '@grpc/grpc-js@1.14.4': + resolution: {integrity: sha512-k9Dj3DV/itK9D06Y8f190Qgop7/Ui+D0njFV3LHMPwPT75DpXLQohE9Wmz0QElrJnzsjB7KPWiKJbOl7IPDArQ==} engines: {node: '>=12.10.0'} '@grpc/proto-loader@0.8.1': @@ -2745,6 +2739,10 @@ packages: cpu: [x64] os: [win32] + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + '@joshwooding/vite-plugin-react-docgen-typescript@0.7.0': resolution: {integrity: sha512-qvsTEwEFefhdirGOPnu9Wp6ChfIwy2dBCRuETU3uE+4cC+PFoxMSiiEhxk4lOluA34eARHA0OxqsEUYDqRMgeQ==} peerDependencies: @@ -3082,8 +3080,8 @@ packages: cpu: [x64] os: [linux] - '@napi-rs/wasm-runtime@1.2.4': - resolution: {integrity: sha512-AJxoUD2/15ESHbvpcyjU274nsAPLuOtPHCk0vKJM5pj//Fg/B1FXNWjPnXTT9PymCYYiHo4zPj0ZomXBKhoy7g==} + '@napi-rs/wasm-runtime@1.2.3': + resolution: {integrity: sha512-UMduMbqO5s5zF2NkNacMT/yK5Y5QiKvWr2+50bzIIxFDwVJ2h49b+oyjaCGPhJxd2/gC2x39EHv/gHVuu36x2Q==} engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0} peerDependencies: '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 @@ -3183,43 +3181,43 @@ packages: '@octokit/types@18.0.0': resolution: {integrity: sha512-l6bAF43PNxkJp6g+W4PjoUSSkxHomXw2nOum5CTftJz1NlV3vu93NImgOYtLf6CbBUb5j+fiuzW0PPQ5JTSvZA==} - '@openai/codex@0.160.0': - resolution: {integrity: sha512-kEtVGzjRAYAMOwJxN39bGcna7LT3IDQgq64NNJ/dDTfu4OzZaocJcyNb5/gGJ/IVF/Vj7oK7E2m3nmTan7lpjg==} + '@openai/codex@0.156.0': + resolution: {integrity: sha512-47dfpl2e8F47baSQTE+QaWzF/kKoOeR9YQ2fIBdRGzZZP2/QZ6D0uwLY2ZamS8ypov4UFtg92jZh8m+w65bsGg==} engines: {node: '>=16'} hasBin: true - '@openai/codex@0.160.0-darwin-arm64': - resolution: {integrity: sha512-aefV6cqZA2REZgR//4McyXlp7zLcTti4CI2v3j9IVgNndPBv2kCeNEcz07qeelXcwOdSFPUKb6roA48vZmDgrQ==} + '@openai/codex@0.156.0-darwin-arm64': + resolution: {integrity: sha512-43/9bryLjRA+g7z1AGeFS8AQiChmG52nIhzMkxjNAXcxEBMVsA88YGBosk0ndThjgTGB42vK82BQV3DR6OBsGQ==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] - '@openai/codex@0.160.0-darwin-x64': - resolution: {integrity: sha512-ir7cdsPrb9VkqNqpTECoTiomv04xws/FQ968mHQzuL+2J5Da0Dkh2Qlxp7sguDDZJab4YpYmNjQvBVMXbTeQaQ==} + '@openai/codex@0.156.0-darwin-x64': + resolution: {integrity: sha512-fD6Nxn7rxinrE6JRxN1liMH3rIV2j9HjcszwMprgs3Ka2p6rR60CmvN03RsWOT4vCcxnA7Evhpnm+bCTNVhH+g==} engines: {node: '>=16'} cpu: [x64] os: [darwin] - '@openai/codex@0.160.0-linux-arm64': - resolution: {integrity: sha512-VnVdsS06YlDsL8OwaJjQ3xdqdJNG4i+eBJBV3LytddknzSaF/urijLzVg3ptkwvoj8C7Gn7iWpVE+y8WEaPiCg==} + '@openai/codex@0.156.0-linux-arm64': + resolution: {integrity: sha512-IfUrjxm8RAdzPgqlPhUXTJ4mGKKbuTKsNixiXoiRzNkd9kNLj/fUmOQYCcWu+3Dk77b4OH1itnoIRAcFimNzNQ==} engines: {node: '>=16'} cpu: [arm64] os: [linux] - '@openai/codex@0.160.0-linux-x64': - resolution: {integrity: sha512-KI/73OqGrHmR18s7ya7E1NqV6rT0y3lxr0s8S1qR2m6zU6QRF/HlR529jALLh5vjdUnsRT4Ahoxt0axb4kY99g==} + '@openai/codex@0.156.0-linux-x64': + resolution: {integrity: sha512-/PX399ISB715skgBBOtOX5aqLxmPQhYC7wDasZnAJhRrtzt3qgs6kjSnimN9T8OFKv4LDAp+uJdN896tQYaTrA==} engines: {node: '>=16'} cpu: [x64] os: [linux] - '@openai/codex@0.160.0-win32-arm64': - resolution: {integrity: sha512-tTvK9ZIGuj9WnYaYOAnfjJVSfPV7dKqWtDHqUPLf0Hadp6SgynTxx7S7iMXRieFeXVOI2XH76KxEHSOTOnz3zw==} + '@openai/codex@0.156.0-win32-arm64': + resolution: {integrity: sha512-kDs2Sz+oDAcAm6n5C1TkN6qy7ZNWZiDPM7Uj0Z913I+SFLOYTkF/OB2SWYFG73jF/gKLrkIpWZFdIvFUaMBWfw==} engines: {node: '>=16'} cpu: [arm64] os: [win32] - '@openai/codex@0.160.0-win32-x64': - resolution: {integrity: sha512-/gCFcuOmGlQkgGivWCtY8BNEDixh70Pue0HZOk9S8bj2vUIE1GLD9zcNB/KqqDJmn0S+lIttauLpzQnw6HOCHA==} + '@openai/codex@0.156.0-win32-x64': + resolution: {integrity: sha512-9y+shxtHJn7yrmZqF4gs9oK1Tte9Heshkda8TrTiAf3bPn24cgOq+avZ+Mad54I3M2R8AFeqt0hT/aS6s5cbAQ==} engines: {node: '>=16'} cpu: [x64] os: [win32] @@ -3503,6 +3501,10 @@ packages: '@pinojs/redact@0.4.0': resolution: {integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==} + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + '@playwright/test@1.62.1': resolution: {integrity: sha512-DTcUc8qii+cpHvtOwggMtBRMjKZHXYWdw8syRYu2vtzuq4Wxphqq4NfCs5Zt44L6mA8rfDfj+PHnxFc/FeK6mQ==} engines: {node: '>=20'} @@ -4795,16 +4797,16 @@ packages: '@statsig/js-client@3.31.0': resolution: {integrity: sha512-LFa5E0LjT6sTfZv3sNGoyRLSZ1078+agdgOA+Vm1ecjG+KbSOfBLTW7hMwimrJ29slRwbYDzbtKaPJo/R37N2g==} - '@storybook/addon-a11y@10.6.0': - resolution: {integrity: sha512-Z/CZor/F8H74/+IoeLroEQXQoVxvmjVtUgATJ95KPBolHxMaHLXLsYU0wosIiiORxmfRCnpen5pQl1n4+pBWQw==} + '@storybook/addon-a11y@10.5.10': + resolution: {integrity: sha512-RpRQV5xUbrl6hCiNrd5FSMIo6pnRZ0VZxWvEW/ASLcreGkKUW5jl2AeLCe5YROE2i80s/dU+6VPzOYKrwWNFbQ==} peerDependencies: - storybook: ^10.6.0 + storybook: ^10.5.10 - '@storybook/addon-docs@10.6.0': - resolution: {integrity: sha512-Fk3rUQWeGyCfL170OkmRp6Ruyv7MHPb/xrKa6YNk7FlGmlVLi5tKzh2T/0J13vWEy8wiu2MV3IBu8iRsaUR+Cw==} + '@storybook/addon-docs@10.5.10': + resolution: {integrity: sha512-06JoK3/a7FWI/6GzuidJP9iHp1/Vejboe6lzS1jW+d8ItpecriBt+oXh1VNmUM7i7PjI6pZnet+j51QnLyeOoQ==} peerDependencies: '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - storybook: ^10.6.0 + storybook: ^10.5.10 peerDependenciesMeta: '@types/react': optional: true @@ -4855,20 +4857,6 @@ packages: '@types/react-dom': optional: true - '@storybook/react-dom-shim@10.6.0': - resolution: {integrity: sha512-ZE0l4xL6d00rKFeJhRDuh0t3r+/2ffhx47lIyaSWrTD5kuM3nDjKDxCIWwX4E3gLV+oNX8E1prXRMuEWJUJwJg==} - peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - '@types/react-dom': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^19.2.8 - react-dom: ^19.2.8 - storybook: ^10.6.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - '@storybook/react-vite@10.5.10': resolution: {integrity: sha512-xOztxefUnqKeuyvcnjspqmlDnER4cExL+liltrpdXLPJVqfFNr9lgM49FyEPajzsUVG9W/vHJWjbaQGGu1UsYQ==} peerDependencies: @@ -5001,16 +4989,16 @@ packages: peerDependencies: react: ^19.2.8 - '@testing-library/dom@10.4.2': - resolution: {integrity: sha512-yzr2S9HyAIdhz2/6qHgbs665Q7PKVcDF05vsOlHPxG1mo36gKVesdYVeDLnXgfjJ03CrKRk08knc6+E/9m8v2Q==} + '@testing-library/dom@10.4.1': + resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==} engines: {node: '>=18'} '@testing-library/jest-dom@6.9.1': resolution: {integrity: sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} - '@testing-library/user-event@14.6.7': - resolution: {integrity: sha512-MPCpX8bxe8zS+JmmTwLp8jd0dy1rAm60Te/SL8JrQM3qvQJcBOs1d7IefJMyZzqM3EWBrDn/LWDt1BCGu4ASfg==} + '@testing-library/user-event@14.6.6': + resolution: {integrity: sha512-Jbs9FpkkIDw8FgSc6kOVsOv8JuuqGAL7J4X1oot77JxAoDlkNn2GRkd0aYRVuQ+pVQAiHWVkE4rX/dkF5fBiCw==} engines: {node: '>=12', npm: '>=6'} peerDependencies: '@testing-library/dom': '>=7.21.4' @@ -5018,8 +5006,8 @@ packages: '@tweenjs/tween.js@23.1.3': resolution: {integrity: sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==} - '@tybys/wasm-util@0.10.4': - resolution: {integrity: sha512-W3c4gRigFS0T/Ma4qIYF3GDAc5AQdHb1yL5znJT1Zv1YaD9Kitx656wBjvr19qbiosmZT8lWDM5BEMynUqX65A==} + '@tybys/wasm-util@0.10.3': + resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==} '@types/aria-query@5.0.4': resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} @@ -5391,23 +5379,22 @@ packages: '@upsetjs/venn.js@2.0.0': resolution: {integrity: sha512-WbBhLrooyePuQ1VZxrJjtLvTc4NVfpOyKx0sKqioq9bX1C1m7Jgykkn8gLrtwumBioXIqam8DLxp88Adbue6Hw==} - '@vercel/cli-config@0.3.0': - resolution: {integrity: sha512-kQLt5Pm8wKd7/imzDY9/9u0tf8OuRkAuXI+s7j057FSUrXapAmumJSKwDqnR4ZZqdWoUcNLlFAgVIAdiwcGTcw==} + '@vercel/cli-config@0.2.2': + resolution: {integrity: sha512-kAy35eymNzRBfmcqEViVQge0KJ59FYEKsPqGNCSJQ7M9HTuFGWd3qPcZos1A5cZpAWRBdiYe82Bcz9P7pIZvUQ==} '@vercel/cli-exec@1.0.1': resolution: {integrity: sha512-g9XerViJ/paZujufXYcu5XYI2vU2rtB4sgdpjUHde5RnOkdmpu0ngH46LCFGHoPXO/C+qDPSczIHIRN+8Q2YKQ==} engines: {node: '>= 18'} - '@vercel/connect@2.3.3': - resolution: {integrity: sha512-Hu9BhaKgY7tBE4pYBKzlqQB0LHl805ht6Qb2EBPPP4sw7Zi/dJMqvsHFVhCqo9n0fcHo4H5vwMYXQ+pMXOhbHA==} + '@vercel/connect@0.6.1': + resolution: {integrity: sha512-pFvl2diWEB/NYEV9YoUWa8jBI58caGPeaMuYmYKLQC8/FifaIfpTnEo3ubBb8NB0Z784fkLFCEJ5uYDzZSd/2g==} peerDependencies: '@ai-sdk/mcp': ^1 || ^2 '@auth/core': '>=0.37.0' '@chat-adapter/slack': ^4.0.0 - '@modelcontextprotocol/sdk': ^1.29.0 ai: ^6 || ^7.0.0-beta.0 better-auth: '>=1.5.0' - eve: '>=0.39.1' + eve: '>=0.13.7' peerDependenciesMeta: '@ai-sdk/mcp': optional: true @@ -5415,8 +5402,6 @@ packages: optional: true '@chat-adapter/slack': optional: true - '@modelcontextprotocol/sdk': - optional: true ai: optional: true better-auth: @@ -5424,8 +5409,8 @@ packages: eve: optional: true - '@vercel/oidc@3.8.9': - resolution: {integrity: sha512-TcbdH3YtGS2KU98T99dN4sbf+E4vbJZsJTRN97wKQ7QWQ0BR7U02QX3KN4+5GHxBtKTj1c5CnvTTitc2ZRad0A==} + '@vercel/oidc@3.8.2': + resolution: {integrity: sha512-nmVSeQ7tewCkqYBNB/MNL8aPB9sTvtjvqIE6+U17U4IuTyehuWVERDlWrSn0DVfiFAstRlRkGLHBlKHB2FyzbQ==} engines: {node: '>= 20'} '@vitejs/plugin-react@4.7.0': @@ -5453,8 +5438,11 @@ packages: '@vitest/expect@3.2.4': resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} - '@vitest/mocker@5.0.3': - resolution: {integrity: sha512-T8sWAIbkSyAjkwTcaEc3Iu0o9A27X1/kdXrizhZkGuSKScRQtRzclfAMpOTcGdXCsqxeWlpGy3XjqaW8CpLORg==} + '@vitest/expect@4.1.11': + resolution: {integrity: sha512-VX2x5vNJXET47KAFzwERI+KRMtTTCSWTfSMKsW7JsUsXV4psq++e3DvZpuTDOpHcxytiDs6p2nhVb2tVDiiUYw==} + + '@vitest/mocker@4.1.11': + resolution: {integrity: sha512-2XJVD55d1o5AZous5CCGKS74g/riOj9odEt2bQpCVZeblHyHdnMeFl4jl0XjU21stf4mbjUkew2eXQZt65g5CQ==} peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -5467,15 +5455,27 @@ packages: '@vitest/pretty-format@3.2.4': resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} + '@vitest/pretty-format@4.1.11': + resolution: {integrity: sha512-yiZzPbGTS9Sr/JpFl8zHrcIkAofNbFV6k21vIgQN/cY/oxZeXhJv5sc/MBJ5jFKWmWs+oJHw0UXLZjmf931+Vw==} + + '@vitest/runner@4.1.11': + resolution: {integrity: sha512-LztvUgdwMNJMIkj3hQnnxiC2Xy1zNxq928W/xhjCLaNCzqTZOudjwbQf6v9IntZGPw132i2Lq2rgTRZHD3JHNw==} + + '@vitest/snapshot@4.1.11': + resolution: {integrity: sha512-pN7ikn1ON7h8ee4gIAp4AzyK+zBtJPzVbqOgu5LCEh4VaJVbPQcgYQYJIMGQPXVeJJq1fnfazis7a5pFNPahog==} + '@vitest/spy@3.2.4': resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} - '@vitest/spy@5.0.3': - resolution: {integrity: sha512-XhFysQTB8AZ+P4gMi+Lpo99vg2AZi0qKpaB9yXQl37+CaMEAPO3iH/wGVnSyL5MPERiLezpqTVtrR6UZH5GCXg==} + '@vitest/spy@4.1.11': + resolution: {integrity: sha512-apNa/prQy2qCeywhnixOHPRCgGNhvg7T4Dapfl1GahLp/R+uhBm5cPyFoNVyqsNd2h1nJxL6BqqdIjiABL60YA==} '@vitest/utils@3.2.4': resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} + '@vitest/utils@4.1.11': + resolution: {integrity: sha512-zTCVGpyFsGWBhllOyKlTw/vnr6D9qxsfSDyfbyZmTyjHw5N/VuvzHpHoQjm2ZJzn4RJgx5w4r7V0er69CmLgPQ==} + '@vladfrangu/async_event_emitter@2.4.7': resolution: {integrity: sha512-Xfe6rpCTxSxfbswi/W/Pz7zp1WWSNn4A0eW4mLkQUewCrXXtMj31lCg+iQyTkh/CkusZSq9eDflu7tjEDXUY6g==} engines: {node: '>=v14.0.0', npm: '>=7.0.0'} @@ -5531,8 +5531,8 @@ packages: resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} engines: {node: '>= 14'} - agentmail@0.5.31: - resolution: {integrity: sha512-wBH5xwO2bIS8mhV+S/4ciwIhH0XFnrvfAubircTfWInCGSo/DP/i6/IZ+cYA4aZTStMEDecGxwhIkIAgzwKjpA==} + agentmail@0.5.20: + resolution: {integrity: sha512-EA1QAwxkkbH2fUZ8hC/hWZzDsGBV7b50c5LEHcwFi8/e6SArB+U50fDXBMxcbn8jh/UDeNEJZncdYxicrN64SQ==} engines: {node: '>=18.0.0'} peerDependencies: '@x402/fetch': ^2 @@ -5555,6 +5555,10 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} + ansi-regex@6.3.0: + resolution: {integrity: sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ==} + engines: {node: '>=12'} + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -5563,6 +5567,10 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + append-field@1.0.0: resolution: {integrity: sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==} @@ -5590,8 +5598,8 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} - assistant-cloud@0.2.4: - resolution: {integrity: sha512-XxX4WCGs8/0rGuYmpBo2PUMhRzy8wXrXRCtMyB99XmwiX+rxtSl80h5V7evS/V4zkhrU447TWkTFTeqRBT2wvg==} + assistant-cloud@0.2.3: + resolution: {integrity: sha512-ufe78jldgmQ6XcKJUWLh0978u4WBN7N23IAzBV4hvyLnhSNUHEotlIr3/HKl3GjhJ1VK4+/aMmAtYPAq59DKfQ==} peerDependencies: '@opentelemetry/api': ^1.9.0 '@opentelemetry/exporter-trace-otlp-http': '>=0.200.0' @@ -5607,8 +5615,8 @@ packages: ai: optional: true - assistant-stream@0.3.46: - resolution: {integrity: sha512-Up1GWAjDxsg85qo4s6977Mpe1A3mJKN1bV3H7wRyTVjOas3r6i5wSGwUqMyRCLkuvhLYWXOZIJ83bujIwjPM1w==} + assistant-stream@0.3.45: + resolution: {integrity: sha512-HBjy+VAqgxClbD73w6K96QC7mdzT5NcsOZgjaMAUoL4t3wsNzb3PUFoyoz2Yq2fkdckslDRc18snUtoKQMEy6w==} peerDependencies: ioredis: ^5.10.1 || ^6.0.0 redis: ^5.12.1 @@ -5618,8 +5626,8 @@ packages: redis: optional: true - ast-types@0.16.3: - resolution: {integrity: sha512-FvWoWYfSCM6kRxCSH+MGLHIKKGRL6A6AW7Zek2O32REPQRdg131428uRTKMBYAeRd3XXAaHDS60Wpri7CdKDrA==} + ast-types@0.16.1: + resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} engines: {node: '>=4'} async-exit-hook@2.0.1: @@ -5651,6 +5659,9 @@ packages: bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + balanced-match@4.0.4: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} @@ -5789,6 +5800,9 @@ packages: bowser@2.14.1: resolution: {integrity: sha512-tzPjzCxygAKWFOJP011oxFHs57HzIhOEracIgAePE4pqB3LikALKnSzUyU4MGs9/iCEUuHlAJTjTc5M+u7YEGg==} + brace-expansion@2.1.4: + resolution: {integrity: sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==} + brace-expansion@5.0.9: resolution: {integrity: sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==} engines: {node: 20 || >=22} @@ -5808,8 +5822,8 @@ packages: resolution: {integrity: sha512-lHblz4ahamxpTmnsk+MNTRWsjYKv965MwOrSJyeD588rR3Jcu7swE+0wN5F+PbL5cjgu/9ObkhfzEPuofEMwLA==} engines: {node: '>=10.0.0'} - bundle-name@4.1.1: - resolution: {integrity: sha512-DdH81/zPLVS11EUgWq3tEu/xn+EzljlMYooDNdzWEnFha3R3NBMpMV1UqYIpjYHV/SgpFKMIX1Oh7o06SjM/oA==} + bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} busboy@1.6.0: @@ -5838,8 +5852,8 @@ packages: resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==} engines: {node: '>=18'} - chai@6.3.0: - resolution: {integrity: sha512-XWAtwJ6OHO+tj0EKCs0Y2UamnyOxseZWltU4x2U2wh8g4AigdjwvtUjvLP2tqkA/avxHEtzxNaqGq/YGNwckKg==} + chai@6.2.2: + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} engines: {node: '>=18'} character-entities-html4@2.1.0: @@ -6287,8 +6301,8 @@ packages: dom-accessibility-api@0.6.3: resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} - dompurify@3.4.16: - resolution: {integrity: sha512-sqo+pNp3qRhCIpbgRi1y8Tgk27Bo2Ry7w0dC1NBeNTdZChWjz9Xb/KOoZbRP/R6pQZ80Qw8YhXw13hWWBbMRnQ==} + dompurify@3.4.14: + resolution: {integrity: sha512-dVoH9z+MY+C9IilgGCk3YfFqjLi3fChm2OiKJMzh6axrJ5qwxqWaZamgmHrpv22CN/KdbZJuGEGgfQoL00LTdg==} dotenv@17.4.2: resolution: {integrity: sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==} @@ -6399,6 +6413,9 @@ packages: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + ecdsa-sig-formatter@1.0.11: resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} @@ -6415,6 +6432,9 @@ packages: emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + empathic@2.0.1: resolution: {integrity: sha512-YGRs8knHhKHVShLkFET/rWAU8kmHbOV5LwN938RHI0pljAJ1Gf6SzXsSmRaEzcXTtOOmVqJ5+WtQPL5uigY50Q==} engines: {node: '>=14'} @@ -6610,6 +6630,10 @@ packages: debug: optional: true + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + form-data@4.0.5: resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} engines: {node: '>= 6'} @@ -6662,13 +6686,17 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + gaxios@7.1.3: + resolution: {integrity: sha512-YGGyuEdVIjqxkxVH1pUTMY/XtmmsApXrCVv5EU25iX6inEPbV+VakJfLealkBtJN69AQmh1eGOdCl9Sm1UP6XQ==} + engines: {node: '>=18'} + gaxios@7.3.1: resolution: {integrity: sha512-kB3rzJV7d9juLZh8/56QTXCwQfxyhdOMdyYk1HdQKFtF8TJTDTZQJtixWIwXdE9Jji91mC41DUNpjleo4L4eAQ==} engines: {node: '>=18'} - gcp-metadata@9.0.4: - resolution: {integrity: sha512-p6WvbXOhfwnVtv/MyPq5kBiVhfV/qglMIxwwTVNEI1Ha1HmOgz5uHYHtYO6SfGckFaXe8blA11IJJ3wqXmvmBA==} - engines: {node: '>=22'} + gcp-metadata@8.1.4: + resolution: {integrity: sha512-iJ9KMsiu+xKtNRX0PmGLSaIU3bUBAyzWTyqKemKPzNPsmmsBCQYmlNg+brEbES7IHSXtdVwzBPzx1vz3FAaipw==} + engines: {node: '>=18'} gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} @@ -6697,25 +6725,34 @@ packages: get-tsconfig@4.14.0: resolution: {integrity: sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==} + glob@10.5.0: + resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + hasBin: true + glob@13.0.6: resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==} engines: {node: 18 || 20 || >=22} - google-auth-library@11.1.0: - resolution: {integrity: sha512-YIBq5KNoHQrZ9PM4PeodDBqqBGlSTIxh1zibN8u3zNIO9UJg8gvKuCpdKV7fWXhsZ2zRkU6FhGrgKNgLJ2IRgw==} - engines: {node: '>=22'} + google-auth-library@10.5.0: + resolution: {integrity: sha512-7ABviyMOlX5hIVD60YOfHw4/CxOfBhyduaYB+wbFWCWoni4N7SLcV46hrVRktuBbZjFC9ONyqamZITN7q3n32w==} + engines: {node: '>=18'} - google-logging-utils@2.0.1: - resolution: {integrity: sha512-HMhaQghlOTvbcb3c4T5jmmOMtG3JUF1iOQMezaJXL86CDS+Tm2vHd0IeLFRAx3+ewd+bo9E1HFHoy17X5aJa9A==} - engines: {node: '>=22'} + google-logging-utils@1.1.3: + resolution: {integrity: sha512-eAmLkjDjAFCVXg7A1unxHsLf961m6y17QFqXqAXGj/gVkKFrEICfStRfwUlGNfeCEjNRa32JEWOUTlYXPyyKvA==} + engines: {node: '>=14'} - googleapis-common@9.1.0: - resolution: {integrity: sha512-UJBElspYPJb0+fI8q0LxARw1hPnwd9yd5NqhKqEUPxjhnB1jdsRP7rlRTBp69JS5Vo10bCiRE9+ISsIG2A+Ttg==} - engines: {node: '>=22'} + google-logging-utils@1.2.0: + resolution: {integrity: sha512-WE9av4wKDZgRjBwgVUabocx8T6/7o3Ca1Fat46FXDhXVAFibzNadedcOXrdgd1Kzmk8tsk/9ZH89Wyf/SqeZ3A==} + engines: {node: '>=18'} - googleapis@182.0.0: - resolution: {integrity: sha512-W8K/yy5kb1j6TiKEtSj4I4DgjeImVfSzYmdmp8Bdn3dHBamBjmpJUteF0R7QQ9Ym++2Yq+ZYXvIFBC7ywBohAA==} - engines: {node: '>=22.0.0'} + googleapis-common@8.0.3: + resolution: {integrity: sha512-7g1yzQKx0mmNTjiK0H9dJ8eqKqDBveES9vLHeg5neb3BMQy/d1oQefIMhIpOVT8a+f+LOcixMEdRbFIW/cQUJw==} + engines: {node: '>=18'} + + googleapis@176.0.0: + resolution: {integrity: sha512-v24+WfeIw3R9iF8LT7eixlawezy5SGGNB/WjFV8qeiBS9G6KCsqaFngsnTXvBrVH4womehN2Co8UYJxZ0KpbvQ==} + engines: {node: '>=18'} gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} @@ -6724,6 +6761,10 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + gtoken@8.0.0: + resolution: {integrity: sha512-+CqsMbHPiSTdtSO14O51eMNlrp9N79gmeqmXeouJOhfucAedHw9noVe/n5uJk3tbKE6a+6ZCQg3RPhVhHByAIw==} + engines: {node: '>=18'} + hachure-fill@0.5.2: resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} @@ -6792,8 +6833,8 @@ packages: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} - i18next@26.4.2: - resolution: {integrity: sha512-RX+R0VLg13IbvRuJSxnqykUFS9vQZTl8wYpWPCIUDWVrSGjsQywB5Y+pjzrkboxGAuYfJZVH1InFTdgBdxq6ug==} + i18next@26.4.0: + resolution: {integrity: sha512-rsmK5bFqsD1AetSFSIa43wtNR4WpvvH4p0tLEsTxkC7QTrfdFm06nbQ95bh8Og4wwaCnUEcm9DVYL2cgxitiQg==} peerDependencies: typescript: ^5 || ^6 || ^7 peerDependenciesMeta: @@ -6908,6 +6949,9 @@ packages: isomorphic.js@0.2.5: resolution: {integrity: sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw==} + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jiti@2.7.0: resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} hasBin: true @@ -7025,9 +7069,6 @@ packages: engines: {node: '>=16'} hasBin: true - light-my-request@6.6.0: - resolution: {integrity: sha512-CHYbu8RtboSIoVsHZ6Ye4cj4Aw/yg2oAFimlF7mNvfDV192LR7nDiKtSIfCuLT7KokPSTn/9kfVLm5OGN0A28A==} - lightningcss-android-arm64@1.32.0: resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} engines: {node: '>= 12.0.0'} @@ -7220,6 +7261,9 @@ packages: loupe@3.2.1: resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==} + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + lru-cache@11.5.2: resolution: {integrity: sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==} engines: {node: 20 || >=22} @@ -7237,8 +7281,8 @@ packages: lru_map@0.4.1: resolution: {integrity: sha512-I+lBvqMMFfqaV8CJCISjI3wbjmwVu/VyOoU7+qtu9d7ioW5klMgsTTiUOUp+DJvfTTzKXoPbyC6YfgkNcyPSOg==} - lucide-react@1.48.0: - resolution: {integrity: sha512-R0CIKY/fXiC6y9xRBADgsK+VW2p/pcTJOMhLZf1T+uG+vJUvyUR02nGOgmIIC7MPkiNK4Ox8QDnbqF8rJYWPZQ==} + lucide-react@1.45.0: + resolution: {integrity: sha512-yH1ubCAduho9UR7oJhRXIQXogksRILBiTuZC4/bQIGeB9JOkxMlSuEHyyZpo1Z3S0yWJO2KTSUZbjiNvVxeOUw==} peerDependencies: react: ^19.2.8 @@ -7252,9 +7296,6 @@ packages: magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} - magic-string@1.4.3: - resolution: {integrity: sha512-z12OxmaPGE0F4xlpGdjuAUckipLpQlTAuAmyGhNoD7ODpYUzvDfvtxUbjM/jwznyP178oju/KDdyi220wNJ0RQ==} - markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} @@ -7499,6 +7540,10 @@ packages: resolution: {integrity: sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==} engines: {node: 18 || 20 || >=22} + minimatch@9.0.9: + resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} + engines: {node: '>=16 || 14 >=14.17'} + minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} @@ -7586,8 +7631,8 @@ packages: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} engines: {node: '>= 0.4'} - obug@2.2.1: - resolution: {integrity: sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q==} + obug@2.1.4: + resolution: {integrity: sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==} engines: {node: '>=12.20.0'} on-exit-leak-free@2.1.2: @@ -7619,73 +7664,69 @@ packages: resolution: {integrity: sha512-NzwMUB6C1D0+Kd+9iMS/H4k+Ck3cTX6Ckyfr/gAGlmvSE1LUQZnEZvWBi4PYmMwH/S5SMeTXnE+9uAz8uF+pWw==} engines: {node: '>=20'} - open@11.0.4: - resolution: {integrity: sha512-++Zlftm0kVLPmzC06t6epuWmcRMDbI4z5P3NNX979WA/k23+NtSOynEGzsVfZwguKw2mi5umVgnBlJQMwRz4Pg==} - engines: {node: '>=20'} - - opencode-ai@1.18.34: - resolution: {integrity: sha512-9WUS2T0t4HHDVzXvuwTHF0nvhXvZ9mQ0r+ozCvKdJu0LVoQpOzqAW4qWTC3ygNc5Oedcc7j+Oct24JYlQYnySA==} + opencode-ai@1.18.32: + resolution: {integrity: sha512-SCrZWdq44y/EoH2+fE4HLcXS+DzpVqHPzmXk3p2RrufYy8LWvpfhRhKtijb5ktvx8r94ScqToqwHxR0BwS65OQ==} + cpu: [arm64, x64] os: [darwin, linux, win32] hasBin: true - cpu: [arm64, x64] - opencode-darwin-arm64@1.18.34: - resolution: {integrity: sha512-ioBEvc3nUA64waDIVsphh92LgJgyTbq+uRd0OurdqqT9WEI9rp4J7NrA24NfL6epCa1Xr06TnRx5+th9W3T/sA==} + opencode-darwin-arm64@1.18.32: + resolution: {integrity: sha512-sDsHk/A6FNqeN5NuAiII6AAhi4pJIFcIY0S2yjG9gToIIVaqrQRaHQ6g0kpoVqTiMci8tvaND6tWD4eDT3ahFw==} cpu: [arm64] os: [darwin] - opencode-darwin-x64-baseline@1.18.34: - resolution: {integrity: sha512-WF9kdwGRDkss6jBR6lR3bG66U804onEaROY0zRtpWx2uyhaxKtLnOV74BYuS71meqkbsxLNA1SZKfi8qvS8HJA==} + opencode-darwin-x64-baseline@1.18.32: + resolution: {integrity: sha512-xXcVF+98Dk5bm3HXFu7R0xjc6zZSbC5LI7AcTWsnwFZIzOmYMjtCg0MwhEs/FPeMY6aGpl0n6IOS4WlQRXAAcw==} cpu: [x64] os: [darwin] - opencode-darwin-x64@1.18.34: - resolution: {integrity: sha512-o8KXQ4jP5zfEHJAYpCz5Ifs0aa5dX+26wyLbxHEvfyGJu8hrBoNiJed3PE0uiPIlHCrj5yzF0b6k5aWonaPcTw==} + opencode-darwin-x64@1.18.32: + resolution: {integrity: sha512-ZO/4GTJV/q2jlZ8apN1OfgTdD4m9bkdgLsEWYYDK6O8eTljIFgwhRMrJw1ozucU/D6lLQsA3CX/sS56UtlsTjQ==} cpu: [x64] os: [darwin] - opencode-linux-arm64-musl@1.18.34: - resolution: {integrity: sha512-3iCUYcJ0a6z4QjqgpCCA0G0cJHCNiJSg6zxUz9nQZvQ8tAJH0fgrI8Qu5E3RuRvFwk75oOQL8iHBW5cD3Pwrrw==} + opencode-linux-arm64-musl@1.18.32: + resolution: {integrity: sha512-G0fHTfilpeJu5VyvBp0H2fl9KnHayePYEibMW1vC0455hQDny+VkFMRKpu6yLYzGbAfjeTqKtRkejrQJD4mLUQ==} cpu: [arm64] os: [linux] - opencode-linux-arm64@1.18.34: - resolution: {integrity: sha512-ZSjqcH0MEbAzLEmkRC9Aop1PbWZxe2NuKONAE/x8MRQdjKdOepX7M50UpjbsNoiLMkP584Z98Mg4a42fJhouvA==} + opencode-linux-arm64@1.18.32: + resolution: {integrity: sha512-SDMw716oYxxJ9CWDO5roCpziw98ANwPZSz6L8evUOHkFCq6OU31xZGQwv/T1ROJnoPNJKWODmm1vzS6s6uEgUA==} cpu: [arm64] os: [linux] - opencode-linux-x64-baseline-musl@1.18.34: - resolution: {integrity: sha512-LXNBBe4MBKwa1msQdVdKdr6J48zW4zC05h++6n9a2vwrm9zUQR5n7ZcS6qvVnEprl/qSBx9JTTZbkRrB4FIezQ==} + opencode-linux-x64-baseline-musl@1.18.32: + resolution: {integrity: sha512-HGa9YBUBdc+qAyC9U8zXUht5qbTufOABOfSwmhukmzl9uMtuGoUovCzilwxytH0mTr/prUT/LAqWcXXoPXjRoA==} cpu: [x64] os: [linux] - opencode-linux-x64-baseline@1.18.34: - resolution: {integrity: sha512-StWC81sqAGzsig602U6xui3t0Y/kJtZRmJd+H1xYTY7zVLIZ4Iucb1Wp0no6A7/sDj6VqtFKdL718usH92sHBA==} + opencode-linux-x64-baseline@1.18.32: + resolution: {integrity: sha512-XXO4htNdJEoj935NGMYNGjD1M8ZiJPo2u2cQzIyeBjinoClI7iXOHBPw+Twm/ZuzFHKtmI2594bt0GWIwTetkw==} cpu: [x64] os: [linux] - opencode-linux-x64-musl@1.18.34: - resolution: {integrity: sha512-PigrBoMSnozys5C5ls8YZTrUPNNN1AhbySib7yJETkqGRUFOkg1Z1eTUnz9dXJRXshWA4n15dOVo+Sqx1FYPIg==} + opencode-linux-x64-musl@1.18.32: + resolution: {integrity: sha512-ktS7x5Ms+sVMCAb2oRpPKGk10isRjHkwBz6ordNOlx0epx6JQPsTydzJmpLBSdsiFAkfmZoBiYayKDXXU+rwXA==} cpu: [x64] os: [linux] - opencode-linux-x64@1.18.34: - resolution: {integrity: sha512-RTAMjCve4euxP2QKLuvRmdoW5J5DQK1DiZqt+7slfixyjAEi79QC2Df2oYKogibaAI4IEU8uzenoJeEl3k+UEw==} + opencode-linux-x64@1.18.32: + resolution: {integrity: sha512-CIatvoyi8V5a56xyw6ZUnsKxB9wqYIZqfNeqUNWhBBY4aENAm907LP0xXAwL6tR0cYbqNl2+Dvx8mOqXIxbDeQ==} cpu: [x64] os: [linux] - opencode-windows-arm64@1.18.34: - resolution: {integrity: sha512-W1sCmZPywVjHTaK88ASWTLOR2UcF70LBNiJddKoBG8Yxb70avl+GUlpNNa026E6y9T84s3n5xZ07ZL7u6Wo3Ew==} + opencode-windows-arm64@1.18.32: + resolution: {integrity: sha512-AFXHn/kYnbsR/5N7Bm5ysv1vjDkQMaJQxPxJeF1OgGoQV48yBXPLIzhTijbt6IsipNBQxdb6xC0yANefpDSD9Q==} cpu: [arm64] os: [win32] - opencode-windows-x64-baseline@1.18.34: - resolution: {integrity: sha512-Ng4R5BDWS/xHmHyjBC2hQpakIrvu3vYvO7U2oF820xjih1VJl4zON52VGtT4Zh1o6kbf8f6s7yLPMzzblGSXuw==} + opencode-windows-x64-baseline@1.18.32: + resolution: {integrity: sha512-pXhJumlv2/g/ubgbfW5VtCnLEfdXw2RZO0j1uVhYVtCCYNjioJUPeLT1oMRF06VbkCo1UuLRfwEFqeFXD59N+A==} cpu: [x64] os: [win32] - opencode-windows-x64@1.18.34: - resolution: {integrity: sha512-Nbw1JUHcMd+6Zab97tvhiR/wzMBrtFbHMog3w+HssBqt0068BLdpPadLmo72+vPtBu+ZxXIZzqNB9R3qtca7qg==} + opencode-windows-x64@1.18.32: + resolution: {integrity: sha512-9uy0owugtP9nkuylzN9+O9zWUIxt4X+KYwsREVk4G27PCfxccj+xIT7yxO9hCVtrF+DVgiJ59xDpiANE9UZrrQ==} cpu: [x64] os: [win32] @@ -7716,6 +7757,9 @@ packages: resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} engines: {node: '>=8'} + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + package-manager-detector@1.8.0: resolution: {integrity: sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A==} @@ -7739,6 +7783,10 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + path-scurry@2.0.2: resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} engines: {node: 18 || 20 || >=22} @@ -7746,6 +7794,9 @@ packages: path-to-regexp@8.3.0: resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==} + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + pathval@2.0.1: resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==} engines: {node: '>= 14.16'} @@ -7864,17 +7915,10 @@ packages: resolution: {integrity: sha512-ZlsFlG7MtSFCoc5xreOvBAozCJ6Pf06opgJjh9ONEv418xpZSAzNjstD36C6+JwOnfSqOW/9uDkqKjezTdxZhw==} engines: {node: '>=20'} - powershell-utils@0.2.1: - resolution: {integrity: sha512-C+y9x90UElAddDZmV4qOx9W53B61PO7cIqWz2dQsWlwswuq4mr8NEwytdGKboYbQlGZ3awrkTeNvcZiZNHnQ8A==} - engines: {node: '>=20'} - pretty-format@27.5.1: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - process-warning@4.0.1: - resolution: {integrity: sha512-3c2LzQ3rY9d0hc1emcsHhfT9Jwz0cChib/QN89oME2R451w5fy3f0afAhERFZAwrbDU43wk12d0ORBpDVME50Q==} - process-warning@5.1.0: resolution: {integrity: sha512-jQSaVHsPgtyw60e1rQ/A+/ArPEj/S8pS/vFnyGa/gYFXrKk/6RuDkoqVDQ5NI5MmS01698ltlAk0NoDBNLujRw==} @@ -7911,10 +7955,6 @@ packages: resolution: {integrity: sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==} engines: {node: '>=0.6'} - qs@6.16.0: - resolution: {integrity: sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA==} - engines: {node: '>=0.6'} - querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} @@ -7962,8 +8002,8 @@ packages: peerDependencies: react: ^19.2.8 - react-i18next@17.0.15: - resolution: {integrity: sha512-7uYpx/oBkesLto7cOzOmfITlUBaXHCAcFahmgETMfWr8nbbWRRnVGvz8wsH/xpbNcyoH+NpCcnOQEqWPMO6/hw==} + react-i18next@17.0.12: + resolution: {integrity: sha512-lFWPEGkxQ6RhusdUkysFBD58VHfSSzvHBzqMgN0SvfVpdQGfwtNkStTqdy08/sJd7s807qqutgx93fRpD0DJ3Q==} peerDependencies: i18next: '>= 26.2.0' react: ^19.2.8 @@ -8020,15 +8060,15 @@ packages: react: ^19.2.8 react-dom: ^19.2.8 - react-router-dom@7.18.4: - resolution: {integrity: sha512-yrfmJHIpDG7taCpqKjT1G5B6q3O2K+RN8/fgNf0lTjCwiPbQ0ei6vXX9ZjQR+7ld8Tr7Z5xmyMnZ8YJrphWQUw==} + react-router-dom@7.18.2: + resolution: {integrity: sha512-AIKJ/jgGlFb3EbfCXk5Gzshiwt+l3mqbCrNjmEWMMjqQxNJ3svBa6bgzFyCC2Sw3RA0VWF1kg3uQf2OFhxb8hw==} engines: {node: '>=20.0.0'} peerDependencies: react: ^19.2.8 react-dom: ^19.2.8 - react-router@7.18.4: - resolution: {integrity: sha512-PUPQcMhMGRAslLcvtlPz/kmzBEWPhLdgLFrL7pLNepBL6dX0lWj4WD2cUYVgYCuT3jxvghYFg81cDTj44DhetQ==} + react-router@7.18.2: + resolution: {integrity: sha512-aUVMjFm3GAPTTZL7oYr5E7ETiqfQCHRLH+B+5afnICvf0r7kkK4eR6SMuwbSTJw/7t+12khT/Kahij49fqOCIg==} engines: {node: '>=20.0.0'} peerDependencies: react: ^19.2.8 @@ -8134,6 +8174,10 @@ packages: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} engines: {node: '>= 4'} + rimraf@5.0.10: + resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} + hasBin: true + robust-predicates@3.0.3: resolution: {integrity: sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==} @@ -8262,9 +8306,16 @@ packages: resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==} engines: {node: '>= 0.4'} + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -8307,18 +8358,21 @@ packages: resolution: {integrity: sha512-wPldCk3asibAjQ/kziWQQt1Wh3PgDFpC0XpwclzKcdT1vql6KeYxf5LIt4nlFkUeR8WuphYMKqUA56X4rjbfgQ==} engines: {node: '>=10.16.0'} - standardwebhooks@1.1.1: - resolution: {integrity: sha512-bCbX9ZEyFkWPsRz7Bl3NuQUJohmwGSev/yhr7vhaGPlc4AfIrspIRa6cPTBuI1ItmrTDJ4d/S2hCsfe4+vQGnQ==} + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + + standardwebhooks@1.0.0: + resolution: {integrity: sha512-BbHGOQK9olHPMvQNHWul6MYlrRTAOKn03rOe4A8O3CLWhNf4YHBqq2HJKKC+sfqpxiBY52pNeesD6jIiLDz8jg==} statuses@2.0.2: resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} engines: {node: '>= 0.8'} - std-env@4.3.0: - resolution: {integrity: sha512-OtU/EgQ1kIm5KwqQpBC6ZEMXrZRui11w8zgfTWp8cdO9B8OaPsbA8bTHO2P+HNo1VlUTGMVBwPhydu6poeXiag==} + std-env@4.2.0: + resolution: {integrity: sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw==} - storybook@10.6.0: - resolution: {integrity: sha512-H48X6AURAFTpfN2zEux6vNesee5Oq8Gxj1IanYmblPZ218sfKSeyyerF1NC7GD7BrruoC8L4/cU0zII4y+d6zw==} + storybook@10.5.10: + resolution: {integrity: sha512-Rz8k9ejFHsi7lbtJTaxZlhCUz4GkbJIKEoKDjXeLfr/ZhXip73E6keKxW0KH8iGeKiCqHAbJCV4YIQrxTOLiig==} hasBin: true peerDependencies: '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -8346,6 +8400,10 @@ packages: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + stringify-entities@4.0.4: resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} @@ -8353,6 +8411,10 @@ packages: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} + strip-ansi@7.2.0: + resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} + engines: {node: '>=12'} + strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -8435,9 +8497,8 @@ packages: tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} - tinybench@6.2.0: - resolution: {integrity: sha512-78U2TlB2CnVenajOFzf3BKSm0J6oz5L0NV7g32LCPccvYc0lbWvys4d3uUUCS2B1N8PAf2+aekR8i1KbC3HO7Q==} - engines: {node: '>=20.0.0'} + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} tinyexec@1.3.1: resolution: {integrity: sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==} @@ -8451,8 +8512,12 @@ packages: resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} engines: {node: '>=14.0.0'} - tinyspy@4.0.6: - resolution: {integrity: sha512-u8KszXvGfU68hVcZpRHKG28T0krMuv2G5nDhiHaMLen/gIuFEgIJhaJuO69qjnXg5paSrbPMFfx3brNuN8eVSg==} + tinyrainbow@3.1.1: + resolution: {integrity: sha512-yau8yJdTt989Mm0Bd/236QnzEiPf2xLLTqUZRUJOo/3CB078LSwzei343DgtJVmfJKJE3TMINY1u42SQsP6mXw==} + engines: {node: '>=14.0.0'} + + tinyspy@4.0.4: + resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==} engines: {node: '>=14.0.0'} tldts-core@7.4.10: @@ -8504,8 +8569,8 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - tsx@4.23.15: - resolution: {integrity: sha512-Yiex1Ovn8z2xPpOWckIiysV1SSyRMY9BkLF++q0yKiDxCqRhosKfMg3janKkiLBwZ5c/YryloKwGZcrEmtwxKw==} + tsx@4.23.12: + resolution: {integrity: sha512-FDf4L4sYzKtzWYhU/Xm0AQFdTjdIxNo9ElTf2mxXM6k8YMHXzYUe4yODVaXP4V9uMFbVg8c0qyBccK2OOxb45Q==} engines: {node: '>=18.0.0'} hasBin: true @@ -8648,11 +8713,6 @@ packages: peerDependencies: react: ^19.2.8 - use-sync-external-store@1.7.0: - resolution: {integrity: sha512-6L+EeigHMQhdaIPNIFUKwfWJSwWFQ8gJbJ2DLOs5sDIegTwR9fRxvnM3uciHKjIZhFz+KAv2emhWMRvDmMcY8A==} - peerDependencies: - react: ^19.2.8 - util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -8763,23 +8823,22 @@ packages: yaml: optional: true - vitest@5.0.3: - resolution: {integrity: sha512-xMw97S3rjdtj5dkVat7jCsqWBpvchs3RlpQctUqwJD0KkERk40vz2fJ77lDwW/Vzh/pk18eItYAzkodhSes3jQ==} - engines: {node: ^22.12.0 || ^24.0.0 || >=26.0.0} + vitest@4.1.11: + resolution: {integrity: sha512-fhACrNXUidIbGSBr5FlbuBkO7VWC1ZyLl0DO4CU2DrQoAPxX84Ysxs+HeGQpii5lZWV1Q4gBZTTu49mF+A6Edw==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 - '@types/node': ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 5.0.3 - '@vitest/browser-preview': 5.0.3 - '@vitest/browser-webdriverio': ^5.0.0-beta.5 || >=5.0.0 - '@vitest/coverage-istanbul': 5.0.3 - '@vitest/coverage-v8': 5.0.3 - '@vitest/ui': 5.0.3 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.1.11 + '@vitest/browser-preview': 4.1.11 + '@vitest/browser-webdriverio': 4.1.11 + '@vitest/coverage-istanbul': 4.1.11 + '@vitest/coverage-v8': 4.1.11 + '@vitest/ui': 4.1.11 happy-dom: '*' jsdom: '*' - vite: ^6.4.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: '@edge-runtime/vm': optional: true @@ -8843,15 +8902,19 @@ packages: engines: {node: '>= 8'} hasBin: true - why-is-node-running@3.2.1: - resolution: {integrity: sha512-Tb2FUhB4vUsGQlfSquQLYkApkuPAFQXGFzxWKHHumVz2dK+X1RUm/HnID4+TfIGYJ1kTcwOaCk/buYCEJr6YjQ==} - engines: {node: '>=20.11'} + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} hasBin: true wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -8867,18 +8930,6 @@ packages: utf-8-validate: optional: true - ws@8.22.0: - resolution: {integrity: sha512-Ydggc987+RO0AnWtZ/7Wq9FtNvcrL1b/RO0ud9mWjUPgDrsAAwQSF51sm2hm1XofbU/4jkpGEsLFsZZxU+1DOg==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - wsl-utils@0.1.0: resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} engines: {node: '>=18'} @@ -8887,10 +8938,6 @@ packages: resolution: {integrity: sha512-Hl0ZOAs672vg+06kfujwRhoS6/jehvULrlFkuF2dRu6pHgA8U06h3xqNIqNNU1LTXPcedxByAR4GS6pwQK0mgA==} engines: {node: '>=20'} - wsl-utils@1.0.1: - resolution: {integrity: sha512-c16PKLIRxBYpR3jSWsdS7SFp0COm5SOQdiFjY818dYFHJbMGuLBszpF07LBWmOS1uzrHa9VGdynsEgoeKy0oOQ==} - engines: {node: '>=20'} - xdg-app-paths@5.5.1: resolution: {integrity: sha512-hI3flOB4PLZIy5prbtTpirobtPE2ZtZ52szO+2mM9Efp6ErM398La+C1lIpNWDfNoQk+6Lsi6nMcCwVB7pxeMQ==} engines: {node: '>= 6.0'} @@ -8974,19 +9021,19 @@ snapshots: '@adobe/css-tools@4.5.0': {} - '@agentclientprotocol/claude-agent-acp@0.73.0(patch_hash=riqgguivxjxydoydnzpedjy5au)(@anthropic-ai/sdk@0.129.0(zod@4.6.5))(@modelcontextprotocol/sdk@1.30.0(zod@4.6.5))': + '@agentclientprotocol/claude-agent-acp@0.73.0(patch_hash=riqgguivxjxydoydnzpedjy5au)(@anthropic-ai/sdk@0.121.0(zod@4.6.5))(@modelcontextprotocol/sdk@1.30.0(zod@4.6.5))': dependencies: '@agentclientprotocol/sdk': 1.4.0(zod@4.4.3) - '@anthropic-ai/claude-agent-sdk': 0.3.286(@anthropic-ai/sdk@0.129.0(zod@4.6.5))(@modelcontextprotocol/sdk@1.30.0(zod@4.6.5))(zod@4.4.3) + '@anthropic-ai/claude-agent-sdk': 0.3.280(@anthropic-ai/sdk@0.121.0(zod@4.6.5))(@modelcontextprotocol/sdk@1.30.0(zod@4.6.5))(zod@4.4.3) zod: 4.4.3 transitivePeerDependencies: - '@anthropic-ai/sdk' - '@modelcontextprotocol/sdk' - '@agentclientprotocol/codex-acp@1.6.2(patch_hash=ilkykmzaax6atpgtip6bxikv6i)': + '@agentclientprotocol/codex-acp@1.6.2(patch_hash=rt7c5otjh4is5hljadvoq7qcem)': dependencies: '@agentclientprotocol/sdk': 1.4.0(zod@4.4.3) - '@openai/codex': 0.160.0 + '@openai/codex': 0.156.0 diff: 9.0.0 open: 11.0.1 vscode-jsonrpc: 9.0.1 @@ -9005,49 +9052,49 @@ snapshots: package-manager-detector: 1.8.0 tinyexec: 1.3.1 - '@anthropic-ai/claude-agent-sdk-darwin-arm64@0.3.286': + '@anthropic-ai/claude-agent-sdk-darwin-arm64@0.3.280': optional: true - '@anthropic-ai/claude-agent-sdk-darwin-x64@0.3.286': + '@anthropic-ai/claude-agent-sdk-darwin-x64@0.3.280': optional: true - '@anthropic-ai/claude-agent-sdk-linux-arm64-musl@0.3.286': + '@anthropic-ai/claude-agent-sdk-linux-arm64-musl@0.3.280': optional: true - '@anthropic-ai/claude-agent-sdk-linux-arm64@0.3.286': + '@anthropic-ai/claude-agent-sdk-linux-arm64@0.3.280': optional: true - '@anthropic-ai/claude-agent-sdk-linux-x64-musl@0.3.286': + '@anthropic-ai/claude-agent-sdk-linux-x64-musl@0.3.280': optional: true - '@anthropic-ai/claude-agent-sdk-linux-x64@0.3.286': + '@anthropic-ai/claude-agent-sdk-linux-x64@0.3.280': optional: true - '@anthropic-ai/claude-agent-sdk-win32-arm64@0.3.286': + '@anthropic-ai/claude-agent-sdk-win32-arm64@0.3.280': optional: true - '@anthropic-ai/claude-agent-sdk-win32-x64@0.3.286': + '@anthropic-ai/claude-agent-sdk-win32-x64@0.3.280': optional: true - '@anthropic-ai/claude-agent-sdk@0.3.286(@anthropic-ai/sdk@0.129.0(zod@4.6.5))(@modelcontextprotocol/sdk@1.30.0(zod@4.6.5))(zod@4.4.3)': + '@anthropic-ai/claude-agent-sdk@0.3.280(@anthropic-ai/sdk@0.121.0(zod@4.6.5))(@modelcontextprotocol/sdk@1.30.0(zod@4.6.5))(zod@4.4.3)': dependencies: - '@anthropic-ai/sdk': 0.129.0(zod@4.6.5) + '@anthropic-ai/sdk': 0.121.0(zod@4.6.5) '@modelcontextprotocol/sdk': 1.30.0(zod@4.6.5) zod: 4.4.3 optionalDependencies: - '@anthropic-ai/claude-agent-sdk-darwin-arm64': 0.3.286 - '@anthropic-ai/claude-agent-sdk-darwin-x64': 0.3.286 - '@anthropic-ai/claude-agent-sdk-linux-arm64': 0.3.286 - '@anthropic-ai/claude-agent-sdk-linux-arm64-musl': 0.3.286 - '@anthropic-ai/claude-agent-sdk-linux-x64': 0.3.286 - '@anthropic-ai/claude-agent-sdk-linux-x64-musl': 0.3.286 - '@anthropic-ai/claude-agent-sdk-win32-arm64': 0.3.286 - '@anthropic-ai/claude-agent-sdk-win32-x64': 0.3.286 + '@anthropic-ai/claude-agent-sdk-darwin-arm64': 0.3.280 + '@anthropic-ai/claude-agent-sdk-darwin-x64': 0.3.280 + '@anthropic-ai/claude-agent-sdk-linux-arm64': 0.3.280 + '@anthropic-ai/claude-agent-sdk-linux-arm64-musl': 0.3.280 + '@anthropic-ai/claude-agent-sdk-linux-x64': 0.3.280 + '@anthropic-ai/claude-agent-sdk-linux-x64-musl': 0.3.280 + '@anthropic-ai/claude-agent-sdk-win32-arm64': 0.3.280 + '@anthropic-ai/claude-agent-sdk-win32-x64': 0.3.280 - '@anthropic-ai/sdk@0.129.0(zod@4.6.5)': + '@anthropic-ai/sdk@0.121.0(zod@4.6.5)': dependencies: json-schema-to-ts: 3.1.1 - standardwebhooks: 1.1.1 + standardwebhooks: 1.0.0 optionalDependencies: zod: 4.6.5 @@ -9066,34 +9113,34 @@ snapshots: is-potential-custom-element-name: 1.0.1 lru-cache: 11.5.2 - '@assistant-ui/core@0.3.22(@assistant-ui/store@0.3.16(@assistant-ui/tap@0.9.20(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@assistant-ui/tap@0.9.20(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(assistant-cloud@0.2.4(@opentelemetry/api@1.9.1))(react@19.2.8)': + '@assistant-ui/core@0.3.21(@assistant-ui/store@0.3.15(@assistant-ui/tap@0.9.19(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@assistant-ui/tap@0.9.19(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(assistant-cloud@0.2.3(@opentelemetry/api@1.9.1))(react@19.2.8)': dependencies: - '@assistant-ui/store': 0.3.16(@assistant-ui/tap@0.9.20(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8) - '@assistant-ui/tap': 0.9.20(@types/react@19.2.18)(react@19.2.8) - assistant-stream: 0.3.46 + '@assistant-ui/store': 0.3.15(@assistant-ui/tap@0.9.19(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8) + '@assistant-ui/tap': 0.9.19(@types/react@19.2.18)(react@19.2.8) + assistant-stream: 0.3.45 nanoid: 6.0.1 optionalDependencies: '@types/react': 19.2.18 - assistant-cloud: 0.2.4(@opentelemetry/api@1.9.1) + assistant-cloud: 0.2.3(@opentelemetry/api@1.9.1) react: 19.2.8 transitivePeerDependencies: - ioredis - redis - '@assistant-ui/react@0.15.22(@opentelemetry/api@1.9.1)(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(use-sync-external-store@1.7.0(react@19.2.8))': + '@assistant-ui/react@0.15.21(@opentelemetry/api@1.9.1)(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(use-sync-external-store@1.6.0(react@19.2.8))': dependencies: - '@assistant-ui/core': 0.3.22(@assistant-ui/store@0.3.16(@assistant-ui/tap@0.9.20(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@assistant-ui/tap@0.9.20(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(assistant-cloud@0.2.4(@opentelemetry/api@1.9.1))(react@19.2.8) - '@assistant-ui/store': 0.3.16(@assistant-ui/tap@0.9.20(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8) - '@assistant-ui/tap': 0.9.20(@types/react@19.2.18)(react@19.2.8) - assistant-cloud: 0.2.4(@opentelemetry/api@1.9.1) - assistant-stream: 0.3.46 + '@assistant-ui/core': 0.3.21(@assistant-ui/store@0.3.15(@assistant-ui/tap@0.9.19(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@assistant-ui/tap@0.9.19(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(assistant-cloud@0.2.3(@opentelemetry/api@1.9.1))(react@19.2.8) + '@assistant-ui/store': 0.3.15(@assistant-ui/tap@0.9.19(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8) + '@assistant-ui/tap': 0.9.19(@types/react@19.2.18)(react@19.2.8) + assistant-cloud: 0.2.3(@opentelemetry/api@1.9.1) + assistant-stream: 0.3.45 radix-ui: 1.6.7(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) react-textarea-autosize: 8.5.9(@types/react@19.2.18)(react@19.2.8) safe-content-frame: 0.0.31 zod: 4.6.5 - zustand: 5.0.15(@types/react@19.2.18)(react@19.2.8)(use-sync-external-store@1.7.0(react@19.2.8)) + zustand: 5.0.15(@types/react@19.2.18)(react@19.2.8)(use-sync-external-store@1.6.0(react@19.2.8)) optionalDependencies: '@types/react': 19.2.18 '@types/react-dom': 19.2.5(@types/react@19.2.18) @@ -9107,14 +9154,14 @@ snapshots: - redis - use-sync-external-store - '@assistant-ui/store@0.3.16(@assistant-ui/tap@0.9.20(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8)': + '@assistant-ui/store@0.3.15(@assistant-ui/tap@0.9.19(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8)': dependencies: - '@assistant-ui/tap': 0.9.20(@types/react@19.2.18)(react@19.2.8) + '@assistant-ui/tap': 0.9.19(@types/react@19.2.18)(react@19.2.8) optionalDependencies: '@types/react': 19.2.18 react: 19.2.8 - '@assistant-ui/tap@0.9.20(@types/react@19.2.18)(react@19.2.8)': + '@assistant-ui/tap@0.9.19(@types/react@19.2.18)(react@19.2.8)': optionalDependencies: '@types/react': 19.2.18 react: 19.2.8 @@ -9590,28 +9637,28 @@ snapshots: '@codemirror/autocomplete@6.20.0': dependencies: '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@codemirror/view': 6.43.11 '@lezer/common': 1.5.2 '@codemirror/autocomplete@6.20.3': dependencies: '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@codemirror/view': 6.43.11 '@lezer/common': 1.5.2 '@codemirror/commands@6.10.2': dependencies: '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@codemirror/view': 6.43.11 '@lezer/common': 1.5.2 '@codemirror/commands@6.11.0': dependencies: '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@codemirror/view': 6.43.11 '@lezer/common': 1.5.2 @@ -9633,7 +9680,7 @@ snapshots: dependencies: '@codemirror/autocomplete': 6.20.3 '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@lezer/common': 1.5.2 '@lezer/css': 1.3.6 @@ -9641,7 +9688,7 @@ snapshots: dependencies: '@codemirror/autocomplete': 6.20.3 '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@lezer/common': 1.5.2 '@lezer/go': 1.0.1 @@ -9651,7 +9698,7 @@ snapshots: '@codemirror/lang-css': 6.3.1 '@codemirror/lang-javascript': 6.2.5 '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@codemirror/view': 6.43.11 '@lezer/common': 1.5.2 '@lezer/css': 1.3.6 @@ -9667,7 +9714,7 @@ snapshots: '@codemirror/autocomplete': 6.20.3 '@codemirror/language': 6.12.4 '@codemirror/lint': 6.9.6 - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@codemirror/view': 6.43.11 '@lezer/common': 1.5.2 '@lezer/javascript': 1.5.4 @@ -9677,7 +9724,7 @@ snapshots: '@codemirror/autocomplete': 6.20.3 '@codemirror/lang-html': 6.4.12 '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@codemirror/view': 6.43.11 '@lezer/common': 1.5.2 '@lezer/highlight': 1.2.3 @@ -9701,7 +9748,7 @@ snapshots: '@codemirror/autocomplete': 6.20.3 '@codemirror/lang-html': 6.4.12 '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@codemirror/view': 6.43.11 '@lezer/common': 1.5.2 '@lezer/highlight': 1.2.3 @@ -9712,7 +9759,7 @@ snapshots: '@codemirror/autocomplete': 6.20.3 '@codemirror/lang-html': 6.4.12 '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@codemirror/view': 6.43.11 '@lezer/common': 1.5.2 '@lezer/markdown': 1.7.2 @@ -9721,7 +9768,7 @@ snapshots: dependencies: '@codemirror/lang-html': 6.4.12 '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@lezer/common': 1.5.2 '@lezer/php': 1.0.6 @@ -9729,7 +9776,7 @@ snapshots: dependencies: '@codemirror/autocomplete': 6.20.3 '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@lezer/common': 1.5.2 '@lezer/python': 1.1.19 @@ -9742,7 +9789,7 @@ snapshots: dependencies: '@codemirror/lang-css': 6.3.1 '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@lezer/common': 1.5.2 '@lezer/sass': 1.1.0 @@ -9750,7 +9797,7 @@ snapshots: dependencies: '@codemirror/autocomplete': 6.20.3 '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@lezer/common': 1.5.2 '@lezer/highlight': 1.2.3 '@lezer/lr': 1.4.10 @@ -9775,7 +9822,7 @@ snapshots: dependencies: '@codemirror/autocomplete': 6.20.3 '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@codemirror/view': 6.43.11 '@lezer/common': 1.5.2 '@lezer/xml': 1.0.6 @@ -9784,7 +9831,7 @@ snapshots: dependencies: '@codemirror/autocomplete': 6.20.3 '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@lezer/common': 1.5.2 '@lezer/highlight': 1.2.3 '@lezer/lr': 1.4.10 @@ -9818,7 +9865,7 @@ snapshots: '@codemirror/language@6.12.4': dependencies: - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@codemirror/view': 6.43.11 '@lezer/common': 1.5.2 '@lezer/highlight': 1.2.3 @@ -9831,37 +9878,37 @@ snapshots: '@codemirror/lint@6.9.4': dependencies: - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@codemirror/view': 6.43.11 crelt: 1.0.7 '@codemirror/lint@6.9.6': dependencies: - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@codemirror/view': 6.43.11 crelt: 1.0.7 '@codemirror/merge@6.12.2': dependencies: '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@codemirror/view': 6.43.11 '@lezer/highlight': 1.2.3 style-mod: 4.1.3 '@codemirror/search@6.6.0': dependencies: - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@codemirror/view': 6.43.11 crelt: 1.0.7 - '@codemirror/state@6.7.6': + '@codemirror/state@6.7.2': dependencies: '@marijn/find-cluster-break': 1.0.4 '@codemirror/view@6.43.11': dependencies: - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 crelt: 1.0.7 style-mod: 4.1.3 w3c-keyname: 2.2.8 @@ -10339,7 +10386,7 @@ snapshots: '@floating-ui/utils@0.2.12': {} - '@grpc/grpc-js@1.14.5': + '@grpc/grpc-js@1.14.4': dependencies: '@grpc/proto-loader': 0.8.1 '@js-sdsl/ordered-map': 4.4.2 @@ -10487,11 +10534,20 @@ snapshots: '@img/sharp-win32-x64@0.35.4': optional: true - '@joshwooding/vite-plugin-react-docgen-typescript@0.7.0(typescript@7.0.2)(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))': + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.2.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@joshwooding/vite-plugin-react-docgen-typescript@0.7.0(typescript@7.0.2)(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12))': dependencies: glob: 13.0.6 react-docgen-typescript: 2.4.0(typescript@7.0.2) - vite: 8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) + vite: 8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12) optionalDependencies: typescript: 7.0.2 @@ -10853,7 +10909,7 @@ snapshots: '@codemirror/lang-markdown': 6.5.2 '@codemirror/language-data': 6.5.2 '@codemirror/merge': 6.12.2 - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@codemirror/view': 6.43.11 '@lexical/clipboard': 0.48.0(typescript@7.0.2) '@lexical/extension': 0.48.0(typescript@7.0.2) @@ -10877,7 +10933,7 @@ snapshots: '@radix-ui/react-toolbar': 1.1.19(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-tooltip': 1.2.16(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) classnames: 2.5.1 - cm6-theme-basic-light: 0.2.0(@codemirror/language@6.12.4)(@codemirror/state@6.7.6)(@codemirror/view@6.43.11)(@lezer/highlight@1.2.3) + cm6-theme-basic-light: 0.2.0(@codemirror/language@6.12.4)(@codemirror/state@6.7.2)(@codemirror/view@6.43.11)(@lezer/highlight@1.2.3) codemirror: 6.0.2 downshift: 7.6.2(react@19.2.8) js-yaml: 4.3.1 @@ -10966,7 +11022,7 @@ snapshots: '@microsoft/teams.graph@2.0.16': dependencies: '@microsoft/teams.common': 2.0.16 - qs: 6.16.0 + qs: 6.15.3 transitivePeerDependencies: - debug - supports-color @@ -11018,18 +11074,18 @@ snapshots: '@napi-rs/lzma-linux-x64-gnu@1.5.1': optional: true - '@napi-rs/wasm-runtime@1.2.4(@emnapi/core@1.11.0)(@emnapi/runtime@1.11.0)': + '@napi-rs/wasm-runtime@1.2.3(@emnapi/core@1.11.0)(@emnapi/runtime@1.11.0)': dependencies: '@emnapi/core': 1.11.0 '@emnapi/runtime': 1.11.0 - '@tybys/wasm-util': 0.10.4 + '@tybys/wasm-util': 0.10.3 optional: true - '@napi-rs/wasm-runtime@1.2.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': + '@napi-rs/wasm-runtime@1.2.3(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': dependencies: '@emnapi/core': 1.9.2 '@emnapi/runtime': 1.9.2 - '@tybys/wasm-util': 0.10.4 + '@tybys/wasm-util': 0.10.3 optional: true '@noble/ciphers@2.4.0': {} @@ -11150,31 +11206,31 @@ snapshots: dependencies: '@octokit/openapi-types': 29.0.1 - '@openai/codex@0.160.0': + '@openai/codex@0.156.0': optionalDependencies: - '@openai/codex-darwin-arm64': '@openai/codex@0.160.0-darwin-arm64' - '@openai/codex-darwin-x64': '@openai/codex@0.160.0-darwin-x64' - '@openai/codex-linux-arm64': '@openai/codex@0.160.0-linux-arm64' - '@openai/codex-linux-x64': '@openai/codex@0.160.0-linux-x64' - '@openai/codex-win32-arm64': '@openai/codex@0.160.0-win32-arm64' - '@openai/codex-win32-x64': '@openai/codex@0.160.0-win32-x64' + '@openai/codex-darwin-arm64': '@openai/codex@0.156.0-darwin-arm64' + '@openai/codex-darwin-x64': '@openai/codex@0.156.0-darwin-x64' + '@openai/codex-linux-arm64': '@openai/codex@0.156.0-linux-arm64' + '@openai/codex-linux-x64': '@openai/codex@0.156.0-linux-x64' + '@openai/codex-win32-arm64': '@openai/codex@0.156.0-win32-arm64' + '@openai/codex-win32-x64': '@openai/codex@0.156.0-win32-x64' - '@openai/codex@0.160.0-darwin-arm64': + '@openai/codex@0.156.0-darwin-arm64': optional: true - '@openai/codex@0.160.0-darwin-x64': + '@openai/codex@0.156.0-darwin-x64': optional: true - '@openai/codex@0.160.0-linux-arm64': + '@openai/codex@0.156.0-linux-arm64': optional: true - '@openai/codex@0.160.0-linux-x64': + '@openai/codex@0.156.0-linux-x64': optional: true - '@openai/codex@0.160.0-win32-arm64': + '@openai/codex@0.156.0-win32-arm64': optional: true - '@openai/codex@0.160.0-win32-x64': + '@openai/codex@0.156.0-win32-x64': optional: true '@opentelemetry/api@1.9.1': {} @@ -11233,7 +11289,7 @@ snapshots: dependencies: '@emnapi/core': 1.9.2 '@emnapi/runtime': 1.9.2 - '@napi-rs/wasm-runtime': 1.2.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@napi-rs/wasm-runtime': 1.2.3(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) optional: true '@oxc-parser/binding-win32-arm64-msvc@0.127.0': @@ -11301,7 +11357,7 @@ snapshots: dependencies: '@emnapi/core': 1.11.0 '@emnapi/runtime': 1.11.0 - '@napi-rs/wasm-runtime': 1.2.4(@emnapi/core@1.11.0)(@emnapi/runtime@1.11.0) + '@napi-rs/wasm-runtime': 1.2.3(@emnapi/core@1.11.0)(@emnapi/runtime@1.11.0) optional: true '@oxc-resolver/binding-win32-arm64-msvc@11.21.2': @@ -11314,11 +11370,11 @@ snapshots: dependencies: '@noble/hashes': 1.8.0 - '@photon-ai/advanced-imessage@2.1.0(@grpc/grpc-js@1.14.5)(nice-grpc-common@2.0.4)(nice-grpc@2.1.17)': + '@photon-ai/advanced-imessage@2.1.0(@grpc/grpc-js@1.14.4)(nice-grpc-common@2.0.4)(nice-grpc@2.1.17)': dependencies: '@bufbuild/protobuf': 2.15.0 optionalDependencies: - '@grpc/grpc-js': 1.14.5 + '@grpc/grpc-js': 1.14.4 nice-grpc: 2.1.17 nice-grpc-common: 2.0.4 @@ -11348,6 +11404,9 @@ snapshots: '@pinojs/redact@0.4.0': {} + '@pkgjs/parseargs@0.11.0': + optional: true + '@playwright/test@1.62.1': dependencies: playwright: 1.62.1 @@ -12598,46 +12657,50 @@ snapshots: dependencies: '@statsig/client-core': 3.31.0 - '@storybook/addon-a11y@10.6.0(storybook@10.6.0(@types/react@19.2.18)(react@19.2.8))': + '@storybook/addon-a11y@10.5.10(storybook@10.5.10(@types/react@19.2.18)(react@19.2.8))': dependencies: '@storybook/global': 5.0.0 axe-core: 4.13.0 - storybook: 10.6.0(@types/react@19.2.18)(react@19.2.8) + storybook: 10.5.10(@types/react@19.2.18)(react@19.2.8) - '@storybook/addon-docs@10.6.0(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(storybook@10.6.0(@types/react@19.2.18)(react@19.2.8))': + '@storybook/addon-docs@10.5.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(esbuild@0.28.2)(rollup@4.63.1)(storybook@10.5.10(@types/react@19.2.18)(react@19.2.8))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12))': dependencies: '@mdx-js/react': 3.1.1(@types/react@19.2.18)(react@19.2.8) + '@storybook/csf-plugin': 10.5.10(esbuild@0.28.2)(rollup@4.63.1)(storybook@10.5.10(@types/react@19.2.18)(react@19.2.8))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)) '@storybook/icons': 2.1.0(react@19.2.8) - '@storybook/react-dom-shim': 10.6.0(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.6.0(@types/react@19.2.18)(react@19.2.8)) + '@storybook/react-dom-shim': 10.5.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.10(@types/react@19.2.18)(react@19.2.8)) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) - storybook: 10.6.0(@types/react@19.2.18)(react@19.2.8) + storybook: 10.5.10(@types/react@19.2.18)(react@19.2.8) ts-dedent: 2.3.0 - unplugin: 2.3.11 optionalDependencies: '@types/react': 19.2.18 transitivePeerDependencies: - '@types/react-dom' + - esbuild + - rollup + - vite + - webpack - '@storybook/builder-vite@10.5.10(esbuild@0.28.2)(rollup@4.63.1)(storybook@10.6.0(@types/react@19.2.18)(react@19.2.8))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))': + '@storybook/builder-vite@10.5.10(esbuild@0.28.2)(rollup@4.63.1)(storybook@10.5.10(@types/react@19.2.18)(react@19.2.8))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12))': dependencies: - '@storybook/csf-plugin': 10.5.10(esbuild@0.28.2)(rollup@4.63.1)(storybook@10.6.0(@types/react@19.2.18)(react@19.2.8))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) - storybook: 10.6.0(@types/react@19.2.18)(react@19.2.8) + '@storybook/csf-plugin': 10.5.10(esbuild@0.28.2)(rollup@4.63.1)(storybook@10.5.10(@types/react@19.2.18)(react@19.2.8))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)) + storybook: 10.5.10(@types/react@19.2.18)(react@19.2.8) ts-dedent: 2.3.0 - vite: 8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) + vite: 8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12) transitivePeerDependencies: - esbuild - rollup - webpack - '@storybook/csf-plugin@10.5.10(esbuild@0.28.2)(rollup@4.63.1)(storybook@10.6.0(@types/react@19.2.18)(react@19.2.8))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))': + '@storybook/csf-plugin@10.5.10(esbuild@0.28.2)(rollup@4.63.1)(storybook@10.5.10(@types/react@19.2.18)(react@19.2.8))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12))': dependencies: - storybook: 10.6.0(@types/react@19.2.18)(react@19.2.8) + storybook: 10.5.10(@types/react@19.2.18)(react@19.2.8) unplugin: 2.3.11 optionalDependencies: esbuild: 0.28.2 rollup: 4.63.1 - vite: 8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) + vite: 8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12) '@storybook/global@5.0.0': {} @@ -12645,39 +12708,30 @@ snapshots: dependencies: react: 19.2.8 - '@storybook/react-dom-shim@10.5.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.6.0(@types/react@19.2.18)(react@19.2.8))': + '@storybook/react-dom-shim@10.5.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.10(@types/react@19.2.18)(react@19.2.8))': dependencies: react: 19.2.8 react-dom: 19.2.8(react@19.2.8) - storybook: 10.6.0(@types/react@19.2.18)(react@19.2.8) + storybook: 10.5.10(@types/react@19.2.18)(react@19.2.8) optionalDependencies: '@types/react': 19.2.18 '@types/react-dom': 19.2.5(@types/react@19.2.18) - '@storybook/react-dom-shim@10.6.0(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.6.0(@types/react@19.2.18)(react@19.2.8))': + '@storybook/react-vite@10.5.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(esbuild@0.28.2)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(rollup@4.63.1)(storybook@10.5.10(@types/react@19.2.18)(react@19.2.8))(typescript@7.0.2)(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12))': dependencies: - react: 19.2.8 - react-dom: 19.2.8(react@19.2.8) - storybook: 10.6.0(@types/react@19.2.18)(react@19.2.8) - optionalDependencies: - '@types/react': 19.2.18 - '@types/react-dom': 19.2.5(@types/react@19.2.18) - - '@storybook/react-vite@10.5.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(esbuild@0.28.2)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(rollup@4.63.1)(storybook@10.6.0(@types/react@19.2.18)(react@19.2.8))(typescript@7.0.2)(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))': - dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.7.0(typescript@7.0.2)(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.7.0(typescript@7.0.2)(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)) '@rollup/pluginutils': 5.4.0(rollup@4.63.1) - '@storybook/builder-vite': 10.5.10(esbuild@0.28.2)(rollup@4.63.1)(storybook@10.6.0(@types/react@19.2.18)(react@19.2.8))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) - '@storybook/react': 10.5.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.6.0(@types/react@19.2.18)(react@19.2.8))(typescript@7.0.2) + '@storybook/builder-vite': 10.5.10(esbuild@0.28.2)(rollup@4.63.1)(storybook@10.5.10(@types/react@19.2.18)(react@19.2.8))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)) + '@storybook/react': 10.5.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.10(@types/react@19.2.18)(react@19.2.8))(typescript@7.0.2) empathic: 2.0.1 magic-string: 0.30.21 react: 19.2.8 react-docgen: 8.0.3 react-dom: 19.2.8(react@19.2.8) resolve: 1.22.12 - storybook: 10.6.0(@types/react@19.2.18)(react@19.2.8) + storybook: 10.5.10(@types/react@19.2.18)(react@19.2.8) tsconfig-paths: 4.2.0 - vite: 8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) + vite: 8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12) optionalDependencies: typescript: 7.0.2 transitivePeerDependencies: @@ -12688,15 +12742,15 @@ snapshots: - supports-color - webpack - '@storybook/react@10.5.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.6.0(@types/react@19.2.18)(react@19.2.8))(typescript@7.0.2)': + '@storybook/react@10.5.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.10(@types/react@19.2.18)(react@19.2.8))(typescript@7.0.2)': dependencies: '@storybook/global': 5.0.0 - '@storybook/react-dom-shim': 10.5.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.6.0(@types/react@19.2.18)(react@19.2.8)) + '@storybook/react-dom-shim': 10.5.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.10(@types/react@19.2.18)(react@19.2.8)) react: 19.2.8 react-docgen: 8.0.3 react-docgen-typescript: 2.4.0(typescript@7.0.2) react-dom: 19.2.8(react@19.2.8) - storybook: 10.6.0(@types/react@19.2.18)(react@19.2.8) + storybook: 10.5.10(@types/react@19.2.18)(react@19.2.8) optionalDependencies: '@types/react': 19.2.18 '@types/react-dom': 19.2.5(@types/react@19.2.18) @@ -12770,12 +12824,12 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 4.3.3 - '@tailwindcss/vite@4.3.3(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))': + '@tailwindcss/vite@4.3.3(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12))': dependencies: '@tailwindcss/node': 4.3.3 '@tailwindcss/oxide': 4.3.3 tailwindcss: 4.3.3 - vite: 8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) + vite: 8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12) '@tanstack/query-core@5.102.8': {} @@ -12784,7 +12838,7 @@ snapshots: '@tanstack/query-core': 5.102.8 react: 19.2.8 - '@testing-library/dom@10.4.2': + '@testing-library/dom@10.4.1': dependencies: '@babel/code-frame': 7.29.7 '@babel/runtime': 7.29.7 @@ -12804,13 +12858,13 @@ snapshots: picocolors: 1.1.1 redent: 3.0.0 - '@testing-library/user-event@14.6.7(@testing-library/dom@10.4.2)': + '@testing-library/user-event@14.6.6(@testing-library/dom@10.4.1)': dependencies: - '@testing-library/dom': 10.4.2 + '@testing-library/dom': 10.4.1 '@tweenjs/tween.js@23.1.3': {} - '@tybys/wasm-util@0.10.4': + '@tybys/wasm-util@0.10.3': dependencies: tslib: 2.8.1 optional: true @@ -13179,7 +13233,7 @@ snapshots: d3-selection: 3.0.0 d3-transition: 3.0.1(d3-selection@3.0.0) - '@vercel/cli-config@0.3.0': + '@vercel/cli-config@0.2.2': dependencies: xdg-app-paths: 5.5.1 zod: 4.1.11 @@ -13188,21 +13242,20 @@ snapshots: dependencies: execa: 5.1.1 - '@vercel/connect@2.3.3(@chat-adapter/slack@4.39.0(patch_hash=226jj24akljccsfbw7bcxujz4u)(zod@4.4.3))(@modelcontextprotocol/sdk@1.30.0(zod@4.4.3))(better-auth@1.7.2(@opentelemetry/api@1.9.1)(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=sryle6qd5qfmnxvoebal4gashi)))(pg@8.18.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))))': + '@vercel/connect@0.6.1(@chat-adapter/slack@4.39.0(patch_hash=226jj24akljccsfbw7bcxujz4u)(zod@4.4.3))(better-auth@1.7.2(@opentelemetry/api@1.9.1)(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=sryle6qd5qfmnxvoebal4gashi)))(pg@8.18.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.0.1(@noble/hashes@2.4.0))(tsx@4.23.12)))': dependencies: - '@vercel/oidc': 3.8.9 + '@vercel/oidc': 3.8.2 optionalDependencies: '@chat-adapter/slack': 4.39.0(patch_hash=226jj24akljccsfbw7bcxujz4u)(zod@4.4.3) - '@modelcontextprotocol/sdk': 1.30.0(zod@4.4.3) - better-auth: 1.7.2(@opentelemetry/api@1.9.1)(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=sryle6qd5qfmnxvoebal4gashi)))(pg@8.18.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))) + better-auth: 1.7.2(@opentelemetry/api@1.9.1)(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=sryle6qd5qfmnxvoebal4gashi)))(pg@8.18.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.0.1(@noble/hashes@2.4.0))(tsx@4.23.12)) - '@vercel/oidc@3.8.9': + '@vercel/oidc@3.8.2': dependencies: - '@vercel/cli-config': 0.3.0 + '@vercel/cli-config': 0.2.2 '@vercel/cli-exec': 1.0.1 jose: 5.10.0 - '@vitejs/plugin-react@4.7.0(vite@6.4.3(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.23.15))': + '@vitejs/plugin-react@4.7.0(vite@6.4.3(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.23.12))': dependencies: '@babel/core': 7.29.7 '@babel/plugin-transform-react-jsx-self': 7.29.7(@babel/core@7.29.7) @@ -13210,14 +13263,14 @@ snapshots: '@rolldown/pluginutils': 1.0.0-beta.27 '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 6.4.3(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.23.15) + vite: 6.4.3(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.23.12) transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@6.1.1(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))': + '@vitejs/plugin-react@6.1.1(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12))': dependencies: '@rolldown/pluginutils': 1.0.1 - vite: 8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) + vite: 8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12) '@vitest/expect@3.2.4': dependencies: @@ -13227,33 +13280,48 @@ snapshots: chai: 5.3.3 tinyrainbow: 2.0.0 - '@vitest/mocker@5.0.3(vite@6.4.3(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.23.15))': + '@vitest/expect@4.1.11': dependencies: - '@jridgewell/trace-mapping': 0.3.31 - '@vitest/spy': 5.0.3 - estree-walker: 3.0.3 - magic-string: 1.4.3 - optionalDependencies: - vite: 6.4.3(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.23.15) + '@standard-schema/spec': 1.1.0 + '@types/chai': 5.2.3 + '@vitest/spy': 4.1.11 + '@vitest/utils': 4.1.11 + chai: 6.2.2 + tinyrainbow: 3.1.1 - '@vitest/mocker@5.0.3(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))': + '@vitest/mocker@4.1.11(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12))': dependencies: - '@jridgewell/trace-mapping': 0.3.31 - '@vitest/spy': 5.0.3 + '@vitest/spy': 4.1.11 estree-walker: 3.0.3 - magic-string: 1.4.3 + magic-string: 0.30.21 optionalDependencies: - vite: 8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) + vite: 8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12) '@vitest/pretty-format@3.2.4': dependencies: tinyrainbow: 2.0.0 + '@vitest/pretty-format@4.1.11': + dependencies: + tinyrainbow: 3.1.1 + + '@vitest/runner@4.1.11': + dependencies: + '@vitest/utils': 4.1.11 + pathe: 2.0.3 + + '@vitest/snapshot@4.1.11': + dependencies: + '@vitest/pretty-format': 4.1.11 + '@vitest/utils': 4.1.11 + magic-string: 0.30.21 + pathe: 2.0.3 + '@vitest/spy@3.2.4': dependencies: - tinyspy: 4.0.6 + tinyspy: 4.0.4 - '@vitest/spy@5.0.3': {} + '@vitest/spy@4.1.11': {} '@vitest/utils@3.2.4': dependencies: @@ -13261,6 +13329,12 @@ snapshots: loupe: 3.2.1 tinyrainbow: 2.0.0 + '@vitest/utils@4.1.11': + dependencies: + '@vitest/pretty-format': 4.1.11 + convert-source-map: 2.0.0 + tinyrainbow: 3.1.1 + '@vladfrangu/async_event_emitter@2.4.7': {} '@webcontainer/env@1.1.1': {} @@ -13284,24 +13358,24 @@ snapshots: acorn@8.18.0: {} - acpx@0.12.0(patch_hash=6st5fzvttegjv64llnfegwwpca): + acpx@0.12.0(patch_hash=zxns4omawae6bjvy7kkhcgweei): dependencies: '@agentclientprotocol/sdk': 1.2.1(zod@4.4.3) commander: 15.0.0 skillflag: 0.2.0 - tsx: 4.23.15 + tsx: 4.23.12 zod: 4.4.3 transitivePeerDependencies: - bare-abort-controller - bare-buffer - react-native-b4a - acpx@0.13.1(patch_hash=ln6xh37yzpd4rnxrfy3pxiyjgq): + acpx@0.13.1(patch_hash=xinuppsghzi2pwhozdhfegto3m): dependencies: '@agentclientprotocol/sdk': 1.4.0(zod@4.4.3) commander: 15.0.0 skillflag: 0.2.1 - tsx: 4.23.15 + tsx: 4.23.12 zod: 4.4.3 transitivePeerDependencies: - bare-abort-controller @@ -13318,9 +13392,9 @@ snapshots: agent-base@7.1.4: {} - agentmail@0.5.31: + agentmail@0.5.20: dependencies: - ws: 8.22.0 + ws: 8.21.3 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -13338,12 +13412,16 @@ snapshots: ansi-regex@5.0.1: {} + ansi-regex@6.3.0: {} + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 ansi-styles@5.2.0: {} + ansi-styles@6.2.3: {} + append-field@1.0.0: {} argparse@2.0.1: {} @@ -13366,23 +13444,23 @@ snapshots: assertion-error@2.0.1: {} - assistant-cloud@0.2.4(@opentelemetry/api@1.9.1): + assistant-cloud@0.2.3(@opentelemetry/api@1.9.1): dependencies: - assistant-stream: 0.3.46 + assistant-stream: 0.3.45 optionalDependencies: '@opentelemetry/api': 1.9.1 transitivePeerDependencies: - ioredis - redis - assistant-stream@0.3.46: + assistant-stream@0.3.45: dependencies: '@standard-schema/spec': 1.1.0 '@types/json-schema': 7.0.15 nanoid: 6.0.1 secure-json-parse: 4.1.0 - ast-types@0.16.3: + ast-types@0.16.1: dependencies: tslib: 2.8.1 @@ -13408,6 +13486,8 @@ snapshots: bail@2.0.2: {} + balanced-match@1.0.2: {} + balanced-match@4.0.4: {} bare-events@2.9.1: {} @@ -13449,7 +13529,7 @@ snapshots: before-after-hook@4.0.0: {} - better-auth@1.7.2(@opentelemetry/api@1.9.1)(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=sryle6qd5qfmnxvoebal4gashi)))(pg@8.18.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))): + better-auth@1.7.2(@opentelemetry/api@1.9.1)(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=sryle6qd5qfmnxvoebal4gashi)))(pg@8.18.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.0.1(@noble/hashes@2.4.0))(tsx@4.23.12)): dependencies: '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) '@better-auth/drizzle-adapter': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=sryle6qd5qfmnxvoebal4gashi))) @@ -13474,7 +13554,7 @@ snapshots: pg: 8.18.0 react: 19.2.8 react-dom: 19.2.8(react@19.2.8) - vitest: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + vitest: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.0.1(@noble/hashes@2.4.0))(tsx@4.23.12) transitivePeerDependencies: - '@cloudflare/workers-types' - '@opentelemetry/api' @@ -13510,6 +13590,10 @@ snapshots: bowser@2.14.1: {} + brace-expansion@2.1.4: + dependencies: + balanced-match: 1.0.2 + brace-expansion@5.0.9: dependencies: balanced-match: 4.0.4 @@ -13529,7 +13613,7 @@ snapshots: buildcheck@0.0.7: optional: true - bundle-name@4.1.1: + bundle-name@4.1.0: dependencies: run-applescript: 7.1.0 @@ -13561,7 +13645,7 @@ snapshots: loupe: 3.2.1 pathval: 2.0.1 - chai@6.3.0: {} + chai@6.2.2: {} character-entities-html4@2.1.0: {} @@ -13605,10 +13689,10 @@ snapshots: clsx@2.1.1: {} - cm6-theme-basic-light@0.2.0(@codemirror/language@6.12.4)(@codemirror/state@6.7.6)(@codemirror/view@6.43.11)(@lezer/highlight@1.2.3): + cm6-theme-basic-light@0.2.0(@codemirror/language@6.12.4)(@codemirror/state@6.7.2)(@codemirror/view@6.43.11)(@lezer/highlight@1.2.3): dependencies: '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@codemirror/view': 6.43.11 '@lezer/highlight': 1.2.3 @@ -13631,7 +13715,7 @@ snapshots: '@codemirror/language': 6.12.4 '@codemirror/lint': 6.9.4 '@codemirror/search': 6.6.0 - '@codemirror/state': 6.7.6 + '@codemirror/state': 6.7.2 '@codemirror/view': 6.43.11 color-convert@2.0.1: @@ -13932,7 +14016,7 @@ snapshots: default-browser@5.5.1: dependencies: - bundle-name: 4.1.1 + bundle-name: 4.1.0 default-browser-id: 5.0.1 define-lazy-prop@3.0.0: {} @@ -14003,7 +14087,7 @@ snapshots: dom-accessibility-api@0.6.3: {} - dompurify@3.4.16: + dompurify@3.4.14: optionalDependencies: '@types/trusted-types': 2.0.7 @@ -14023,7 +14107,7 @@ snapshots: '@drizzle-team/brocli': 0.10.2 '@esbuild-kit/esm-loader': 2.6.5 esbuild: 0.25.12 - tsx: 4.23.15 + tsx: 4.23.12 drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=sryle6qd5qfmnxvoebal4gashi)): optionalDependencies: @@ -14038,6 +14122,8 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 + eastasianwidth@0.2.0: {} + ecdsa-sig-formatter@1.0.11: dependencies: safe-buffer: 5.2.1 @@ -14064,6 +14150,8 @@ snapshots: emoji-regex@8.0.0: {} + emoji-regex@9.2.2: {} + empathic@2.0.1: {} encodeurl@2.0.0: {} @@ -14335,6 +14423,11 @@ snapshots: follow-redirects@1.16.0: {} + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + form-data@4.0.5: dependencies: asynckit: 0.4.0 @@ -14384,6 +14477,15 @@ snapshots: function-bind@1.1.2: {} + gaxios@7.1.3: + dependencies: + extend: 3.0.2 + https-proxy-agent: 7.0.6 + node-fetch: 3.3.2 + rimraf: 5.0.10 + transitivePeerDependencies: + - supports-color + gaxios@7.3.1: dependencies: extend: 3.0.2 @@ -14392,10 +14494,10 @@ snapshots: transitivePeerDependencies: - supports-color - gcp-metadata@9.0.4: + gcp-metadata@8.1.4: dependencies: - gaxios: 7.3.1 - google-logging-utils: 2.0.1 + gaxios: 7.1.3 + google-logging-utils: 1.1.3 json-bigint: 1.0.0 transitivePeerDependencies: - supports-color @@ -14430,40 +14532,52 @@ snapshots: dependencies: resolve-pkg-maps: 1.0.0 + glob@10.5.0: + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.9 + minipass: 7.1.3 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + glob@13.0.6: dependencies: minimatch: 10.2.6 minipass: 7.1.3 path-scurry: 2.0.2 - google-auth-library@11.1.0: + google-auth-library@10.5.0: dependencies: base64-js: 1.5.1 ecdsa-sig-formatter: 1.0.11 gaxios: 7.3.1 - gcp-metadata: 9.0.4 - google-logging-utils: 2.0.1 + gcp-metadata: 8.1.4 + google-logging-utils: 1.2.0 + gtoken: 8.0.0 jws: 4.0.1 transitivePeerDependencies: - supports-color - google-logging-utils@2.0.1: {} + google-logging-utils@1.1.3: {} - googleapis-common@9.1.0: + google-logging-utils@1.2.0: {} + + googleapis-common@8.0.3: dependencies: extend: 3.0.2 - gaxios: 7.3.1 - google-auth-library: 11.1.0 - google-logging-utils: 2.0.1 - qs: 6.16.0 + gaxios: 7.1.3 + google-auth-library: 10.5.0 + google-logging-utils: 1.1.3 + qs: 6.15.3 url-template: 2.0.8 transitivePeerDependencies: - supports-color - googleapis@182.0.0: + googleapis@176.0.0: dependencies: - google-auth-library: 11.1.0 - googleapis-common: 9.1.0 + google-auth-library: 10.5.0 + googleapis-common: 8.0.3 transitivePeerDependencies: - supports-color @@ -14471,6 +14585,13 @@ snapshots: graceful-fs@4.2.11: {} + gtoken@8.0.0: + dependencies: + gaxios: 7.3.1 + jws: 4.0.1 + transitivePeerDependencies: + - supports-color + hachure-fill@0.5.2: {} has-symbols@1.1.0: {} @@ -14574,7 +14695,7 @@ snapshots: human-signals@2.1.0: {} - i18next@26.4.2(typescript@7.0.2): + i18next@26.4.0(typescript@7.0.2): optionalDependencies: typescript: 7.0.2 @@ -14655,6 +14776,12 @@ snapshots: isomorphic.js@0.2.5: {} + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + jiti@2.7.0: {} jose@4.15.9: {} @@ -14780,12 +14907,6 @@ snapshots: dependencies: isomorphic.js: 0.2.5 - light-my-request@6.6.0: - dependencies: - cookie: 1.1.1 - process-warning: 4.0.1 - set-cookie-parser: 2.7.2 - lightningcss-android-arm64@1.32.0: optional: true @@ -14920,6 +15041,8 @@ snapshots: loupe@3.2.1: {} + lru-cache@10.4.3: {} + lru-cache@11.5.2: {} lru-cache@5.1.1: @@ -14937,7 +15060,7 @@ snapshots: lru_map@0.4.1: {} - lucide-react@1.48.0(react@19.2.8): + lucide-react@1.45.0(react@19.2.8): dependencies: react: 19.2.8 @@ -14949,10 +15072,6 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.6.0 - magic-string@1.4.3: - dependencies: - '@jridgewell/sourcemap-codec': 1.6.0 - markdown-table@3.0.4: {} marked@16.4.2: {} @@ -15175,7 +15294,7 @@ snapshots: d3-sankey: 0.12.3 dagre-d3-es: 7.0.14 dayjs: 1.11.23 - dompurify: 3.4.16 + dompurify: 3.4.14 es-toolkit: 1.52.0 fastdom: 1.0.12 katex: 0.16.47 @@ -15502,6 +15621,10 @@ snapshots: dependencies: brace-expansion: 5.0.9 + minimatch@9.0.9: + dependencies: + brace-expansion: 2.1.4 + minimist@1.2.8: {} minipass@7.1.3: {} @@ -15547,7 +15670,7 @@ snapshots: nice-grpc@2.1.17: dependencies: - '@grpc/grpc-js': 1.14.5 + '@grpc/grpc-js': 1.14.4 abort-controller-x: 0.5.0 nice-grpc-common: 2.0.4 @@ -15569,7 +15692,7 @@ snapshots: object-inspect@1.13.4: {} - obug@2.2.1: {} + obug@2.1.4: {} on-exit-leak-free@2.1.2: {} @@ -15609,64 +15732,55 @@ snapshots: powershell-utils: 0.2.0 wsl-utils: 1.0.0 - open@11.0.4: - dependencies: - default-browser: 5.5.1 - define-lazy-prop: 3.0.0 - is-in-ssh: 1.0.0 - is-inside-container: 1.0.0 - powershell-utils: 0.2.1 - wsl-utils: 1.0.1 - - opencode-ai@1.18.34: + opencode-ai@1.18.32: optionalDependencies: - opencode-darwin-arm64: 1.18.34 - opencode-darwin-x64: 1.18.34 - opencode-darwin-x64-baseline: 1.18.34 - opencode-linux-arm64: 1.18.34 - opencode-linux-arm64-musl: 1.18.34 - opencode-linux-x64: 1.18.34 - opencode-linux-x64-baseline: 1.18.34 - opencode-linux-x64-baseline-musl: 1.18.34 - opencode-linux-x64-musl: 1.18.34 - opencode-windows-arm64: 1.18.34 - opencode-windows-x64: 1.18.34 - opencode-windows-x64-baseline: 1.18.34 + opencode-darwin-arm64: 1.18.32 + opencode-darwin-x64: 1.18.32 + opencode-darwin-x64-baseline: 1.18.32 + opencode-linux-arm64: 1.18.32 + opencode-linux-arm64-musl: 1.18.32 + opencode-linux-x64: 1.18.32 + opencode-linux-x64-baseline: 1.18.32 + opencode-linux-x64-baseline-musl: 1.18.32 + opencode-linux-x64-musl: 1.18.32 + opencode-windows-arm64: 1.18.32 + opencode-windows-x64: 1.18.32 + opencode-windows-x64-baseline: 1.18.32 - opencode-darwin-arm64@1.18.34: + opencode-darwin-arm64@1.18.32: optional: true - opencode-darwin-x64-baseline@1.18.34: + opencode-darwin-x64-baseline@1.18.32: optional: true - opencode-darwin-x64@1.18.34: + opencode-darwin-x64@1.18.32: optional: true - opencode-linux-arm64-musl@1.18.34: + opencode-linux-arm64-musl@1.18.32: optional: true - opencode-linux-arm64@1.18.34: + opencode-linux-arm64@1.18.32: optional: true - opencode-linux-x64-baseline-musl@1.18.34: + opencode-linux-x64-baseline-musl@1.18.32: optional: true - opencode-linux-x64-baseline@1.18.34: + opencode-linux-x64-baseline@1.18.32: optional: true - opencode-linux-x64-musl@1.18.34: + opencode-linux-x64-musl@1.18.32: optional: true - opencode-linux-x64@1.18.34: + opencode-linux-x64@1.18.32: optional: true - opencode-windows-arm64@1.18.34: + opencode-windows-arm64@1.18.32: optional: true - opencode-windows-x64-baseline@1.18.34: + opencode-windows-x64-baseline@1.18.32: optional: true - opencode-windows-x64@1.18.34: + opencode-windows-x64@1.18.32: optional: true os-paths@4.4.0: {} @@ -15734,6 +15848,8 @@ snapshots: dependencies: p-finally: 1.0.0 + package-json-from-dist@1.0.1: {} + package-manager-detector@1.8.0: {} parse-entities@4.0.2: @@ -15758,6 +15874,11 @@ snapshots: path-parse@1.0.7: {} + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.3 + path-scurry@2.0.2: dependencies: lru-cache: 11.5.2 @@ -15765,6 +15886,8 @@ snapshots: path-to-regexp@8.3.0: {} + pathe@2.0.3: {} + pathval@2.0.1: {} pg-cloudflare@1.3.0: @@ -15893,16 +16016,12 @@ snapshots: powershell-utils@0.2.0: {} - powershell-utils@0.2.1: {} - pretty-format@27.5.1: dependencies: ansi-regex: 5.0.1 ansi-styles: 5.2.0 react-is: 17.0.2 - process-warning@4.0.1: {} - process-warning@5.1.0: {} prop-types@15.8.1: @@ -15950,11 +16069,6 @@ snapshots: es-define-property: 1.0.1 side-channel: 1.1.1 - qs@6.16.0: - dependencies: - es-define-property: 1.0.1 - side-channel: 1.1.1 - querystringify@2.2.0: {} quick-format-unescaped@4.0.4: {} @@ -16059,13 +16173,13 @@ snapshots: dependencies: react: 19.2.8 - react-i18next@17.0.15(i18next@26.4.2(typescript@7.0.2))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@7.0.2): + react-i18next@17.0.12(i18next@26.4.0(typescript@7.0.2))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@7.0.2): dependencies: '@babel/runtime': 7.29.7 html-parse-stringify: 4.0.1 - i18next: 26.4.2(typescript@7.0.2) + i18next: 26.4.0(typescript@7.0.2) react: 19.2.8 - use-sync-external-store: 1.7.0(react@19.2.8) + use-sync-external-store: 1.6.0(react@19.2.8) optionalDependencies: react-dom: 19.2.8(react@19.2.8) typescript: 7.0.2 @@ -16118,13 +16232,13 @@ snapshots: react: 19.2.8 react-dom: 19.2.8(react@19.2.8) - react-router-dom@7.18.4(react-dom@19.2.8(react@19.2.8))(react@19.2.8): + react-router-dom@7.18.2(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: react: 19.2.8 react-dom: 19.2.8(react@19.2.8) - react-router: 7.18.4(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + react-router: 7.18.2(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - react-router@7.18.4(react-dom@19.2.8(react@19.2.8))(react@19.2.8): + react-router@7.18.2(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: cookie: 1.1.1 react: 19.2.8 @@ -16159,7 +16273,7 @@ snapshots: recast@0.23.21: dependencies: - ast-types: 0.16.3 + ast-types: 0.16.1 esprima: 4.0.1 source-map: 0.6.1 tiny-invariant: 1.3.3 @@ -16243,6 +16357,10 @@ snapshots: retry@0.13.1: {} + rimraf@5.0.10: + dependencies: + glob: 10.5.0 + robust-predicates@3.0.3: {} rolldown@1.2.5: @@ -16467,8 +16585,12 @@ snapshots: side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 + siginfo@2.0.0: {} + signal-exit@3.0.7: {} + signal-exit@4.1.0: {} + sisteransi@1.0.5: {} skillflag@0.2.0: @@ -16516,22 +16638,24 @@ snapshots: cpu-features: 0.0.10 nan: 2.28.0 - standardwebhooks@1.1.1: + stackback@0.0.2: {} + + standardwebhooks@1.0.0: dependencies: '@stablelib/base64': 1.0.1 fast-sha256: 1.3.0 statuses@2.0.2: {} - std-env@4.3.0: {} + std-env@4.2.0: {} - storybook@10.6.0(@types/react@19.2.18)(react@19.2.8): + storybook@10.5.10(@types/react@19.2.18)(react@19.2.8): dependencies: '@storybook/global': 5.0.0 '@storybook/icons': 2.1.0(react@19.2.8) - '@testing-library/dom': 10.4.2 + '@testing-library/dom': 10.4.1 '@testing-library/jest-dom': 6.9.1 - '@testing-library/user-event': 14.6.7(@testing-library/dom@10.4.2) + '@testing-library/user-event': 14.6.6(@testing-library/dom@10.4.1) '@vitest/expect': 3.2.4 '@vitest/spy': 3.2.4 '@webcontainer/env': 1.1.1 @@ -16542,8 +16666,8 @@ snapshots: oxc-resolver: 11.21.2 recast: 0.23.21 semver: 7.8.5 - use-sync-external-store: 1.7.0(react@19.2.8) - ws: 8.22.0 + use-sync-external-store: 1.6.0(react@19.2.8) + ws: 8.21.3 optionalDependencies: '@types/react': 19.2.18 transitivePeerDependencies: @@ -16570,6 +16694,12 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.2.0 + stringify-entities@4.0.4: dependencies: character-entities-html4: 2.1.0 @@ -16579,6 +16709,10 @@ snapshots: dependencies: ansi-regex: 5.0.1 + strip-ansi@7.2.0: + dependencies: + ansi-regex: 6.3.0 + strip-bom@3.0.0: {} strip-final-newline@2.0.0: {} @@ -16678,7 +16812,7 @@ snapshots: tiny-invariant@1.3.3: {} - tinybench@6.2.0: {} + tinybench@2.9.0: {} tinyexec@1.3.1: {} @@ -16689,7 +16823,9 @@ snapshots: tinyrainbow@2.0.0: {} - tinyspy@4.0.6: {} + tinyrainbow@3.1.1: {} + + tinyspy@4.0.4: {} tldts-core@7.4.10: {} @@ -16729,7 +16865,7 @@ snapshots: tslib@2.8.1: {} - tsx@4.23.15: + tsx@4.23.12: dependencies: esbuild: 0.28.2 optionalDependencies: @@ -16890,10 +17026,6 @@ snapshots: dependencies: react: 19.2.8 - use-sync-external-store@1.7.0(react@19.2.8): - dependencies: - react: 19.2.8 - util-deprecate@1.0.2: {} uuid@10.0.0: {} @@ -16919,7 +17051,7 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite@6.4.3(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.23.15): + vite@6.4.3(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.23.12): dependencies: esbuild: 0.25.12 fdir: 6.5.0(picomatch@4.0.7) @@ -16932,9 +17064,9 @@ snapshots: fsevents: 2.3.3 jiti: 2.7.0 lightningcss: 1.33.0 - tsx: 4.23.15 + tsx: 4.23.12 - vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15): + vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12): dependencies: lightningcss: 1.33.0 picomatch: 4.0.7 @@ -16946,53 +17078,47 @@ snapshots: esbuild: 0.28.2 fsevents: 2.3.3 jiti: 2.7.0 - tsx: 4.23.15 + tsx: 4.23.12 - vitest@5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@6.4.3(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.23.15)): + vitest@4.1.11(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.0.1(@noble/hashes@2.4.0))(tsx@4.23.12): dependencies: - '@types/chai': 5.2.3 - '@vitest/mocker': 5.0.3(vite@6.4.3(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.23.15)) - chai: 6.3.0 + '@vitest/expect': 4.1.11 + '@vitest/mocker': 4.1.11(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12)) + '@vitest/pretty-format': 4.1.11 + '@vitest/runner': 4.1.11 + '@vitest/snapshot': 4.1.11 + '@vitest/spy': 4.1.11 + '@vitest/utils': 4.1.11 es-module-lexer: 2.3.2 expect-type: 1.4.0 - magic-string: 1.4.3 - obug: 2.2.1 + magic-string: 0.30.21 + obug: 2.1.4 + pathe: 2.0.3 picomatch: 4.0.7 - std-env: 4.3.0 - tinybench: 6.2.0 + std-env: 4.2.0 + tinybench: 2.9.0 tinyexec: 1.3.1 tinyglobby: 0.2.17 - vite: 6.4.3(@types/node@24.13.3)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.23.15) - why-is-node-running: 3.2.1 - optionalDependencies: - '@opentelemetry/api': 1.9.1 - '@types/node': 24.13.3 - jsdom: 30.0.1(@noble/hashes@2.4.0) - transitivePeerDependencies: - - msw - - vitest@5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)): - dependencies: - '@types/chai': 5.2.3 - '@vitest/mocker': 5.0.3(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) - chai: 6.3.0 - es-module-lexer: 2.3.2 - expect-type: 1.4.0 - magic-string: 1.4.3 - obug: 2.2.1 - picomatch: 4.0.7 - std-env: 4.3.0 - tinybench: 6.2.0 - tinyexec: 1.3.1 - tinyglobby: 0.2.17 - vite: 8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) - why-is-node-running: 3.2.1 + tinyrainbow: 3.1.1 + vite: 8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.12) + why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.1 '@types/node': 24.13.3 jsdom: 30.0.1(@noble/hashes@2.4.0) transitivePeerDependencies: + - '@vitejs/devtools' + - esbuild + - jiti + - less - msw + - sass + - sass-embedded + - stylus + - sugarss + - terser + - tsx + - yaml vscode-jsonrpc@9.0.1: {} @@ -17030,7 +17156,10 @@ snapshots: dependencies: isexe: 2.0.0 - why-is-node-running@3.2.1: {} + why-is-node-running@2.3.0: + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 wrap-ansi@7.0.0: dependencies: @@ -17038,12 +17167,16 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.3 + string-width: 5.1.2 + strip-ansi: 7.2.0 + wrappy@1.0.2: {} ws@8.21.3: {} - ws@8.22.0: {} - wsl-utils@0.1.0: dependencies: is-wsl: 3.1.1 @@ -17053,11 +17186,6 @@ snapshots: is-wsl: 3.1.1 powershell-utils: 0.1.0 - wsl-utils@1.0.1: - dependencies: - is-wsl: 3.1.1 - powershell-utils: 0.2.1 - xdg-app-paths@5.5.1: dependencies: os-paths: 4.4.0 @@ -17111,10 +17239,10 @@ snapshots: zod@4.6.5: {} - zustand@5.0.15(@types/react@19.2.18)(react@19.2.8)(use-sync-external-store@1.7.0(react@19.2.8)): + zustand@5.0.15(@types/react@19.2.18)(react@19.2.8)(use-sync-external-store@1.6.0(react@19.2.8)): optionalDependencies: '@types/react': 19.2.18 react: 19.2.8 - use-sync-external-store: 1.7.0(react@19.2.8) + use-sync-external-store: 1.6.0(react@19.2.8) zwitch@2.0.4: {} diff --git a/server/src/__tests__/adapter-registry.test.ts b/server/src/__tests__/adapter-registry.test.ts index d0952f08ec1..fdd4b57693a 100644 --- a/server/src/__tests__/adapter-registry.test.ts +++ b/server/src/__tests__/adapter-registry.test.ts @@ -1,4 +1,4 @@ -import { probeAcpxClaudeInstallation, probeAcpxPiInstallation } from "../vendor/paperclip-runner/index.js"; +import { probeAcpxClaudeInstallation, probeAcpxPiInstallation } from "../vendor/paperclip-runner/live/index.js"; import { describe, expect, it, beforeEach, afterEach, vi } from "vitest"; import { buildSandboxNpmInstallCommand } from "@paperclipai/adapter-utils"; import type { ServerAdapterModule } from "../adapters/index.js"; @@ -25,6 +25,14 @@ vi.mock("../vendor/paperclip-runner/index.js", async (importOriginal) => ({ probeAcpxCursorInstallation: vi.fn(async () => undefined), })); +vi.mock("../vendor/paperclip-runner/live/index.js", async importOriginal => ({ + ...await importOriginal(), + probeAcpxClaudeInstallation: vi.fn(async () => undefined), + probeAcpxGrokInstallation: vi.fn(async () => undefined), + probeAcpxPiInstallation: vi.fn(async () => undefined), + probeAcpxCursorInstallation: vi.fn(async () => undefined), +})); + it("advertises tool-refresh recovery for the selected legacy harness", () => { for (const type of ["claude_local", "codex_local", "grok_local", "gemini_local", "kimi_local", "cursor", "opencode_local", "pi_local"]) { expect(requireServerAdapter(type).supportsToolRefreshOnResume).toBe(true); diff --git a/server/src/__tests__/agent-instruction-working-copies.test.ts b/server/src/__tests__/agent-instruction-working-copies.test.ts index 8cad9df070b..bd29eb5bc9b 100644 --- a/server/src/__tests__/agent-instruction-working-copies.test.ts +++ b/server/src/__tests__/agent-instruction-working-copies.test.ts @@ -300,6 +300,10 @@ describe("registered run instruction copies", () => { expect((await revisions.readCurrent(target(), board()))?.content).toBe(initial); expect((await copies.list(companyId, agentId, board()))[0]).toMatchObject({ state: "pending_collection", content: null }); await appendHeartbeatRunEvent(db, { ...target(), runId: copy.runId, eventType: "native.local_process_stopped", stream: "system" }); + // Recovery scheduled a retry while stop authority was missing. Make that + // retry due before asking the restarted controller to collect the copy. + await db.update(agentInstructionWorkingCopies).set({ nextAttemptAt: new Date(0) }) + .where(eq(agentInstructionWorkingCopies.runId, copy.runId)); await copies.recoverStopped(); expect((await revisions.readCurrent(target(), board()))?.content).toBe("edit before controller restart"); }); diff --git a/server/src/__tests__/invite-test-resolution-route.test.ts b/server/src/__tests__/invite-test-resolution-route.test.ts index 09b95c8bb2f..38120e0d082 100644 --- a/server/src/__tests__/invite-test-resolution-route.test.ts +++ b/server/src/__tests__/invite-test-resolution-route.test.ts @@ -78,7 +78,7 @@ async function createApp( return app; } -describe.sequential("GET /invites/:token/test-resolution", () => { +describe("GET /invites/:token/test-resolution", { sequential: true }, () => { beforeAll(async () => { // Route transformation is fixture setup, not part of the network assertions. await loadAppModules(); diff --git a/server/src/adapters/registry.test.ts b/server/src/adapters/registry.test.ts index 6bf20b33cf1..3b163dc49a9 100644 --- a/server/src/adapters/registry.test.ts +++ b/server/src/adapters/registry.test.ts @@ -9,7 +9,16 @@ const { probeInstallation, probeGrokInstallation, probePiInstallation } = vi.hoi probeGrokInstallation: vi.fn(), probePiInstallation: vi.fn(), })); -vi.mock("../vendor/paperclip-runner/index.js", () => ({ +vi.mock("../vendor/paperclip-runner/index.js", async importOriginal => ({ + ...await importOriginal(), + probeAcpxClaudeInstallation: probeInstallation, + probeAcpxGrokInstallation: probeGrokInstallation, + probeAcpxPiInstallation: probePiInstallation, + probeAcpxCursorInstallation: vi.fn(async () => undefined), +})); + +vi.mock("../vendor/paperclip-runner/live/index.js", async importOriginal => ({ + ...await importOriginal(), probeAcpxClaudeInstallation: probeInstallation, probeAcpxGrokInstallation: probeGrokInstallation, probeAcpxPiInstallation: probePiInstallation, diff --git a/server/src/services/heartbeat-runner-provider-config.test.ts b/server/src/services/heartbeat-runner-provider-config.test.ts index 4779e806a5b..bd58eb2810c 100644 --- a/server/src/services/heartbeat-runner-provider-config.test.ts +++ b/server/src/services/heartbeat-runner-provider-config.test.ts @@ -10,10 +10,10 @@ import { describe("Paperclip Runner native provider configuration", () => { afterEach(() => vi.unstubAllEnvs()); - it.each([undefined, "agent", "plan", "ask"])("passes Cursor mode %s only after exact candidate admission", acpxSessionMode => { + it.each([undefined, "agent", "plan", "ask"])("passes qualified Cursor mode %s without a model roster", acpxSessionMode => { const adapterConfig = { provider: "acpx", acpxAgent: "cursor", model: "exact-cursor-model", acpxSessionMode }; vi.stubEnv("PAPERCLIP_RUNNER_ACPX_QUALIFICATION", ""); - expect(() => resolvePaperclipRunnerNativeProviderInput({ backend: "acpx_runtime", adapterConfig })).toThrow("awaiting local and Daytona qualification"); + expect(resolvePaperclipRunnerNativeProviderInput({ backend: "acpx_runtime", adapterConfig })).toMatchObject({ acpxAgent: "cursor", model: "exact-cursor-model" }); vi.stubEnv("PAPERCLIP_RUNNER_ACPX_QUALIFICATION", JSON.stringify([{ agent: "cursor", model: "exact-cursor-model" }])); expect(resolvePaperclipRunnerNativeProviderInput({ backend: "acpx_runtime", adapterConfig })).toMatchObject({ provider: "acpx", acpxAgent: "cursor", model: "exact-cursor-model", acpxSessionMode: acpxSessionMode ?? "agent", acpxPermissionMode: "approve-all", @@ -27,7 +27,7 @@ describe("Paperclip Runner native provider configuration", () => { { provider: "codex", acpxSessionMode: "plan" }, ])("rejects invalid or foreign mode before provider admission: %j", adapterConfig => { expect(() => resolvePaperclipRunnerNativeProviderInput({ backend: "acpx_runtime", adapterConfig })) - .toThrowError(expect.objectContaining({ code: "paperclip_runner_cursor_mode_invalid" })); + .toThrowError(expect.objectContaining({ code: "paperclip_runner_mode_invalid" })); }); it.each([undefined, "approve-all", "approve-paperclip", "approve-reads", "deny-all"])( @@ -456,12 +456,12 @@ describe("Paperclip Runner native provider configuration", () => { ).toThrow("provider changed after this run selected its native backend"); }); - it("rejects an unqualified Pi model before a native descriptor is persisted", () => { - expect(() => + it("preserves a caller-selected Pi model in the native descriptor", () => { + expect( resolvePaperclipRunnerNativeProviderInput({ backend: "acpx_runtime", adapterConfig: { provider: "acpx", acpxAgent: "pi", model: "pi-model" }, }), - ).toThrow("requires exact model openrouter/deepseek/deepseek-v4-flash-0731"); + ).toMatchObject({ provider: "acpx", acpxAgent: "pi", model: "pi-model" }); }); }); diff --git a/server/src/services/native-runtime/native-plan-wait.test.ts b/server/src/services/native-runtime/native-plan-wait.test.ts index 01908311491..bbb6a384891 100644 --- a/server/src/services/native-runtime/native-plan-wait.test.ts +++ b/server/src/services/native-runtime/native-plan-wait.test.ts @@ -95,7 +95,7 @@ describe("accepted Cursor plan passive-wait authority", () => { expect(await hasCommittedNativePlanWait(committedDb(f, proof.source, changed), f.binding)).toBe(false); // A new receipt cannot opt into a historical admission by renaming a field. const provider = (f.run.runnerProfileJson as any).nativeExecutionInput.provider; - provider.mode = provider.mode; delete provider.mode; + provider.cursorMode = provider.mode; delete provider.mode; expect(await hasCommittedNativePlanWait(committedDb(f, proof.source, proof.result), f.binding)).toBe(false); }); it("keeps lifecycle proof generic when an adapter supplies different native semantics", () => { @@ -126,7 +126,7 @@ describe("accepted Cursor plan passive-wait authority", () => { const proof = nativePlanWaitFromFacts(f)!; const admission = (f.run.runnerProfileJson as any).nativeExecutionInput; Object.assign(admission.provider.profile, { agentProfileVersion: 6, commandDigest: "sha256:377dcea64a727ce799cc112458d4b40ba4bc6574cd6c6f7233b6efd5917a6c4b" }); - admission.provider.mode = "plan"; delete admission.provider.mode; + admission.provider.cursorMode = "plan"; delete admission.provider.mode; f.events = f.events.filter(e => !e.eventType.startsWith("tool.execution.")); const payload = (type: string) => (f.events.find(e => e.eventType === type)!.payload as any).prpEvent; const { interaction, delivery } = f.interactions[0]!; @@ -179,7 +179,7 @@ describe("accepted Cursor plan passive-wait authority", () => { f.run.status = "succeeded"; const proof = nativePlanWaitFromFacts(f)!; const admission = (f.run.runnerProfileJson as any).nativeExecutionInput; - admission.provider.mode = admission.provider.mode; + admission.provider.cursorMode = admission.provider.mode; delete admission.provider.mode; expect(nativePlanWaitFromFacts(f)).toBeNull(); const payload = (type: string) => (f.events.find(e => e.eventType === type)!.payload as any).prpEvent; @@ -207,9 +207,9 @@ describe("accepted Cursor plan passive-wait authority", () => { expect(await hasCommittedNativePlanWait(db(), f.binding)).toBe(true); // History is immutable: neither changing the old mode nor rewriting its // field name may preserve the original acceptance authority. - admission.provider.mode = "agent"; + admission.provider.cursorMode = "agent"; expect(await hasCommittedNativePlanWait(db(), f.binding)).toBe(false); - delete admission.provider.mode; + delete admission.provider.cursorMode; admission.provider.mode = "plan"; expect(await hasCommittedNativePlanWait(db(), f.binding)).toBe(false); }); diff --git a/server/src/services/native-runtime/providers/cursor-lifecycle.ts b/server/src/services/native-runtime/providers/cursor-lifecycle.ts index 6ad36d6faff..29b610ae178 100644 --- a/server/src/services/native-runtime/providers/cursor-lifecycle.ts +++ b/server/src/services/native-runtime/providers/cursor-lifecycle.ts @@ -15,8 +15,8 @@ export const cursorLifecycleAdapter: NativeProviderLifecycleAdapter = { if (provider.kind !== "acpx" || provider.agent !== "cursor" || typeof provider.model !== "string" || !provider.model.trim()) return false; if (provider.mode !== undefined) { - if (provider.mode !== "plan" || provider.mode !== undefined) return false; - } else if (!history.committed || !history.legacy || provider.mode !== "plan") return false; + if (provider.mode !== "plan" || provider.cursorMode !== undefined) return false; + } else if (!history.committed || !history.legacy || provider.cursorMode !== "plan") return false; // A committed receipt is replayed against its original, hashed admission. // New waits must use the currently qualified provider profile. if (history.committed) return true; diff --git a/server/src/services/native-runtime/runtime-mode.test.ts b/server/src/services/native-runtime/runtime-mode.test.ts index 71f9e762c9d..7d730c2f475 100644 --- a/server/src/services/native-runtime/runtime-mode.test.ts +++ b/server/src/services/native-runtime/runtime-mode.test.ts @@ -130,7 +130,7 @@ describe("resolveNativeRuntimeMode", () => { })).toThrow(expect.objectContaining({ code: "paperclip_runner_opencode_model_invalid", })); - for (const acpxAgent of ["cursor", "copilot"]) { + for (const acpxAgent of ["copilot"]) { expect(() => resolveNativeRuntimeMode({ ...eligible, adapterConfig: { provider: "acpx", acpxAgent, model: "explicit-provider-model" }, diff --git a/ui/src/adapters/codex-local/config-fields.test.tsx b/ui/src/adapters/codex-local/config-fields.test.tsx index e25606c8770..bb69b8a7235 100644 --- a/ui/src/adapters/codex-local/config-fields.test.tsx +++ b/ui/src/adapters/codex-local/config-fields.test.tsx @@ -11,7 +11,7 @@ import { CodexLocalConfigFields } from "./config-fields"; beforeAll(() => { Object.assign(globalThis, { IS_REACT_ACT_ENVIRONMENT: true }); }); -async function renderMarkup(node: ReactNode, expand?: string): Promise { +async function renderMarkup(node: ReactNode, expand?: string, inspect?: (container: HTMLElement) => void): Promise { const container = document.createElement("div"); document.body.appendChild(container); const root = createRoot(container); @@ -19,13 +19,14 @@ async function renderMarkup(node: ReactNode, expand?: string): Promise { if (expand) await act(async () => { container.querySelector(`[aria-label="${expand}"]`)?.dispatchEvent(new KeyboardEvent("keydown", { key: "Enter", bubbles: true })); }); - const html = document.body.innerHTML; + inspect?.(container); + const html = container.innerHTML + Array.from(document.body.children).filter(child => child !== container).map(child => child.outerHTML).join(""); await act(async () => root.unmount()); container.remove(); return html; } -async function renderRunner(config: Record, expand?: string): Promise { +async function renderRunner(config: Record, expand?: string, inspect?: (container: HTMLElement) => void): Promise { return renderMarkup( , expand?: string): P hideInstructionsFile /> , - expand, + expand, inspect, ); } @@ -87,8 +88,8 @@ describe("Paperclip Runner Codex configuration", () => { expect(html).not.toContain("Ask for untrusted operations"); }); - it("offers qualified Claude and Pi and keeps sibling ACP candidates visibly disabled", () => { - const html = renderRunner({ + it("offers qualified Claude, Cursor and Pi while keeping Copilot disabled", async () => { + const html = await renderRunner({ provider: "acpx", acpxAgent: "claude", acpxPermissionMode: "approve-reads", @@ -96,38 +97,42 @@ describe("Paperclip Runner Codex configuration", () => { expect(html).toContain('ACP agents'); expect(html).toContain("ACP agent"); - expect(html).toContain(''); - expect(html).toContain(''); - expect(html).toContain(''); - expect(html).toContain(''); - expect(html).not.toContain('