From cf9e8d2b78586a7b5961f75cd9730ba7c68e34d5 Mon Sep 17 00:00:00 2001 From: PerryLink Date: Fri, 18 Sep 2026 18:45:23 +0800 Subject: [PATCH 01/12] chore(ci): re-anchor compat.yml to 0.1.6-alpha.2 --- .github/workflows/compat.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/compat.yml b/.github/workflows/compat.yml index cb2f84c..19c39dc 100644 --- a/.github/workflows/compat.yml +++ b/.github/workflows/compat.yml @@ -1,6 +1,6 @@ name: Compat -# dshbase-style compatibility verification (monthly + on demand): +# dshbase-style compatibility verification (weekly + per PR + on demand): # 1. bare-import: install the packed tarball into an empty project (native # builds allowlisted) and import its entry - catches devDependencies # mistaken for dependencies and native-build gate regressions. @@ -13,8 +13,9 @@ name: Compat # Platform guard: every assertion here is platform-neutral. Platform-specific # behavior (Windows/macOS-only rows) is never asserted on this Linux runner. on: + pull_request: schedule: - - cron: '0 4 1 * *' + - cron: '0 4 * * 1' workflow_dispatch: jobs: @@ -139,7 +140,7 @@ jobs: pnpm run build pnpm pack --pack-destination "$RUNNER_TEMP" - name: Install dsh CLI - run: npm install -g @deepseek-ai/dsh@0.1.5-rc.2 + run: npm install -g @deepseek-ai/dsh@0.1.6-alpha.2 - name: Install into a scratch profile (builds allowlisted) run: | @@ -151,6 +152,7 @@ jobs: packages: - . nodeLinker: hoisted + minimumReleaseAge: 0 autoInstallPeers: false allowBuilds: '@deepseek-ai/dsh-subprocess-local': true @@ -159,7 +161,7 @@ jobs: protobufjs: true '@google/genai': true YAML - dsh plugin --profile compat add '@deepseek-ai/dsh-base@0.1.5-rc.2' '@deepseek-ai/dsh-headless@0.1.5-rc.2' "$TARBALL" + dsh plugin --profile compat add '@deepseek-ai/dsh-base@0.1.6-alpha.2' '@deepseek-ai/dsh-headless@0.1.6-alpha.2' "$TARBALL" - name: Row-mount assertion run: | From 8d450d0d8e01560b411d1edecc60d6f4737d29a8 Mon Sep 17 00:00:00 2001 From: PerryLink Date: Fri, 18 Sep 2026 19:11:14 +0800 Subject: [PATCH 02/12] chore(deps): add the 0.1.6 tuple clause to dsh peer ranges --- package.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index e01fdd4..6890532 100644 --- a/package.json +++ b/package.json @@ -115,14 +115,14 @@ }, "peerDependencies": { "@deepseek-ai/cordis": "^4.0.2", - "@deepseek-ai/dsh-commands": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", - "@deepseek-ai/dsh-llm": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", - "@deepseek-ai/dsh-session": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", - "@deepseek-ai/dsh-storage": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", - "@deepseek-ai/dsh-storage-domain": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", - "@deepseek-ai/dsh-storage-json": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", - "@deepseek-ai/dsh-subagent": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", - "@deepseek-ai/dsh-tools": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", + "@deepseek-ai/dsh-commands": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0", + "@deepseek-ai/dsh-llm": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0", + "@deepseek-ai/dsh-session": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0", + "@deepseek-ai/dsh-storage": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0", + "@deepseek-ai/dsh-storage-domain": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0", + "@deepseek-ai/dsh-storage-json": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0", + "@deepseek-ai/dsh-subagent": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0", + "@deepseek-ai/dsh-tools": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0", "@deepseek-ai/schemastery": "^3.18.2" }, "dependencies": { From beda287f70e23838dee61e4113838e0c47be1089 Mon Sep 17 00:00:00 2001 From: PerryLink Date: Fri, 18 Sep 2026 19:23:05 +0800 Subject: [PATCH 03/12] chore(ci): add the published-line ruler (tsconfig.ci.json + typecheck:ci) --- package.json | 1 + tsconfig.ci.json | 6 ++++++ 2 files changed, 7 insertions(+) create mode 100644 tsconfig.ci.json diff --git a/package.json b/package.json index 6890532..43c27e5 100644 --- a/package.json +++ b/package.json @@ -159,6 +159,7 @@ "gen-aliases": "node scripts/gen-aliases.mjs", "build": "node scripts/clean.mjs && tsc -p tsconfig.build.json && tsc -p tsconfig.client-build.json && tsdown && node scripts/fix-dts.mjs", "typecheck": "tsc --noEmit && tsc -p tsconfig.client.json --noEmit", + "typecheck:ci": "tsc -p tsconfig.ci.json --noEmit", "test": "vitest run", "test:watch": "vitest", "test:coverage": "vitest run --coverage", diff --git a/tsconfig.ci.json b/tsconfig.ci.json new file mode 100644 index 0000000..e5a19f3 --- /dev/null +++ b/tsconfig.ci.json @@ -0,0 +1,6 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "paths": {} + } +} From 9b5dfba382661f9abb3d99c63e7d6a5ab67db8ec Mon Sep 17 00:00:00 2001 From: PerryLink Date: Fri, 18 Sep 2026 22:12:12 +0800 Subject: [PATCH 04/12] chore(ci): regenerate the alias maps, scope the published-line ruler to the shipped surface and pin the dev/test line to 0.1.6-alpha.2 --- package.json | 29 +-- pnpm-lock.yaml | 429 ++++++++++++++++++++++++++------------------ tests/tools.spec.ts | 27 ++- tsconfig.ci.json | 4 +- tsconfig.paths.json | 128 ++++++++++--- vitest.aliases.mjs | 400 +++++++++++++++++------------------------ 6 files changed, 570 insertions(+), 447 deletions(-) diff --git a/package.json b/package.json index 43c27e5..841baa0 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,10 @@ "tools:register" ], "compatibility": { - "dshVersions": ["0.1.2-rc.1","0.1.5-rc.2"] + "dshVersions": [ + "0.1.2-rc.1", + "0.1.5-rc.2" + ] }, "capability": { "id": "background_agent", @@ -129,19 +132,21 @@ "zod": "^3.24.0" }, "devDependencies": { - "@deepseek-ai/dsh-util-values": "0.1.5-rc.2", - "@deepseek-ai/dsh-attachment": "0.1.5-rc.2", - "@deepseek-ai/dsh-subagent": "0.1.5-rc.2", - "@deepseek-ai/dsh-typert-protocol": "0.1.5-rc.2", - "@deepseek-ai/dsh-session": "0.1.5-rc.2", - "@deepseek-ai/dsh-tools": "0.1.5-rc.2", - "@deepseek-ai/dsh-llm": "0.1.5-rc.2", - "@deepseek-ai/dsh-commands": "0.1.5-rc.2", - "@deepseek-ai/dsh-storage": "0.1.5-rc.2", - "@deepseek-ai/dsh-storage-domain": "0.1.5-rc.2", - "@deepseek-ai/dsh-storage-json": "0.1.5-rc.2", "@deepseek-ai/cordis-plugin-include": "^1.0.7", "@deepseek-ai/cordis-plugin-loader": "^1.0.3", + "@deepseek-ai/dsh-agent": "0.1.6-alpha.2", + "@deepseek-ai/dsh-attachment": "0.1.6-alpha.2", + "@deepseek-ai/dsh-commands": "0.1.6-alpha.2", + "@deepseek-ai/dsh-llm": "0.1.6-alpha.2", + "@deepseek-ai/dsh-session": "0.1.6-alpha.2", + "@deepseek-ai/dsh-session-projection": "0.1.6-alpha.2", + "@deepseek-ai/dsh-storage": "0.1.6-alpha.2", + "@deepseek-ai/dsh-storage-domain": "0.1.6-alpha.2", + "@deepseek-ai/dsh-storage-json": "0.1.6-alpha.2", + "@deepseek-ai/dsh-subagent": "0.1.6-alpha.2", + "@deepseek-ai/dsh-tools": "0.1.6-alpha.2", + "@deepseek-ai/dsh-typert-protocol": "0.1.6-alpha.2", + "@deepseek-ai/dsh-util-values": "0.1.6-alpha.2", "@types/node": "^22.19.0", "@types/react": "^19.0.0", "@types/react-dom": "^19.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fc1fa9f..60314d3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,39 +24,45 @@ importers: '@deepseek-ai/cordis-plugin-loader': specifier: ^1.0.3 version: 1.0.3(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-agent': + specifier: 0.1.6-alpha.2 + version: 0.1.6-alpha.2(ae0bfdaa74a0439fe24d88c321882b8b) '@deepseek-ai/dsh-attachment': - specifier: 0.1.5-rc.2 - version: 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)) + specifier: 0.1.6-alpha.2 + version: 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)) '@deepseek-ai/dsh-commands': - specifier: 0.1.5-rc.2 - version: 0.1.5-rc.2(4828c67f4727b22e772120b000f7c9e2) + specifier: 0.1.6-alpha.2 + version: 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-agent@0.1.6-alpha.2(ae0bfdaa74a0439fe24d88c321882b8b))(@deepseek-ai/dsh-attachment@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-brand@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-session@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-typert-protocol@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)) '@deepseek-ai/dsh-llm': - specifier: 0.1.5-rc.2 - version: 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + specifier: 0.1.6-alpha.2 + version: 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/dsh-session': - specifier: 0.1.5-rc.2 - version: 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) + specifier: 0.1.6-alpha.2 + version: 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-session-projection': + specifier: 0.1.6-alpha.2 + version: 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-session@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))) '@deepseek-ai/dsh-storage': - specifier: 0.1.5-rc.2 - version: 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + specifier: 0.1.6-alpha.2 + version: 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/dsh-storage-domain': - specifier: 0.1.5-rc.2 - version: 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-storage@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)) + specifier: 0.1.6-alpha.2 + version: 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-storage@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)) '@deepseek-ai/dsh-storage-json': - specifier: 0.1.5-rc.2 - version: 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-storage@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)) + specifier: 0.1.6-alpha.2 + version: 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-storage@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)) '@deepseek-ai/dsh-subagent': - specifier: 0.1.5-rc.2 - version: 0.1.5-rc.2(160b623cc851f4954d9f0dd1906cc80d) + specifier: 0.1.6-alpha.2 + version: 0.1.6-alpha.2(6c6ce479717254d9e4f7c157cebc34bb) '@deepseek-ai/dsh-tools': - specifier: 0.1.5-rc.2 - version: 0.1.5-rc.2(d55366e615bfd7d60ab85cb25564d3a7) + specifier: 0.1.6-alpha.2 + version: 0.1.6-alpha.2(e7a7106644cfea9bafc67a3645b6c997) '@deepseek-ai/dsh-typert-protocol': - specifier: 0.1.5-rc.2 - version: 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + specifier: 0.1.6-alpha.2 + version: 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/dsh-util-values': - specifier: 0.1.5-rc.2 - version: 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + specifier: 0.1.6-alpha.2 + version: 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) '@types/node': specifier: ^22.19.0 version: 22.20.1 @@ -206,61 +212,81 @@ packages: '@deepseek-ai/cosmokit@1.8.3': resolution: {integrity: sha512-qBo+ronVM6Eu2WNVJXi8JcMiqZ19T9BRIpV+5qJUFPXjGH/Z0QKcQMC/IZJ7L394YTOtJgcovbk9qP0w2GsBXQ==} - '@deepseek-ai/dsh-agent@0.1.0-rc.6': - resolution: {integrity: sha512-vtqq2pWTrzn0dKfj5kREZRpP82AwtGjGx9V1lYnKvF+Uc/a8zyWbSvjDE7V1d3YQAQJzs2cWO31hURWDekDXIA==} + '@deepseek-ai/dsh-agent@0.1.6-alpha.2': + resolution: {integrity: sha512-XEOytfXmJG6dyHld3Np0IYRrVPJnuoKKx2yQ+o74a7cN89k+J61c33D7zIcDG5rLkF7sMNM608ZkhfCWJuTcjg==} peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.6 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.6 - '@deepseek-ai/dsh-scope': ^0.1.0-rc.6 - '@deepseek-ai/dsh-session': ^0.1.0-rc.6 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.6 - '@deepseek-ai/dsh-typert-protocol': ^0.1.0-rc.6 + '@deepseek-ai/cordis': ^4.0.2 + '@deepseek-ai/dsh-invariants': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-llm': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-scope': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-session': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-session-projection': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-typert-protocol': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-util-values': ^0.1.6-alpha.2 + + '@deepseek-ai/dsh-attachment@0.1.6-alpha.2': + resolution: {integrity: sha512-dv3s/FrFuZwmcBfWzWozj9khlb8LrFSCgz/spGsEg6l9zka1Wu3ZkHDcE+CRsM+fyCD/z/jTClMOkQ2DIMw5wQ==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.2 + '@deepseek-ai/dsh-brand': ^0.1.6-alpha.2 - '@deepseek-ai/dsh-attachment@0.1.5-rc.2': - resolution: {integrity: sha512-S6b8/WjqzGw+dMDLRXnq+tbijDGkQh38yE+zpQytX2/w/mPR3VzGj5r6McS01WwD76vXR8WFoheSCLyCAro8WQ==} + '@deepseek-ai/dsh-brand@0.1.6-alpha.2': + resolution: {integrity: sha512-Fx+GKwkTjTVf6drn888j7vF5ak0/6mxHDF1bYH4FBsRI+h/8UmPAgIV5fAfT63GqBSXdgmVe/hdzdmXS2nq6Eg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-brand': ^0.1.5-rc.2 - '@deepseek-ai/dsh-brand@0.1.5-rc.2': - resolution: {integrity: sha512-/+3TzQRYT4M8NINZ9OrsL5VWNyQSXof8mFLx3txiosWA7Bt0H6UcxUdKGXVwj6gCXhsQ74mzEHm2ucsflG0mYA==} + '@deepseek-ai/dsh-chunked-list@0.1.6-alpha.2': + resolution: {integrity: sha512-TNYYVvvSdAsW71wX+4EQfX38Juuf6oYZp7G+dNZCsULgD7Us0j4GFhfwm/4DIzpXww9AJIHEr+TSWzNoGIIBjQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-chunked-list@0.1.5-rc.2': - resolution: {integrity: sha512-XPr311bleMyOh9SzhTMmc1mC6qx2Tty8315MNYYyzIOLAns0h27PReFa9axy8I0soBaE7gfp6eQI1ZriVkI68g==} + '@deepseek-ai/dsh-commands@0.1.6-alpha.2': + resolution: {integrity: sha512-u90h9UUy5maUzmNZJn3jRjqFXKzvWMIX6RtD4YDy0sJsEFBkZTupBO4cITNd8w4s3tYBKSUAltZqxgxSE4Ngaw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 + '@deepseek-ai/dsh-agent': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-attachment': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-brand': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-invariants': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-llm': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-scope': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-session': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-typert-protocol': ^0.1.6-alpha.2 - '@deepseek-ai/dsh-code-runtime@0.1.0-rc.6': - resolution: {integrity: sha512-aw8D4IOeMo11A3uxQeE4LFoW3bvaQnVkGFqqtS+lsINDARrOCJHXLUgecoKpys+Lc5erZZ4UQDnymJmL4OCcKA==} + '@deepseek-ai/dsh-invariants@0.1.0-rc.6': + resolution: {integrity: sha512-WfEfOi99a4cpOugRAHTBSTnesLieu3ist1q9PXDXFBHX++K1rAl9+sB7YrdnbB8LH0UOY532gS9xJUYU6w0SLw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.6 - '@deepseek-ai/dsh-commands@0.1.5-rc.2': - resolution: {integrity: sha512-ODc9h2Jig+Lo4XLdxqHpHjSXsBFeUCth6Y/rToor4KVRWQMedUARlq5otPyB1lYHyQh2DonNs2uf7g3mvag57A==} + '@deepseek-ai/dsh-llm@0.1.6-alpha.2': + resolution: {integrity: sha512-kIQoqnD6jN3Z2qQ+gd0TrIwkEDfUZAPC3kkTUUv2yQm1GeDjB7JULwT1vGAKTbEqOhOpVfKhdp4wItpG5PclfA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-agent': ^0.1.5-rc.2 - '@deepseek-ai/dsh-attachment': ^0.1.5-rc.2 - '@deepseek-ai/dsh-brand': ^0.1.5-rc.2 - '@deepseek-ai/dsh-invariants': ^0.1.5-rc.2 - '@deepseek-ai/dsh-llm': ^0.1.5-rc.2 - '@deepseek-ai/dsh-scope': ^0.1.5-rc.2 - '@deepseek-ai/dsh-session': ^0.1.5-rc.2 - '@deepseek-ai/dsh-typert-protocol': ^0.1.5-rc.2 - '@deepseek-ai/dsh-invariants@0.1.0-rc.6': - resolution: {integrity: sha512-WfEfOi99a4cpOugRAHTBSTnesLieu3ist1q9PXDXFBHX++K1rAl9+sB7YrdnbB8LH0UOY532gS9xJUYU6w0SLw==} + '@deepseek-ai/dsh-ptc-runtime@0.1.6-alpha.2': + resolution: {integrity: sha512-A5WjgPaEGqjzbe3Qq6Q4Dxh7FMmiki6beFEDmR9M64n6+g97eHPWF7jA7HRTEJ3rYD0kOno6bRWd84tngA5NWQ==} peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/cordis': ^4.0.2 + '@deepseek-ai/dsh-sandbox': ^0.1.6-alpha.2 - '@deepseek-ai/dsh-llm@0.1.5-rc.2': - resolution: {integrity: sha512-Z7BVsBkK24SE4EItQeow8PHms/9GP0DSTi337vTAa/RY7tNg2Snz3INcXUj6CPZfvntQr1in9op9wLI+rfNsqA==} + '@deepseek-ai/dsh-sandbox-policy@0.1.6-alpha.2': + resolution: {integrity: sha512-yeLbgxCuCl5xUA1/eAzduBl82/WQuBNmNqYddMMNgSp79Vpb6YcvDY8Q0DC00Uaviz8rpPgQ91K60biU4p4FAQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 + '@deepseek-ai/dsh-agent': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-invariants': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-sandbox': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-session': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-session-projection': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.6-alpha.2 + + '@deepseek-ai/dsh-sandbox@0.1.6-alpha.2': + resolution: {integrity: sha512-WQ718npnJI1htC++wGxBll7iFlaOfgS1PpN+SoVzL39BcYuqp6zGP5CuLlxIIjz4uMs8bMbeQkk3MSl/mBV72g==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.2 + '@deepseek-ai/dsh-llm': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-session': ^0.1.6-alpha.2 '@deepseek-ai/dsh-scope@0.1.0-rc.6': resolution: {integrity: sha512-UlDLV4syLoJinNg9imhXrSAHrdaTa5Ff8gg46rzjFJGPUOhAk3DZff0hryT5OhrBi0A5Tj92qVpg2pRVvxnUzQ==} @@ -268,58 +294,68 @@ packages: '@deepseek-ai/cordis': ^4.0.1 '@deepseek-ai/dsh-invariants': ^0.1.0-rc.6 - '@deepseek-ai/dsh-session@0.1.5-rc.2': - resolution: {integrity: sha512-y+klWiGAWR4m4cc4ylurA0cW63673B4N8cr2ANMimweDZAfxL4XVBC7WiD/5DT2DtIhYmVZhz/niyS/WbniUTA==} + '@deepseek-ai/dsh-session-projection@0.1.6-alpha.2': + resolution: {integrity: sha512-ig+XpRxv5N+gSpfy3IajvG5AlFm2UKfTKqqtem4DXwxCHIPoRbZnYWgwd/qFIl1bNNJHL6z1zjnOGGNeO640GA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-scope': ^0.1.5-rc.2 + '@deepseek-ai/dsh-session': ^0.1.6-alpha.2 - '@deepseek-ai/dsh-storage-domain@0.1.5-rc.2': - resolution: {integrity: sha512-NZ9U14kqcCnF4F+ynrTlBLb+S9FEOwSLkfdjDgdfrFdHh4c2WsRKWxyeYbL8AME1rB+XxLp4YQBx8LQ0Kiy62A==} + '@deepseek-ai/dsh-session@0.1.6-alpha.2': + resolution: {integrity: sha512-WQNriZEQb0ykg+SDvqvNbp/AmG/DnydY5YdkTm5u3ST+PNXSQDLkaFzlY2YFU6hEuzs1h0yGCw6qPVpVGDAm1g==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.5-rc.2 - '@deepseek-ai/dsh-storage': ^0.1.5-rc.2 + '@deepseek-ai/dsh-scope': ^0.1.6-alpha.2 - '@deepseek-ai/dsh-storage-json@0.1.5-rc.2': - resolution: {integrity: sha512-vIdKeI6BUQpqneD/+oTZ2YNotNSGXZX0VbFbhdvgMSgamOrExIjl4cRsEJttcNr8zSvB8PjmuX2wPFvkMoeAlQ==} + '@deepseek-ai/dsh-storage-domain@0.1.6-alpha.2': + resolution: {integrity: sha512-suyx9HXW0SFUE0/Q4LWR99nj1Fgv9Kno0+q+m85OEAuvBox2bz3Nz3DskQ2fAEW9Kl6CGSIVzo6w4Z8/kOCoVQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-storage': ^0.1.5-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-storage': ^0.1.6-alpha.2 - '@deepseek-ai/dsh-storage@0.1.5-rc.2': - resolution: {integrity: sha512-mYt6+JSRxA5fSUcYnI3JFvYw9/TKUyykz5JWoZZ3MxWudItfhw+CV6T3kn3/bpTbWIQnGesSeY+0pJJVz0xBAA==} + '@deepseek-ai/dsh-storage-json@0.1.6-alpha.2': + resolution: {integrity: sha512-/byy4EE5Vl+9mei/iHNmBgfCVDhHKGD3QijYVbIdoJ8/brkJszhQ3ysCjTeHM1SB2Ko3oJ4wVImu+olhpGjBrw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 + '@deepseek-ai/dsh-storage': ^0.1.6-alpha.2 - '@deepseek-ai/dsh-subagent@0.1.5-rc.2': - resolution: {integrity: sha512-f2wbfB1M2P8RpcApp5eDpDQR4V5ElvEkeK6su7tor1U06uJadJ+JuIVXP3MrCnT7yjg/IM2tTacYFMOg62BOfg==} + '@deepseek-ai/dsh-storage@0.1.6-alpha.2': + resolution: {integrity: sha512-xFvuJHT20zfhf/dmKzBx5Fi+jD97Q7Qs8UY+rQvZ4qOw73axeAMjC6ciXy5PV8ZsWSSc3m2t8yqX/aeGKWIaIw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-agent': ^0.1.5-rc.2 - '@deepseek-ai/dsh-agent-presets': ^0.1.5-rc.2 - '@deepseek-ai/dsh-attachment': ^0.1.5-rc.2 - '@deepseek-ai/dsh-invariants': ^0.1.5-rc.2 - '@deepseek-ai/dsh-jobs': ^0.1.5-rc.2 - '@deepseek-ai/dsh-llm': ^0.1.5-rc.2 - '@deepseek-ai/dsh-sandbox': ^0.1.5-rc.2 - '@deepseek-ai/dsh-sandbox-policy': ^0.1.5-rc.2 - '@deepseek-ai/dsh-scope': ^0.1.5-rc.2 - '@deepseek-ai/dsh-session': ^0.1.5-rc.2 - '@deepseek-ai/dsh-session-persistence': ^0.1.5-rc.2 - '@deepseek-ai/dsh-session-projection': ^0.1.5-rc.2 - '@deepseek-ai/dsh-session-projection-cache': ^0.1.5-rc.2 - '@deepseek-ai/dsh-session-query': ^0.1.5-rc.2 - '@deepseek-ai/dsh-system-prompt': ^0.1.5-rc.2 - '@deepseek-ai/dsh-tools': ^0.1.5-rc.2 - '@deepseek-ai/dsh-typert-protocol': ^0.1.5-rc.2 - '@deepseek-ai/dsh-user-approval': ^0.1.5-rc.2 - '@deepseek-ai/dsh-util-time': ^0.1.5-rc.2 + + '@deepseek-ai/dsh-subagent@0.1.6-alpha.2': + resolution: {integrity: sha512-rBVIIqT3Z7WRpWAAV3APsVjteRKbave9yESuDXX1JeO2zhrnPhUrtsg4KWaWDFaNoma85WtPK636Srvtz8aCUg==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.2 + '@deepseek-ai/dsh-agent': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-agent-presets': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-attachment': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-invariants': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-jobs': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-llm': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-permission-presets': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-sandbox': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-sandbox-policy': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-scope': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-session': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-session-persistence': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-session-projection': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-session-projection-cache': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-session-query': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-settings': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-tools': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-typert-protocol': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-user-approval': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-util-time': ^0.1.6-alpha.2 peerDependenciesMeta: '@deepseek-ai/dsh-agent-presets': optional: true '@deepseek-ai/dsh-jobs': optional: true + '@deepseek-ai/dsh-permission-presets': + optional: true '@deepseek-ai/dsh-sandbox': optional: true '@deepseek-ai/dsh-sandbox-policy': @@ -332,6 +368,8 @@ packages: optional: true '@deepseek-ai/dsh-session-query': optional: true + '@deepseek-ai/dsh-settings': + optional: true '@deepseek-ai/dsh-user-approval': optional: true @@ -343,26 +381,28 @@ packages: '@deepseek-ai/dsh-llm': ^0.1.0-rc.6 '@deepseek-ai/dsh-scope': ^0.1.0-rc.6 - '@deepseek-ai/dsh-timeout@0.1.5-rc.2': - resolution: {integrity: sha512-FgfaAw8Zt5X4Y6Ljh833B8Hy7h96FeR+yjNKI3iSyZSqREqOBgvDGXFfQlSu6V3Buvw/cbI/CJUQJvfRBKXOiA==} + '@deepseek-ai/dsh-timeout@0.1.6-alpha.2': + resolution: {integrity: sha512-Hdcv+GMyfJVENm7CFEjztwbpDfsND10HZ+Q/9Nnw5UqlCkyQd8alhW+I2xIDTZQVvlDnRcu6l8ix1k2OOmiFSA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-tools@0.1.5-rc.2': - resolution: {integrity: sha512-k2yZuJJtszaU9lzr2aBtdeFMINrkdlk4ellbtrMokA2oySVqJmAM8dv+u9RtzduD3aRRqyr2i2hWrTACz0qOrA==} + '@deepseek-ai/dsh-tools@0.1.6-alpha.2': + resolution: {integrity: sha512-twRy/AffES124neGEpDLHjOTgcmWi8HtisTdTIm1b144LdEUBfU604A5N65muE+GfECDzyDKK/jJeLGuosMx2w==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-agent': ^0.1.5-rc.2 - '@deepseek-ai/dsh-code-runtime': ^0.1.5-rc.2 - '@deepseek-ai/dsh-invariants': ^0.1.5-rc.2 - '@deepseek-ai/dsh-llm': ^0.1.5-rc.2 - '@deepseek-ai/dsh-scope': ^0.1.5-rc.2 - '@deepseek-ai/dsh-session': ^0.1.5-rc.2 - '@deepseek-ai/dsh-system-prompt': ^0.1.5-rc.2 - '@deepseek-ai/dsh-user-approval': ^0.1.5-rc.2 - - '@deepseek-ai/dsh-typert-protocol@0.1.5-rc.2': - resolution: {integrity: sha512-zP8J20rBXa1AFjKL2i83JBeQcePZx8yal3pNojj4t7CCokMcoFMUbr50woa6fY1tRJ7qHxgypO3rH8Q6YWgmiA==} + '@deepseek-ai/dsh-agent': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-invariants': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-llm': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-ptc-runtime': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-sandbox': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-sandbox-policy': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-scope': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-session': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.6-alpha.2 + '@deepseek-ai/dsh-user-approval': ^0.1.6-alpha.2 + + '@deepseek-ai/dsh-typert-protocol@0.1.6-alpha.2': + resolution: {integrity: sha512-rC0XtllnwXXr+956y5r9E1CQIe/BA7AoNVZVW3+4srF7i4BoH90j64g4c3U+KsNLFC4dCOufNJ15kXKrMLMauQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 @@ -378,8 +418,8 @@ packages: '@deepseek-ai/dsh-session': ^0.1.0-rc.6 '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.6 - '@deepseek-ai/dsh-util-crypto@0.1.5-rc.2': - resolution: {integrity: sha512-JR0aJEUL35RE8FVT89wMZMbPwMrbkjNcy+gE9pq70d/m2Zxw3a0iNer+BAxPAKYPbmy0xDDXReTwXiecKVy4sQ==} + '@deepseek-ai/dsh-util-crypto@0.1.6-alpha.2': + resolution: {integrity: sha512-Jn+3w5pp+rBOSFekvtNWQAx2+M08ZxJmlVYn7OI6l5Gd9ISq4/T0v4yE07O9s7uU5zr7yZ9nq5CTUpcXCrBrxw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 @@ -388,8 +428,8 @@ packages: peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-util-values@0.1.5-rc.2': - resolution: {integrity: sha512-Cr0TkM6dFAD+Iy4sNXH/afJVMHwJXoOztivj+RflkYoACsOq+Ix0vdHn36hwW7mayU8OK3ZKIZUQ6BPo1fHvUg==} + '@deepseek-ai/dsh-util-values@0.1.6-alpha.2': + resolution: {integrity: sha512-9p+4ffFjq7OIeYqvHlIhKs85MZrirdu9QYi+vknOwkgszZXAgoRbPnX0ZzhsTneFSqQgLEfBXtUHUtOI1iiB/Q==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 @@ -1915,47 +1955,44 @@ snapshots: '@deepseek-ai/cosmokit@1.8.3': {} - '@deepseek-ai/dsh-agent@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-session@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-system-prompt@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-typert-protocol@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2))': + '@deepseek-ai/dsh-agent@0.1.6-alpha.2(ae0bfdaa74a0439fe24d88c321882b8b)': dependencies: '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) '@deepseek-ai/dsh-invariants': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-llm': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-llm': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/dsh-scope': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-session': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) - '@deepseek-ai/dsh-typert-protocol': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-session': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-session-projection': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-session@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))) + '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-typert-protocol': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-util-values': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-attachment@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2))': + '@deepseek-ai/dsh-attachment@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))': dependencies: '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) - '@deepseek-ai/dsh-brand': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-brand': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-brand@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)': + '@deepseek-ai/dsh-brand@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)': dependencies: '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) - '@deepseek-ai/dsh-chunked-list@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)': + '@deepseek-ai/dsh-chunked-list@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)': dependencies: '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) zod: 4.4.3 - '@deepseek-ai/dsh-code-runtime@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))': - dependencies: - '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2) - - '@deepseek-ai/dsh-commands@0.1.5-rc.2(4828c67f4727b22e772120b000f7c9e2)': + '@deepseek-ai/dsh-commands@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-agent@0.1.6-alpha.2(ae0bfdaa74a0439fe24d88c321882b8b))(@deepseek-ai/dsh-attachment@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-brand@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-session@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-typert-protocol@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))': dependencies: '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) - '@deepseek-ai/dsh-agent': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-session@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-system-prompt@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-typert-protocol@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-attachment': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-brand': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-agent': 0.1.6-alpha.2(ae0bfdaa74a0439fe24d88c321882b8b) + '@deepseek-ai/dsh-attachment': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-brand': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/dsh-invariants': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-llm': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-llm': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/dsh-scope': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-session': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) - '@deepseek-ai/dsh-typert-protocol': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-util-crypto': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-session': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-typert-protocol': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-util-crypto': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) zod: 4.4.3 '@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)': @@ -1963,112 +2000,148 @@ snapshots: '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) '@deepseek-ai/schemastery': 3.18.2 - '@deepseek-ai/dsh-llm@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)': + '@deepseek-ai/dsh-llm@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)': + dependencies: + '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) + '@deepseek-ai/dsh-brand': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-timeout': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-typert-protocol': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-util-crypto': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-util-values': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/schemastery': 3.18.2 + zod: 4.4.3 + + '@deepseek-ai/dsh-ptc-runtime@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-sandbox@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-llm@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-session@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))))': + dependencies: + '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) + '@deepseek-ai/dsh-sandbox': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-llm@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-session@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))) + + '@deepseek-ai/dsh-sandbox-policy@0.1.6-alpha.2(8dd01092cdc0aa09ff402792e8f8ce38)': dependencies: '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) - '@deepseek-ai/dsh-brand': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-timeout': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-typert-protocol': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-util-crypto': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-util-values': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-agent': 0.1.6-alpha.2(ae0bfdaa74a0439fe24d88c321882b8b) + '@deepseek-ai/dsh-invariants': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-sandbox': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-llm@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-session@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))) + '@deepseek-ai/dsh-session': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-session-projection': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-session@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))) + '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) '@deepseek-ai/schemastery': 3.18.2 zod: 4.4.3 + '@deepseek-ai/dsh-sandbox@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-llm@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-session@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))))': + dependencies: + '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) + '@deepseek-ai/dsh-llm': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-session': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-util-values': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))': dependencies: '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) '@deepseek-ai/dsh-invariants': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-session@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))': + '@deepseek-ai/dsh-session-projection@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-session@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))))': dependencies: '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) - '@deepseek-ai/dsh-brand': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-llm': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-session': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) + zod: 4.4.3 + + '@deepseek-ai/dsh-session@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))': + dependencies: + '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) + '@deepseek-ai/dsh-brand': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-llm': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/dsh-scope': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-util-values': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-util-values': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-storage-domain@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-storage@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2))': + '@deepseek-ai/dsh-storage-domain@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-storage@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))': dependencies: '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) '@deepseek-ai/dsh-invariants': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-storage': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-storage': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/schemastery': 3.18.2 zod: 4.4.3 - '@deepseek-ai/dsh-storage-json@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-storage@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2))': + '@deepseek-ai/dsh-storage-json@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-storage@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))': dependencies: '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) - '@deepseek-ai/dsh-storage': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-storage': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/schemastery': 3.18.2 - '@deepseek-ai/dsh-storage@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)': + '@deepseek-ai/dsh-storage@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)': dependencies: '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) - '@deepseek-ai/dsh-subagent@0.1.5-rc.2(160b623cc851f4954d9f0dd1906cc80d)': + '@deepseek-ai/dsh-subagent@0.1.6-alpha.2(6c6ce479717254d9e4f7c157cebc34bb)': dependencies: '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) - '@deepseek-ai/dsh-agent': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-session@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-system-prompt@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-typert-protocol@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-attachment': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-brand': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-chunked-list': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-agent': 0.1.6-alpha.2(ae0bfdaa74a0439fe24d88c321882b8b) + '@deepseek-ai/dsh-attachment': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-brand': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-chunked-list': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/dsh-invariants': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-llm': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-llm': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/dsh-scope': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-session': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) - '@deepseek-ai/dsh-tools': 0.1.5-rc.2(d55366e615bfd7d60ab85cb25564d3a7) - '@deepseek-ai/dsh-typert-protocol': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-session': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-tools': 0.1.6-alpha.2(e7a7106644cfea9bafc67a3645b6c997) + '@deepseek-ai/dsh-typert-protocol': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/dsh-util-time': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-util-values': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-util-values': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/schemastery': 3.18.2 zod: 4.4.3 optionalDependencies: - '@deepseek-ai/dsh-user-approval': 0.1.0-rc.6(bc27c114f0273601246f6f4e1eee92e0) + '@deepseek-ai/dsh-sandbox': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-llm@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-session@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))) + '@deepseek-ai/dsh-sandbox-policy': 0.1.6-alpha.2(8dd01092cdc0aa09ff402792e8f8ce38) + '@deepseek-ai/dsh-session-projection': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-session@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))) + '@deepseek-ai/dsh-user-approval': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-agent@0.1.6-alpha.2(ae0bfdaa74a0439fe24d88c321882b8b))(@deepseek-ai/dsh-brand@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-session@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-system-prompt@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))) - '@deepseek-ai/dsh-system-prompt@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))': + '@deepseek-ai/dsh-system-prompt@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))': dependencies: '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) '@deepseek-ai/dsh-invariants': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-llm': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-llm': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/dsh-scope': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)) '@deepseek-ai/schemastery': 3.18.2 - '@deepseek-ai/dsh-timeout@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)': + '@deepseek-ai/dsh-timeout@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)': dependencies: '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) - '@deepseek-ai/dsh-tools@0.1.5-rc.2(d55366e615bfd7d60ab85cb25564d3a7)': + '@deepseek-ai/dsh-tools@0.1.6-alpha.2(e7a7106644cfea9bafc67a3645b6c997)': dependencies: '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) - '@deepseek-ai/dsh-agent': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-session@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-system-prompt@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-typert-protocol@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-brand': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-code-runtime': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-agent': 0.1.6-alpha.2(ae0bfdaa74a0439fe24d88c321882b8b) + '@deepseek-ai/dsh-brand': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/dsh-invariants': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-llm': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-llm': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-ptc-runtime': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-sandbox@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-llm@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-session@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))))) + '@deepseek-ai/dsh-sandbox': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-llm@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-session@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))) + '@deepseek-ai/dsh-sandbox-policy': 0.1.6-alpha.2(8dd01092cdc0aa09ff402792e8f8ce38) '@deepseek-ai/dsh-scope': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-session': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) - '@deepseek-ai/dsh-user-approval': 0.1.0-rc.6(bc27c114f0273601246f6f4e1eee92e0) - '@deepseek-ai/dsh-util-values': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-session': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-user-approval': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-agent@0.1.6-alpha.2(ae0bfdaa74a0439fe24d88c321882b8b))(@deepseek-ai/dsh-brand@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-session@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-system-prompt@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))) + '@deepseek-ai/dsh-util-values': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/schemastery': 3.18.2 - '@deepseek-ai/dsh-typert-protocol@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)': + '@deepseek-ai/dsh-typert-protocol@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)': dependencies: '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) - '@deepseek-ai/dsh-user-approval@0.1.0-rc.6(bc27c114f0273601246f6f4e1eee92e0)': + '@deepseek-ai/dsh-user-approval@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-agent@0.1.6-alpha.2(ae0bfdaa74a0439fe24d88c321882b8b))(@deepseek-ai/dsh-brand@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-session@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-system-prompt@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))))': dependencies: '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) - '@deepseek-ai/dsh-agent': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-session@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-system-prompt@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-typert-protocol@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-brand': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-agent': 0.1.6-alpha.2(ae0bfdaa74a0439fe24d88c321882b8b) + '@deepseek-ai/dsh-brand': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/dsh-invariants': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-llm': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-llm': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/dsh-scope': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-session': 0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-session': 0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.2))) '@deepseek-ai/schemastery': 3.18.2 - '@deepseek-ai/dsh-util-crypto@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)': + '@deepseek-ai/dsh-util-crypto@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)': dependencies: '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) @@ -2076,7 +2149,7 @@ snapshots: dependencies: '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) - '@deepseek-ai/dsh-util-values@0.1.5-rc.2(@deepseek-ai/cordis@4.0.2)': + '@deepseek-ai/dsh-util-values@0.1.6-alpha.2(@deepseek-ai/cordis@4.0.2)': dependencies: '@deepseek-ai/cordis': 4.0.2(@deepseek-ai/cordis-plugin-include@1.0.7)(@deepseek-ai/cordis-plugin-loader@1.0.3) diff --git a/tests/tools.spec.ts b/tests/tools.spec.ts index 294ad5c..db4721c 100644 --- a/tests/tools.spec.ts +++ b/tests/tools.spec.ts @@ -5,6 +5,7 @@ import { join } from 'node:path' import { Context } from '@deepseek-ai/cordis' import { CallId } from './call-id.ts' import AgentRegistry from '@deepseek-ai/dsh-agent' +import type { Agent } from '@deepseek-ai/dsh-agent' import AgentLoop from '@deepseek-ai/dsh-agent-loop' import { mountAgentLoopTestDependencies } from '@deepseek-ai/dsh-agent-loop-testkit' import LlmRuntime from '@deepseek-ai/dsh-llm' @@ -103,7 +104,7 @@ describe('dsh-background-agents tools', () => { // registered fact never lands in the log; the appender routes it to the // logger fallback channel instead. The replay meta above is the durable // registration record the model and the reopen fold see. - expect(parent.session.snapshotEvents().some(event => event.type === 'background-agents/fact')).toBe(false) + expect(parent.session.snapshotEvents().some((event: { type: string }) => event.type === 'background-agents/fact')).toBe(false) expect(ctx.logger.buffer.some(message => message.name === 'background-agents' && message.type === 'info' @@ -193,10 +194,21 @@ describe('dsh-background-agents tools', () => { messageId: message.messageId, }) await vi.waitFor(() => { expect(ctx.agents.get(started.childId)).toBeUndefined() }, { timeout: 5_000 }) - const handle = await ctx.sessionPersistence.open(started.childId, 'read') + // `sessionPersistence` is contributed by the persistence plugin's Context + // merge; the published-line type face does not carry it, so read the handle + // structurally (the shape asserted below is the official one). + const persistence = (ctx as unknown as { + sessionPersistence: { + open(id: SessionId, mode: 'read'): Promise<{ + read(): Promise<{ events: readonly { readonly type: string; readonly data: { readonly source?: unknown } }[] }> + close(): Promise + }> + } + }).sessionPersistence + const handle = await persistence.open(started.childId, 'read') const { events: loadedEvents } = await handle.read() await handle.close() - const followUp = loadedEvents.findLast(event => event.type === 'user/message') + const followUp = loadedEvents.findLast((event: { readonly type: string }) => event.type === 'user/message') expect(followUp?.type === 'user/message' && followUp.data.source).toEqual({ kind: 'agent-message', form: 'relay', @@ -239,7 +251,12 @@ describe('dsh-background-agents tools', () => { ctx.provide('agentLoop' as never, { create: (id: SessionId) => ({ id }), } as never) - const parent = await ctx.agentLoop.create(SessionId('parent'), { provider: 'mock', model: 'mock' }) + // Read the stand-in structurally: `agentLoop` is a checkout-face Context + // member, so the published-line type face has no such property. + const agentLoop = (ctx as unknown as { + agentLoop: { create(id: SessionId, options: { provider: string; model: string }): Promise } + }).agentLoop + const parent = await agentLoop.create(SessionId('parent'), { provider: 'mock', model: 'mock' }) const result = await callTool(ctx, 'bg_list', {}, parent) expect(result.isError).toBe(false) @@ -499,7 +516,7 @@ describe('dsh-background-agents tools', () => { // The rc.1 host forbids the fact event in the log; the stop fact is // routed to the logger fallback channel instead, and the outcome above // is the model-visible record of the request. - expect(parent.session.snapshotEvents().some(event => event.type === 'background-agents/fact')).toBe(false) + expect(parent.session.snapshotEvents().some((event: { type: string }) => event.type === 'background-agents/fact')).toBe(false) expect(ctx.logger.buffer.some(message => message.name === 'background-agents' && message.type === 'info' diff --git a/tsconfig.ci.json b/tsconfig.ci.json index e5a19f3..e7019ad 100644 --- a/tsconfig.ci.json +++ b/tsconfig.ci.json @@ -2,5 +2,7 @@ "extends": "./tsconfig.json", "compilerOptions": { "paths": {} - } + }, + "include": ["src"], + "exclude": ["src/client", "tests"] } diff --git a/tsconfig.paths.json b/tsconfig.paths.json index 9d17944..4a2ad8b 100644 --- a/tsconfig.paths.json +++ b/tsconfig.paths.json @@ -34,8 +34,6 @@ "@deepseek-ai/dsh-agent-loop-testkit": ["../../../../deepseek-harness/packages/test-support/agent-loop-testkit/lib/types/index.d.ts"], "@deepseek-ai/dsh-agent-presets/*": ["../../../../deepseek-harness/packages/preset/agent-presets/lib/types/*"], "@deepseek-ai/dsh-agent-presets": ["../../../../deepseek-harness/packages/preset/agent-presets/lib/types/index.d.ts"], - "@deepseek-ai/dsh-agent-spine-demo/*": ["../../../../deepseek-harness/packages/examples/agent-spine-demo/lib/types/*"], - "@deepseek-ai/dsh-agent-spine-demo": ["../../../../deepseek-harness/packages/examples/agent-spine-demo/lib/types/index.d.ts"], "@deepseek-ai/dsh-agent-tool-presentation/*": ["../../../../deepseek-harness/packages/core/agent-tool-presentation/lib/types/*"], "@deepseek-ai/dsh-agent-tool-presentation": ["../../../../deepseek-harness/packages/core/agent-tool-presentation/lib/types/index.d.ts"], "@deepseek-ai/dsh-anonymous-user-id/*": ["../../../../deepseek-harness/packages/identity/anonymous-user-id/lib/types/*"], @@ -48,8 +46,12 @@ "@deepseek-ai/dsh-api-session-controller": ["../../../../deepseek-harness/packages/api/session-controller/lib/types/index.d.ts"], "@deepseek-ai/dsh-api-settings-controller/*": ["../../../../deepseek-harness/packages/api/settings-controller/lib/types/*"], "@deepseek-ai/dsh-api-settings-controller": ["../../../../deepseek-harness/packages/api/settings-controller/lib/types/index.d.ts"], + "@deepseek-ai/dsh-api-terminal-controller/*": ["../../../../deepseek-harness/packages/api/terminal-controller/lib/types/*"], + "@deepseek-ai/dsh-api-terminal-controller": ["../../../../deepseek-harness/packages/api/terminal-controller/lib/types/index.d.ts"], "@deepseek-ai/dsh-api-workspace-controller/*": ["../../../../deepseek-harness/packages/api/workspace-controller/lib/types/*"], "@deepseek-ai/dsh-api-workspace-controller": ["../../../../deepseek-harness/packages/api/workspace-controller/lib/types/index.d.ts"], + "@deepseek-ai/dsh-api-workspace-files/*": ["../../../../deepseek-harness/packages/api/workspace-files/lib/types/*"], + "@deepseek-ai/dsh-api-workspace-files": ["../../../../deepseek-harness/packages/api/workspace-files/lib/types/index.d.ts"], "@deepseek-ai/dsh-app-boot/*": ["../../../../deepseek-harness/packages/boot/app-boot/lib/types/*"], "@deepseek-ai/dsh-app-boot": ["../../../../deepseek-harness/packages/boot/app-boot/lib/types/index.d.ts"], "@deepseek-ai/dsh-atomic-write/*": ["../../../../deepseek-harness/packages/util/atomic-write/lib/types/*"], @@ -68,14 +70,22 @@ "@deepseek-ai/dsh-bash-sandbox": ["../../../../deepseek-harness/packages/shell/bash-sandbox/lib/types/index.d.ts"], "@deepseek-ai/dsh-brand/*": ["../../../../deepseek-harness/packages/util/brand/lib/types/*"], "@deepseek-ai/dsh-brand": ["../../../../deepseek-harness/packages/util/brand/lib/types/index.d.ts"], + "@deepseek-ai/dsh-browser-use/*": ["../../../../deepseek-harness/packages/browser-use/browser-use/lib/types/*"], + "@deepseek-ai/dsh-browser-use": ["../../../../deepseek-harness/packages/browser-use/browser-use/lib/types/index.d.ts"], + "@deepseek-ai/dsh-chunked-list/*": ["../../../../deepseek-harness/packages/util/chunked-list/lib/types/*"], + "@deepseek-ai/dsh-chunked-list": ["../../../../deepseek-harness/packages/util/chunked-list/lib/types/index.d.ts"], "@deepseek-ai/dsh-client-connection/*": ["../../../../deepseek-harness/packages/client/connection/lib/types/*"], "@deepseek-ai/dsh-client-connection": ["../../../../deepseek-harness/packages/client/connection/lib/types/index.d.ts"], + "@deepseek-ai/dsh-client-file-upload/*": ["../../../../deepseek-harness/packages/client/file-upload/lib/types/*"], + "@deepseek-ai/dsh-client-file-upload": ["../../../../deepseek-harness/packages/client/file-upload/lib/types/index.d.ts"], "@deepseek-ai/dsh-client-hmr/*": ["../../../../deepseek-harness/packages/client/hmr/lib/types/*"], "@deepseek-ai/dsh-client-hmr": ["../../../../deepseek-harness/packages/client/hmr/lib/types/index.d.ts"], "@deepseek-ai/dsh-client-locale/*": ["../../../../deepseek-harness/packages/client/locale/lib/types/*"], "@deepseek-ai/dsh-client-locale": ["../../../../deepseek-harness/packages/client/locale/lib/types/index.d.ts"], "@deepseek-ai/dsh-client-modules/*": ["../../../../deepseek-harness/packages/client/modules/lib/types/*"], "@deepseek-ai/dsh-client-modules": ["../../../../deepseek-harness/packages/client/modules/lib/types/index.d.ts"], + "@deepseek-ai/dsh-client-resources/*": ["../../../../deepseek-harness/packages/client/resources/lib/types/*"], + "@deepseek-ai/dsh-client-resources": ["../../../../deepseek-harness/packages/client/resources/lib/types/index.d.ts"], "@deepseek-ai/dsh-client-store/*": ["../../../../deepseek-harness/packages/client/store/lib/types/*"], "@deepseek-ai/dsh-client-store": ["../../../../deepseek-harness/packages/client/store/lib/types/index.d.ts"], "@deepseek-ai/dsh-client-test-runtime/*": ["../../../../deepseek-harness/packages/test-support/client-runtime/lib/types/*"], @@ -102,6 +112,8 @@ "@deepseek-ai/dsh-client-ui-directory-picker-browse": ["../../../../deepseek-harness/packages/client/ui-directory-picker-browse/lib/types/index.d.ts"], "@deepseek-ai/dsh-client-ui-directory-picker-native/*": ["../../../../deepseek-harness/packages/client/ui-directory-picker-native/lib/types/*"], "@deepseek-ai/dsh-client-ui-directory-picker-native": ["../../../../deepseek-harness/packages/client/ui-directory-picker-native/lib/types/index.d.ts"], + "@deepseek-ai/dsh-client-ui-dockkit/*": ["../../../../deepseek-harness/packages/client/ui-dockkit/lib/types/*"], + "@deepseek-ai/dsh-client-ui-dockkit": ["../../../../deepseek-harness/packages/client/ui-dockkit/lib/types/index.d.ts"], "@deepseek-ai/dsh-client-ui-goal/*": ["../../../../deepseek-harness/packages/client/ui-goal/lib/types/*"], "@deepseek-ai/dsh-client-ui-goal": ["../../../../deepseek-harness/packages/client/ui-goal/lib/types/index.d.ts"], "@deepseek-ai/dsh-client-ui-input-trigger/*": ["../../../../deepseek-harness/packages/client/ui-input-trigger/lib/types/*"], @@ -114,16 +126,22 @@ "@deepseek-ai/dsh-client-ui-message-feedback": ["../../../../deepseek-harness/packages/client/ui-message-feedback/lib/types/index.d.ts"], "@deepseek-ai/dsh-client-ui-model-selection/*": ["../../../../deepseek-harness/packages/client/ui-model-selection/lib/types/*"], "@deepseek-ai/dsh-client-ui-model-selection": ["../../../../deepseek-harness/packages/client/ui-model-selection/lib/types/index.d.ts"], + "@deepseek-ai/dsh-client-ui-open-in-app/*": ["../../../../deepseek-harness/packages/client/ui-open-in-app/lib/types/*"], + "@deepseek-ai/dsh-client-ui-open-in-app": ["../../../../deepseek-harness/packages/client/ui-open-in-app/lib/types/index.d.ts"], "@deepseek-ai/dsh-client-ui-permission-presets/*": ["../../../../deepseek-harness/packages/client/ui-permission-presets/lib/types/*"], "@deepseek-ai/dsh-client-ui-permission-presets": ["../../../../deepseek-harness/packages/client/ui-permission-presets/lib/types/index.d.ts"], "@deepseek-ai/dsh-client-ui-plan/*": ["../../../../deepseek-harness/packages/client/ui-plan/lib/types/*"], "@deepseek-ai/dsh-client-ui-plan": ["../../../../deepseek-harness/packages/client/ui-plan/lib/types/index.d.ts"], + "@deepseek-ai/dsh-client-ui-plugin-manager/*": ["../../../../deepseek-harness/packages/client/ui-plugin-manager/lib/types/*"], + "@deepseek-ai/dsh-client-ui-plugin-manager": ["../../../../deepseek-harness/packages/client/ui-plugin-manager/lib/types/index.d.ts"], "@deepseek-ai/dsh-client-ui-primitives/*": ["../../../../deepseek-harness/packages/client/ui-primitives/lib/types/*"], "@deepseek-ai/dsh-client-ui-primitives": ["../../../../deepseek-harness/packages/client/ui-primitives/lib/types/index.d.ts"], "@deepseek-ai/dsh-client-ui-reference/*": ["../../../../deepseek-harness/packages/client/ui-reference/lib/types/*"], "@deepseek-ai/dsh-client-ui-reference": ["../../../../deepseek-harness/packages/client/ui-reference/lib/types/index.d.ts"], "@deepseek-ai/dsh-client-ui-renderer/*": ["../../../../deepseek-harness/packages/client/ui-renderer/lib/types/*"], "@deepseek-ai/dsh-client-ui-renderer": ["../../../../deepseek-harness/packages/client/ui-renderer/lib/types/index.d.ts"], + "@deepseek-ai/dsh-client-ui-schedule/*": ["../../../../deepseek-harness/packages/client/ui-schedule/lib/types/*"], + "@deepseek-ai/dsh-client-ui-schedule": ["../../../../deepseek-harness/packages/client/ui-schedule/lib/types/index.d.ts"], "@deepseek-ai/dsh-client-ui-session/*": ["../../../../deepseek-harness/packages/client/ui-session/lib/types/*"], "@deepseek-ai/dsh-client-ui-session": ["../../../../deepseek-harness/packages/client/ui-session/lib/types/index.d.ts"], "@deepseek-ai/dsh-client-ui-settings/*": ["../../../../deepseek-harness/packages/client/ui-settings/lib/types/*"], @@ -136,8 +154,20 @@ "@deepseek-ai/dsh-client-ui-settings-plugin-inventory": ["../../../../deepseek-harness/packages/client/ui-settings-plugin-inventory/lib/types/index.d.ts"], "@deepseek-ai/dsh-client-ui-settings-plugins/*": ["../../../../deepseek-harness/packages/client/ui-settings-plugins/lib/types/*"], "@deepseek-ai/dsh-client-ui-settings-plugins": ["../../../../deepseek-harness/packages/client/ui-settings-plugins/lib/types/index.d.ts"], + "@deepseek-ai/dsh-client-ui-settings-unarchive-sessions/*": ["../../../../deepseek-harness/packages/client/ui-settings-unarchive-sessions/lib/types/*"], + "@deepseek-ai/dsh-client-ui-settings-unarchive-sessions": ["../../../../deepseek-harness/packages/client/ui-settings-unarchive-sessions/lib/types/index.d.ts"], "@deepseek-ai/dsh-client-ui-sidebar/*": ["../../../../deepseek-harness/packages/client/ui-sidebar/lib/types/*"], "@deepseek-ai/dsh-client-ui-sidebar": ["../../../../deepseek-harness/packages/client/ui-sidebar/lib/types/index.d.ts"], + "@deepseek-ai/dsh-client-ui-sidebar-browser/*": ["../../../../deepseek-harness/packages/client/ui-sidebar-browser/lib/types/*"], + "@deepseek-ai/dsh-client-ui-sidebar-browser": ["../../../../deepseek-harness/packages/client/ui-sidebar-browser/lib/types/index.d.ts"], + "@deepseek-ai/dsh-client-ui-sidebar-documentpreview/*": ["../../../../deepseek-harness/packages/client/ui-sidebar-documentpreview/lib/types/*"], + "@deepseek-ai/dsh-client-ui-sidebar-documentpreview": ["../../../../deepseek-harness/packages/client/ui-sidebar-documentpreview/lib/types/index.d.ts"], + "@deepseek-ai/dsh-client-ui-sidebar-files/*": ["../../../../deepseek-harness/packages/client/ui-sidebar-files/lib/types/*"], + "@deepseek-ai/dsh-client-ui-sidebar-files": ["../../../../deepseek-harness/packages/client/ui-sidebar-files/lib/types/index.d.ts"], + "@deepseek-ai/dsh-client-ui-sidebar-right/*": ["../../../../deepseek-harness/packages/client/ui-sidebar-right/lib/types/*"], + "@deepseek-ai/dsh-client-ui-sidebar-right": ["../../../../deepseek-harness/packages/client/ui-sidebar-right/lib/types/index.d.ts"], + "@deepseek-ai/dsh-client-ui-sidebar-terminal/*": ["../../../../deepseek-harness/packages/client/ui-sidebar-terminal/lib/types/*"], + "@deepseek-ai/dsh-client-ui-sidebar-terminal": ["../../../../deepseek-harness/packages/client/ui-sidebar-terminal/lib/types/index.d.ts"], "@deepseek-ai/dsh-client-ui-skill/*": ["../../../../deepseek-harness/packages/client/ui-skill/lib/types/*"], "@deepseek-ai/dsh-client-ui-skill": ["../../../../deepseek-harness/packages/client/ui-skill/lib/types/index.d.ts"], "@deepseek-ai/dsh-client-ui-slots/*": ["../../../../deepseek-harness/packages/client/ui-slots/lib/types/*"], @@ -160,12 +190,6 @@ "@deepseek-ai/dsh-client-web": ["../../../../deepseek-harness/packages/client/web/lib/types/index.d.ts"], "@deepseek-ai/dsh-cmdline/*": ["../../../../deepseek-harness/packages/boot/cmdline/lib/types/*"], "@deepseek-ai/dsh-cmdline": ["../../../../deepseek-harness/packages/boot/cmdline/lib/types/index.d.ts"], - "@deepseek-ai/dsh-code-runtime/*": ["../../../../deepseek-harness/packages/code-runtime/code-runtime/lib/types/*"], - "@deepseek-ai/dsh-code-runtime": ["../../../../deepseek-harness/packages/code-runtime/code-runtime/lib/types/index.d.ts"], - "@deepseek-ai/dsh-code-runtime-python/*": ["../../../../deepseek-harness/packages/code-runtime/code-runtime-python/lib/types/*"], - "@deepseek-ai/dsh-code-runtime-python": ["../../../../deepseek-harness/packages/code-runtime/code-runtime-python/lib/types/index.d.ts"], - "@deepseek-ai/dsh-code-runtime-worker-thread/*": ["../../../../deepseek-harness/packages/code-runtime/code-runtime-worker-thread/lib/types/*"], - "@deepseek-ai/dsh-code-runtime-worker-thread": ["../../../../deepseek-harness/packages/code-runtime/code-runtime-worker-thread/lib/types/index.d.ts"], "@deepseek-ai/dsh-command-compact/*": ["../../../../deepseek-harness/packages/compaction/command-compact/lib/types/*"], "@deepseek-ai/dsh-command-compact": ["../../../../deepseek-harness/packages/compaction/command-compact/lib/types/index.d.ts"], "@deepseek-ai/dsh-command-feedback/*": ["../../../../deepseek-harness/packages/feedback/command-feedback/lib/types/*"], @@ -178,8 +202,12 @@ "@deepseek-ai/dsh-compaction": ["../../../../deepseek-harness/packages/compaction/compaction/lib/types/index.d.ts"], "@deepseek-ai/dsh-compaction-basic/*": ["../../../../deepseek-harness/packages/compaction/compaction-basic/lib/types/*"], "@deepseek-ai/dsh-compaction-basic": ["../../../../deepseek-harness/packages/compaction/compaction-basic/lib/types/index.d.ts"], + "@deepseek-ai/dsh-compaction-image-offload/*": ["../../../../deepseek-harness/packages/compaction/compaction-image-offload/lib/types/*"], + "@deepseek-ai/dsh-compaction-image-offload": ["../../../../deepseek-harness/packages/compaction/compaction-image-offload/lib/types/index.d.ts"], "@deepseek-ai/dsh-compaction-tool-result-pruner/*": ["../../../../deepseek-harness/packages/compaction/compaction-tool-result-pruner/lib/types/*"], "@deepseek-ai/dsh-compaction-tool-result-pruner": ["../../../../deepseek-harness/packages/compaction/compaction-tool-result-pruner/lib/types/index.d.ts"], + "@deepseek-ai/dsh-computer-use/*": ["../../../../deepseek-harness/packages/computer-use/computer-use/lib/types/*"], + "@deepseek-ai/dsh-computer-use": ["../../../../deepseek-harness/packages/computer-use/computer-use/lib/types/index.d.ts"], "@deepseek-ai/dsh-cordis-client-runner/*": ["../../../../deepseek-harness/packages/extensions/cordis-client-runner/lib/types/*"], "@deepseek-ai/dsh-cordis-client-runner": ["../../../../deepseek-harness/packages/extensions/cordis-client-runner/lib/types/index.d.ts"], "@deepseek-ai/dsh-cordis-host-runner/*": ["../../../../deepseek-harness/packages/extensions/cordis-host-runner/lib/types/*"], @@ -190,18 +218,34 @@ "@deepseek-ai/dsh-credentials-local": ["../../../../deepseek-harness/packages/credentials/credentials-local/lib/types/index.d.ts"], "@deepseek-ai/dsh-deepseek-llm-api-extensions/*": ["../../../../deepseek-harness/packages/llm/deepseek-llm-api-extensions/lib/types/*"], "@deepseek-ai/dsh-deepseek-llm-api-extensions": ["../../../../deepseek-harness/packages/llm/deepseek-llm-api-extensions/lib/types/index.d.ts"], - "@deepseek-ai/dsh-e2b/*": ["../../../../deepseek-harness/packages/e2b/e2b/lib/types/*"], - "@deepseek-ai/dsh-e2b": ["../../../../deepseek-harness/packages/e2b/e2b/lib/types/index.d.ts"], + "@deepseek-ai/dsh-deque/*": ["../../../../deepseek-harness/packages/util/deque/lib/types/*"], + "@deepseek-ai/dsh-deque": ["../../../../deepseek-harness/packages/util/deque/lib/types/index.d.ts"], "@deepseek-ai/dsh-experimental-agent-team/*": ["../../../../deepseek-harness/packages/experimental/agent-team/lib/types/*"], "@deepseek-ai/dsh-experimental-agent-team": ["../../../../deepseek-harness/packages/experimental/agent-team/lib/types/index.d.ts"], "@deepseek-ai/dsh-experimental-agent-team-profile/*": ["../../../../deepseek-harness/packages/experimental/agent-team-profile/lib/types/*"], "@deepseek-ai/dsh-experimental-agent-team-profile": ["../../../../deepseek-harness/packages/experimental/agent-team-profile/lib/types/index.d.ts"], "@deepseek-ai/dsh-experimental-agent-team-web-profile/*": ["../../../../deepseek-harness/packages/experimental/agent-team-web-profile/lib/types/*"], "@deepseek-ai/dsh-experimental-agent-team-web-profile": ["../../../../deepseek-harness/packages/experimental/agent-team-web-profile/lib/types/index.d.ts"], + "@deepseek-ai/dsh-experimental-auto-review/*": ["../../../../deepseek-harness/packages/experimental/auto-review/lib/types/*"], + "@deepseek-ai/dsh-experimental-auto-review": ["../../../../deepseek-harness/packages/experimental/auto-review/lib/types/index.d.ts"], + "@deepseek-ai/dsh-experimental-browser-use-chrome-devtools-mcp/*": ["../../../../deepseek-harness/packages/experimental/browser-use-chrome-devtools-mcp/lib/types/*"], + "@deepseek-ai/dsh-experimental-browser-use-chrome-devtools-mcp": ["../../../../deepseek-harness/packages/experimental/browser-use-chrome-devtools-mcp/lib/types/index.d.ts"], + "@deepseek-ai/dsh-experimental-browser-use-playwright-mcp/*": ["../../../../deepseek-harness/packages/experimental/browser-use-playwright-mcp/lib/types/*"], + "@deepseek-ai/dsh-experimental-browser-use-playwright-mcp": ["../../../../deepseek-harness/packages/experimental/browser-use-playwright-mcp/lib/types/index.d.ts"], + "@deepseek-ai/dsh-experimental-browser-use-runtime/*": ["../../../../deepseek-harness/packages/experimental/browser-use-runtime/lib/types/*"], + "@deepseek-ai/dsh-experimental-browser-use-runtime": ["../../../../deepseek-harness/packages/experimental/browser-use-runtime/lib/types/index.d.ts"], + "@deepseek-ai/dsh-experimental-browser-use-stagehand-native/*": ["../../../../deepseek-harness/packages/experimental/browser-use-stagehand-native/lib/types/*"], + "@deepseek-ai/dsh-experimental-browser-use-stagehand-native": ["../../../../deepseek-harness/packages/experimental/browser-use-stagehand-native/lib/types/index.d.ts"], "@deepseek-ai/dsh-experimental-client-ui-agent-team/*": ["../../../../deepseek-harness/packages/experimental/client-ui-agent-team/lib/types/*"], "@deepseek-ai/dsh-experimental-client-ui-agent-team": ["../../../../deepseek-harness/packages/experimental/client-ui-agent-team/lib/types/index.d.ts"], + "@deepseek-ai/dsh-experimental-computer-use-cua-driver-mcp/*": ["../../../../deepseek-harness/packages/experimental/computer-use-cua-driver-mcp/lib/types/*"], + "@deepseek-ai/dsh-experimental-computer-use-cua-driver-mcp": ["../../../../deepseek-harness/packages/experimental/computer-use-cua-driver-mcp/lib/types/index.d.ts"], + "@deepseek-ai/dsh-experimental-computer-use-cua-driver-native/*": ["../../../../deepseek-harness/packages/experimental/computer-use-cua-driver-native/lib/types/*"], + "@deepseek-ai/dsh-experimental-computer-use-cua-driver-native": ["../../../../deepseek-harness/packages/experimental/computer-use-cua-driver-native/lib/types/index.d.ts"], "@deepseek-ai/dsh-experimental-inspector/*": ["../../../../deepseek-harness/packages/experimental/inspector/lib/types/*"], "@deepseek-ai/dsh-experimental-inspector": ["../../../../deepseek-harness/packages/experimental/inspector/lib/types/index.d.ts"], + "@deepseek-ai/dsh-experimental-ptc-runtime-python/*": ["../../../../deepseek-harness/packages/experimental/ptc-runtime-python/lib/types/*"], + "@deepseek-ai/dsh-experimental-ptc-runtime-python": ["../../../../deepseek-harness/packages/experimental/ptc-runtime-python/lib/types/index.d.ts"], "@deepseek-ai/dsh-experimental-tool-agent-team/*": ["../../../../deepseek-harness/packages/experimental/tool-agent-team/lib/types/*"], "@deepseek-ai/dsh-experimental-tool-agent-team": ["../../../../deepseek-harness/packages/experimental/tool-agent-team/lib/types/index.d.ts"], "@deepseek-ai/dsh-experimental-webworker-packer/*": ["../../../../deepseek-harness/packages/experimental/webworker-packer/lib/types/*"], @@ -214,20 +258,22 @@ "@deepseek-ai/dsh-file-reference-local": ["../../../../deepseek-harness/packages/context/file-reference-local/lib/types/index.d.ts"], "@deepseek-ai/dsh-fs/*": ["../../../../deepseek-harness/packages/fs/fs/lib/types/*"], "@deepseek-ai/dsh-fs": ["../../../../deepseek-harness/packages/fs/fs/lib/types/index.d.ts"], - "@deepseek-ai/dsh-fs-e2b/*": ["../../../../deepseek-harness/packages/e2b/fs-e2b/lib/types/*"], - "@deepseek-ai/dsh-fs-e2b": ["../../../../deepseek-harness/packages/e2b/fs-e2b/lib/types/index.d.ts"], "@deepseek-ai/dsh-fs-local/*": ["../../../../deepseek-harness/packages/fs/fs-local/lib/types/*"], "@deepseek-ai/dsh-fs-local": ["../../../../deepseek-harness/packages/fs/fs-local/lib/types/index.d.ts"], "@deepseek-ai/dsh-fs-observation-policy/*": ["../../../../deepseek-harness/packages/fs/fs-observation-policy/lib/types/*"], "@deepseek-ai/dsh-fs-observation-policy": ["../../../../deepseek-harness/packages/fs/fs-observation-policy/lib/types/index.d.ts"], "@deepseek-ai/dsh-fs-sandbox/*": ["../../../../deepseek-harness/packages/fs/fs-sandbox/lib/types/*"], "@deepseek-ai/dsh-fs-sandbox": ["../../../../deepseek-harness/packages/fs/fs-sandbox/lib/types/index.d.ts"], + "@deepseek-ai/dsh-fs-ssh/*": ["../../../../deepseek-harness/packages/ssh/fs-ssh/lib/types/*"], + "@deepseek-ai/dsh-fs-ssh": ["../../../../deepseek-harness/packages/ssh/fs-ssh/lib/types/index.d.ts"], "@deepseek-ai/dsh-goal/*": ["../../../../deepseek-harness/packages/goal/goal/lib/types/*"], "@deepseek-ai/dsh-goal": ["../../../../deepseek-harness/packages/goal/goal/lib/types/index.d.ts"], "@deepseek-ai/dsh-goal-round-driver/*": ["../../../../deepseek-harness/packages/goal/goal-round-driver/lib/types/*"], "@deepseek-ai/dsh-goal-round-driver": ["../../../../deepseek-harness/packages/goal/goal-round-driver/lib/types/index.d.ts"], "@deepseek-ai/dsh-headless/*": ["../../../../deepseek-harness/packages/bundle/headless/lib/types/*"], "@deepseek-ai/dsh-headless": ["../../../../deepseek-harness/packages/bundle/headless/lib/types/index.d.ts"], + "@deepseek-ai/dsh-hmr/*": ["../../../../deepseek-harness/packages/boot/hmr/lib/types/*"], + "@deepseek-ai/dsh-hmr": ["../../../../deepseek-harness/packages/boot/hmr/lib/types/index.d.ts"], "@deepseek-ai/dsh-home-paths/*": ["../../../../deepseek-harness/packages/util/home-paths/lib/types/*"], "@deepseek-ai/dsh-home-paths": ["../../../../deepseek-harness/packages/util/home-paths/lib/types/index.d.ts"], "@deepseek-ai/dsh-hook-protocol/*": ["../../../../deepseek-harness/packages/hooks/hook-protocol/lib/types/*"], @@ -246,10 +292,14 @@ "@deepseek-ai/dsh-host-directory-picker-native": ["../../../../deepseek-harness/packages/host/directory-picker-native/lib/types/index.d.ts"], "@deepseek-ai/dsh-host-frontend-static/*": ["../../../../deepseek-harness/packages/host/frontend-static/lib/types/*"], "@deepseek-ai/dsh-host-frontend-static": ["../../../../deepseek-harness/packages/host/frontend-static/lib/types/index.d.ts"], + "@deepseek-ai/dsh-host-open-in-app/*": ["../../../../deepseek-harness/packages/host/open-in-app/lib/types/*"], + "@deepseek-ai/dsh-host-open-in-app": ["../../../../deepseek-harness/packages/host/open-in-app/lib/types/index.d.ts"], "@deepseek-ai/dsh-host-plugin-inventory/*": ["../../../../deepseek-harness/packages/host/plugin-inventory/lib/types/*"], "@deepseek-ai/dsh-host-plugin-inventory": ["../../../../deepseek-harness/packages/host/plugin-inventory/lib/types/index.d.ts"], "@deepseek-ai/dsh-host-webserver/*": ["../../../../deepseek-harness/packages/host/webserver/lib/types/*"], "@deepseek-ai/dsh-host-webserver": ["../../../../deepseek-harness/packages/host/webserver/lib/types/index.d.ts"], + "@deepseek-ai/dsh-http-proxy/*": ["../../../../deepseek-harness/packages/util/http-proxy/lib/types/*"], + "@deepseek-ai/dsh-http-proxy": ["../../../../deepseek-harness/packages/util/http-proxy/lib/types/index.d.ts"], "@deepseek-ai/dsh-invariants/*": ["../../../../deepseek-harness/packages/runtime-diagnostics/invariants/lib/types/*"], "@deepseek-ai/dsh-invariants": ["../../../../deepseek-harness/packages/runtime-diagnostics/invariants/lib/types/index.d.ts"], "@deepseek-ai/dsh-jobs/*": ["../../../../deepseek-harness/packages/jobs/jobs/lib/types/*"], @@ -258,6 +308,8 @@ "@deepseek-ai/dsh-jobs-local": ["../../../../deepseek-harness/packages/jobs/jobs-local/lib/types/index.d.ts"], "@deepseek-ai/dsh-launch-environment/*": ["../../../../deepseek-harness/packages/util/launch-environment/lib/types/*"], "@deepseek-ai/dsh-launch-environment": ["../../../../deepseek-harness/packages/util/launch-environment/lib/types/index.d.ts"], + "@deepseek-ai/dsh-lazy-require/*": ["../../../../deepseek-harness/packages/util/lazy-require/lib/types/*"], + "@deepseek-ai/dsh-lazy-require": ["../../../../deepseek-harness/packages/util/lazy-require/lib/types/index.d.ts"], "@deepseek-ai/dsh-llm/*": ["../../../../deepseek-harness/packages/llm/llm/lib/types/*"], "@deepseek-ai/dsh-llm": ["../../../../deepseek-harness/packages/llm/llm/lib/types/index.d.ts"], "@deepseek-ai/dsh-llm-deepseek/*": ["../../../../deepseek-harness/packages/llm/llm-deepseek/lib/types/*"], @@ -278,24 +330,38 @@ "@deepseek-ai/dsh-lsp-stdio": ["../../../../deepseek-harness/packages/lsp/lsp-stdio/lib/types/index.d.ts"], "@deepseek-ai/dsh-mcp-client/*": ["../../../../deepseek-harness/packages/mcp/mcp-client/lib/types/*"], "@deepseek-ai/dsh-mcp-client": ["../../../../deepseek-harness/packages/mcp/mcp-client/lib/types/index.d.ts"], + "@deepseek-ai/dsh-mcp-resources/*": ["../../../../deepseek-harness/packages/mcp/mcp-resources/lib/types/*"], + "@deepseek-ai/dsh-mcp-resources": ["../../../../deepseek-harness/packages/mcp/mcp-resources/lib/types/index.d.ts"], "@deepseek-ai/dsh-message-feedback/*": ["../../../../deepseek-harness/packages/feedback/message-feedback/lib/types/*"], "@deepseek-ai/dsh-message-feedback": ["../../../../deepseek-harness/packages/feedback/message-feedback/lib/types/index.d.ts"], "@deepseek-ai/dsh-native-command/*": ["../../../../deepseek-harness/packages/util/native-command/lib/types/*"], "@deepseek-ai/dsh-native-command": ["../../../../deepseek-harness/packages/util/native-command/lib/types/index.d.ts"], + "@deepseek-ai/dsh-office-to-pdf/*": ["../../../../deepseek-harness/packages/document/office-to-pdf/lib/types/*"], + "@deepseek-ai/dsh-office-to-pdf": ["../../../../deepseek-harness/packages/document/office-to-pdf/lib/types/index.d.ts"], "@deepseek-ai/dsh-output-retention/*": ["../../../../deepseek-harness/packages/util/output-retention/lib/types/*"], "@deepseek-ai/dsh-output-retention": ["../../../../deepseek-harness/packages/util/output-retention/lib/types/index.d.ts"], + "@deepseek-ai/dsh-package-manifest/*": ["../../../../deepseek-harness/packages/util/package-manifest/lib/types/*"], + "@deepseek-ai/dsh-package-manifest": ["../../../../deepseek-harness/packages/util/package-manifest/lib/types/index.d.ts"], "@deepseek-ai/dsh-permission-presets/*": ["../../../../deepseek-harness/packages/interaction/permission-presets/lib/types/*"], "@deepseek-ai/dsh-permission-presets": ["../../../../deepseek-harness/packages/interaction/permission-presets/lib/types/index.d.ts"], "@deepseek-ai/dsh-persona/*": ["../../../../deepseek-harness/packages/preset/persona/lib/types/*"], "@deepseek-ai/dsh-persona": ["../../../../deepseek-harness/packages/preset/persona/lib/types/index.d.ts"], "@deepseek-ai/dsh-plan-mode/*": ["../../../../deepseek-harness/packages/plan/plan-mode/lib/types/*"], "@deepseek-ai/dsh-plan-mode": ["../../../../deepseek-harness/packages/plan/plan-mode/lib/types/index.d.ts"], + "@deepseek-ai/dsh-plugin-manager/*": ["../../../../deepseek-harness/packages/boot/plugin-manager/lib/types/*"], + "@deepseek-ai/dsh-plugin-manager": ["../../../../deepseek-harness/packages/boot/plugin-manager/lib/types/index.d.ts"], "@deepseek-ai/dsh-plugin-package-inventory-deepseek/*": ["../../../../deepseek-harness/packages/llm/plugin-package-inventory-deepseek/lib/types/*"], "@deepseek-ai/dsh-plugin-package-inventory-deepseek": ["../../../../deepseek-harness/packages/llm/plugin-package-inventory-deepseek/lib/types/index.d.ts"], + "@deepseek-ai/dsh-ptc-runtime/*": ["../../../../deepseek-harness/packages/ptc-runtime/ptc-runtime/lib/types/*"], + "@deepseek-ai/dsh-ptc-runtime": ["../../../../deepseek-harness/packages/ptc-runtime/ptc-runtime/lib/types/index.d.ts"], + "@deepseek-ai/dsh-ptc-runtime-node/*": ["../../../../deepseek-harness/packages/ptc-runtime/ptc-runtime-node/lib/types/*"], + "@deepseek-ai/dsh-ptc-runtime-node": ["../../../../deepseek-harness/packages/ptc-runtime/ptc-runtime-node/lib/types/index.d.ts"], "@deepseek-ai/dsh-pwsh-local/*": ["../../../../deepseek-harness/packages/shell/pwsh-local/lib/types/*"], "@deepseek-ai/dsh-pwsh-local": ["../../../../deepseek-harness/packages/shell/pwsh-local/lib/types/index.d.ts"], "@deepseek-ai/dsh-pwsh-sandbox/*": ["../../../../deepseek-harness/packages/shell/pwsh-sandbox/lib/types/*"], "@deepseek-ai/dsh-pwsh-sandbox": ["../../../../deepseek-harness/packages/shell/pwsh-sandbox/lib/types/index.d.ts"], + "@deepseek-ai/dsh-remote-mock/*": ["../../../../deepseek-harness/packages/test-support/remote-mock/lib/types/*"], + "@deepseek-ai/dsh-remote-mock": ["../../../../deepseek-harness/packages/test-support/remote-mock/lib/types/index.d.ts"], "@deepseek-ai/dsh-repeat-tool-reminder/*": ["../../../../deepseek-harness/packages/guard/repeat-tool-reminder/lib/types/*"], "@deepseek-ai/dsh-repeat-tool-reminder": ["../../../../deepseek-harness/packages/guard/repeat-tool-reminder/lib/types/index.d.ts"], "@deepseek-ai/dsh-sandbox/*": ["../../../../deepseek-harness/packages/sandbox/sandbox/lib/types/*"], @@ -304,6 +370,8 @@ "@deepseek-ai/dsh-sandbox-local": ["../../../../deepseek-harness/packages/sandbox/sandbox-local/lib/types/index.d.ts"], "@deepseek-ai/dsh-sandbox-policy/*": ["../../../../deepseek-harness/packages/sandbox/sandbox-policy/lib/types/*"], "@deepseek-ai/dsh-sandbox-policy": ["../../../../deepseek-harness/packages/sandbox/sandbox-policy/lib/types/index.d.ts"], + "@deepseek-ai/dsh-sandbox-ssh/*": ["../../../../deepseek-harness/packages/ssh/sandbox-ssh/lib/types/*"], + "@deepseek-ai/dsh-sandbox-ssh": ["../../../../deepseek-harness/packages/ssh/sandbox-ssh/lib/types/index.d.ts"], "@deepseek-ai/dsh-sandbox-windows-acl/*": ["../../../../deepseek-harness/packages/sandbox/sandbox-windows-acl/lib/types/*"], "@deepseek-ai/dsh-sandbox-windows-acl": ["../../../../deepseek-harness/packages/sandbox/sandbox-windows-acl/lib/types/index.d.ts"], "@deepseek-ai/dsh-schedule/*": ["../../../../deepseek-harness/packages/schedule/schedule/lib/types/*"], @@ -324,6 +392,16 @@ "@deepseek-ai/dsh-session": ["../../../../deepseek-harness/packages/core/session/lib/types/index.d.ts"], "@deepseek-ai/dsh-session-checkpoint-policy/*": ["../../../../deepseek-harness/packages/session/session-checkpoint-policy/lib/types/*"], "@deepseek-ai/dsh-session-checkpoint-policy": ["../../../../deepseek-harness/packages/session/session-checkpoint-policy/lib/types/index.d.ts"], + "@deepseek-ai/dsh-session-format/*": ["../../../../deepseek-harness/packages/session/session-format/lib/types/*"], + "@deepseek-ai/dsh-session-format": ["../../../../deepseek-harness/packages/session/session-format/lib/types/index.d.ts"], + "@deepseek-ai/dsh-session-format-catalog/*": ["../../../../deepseek-harness/packages/session/session-format-catalog/lib/types/*"], + "@deepseek-ai/dsh-session-format-catalog": ["../../../../deepseek-harness/packages/session/session-format-catalog/lib/types/index.d.ts"], + "@deepseek-ai/dsh-session-format-v0-to-v1/*": ["../../../../deepseek-harness/packages/session/session-format-v0-to-v1/lib/types/*"], + "@deepseek-ai/dsh-session-format-v0-to-v1": ["../../../../deepseek-harness/packages/session/session-format-v0-to-v1/lib/types/index.d.ts"], + "@deepseek-ai/dsh-session-format-v1-to-v2/*": ["../../../../deepseek-harness/packages/session/session-format-v1-to-v2/lib/types/*"], + "@deepseek-ai/dsh-session-format-v1-to-v2": ["../../../../deepseek-harness/packages/session/session-format-v1-to-v2/lib/types/index.d.ts"], + "@deepseek-ai/dsh-session-format-v2-to-v3/*": ["../../../../deepseek-harness/packages/session/session-format-v2-to-v3/lib/types/*"], + "@deepseek-ai/dsh-session-format-v2-to-v3": ["../../../../deepseek-harness/packages/session/session-format-v2-to-v3/lib/types/index.d.ts"], "@deepseek-ai/dsh-session-log-deepseek/*": ["../../../../deepseek-harness/packages/session/session-log-deepseek/lib/types/*"], "@deepseek-ai/dsh-session-log-deepseek": ["../../../../deepseek-harness/packages/session/session-log-deepseek/lib/types/index.d.ts"], "@deepseek-ai/dsh-session-log-export/*": ["../../../../deepseek-harness/packages/session-query/session-log-export/lib/types/*"], @@ -332,8 +410,6 @@ "@deepseek-ai/dsh-session-persistence": ["../../../../deepseek-harness/packages/session/session-persistence/lib/types/index.d.ts"], "@deepseek-ai/dsh-session-persistence-jsonl/*": ["../../../../deepseek-harness/packages/session/session-persistence-jsonl/lib/types/*"], "@deepseek-ai/dsh-session-persistence-jsonl": ["../../../../deepseek-harness/packages/session/session-persistence-jsonl/lib/types/index.d.ts"], - "@deepseek-ai/dsh-session-persistence-sqlite/*": ["../../../../deepseek-harness/packages/session/session-persistence-sqlite/lib/types/*"], - "@deepseek-ai/dsh-session-persistence-sqlite": ["../../../../deepseek-harness/packages/session/session-persistence-sqlite/lib/types/index.d.ts"], "@deepseek-ai/dsh-session-projection/*": ["../../../../deepseek-harness/packages/session/session-projection/lib/types/*"], "@deepseek-ai/dsh-session-projection": ["../../../../deepseek-harness/packages/session/session-projection/lib/types/index.d.ts"], "@deepseek-ai/dsh-session-projection-cache/*": ["../../../../deepseek-harness/packages/session/session-projection-cache/lib/types/*"], @@ -360,6 +436,8 @@ "@deepseek-ai/dsh-session-title-first-prompt-llm": ["../../../../deepseek-harness/packages/session/session-title-first-prompt-llm/lib/types/index.d.ts"], "@deepseek-ai/dsh-session-title-llm/*": ["../../../../deepseek-harness/packages/session/session-title-llm/lib/types/*"], "@deepseek-ai/dsh-session-title-llm": ["../../../../deepseek-harness/packages/session/session-title-llm/lib/types/index.d.ts"], + "@deepseek-ai/dsh-session-turn-outline/*": ["../../../../deepseek-harness/packages/session/session-turn-outline/lib/types/*"], + "@deepseek-ai/dsh-session-turn-outline": ["../../../../deepseek-harness/packages/session/session-turn-outline/lib/types/index.d.ts"], "@deepseek-ai/dsh-settings/*": ["../../../../deepseek-harness/packages/settings/settings/lib/types/*"], "@deepseek-ai/dsh-settings": ["../../../../deepseek-harness/packages/settings/settings/lib/types/index.d.ts"], "@deepseek-ai/dsh-settings-file/*": ["../../../../deepseek-harness/packages/settings/settings-file/lib/types/*"], @@ -374,12 +452,16 @@ "@deepseek-ai/dsh-skill-badge": ["../../../../deepseek-harness/packages/skill/skill-badge/lib/types/index.d.ts"], "@deepseek-ai/dsh-skill-filesystem/*": ["../../../../deepseek-harness/packages/skill/skill-filesystem/lib/types/*"], "@deepseek-ai/dsh-skill-filesystem": ["../../../../deepseek-harness/packages/skill/skill-filesystem/lib/types/index.d.ts"], + "@deepseek-ai/dsh-skill-office/*": ["../../../../deepseek-harness/packages/skill/skill-office/lib/types/*"], + "@deepseek-ai/dsh-skill-office": ["../../../../deepseek-harness/packages/skill/skill-office/lib/types/index.d.ts"], "@deepseek-ai/dsh-spill/*": ["../../../../deepseek-harness/packages/spill/spill/lib/types/*"], "@deepseek-ai/dsh-spill": ["../../../../deepseek-harness/packages/spill/spill/lib/types/index.d.ts"], "@deepseek-ai/dsh-spill-local/*": ["../../../../deepseek-harness/packages/spill/spill-local/lib/types/*"], "@deepseek-ai/dsh-spill-local": ["../../../../deepseek-harness/packages/spill/spill-local/lib/types/index.d.ts"], "@deepseek-ai/dsh-spill-policy/*": ["../../../../deepseek-harness/packages/spill/spill-policy/lib/types/*"], "@deepseek-ai/dsh-spill-policy": ["../../../../deepseek-harness/packages/spill/spill-policy/lib/types/index.d.ts"], + "@deepseek-ai/dsh-ssh/*": ["../../../../deepseek-harness/packages/ssh/ssh/lib/types/*"], + "@deepseek-ai/dsh-ssh": ["../../../../deepseek-harness/packages/ssh/ssh/lib/types/index.d.ts"], "@deepseek-ai/dsh-storage/*": ["../../../../deepseek-harness/packages/storage/storage/lib/types/*"], "@deepseek-ai/dsh-storage": ["../../../../deepseek-harness/packages/storage/storage/lib/types/index.d.ts"], "@deepseek-ai/dsh-storage-domain/*": ["../../../../deepseek-harness/packages/storage/storage-domain/lib/types/*"], @@ -406,10 +488,10 @@ "@deepseek-ai/dsh-subagent-spawn-in-process": ["../../../../deepseek-harness/packages/subagent/subagent-spawn-in-process/lib/types/index.d.ts"], "@deepseek-ai/dsh-subprocess/*": ["../../../../deepseek-harness/packages/subprocess/subprocess/lib/types/*"], "@deepseek-ai/dsh-subprocess": ["../../../../deepseek-harness/packages/subprocess/subprocess/lib/types/index.d.ts"], - "@deepseek-ai/dsh-subprocess-e2b/*": ["../../../../deepseek-harness/packages/e2b/subprocess-e2b/lib/types/*"], - "@deepseek-ai/dsh-subprocess-e2b": ["../../../../deepseek-harness/packages/e2b/subprocess-e2b/lib/types/index.d.ts"], "@deepseek-ai/dsh-subprocess-local/*": ["../../../../deepseek-harness/packages/subprocess/subprocess-local/lib/types/*"], "@deepseek-ai/dsh-subprocess-local": ["../../../../deepseek-harness/packages/subprocess/subprocess-local/lib/types/index.d.ts"], + "@deepseek-ai/dsh-subprocess-ssh/*": ["../../../../deepseek-harness/packages/ssh/subprocess-ssh/lib/types/*"], + "@deepseek-ai/dsh-subprocess-ssh": ["../../../../deepseek-harness/packages/ssh/subprocess-ssh/lib/types/index.d.ts"], "@deepseek-ai/dsh-system-prompt/*": ["../../../../deepseek-harness/packages/core/system-prompt/lib/types/*"], "@deepseek-ai/dsh-system-prompt": ["../../../../deepseek-harness/packages/core/system-prompt/lib/types/index.d.ts"], "@deepseek-ai/dsh-terminal/*": ["../../../../deepseek-harness/packages/terminal/terminal/lib/types/*"], @@ -444,6 +526,8 @@ "@deepseek-ai/dsh-tool-jobs": ["../../../../deepseek-harness/packages/jobs/tool-jobs/lib/types/index.d.ts"], "@deepseek-ai/dsh-tool-lsp/*": ["../../../../deepseek-harness/packages/lsp/tool-lsp/lib/types/*"], "@deepseek-ai/dsh-tool-lsp": ["../../../../deepseek-harness/packages/lsp/tool-lsp/lib/types/index.d.ts"], + "@deepseek-ai/dsh-tool-present/*": ["../../../../deepseek-harness/packages/deliverables/tool-present/lib/types/*"], + "@deepseek-ai/dsh-tool-present": ["../../../../deepseek-harness/packages/deliverables/tool-present/lib/types/index.d.ts"], "@deepseek-ai/dsh-tool-pwsh/*": ["../../../../deepseek-harness/packages/shell/tool-pwsh/lib/types/*"], "@deepseek-ai/dsh-tool-pwsh": ["../../../../deepseek-harness/packages/shell/tool-pwsh/lib/types/index.d.ts"], "@deepseek-ai/dsh-tool-pwsh-persistent/*": ["../../../../deepseek-harness/packages/shell/tool-pwsh-persistent/lib/types/*"], @@ -460,8 +544,6 @@ "@deepseek-ai/dsh-tool-subagent": ["../../../../deepseek-harness/packages/subagent/tool-subagent/lib/types/index.d.ts"], "@deepseek-ai/dsh-tool-subagent-control/*": ["../../../../deepseek-harness/packages/subagent/tool-subagent-control/lib/types/*"], "@deepseek-ai/dsh-tool-subagent-control": ["../../../../deepseek-harness/packages/subagent/tool-subagent-control/lib/types/index.d.ts"], - "@deepseek-ai/dsh-tool-subagent-report/*": ["../../../../deepseek-harness/packages/subagent/tool-subagent-report/lib/types/*"], - "@deepseek-ai/dsh-tool-subagent-report": ["../../../../deepseek-harness/packages/subagent/tool-subagent-report/lib/types/index.d.ts"], "@deepseek-ai/dsh-tool-terminal/*": ["../../../../deepseek-harness/packages/terminal/tool-terminal/lib/types/*"], "@deepseek-ai/dsh-tool-terminal": ["../../../../deepseek-harness/packages/terminal/tool-terminal/lib/types/index.d.ts"], "@deepseek-ai/dsh-tool-todo/*": ["../../../../deepseek-harness/packages/todo/tool-todo/lib/types/*"], @@ -486,6 +568,10 @@ "@deepseek-ai/dsh-user-questions": ["../../../../deepseek-harness/packages/interaction/user-questions/lib/types/index.d.ts"], "@deepseek-ai/dsh-util-crypto/*": ["../../../../deepseek-harness/packages/util/crypto/lib/types/*"], "@deepseek-ai/dsh-util-crypto": ["../../../../deepseek-harness/packages/util/crypto/lib/types/index.d.ts"], + "@deepseek-ai/dsh-util-time/*": ["../../../../deepseek-harness/packages/util/time/lib/types/*"], + "@deepseek-ai/dsh-util-time": ["../../../../deepseek-harness/packages/util/time/lib/types/index.d.ts"], + "@deepseek-ai/dsh-util-values/*": ["../../../../deepseek-harness/packages/util/values/lib/types/*"], + "@deepseek-ai/dsh-util-values": ["../../../../deepseek-harness/packages/util/values/lib/types/index.d.ts"], "@deepseek-ai/dsh-util-workspace-path/*": ["../../../../deepseek-harness/packages/util/workspace-path/lib/types/*"], "@deepseek-ai/dsh-util-workspace-path": ["../../../../deepseek-harness/packages/util/workspace-path/lib/types/index.d.ts"], "@deepseek-ai/dsh-web/*": ["../../../../deepseek-harness/packages/web/web/lib/types/*"], @@ -508,10 +594,12 @@ "@deepseek-ai/dsh-win32-process": ["../../../../deepseek-harness/packages/subprocess/win32-process/lib/types/index.d.ts"], "@deepseek-ai/dsh-workflow/*": ["../../../../deepseek-harness/packages/workflow/workflow/lib/types/*"], "@deepseek-ai/dsh-workflow": ["../../../../deepseek-harness/packages/workflow/workflow/lib/types/index.d.ts"], - "@deepseek-ai/dsh-workflow-worker-thread/*": ["../../../../deepseek-harness/packages/workflow/workflow-worker-thread/lib/types/*"], - "@deepseek-ai/dsh-workflow-worker-thread": ["../../../../deepseek-harness/packages/workflow/workflow-worker-thread/lib/types/index.d.ts"], + "@deepseek-ai/dsh-workflow-ptc/*": ["../../../../deepseek-harness/packages/workflow/workflow-ptc/lib/types/*"], + "@deepseek-ai/dsh-workflow-ptc": ["../../../../deepseek-harness/packages/workflow/workflow-ptc/lib/types/index.d.ts"], "@deepseek-ai/dsh-workspace/*": ["../../../../deepseek-harness/packages/workspace/workspace/lib/types/*"], "@deepseek-ai/dsh-workspace": ["../../../../deepseek-harness/packages/workspace/workspace/lib/types/index.d.ts"], + "@deepseek-ai/dsh-workspace-changes/*": ["../../../../deepseek-harness/packages/deliverables/workspace-changes/lib/types/*"], + "@deepseek-ai/dsh-workspace-changes": ["../../../../deepseek-harness/packages/deliverables/workspace-changes/lib/types/index.d.ts"], "@deepseek-ai/schemastery/*": ["../../../../deepseek-harness/vendor/schemastery/lib/types/*"], "@deepseek-ai/schemastery": ["../../../../deepseek-harness/vendor/schemastery/lib/types/index.d.ts"], "zod": ["./node_modules/zod"] diff --git a/vitest.aliases.mjs b/vitest.aliases.mjs index 1b8b954..f3a4982 100644 --- a/vitest.aliases.mjs +++ b/vitest.aliases.mjs @@ -18,10 +18,8 @@ export const aliases = [ { find: /^@deepseek-ai\/cosmokit$/, replacement: "D:/deepseek-harness/vendor/cosmokit/lib/index.js" }, { find: /^@deepseek-ai\/cosmokit\/package\.json$/, replacement: "D:/deepseek-harness/vendor/cosmokit/package.json" }, { find: /^@deepseek-ai\/dsh-acp$/, replacement: "D:/deepseek-harness/packages/acp/acp/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-acp\/invariant$/, replacement: "D:/deepseek-harness/packages/acp/acp/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-acp\/package\.json$/, replacement: "D:/deepseek-harness/packages/acp/acp/package.json" }, { find: /^@deepseek-ai\/dsh-acp-app$/, replacement: "D:/deepseek-harness/packages/bundle/acp-app/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-acp-app\/invariant$/, replacement: "D:/deepseek-harness/packages/bundle/acp-app/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-acp-app\/cordis\.patch\.yml$/, replacement: "D:/deepseek-harness/packages/bundle/acp-app/cordis.patch.yml" }, { find: /^@deepseek-ai\/dsh-acp-app\/package\.json$/, replacement: "D:/deepseek-harness/packages/bundle/acp-app/package.json" }, { find: /^@deepseek-ai\/dsh-agent$/, replacement: "D:/deepseek-harness/packages/core/agent/lib/index.js" }, @@ -29,44 +27,34 @@ export const aliases = [ { find: /^@deepseek-ai\/dsh-agent\/types$/, replacement: "D:/deepseek-harness/packages/core/agent/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-agent\/package\.json$/, replacement: "D:/deepseek-harness/packages/core/agent/package.json" }, { find: /^@deepseek-ai\/dsh-agent-default-model$/, replacement: "D:/deepseek-harness/packages/core/agent-default-model/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-agent-default-model\/invariant$/, replacement: "D:/deepseek-harness/packages/core/agent-default-model/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-agent-default-model\/package\.json$/, replacement: "D:/deepseek-harness/packages/core/agent-default-model/package.json" }, { find: /^@deepseek-ai\/dsh-agent-instructions$/, replacement: "D:/deepseek-harness/packages/context/agent-instructions/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-agent-instructions\/invariant$/, replacement: "D:/deepseek-harness/packages/context/agent-instructions/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-agent-instructions\/package\.json$/, replacement: "D:/deepseek-harness/packages/context/agent-instructions/package.json" }, { find: /^@deepseek-ai\/dsh-agent-loop$/, replacement: "D:/deepseek-harness/packages/core/agent-loop/lib/index.js" }, { find: /^@deepseek-ai\/dsh-agent-loop\/invariant$/, replacement: "D:/deepseek-harness/packages/core/agent-loop/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-agent-loop\/package\.json$/, replacement: "D:/deepseek-harness/packages/core/agent-loop/package.json" }, { find: /^@deepseek-ai\/dsh-agent-loop-testkit$/, replacement: "D:/deepseek-harness/packages/test-support/agent-loop-testkit/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-agent-loop-testkit\/invariant$/, replacement: "D:/deepseek-harness/packages/test-support/agent-loop-testkit/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-agent-loop-testkit\/package\.json$/, replacement: "D:/deepseek-harness/packages/test-support/agent-loop-testkit/package.json" }, { find: /^@deepseek-ai\/dsh-agent-presets$/, replacement: "D:/deepseek-harness/packages/preset/agent-presets/lib/index.js" }, { find: /^@deepseek-ai\/dsh-agent-presets\/invariant$/, replacement: "D:/deepseek-harness/packages/preset/agent-presets/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-agent-presets\/types$/, replacement: "D:/deepseek-harness/packages/preset/agent-presets/lib/types/types.js" }, + { find: /^@deepseek-ai\/dsh-agent-presets\/display$/, replacement: "D:/deepseek-harness/packages/preset/agent-presets/lib/types/display.js" }, { find: /^@deepseek-ai\/dsh-agent-presets\/typert$/, replacement: "D:/deepseek-harness/packages/preset/agent-presets/lib/typert.host.js" }, { find: /^@deepseek-ai\/dsh-agent-presets\/remote$/, replacement: "D:/deepseek-harness/packages/preset/agent-presets/lib/typert.remote-client.js" }, { find: /^@deepseek-ai\/dsh-agent-presets\/package\.json$/, replacement: "D:/deepseek-harness/packages/preset/agent-presets/package.json" }, - { find: /^@deepseek-ai\/dsh-agent-spine-demo$/, replacement: "D:/deepseek-harness/packages/examples/agent-spine-demo/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-agent-spine-demo\/invariant$/, replacement: "D:/deepseek-harness/packages/examples/agent-spine-demo/lib/invariant.js" }, - { find: /^@deepseek-ai\/dsh-agent-spine-demo\/package\.json$/, replacement: "D:/deepseek-harness/packages/examples/agent-spine-demo/package.json" }, { find: /^@deepseek-ai\/dsh-agent-tool-presentation$/, replacement: "D:/deepseek-harness/packages/core/agent-tool-presentation/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-agent-tool-presentation\/invariant$/, replacement: "D:/deepseek-harness/packages/core/agent-tool-presentation/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-agent-tool-presentation\/package\.json$/, replacement: "D:/deepseek-harness/packages/core/agent-tool-presentation/package.json" }, { find: /^@deepseek-ai\/dsh-anonymous-user-id$/, replacement: "D:/deepseek-harness/packages/identity/anonymous-user-id/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-anonymous-user-id\/invariant$/, replacement: "D:/deepseek-harness/packages/identity/anonymous-user-id/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-anonymous-user-id\/package\.json$/, replacement: "D:/deepseek-harness/packages/identity/anonymous-user-id/package.json" }, { find: /^@deepseek-ai\/dsh-api-gateway$/, replacement: "D:/deepseek-harness/packages/api/gateway/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-api-gateway\/invariant$/, replacement: "D:/deepseek-harness/packages/api/gateway/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-api-gateway\/client$/, replacement: "D:/deepseek-harness/packages/api/gateway/lib/client.js" }, { find: /^@deepseek-ai\/dsh-api-gateway\/types$/, replacement: "D:/deepseek-harness/packages/api/gateway/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-api-gateway\/package\.json$/, replacement: "D:/deepseek-harness/packages/api/gateway/package.json" }, { find: /^@deepseek-ai\/dsh-api-remotes$/, replacement: "D:/deepseek-harness/packages/api/remotes/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-api-remotes\/invariant$/, replacement: "D:/deepseek-harness/packages/api/remotes/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-api-remotes\/client$/, replacement: "D:/deepseek-harness/packages/api/remotes/lib/client.js" }, { find: /^@deepseek-ai\/dsh-api-remotes\/types$/, replacement: "D:/deepseek-harness/packages/api/remotes/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-api-remotes\/package\.json$/, replacement: "D:/deepseek-harness/packages/api/remotes/package.json" }, { find: /^@deepseek-ai\/dsh-api-session-controller$/, replacement: "D:/deepseek-harness/packages/api/session-controller/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-api-session-controller\/invariant$/, replacement: "D:/deepseek-harness/packages/api/session-controller/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-api-session-controller\/types$/, replacement: "D:/deepseek-harness/packages/api/session-controller/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-api-session-controller\/remote-events$/, replacement: "D:/deepseek-harness/packages/api/session-controller/lib/types/remote-events.js" }, { find: /^@deepseek-ai\/dsh-api-session-controller\/client$/, replacement: "D:/deepseek-harness/packages/api/session-controller/lib/client.js" }, @@ -74,244 +62,238 @@ export const aliases = [ { find: /^@deepseek-ai\/dsh-api-session-controller\/remote$/, replacement: "D:/deepseek-harness/packages/api/session-controller/lib/typert.remote-client.js" }, { find: /^@deepseek-ai\/dsh-api-session-controller\/package\.json$/, replacement: "D:/deepseek-harness/packages/api/session-controller/package.json" }, { find: /^@deepseek-ai\/dsh-api-settings-controller$/, replacement: "D:/deepseek-harness/packages/api/settings-controller/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-api-settings-controller\/invariant$/, replacement: "D:/deepseek-harness/packages/api/settings-controller/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-api-settings-controller\/types$/, replacement: "D:/deepseek-harness/packages/api/settings-controller/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-api-settings-controller\/typert$/, replacement: "D:/deepseek-harness/packages/api/settings-controller/lib/typert.host.js" }, { find: /^@deepseek-ai\/dsh-api-settings-controller\/remote$/, replacement: "D:/deepseek-harness/packages/api/settings-controller/lib/typert.remote-client.js" }, { find: /^@deepseek-ai\/dsh-api-settings-controller\/package\.json$/, replacement: "D:/deepseek-harness/packages/api/settings-controller/package.json" }, + { find: /^@deepseek-ai\/dsh-api-terminal-controller$/, replacement: "D:/deepseek-harness/packages/api/terminal-controller/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-api-terminal-controller\/types$/, replacement: "D:/deepseek-harness/packages/api/terminal-controller/lib/types/types.js" }, + { find: /^@deepseek-ai\/dsh-api-terminal-controller\/client$/, replacement: "D:/deepseek-harness/packages/api/terminal-controller/lib/client.js" }, + { find: /^@deepseek-ai\/dsh-api-terminal-controller\/typert$/, replacement: "D:/deepseek-harness/packages/api/terminal-controller/lib/typert.host.js" }, + { find: /^@deepseek-ai\/dsh-api-terminal-controller\/remote$/, replacement: "D:/deepseek-harness/packages/api/terminal-controller/lib/typert.remote-client.js" }, + { find: /^@deepseek-ai\/dsh-api-terminal-controller\/package\.json$/, replacement: "D:/deepseek-harness/packages/api/terminal-controller/package.json" }, { find: /^@deepseek-ai\/dsh-api-workspace-controller$/, replacement: "D:/deepseek-harness/packages/api/workspace-controller/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-api-workspace-controller\/invariant$/, replacement: "D:/deepseek-harness/packages/api/workspace-controller/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-api-workspace-controller\/types$/, replacement: "D:/deepseek-harness/packages/api/workspace-controller/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-api-workspace-controller\/client$/, replacement: "D:/deepseek-harness/packages/api/workspace-controller/lib/client.js" }, { find: /^@deepseek-ai\/dsh-api-workspace-controller\/typert$/, replacement: "D:/deepseek-harness/packages/api/workspace-controller/lib/typert.host.js" }, { find: /^@deepseek-ai\/dsh-api-workspace-controller\/remote$/, replacement: "D:/deepseek-harness/packages/api/workspace-controller/lib/typert.remote-client.js" }, { find: /^@deepseek-ai\/dsh-api-workspace-controller\/package\.json$/, replacement: "D:/deepseek-harness/packages/api/workspace-controller/package.json" }, + { find: /^@deepseek-ai\/dsh-api-workspace-files$/, replacement: "D:/deepseek-harness/packages/api/workspace-files/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-api-workspace-files\/types$/, replacement: "D:/deepseek-harness/packages/api/workspace-files/lib/types/types.js" }, + { find: /^@deepseek-ai\/dsh-api-workspace-files\/client$/, replacement: "D:/deepseek-harness/packages/api/workspace-files/lib/client.js" }, + { find: /^@deepseek-ai\/dsh-api-workspace-files\/typert$/, replacement: "D:/deepseek-harness/packages/api/workspace-files/lib/typert.host.js" }, + { find: /^@deepseek-ai\/dsh-api-workspace-files\/remote$/, replacement: "D:/deepseek-harness/packages/api/workspace-files/lib/typert.remote-client.js" }, + { find: /^@deepseek-ai\/dsh-api-workspace-files\/package\.json$/, replacement: "D:/deepseek-harness/packages/api/workspace-files/package.json" }, { find: /^@deepseek-ai\/dsh-app-boot$/, replacement: "D:/deepseek-harness/packages/boot/app-boot/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-app-boot\/invariant$/, replacement: "D:/deepseek-harness/packages/boot/app-boot/lib/invariant.js" }, + { find: /^@deepseek-ai\/dsh-app-boot\/worker\/profile-resolution-bootstrap$/, replacement: "D:/deepseek-harness/packages/boot/app-boot/lib/worker/profile-resolution-bootstrap.js" }, { find: /^@deepseek-ai\/dsh-app-boot\/package\.json$/, replacement: "D:/deepseek-harness/packages/boot/app-boot/package.json" }, { find: /^@deepseek-ai\/dsh-atomic-write$/, replacement: "D:/deepseek-harness/packages/util/atomic-write/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-atomic-write\/invariant$/, replacement: "D:/deepseek-harness/packages/util/atomic-write/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-atomic-write\/package\.json$/, replacement: "D:/deepseek-harness/packages/util/atomic-write/package.json" }, { find: /^@deepseek-ai\/dsh-attachment$/, replacement: "D:/deepseek-harness/packages/attachment/attachment/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-attachment\/invariant$/, replacement: "D:/deepseek-harness/packages/attachment/attachment/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-attachment\/types$/, replacement: "D:/deepseek-harness/packages/attachment/attachment/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-attachment\/package\.json$/, replacement: "D:/deepseek-harness/packages/attachment/attachment/package.json" }, { find: /^@deepseek-ai\/dsh-attachment-local$/, replacement: "D:/deepseek-harness/packages/attachment/attachment-local/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-attachment-local\/invariant$/, replacement: "D:/deepseek-harness/packages/attachment/attachment-local/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-attachment-local\/package\.json$/, replacement: "D:/deepseek-harness/packages/attachment/attachment-local/package.json" }, { find: /^@deepseek-ai\/dsh-authorization$/, replacement: "D:/deepseek-harness/packages/credentials/authorization/lib/index.js" }, { find: /^@deepseek-ai\/dsh-authorization\/invariant$/, replacement: "D:/deepseek-harness/packages/credentials/authorization/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-authorization\/types$/, replacement: "D:/deepseek-harness/packages/credentials/authorization/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-authorization\/package\.json$/, replacement: "D:/deepseek-harness/packages/credentials/authorization/package.json" }, { find: /^@deepseek-ai\/dsh-base$/, replacement: "D:/deepseek-harness/packages/bundle/base/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-base\/invariant$/, replacement: "D:/deepseek-harness/packages/bundle/base/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-base\/cordis\.patch\.yml$/, replacement: "D:/deepseek-harness/packages/bundle/base/cordis.patch.yml" }, { find: /^@deepseek-ai\/dsh-base\/package\.json$/, replacement: "D:/deepseek-harness/packages/bundle/base/package.json" }, { find: /^@deepseek-ai\/dsh-bash-local$/, replacement: "D:/deepseek-harness/packages/shell/bash-local/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-bash-local\/invariant$/, replacement: "D:/deepseek-harness/packages/shell/bash-local/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-bash-local\/package\.json$/, replacement: "D:/deepseek-harness/packages/shell/bash-local/package.json" }, { find: /^@deepseek-ai\/dsh-bash-sandbox$/, replacement: "D:/deepseek-harness/packages/shell/bash-sandbox/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-bash-sandbox\/invariant$/, replacement: "D:/deepseek-harness/packages/shell/bash-sandbox/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-bash-sandbox\/package\.json$/, replacement: "D:/deepseek-harness/packages/shell/bash-sandbox/package.json" }, { find: /^@deepseek-ai\/dsh-brand$/, replacement: "D:/deepseek-harness/packages/util/brand/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-brand\/invariant$/, replacement: "D:/deepseek-harness/packages/util/brand/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-brand\/package\.json$/, replacement: "D:/deepseek-harness/packages/util/brand/package.json" }, + { find: /^@deepseek-ai\/dsh-browser-use$/, replacement: "D:/deepseek-harness/packages/browser-use/browser-use/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-browser-use\/package\.json$/, replacement: "D:/deepseek-harness/packages/browser-use/browser-use/package.json" }, + { find: /^@deepseek-ai\/dsh-browser-use\/brand$/, replacement: "D:/deepseek-harness/packages/browser-use/browser-use/lib/types/brand.js" }, + { find: /^@deepseek-ai\/dsh-chunked-list$/, replacement: "D:/deepseek-harness/packages/util/chunked-list/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-chunked-list\/package\.json$/, replacement: "D:/deepseek-harness/packages/util/chunked-list/package.json" }, { find: /^@deepseek-ai\/dsh-client-connection$/, replacement: "D:/deepseek-harness/packages/client/connection/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-connection\/invariant$/, replacement: "D:/deepseek-harness/packages/client/connection/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-connection\/client$/, replacement: "D:/deepseek-harness/packages/client/connection/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-connection\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/connection/package.json" }, + { find: /^@deepseek-ai\/dsh-client-file-upload$/, replacement: "D:/deepseek-harness/packages/client/file-upload/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-client-file-upload\/client$/, replacement: "D:/deepseek-harness/packages/client/file-upload/lib/client.js" }, + { find: /^@deepseek-ai\/dsh-client-file-upload\/types$/, replacement: "D:/deepseek-harness/packages/client/file-upload/lib/types/types.js" }, + { find: /^@deepseek-ai\/dsh-client-file-upload\/typert$/, replacement: "D:/deepseek-harness/packages/client/file-upload/lib/typert.host.js" }, + { find: /^@deepseek-ai\/dsh-client-file-upload\/remote$/, replacement: "D:/deepseek-harness/packages/client/file-upload/lib/typert.remote-client.js" }, + { find: /^@deepseek-ai\/dsh-client-file-upload\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/file-upload/package.json" }, { find: /^@deepseek-ai\/dsh-client-hmr$/, replacement: "D:/deepseek-harness/packages/client/hmr/lib/index.js" }, { find: /^@deepseek-ai\/dsh-client-hmr\/invariant$/, replacement: "D:/deepseek-harness/packages/client/hmr/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-hmr\/client$/, replacement: "D:/deepseek-harness/packages/client/hmr/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-hmr\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/hmr/package.json" }, { find: /^@deepseek-ai\/dsh-client-locale$/, replacement: "D:/deepseek-harness/packages/client/locale/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-locale\/invariant$/, replacement: "D:/deepseek-harness/packages/client/locale/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-locale\/client$/, replacement: "D:/deepseek-harness/packages/client/locale/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-locale\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/locale/package.json" }, { find: /^@deepseek-ai\/dsh-client-modules$/, replacement: "D:/deepseek-harness/packages/client/modules/lib/index.js" }, { find: /^@deepseek-ai\/dsh-client-modules\/client$/, replacement: "D:/deepseek-harness/packages/client/modules/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-modules\/invariant$/, replacement: "D:/deepseek-harness/packages/client/modules/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-modules\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/modules/package.json" }, + { find: /^@deepseek-ai\/dsh-client-resources$/, replacement: "D:/deepseek-harness/packages/client/resources/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-client-resources\/client$/, replacement: "D:/deepseek-harness/packages/client/resources/lib/client.js" }, + { find: /^@deepseek-ai\/dsh-client-resources\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/resources/package.json" }, { find: /^@deepseek-ai\/dsh-client-store$/, replacement: "D:/deepseek-harness/packages/client/store/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-store\/invariant$/, replacement: "D:/deepseek-harness/packages/client/store/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-store\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/store/package.json" }, { find: /^@deepseek-ai\/dsh-client-test-runtime$/, replacement: "D:/deepseek-harness/packages/test-support/client-runtime/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-test-runtime\/invariant$/, replacement: "D:/deepseek-harness/packages/test-support/client-runtime/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-test-runtime\/package\.json$/, replacement: "D:/deepseek-harness/packages/test-support/client-runtime/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-agent-preset$/, replacement: "D:/deepseek-harness/packages/client/ui-agent-preset/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-agent-preset\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-agent-preset/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-agent-preset\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-agent-preset/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-agent-preset\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-agent-preset/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-approval$/, replacement: "D:/deepseek-harness/packages/client/ui-approval/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-approval\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-approval/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-approval\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-approval/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-approval\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-approval/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-attachment$/, replacement: "D:/deepseek-harness/packages/client/ui-attachment/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-attachment\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-attachment/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-attachment\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-attachment/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-attachment\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-attachment/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-brand-official$/, replacement: "D:/deepseek-harness/packages/client/ui-brand-official/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-brand-official\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-brand-official/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-brand-official\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-brand-official/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-brand-official\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-brand-official/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-chat$/, replacement: "D:/deepseek-harness/packages/client/ui-chat/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-chat\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-chat/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-chat\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-chat/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-chat\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-chat/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-commands$/, replacement: "D:/deepseek-harness/packages/client/ui-commands/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-commands\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-commands/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-commands\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-commands/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-commands\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-commands/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-conversation$/, replacement: "D:/deepseek-harness/packages/client/ui-conversation/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-conversation\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-conversation/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-conversation\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-conversation/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-conversation\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-conversation/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-cordis$/, replacement: "D:/deepseek-harness/packages/extensions/ui-cordis/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-cordis\/invariant$/, replacement: "D:/deepseek-harness/packages/extensions/ui-cordis/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-cordis\/client$/, replacement: "D:/deepseek-harness/packages/extensions/ui-cordis/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-cordis\/package\.json$/, replacement: "D:/deepseek-harness/packages/extensions/ui-cordis/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-deliverables$/, replacement: "D:/deepseek-harness/packages/client/ui-deliverables/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-deliverables\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-deliverables/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-deliverables\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-deliverables/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-deliverables\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-deliverables/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-directory-picker-browse$/, replacement: "D:/deepseek-harness/packages/client/ui-directory-picker-browse/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-directory-picker-browse\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-directory-picker-browse/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-directory-picker-browse\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-directory-picker-browse/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-directory-picker-browse\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-directory-picker-browse/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-directory-picker-native$/, replacement: "D:/deepseek-harness/packages/client/ui-directory-picker-native/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-directory-picker-native\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-directory-picker-native/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-directory-picker-native\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-directory-picker-native/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-directory-picker-native\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-directory-picker-native/package.json" }, + { find: /^@deepseek-ai\/dsh-client-ui-dockkit$/, replacement: "D:/deepseek-harness/packages/client/ui-dockkit/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-client-ui-dockkit\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-dockkit/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-goal$/, replacement: "D:/deepseek-harness/packages/client/ui-goal/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-goal\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-goal/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-goal\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-goal/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-goal\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-goal/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-input-trigger$/, replacement: "D:/deepseek-harness/packages/client/ui-input-trigger/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-input-trigger\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-input-trigger/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-input-trigger\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-input-trigger/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-input-trigger\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-input-trigger/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-jobs$/, replacement: "D:/deepseek-harness/packages/client/ui-jobs/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-jobs\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-jobs/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-jobs\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-jobs/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-jobs\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-jobs/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-layout$/, replacement: "D:/deepseek-harness/packages/client/ui-layout/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-layout\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-layout/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-layout\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-layout/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-layout\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-layout/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-message-feedback$/, replacement: "D:/deepseek-harness/packages/client/ui-message-feedback/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-message-feedback\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-message-feedback/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-message-feedback\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-message-feedback/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-message-feedback\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-message-feedback/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-model-selection$/, replacement: "D:/deepseek-harness/packages/client/ui-model-selection/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-model-selection\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-model-selection/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-model-selection\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-model-selection/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-model-selection\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-model-selection/package.json" }, + { find: /^@deepseek-ai\/dsh-client-ui-open-in-app$/, replacement: "D:/deepseek-harness/packages/client/ui-open-in-app/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-client-ui-open-in-app\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-open-in-app/lib/client.js" }, + { find: /^@deepseek-ai\/dsh-client-ui-open-in-app\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-open-in-app/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-permission-presets$/, replacement: "D:/deepseek-harness/packages/client/ui-permission-presets/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-permission-presets\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-permission-presets/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-permission-presets\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-permission-presets/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-permission-presets\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-permission-presets/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-plan$/, replacement: "D:/deepseek-harness/packages/client/ui-plan/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-plan\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-plan/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-plan\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-plan/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-plan\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-plan/package.json" }, + { find: /^@deepseek-ai\/dsh-client-ui-plugin-manager$/, replacement: "D:/deepseek-harness/packages/client/ui-plugin-manager/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-client-ui-plugin-manager\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-plugin-manager/lib/client.js" }, + { find: /^@deepseek-ai\/dsh-client-ui-plugin-manager\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-plugin-manager/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-primitives$/, replacement: "D:/deepseek-harness/packages/client/ui-primitives/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-primitives\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-primitives/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-primitives\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-primitives/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-reference$/, replacement: "D:/deepseek-harness/packages/client/ui-reference/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-reference\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-reference/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-reference\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-reference/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-reference\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-reference/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-renderer$/, replacement: "D:/deepseek-harness/packages/client/ui-renderer/lib/index.js" }, { find: /^@deepseek-ai\/dsh-client-ui-renderer\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-renderer/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-renderer\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-renderer/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-renderer\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-renderer/package.json" }, + { find: /^@deepseek-ai\/dsh-client-ui-schedule$/, replacement: "D:/deepseek-harness/packages/client/ui-schedule/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-client-ui-schedule\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-schedule/lib/client.js" }, + { find: /^@deepseek-ai\/dsh-client-ui-schedule\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-schedule/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-session$/, replacement: "D:/deepseek-harness/packages/client/ui-session/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-session\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-session/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-session\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-session/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-session\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-session/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-settings$/, replacement: "D:/deepseek-harness/packages/client/ui-settings/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-settings\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-settings/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-settings\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-settings/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-settings\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-settings/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-settings-general$/, replacement: "D:/deepseek-harness/packages/client/ui-settings-general/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-settings-general\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-settings-general/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-settings-general\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-settings-general/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-settings-general\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-settings-general/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-settings-models$/, replacement: "D:/deepseek-harness/packages/client/ui-settings-models/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-settings-models\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-settings-models/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-settings-models\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-settings-models/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-settings-models\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-settings-models/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-settings-plugin-inventory$/, replacement: "D:/deepseek-harness/packages/client/ui-settings-plugin-inventory/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-settings-plugin-inventory\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-settings-plugin-inventory/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-settings-plugin-inventory\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-settings-plugin-inventory/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-settings-plugin-inventory\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-settings-plugin-inventory/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-settings-plugins$/, replacement: "D:/deepseek-harness/packages/client/ui-settings-plugins/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-settings-plugins\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-settings-plugins/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-settings-plugins\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-settings-plugins/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-settings-plugins\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-settings-plugins/package.json" }, + { find: /^@deepseek-ai\/dsh-client-ui-settings-unarchive-sessions$/, replacement: "D:/deepseek-harness/packages/client/ui-settings-unarchive-sessions/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-client-ui-settings-unarchive-sessions\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-settings-unarchive-sessions/lib/client.js" }, + { find: /^@deepseek-ai\/dsh-client-ui-settings-unarchive-sessions\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-settings-unarchive-sessions/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-sidebar$/, replacement: "D:/deepseek-harness/packages/client/ui-sidebar/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-sidebar\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-sidebar/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-sidebar\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-sidebar/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-sidebar\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-sidebar/package.json" }, + { find: /^@deepseek-ai\/dsh-client-ui-sidebar-browser$/, replacement: "D:/deepseek-harness/packages/client/ui-sidebar-browser/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-client-ui-sidebar-browser\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-sidebar-browser/lib/client.js" }, + { find: /^@deepseek-ai\/dsh-client-ui-sidebar-browser\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-sidebar-browser/package.json" }, + { find: /^@deepseek-ai\/dsh-client-ui-sidebar-documentpreview$/, replacement: "D:/deepseek-harness/packages/client/ui-sidebar-documentpreview/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-client-ui-sidebar-documentpreview\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-sidebar-documentpreview/lib/client.js" }, + { find: /^@deepseek-ai\/dsh-client-ui-sidebar-documentpreview\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-sidebar-documentpreview/package.json" }, + { find: /^@deepseek-ai\/dsh-client-ui-sidebar-files$/, replacement: "D:/deepseek-harness/packages/client/ui-sidebar-files/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-client-ui-sidebar-files\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-sidebar-files/lib/client.js" }, + { find: /^@deepseek-ai\/dsh-client-ui-sidebar-files\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-sidebar-files/package.json" }, + { find: /^@deepseek-ai\/dsh-client-ui-sidebar-right$/, replacement: "D:/deepseek-harness/packages/client/ui-sidebar-right/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-client-ui-sidebar-right\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-sidebar-right/lib/client.js" }, + { find: /^@deepseek-ai\/dsh-client-ui-sidebar-right\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-sidebar-right/package.json" }, + { find: /^@deepseek-ai\/dsh-client-ui-sidebar-terminal$/, replacement: "D:/deepseek-harness/packages/client/ui-sidebar-terminal/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-client-ui-sidebar-terminal\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-sidebar-terminal/lib/client.js" }, + { find: /^@deepseek-ai\/dsh-client-ui-sidebar-terminal\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-sidebar-terminal/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-skill$/, replacement: "D:/deepseek-harness/packages/client/ui-skill/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-skill\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-skill/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-skill\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-skill/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-skill\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-skill/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-slots$/, replacement: "D:/deepseek-harness/packages/client/ui-slots/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-slots\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-slots/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-slots\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-slots/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-subagent$/, replacement: "D:/deepseek-harness/packages/client/ui-subagent/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-subagent\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-subagent/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-subagent\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-subagent/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-subagent\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-subagent/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-theme$/, replacement: "D:/deepseek-harness/packages/client/ui-theme/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-theme\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-theme/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-theme\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-theme/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-theme\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-theme/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-tool$/, replacement: "D:/deepseek-harness/packages/client/ui-tool/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-tool\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-tool/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-tool\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-tool/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-tool\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-tool/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-trajectory$/, replacement: "D:/deepseek-harness/packages/client/ui-trajectory/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-trajectory\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-trajectory/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-trajectory\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-trajectory/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-trajectory\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-trajectory/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-user-questions$/, replacement: "D:/deepseek-harness/packages/client/ui-user-questions/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-user-questions\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-user-questions/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-user-questions\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-user-questions/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-user-questions\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-user-questions/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-workflow-run$/, replacement: "D:/deepseek-harness/packages/client/ui-workflow-run/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-workflow-run\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-workflow-run/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-workflow-run\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-workflow-run/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-workflow-run\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-workflow-run/package.json" }, { find: /^@deepseek-ai\/dsh-client-ui-workspace$/, replacement: "D:/deepseek-harness/packages/client/ui-workspace/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-ui-workspace\/invariant$/, replacement: "D:/deepseek-harness/packages/client/ui-workspace/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-ui-workspace\/client$/, replacement: "D:/deepseek-harness/packages/client/ui-workspace/lib/client.js" }, { find: /^@deepseek-ai\/dsh-client-ui-workspace\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/ui-workspace/package.json" }, { find: /^@deepseek-ai\/dsh-client-web$/, replacement: "D:/deepseek-harness/packages/client/web/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-client-web\/invariant$/, replacement: "D:/deepseek-harness/packages/client/web/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-client-web\/package\.json$/, replacement: "D:/deepseek-harness/packages/client/web/package.json" }, + { find: /^@deepseek-ai\/dsh-client-web\/injections$/, replacement: "D:/deepseek-harness/packages/client/web/lib/apply-injections.js" }, { find: /^@deepseek-ai\/dsh-cmdline$/, replacement: "D:/deepseek-harness/packages/boot/cmdline/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-cmdline\/invariant$/, replacement: "D:/deepseek-harness/packages/boot/cmdline/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-cmdline\/package\.json$/, replacement: "D:/deepseek-harness/packages/boot/cmdline/package.json" }, - { find: /^@deepseek-ai\/dsh-code-runtime$/, replacement: "D:/deepseek-harness/packages/code-runtime/code-runtime/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-code-runtime\/invariant$/, replacement: "D:/deepseek-harness/packages/code-runtime/code-runtime/lib/invariant.js" }, - { find: /^@deepseek-ai\/dsh-code-runtime\/package\.json$/, replacement: "D:/deepseek-harness/packages/code-runtime/code-runtime/package.json" }, - { find: /^@deepseek-ai\/dsh-code-runtime-python$/, replacement: "D:/deepseek-harness/packages/code-runtime/code-runtime-python/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-code-runtime-python\/invariant$/, replacement: "D:/deepseek-harness/packages/code-runtime/code-runtime-python/lib/invariant.js" }, - { find: /^@deepseek-ai\/dsh-code-runtime-python\/package\.json$/, replacement: "D:/deepseek-harness/packages/code-runtime/code-runtime-python/package.json" }, - { find: /^@deepseek-ai\/dsh-code-runtime-worker-thread$/, replacement: "D:/deepseek-harness/packages/code-runtime/code-runtime-worker-thread/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-code-runtime-worker-thread\/invariant$/, replacement: "D:/deepseek-harness/packages/code-runtime/code-runtime-worker-thread/lib/invariant.js" }, - { find: /^@deepseek-ai\/dsh-code-runtime-worker-thread\/worker$/, replacement: "D:/deepseek-harness/packages/code-runtime/code-runtime-worker-thread/lib/worker.cjs" }, - { find: /^@deepseek-ai\/dsh-code-runtime-worker-thread\/package\.json$/, replacement: "D:/deepseek-harness/packages/code-runtime/code-runtime-worker-thread/package.json" }, { find: /^@deepseek-ai\/dsh-command-compact$/, replacement: "D:/deepseek-harness/packages/compaction/command-compact/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-command-compact\/invariant$/, replacement: "D:/deepseek-harness/packages/compaction/command-compact/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-command-compact\/package\.json$/, replacement: "D:/deepseek-harness/packages/compaction/command-compact/package.json" }, { find: /^@deepseek-ai\/dsh-command-feedback$/, replacement: "D:/deepseek-harness/packages/feedback/command-feedback/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-command-feedback\/invariant$/, replacement: "D:/deepseek-harness/packages/feedback/command-feedback/lib/invariant.js" }, + { find: /^@deepseek-ai\/dsh-command-feedback\/types$/, replacement: "D:/deepseek-harness/packages/feedback/command-feedback/lib/types/types.js" }, + { find: /^@deepseek-ai\/dsh-command-feedback\/typert$/, replacement: "D:/deepseek-harness/packages/feedback/command-feedback/lib/typert.host.js" }, + { find: /^@deepseek-ai\/dsh-command-feedback\/remote$/, replacement: "D:/deepseek-harness/packages/feedback/command-feedback/lib/typert.remote-client.js" }, { find: /^@deepseek-ai\/dsh-command-feedback\/package\.json$/, replacement: "D:/deepseek-harness/packages/feedback/command-feedback/package.json" }, { find: /^@deepseek-ai\/dsh-command-goal$/, replacement: "D:/deepseek-harness/packages/goal/command-goal/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-command-goal\/invariant$/, replacement: "D:/deepseek-harness/packages/goal/command-goal/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-command-goal\/package\.json$/, replacement: "D:/deepseek-harness/packages/goal/command-goal/package.json" }, { find: /^@deepseek-ai\/dsh-commands$/, replacement: "D:/deepseek-harness/packages/interaction/commands/lib/index.js" }, { find: /^@deepseek-ai\/dsh-commands\/invariant$/, replacement: "D:/deepseek-harness/packages/interaction/commands/lib/invariant.js" }, @@ -326,17 +308,19 @@ export const aliases = [ { find: /^@deepseek-ai\/dsh-compaction\/checkpoint$/, replacement: "D:/deepseek-harness/packages/compaction/compaction/lib/types/checkpoint.js" }, { find: /^@deepseek-ai\/dsh-compaction\/package\.json$/, replacement: "D:/deepseek-harness/packages/compaction/compaction/package.json" }, { find: /^@deepseek-ai\/dsh-compaction-basic$/, replacement: "D:/deepseek-harness/packages/compaction/compaction-basic/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-compaction-basic\/invariant$/, replacement: "D:/deepseek-harness/packages/compaction/compaction-basic/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-compaction-basic\/package\.json$/, replacement: "D:/deepseek-harness/packages/compaction/compaction-basic/package.json" }, + { find: /^@deepseek-ai\/dsh-compaction-image-offload$/, replacement: "D:/deepseek-harness/packages/compaction/compaction-image-offload/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-compaction-image-offload\/package\.json$/, replacement: "D:/deepseek-harness/packages/compaction/compaction-image-offload/package.json" }, + { find: /^@deepseek-ai\/dsh-compaction-image-offload\/projection$/, replacement: "D:/deepseek-harness/packages/compaction/compaction-image-offload/lib/types/projection.js" }, { find: /^@deepseek-ai\/dsh-compaction-tool-result-pruner$/, replacement: "D:/deepseek-harness/packages/compaction/compaction-tool-result-pruner/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-compaction-tool-result-pruner\/invariant$/, replacement: "D:/deepseek-harness/packages/compaction/compaction-tool-result-pruner/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-compaction-tool-result-pruner\/package\.json$/, replacement: "D:/deepseek-harness/packages/compaction/compaction-tool-result-pruner/package.json" }, + { find: /^@deepseek-ai\/dsh-computer-use$/, replacement: "D:/deepseek-harness/packages/computer-use/computer-use/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-computer-use\/package\.json$/, replacement: "D:/deepseek-harness/packages/computer-use/computer-use/package.json" }, + { find: /^@deepseek-ai\/dsh-computer-use\/brand$/, replacement: "D:/deepseek-harness/packages/computer-use/computer-use/lib/types/brand.js" }, { find: /^@deepseek-ai\/dsh-cordis-client-runner$/, replacement: "D:/deepseek-harness/packages/extensions/cordis-client-runner/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-cordis-client-runner\/invariant$/, replacement: "D:/deepseek-harness/packages/extensions/cordis-client-runner/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-cordis-client-runner\/client$/, replacement: "D:/deepseek-harness/packages/extensions/cordis-client-runner/lib/client.js" }, { find: /^@deepseek-ai\/dsh-cordis-client-runner\/package\.json$/, replacement: "D:/deepseek-harness/packages/extensions/cordis-client-runner/package.json" }, { find: /^@deepseek-ai\/dsh-cordis-host-runner$/, replacement: "D:/deepseek-harness/packages/extensions/cordis-host-runner/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-cordis-host-runner\/invariant$/, replacement: "D:/deepseek-harness/packages/extensions/cordis-host-runner/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-cordis-host-runner\/types$/, replacement: "D:/deepseek-harness/packages/extensions/cordis-host-runner/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-cordis-host-runner\/typert$/, replacement: "D:/deepseek-harness/packages/extensions/cordis-host-runner/lib/typert.host.js" }, { find: /^@deepseek-ai\/dsh-cordis-host-runner\/remote$/, replacement: "D:/deepseek-harness/packages/extensions/cordis-host-runner/lib/typert.remote-client.js" }, @@ -346,15 +330,12 @@ export const aliases = [ { find: /^@deepseek-ai\/dsh-credentials\/types$/, replacement: "D:/deepseek-harness/packages/credentials/credentials/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-credentials\/package\.json$/, replacement: "D:/deepseek-harness/packages/credentials/credentials/package.json" }, { find: /^@deepseek-ai\/dsh-credentials-local$/, replacement: "D:/deepseek-harness/packages/credentials/credentials-local/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-credentials-local\/invariant$/, replacement: "D:/deepseek-harness/packages/credentials/credentials-local/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-credentials-local\/package\.json$/, replacement: "D:/deepseek-harness/packages/credentials/credentials-local/package.json" }, { find: /^@deepseek-ai\/dsh-deepseek-llm-api-extensions$/, replacement: "D:/deepseek-harness/packages/llm/deepseek-llm-api-extensions/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-deepseek-llm-api-extensions\/invariant$/, replacement: "D:/deepseek-harness/packages/llm/deepseek-llm-api-extensions/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-deepseek-llm-api-extensions\/types$/, replacement: "D:/deepseek-harness/packages/llm/deepseek-llm-api-extensions/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-deepseek-llm-api-extensions\/package\.json$/, replacement: "D:/deepseek-harness/packages/llm/deepseek-llm-api-extensions/package.json" }, - { find: /^@deepseek-ai\/dsh-e2b$/, replacement: "D:/deepseek-harness/packages/e2b/e2b/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-e2b\/invariant$/, replacement: "D:/deepseek-harness/packages/e2b/e2b/lib/invariant.js" }, - { find: /^@deepseek-ai\/dsh-e2b\/package\.json$/, replacement: "D:/deepseek-harness/packages/e2b/e2b/package.json" }, + { find: /^@deepseek-ai\/dsh-deque$/, replacement: "D:/deepseek-harness/packages/util/deque/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-deque\/package\.json$/, replacement: "D:/deepseek-harness/packages/util/deque/package.json" }, { find: /^@deepseek-ai\/dsh-experimental-agent-team$/, replacement: "D:/deepseek-harness/packages/experimental/agent-team/lib/index.js" }, { find: /^@deepseek-ai\/dsh-experimental-agent-team\/invariant$/, replacement: "D:/deepseek-harness/packages/experimental/agent-team/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-experimental-agent-team\/client$/, replacement: "D:/deepseek-harness/packages/experimental/agent-team/lib/types/client.js" }, @@ -363,56 +344,62 @@ export const aliases = [ { find: /^@deepseek-ai\/dsh-experimental-agent-team\/remote$/, replacement: "D:/deepseek-harness/packages/experimental/agent-team/lib/typert.remote-client.js" }, { find: /^@deepseek-ai\/dsh-experimental-agent-team\/package\.json$/, replacement: "D:/deepseek-harness/packages/experimental/agent-team/package.json" }, { find: /^@deepseek-ai\/dsh-experimental-agent-team-profile$/, replacement: "D:/deepseek-harness/packages/experimental/agent-team-profile/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-experimental-agent-team-profile\/invariant$/, replacement: "D:/deepseek-harness/packages/experimental/agent-team-profile/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-experimental-agent-team-profile\/cordis\.patch\.yml$/, replacement: "D:/deepseek-harness/packages/experimental/agent-team-profile/cordis.patch.yml" }, { find: /^@deepseek-ai\/dsh-experimental-agent-team-profile\/package\.json$/, replacement: "D:/deepseek-harness/packages/experimental/agent-team-profile/package.json" }, { find: /^@deepseek-ai\/dsh-experimental-agent-team-web-profile$/, replacement: "D:/deepseek-harness/packages/experimental/agent-team-web-profile/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-experimental-agent-team-web-profile\/invariant$/, replacement: "D:/deepseek-harness/packages/experimental/agent-team-web-profile/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-experimental-agent-team-web-profile\/cordis\.patch\.yml$/, replacement: "D:/deepseek-harness/packages/experimental/agent-team-web-profile/cordis.patch.yml" }, { find: /^@deepseek-ai\/dsh-experimental-agent-team-web-profile\/package\.json$/, replacement: "D:/deepseek-harness/packages/experimental/agent-team-web-profile/package.json" }, + { find: /^@deepseek-ai\/dsh-experimental-auto-review$/, replacement: "D:/deepseek-harness/packages/experimental/auto-review/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-experimental-auto-review\/package\.json$/, replacement: "D:/deepseek-harness/packages/experimental/auto-review/package.json" }, + { find: /^@deepseek-ai\/dsh-experimental-auto-review\/cordis\.patch\.yml$/, replacement: "D:/deepseek-harness/packages/experimental/auto-review/cordis.patch.yml" }, + { find: /^@deepseek-ai\/dsh-experimental-browser-use-chrome-devtools-mcp$/, replacement: "D:/deepseek-harness/packages/experimental/browser-use-chrome-devtools-mcp/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-experimental-browser-use-chrome-devtools-mcp\/package\.json$/, replacement: "D:/deepseek-harness/packages/experimental/browser-use-chrome-devtools-mcp/package.json" }, + { find: /^@deepseek-ai\/dsh-experimental-browser-use-playwright-mcp$/, replacement: "D:/deepseek-harness/packages/experimental/browser-use-playwright-mcp/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-experimental-browser-use-playwright-mcp\/package\.json$/, replacement: "D:/deepseek-harness/packages/experimental/browser-use-playwright-mcp/package.json" }, + { find: /^@deepseek-ai\/dsh-experimental-browser-use-runtime$/, replacement: "D:/deepseek-harness/packages/experimental/browser-use-runtime/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-experimental-browser-use-runtime\/package\.json$/, replacement: "D:/deepseek-harness/packages/experimental/browser-use-runtime/package.json" }, + { find: /^@deepseek-ai\/dsh-experimental-browser-use-runtime\/mcp$/, replacement: "D:/deepseek-harness/packages/experimental/browser-use-runtime/lib/types/mcp.js" }, + { find: /^@deepseek-ai\/dsh-experimental-browser-use-stagehand-native$/, replacement: "D:/deepseek-harness/packages/experimental/browser-use-stagehand-native/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-experimental-browser-use-stagehand-native\/package\.json$/, replacement: "D:/deepseek-harness/packages/experimental/browser-use-stagehand-native/package.json" }, + { find: /^@deepseek-ai\/dsh-experimental-browser-use-stagehand-native\/worker$/, replacement: "D:/deepseek-harness/packages/experimental/browser-use-stagehand-native/lib/worker.js" }, { find: /^@deepseek-ai\/dsh-experimental-client-ui-agent-team$/, replacement: "D:/deepseek-harness/packages/experimental/client-ui-agent-team/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-experimental-client-ui-agent-team\/invariant$/, replacement: "D:/deepseek-harness/packages/experimental/client-ui-agent-team/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-experimental-client-ui-agent-team\/client$/, replacement: "D:/deepseek-harness/packages/experimental/client-ui-agent-team/lib/client.js" }, { find: /^@deepseek-ai\/dsh-experimental-client-ui-agent-team\/package\.json$/, replacement: "D:/deepseek-harness/packages/experimental/client-ui-agent-team/package.json" }, + { find: /^@deepseek-ai\/dsh-experimental-computer-use-cua-driver-mcp$/, replacement: "D:/deepseek-harness/packages/experimental/computer-use-cua-driver-mcp/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-experimental-computer-use-cua-driver-mcp\/package\.json$/, replacement: "D:/deepseek-harness/packages/experimental/computer-use-cua-driver-mcp/package.json" }, + { find: /^@deepseek-ai\/dsh-experimental-computer-use-cua-driver-native$/, replacement: "D:/deepseek-harness/packages/experimental/computer-use-cua-driver-native/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-experimental-computer-use-cua-driver-native\/package\.json$/, replacement: "D:/deepseek-harness/packages/experimental/computer-use-cua-driver-native/package.json" }, { find: /^@deepseek-ai\/dsh-experimental-inspector$/, replacement: "D:/deepseek-harness/packages/experimental/inspector/lib/index.js" }, { find: /^@deepseek-ai\/dsh-experimental-inspector\/client$/, replacement: "D:/deepseek-harness/packages/experimental/inspector/lib/client.js" }, - { find: /^@deepseek-ai\/dsh-experimental-inspector\/invariant$/, replacement: "D:/deepseek-harness/packages/experimental/inspector/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-experimental-inspector\/package\.json$/, replacement: "D:/deepseek-harness/packages/experimental/inspector/package.json" }, + { find: /^@deepseek-ai\/dsh-experimental-ptc-runtime-python$/, replacement: "D:/deepseek-harness/packages/experimental/ptc-runtime-python/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-experimental-ptc-runtime-python\/package\.json$/, replacement: "D:/deepseek-harness/packages/experimental/ptc-runtime-python/package.json" }, { find: /^@deepseek-ai\/dsh-experimental-tool-agent-team$/, replacement: "D:/deepseek-harness/packages/experimental/tool-agent-team/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-experimental-tool-agent-team\/invariant$/, replacement: "D:/deepseek-harness/packages/experimental/tool-agent-team/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-experimental-tool-agent-team\/package\.json$/, replacement: "D:/deepseek-harness/packages/experimental/tool-agent-team/package.json" }, { find: /^@deepseek-ai\/dsh-experimental-webworker-packer$/, replacement: "D:/deepseek-harness/packages/experimental/webworker-packer/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-experimental-webworker-packer\/invariant$/, replacement: "D:/deepseek-harness/packages/experimental/webworker-packer/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-experimental-webworker-packer\/package\.json$/, replacement: "D:/deepseek-harness/packages/experimental/webworker-packer/package.json" }, { find: /^@deepseek-ai\/dsh-experimental-webworker-runtime$/, replacement: "D:/deepseek-harness/packages/experimental/webworker-runtime/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-experimental-webworker-runtime\/invariant$/, replacement: "D:/deepseek-harness/packages/experimental/webworker-runtime/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-experimental-webworker-runtime\/package\.json$/, replacement: "D:/deepseek-harness/packages/experimental/webworker-runtime/package.json" }, { find: /^@deepseek-ai\/dsh-experimental-webworker-runtime\/worker$/, replacement: "D:/deepseek-harness/packages/experimental/webworker-runtime/lib/worker.js" }, { find: /^@deepseek-ai\/dsh-experimental-webworker-runtime\/client$/, replacement: "D:/deepseek-harness/packages/experimental/webworker-runtime/lib/client.js" }, { find: /^@deepseek-ai\/dsh-file-reference$/, replacement: "D:/deepseek-harness/packages/context/file-reference/lib/index.js" }, { find: /^@deepseek-ai\/dsh-file-reference\/grammar$/, replacement: "D:/deepseek-harness/packages/context/file-reference/lib/types/grammar.js" }, - { find: /^@deepseek-ai\/dsh-file-reference\/invariant$/, replacement: "D:/deepseek-harness/packages/context/file-reference/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-file-reference\/types$/, replacement: "D:/deepseek-harness/packages/context/file-reference/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-file-reference\/package\.json$/, replacement: "D:/deepseek-harness/packages/context/file-reference/package.json" }, { find: /^@deepseek-ai\/dsh-file-reference-local$/, replacement: "D:/deepseek-harness/packages/context/file-reference-local/lib/index.js" }, { find: /^@deepseek-ai\/dsh-file-reference-local\/search$/, replacement: "D:/deepseek-harness/packages/context/file-reference-local/lib/types/search.js" }, - { find: /^@deepseek-ai\/dsh-file-reference-local\/invariant$/, replacement: "D:/deepseek-harness/packages/context/file-reference-local/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-file-reference-local\/package\.json$/, replacement: "D:/deepseek-harness/packages/context/file-reference-local/package.json" }, { find: /^@deepseek-ai\/dsh-fs$/, replacement: "D:/deepseek-harness/packages/fs/fs/lib/index.js" }, { find: /^@deepseek-ai\/dsh-fs\/invariant$/, replacement: "D:/deepseek-harness/packages/fs/fs/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-fs\/package\.json$/, replacement: "D:/deepseek-harness/packages/fs/fs/package.json" }, - { find: /^@deepseek-ai\/dsh-fs-e2b$/, replacement: "D:/deepseek-harness/packages/e2b/fs-e2b/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-fs-e2b\/invariant$/, replacement: "D:/deepseek-harness/packages/e2b/fs-e2b/lib/invariant.js" }, - { find: /^@deepseek-ai\/dsh-fs-e2b\/package\.json$/, replacement: "D:/deepseek-harness/packages/e2b/fs-e2b/package.json" }, { find: /^@deepseek-ai\/dsh-fs-local$/, replacement: "D:/deepseek-harness/packages/fs/fs-local/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-fs-local\/invariant$/, replacement: "D:/deepseek-harness/packages/fs/fs-local/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-fs-local\/package\.json$/, replacement: "D:/deepseek-harness/packages/fs/fs-local/package.json" }, { find: /^@deepseek-ai\/dsh-fs-observation-policy$/, replacement: "D:/deepseek-harness/packages/fs/fs-observation-policy/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-fs-observation-policy\/invariant$/, replacement: "D:/deepseek-harness/packages/fs/fs-observation-policy/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-fs-observation-policy\/package\.json$/, replacement: "D:/deepseek-harness/packages/fs/fs-observation-policy/package.json" }, { find: /^@deepseek-ai\/dsh-fs-sandbox$/, replacement: "D:/deepseek-harness/packages/fs/fs-sandbox/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-fs-sandbox\/invariant$/, replacement: "D:/deepseek-harness/packages/fs/fs-sandbox/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-fs-sandbox\/package\.json$/, replacement: "D:/deepseek-harness/packages/fs/fs-sandbox/package.json" }, + { find: /^@deepseek-ai\/dsh-fs-ssh$/, replacement: "D:/deepseek-harness/packages/ssh/fs-ssh/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-fs-ssh\/package\.json$/, replacement: "D:/deepseek-harness/packages/ssh/fs-ssh/package.json" }, { find: /^@deepseek-ai\/dsh-goal$/, replacement: "D:/deepseek-harness/packages/goal/goal/lib/index.js" }, { find: /^@deepseek-ai\/dsh-goal\/invariant$/, replacement: "D:/deepseek-harness/packages/goal/goal/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-goal\/types$/, replacement: "D:/deepseek-harness/packages/goal/goal/lib/types/types.js" }, @@ -425,228 +412,222 @@ export const aliases = [ { find: /^@deepseek-ai\/dsh-goal-round-driver\/package\.json$/, replacement: "D:/deepseek-harness/packages/goal/goal-round-driver/package.json" }, { find: /^@deepseek-ai\/dsh-headless$/, replacement: "D:/deepseek-harness/packages/bundle/headless/lib/index.js" }, { find: /^@deepseek-ai\/dsh-headless\/startup$/, replacement: "D:/deepseek-harness/packages/bundle/headless/lib/startup.js" }, - { find: /^@deepseek-ai\/dsh-headless\/invariant$/, replacement: "D:/deepseek-harness/packages/bundle/headless/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-headless\/cordis\.patch\.yml$/, replacement: "D:/deepseek-harness/packages/bundle/headless/cordis.patch.yml" }, { find: /^@deepseek-ai\/dsh-headless\/package\.json$/, replacement: "D:/deepseek-harness/packages/bundle/headless/package.json" }, + { find: /^@deepseek-ai\/dsh-hmr$/, replacement: "D:/deepseek-harness/packages/boot/hmr/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-hmr\/package\.json$/, replacement: "D:/deepseek-harness/packages/boot/hmr/package.json" }, { find: /^@deepseek-ai\/dsh-home-paths$/, replacement: "D:/deepseek-harness/packages/util/home-paths/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-home-paths\/invariant$/, replacement: "D:/deepseek-harness/packages/util/home-paths/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-home-paths\/package\.json$/, replacement: "D:/deepseek-harness/packages/util/home-paths/package.json" }, { find: /^@deepseek-ai\/dsh-hook-protocol$/, replacement: "D:/deepseek-harness/packages/hooks/hook-protocol/lib/index.js" }, { find: /^@deepseek-ai\/dsh-hook-protocol\/invariant$/, replacement: "D:/deepseek-harness/packages/hooks/hook-protocol/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-hook-protocol\/package\.json$/, replacement: "D:/deepseek-harness/packages/hooks/hook-protocol/package.json" }, { find: /^@deepseek-ai\/dsh-hooks-claude-code$/, replacement: "D:/deepseek-harness/packages/hooks/hooks-claude-code/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-hooks-claude-code\/invariant$/, replacement: "D:/deepseek-harness/packages/hooks/hooks-claude-code/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-hooks-claude-code\/package\.json$/, replacement: "D:/deepseek-harness/packages/hooks/hooks-claude-code/package.json" }, { find: /^@deepseek-ai\/dsh-hooks-codex$/, replacement: "D:/deepseek-harness/packages/hooks/hooks-codex/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-hooks-codex\/invariant$/, replacement: "D:/deepseek-harness/packages/hooks/hooks-codex/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-hooks-codex\/package\.json$/, replacement: "D:/deepseek-harness/packages/hooks/hooks-codex/package.json" }, { find: /^@deepseek-ai\/dsh-host-directory-picker$/, replacement: "D:/deepseek-harness/packages/host/directory-picker/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-host-directory-picker\/invariant$/, replacement: "D:/deepseek-harness/packages/host/directory-picker/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-host-directory-picker\/types$/, replacement: "D:/deepseek-harness/packages/host/directory-picker/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-host-directory-picker\/package\.json$/, replacement: "D:/deepseek-harness/packages/host/directory-picker/package.json" }, { find: /^@deepseek-ai\/dsh-host-directory-picker-auto$/, replacement: "D:/deepseek-harness/packages/host/directory-picker-auto/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-host-directory-picker-auto\/invariant$/, replacement: "D:/deepseek-harness/packages/host/directory-picker-auto/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-host-directory-picker-auto\/package\.json$/, replacement: "D:/deepseek-harness/packages/host/directory-picker-auto/package.json" }, { find: /^@deepseek-ai\/dsh-host-directory-picker-browse$/, replacement: "D:/deepseek-harness/packages/host/directory-picker-browse/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-host-directory-picker-browse\/invariant$/, replacement: "D:/deepseek-harness/packages/host/directory-picker-browse/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-host-directory-picker-browse\/package\.json$/, replacement: "D:/deepseek-harness/packages/host/directory-picker-browse/package.json" }, { find: /^@deepseek-ai\/dsh-host-directory-picker-native$/, replacement: "D:/deepseek-harness/packages/host/directory-picker-native/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-host-directory-picker-native\/invariant$/, replacement: "D:/deepseek-harness/packages/host/directory-picker-native/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-host-directory-picker-native\/worker$/, replacement: "D:/deepseek-harness/packages/host/directory-picker-native/lib/worker.cjs" }, { find: /^@deepseek-ai\/dsh-host-directory-picker-native\/package\.json$/, replacement: "D:/deepseek-harness/packages/host/directory-picker-native/package.json" }, { find: /^@deepseek-ai\/dsh-host-frontend-static$/, replacement: "D:/deepseek-harness/packages/host/frontend-static/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-host-frontend-static\/invariant$/, replacement: "D:/deepseek-harness/packages/host/frontend-static/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-host-frontend-static\/package\.json$/, replacement: "D:/deepseek-harness/packages/host/frontend-static/package.json" }, + { find: /^@deepseek-ai\/dsh-host-open-in-app$/, replacement: "D:/deepseek-harness/packages/host/open-in-app/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-host-open-in-app\/shared$/, replacement: "D:/deepseek-harness/packages/host/open-in-app/lib/types/shared.js" }, + { find: /^@deepseek-ai\/dsh-host-open-in-app\/package\.json$/, replacement: "D:/deepseek-harness/packages/host/open-in-app/package.json" }, { find: /^@deepseek-ai\/dsh-host-plugin-inventory$/, replacement: "D:/deepseek-harness/packages/host/plugin-inventory/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-host-plugin-inventory\/invariant$/, replacement: "D:/deepseek-harness/packages/host/plugin-inventory/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-host-plugin-inventory\/types$/, replacement: "D:/deepseek-harness/packages/host/plugin-inventory/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-host-plugin-inventory\/typert$/, replacement: "D:/deepseek-harness/packages/host/plugin-inventory/lib/typert.host.js" }, { find: /^@deepseek-ai\/dsh-host-plugin-inventory\/remote$/, replacement: "D:/deepseek-harness/packages/host/plugin-inventory/lib/typert.remote-client.js" }, { find: /^@deepseek-ai\/dsh-host-plugin-inventory\/package\.json$/, replacement: "D:/deepseek-harness/packages/host/plugin-inventory/package.json" }, { find: /^@deepseek-ai\/dsh-host-webserver$/, replacement: "D:/deepseek-harness/packages/host/webserver/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-host-webserver\/invariant$/, replacement: "D:/deepseek-harness/packages/host/webserver/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-host-webserver\/package\.json$/, replacement: "D:/deepseek-harness/packages/host/webserver/package.json" }, + { find: /^@deepseek-ai\/dsh-http-proxy$/, replacement: "D:/deepseek-harness/packages/util/http-proxy/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-http-proxy\/package\.json$/, replacement: "D:/deepseek-harness/packages/util/http-proxy/package.json" }, { find: /^@deepseek-ai\/dsh-invariants$/, replacement: "D:/deepseek-harness/packages/runtime-diagnostics/invariants/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-invariants\/invariant$/, replacement: "D:/deepseek-harness/packages/runtime-diagnostics/invariants/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-invariants\/package\.json$/, replacement: "D:/deepseek-harness/packages/runtime-diagnostics/invariants/package.json" }, { find: /^@deepseek-ai\/dsh-jobs$/, replacement: "D:/deepseek-harness/packages/jobs/jobs/lib/index.js" }, { find: /^@deepseek-ai\/dsh-jobs\/invariant$/, replacement: "D:/deepseek-harness/packages/jobs/jobs/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-jobs\/brand$/, replacement: "D:/deepseek-harness/packages/jobs/jobs/lib/types/brand.js" }, { find: /^@deepseek-ai\/dsh-jobs\/package\.json$/, replacement: "D:/deepseek-harness/packages/jobs/jobs/package.json" }, { find: /^@deepseek-ai\/dsh-jobs-local$/, replacement: "D:/deepseek-harness/packages/jobs/jobs-local/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-jobs-local\/invariant$/, replacement: "D:/deepseek-harness/packages/jobs/jobs-local/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-jobs-local\/package\.json$/, replacement: "D:/deepseek-harness/packages/jobs/jobs-local/package.json" }, { find: /^@deepseek-ai\/dsh-launch-environment$/, replacement: "D:/deepseek-harness/packages/util/launch-environment/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-launch-environment\/invariant$/, replacement: "D:/deepseek-harness/packages/util/launch-environment/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-launch-environment\/package\.json$/, replacement: "D:/deepseek-harness/packages/util/launch-environment/package.json" }, + { find: /^@deepseek-ai\/dsh-lazy-require$/, replacement: "D:/deepseek-harness/packages/util/lazy-require/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-lazy-require\/package\.json$/, replacement: "D:/deepseek-harness/packages/util/lazy-require/package.json" }, { find: /^@deepseek-ai\/dsh-llm$/, replacement: "D:/deepseek-harness/packages/llm/llm/lib/index.js" }, { find: /^@deepseek-ai\/dsh-llm\/invariant$/, replacement: "D:/deepseek-harness/packages/llm/llm/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-llm\/types$/, replacement: "D:/deepseek-harness/packages/llm/llm/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-llm\/brand$/, replacement: "D:/deepseek-harness/packages/llm/llm/lib/types/brand.js" }, { find: /^@deepseek-ai\/dsh-llm\/message$/, replacement: "D:/deepseek-harness/packages/llm/llm/lib/types/message.js" }, + { find: /^@deepseek-ai\/dsh-llm\/assistant-stream$/, replacement: "D:/deepseek-harness/packages/llm/llm/lib/types/assistant-stream.js" }, { find: /^@deepseek-ai\/dsh-llm\/typert$/, replacement: "D:/deepseek-harness/packages/llm/llm/lib/typert.host.js" }, { find: /^@deepseek-ai\/dsh-llm\/remote$/, replacement: "D:/deepseek-harness/packages/llm/llm/lib/typert.remote-client.js" }, { find: /^@deepseek-ai\/dsh-llm\/package\.json$/, replacement: "D:/deepseek-harness/packages/llm/llm/package.json" }, { find: /^@deepseek-ai\/dsh-llm-deepseek$/, replacement: "D:/deepseek-harness/packages/llm/llm-deepseek/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-llm-deepseek\/invariant$/, replacement: "D:/deepseek-harness/packages/llm/llm-deepseek/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-llm-deepseek\/package\.json$/, replacement: "D:/deepseek-harness/packages/llm/llm-deepseek/package.json" }, { find: /^@deepseek-ai\/dsh-llm-mock-server$/, replacement: "D:/deepseek-harness/packages/test-support/llm-mock-server/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-llm-mock-server\/invariant$/, replacement: "D:/deepseek-harness/packages/test-support/llm-mock-server/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-llm-mock-server\/package\.json$/, replacement: "D:/deepseek-harness/packages/test-support/llm-mock-server/package.json" }, { find: /^@deepseek-ai\/dsh-llm-pi-ai$/, replacement: "D:/deepseek-harness/packages/llm/llm-pi-ai/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-llm-pi-ai\/invariant$/, replacement: "D:/deepseek-harness/packages/llm/llm-pi-ai/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-llm-pi-ai\/package\.json$/, replacement: "D:/deepseek-harness/packages/llm/llm-pi-ai/package.json" }, { find: /^@deepseek-ai\/dsh-llm-replay$/, replacement: "D:/deepseek-harness/packages/test-support/llm-replay/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-llm-replay\/invariant$/, replacement: "D:/deepseek-harness/packages/test-support/llm-replay/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-llm-replay\/package\.json$/, replacement: "D:/deepseek-harness/packages/test-support/llm-replay/package.json" }, { find: /^@deepseek-ai\/dsh-llm-retry$/, replacement: "D:/deepseek-harness/packages/llm/llm-retry/lib/index.js" }, { find: /^@deepseek-ai\/dsh-llm-retry\/invariant$/, replacement: "D:/deepseek-harness/packages/llm/llm-retry/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-llm-retry\/types$/, replacement: "D:/deepseek-harness/packages/llm/llm-retry/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-llm-retry\/package\.json$/, replacement: "D:/deepseek-harness/packages/llm/llm-retry/package.json" }, { find: /^@deepseek-ai\/dsh-loader-smoke$/, replacement: "D:/deepseek-harness/packages/test-support/loader-smoke/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-loader-smoke\/invariant$/, replacement: "D:/deepseek-harness/packages/test-support/loader-smoke/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-loader-smoke\/package\.json$/, replacement: "D:/deepseek-harness/packages/test-support/loader-smoke/package.json" }, { find: /^@deepseek-ai\/dsh-lsp$/, replacement: "D:/deepseek-harness/packages/lsp/lsp/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-lsp\/invariant$/, replacement: "D:/deepseek-harness/packages/lsp/lsp/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-lsp\/package\.json$/, replacement: "D:/deepseek-harness/packages/lsp/lsp/package.json" }, { find: /^@deepseek-ai\/dsh-lsp-stdio$/, replacement: "D:/deepseek-harness/packages/lsp/lsp-stdio/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-lsp-stdio\/invariant$/, replacement: "D:/deepseek-harness/packages/lsp/lsp-stdio/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-lsp-stdio\/package\.json$/, replacement: "D:/deepseek-harness/packages/lsp/lsp-stdio/package.json" }, { find: /^@deepseek-ai\/dsh-mcp-client$/, replacement: "D:/deepseek-harness/packages/mcp/mcp-client/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-mcp-client\/invariant$/, replacement: "D:/deepseek-harness/packages/mcp/mcp-client/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-mcp-client\/package\.json$/, replacement: "D:/deepseek-harness/packages/mcp/mcp-client/package.json" }, + { find: /^@deepseek-ai\/dsh-mcp-resources$/, replacement: "D:/deepseek-harness/packages/mcp/mcp-resources/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-mcp-resources\/package\.json$/, replacement: "D:/deepseek-harness/packages/mcp/mcp-resources/package.json" }, { find: /^@deepseek-ai\/dsh-message-feedback$/, replacement: "D:/deepseek-harness/packages/feedback/message-feedback/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-message-feedback\/invariant$/, replacement: "D:/deepseek-harness/packages/feedback/message-feedback/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-message-feedback\/types$/, replacement: "D:/deepseek-harness/packages/feedback/message-feedback/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-message-feedback\/typert$/, replacement: "D:/deepseek-harness/packages/feedback/message-feedback/lib/typert.host.js" }, { find: /^@deepseek-ai\/dsh-message-feedback\/remote$/, replacement: "D:/deepseek-harness/packages/feedback/message-feedback/lib/typert.remote-client.js" }, { find: /^@deepseek-ai\/dsh-message-feedback\/package\.json$/, replacement: "D:/deepseek-harness/packages/feedback/message-feedback/package.json" }, { find: /^@deepseek-ai\/dsh-native-command$/, replacement: "D:/deepseek-harness/packages/util/native-command/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-native-command\/invariant$/, replacement: "D:/deepseek-harness/packages/util/native-command/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-native-command\/package\.json$/, replacement: "D:/deepseek-harness/packages/util/native-command/package.json" }, + { find: /^@deepseek-ai\/dsh-office-to-pdf$/, replacement: "D:/deepseek-harness/packages/document/office-to-pdf/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-office-to-pdf\/package\.json$/, replacement: "D:/deepseek-harness/packages/document/office-to-pdf/package.json" }, + { find: /^@deepseek-ai\/dsh-office-to-pdf\/types$/, replacement: "D:/deepseek-harness/packages/document/office-to-pdf/lib/types/types.js" }, + { find: /^@deepseek-ai\/dsh-office-to-pdf\/remote$/, replacement: "D:/deepseek-harness/packages/document/office-to-pdf/lib/typert.remote-client.js" }, + { find: /^@deepseek-ai\/dsh-office-to-pdf\/typert$/, replacement: "D:/deepseek-harness/packages/document/office-to-pdf/lib/typert.host.js" }, { find: /^@deepseek-ai\/dsh-output-retention$/, replacement: "D:/deepseek-harness/packages/util/output-retention/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-output-retention\/invariant$/, replacement: "D:/deepseek-harness/packages/util/output-retention/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-output-retention\/package\.json$/, replacement: "D:/deepseek-harness/packages/util/output-retention/package.json" }, + { find: /^@deepseek-ai\/dsh-package-manifest$/, replacement: "D:/deepseek-harness/packages/util/package-manifest/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-package-manifest\/package\.json$/, replacement: "D:/deepseek-harness/packages/util/package-manifest/package.json" }, { find: /^@deepseek-ai\/dsh-permission-presets$/, replacement: "D:/deepseek-harness/packages/interaction/permission-presets/lib/index.js" }, { find: /^@deepseek-ai\/dsh-permission-presets\/invariant$/, replacement: "D:/deepseek-harness/packages/interaction/permission-presets/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-permission-presets\/types$/, replacement: "D:/deepseek-harness/packages/interaction/permission-presets/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-permission-presets\/client$/, replacement: "D:/deepseek-harness/packages/interaction/permission-presets/lib/types/client.js" }, + { find: /^@deepseek-ai\/dsh-permission-presets\/typert$/, replacement: "D:/deepseek-harness/packages/interaction/permission-presets/lib/typert.host.js" }, + { find: /^@deepseek-ai\/dsh-permission-presets\/remote$/, replacement: "D:/deepseek-harness/packages/interaction/permission-presets/lib/typert.remote-client.js" }, { find: /^@deepseek-ai\/dsh-permission-presets\/package\.json$/, replacement: "D:/deepseek-harness/packages/interaction/permission-presets/package.json" }, { find: /^@deepseek-ai\/dsh-persona$/, replacement: "D:/deepseek-harness/packages/preset/persona/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-persona\/invariant$/, replacement: "D:/deepseek-harness/packages/preset/persona/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-persona\/package\.json$/, replacement: "D:/deepseek-harness/packages/preset/persona/package.json" }, { find: /^@deepseek-ai\/dsh-plan-mode$/, replacement: "D:/deepseek-harness/packages/plan/plan-mode/lib/index.js" }, { find: /^@deepseek-ai\/dsh-plan-mode\/invariant$/, replacement: "D:/deepseek-harness/packages/plan/plan-mode/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-plan-mode\/types$/, replacement: "D:/deepseek-harness/packages/plan/plan-mode/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-plan-mode\/client$/, replacement: "D:/deepseek-harness/packages/plan/plan-mode/lib/types/client.js" }, { find: /^@deepseek-ai\/dsh-plan-mode\/package\.json$/, replacement: "D:/deepseek-harness/packages/plan/plan-mode/package.json" }, + { find: /^@deepseek-ai\/dsh-plugin-manager$/, replacement: "D:/deepseek-harness/packages/boot/plugin-manager/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-plugin-manager\/types$/, replacement: "D:/deepseek-harness/packages/boot/plugin-manager/lib/types/types.js" }, + { find: /^@deepseek-ai\/dsh-plugin-manager\/typert$/, replacement: "D:/deepseek-harness/packages/boot/plugin-manager/lib/typert.host.js" }, + { find: /^@deepseek-ai\/dsh-plugin-manager\/remote$/, replacement: "D:/deepseek-harness/packages/boot/plugin-manager/lib/typert.remote-client.js" }, + { find: /^@deepseek-ai\/dsh-plugin-manager\/package\.json$/, replacement: "D:/deepseek-harness/packages/boot/plugin-manager/package.json" }, + { find: /^@deepseek-ai\/dsh-plugin-manager\/operations$/, replacement: "D:/deepseek-harness/packages/boot/plugin-manager/lib/types/operations.js" }, + { find: /^@deepseek-ai\/dsh-plugin-manager\/tools$/, replacement: "D:/deepseek-harness/packages/boot/plugin-manager/lib/types/tools.js" }, { find: /^@deepseek-ai\/dsh-plugin-package-inventory-deepseek$/, replacement: "D:/deepseek-harness/packages/llm/plugin-package-inventory-deepseek/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-plugin-package-inventory-deepseek\/invariant$/, replacement: "D:/deepseek-harness/packages/llm/plugin-package-inventory-deepseek/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-plugin-package-inventory-deepseek\/types$/, replacement: "D:/deepseek-harness/packages/llm/plugin-package-inventory-deepseek/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-plugin-package-inventory-deepseek\/package\.json$/, replacement: "D:/deepseek-harness/packages/llm/plugin-package-inventory-deepseek/package.json" }, + { find: /^@deepseek-ai\/dsh-ptc-runtime$/, replacement: "D:/deepseek-harness/packages/ptc-runtime/ptc-runtime/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-ptc-runtime\/package\.json$/, replacement: "D:/deepseek-harness/packages/ptc-runtime/ptc-runtime/package.json" }, + { find: /^@deepseek-ai\/dsh-ptc-runtime-node$/, replacement: "D:/deepseek-harness/packages/ptc-runtime/ptc-runtime-node/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-ptc-runtime-node\/package\.json$/, replacement: "D:/deepseek-harness/packages/ptc-runtime/ptc-runtime-node/package.json" }, + { find: /^@deepseek-ai\/dsh-ptc-runtime-node\/process$/, replacement: "D:/deepseek-harness/packages/ptc-runtime/ptc-runtime-node/lib/process.js" }, { find: /^@deepseek-ai\/dsh-pwsh-local$/, replacement: "D:/deepseek-harness/packages/shell/pwsh-local/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-pwsh-local\/invariant$/, replacement: "D:/deepseek-harness/packages/shell/pwsh-local/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-pwsh-local\/package\.json$/, replacement: "D:/deepseek-harness/packages/shell/pwsh-local/package.json" }, { find: /^@deepseek-ai\/dsh-pwsh-sandbox$/, replacement: "D:/deepseek-harness/packages/shell/pwsh-sandbox/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-pwsh-sandbox\/invariant$/, replacement: "D:/deepseek-harness/packages/shell/pwsh-sandbox/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-pwsh-sandbox\/package\.json$/, replacement: "D:/deepseek-harness/packages/shell/pwsh-sandbox/package.json" }, + { find: /^@deepseek-ai\/dsh-remote-mock$/, replacement: "D:/deepseek-harness/packages/test-support/remote-mock/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-remote-mock\/package\.json$/, replacement: "D:/deepseek-harness/packages/test-support/remote-mock/package.json" }, { find: /^@deepseek-ai\/dsh-repeat-tool-reminder$/, replacement: "D:/deepseek-harness/packages/guard/repeat-tool-reminder/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-repeat-tool-reminder\/invariant$/, replacement: "D:/deepseek-harness/packages/guard/repeat-tool-reminder/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-repeat-tool-reminder\/package\.json$/, replacement: "D:/deepseek-harness/packages/guard/repeat-tool-reminder/package.json" }, { find: /^@deepseek-ai\/dsh-sandbox$/, replacement: "D:/deepseek-harness/packages/sandbox/sandbox/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-sandbox\/invariant$/, replacement: "D:/deepseek-harness/packages/sandbox/sandbox/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-sandbox\/package\.json$/, replacement: "D:/deepseek-harness/packages/sandbox/sandbox/package.json" }, { find: /^@deepseek-ai\/dsh-sandbox-local$/, replacement: "D:/deepseek-harness/packages/sandbox/sandbox-local/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-sandbox-local\/invariant$/, replacement: "D:/deepseek-harness/packages/sandbox/sandbox-local/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-sandbox-local\/package\.json$/, replacement: "D:/deepseek-harness/packages/sandbox/sandbox-local/package.json" }, { find: /^@deepseek-ai\/dsh-sandbox-policy$/, replacement: "D:/deepseek-harness/packages/sandbox/sandbox-policy/lib/index.js" }, { find: /^@deepseek-ai\/dsh-sandbox-policy\/invariant$/, replacement: "D:/deepseek-harness/packages/sandbox/sandbox-policy/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-sandbox-policy\/package\.json$/, replacement: "D:/deepseek-harness/packages/sandbox/sandbox-policy/package.json" }, + { find: /^@deepseek-ai\/dsh-sandbox-ssh$/, replacement: "D:/deepseek-harness/packages/ssh/sandbox-ssh/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-sandbox-ssh\/package\.json$/, replacement: "D:/deepseek-harness/packages/ssh/sandbox-ssh/package.json" }, { find: /^@deepseek-ai\/dsh-sandbox-windows-acl$/, replacement: "D:/deepseek-harness/packages/sandbox/sandbox-windows-acl/lib/index.js" }, { find: /^@deepseek-ai\/dsh-sandbox-windows-acl\/runner$/, replacement: "D:/deepseek-harness/packages/sandbox/sandbox-windows-acl/lib/runner.js" }, - { find: /^@deepseek-ai\/dsh-sandbox-windows-acl\/invariant$/, replacement: "D:/deepseek-harness/packages/sandbox/sandbox-windows-acl/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-sandbox-windows-acl\/package\.json$/, replacement: "D:/deepseek-harness/packages/sandbox/sandbox-windows-acl/package.json" }, { find: /^@deepseek-ai\/dsh-schedule$/, replacement: "D:/deepseek-harness/packages/schedule/schedule/lib/index.js" }, { find: /^@deepseek-ai\/dsh-schedule\/invariant$/, replacement: "D:/deepseek-harness/packages/schedule/schedule/lib/invariant.js" }, + { find: /^@deepseek-ai\/dsh-schedule\/client$/, replacement: "D:/deepseek-harness/packages/schedule/schedule/lib/types/client.js" }, { find: /^@deepseek-ai\/dsh-schedule\/package\.json$/, replacement: "D:/deepseek-harness/packages/schedule/schedule/package.json" }, { find: /^@deepseek-ai\/dsh-scope$/, replacement: "D:/deepseek-harness/packages/core/scope/lib/index.js" }, { find: /^@deepseek-ai\/dsh-scope\/invariant$/, replacement: "D:/deepseek-harness/packages/core/scope/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-scope\/package\.json$/, replacement: "D:/deepseek-harness/packages/core/scope/package.json" }, { find: /^@deepseek-ai\/dsh-sdk-app$/, replacement: "D:/deepseek-harness/packages/bundle/sdk-app/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-sdk-app\/invariant$/, replacement: "D:/deepseek-harness/packages/bundle/sdk-app/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-sdk-app\/cordis\.patch\.yml$/, replacement: "D:/deepseek-harness/packages/bundle/sdk-app/cordis.patch.yml" }, { find: /^@deepseek-ai\/dsh-sdk-app\/package\.json$/, replacement: "D:/deepseek-harness/packages/bundle/sdk-app/package.json" }, { find: /^@deepseek-ai\/dsh-sdk-client$/, replacement: "D:/deepseek-harness/packages/sdk/client/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-sdk-client\/invariant$/, replacement: "D:/deepseek-harness/packages/sdk/client/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-sdk-client\/package\.json$/, replacement: "D:/deepseek-harness/packages/sdk/client/package.json" }, { find: /^@deepseek-ai\/dsh-sdk-jsonrpc-server$/, replacement: "D:/deepseek-harness/packages/sdk/server/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-sdk-jsonrpc-server\/invariant$/, replacement: "D:/deepseek-harness/packages/sdk/server/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-sdk-jsonrpc-server\/package\.json$/, replacement: "D:/deepseek-harness/packages/sdk/server/package.json" }, { find: /^@deepseek-ai\/dsh-sdk-minimal$/, replacement: "D:/deepseek-harness/packages/bundle/sdk-minimal/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-sdk-minimal\/invariant$/, replacement: "D:/deepseek-harness/packages/bundle/sdk-minimal/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-sdk-minimal\/cordis\.patch\.yml$/, replacement: "D:/deepseek-harness/packages/bundle/sdk-minimal/cordis.patch.yml" }, { find: /^@deepseek-ai\/dsh-sdk-minimal\/package\.json$/, replacement: "D:/deepseek-harness/packages/bundle/sdk-minimal/package.json" }, { find: /^@deepseek-ai\/dsh-sdk-protocol$/, replacement: "D:/deepseek-harness/packages/sdk/protocol/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-sdk-protocol\/invariant$/, replacement: "D:/deepseek-harness/packages/sdk/protocol/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-sdk-protocol\/package\.json$/, replacement: "D:/deepseek-harness/packages/sdk/protocol/package.json" }, { find: /^@deepseek-ai\/dsh-session$/, replacement: "D:/deepseek-harness/packages/core/session/lib/index.js" }, { find: /^@deepseek-ai\/dsh-session\/invariant$/, replacement: "D:/deepseek-harness/packages/core/session/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-session\/types$/, replacement: "D:/deepseek-harness/packages/core/session/lib/types/types.js" }, - { find: /^@deepseek-ai\/dsh-session\/chunk-rows$/, replacement: "D:/deepseek-harness/packages/core/session/lib/types/chunk-rows.js" }, { find: /^@deepseek-ai\/dsh-session\/package\.json$/, replacement: "D:/deepseek-harness/packages/core/session/package.json" }, { find: /^@deepseek-ai\/dsh-session\/surface$/, replacement: "D:/deepseek-harness/packages/core/session/lib/types/surface.js" }, { find: /^@deepseek-ai\/dsh-session-checkpoint-policy$/, replacement: "D:/deepseek-harness/packages/session/session-checkpoint-policy/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-session-checkpoint-policy\/invariant$/, replacement: "D:/deepseek-harness/packages/session/session-checkpoint-policy/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-session-checkpoint-policy\/package\.json$/, replacement: "D:/deepseek-harness/packages/session/session-checkpoint-policy/package.json" }, + { find: /^@deepseek-ai\/dsh-session-format$/, replacement: "D:/deepseek-harness/packages/session/session-format/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-session-format\/package\.json$/, replacement: "D:/deepseek-harness/packages/session/session-format/package.json" }, + { find: /^@deepseek-ai\/dsh-session-format-catalog$/, replacement: "D:/deepseek-harness/packages/session/session-format-catalog/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-session-format-catalog\/package\.json$/, replacement: "D:/deepseek-harness/packages/session/session-format-catalog/package.json" }, + { find: /^@deepseek-ai\/dsh-session-format-catalog\/message-projections$/, replacement: "D:/deepseek-harness/packages/session/session-format-catalog/lib/types/message-projections.js" }, + { find: /^@deepseek-ai\/dsh-session-format-v0-to-v1$/, replacement: "D:/deepseek-harness/packages/session/session-format-v0-to-v1/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-session-format-v0-to-v1\/package\.json$/, replacement: "D:/deepseek-harness/packages/session/session-format-v0-to-v1/package.json" }, + { find: /^@deepseek-ai\/dsh-session-format-v1-to-v2$/, replacement: "D:/deepseek-harness/packages/session/session-format-v1-to-v2/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-session-format-v1-to-v2\/package\.json$/, replacement: "D:/deepseek-harness/packages/session/session-format-v1-to-v2/package.json" }, + { find: /^@deepseek-ai\/dsh-session-format-v2-to-v3$/, replacement: "D:/deepseek-harness/packages/session/session-format-v2-to-v3/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-session-format-v2-to-v3\/package\.json$/, replacement: "D:/deepseek-harness/packages/session/session-format-v2-to-v3/package.json" }, { find: /^@deepseek-ai\/dsh-session-log-deepseek$/, replacement: "D:/deepseek-harness/packages/session/session-log-deepseek/lib/index.js" }, { find: /^@deepseek-ai\/dsh-session-log-deepseek\/invariant$/, replacement: "D:/deepseek-harness/packages/session/session-log-deepseek/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-session-log-deepseek\/types$/, replacement: "D:/deepseek-harness/packages/session/session-log-deepseek/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-session-log-deepseek\/package\.json$/, replacement: "D:/deepseek-harness/packages/session/session-log-deepseek/package.json" }, { find: /^@deepseek-ai\/dsh-session-log-export$/, replacement: "D:/deepseek-harness/packages/session-query/session-log-export/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-session-log-export\/invariant$/, replacement: "D:/deepseek-harness/packages/session-query/session-log-export/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-session-log-export\/client$/, replacement: "D:/deepseek-harness/packages/session-query/session-log-export/lib/client.js" }, { find: /^@deepseek-ai\/dsh-session-log-export\/package\.json$/, replacement: "D:/deepseek-harness/packages/session-query/session-log-export/package.json" }, { find: /^@deepseek-ai\/dsh-session-persistence$/, replacement: "D:/deepseek-harness/packages/session/session-persistence/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-session-persistence\/invariant$/, replacement: "D:/deepseek-harness/packages/session/session-persistence/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-session-persistence\/package\.json$/, replacement: "D:/deepseek-harness/packages/session/session-persistence/package.json" }, { find: /^@deepseek-ai\/dsh-session-persistence-jsonl$/, replacement: "D:/deepseek-harness/packages/session/session-persistence-jsonl/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-session-persistence-jsonl\/invariant$/, replacement: "D:/deepseek-harness/packages/session/session-persistence-jsonl/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-session-persistence-jsonl\/package\.json$/, replacement: "D:/deepseek-harness/packages/session/session-persistence-jsonl/package.json" }, - { find: /^@deepseek-ai\/dsh-session-persistence-sqlite$/, replacement: "D:/deepseek-harness/packages/session/session-persistence-sqlite/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-session-persistence-sqlite\/invariant$/, replacement: "D:/deepseek-harness/packages/session/session-persistence-sqlite/lib/invariant.js" }, - { find: /^@deepseek-ai\/dsh-session-persistence-sqlite\/package\.json$/, replacement: "D:/deepseek-harness/packages/session/session-persistence-sqlite/package.json" }, { find: /^@deepseek-ai\/dsh-session-projection$/, replacement: "D:/deepseek-harness/packages/session/session-projection/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-session-projection\/invariant$/, replacement: "D:/deepseek-harness/packages/session/session-projection/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-session-projection\/types$/, replacement: "D:/deepseek-harness/packages/session/session-projection/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-session-projection\/package\.json$/, replacement: "D:/deepseek-harness/packages/session/session-projection/package.json" }, { find: /^@deepseek-ai\/dsh-session-projection-cache$/, replacement: "D:/deepseek-harness/packages/session/session-projection-cache/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-session-projection-cache\/invariant$/, replacement: "D:/deepseek-harness/packages/session/session-projection-cache/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-session-projection-cache\/package\.json$/, replacement: "D:/deepseek-harness/packages/session/session-projection-cache/package.json" }, { find: /^@deepseek-ai\/dsh-session-query$/, replacement: "D:/deepseek-harness/packages/session-query/session-query/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-session-query\/invariant$/, replacement: "D:/deepseek-harness/packages/session-query/session-query/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-session-query\/package\.json$/, replacement: "D:/deepseek-harness/packages/session-query/session-query/package.json" }, { find: /^@deepseek-ai\/dsh-session-query-sqlite$/, replacement: "D:/deepseek-harness/packages/session-query/session-query-sqlite/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-session-query-sqlite\/invariant$/, replacement: "D:/deepseek-harness/packages/session-query/session-query-sqlite/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-session-query-sqlite\/package\.json$/, replacement: "D:/deepseek-harness/packages/session-query/session-query-sqlite/package.json" }, { find: /^@deepseek-ai\/dsh-session-reference$/, replacement: "D:/deepseek-harness/packages/context/session-reference/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-session-reference\/invariant$/, replacement: "D:/deepseek-harness/packages/context/session-reference/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-session-reference\/types$/, replacement: "D:/deepseek-harness/packages/context/session-reference/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-session-reference\/typert$/, replacement: "D:/deepseek-harness/packages/context/session-reference/lib/typert.host.js" }, { find: /^@deepseek-ai\/dsh-session-reference\/remote$/, replacement: "D:/deepseek-harness/packages/context/session-reference/lib/typert.remote-client.js" }, { find: /^@deepseek-ai\/dsh-session-reference\/package\.json$/, replacement: "D:/deepseek-harness/packages/context/session-reference/package.json" }, { find: /^@deepseek-ai\/dsh-session-snapshot$/, replacement: "D:/deepseek-harness/packages/test-support/session-snapshot/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-session-snapshot\/invariant$/, replacement: "D:/deepseek-harness/packages/test-support/session-snapshot/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-session-snapshot\/package\.json$/, replacement: "D:/deepseek-harness/packages/test-support/session-snapshot/package.json" }, { find: /^@deepseek-ai\/dsh-session-stats$/, replacement: "D:/deepseek-harness/packages/session/session-stats/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-session-stats\/invariant$/, replacement: "D:/deepseek-harness/packages/session/session-stats/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-session-stats\/types$/, replacement: "D:/deepseek-harness/packages/session/session-stats/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-session-stats\/client$/, replacement: "D:/deepseek-harness/packages/session/session-stats/lib/types/client.js" }, { find: /^@deepseek-ai\/dsh-session-stats\/package\.json$/, replacement: "D:/deepseek-harness/packages/session/session-stats/package.json" }, { find: /^@deepseek-ai\/dsh-session-telemetry$/, replacement: "D:/deepseek-harness/packages/session/session-telemetry/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-session-telemetry\/invariant$/, replacement: "D:/deepseek-harness/packages/session/session-telemetry/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-session-telemetry\/package\.json$/, replacement: "D:/deepseek-harness/packages/session/session-telemetry/package.json" }, { find: /^@deepseek-ai\/dsh-session-telemetry-otel$/, replacement: "D:/deepseek-harness/packages/session/session-telemetry-otel/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-session-telemetry-otel\/invariant$/, replacement: "D:/deepseek-harness/packages/session/session-telemetry-otel/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-session-telemetry-otel\/package\.json$/, replacement: "D:/deepseek-harness/packages/session/session-telemetry-otel/package.json" }, { find: /^@deepseek-ai\/dsh-session-title$/, replacement: "D:/deepseek-harness/packages/session/session-title/lib/index.js" }, { find: /^@deepseek-ai\/dsh-session-title\/invariant$/, replacement: "D:/deepseek-harness/packages/session/session-title/lib/invariant.js" }, @@ -654,183 +635,150 @@ export const aliases = [ { find: /^@deepseek-ai\/dsh-session-title\/client$/, replacement: "D:/deepseek-harness/packages/session/session-title/lib/types/client.js" }, { find: /^@deepseek-ai\/dsh-session-title\/package\.json$/, replacement: "D:/deepseek-harness/packages/session/session-title/package.json" }, { find: /^@deepseek-ai\/dsh-session-title-all-prompts-llm$/, replacement: "D:/deepseek-harness/packages/session/session-title-all-prompts-llm/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-session-title-all-prompts-llm\/invariant$/, replacement: "D:/deepseek-harness/packages/session/session-title-all-prompts-llm/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-session-title-all-prompts-llm\/package\.json$/, replacement: "D:/deepseek-harness/packages/session/session-title-all-prompts-llm/package.json" }, { find: /^@deepseek-ai\/dsh-session-title-first-prompt-llm$/, replacement: "D:/deepseek-harness/packages/session/session-title-first-prompt-llm/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-session-title-first-prompt-llm\/invariant$/, replacement: "D:/deepseek-harness/packages/session/session-title-first-prompt-llm/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-session-title-first-prompt-llm\/package\.json$/, replacement: "D:/deepseek-harness/packages/session/session-title-first-prompt-llm/package.json" }, { find: /^@deepseek-ai\/dsh-session-title-llm$/, replacement: "D:/deepseek-harness/packages/session/session-title-llm/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-session-title-llm\/invariant$/, replacement: "D:/deepseek-harness/packages/session/session-title-llm/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-session-title-llm\/package\.json$/, replacement: "D:/deepseek-harness/packages/session/session-title-llm/package.json" }, + { find: /^@deepseek-ai\/dsh-session-turn-outline$/, replacement: "D:/deepseek-harness/packages/session/session-turn-outline/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-session-turn-outline\/types$/, replacement: "D:/deepseek-harness/packages/session/session-turn-outline/lib/types/types.js" }, + { find: /^@deepseek-ai\/dsh-session-turn-outline\/client$/, replacement: "D:/deepseek-harness/packages/session/session-turn-outline/lib/types/client.js" }, + { find: /^@deepseek-ai\/dsh-session-turn-outline\/package\.json$/, replacement: "D:/deepseek-harness/packages/session/session-turn-outline/package.json" }, { find: /^@deepseek-ai\/dsh-settings$/, replacement: "D:/deepseek-harness/packages/settings/settings/lib/index.js" }, { find: /^@deepseek-ai\/dsh-settings\/invariant$/, replacement: "D:/deepseek-harness/packages/settings/settings/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-settings\/types$/, replacement: "D:/deepseek-harness/packages/settings/settings/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-settings\/package\.json$/, replacement: "D:/deepseek-harness/packages/settings/settings/package.json" }, { find: /^@deepseek-ai\/dsh-settings-file$/, replacement: "D:/deepseek-harness/packages/settings/settings-file/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-settings-file\/invariant$/, replacement: "D:/deepseek-harness/packages/settings/settings-file/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-settings-file\/package\.json$/, replacement: "D:/deepseek-harness/packages/settings/settings-file/package.json" }, { find: /^@deepseek-ai\/dsh-shell$/, replacement: "D:/deepseek-harness/packages/shell/shell/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-shell\/invariant$/, replacement: "D:/deepseek-harness/packages/shell/shell/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-shell\/package\.json$/, replacement: "D:/deepseek-harness/packages/shell/shell/package.json" }, { find: /^@deepseek-ai\/dsh-shell-env$/, replacement: "D:/deepseek-harness/packages/shell/shell-env/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-shell-env\/invariant$/, replacement: "D:/deepseek-harness/packages/shell/shell-env/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-shell-env\/package\.json$/, replacement: "D:/deepseek-harness/packages/shell/shell-env/package.json" }, { find: /^@deepseek-ai\/dsh-skill$/, replacement: "D:/deepseek-harness/packages/skill/skill/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-skill\/invariant$/, replacement: "D:/deepseek-harness/packages/skill/skill/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-skill\/package\.json$/, replacement: "D:/deepseek-harness/packages/skill/skill/package.json" }, { find: /^@deepseek-ai\/dsh-skill-badge$/, replacement: "D:/deepseek-harness/packages/skill/skill-badge/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-skill-badge\/invariant$/, replacement: "D:/deepseek-harness/packages/skill/skill-badge/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-skill-badge\/package\.json$/, replacement: "D:/deepseek-harness/packages/skill/skill-badge/package.json" }, { find: /^@deepseek-ai\/dsh-skill-filesystem$/, replacement: "D:/deepseek-harness/packages/skill/skill-filesystem/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-skill-filesystem\/invariant$/, replacement: "D:/deepseek-harness/packages/skill/skill-filesystem/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-skill-filesystem\/package\.json$/, replacement: "D:/deepseek-harness/packages/skill/skill-filesystem/package.json" }, + { find: /^@deepseek-ai\/dsh-skill-office$/, replacement: "D:/deepseek-harness/packages/skill/skill-office/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-skill-office\/package\.json$/, replacement: "D:/deepseek-harness/packages/skill/skill-office/package.json" }, { find: /^@deepseek-ai\/dsh-spill$/, replacement: "D:/deepseek-harness/packages/spill/spill/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-spill\/invariant$/, replacement: "D:/deepseek-harness/packages/spill/spill/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-spill\/package\.json$/, replacement: "D:/deepseek-harness/packages/spill/spill/package.json" }, { find: /^@deepseek-ai\/dsh-spill-local$/, replacement: "D:/deepseek-harness/packages/spill/spill-local/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-spill-local\/invariant$/, replacement: "D:/deepseek-harness/packages/spill/spill-local/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-spill-local\/package\.json$/, replacement: "D:/deepseek-harness/packages/spill/spill-local/package.json" }, { find: /^@deepseek-ai\/dsh-spill-policy$/, replacement: "D:/deepseek-harness/packages/spill/spill-policy/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-spill-policy\/invariant$/, replacement: "D:/deepseek-harness/packages/spill/spill-policy/lib/invariant.js" }, + { find: /^@deepseek-ai\/dsh-spill-policy\/notice$/, replacement: "D:/deepseek-harness/packages/spill/spill-policy/lib/types/notice.js" }, { find: /^@deepseek-ai\/dsh-spill-policy\/package\.json$/, replacement: "D:/deepseek-harness/packages/spill/spill-policy/package.json" }, + { find: /^@deepseek-ai\/dsh-ssh$/, replacement: "D:/deepseek-harness/packages/ssh/ssh/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-ssh\/package\.json$/, replacement: "D:/deepseek-harness/packages/ssh/ssh/package.json" }, + { find: /^@deepseek-ai\/dsh-ssh\/helper$/, replacement: "D:/deepseek-harness/packages/ssh/ssh/lib/helper.js" }, + { find: /^@deepseek-ai\/dsh-ssh\/protocol$/, replacement: "D:/deepseek-harness/packages/ssh/ssh/lib/protocol.js" }, + { find: /^@deepseek-ai\/dsh-ssh\/schemas$/, replacement: "D:/deepseek-harness/packages/ssh/ssh/lib/schemas.js" }, { find: /^@deepseek-ai\/dsh-storage$/, replacement: "D:/deepseek-harness/packages/storage/storage/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-storage\/invariant$/, replacement: "D:/deepseek-harness/packages/storage/storage/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-storage\/package\.json$/, replacement: "D:/deepseek-harness/packages/storage/storage/package.json" }, { find: /^@deepseek-ai\/dsh-storage-domain$/, replacement: "D:/deepseek-harness/packages/storage/storage-domain/lib/index.js" }, { find: /^@deepseek-ai\/dsh-storage-domain\/invariant$/, replacement: "D:/deepseek-harness/packages/storage/storage-domain/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-storage-domain\/package\.json$/, replacement: "D:/deepseek-harness/packages/storage/storage-domain/package.json" }, { find: /^@deepseek-ai\/dsh-storage-json$/, replacement: "D:/deepseek-harness/packages/storage/storage-json/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-storage-json\/invariant$/, replacement: "D:/deepseek-harness/packages/storage/storage-json/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-storage-json\/package\.json$/, replacement: "D:/deepseek-harness/packages/storage/storage-json/package.json" }, { find: /^@deepseek-ai\/dsh-storage-sqlite$/, replacement: "D:/deepseek-harness/packages/storage/storage-sqlite/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-storage-sqlite\/invariant$/, replacement: "D:/deepseek-harness/packages/storage/storage-sqlite/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-storage-sqlite\/package\.json$/, replacement: "D:/deepseek-harness/packages/storage/storage-sqlite/package.json" }, { find: /^@deepseek-ai\/dsh-subagent$/, replacement: "D:/deepseek-harness/packages/subagent/subagent/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-subagent\/internal$/, replacement: "D:/deepseek-harness/packages/subagent/subagent/lib/types/internal.js" }, { find: /^@deepseek-ai\/dsh-subagent\/invariant$/, replacement: "D:/deepseek-harness/packages/subagent/subagent/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-subagent\/client$/, replacement: "D:/deepseek-harness/packages/subagent/subagent/lib/types/client.js" }, { find: /^@deepseek-ai\/dsh-subagent\/typert$/, replacement: "D:/deepseek-harness/packages/subagent/subagent/lib/typert.host.js" }, { find: /^@deepseek-ai\/dsh-subagent\/remote$/, replacement: "D:/deepseek-harness/packages/subagent/subagent/lib/typert.remote-client.js" }, { find: /^@deepseek-ai\/dsh-subagent\/package\.json$/, replacement: "D:/deepseek-harness/packages/subagent/subagent/package.json" }, { find: /^@deepseek-ai\/dsh-subagent-acp$/, replacement: "D:/deepseek-harness/packages/subagent/subagent-acp/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-subagent-acp\/invariant$/, replacement: "D:/deepseek-harness/packages/subagent/subagent-acp/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-subagent-acp\/package\.json$/, replacement: "D:/deepseek-harness/packages/subagent/subagent-acp/package.json" }, { find: /^@deepseek-ai\/dsh-subagent-claude-code$/, replacement: "D:/deepseek-harness/packages/subagent/subagent-claude-code/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-subagent-claude-code\/invariant$/, replacement: "D:/deepseek-harness/packages/subagent/subagent-claude-code/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-subagent-claude-code\/package\.json$/, replacement: "D:/deepseek-harness/packages/subagent/subagent-claude-code/package.json" }, { find: /^@deepseek-ai\/dsh-subagent-codex$/, replacement: "D:/deepseek-harness/packages/subagent/subagent-codex/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-subagent-codex\/invariant$/, replacement: "D:/deepseek-harness/packages/subagent/subagent-codex/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-subagent-codex\/package\.json$/, replacement: "D:/deepseek-harness/packages/subagent/subagent-codex/package.json" }, { find: /^@deepseek-ai\/dsh-subagent-dsh-sdk$/, replacement: "D:/deepseek-harness/packages/subagent/subagent-dsh-sdk/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-subagent-dsh-sdk\/invariant$/, replacement: "D:/deepseek-harness/packages/subagent/subagent-dsh-sdk/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-subagent-dsh-sdk\/package\.json$/, replacement: "D:/deepseek-harness/packages/subagent/subagent-dsh-sdk/package.json" }, { find: /^@deepseek-ai\/dsh-subagent-fork-in-process$/, replacement: "D:/deepseek-harness/packages/subagent/subagent-fork-in-process/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-subagent-fork-in-process\/invariant$/, replacement: "D:/deepseek-harness/packages/subagent/subagent-fork-in-process/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-subagent-fork-in-process\/package\.json$/, replacement: "D:/deepseek-harness/packages/subagent/subagent-fork-in-process/package.json" }, { find: /^@deepseek-ai\/dsh-subagent-in-process-driver$/, replacement: "D:/deepseek-harness/packages/subagent/subagent-in-process-driver/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-subagent-in-process-driver\/invariant$/, replacement: "D:/deepseek-harness/packages/subagent/subagent-in-process-driver/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-subagent-in-process-driver\/package\.json$/, replacement: "D:/deepseek-harness/packages/subagent/subagent-in-process-driver/package.json" }, { find: /^@deepseek-ai\/dsh-subagent-spawn-in-process$/, replacement: "D:/deepseek-harness/packages/subagent/subagent-spawn-in-process/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-subagent-spawn-in-process\/invariant$/, replacement: "D:/deepseek-harness/packages/subagent/subagent-spawn-in-process/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-subagent-spawn-in-process\/package\.json$/, replacement: "D:/deepseek-harness/packages/subagent/subagent-spawn-in-process/package.json" }, { find: /^@deepseek-ai\/dsh-subprocess$/, replacement: "D:/deepseek-harness/packages/subprocess/subprocess/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-subprocess\/invariant$/, replacement: "D:/deepseek-harness/packages/subprocess/subprocess/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-subprocess\/package\.json$/, replacement: "D:/deepseek-harness/packages/subprocess/subprocess/package.json" }, - { find: /^@deepseek-ai\/dsh-subprocess-e2b$/, replacement: "D:/deepseek-harness/packages/e2b/subprocess-e2b/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-subprocess-e2b\/invariant$/, replacement: "D:/deepseek-harness/packages/e2b/subprocess-e2b/lib/invariant.js" }, - { find: /^@deepseek-ai\/dsh-subprocess-e2b\/package\.json$/, replacement: "D:/deepseek-harness/packages/e2b/subprocess-e2b/package.json" }, + { find: /^@deepseek-ai\/dsh-subprocess\/control$/, replacement: "D:/deepseek-harness/packages/subprocess/subprocess/lib/control.js" }, { find: /^@deepseek-ai\/dsh-subprocess-local$/, replacement: "D:/deepseek-harness/packages/subprocess/subprocess-local/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-subprocess-local\/invariant$/, replacement: "D:/deepseek-harness/packages/subprocess/subprocess-local/lib/invariant.js" }, + { find: /^@deepseek-ai\/dsh-subprocess-local\/runner$/, replacement: "D:/deepseek-harness/packages/subprocess/subprocess-local/lib/runner.js" }, { find: /^@deepseek-ai\/dsh-subprocess-local\/package\.json$/, replacement: "D:/deepseek-harness/packages/subprocess/subprocess-local/package.json" }, + { find: /^@deepseek-ai\/dsh-subprocess-local\/output$/, replacement: "D:/deepseek-harness/packages/subprocess/subprocess-local/lib/output.js" }, + { find: /^@deepseek-ai\/dsh-subprocess-ssh$/, replacement: "D:/deepseek-harness/packages/ssh/subprocess-ssh/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-subprocess-ssh\/package\.json$/, replacement: "D:/deepseek-harness/packages/ssh/subprocess-ssh/package.json" }, { find: /^@deepseek-ai\/dsh-system-prompt$/, replacement: "D:/deepseek-harness/packages/core/system-prompt/lib/index.js" }, { find: /^@deepseek-ai\/dsh-system-prompt\/invariant$/, replacement: "D:/deepseek-harness/packages/core/system-prompt/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-system-prompt\/package\.json$/, replacement: "D:/deepseek-harness/packages/core/system-prompt/package.json" }, { find: /^@deepseek-ai\/dsh-terminal$/, replacement: "D:/deepseek-harness/packages/terminal/terminal/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-terminal\/invariant$/, replacement: "D:/deepseek-harness/packages/terminal/terminal/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-terminal\/package\.json$/, replacement: "D:/deepseek-harness/packages/terminal/terminal/package.json" }, { find: /^@deepseek-ai\/dsh-terminal-bash$/, replacement: "D:/deepseek-harness/packages/terminal/terminal-bash/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-terminal-bash\/invariant$/, replacement: "D:/deepseek-harness/packages/terminal/terminal-bash/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-terminal-bash\/package\.json$/, replacement: "D:/deepseek-harness/packages/terminal/terminal-bash/package.json" }, { find: /^@deepseek-ai\/dsh-time-context$/, replacement: "D:/deepseek-harness/packages/context/time-context/lib/index.js" }, { find: /^@deepseek-ai\/dsh-time-context\/invariant$/, replacement: "D:/deepseek-harness/packages/context/time-context/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-time-context\/package\.json$/, replacement: "D:/deepseek-harness/packages/context/time-context/package.json" }, { find: /^@deepseek-ai\/dsh-timeout$/, replacement: "D:/deepseek-harness/packages/util/timeout/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-timeout\/invariant$/, replacement: "D:/deepseek-harness/packages/util/timeout/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-timeout\/package\.json$/, replacement: "D:/deepseek-harness/packages/util/timeout/package.json" }, { find: /^@deepseek-ai\/dsh-tmux-context$/, replacement: "D:/deepseek-harness/packages/context/tmux-context/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-tmux-context\/invariant$/, replacement: "D:/deepseek-harness/packages/context/tmux-context/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-tmux-context\/package\.json$/, replacement: "D:/deepseek-harness/packages/context/tmux-context/package.json" }, { find: /^@deepseek-ai\/dsh-token-meter$/, replacement: "D:/deepseek-harness/packages/llm/token-meter/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-token-meter\/invariant$/, replacement: "D:/deepseek-harness/packages/llm/token-meter/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-token-meter\/client$/, replacement: "D:/deepseek-harness/packages/llm/token-meter/lib/types/client.js" }, { find: /^@deepseek-ai\/dsh-token-meter\/package\.json$/, replacement: "D:/deepseek-harness/packages/llm/token-meter/package.json" }, { find: /^@deepseek-ai\/dsh-tool-ask-user$/, replacement: "D:/deepseek-harness/packages/interaction/tool-ask-user/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-tool-ask-user\/invariant$/, replacement: "D:/deepseek-harness/packages/interaction/tool-ask-user/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-tool-ask-user\/package\.json$/, replacement: "D:/deepseek-harness/packages/interaction/tool-ask-user/package.json" }, { find: /^@deepseek-ai\/dsh-tool-bash$/, replacement: "D:/deepseek-harness/packages/shell/tool-bash/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-tool-bash\/invariant$/, replacement: "D:/deepseek-harness/packages/shell/tool-bash/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-tool-bash\/package\.json$/, replacement: "D:/deepseek-harness/packages/shell/tool-bash/package.json" }, { find: /^@deepseek-ai\/dsh-tool-bash-persistent$/, replacement: "D:/deepseek-harness/packages/shell/tool-bash-persistent/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-tool-bash-persistent\/invariant$/, replacement: "D:/deepseek-harness/packages/shell/tool-bash-persistent/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-tool-bash-persistent\/package\.json$/, replacement: "D:/deepseek-harness/packages/shell/tool-bash-persistent/package.json" }, { find: /^@deepseek-ai\/dsh-tool-call-timeout-policy$/, replacement: "D:/deepseek-harness/packages/guard/timeout-policy/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-tool-call-timeout-policy\/invariant$/, replacement: "D:/deepseek-harness/packages/guard/timeout-policy/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-tool-call-timeout-policy\/package\.json$/, replacement: "D:/deepseek-harness/packages/guard/timeout-policy/package.json" }, { find: /^@deepseek-ai\/dsh-tool-cordis$/, replacement: "D:/deepseek-harness/packages/extensions/tool-cordis/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-tool-cordis\/invariant$/, replacement: "D:/deepseek-harness/packages/extensions/tool-cordis/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-tool-cordis\/package\.json$/, replacement: "D:/deepseek-harness/packages/extensions/tool-cordis/package.json" }, { find: /^@deepseek-ai\/dsh-tool-fs$/, replacement: "D:/deepseek-harness/packages/fs/tool-fs/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-tool-fs\/invariant$/, replacement: "D:/deepseek-harness/packages/fs/tool-fs/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-tool-fs\/package\.json$/, replacement: "D:/deepseek-harness/packages/fs/tool-fs/package.json" }, { find: /^@deepseek-ai\/dsh-tool-fs-search$/, replacement: "D:/deepseek-harness/packages/fs/tool-fs-search/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-tool-fs-search\/invariant$/, replacement: "D:/deepseek-harness/packages/fs/tool-fs-search/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-tool-fs-search\/package\.json$/, replacement: "D:/deepseek-harness/packages/fs/tool-fs-search/package.json" }, { find: /^@deepseek-ai\/dsh-tool-goal$/, replacement: "D:/deepseek-harness/packages/goal/tool-goal/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-tool-goal\/invariant$/, replacement: "D:/deepseek-harness/packages/goal/tool-goal/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-tool-goal\/package\.json$/, replacement: "D:/deepseek-harness/packages/goal/tool-goal/package.json" }, { find: /^@deepseek-ai\/dsh-tool-jobs$/, replacement: "D:/deepseek-harness/packages/jobs/tool-jobs/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-tool-jobs\/invariant$/, replacement: "D:/deepseek-harness/packages/jobs/tool-jobs/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-tool-jobs\/package\.json$/, replacement: "D:/deepseek-harness/packages/jobs/tool-jobs/package.json" }, { find: /^@deepseek-ai\/dsh-tool-lsp$/, replacement: "D:/deepseek-harness/packages/lsp/tool-lsp/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-tool-lsp\/invariant$/, replacement: "D:/deepseek-harness/packages/lsp/tool-lsp/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-tool-lsp\/package\.json$/, replacement: "D:/deepseek-harness/packages/lsp/tool-lsp/package.json" }, + { find: /^@deepseek-ai\/dsh-tool-present$/, replacement: "D:/deepseek-harness/packages/deliverables/tool-present/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-tool-present\/types$/, replacement: "D:/deepseek-harness/packages/deliverables/tool-present/lib/types/types.js" }, + { find: /^@deepseek-ai\/dsh-tool-present\/package\.json$/, replacement: "D:/deepseek-harness/packages/deliverables/tool-present/package.json" }, { find: /^@deepseek-ai\/dsh-tool-pwsh$/, replacement: "D:/deepseek-harness/packages/shell/tool-pwsh/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-tool-pwsh\/invariant$/, replacement: "D:/deepseek-harness/packages/shell/tool-pwsh/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-tool-pwsh\/package\.json$/, replacement: "D:/deepseek-harness/packages/shell/tool-pwsh/package.json" }, { find: /^@deepseek-ai\/dsh-tool-pwsh-persistent$/, replacement: "D:/deepseek-harness/packages/shell/tool-pwsh-persistent/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-tool-pwsh-persistent\/invariant$/, replacement: "D:/deepseek-harness/packages/shell/tool-pwsh-persistent/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-tool-pwsh-persistent\/package\.json$/, replacement: "D:/deepseek-harness/packages/shell/tool-pwsh-persistent/package.json" }, { find: /^@deepseek-ai\/dsh-tool-ralph$/, replacement: "D:/deepseek-harness/packages/workflow/tool-ralph/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-tool-ralph\/invariant$/, replacement: "D:/deepseek-harness/packages/workflow/tool-ralph/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-tool-ralph\/package\.json$/, replacement: "D:/deepseek-harness/packages/workflow/tool-ralph/package.json" }, { find: /^@deepseek-ai\/dsh-tool-session-query$/, replacement: "D:/deepseek-harness/packages/session-query/tool-session-query/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-tool-session-query\/invariant$/, replacement: "D:/deepseek-harness/packages/session-query/tool-session-query/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-tool-session-query\/package\.json$/, replacement: "D:/deepseek-harness/packages/session-query/tool-session-query/package.json" }, { find: /^@deepseek-ai\/dsh-tool-skill$/, replacement: "D:/deepseek-harness/packages/skill/tool-skill/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-tool-skill\/invariant$/, replacement: "D:/deepseek-harness/packages/skill/tool-skill/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-tool-skill\/package\.json$/, replacement: "D:/deepseek-harness/packages/skill/tool-skill/package.json" }, { find: /^@deepseek-ai\/dsh-tool-str-replace-editor$/, replacement: "D:/deepseek-harness/packages/fs/tool-str-replace-editor/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-tool-str-replace-editor\/invariant$/, replacement: "D:/deepseek-harness/packages/fs/tool-str-replace-editor/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-tool-str-replace-editor\/package\.json$/, replacement: "D:/deepseek-harness/packages/fs/tool-str-replace-editor/package.json" }, { find: /^@deepseek-ai\/dsh-tool-subagent$/, replacement: "D:/deepseek-harness/packages/subagent/tool-subagent/lib/index.js" }, { find: /^@deepseek-ai\/dsh-tool-subagent\/model-selection-settings$/, replacement: "D:/deepseek-harness/packages/subagent/tool-subagent/lib/model-selection-settings.js" }, { find: /^@deepseek-ai\/dsh-tool-subagent\/invariant$/, replacement: "D:/deepseek-harness/packages/subagent/tool-subagent/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-tool-subagent\/package\.json$/, replacement: "D:/deepseek-harness/packages/subagent/tool-subagent/package.json" }, { find: /^@deepseek-ai\/dsh-tool-subagent-control$/, replacement: "D:/deepseek-harness/packages/subagent/tool-subagent-control/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-tool-subagent-control\/invariant$/, replacement: "D:/deepseek-harness/packages/subagent/tool-subagent-control/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-tool-subagent-control\/list-agents$/, replacement: "D:/deepseek-harness/packages/subagent/tool-subagent-control/lib/types/list-agents.js" }, { find: /^@deepseek-ai\/dsh-tool-subagent-control\/package\.json$/, replacement: "D:/deepseek-harness/packages/subagent/tool-subagent-control/package.json" }, - { find: /^@deepseek-ai\/dsh-tool-subagent-report$/, replacement: "D:/deepseek-harness/packages/subagent/tool-subagent-report/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-tool-subagent-report\/invariant$/, replacement: "D:/deepseek-harness/packages/subagent/tool-subagent-report/lib/invariant.js" }, - { find: /^@deepseek-ai\/dsh-tool-subagent-report\/package\.json$/, replacement: "D:/deepseek-harness/packages/subagent/tool-subagent-report/package.json" }, { find: /^@deepseek-ai\/dsh-tool-terminal$/, replacement: "D:/deepseek-harness/packages/terminal/tool-terminal/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-tool-terminal\/invariant$/, replacement: "D:/deepseek-harness/packages/terminal/tool-terminal/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-tool-terminal\/package\.json$/, replacement: "D:/deepseek-harness/packages/terminal/tool-terminal/package.json" }, { find: /^@deepseek-ai\/dsh-tool-todo$/, replacement: "D:/deepseek-harness/packages/todo/tool-todo/lib/index.js" }, { find: /^@deepseek-ai\/dsh-tool-todo\/invariant$/, replacement: "D:/deepseek-harness/packages/todo/tool-todo/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-tool-todo\/client$/, replacement: "D:/deepseek-harness/packages/todo/tool-todo/lib/types/client.js" }, { find: /^@deepseek-ai\/dsh-tool-todo\/package\.json$/, replacement: "D:/deepseek-harness/packages/todo/tool-todo/package.json" }, { find: /^@deepseek-ai\/dsh-tool-web$/, replacement: "D:/deepseek-harness/packages/web/tool-web/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-tool-web\/invariant$/, replacement: "D:/deepseek-harness/packages/web/tool-web/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-tool-web\/package\.json$/, replacement: "D:/deepseek-harness/packages/web/tool-web/package.json" }, { find: /^@deepseek-ai\/dsh-tool-workflow$/, replacement: "D:/deepseek-harness/packages/workflow/tool-workflow/lib/index.js" }, { find: /^@deepseek-ai\/dsh-tool-workflow\/invariant$/, replacement: "D:/deepseek-harness/packages/workflow/tool-workflow/lib/invariant.js" }, @@ -843,17 +791,13 @@ export const aliases = [ { find: /^@deepseek-ai\/dsh-tools\/package\.json$/, replacement: "D:/deepseek-harness/packages/core/tools/package.json" }, { find: /^@deepseek-ai\/dsh-typert-generator$/, replacement: "D:/deepseek-harness/packages/typert/generator/lib/index.js" }, { find: /^@deepseek-ai\/dsh-typert-generator\/tsdown$/, replacement: "D:/deepseek-harness/packages/typert/generator/lib/types/tsdown-plugin.js" }, - { find: /^@deepseek-ai\/dsh-typert-generator\/invariant$/, replacement: "D:/deepseek-harness/packages/typert/generator/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-typert-generator\/package\.json$/, replacement: "D:/deepseek-harness/packages/typert/generator/package.json" }, { find: /^@deepseek-ai\/dsh-typert-loader$/, replacement: "D:/deepseek-harness/packages/typert/loader/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-typert-loader\/invariant$/, replacement: "D:/deepseek-harness/packages/typert/loader/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-typert-loader\/package\.json$/, replacement: "D:/deepseek-harness/packages/typert/loader/package.json" }, { find: /^@deepseek-ai\/dsh-typert-protocol$/, replacement: "D:/deepseek-harness/packages/typert/protocol/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-typert-protocol\/invariant$/, replacement: "D:/deepseek-harness/packages/typert/protocol/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-typert-protocol\/types$/, replacement: "D:/deepseek-harness/packages/typert/protocol/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-typert-protocol\/package\.json$/, replacement: "D:/deepseek-harness/packages/typert/protocol/package.json" }, { find: /^@deepseek-ai\/dsh-typert-registry$/, replacement: "D:/deepseek-harness/packages/typert/registry/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-typert-registry\/invariant$/, replacement: "D:/deepseek-harness/packages/typert/registry/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-typert-registry\/client$/, replacement: "D:/deepseek-harness/packages/typert/registry/lib/client.js" }, { find: /^@deepseek-ai\/dsh-typert-registry\/types$/, replacement: "D:/deepseek-harness/packages/typert/registry/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-typert-registry\/package\.json$/, replacement: "D:/deepseek-harness/packages/typert/registry/package.json" }, @@ -862,34 +806,29 @@ export const aliases = [ { find: /^@deepseek-ai\/dsh-user-approval\/types$/, replacement: "D:/deepseek-harness/packages/interaction/user-approval/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-user-approval\/package\.json$/, replacement: "D:/deepseek-harness/packages/interaction/user-approval/package.json" }, { find: /^@deepseek-ai\/dsh-user-questions$/, replacement: "D:/deepseek-harness/packages/interaction/user-questions/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-user-questions\/invariant$/, replacement: "D:/deepseek-harness/packages/interaction/user-questions/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-user-questions\/types$/, replacement: "D:/deepseek-harness/packages/interaction/user-questions/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-user-questions\/package\.json$/, replacement: "D:/deepseek-harness/packages/interaction/user-questions/package.json" }, { find: /^@deepseek-ai\/dsh-util-crypto$/, replacement: "D:/deepseek-harness/packages/util/crypto/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-util-crypto\/invariant$/, replacement: "D:/deepseek-harness/packages/util/crypto/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-util-crypto\/package\.json$/, replacement: "D:/deepseek-harness/packages/util/crypto/package.json" }, + { find: /^@deepseek-ai\/dsh-util-time$/, replacement: "D:/deepseek-harness/packages/util/time/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-util-time\/package\.json$/, replacement: "D:/deepseek-harness/packages/util/time/package.json" }, + { find: /^@deepseek-ai\/dsh-util-values$/, replacement: "D:/deepseek-harness/packages/util/values/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-util-values\/package\.json$/, replacement: "D:/deepseek-harness/packages/util/values/package.json" }, { find: /^@deepseek-ai\/dsh-util-workspace-path$/, replacement: "D:/deepseek-harness/packages/util/workspace-path/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-util-workspace-path\/invariant$/, replacement: "D:/deepseek-harness/packages/util/workspace-path/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-util-workspace-path\/package\.json$/, replacement: "D:/deepseek-harness/packages/util/workspace-path/package.json" }, { find: /^@deepseek-ai\/dsh-web$/, replacement: "D:/deepseek-harness/packages/web/web/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-web\/invariant$/, replacement: "D:/deepseek-harness/packages/web/web/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-web\/package\.json$/, replacement: "D:/deepseek-harness/packages/web/web/package.json" }, { find: /^@deepseek-ai\/dsh-web-app$/, replacement: "D:/deepseek-harness/packages/bundle/web-app/lib/index.js" }, { find: /^@deepseek-ai\/dsh-web-app\/startup$/, replacement: "D:/deepseek-harness/packages/bundle/web-app/lib/startup.js" }, - { find: /^@deepseek-ai\/dsh-web-app\/invariant$/, replacement: "D:/deepseek-harness/packages/bundle/web-app/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-web-app\/cordis\.patch\.yml$/, replacement: "D:/deepseek-harness/packages/bundle/web-app/cordis.patch.yml" }, { find: /^@deepseek-ai\/dsh-web-app\/package\.json$/, replacement: "D:/deepseek-harness/packages/bundle/web-app/package.json" }, { find: /^@deepseek-ai\/dsh-web-fetch-http$/, replacement: "D:/deepseek-harness/packages/web/web-fetch-http/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-web-fetch-http\/invariant$/, replacement: "D:/deepseek-harness/packages/web/web-fetch-http/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-web-fetch-http\/package\.json$/, replacement: "D:/deepseek-harness/packages/web/web-fetch-http/package.json" }, { find: /^@deepseek-ai\/dsh-web-search-deepseek$/, replacement: "D:/deepseek-harness/packages/web/web-search-deepseek/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-web-search-deepseek\/invariant$/, replacement: "D:/deepseek-harness/packages/web/web-search-deepseek/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-web-search-deepseek\/package\.json$/, replacement: "D:/deepseek-harness/packages/web/web-search-deepseek/package.json" }, { find: /^@deepseek-ai\/dsh-web-search-exa$/, replacement: "D:/deepseek-harness/packages/web/web-search-exa/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-web-search-exa\/invariant$/, replacement: "D:/deepseek-harness/packages/web/web-search-exa/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-web-search-exa\/package\.json$/, replacement: "D:/deepseek-harness/packages/web/web-search-exa/package.json" }, { find: /^@deepseek-ai\/dsh-web-search-perplexity$/, replacement: "D:/deepseek-harness/packages/web/web-search-perplexity/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-web-search-perplexity\/invariant$/, replacement: "D:/deepseek-harness/packages/web/web-search-perplexity/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-web-search-perplexity\/package\.json$/, replacement: "D:/deepseek-harness/packages/web/web-search-perplexity/package.json" }, { find: /^@deepseek-ai\/dsh-webhook$/, replacement: "D:/deepseek-harness/packages/webhook/webhook/lib/index.js" }, { find: /^@deepseek-ai\/dsh-webhook\/types$/, replacement: "D:/deepseek-harness/packages/webhook/webhook/lib/types/types.js" }, @@ -897,23 +836,22 @@ export const aliases = [ { find: /^@deepseek-ai\/dsh-webhook\/package\.json$/, replacement: "D:/deepseek-harness/packages/webhook/webhook/package.json" }, { find: /^@deepseek-ai\/dsh-webhook-github$/, replacement: "D:/deepseek-harness/packages/webhook/webhook-github/lib/index.js" }, { find: /^@deepseek-ai\/dsh-webhook-github\/types$/, replacement: "D:/deepseek-harness/packages/webhook/webhook-github/lib/types/types.js" }, - { find: /^@deepseek-ai\/dsh-webhook-github\/invariant$/, replacement: "D:/deepseek-harness/packages/webhook/webhook-github/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-webhook-github\/package\.json$/, replacement: "D:/deepseek-harness/packages/webhook/webhook-github/package.json" }, { find: /^@deepseek-ai\/dsh-win32-process$/, replacement: "D:/deepseek-harness/packages/subprocess/win32-process/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-win32-process\/invariant$/, replacement: "D:/deepseek-harness/packages/subprocess/win32-process/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-win32-process\/package\.json$/, replacement: "D:/deepseek-harness/packages/subprocess/win32-process/package.json" }, { find: /^@deepseek-ai\/dsh-workflow$/, replacement: "D:/deepseek-harness/packages/workflow/workflow/lib/index.js" }, { find: /^@deepseek-ai\/dsh-workflow\/invariant$/, replacement: "D:/deepseek-harness/packages/workflow/workflow/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-workflow\/types$/, replacement: "D:/deepseek-harness/packages/workflow/workflow/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-workflow\/package\.json$/, replacement: "D:/deepseek-harness/packages/workflow/workflow/package.json" }, - { find: /^@deepseek-ai\/dsh-workflow-worker-thread$/, replacement: "D:/deepseek-harness/packages/workflow/workflow-worker-thread/lib/index.js" }, - { find: /^@deepseek-ai\/dsh-workflow-worker-thread\/invariant$/, replacement: "D:/deepseek-harness/packages/workflow/workflow-worker-thread/lib/invariant.js" }, - { find: /^@deepseek-ai\/dsh-workflow-worker-thread\/worker$/, replacement: "D:/deepseek-harness/packages/workflow/workflow-worker-thread/lib/worker.cjs" }, - { find: /^@deepseek-ai\/dsh-workflow-worker-thread\/package\.json$/, replacement: "D:/deepseek-harness/packages/workflow/workflow-worker-thread/package.json" }, + { find: /^@deepseek-ai\/dsh-workflow-ptc$/, replacement: "D:/deepseek-harness/packages/workflow/workflow-ptc/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-workflow-ptc\/package\.json$/, replacement: "D:/deepseek-harness/packages/workflow/workflow-ptc/package.json" }, { find: /^@deepseek-ai\/dsh-workspace$/, replacement: "D:/deepseek-harness/packages/workspace/workspace/lib/index.js" }, { find: /^@deepseek-ai\/dsh-workspace\/invariant$/, replacement: "D:/deepseek-harness/packages/workspace/workspace/lib/invariant.js" }, { find: /^@deepseek-ai\/dsh-workspace\/types$/, replacement: "D:/deepseek-harness/packages/workspace/workspace/lib/types/types.js" }, { find: /^@deepseek-ai\/dsh-workspace\/package\.json$/, replacement: "D:/deepseek-harness/packages/workspace/workspace/package.json" }, + { find: /^@deepseek-ai\/dsh-workspace-changes$/, replacement: "D:/deepseek-harness/packages/deliverables/workspace-changes/lib/index.js" }, + { find: /^@deepseek-ai\/dsh-workspace-changes\/types$/, replacement: "D:/deepseek-harness/packages/deliverables/workspace-changes/lib/types/types.js" }, + { find: /^@deepseek-ai\/dsh-workspace-changes\/package\.json$/, replacement: "D:/deepseek-harness/packages/deliverables/workspace-changes/package.json" }, { find: /^@deepseek-ai\/schemastery$/, replacement: "D:/deepseek-harness/vendor/schemastery/lib/index.cjs" }, { find: /^@deepseek-ai\/schemastery\/package\.json$/, replacement: "D:/deepseek-harness/vendor/schemastery/package.json" }, ] From 474aa73ab818b4be80796a82dd0371bc9fe18819 Mon Sep 17 00:00:00 2001 From: PerryLink Date: Fri, 18 Sep 2026 22:12:12 +0800 Subject: [PATCH 05/12] fix(projection): bridge the zod-v3 schemas into the alpha.2 registry and domain-table slots --- src/projection.ts | 32 ++++++++++++++++++++++++++++++-- src/room/domain.ts | 24 ++++++++++++++++++++---- src/room/projection.ts | 32 ++++++++++++++++++++++++++++++-- 3 files changed, 80 insertions(+), 8 deletions(-) diff --git a/src/projection.ts b/src/projection.ts index 55325a3..6048d7b 100644 --- a/src/projection.ts +++ b/src/projection.ts @@ -22,6 +22,34 @@ import { import { FACT_EVENT } from './events.ts' import { isBackgroundAgentsMeta, parseNotice, PLUGIN } from './vocabulary.ts' +/** The registry's own `stateSchema` slot type for this unit. */ +type RegistryStateSchema = ProjectionDefinition<'backgroundAgents', State>['stateSchema'] +/** The registry's own `wire.viewSchema` slot type for this unit. */ +type RegistryViewSchema = NonNullable['wire']>['viewSchema'] + +/** + * Bridge one of this package's zod-v3 schemas into the registry's schema slot. + * + * The alpha.2 `@deepseek-ai/dsh-session-projection` types `stateSchema` and + * `wire.viewSchema` with the zod **v4** copy it depends on (`zod: ^4.4.3`), + * while this package builds its schemas with zod v3 (`dependencies.zod: + * ^3.24.0`); the two majors are not structurally assignable. The registry only + * ever calls `parse` on these schemas (verified in the published lib: + * `def.stateSchema.parse(row.val)` / `wire.viewSchema.parse(...)`), which both + * majors implement identically — so the cast is a deliberate, documented + * boundary bridge, not a hidden mismatch. + * @param schema - the zod-v3 schema built by this package. + * @returns the same schema, typed for the registry slot. + */ +function asRegistryStateSchema(schema: unknown): RegistryStateSchema { + return schema as RegistryStateSchema +} + +/** Bridge one zod-v3 schema into the registry's `wire.viewSchema` slot (see above). */ +function asRegistryViewSchema(schema: unknown): RegistryViewSchema { + return schema as RegistryViewSchema +} + /** * Mutable fold state; plain JSON so the persisted projection cache can store * it. `source` is fold-internal only (never in the wire value): `legacy` @@ -145,7 +173,7 @@ const backgroundAgentsStateSchema: z.ZodType = z.object({ */ export const backgroundAgentsProjectionDefinition = { key: 'backgroundAgents', - stateSchema: backgroundAgentsStateSchema, + stateSchema: asRegistryStateSchema(backgroundAgentsStateSchema), init: (): State => ({ entries: [] }), apply(state: State, event: SessionEvent): State { switch (event.type) { @@ -307,7 +335,7 @@ export const backgroundAgentsProjectionDefinition = { wire: { // The wire schema validates the client-visible whole value; the fold state // (with its per-row `source` provenance) never leaves the host. - viewSchema: backgroundAgentsSchema, + viewSchema: asRegistryViewSchema(backgroundAgentsSchema), view: (state): BackgroundAgentsProjection => ({ agents: state.entries .map((entry): BackgroundAgentEntry => { diff --git a/src/room/domain.ts b/src/room/domain.ts index 6b6c8a3..70f2eab 100644 --- a/src/room/domain.ts +++ b/src/room/domain.ts @@ -22,6 +22,22 @@ import { export type RoomKey = string & { readonly __roomKey?: never } export type AppendKey = string & { readonly __appendKey?: never } +/** + * Bridge one of this package's zod-v3 record schemas into a domain-table slot. + * + * The alpha.2 `@deepseek-ai/dsh-storage-domain` types its table schema with the + * zod **v4** copy it depends on (`zod: ^4.4.3`), while this package builds its + * schemas with zod v3 (`dependencies.zod: ^3.24.0`); the two majors are not + * structurally assignable. The durable read boundary only calls `parse` on the + * schema, which both majors implement identically — the cast is a deliberate, + * documented boundary bridge, not a hidden mismatch. + * @param schema - the zod-v3 record schema built by this package. + * @returns the same schema, typed for the domain-table slot. + */ +function asDomainTableSchema(schema: unknown): Parameters>[0] { + return schema as Parameters>[0] +} + /** * The domain spec: identity, format version, and the four declared tables. * The same schemas validate every record at the durable read boundary. @@ -30,9 +46,9 @@ export const teamRoomsDomainSpec = defineDomain({ name: 'team_rooms', version: 1, tables: { - rooms: domainTable(roomRecordSchema), - bus: domainTable(busMessageSchema), - tasks: domainTable(taskRecordSchema), - timeline: domainTable(timelineEventSchema), + rooms: domainTable(asDomainTableSchema(roomRecordSchema)), + bus: domainTable(asDomainTableSchema(busMessageSchema)), + tasks: domainTable(asDomainTableSchema(taskRecordSchema)), + timeline: domainTable(asDomainTableSchema(timelineEventSchema)), }, }) diff --git a/src/room/projection.ts b/src/room/projection.ts index b7385fe..c3f5e94 100644 --- a/src/room/projection.ts +++ b/src/room/projection.ts @@ -22,6 +22,34 @@ const TIMELINE_FOLD_BOUND = 1000 /** Hard fold bound: `done` tasks kept per room in the projection value. */ const DONE_TASK_FOLD_BOUND = 100 +/** The registry's own `stateSchema` slot type for this unit. */ +type RegistryStateSchema = ProjectionDefinition<'teamRoom', State>['stateSchema'] +/** The registry's own `wire.viewSchema` slot type for this unit. */ +type RegistryViewSchema = NonNullable['wire']>['viewSchema'] + +/** + * Bridge one of this plugin's zod-v3 schemas into the registry's schema slot. + * + * The alpha.2 `@deepseek-ai/dsh-session-projection` types `stateSchema` and + * `wire.viewSchema` with the zod **v4** copy it depends on (`zod: ^4.4.3`), + * while this package builds its schemas with zod v3 (`dependencies.zod: + * ^3.24.0`); the two majors are not structurally assignable. The registry only + * ever calls `parse` on these schemas (verified in the published lib: + * `def.stateSchema.parse(row.val)` / `wire.viewSchema.parse(...)`), which both + * majors implement identically — so the cast is a deliberate, documented + * boundary bridge, not a hidden mismatch. + * @param schema - the zod-v3 schema built by this package. + * @returns the same schema, typed for the registry slot. + */ +function asRegistryStateSchema(schema: unknown): RegistryStateSchema { + return schema as RegistryStateSchema +} + +/** Bridge one zod-v3 schema into the registry's `wire.viewSchema` slot (see above). */ +function asRegistryViewSchema(schema: unknown): RegistryViewSchema { + return schema as RegistryViewSchema +} + /** Mutable fold state; plain JSON so the persisted projection cache can store it. */ interface State { rooms: RoomView[] @@ -240,14 +268,14 @@ export const teamRoomProjectionDefinition = { key: 'teamRoom', // The fold state and the wire value share one shape (`{ rooms: RoomView[] }`); // only the done-task backlog differs (the state keeps every row, the view caps it). - stateSchema: teamRoomViewSchema, + stateSchema: asRegistryStateSchema(teamRoomViewSchema), init: (): State => ({ rooms: [] }), apply(state: State, event: SessionEvent): State { if (event.type !== TEAM_ROOM_FACT) return state return applyFact(state, event as SessionEvent) }, wire: { - viewSchema: teamRoomViewSchema, + viewSchema: asRegistryViewSchema(teamRoomViewSchema), view: (state): TeamRoomView => ({ rooms: state.rooms.map(capDoneTasks), }), From 08cfdb6391d4eaf5667594773a1c92d50f9f5f51 Mon Sep 17 00:00:00 2001 From: PerryLink Date: Fri, 18 Sep 2026 22:12:12 +0800 Subject: [PATCH 06/12] fix(client): fail loudly on the removed subagent navigation and derive the current session from main-view retention (CS1, B5) --- src/client/index.ts | 67 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 57 insertions(+), 10 deletions(-) diff --git a/src/client/index.ts b/src/client/index.ts index a62c4b3..805c383 100644 --- a/src/client/index.ts +++ b/src/client/index.ts @@ -73,6 +73,7 @@ class TeamRoomsController implements ObservableSnapshot { private readonly listeners = new Set<() => void>() private stopList: (() => void) | undefined private stopFace: (() => void) | undefined + private readonly stopRetainInfo = new Map void>() private boundSessionId: string | undefined constructor(private readonly sessions: ISessions) {} @@ -93,6 +94,8 @@ class TeamRoomsController implements ObservableSnapshot { return () => { this.stopList?.() this.stopFace?.() + for (const stop of this.stopRetainInfo.values()) stop() + this.stopRetainInfo.clear() } } @@ -106,11 +109,42 @@ class TeamRoomsController implements ObservableSnapshot { for (const listener of [...this.listeners]) listener() } + /** + * The session the main view currently holds. Derived from the official + * retention source counts (`retainedBy.mainView`) — the scalar + * `SessionListState.current` field this used to read was removed on + * 0.1.6-alpha.2 (B5). Retain-info sources are subscribed per catalog id so a + * navigation (a main-view retain/release) refreshes the panel too. + * @returns the main-view session id, or undefined while no session is held. + */ + private mainViewSessionId(): string | undefined { + const list = this.sessions.list.getSnapshot() as unknown as SessionListLike & { ids?: readonly string[] } + const ids = list.ids ?? Object.keys(list.byId) + const live = new Set(ids) + for (const [id, stop] of this.stopRetainInfo) { + if (!live.has(id)) { + stop() + this.stopRetainInfo.delete(id) + } + } + let mainView: string | undefined + for (const id of ids) { + if (!this.stopRetainInfo.has(id)) { + this.stopRetainInfo.set(id, this.sessions.retainInfo(id as SessionId).subscribe(() => { this.refresh() })) + } + const info = this.sessions.retainInfo(id as SessionId).getSnapshot() + // `mainView` is the label `ui-session` merges into SessionReferenceSourceMap; + // read it structurally so this plugin compiles against the base + // session-controller types without depending on ui-session's type merge. + const retainedBy = (info?.retainedBy ?? {}) as Readonly> + if ((retainedBy['mainView'] ?? 0) > 0 && mainView === undefined) mainView = id + } + return mainView + } + private refresh(): void { - const list = this.sessions.list.getSnapshot() as unknown as { - current?: string - } & SessionListLike - const current = list.current + const list = this.sessions.list.getSnapshot() as unknown as SessionListLike + const current = this.mainViewSessionId() // Re-bind the projection face when the current session changes. if (current !== this.boundSessionId) { this.stopFace?.() @@ -224,12 +258,25 @@ export function apply(ctx: Context): void { async openChild(parentSessionId: string, childSessionId: string): Promise { try { await sessions.refreshSubagents(parentSessionId as SessionId) - sessions.openSubagent({ - parentSessionId: parentSessionId as SessionId, - childSessionId: childSessionId as SessionId, - mode: 'continuable', - }) - return undefined + // 0.1.6-alpha.2 removed the client-side subagent-navigation call on + // `ISessions`: the published contract states that navigation belongs + // to the view owners, and the only navigation entry on this line is + // the `openChild(address)` action `ui-subagent` supplies to its own + // `conversation.session.header.lineage` renderer. A feature package + // therefore has no sanctioned way to switch the main view to a child + // session — say so explicitly, and once on the console, instead of + // letting a removed method throw into this catch and surface as an + // unexplained failure (CS1). + const address = sessions.subagentAddress(childSessionId as SessionId) + const detail = address === undefined + ? `no live subagent address for ${childSessionId}` + : 'the subagent address for this child is live' + console.warn( + 'dsh-background-agents: client-side subagent navigation was removed in 0.1.6-alpha.2 — ' + + 'navigation belongs to the view owners and ui-subagent owns the session-header lineage seat; ' + + `open the child from the session header instead (${detail}).`, + ) + return 'this host owns subagent navigation in the session header (ui-subagent) — open the child from the session header lineage' } catch (error) { return error instanceof Error ? error.message : String(error) } From 4dfa454e29cbf8a33e5f0924f9ce8c57df584fa8 Mon Sep 17 00:00:00 2001 From: PerryLink Date: Fri, 18 Sep 2026 22:16:14 +0800 Subject: [PATCH 07/12] fix(room): keep the agent/created catch-up listener synchronous, filtered and short-bounded (A1) --- src/index.ts | 66 +++++++++++- src/room/hub.ts | 17 +++ tests/agent-created-listener.spec.ts | 148 +++++++++++++++++++++++++++ 3 files changed, 228 insertions(+), 3 deletions(-) create mode 100644 tests/agent-created-listener.spec.ts diff --git a/src/index.ts b/src/index.ts index f5752ad..3133790 100644 --- a/src/index.ts +++ b/src/index.ts @@ -332,10 +332,31 @@ export function apply(ctx: Context, config: Config): void { // Offline catch-up: whenever a member session starts (fresh or resume), // replay the facts and bus messages it missed, in store order. - roomCtx.on('agent/created', async ({ agent }) => { - await hub.catchUp(agent.id).catch((error: unknown) => { - roomCtx.logger('background-agents').warn(`room catch-up failed for ${agent.id}: ${String(error)}`) + // + // A1 discipline (the `agent/created` dispatch is serialized and awaited by + // the registry): this listener must return synchronously — never await slow + // I/O inside the dispatch, and never let a rejection escape it. All real + // work rides one microtask, wrapped in a single try/catch, and the catch-up + // gets its own short timeout instead of inheriting `roomOpenTimeoutMs`. + roomCtx.on('agent/created', (payload) => { + const { agent, source, signal } = payload + // SessionStartSource: a cleared or compacted session is not a member + // coming back online, so there is no offline backlog to replay. + if (source === 'clear' || source === 'compact') return + // `startup` and `resume` are the two activation sources that carry + // offline work. + void Promise.resolve().then(async () => { + try { + if (signal?.aborted === true) return + if (!hub.hasMember(agent.id)) return + await catchUpWithTimeout(hub, agent.id, signal) + } catch (error) { + roomCtx.logger('background-agents').warn(`room catch-up failed for ${agent.id}: ${String(error)}`) + } }) + // The listener contract is `undefined | Promise`: returning + // `undefined` (not a thenable) is what keeps the dispatch non-serializing. + return undefined }) // Cross-ecosystem inbound (P2): spawn the external runtime and map its @@ -425,6 +446,45 @@ export function apply(ctx: Context, config: Config): void { }) } +/** + * Independent short bound for one offline catch-up. Deliberately NOT + * `roomOpenTimeoutMs` (the `/room` command's 15 s patience): this runs off the + * `agent/created` dispatch, where a member's activation must not be held open + * by a slow store (A1). + */ +const CATCH_UP_TIMEOUT_MS = 2_000 + +/** + * Run one member catch-up under its own short timeout and the activation + * signal, so neither a stalled store nor an abort can hang the caller's + * microtask. The race's losing timer is cleared in `finally`. + * @param hub - the room hub that owns the catch-up. + * @param sessionId - the member session to catch up. + * @param signal - the `agent/created` activation signal, when supplied. + * @returns completion of the catch-up, its timeout, or its cancellation. + */ +async function catchUpWithTimeout(hub: RoomHub, sessionId: SessionId, signal?: AbortSignal): Promise { + let handle: ReturnType | undefined + const timeout = new Promise((_, reject) => { + handle = setTimeout(() => { + reject(new Error(`room catch-up exceeded ${CATCH_UP_TIMEOUT_MS} ms`)) + }, CATCH_UP_TIMEOUT_MS) + }) + const cancelled = new Promise((_, reject) => { + if (signal === undefined) return + if (signal.aborted) { + reject(new Error('room catch-up cancelled')) + return + } + signal.addEventListener('abort', () => { reject(new Error('room catch-up cancelled')) }, { once: true }) + }) + try { + await Promise.race([hub.catchUp(sessionId), timeout, cancelled]) + } finally { + if (handle !== undefined) clearTimeout(handle) + } +} + /** * The room half of the inbound bridge: execute {@link deliveriesFor} against * the team room's task board and message bus. External runtimes are not DSH diff --git a/src/room/hub.ts b/src/room/hub.ts index 3010cb1..ee86680 100644 --- a/src/room/hub.ts +++ b/src/room/hub.ts @@ -197,6 +197,23 @@ export class RoomHub extends Service { .filter(record => record.members.some(member => member.sessionId === sessionId)) } + /** + * Whether one session is already a member of any opened room. Synchronous by + * design: the `agent/created` listener is a hot path that must return without + * awaiting anything (A1), so this reports `false` while the store has not + * opened yet instead of waiting for `ready`. + * @param sessionId - the session to look up. + * @returns true when an opened room already lists the session. + */ + hasMember(sessionId: SessionId): boolean { + const rooms = this.rooms + if (rooms === undefined) return false + for (const [, record] of rooms.entries()) { + if (this.memberOf(record, sessionId) !== undefined) return true + } + return false + } + /** All rooms (used by the command surface for the roster). */ async allRooms(): Promise { await this.ready diff --git a/tests/agent-created-listener.spec.ts b/tests/agent-created-listener.spec.ts new file mode 100644 index 0000000..5caa9e8 --- /dev/null +++ b/tests/agent-created-listener.spec.ts @@ -0,0 +1,148 @@ +/** + * A1 regression locks for the `agent/created` catch-up listener. + * + * The registry dispatches `agent/created` as a serialized, awaited listener + * chain, so this listener must return `undefined` synchronously on every path: + * a never-settling store open, a filtered session source, or a rejecting + * catch-up must all leave the dispatch untouched. The locks below assert + * "returns without awaiting / does not throw" 鈥?the historical mis-diagnosis + * ("throws synchronously") is deliberately NOT what is pinned. + * @module dsh-background-agents/test/agent-created-listener + */ + +import { afterEach, describe, expect, it } from 'vitest' +import { mkdtempSync, rmSync } from 'node:fs' +import { tmpdir } from 'node:os' +import { join } from 'node:path' +import { Context } from '@deepseek-ai/cordis' +import AgentLoop from '@deepseek-ai/dsh-agent-loop' +import { mountAgentLoopTestDependencies } from '@deepseek-ai/dsh-agent-loop-testkit' +import CommandRuntime from '@deepseek-ai/dsh-commands' +import { SessionId } from '@deepseek-ai/dsh-session' +import JsonlSessionPersistence from '@deepseek-ai/dsh-session-persistence-jsonl' +import Storage from '@deepseek-ai/dsh-storage' +import * as StorageJson from '@deepseek-ai/dsh-storage-json' +import SubagentRuntime from '@deepseek-ai/dsh-subagent' +import * as SubagentSpawn from '@deepseek-ai/dsh-subagent-spawn-in-process' +import * as plugin from '../src/index.ts' + +const roots: string[] = [] +afterEach(() => { + for (const root of roots.splice(0)) rmSync(root, { recursive: true, force: true, maxRetries: 10, retryDelay: 100 }) +}) + +/** One fake room table that records every access and can be made to throw. */ +interface FakeTableStats { + reads: number + writes: number +} + +/** + * Mount the stack with a controllable room-domain provider. + * @param options.open - the provider's `open` behaviour: 'stuck' never settles. + * @returns the context, a parent agent, the table access counters, and a switch + * that starts failing every later table read (used after the hub has opened). + */ +async function setup(options: { open: 'immediate' | 'stuck' | 'rejecting' }) { + const ctx = new Context() + await mountAgentLoopTestDependencies(ctx) + const root = mkdtempSync(join(tmpdir(), 'dsh-background-agents-a1-')) + roots.push(root) + await ctx.plugin(JsonlSessionPersistence, { root }) + await ctx.plugin(AgentLoop, { agents: [] }) + await ctx.plugin(SubagentRuntime) + await ctx.plugin(SubagentSpawn, { providerName: 'spawn' }) + await ctx.plugin(Storage) + await ctx.plugin(StorageJson, { root: join(root, 'storages') }) + const stats: FakeTableStats = { reads: 0, writes: 0 } + let tableThrows = false + // One room that lists the parent as a member, so the listener's membership + // pre-filter passes and the catch-up path is really exercised. + const memberRoom = { + roomId: 'parent-room', + name: 'parent-room', + createdAt: 1, + members: [{ sessionId: 'parent', role: 'owner', joinedAt: 1, lastFactSeq: 0, lastDeliveredSeq: 0 }], + tasks: [], + timeline: [], + } + const table = { + get: () => { stats.reads += 1; if (tableThrows) throw new Error('table unavailable'); return undefined }, + entries: () => { + stats.reads += 1 + if (tableThrows) throw new Error('table unavailable') + return [['room/parent-room', memberRoom]] as [string, unknown][] + }, + put: async () => { stats.writes += 1 }, + update: async () => undefined, + delete: async () => undefined, + } + ctx.provide('storageDomain', { + open: options.open === 'stuck' + ? () => new Promise(() => {}) + : options.open === 'rejecting' + ? () => Promise.reject(new Error('storage provider refused to open')) + : async () => ({ table: () => table, close: async () => {} }), + } as never) + await ctx.plugin(CommandRuntime) + await ctx.plugin(plugin, { + provider: 'spawn', + autoReport: false, + idleSweepIntervalMs: 60_000, + allowUnmarkedFacts: true, + // Generous: these locks exercise the LISTENER, not the open timeout, so the + // immediate provider must be allowed to finish opening the hub. + roomOpenTimeoutMs: options.open === 'stuck' ? 100 : 5_000, + }) + const parent = await ctx.agentLoop.create(SessionId('parent'), { provider: 'mock', model: 'mock' }) + return { + ctx, + parent, + stats, + /** Start failing every later table read (the hub has opened by then). */ + failReads: () => { tableThrows = true }, + } +} + +describe('agent/created catch-up listener (A1)', () => { + it('returns synchronously while the storage domain open never settles', async () => { + const { ctx, parent } = await setup({ open: 'stuck' }) + // The dispatch must not be handed a promise: the listener's own return value + // is `undefined`, so a stuck store cannot serialize Agent creation. + const result = ctx.emit('agent/created', { agent: parent, source: 'startup' } as never) + expect(result).toBeUndefined() + }) + + it('never touches the room store for a clear/compact session start', async () => { + const { ctx, parent, stats } = await setup({ open: 'immediate' }) + // Let the hub's own open settle first so a catch-up WOULD have a table. + await new Promise(resolve => setTimeout(resolve, 20)) + const before = stats.reads + ctx.emit('agent/created', { agent: parent, source: 'compact' } as never) + ctx.emit('agent/created', { agent: parent, source: 'clear' } as never) + await new Promise(resolve => setTimeout(resolve, 20)) + expect(stats.reads).toBe(before) + }) + + it('does not throw and stays synchronous when the awaited open rejects', async () => { + const { ctx, parent } = await setup({ open: 'rejecting' }) + await new Promise(resolve => setTimeout(resolve, 50)) + let threw: unknown + let result: unknown = 'unset' + try { + result = ctx.emit('agent/created', { agent: parent, source: 'resume' } as never) + } catch (error) { + threw = error + } + // The card's assertion is "the listener returns normally", NOT "it throws + // synchronously": a rejection on the awaited path must never reach the + // serialized dispatch. + expect(threw).toBeUndefined() + expect(result).toBeUndefined() + await new Promise(resolve => setTimeout(resolve, 50)) + const lines = ctx.logger.buffer.map(message => `${String(message.name)}:${String(message.args[0])}`) + // The failure is reported through the logger (the mount site owns this one), + // and never escapes into the dispatch. + expect(lines.some(line => line.includes('team room store failed to open')), JSON.stringify(lines)).toBe(true) + }) +}) From 54930e0260d2c63f5aaf8bb2193bb01de0b7f4bc Mon Sep 17 00:00:00 2001 From: PerryLink Date: Fri, 18 Sep 2026 22:18:38 +0800 Subject: [PATCH 08/12] fix(tools): drop the removed .events read face and report an unreadable log as unavailable (A2) --- src/lifecycle.ts | 9 +++++---- src/tools.ts | 12 +++++++----- tests/lifecycle.spec.ts | 15 ++++++++------- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/src/lifecycle.ts b/src/lifecycle.ts index 3885104..9d10db0 100644 --- a/src/lifecycle.ts +++ b/src/lifecycle.ts @@ -193,10 +193,11 @@ export function sessionLastText( export function childLastText(sessions: LiveSessions, childId: SessionId): string { const session = sessions.get(childId) if (session === undefined) return '' - const events = typeof session.snapshotEvents === 'function' - ? session.snapshotEvents() - : (session as unknown as { events: readonly SessionEvent[] }).events - return sessionLastText(events) + // A2: the pre-0.1.2 `.events` getter is gone from every supported line, so the + // read face is `snapshotEvents()` — no hand-written downgrade that could + // silently yield an empty string on a host without a read face at all. + if (typeof session.snapshotEvents !== 'function') return '' + return sessionLastText(session.snapshotEvents()) } /** Bound one line to the configured report cap with an explicit ellipsis. */ diff --git a/src/tools.ts b/src/tools.ts index cb7fe54..c9ba8d6 100644 --- a/src/tools.ts +++ b/src/tools.ts @@ -696,10 +696,9 @@ export function registerBackgroundAgentTools( // the text source of record; a persistence read failure is loud. let events: readonly SessionEvent[] | undefined const live = ctx.sessions.get(childId) - if (live !== undefined) { - events = typeof live.snapshotEvents === 'function' - ? live.snapshotEvents() - : (live as unknown as { events: readonly SessionEvent[] }).events + if (live !== undefined && typeof live.snapshotEvents === 'function') { + // A2: the pre-0.1.2 `.events` getter is gone from every supported line. + events = live.snapshotEvents() } else { const persistence = ctx.get('sessionPersistence') if (persistence !== undefined) { @@ -723,8 +722,11 @@ export function registerBackgroundAgentTools( // A thinking model's last message may carry reasoning blocks only; the // fallback keeps bg_result honest instead of reporting "no output". const reasoning = { used: false } + // A2: an unreadable log is reported explicitly instead of as a silent + // empty answer — the caller must be able to tell "produced no output" + // from "this host exposes no log read face". const text = events === undefined - ? '' + ? 'unavailable (no live session and no durable log read face on this host)' : sessionLastText(events, { allowReasoning: true, reasoning }) const truncated = text.length > config.resultMaxChars const capped = truncated ? `${text.slice(0, config.resultMaxChars - 1)}…` : text diff --git a/tests/lifecycle.spec.ts b/tests/lifecycle.spec.ts index 3ba315e..4724c72 100644 --- a/tests/lifecycle.spec.ts +++ b/tests/lifecycle.spec.ts @@ -49,15 +49,16 @@ function makeAgents(parent: FakeParent | undefined): LiveAgents { return { get: id => map.get(id) as never } as LiveAgents } -function childSessionWithAssistant(text: string): { events: unknown[] } { +function childSessionWithAssistant(text: string): { snapshotEvents(): unknown[] } { const message = { id: 'msg-1', role: 'assistant', content: [{ type: 'text', text }], source: { kind: 'model', provider: 'mock', model: 'mock' }, } + // The real Session read face on every supported line is snapshotEvents(). return { - events: [{ + snapshotEvents: () => [{ type: 'assistant/message', seq: 0, time: 1, @@ -66,7 +67,7 @@ function childSessionWithAssistant(text: string): { events: unknown[] } { } } -function childSessionWithReasoning(text: string): { events: unknown[] } { +function childSessionWithReasoning(text: string): { snapshotEvents(): unknown[] } { const message = { id: 'msg-1', role: 'assistant', @@ -74,7 +75,7 @@ function childSessionWithReasoning(text: string): { events: unknown[] } { source: { kind: 'model', provider: 'mock', model: 'mock' }, } return { - events: [{ + snapshotEvents: () => [{ type: 'assistant/message', seq: 0, time: 1, @@ -274,16 +275,16 @@ describe('idle sweep', () => { describe('sessionLastText extraction', () => { it('returns the text blocks by default', () => { - expect(sessionLastText(childSessionWithAssistant('final answer').events as never)).toBe('final answer') + expect(sessionLastText(childSessionWithAssistant('final answer').snapshotEvents() as never)).toBe('final answer') }) it('returns empty for a reasoning-only message without the fallback', () => { - expect(sessionLastText(childSessionWithReasoning('thinking hard').events as never)).toBe('') + expect(sessionLastText(childSessionWithReasoning('thinking hard').snapshotEvents() as never)).toBe('') }) it('falls back to reasoning blocks when allowed and flags the source', () => { const reasoning = { used: false } - expect(sessionLastText(childSessionWithReasoning('thinking hard').events as never, { allowReasoning: true, reasoning })).toBe('thinking hard') + expect(sessionLastText(childSessionWithReasoning('thinking hard').snapshotEvents() as never, { allowReasoning: true, reasoning })).toBe('thinking hard') expect(reasoning.used).toBe(true) }) From 25f14d169c1a9ad3306bb1a1f09509ced55ea553 Mon Sep 17 00:00:00 2001 From: PerryLink Date: Fri, 18 Sep 2026 22:19:09 +0800 Subject: [PATCH 09/12] chore(manifest): declare manifestVersion 1 and the dsh engine range (G-3) --- package.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 841baa0..fa911b7 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,7 @@ "LICENSE" ], "dsh": { + "manifestVersion": 1, "bundle": { "patch": "./cordis.patch.yml" }, @@ -114,7 +115,8 @@ "collaboration" ], "engines": { - "node": "^22.19.0 || >=24.0.0" + "node": "^22.19.0 || >=24.0.0", + "dsh": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0" }, "peerDependencies": { "@deepseek-ai/cordis": "^4.0.2", From f7aad4486fe64bfa2f9543c9b333d8175f65287e Mon Sep 17 00:00:00 2001 From: PerryLink Date: Fri, 18 Sep 2026 22:19:10 +0800 Subject: [PATCH 10/12] chore(build): rebuild the shipped lib artifacts for the alpha.2 fixes --- lib/client.js | 39 +++- lib/client.js.map | 2 +- lib/index.js | 151 +++++++++++++-- lib/types/client/index.d.ts.map | 2 +- lib/types/index.d.ts.map | 2 +- lib/types/lifecycle.d.ts.map | 2 +- lib/types/projection.d.ts | 69 +------ lib/types/projection.d.ts.map | 2 +- lib/types/room/domain.d.ts.map | 2 +- lib/types/room/hub.d.ts | 9 + lib/types/room/hub.d.ts.map | 2 +- lib/types/room/projection.d.ts | 298 +---------------------------- lib/types/room/projection.d.ts.map | 2 +- lib/types/tools.d.ts.map | 2 +- 14 files changed, 192 insertions(+), 392 deletions(-) diff --git a/lib/client.js b/lib/client.js index 5ecf44c..9576d61 100644 --- a/lib/client.js +++ b/lib/client.js @@ -5334,6 +5334,7 @@ window.__ModuleLoader__.load({ listeners = /* @__PURE__ */ new Set(); stopList; stopFace; + stopRetainInfo = /* @__PURE__ */ new Map(); boundSessionId; constructor(sessions) { this.sessions = sessions; @@ -5356,6 +5357,8 @@ window.__ModuleLoader__.load({ return () => { this.stopList?.(); this.stopFace?.(); + for (const stop of this.stopRetainInfo.values()) stop(); + this.stopRetainInfo.clear(); }; } /** The current session id, for command execution. */ @@ -5366,9 +5369,34 @@ window.__ModuleLoader__.load({ this.state = next; for (const listener of [...this.listeners]) listener(); } + /** + * The session the main view currently holds. Derived from the official + * retention source counts (`retainedBy.mainView`) — the scalar + * `SessionListState.current` field this used to read was removed on + * 0.1.6-alpha.2 (B5). Retain-info sources are subscribed per catalog id so a + * navigation (a main-view retain/release) refreshes the panel too. + * @returns the main-view session id, or undefined while no session is held. + */ + mainViewSessionId() { + const list = this.sessions.list.getSnapshot(); + const ids = list.ids ?? Object.keys(list.byId); + const live = new Set(ids); + for (const [id, stop] of this.stopRetainInfo) if (!live.has(id)) { + stop(); + this.stopRetainInfo.delete(id); + } + let mainView; + for (const id of ids) { + if (!this.stopRetainInfo.has(id)) this.stopRetainInfo.set(id, this.sessions.retainInfo(id).subscribe(() => { + this.refresh(); + })); + if (((this.sessions.retainInfo(id).getSnapshot()?.retainedBy ?? {})["mainView"] ?? 0) > 0 && mainView === void 0) mainView = id; + } + return mainView; + } refresh() { const list = this.sessions.list.getSnapshot(); - const current = list.current; + const current = this.mainViewSessionId(); if (current !== this.boundSessionId) { this.stopFace?.(); this.stopFace = void 0; @@ -5421,12 +5449,9 @@ window.__ModuleLoader__.load({ async openChild(parentSessionId, childSessionId) { try { await sessions.refreshSubagents(parentSessionId); - sessions.openSubagent({ - parentSessionId, - childSessionId, - mode: "continuable" - }); - return; + const detail = sessions.subagentAddress(childSessionId) === void 0 ? `no live subagent address for ${childSessionId}` : "the subagent address for this child is live"; + console.warn(`dsh-background-agents: client-side subagent navigation was removed in 0.1.6-alpha.2 — navigation belongs to the view owners and ui-subagent owns the session-header lineage seat; open the child from the session header instead (${detail}).`); + return "this host owns subagent navigation in the session header (ui-subagent) — open the child from the session header lineage"; } catch (error) { return error instanceof Error ? error.message : String(error); } diff --git a/lib/client.js.map b/lib/client.js.map index e181734..4f684c7 100644 --- a/lib/client.js.map +++ b/lib/client.js.map @@ -1 +1 @@ -{"version":3,"file":"client.js","names":["regex","exports","exports","z","css","useState","useRef","useSyncExternalStore","Tooltip","IconBranchOutline16","createPortal","zh","en","useState","css","z","roomZh","roomEn"],"sources":["../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.cjs","../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.cjs","../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.cjs","../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.cjs","../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.cjs","../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/typeAliases.cjs","../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.cjs","../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.cjs","../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/external.cjs","../node_modules/.pnpm/zod@3.25.76/node_modules/zod/index.cjs","../src/projection-schema.ts","../src/client/presenter.ts","../src/client/BackgroundAgentsAction.tsx","../src/client/locales.ts","../src/client/TeamRoomsSection.tsx","../src/room/schema.ts","../src/client/room-presenter.ts","../src/client/room-locales.ts","../src/client/index.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getParsedType = exports.ZodParsedType = exports.objectUtil = exports.util = void 0;\nvar util;\n(function (util) {\n util.assertEqual = (_) => { };\n function assertIs(_arg) { }\n util.assertIs = assertIs;\n function assertNever(_x) {\n throw new Error();\n }\n util.assertNever = assertNever;\n util.arrayToEnum = (items) => {\n const obj = {};\n for (const item of items) {\n obj[item] = item;\n }\n return obj;\n };\n util.getValidEnumValues = (obj) => {\n const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== \"number\");\n const filtered = {};\n for (const k of validKeys) {\n filtered[k] = obj[k];\n }\n return util.objectValues(filtered);\n };\n util.objectValues = (obj) => {\n return util.objectKeys(obj).map(function (e) {\n return obj[e];\n });\n };\n util.objectKeys = typeof Object.keys === \"function\" // eslint-disable-line ban/ban\n ? (obj) => Object.keys(obj) // eslint-disable-line ban/ban\n : (object) => {\n const keys = [];\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n keys.push(key);\n }\n }\n return keys;\n };\n util.find = (arr, checker) => {\n for (const item of arr) {\n if (checker(item))\n return item;\n }\n return undefined;\n };\n util.isInteger = typeof Number.isInteger === \"function\"\n ? (val) => Number.isInteger(val) // eslint-disable-line ban/ban\n : (val) => typeof val === \"number\" && Number.isFinite(val) && Math.floor(val) === val;\n function joinValues(array, separator = \" | \") {\n return array.map((val) => (typeof val === \"string\" ? `'${val}'` : val)).join(separator);\n }\n util.joinValues = joinValues;\n util.jsonStringifyReplacer = (_, value) => {\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n return value;\n };\n})(util || (exports.util = util = {}));\nvar objectUtil;\n(function (objectUtil) {\n objectUtil.mergeShapes = (first, second) => {\n return {\n ...first,\n ...second, // second overwrites first\n };\n };\n})(objectUtil || (exports.objectUtil = objectUtil = {}));\nexports.ZodParsedType = util.arrayToEnum([\n \"string\",\n \"nan\",\n \"number\",\n \"integer\",\n \"float\",\n \"boolean\",\n \"date\",\n \"bigint\",\n \"symbol\",\n \"function\",\n \"undefined\",\n \"null\",\n \"array\",\n \"object\",\n \"unknown\",\n \"promise\",\n \"void\",\n \"never\",\n \"map\",\n \"set\",\n]);\nconst getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return exports.ZodParsedType.undefined;\n case \"string\":\n return exports.ZodParsedType.string;\n case \"number\":\n return Number.isNaN(data) ? exports.ZodParsedType.nan : exports.ZodParsedType.number;\n case \"boolean\":\n return exports.ZodParsedType.boolean;\n case \"function\":\n return exports.ZodParsedType.function;\n case \"bigint\":\n return exports.ZodParsedType.bigint;\n case \"symbol\":\n return exports.ZodParsedType.symbol;\n case \"object\":\n if (Array.isArray(data)) {\n return exports.ZodParsedType.array;\n }\n if (data === null) {\n return exports.ZodParsedType.null;\n }\n if (data.then && typeof data.then === \"function\" && data.catch && typeof data.catch === \"function\") {\n return exports.ZodParsedType.promise;\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return exports.ZodParsedType.map;\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return exports.ZodParsedType.set;\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return exports.ZodParsedType.date;\n }\n return exports.ZodParsedType.object;\n default:\n return exports.ZodParsedType.unknown;\n }\n};\nexports.getParsedType = getParsedType;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ZodError = exports.quotelessJson = exports.ZodIssueCode = void 0;\nconst util_js_1 = require(\"./helpers/util.cjs\");\nexports.ZodIssueCode = util_js_1.util.arrayToEnum([\n \"invalid_type\",\n \"invalid_literal\",\n \"custom\",\n \"invalid_union\",\n \"invalid_union_discriminator\",\n \"invalid_enum_value\",\n \"unrecognized_keys\",\n \"invalid_arguments\",\n \"invalid_return_type\",\n \"invalid_date\",\n \"invalid_string\",\n \"too_small\",\n \"too_big\",\n \"invalid_intersection_types\",\n \"not_multiple_of\",\n \"not_finite\",\n]);\nconst quotelessJson = (obj) => {\n const json = JSON.stringify(obj, null, 2);\n return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nexports.quotelessJson = quotelessJson;\nclass ZodError extends Error {\n get errors() {\n return this.issues;\n }\n constructor(issues) {\n super();\n this.issues = [];\n this.addIssue = (sub) => {\n this.issues = [...this.issues, sub];\n };\n this.addIssues = (subs = []) => {\n this.issues = [...this.issues, ...subs];\n };\n const actualProto = new.target.prototype;\n if (Object.setPrototypeOf) {\n // eslint-disable-next-line ban/ban\n Object.setPrototypeOf(this, actualProto);\n }\n else {\n this.__proto__ = actualProto;\n }\n this.name = \"ZodError\";\n this.issues = issues;\n }\n format(_mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\") {\n issue.unionErrors.map(processError);\n }\n else if (issue.code === \"invalid_return_type\") {\n processError(issue.returnTypeError);\n }\n else if (issue.code === \"invalid_arguments\") {\n processError(issue.argumentsError);\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n // if (typeof el === \"string\") {\n // curr[el] = curr[el] || { _errors: [] };\n // } else if (typeof el === \"number\") {\n // const errorArray: any = [];\n // errorArray._errors = [];\n // curr[el] = curr[el] || errorArray;\n // }\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(this);\n return fieldErrors;\n }\n static assert(value) {\n if (!(value instanceof ZodError)) {\n throw new Error(`Not a ZodError: ${value}`);\n }\n }\n toString() {\n return this.message;\n }\n get message() {\n return JSON.stringify(this.issues, util_js_1.util.jsonStringifyReplacer, 2);\n }\n get isEmpty() {\n return this.issues.length === 0;\n }\n flatten(mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of this.issues) {\n if (sub.path.length > 0) {\n const firstEl = sub.path[0];\n fieldErrors[firstEl] = fieldErrors[firstEl] || [];\n fieldErrors[firstEl].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n }\n get formErrors() {\n return this.flatten();\n }\n}\nexports.ZodError = ZodError;\nZodError.create = (issues) => {\n const error = new ZodError(issues);\n return error;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst ZodError_js_1 = require(\"../ZodError.cjs\");\nconst util_js_1 = require(\"../helpers/util.cjs\");\nconst errorMap = (issue, _ctx) => {\n let message;\n switch (issue.code) {\n case ZodError_js_1.ZodIssueCode.invalid_type:\n if (issue.received === util_js_1.ZodParsedType.undefined) {\n message = \"Required\";\n }\n else {\n message = `Expected ${issue.expected}, received ${issue.received}`;\n }\n break;\n case ZodError_js_1.ZodIssueCode.invalid_literal:\n message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util_js_1.util.jsonStringifyReplacer)}`;\n break;\n case ZodError_js_1.ZodIssueCode.unrecognized_keys:\n message = `Unrecognized key(s) in object: ${util_js_1.util.joinValues(issue.keys, \", \")}`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_union:\n message = `Invalid input`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_union_discriminator:\n message = `Invalid discriminator value. Expected ${util_js_1.util.joinValues(issue.options)}`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_enum_value:\n message = `Invalid enum value. Expected ${util_js_1.util.joinValues(issue.options)}, received '${issue.received}'`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_arguments:\n message = `Invalid function arguments`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_return_type:\n message = `Invalid function return type`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_date:\n message = `Invalid date`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_string:\n if (typeof issue.validation === \"object\") {\n if (\"includes\" in issue.validation) {\n message = `Invalid input: must include \"${issue.validation.includes}\"`;\n if (typeof issue.validation.position === \"number\") {\n message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`;\n }\n }\n else if (\"startsWith\" in issue.validation) {\n message = `Invalid input: must start with \"${issue.validation.startsWith}\"`;\n }\n else if (\"endsWith\" in issue.validation) {\n message = `Invalid input: must end with \"${issue.validation.endsWith}\"`;\n }\n else {\n util_js_1.util.assertNever(issue.validation);\n }\n }\n else if (issue.validation !== \"regex\") {\n message = `Invalid ${issue.validation}`;\n }\n else {\n message = \"Invalid\";\n }\n break;\n case ZodError_js_1.ZodIssueCode.too_small:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;\n else if (issue.type === \"bigint\")\n message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${new Date(Number(issue.minimum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodError_js_1.ZodIssueCode.too_big:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;\n else if (issue.type === \"bigint\")\n message = `BigInt must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact ? `exactly` : issue.inclusive ? `smaller than or equal to` : `smaller than`} ${new Date(Number(issue.maximum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodError_js_1.ZodIssueCode.custom:\n message = `Invalid input`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_intersection_types:\n message = `Intersection results could not be merged`;\n break;\n case ZodError_js_1.ZodIssueCode.not_multiple_of:\n message = `Number must be a multiple of ${issue.multipleOf}`;\n break;\n case ZodError_js_1.ZodIssueCode.not_finite:\n message = \"Number must be finite\";\n break;\n default:\n message = _ctx.defaultError;\n util_js_1.util.assertNever(issue);\n }\n return { message };\n};\nexports.default = errorMap;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultErrorMap = void 0;\nexports.setErrorMap = setErrorMap;\nexports.getErrorMap = getErrorMap;\nconst en_js_1 = __importDefault(require(\"./locales/en.cjs\"));\nexports.defaultErrorMap = en_js_1.default;\nlet overrideErrorMap = en_js_1.default;\nfunction setErrorMap(map) {\n overrideErrorMap = map;\n}\nfunction getErrorMap() {\n return overrideErrorMap;\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isAsync = exports.isValid = exports.isDirty = exports.isAborted = exports.OK = exports.DIRTY = exports.INVALID = exports.ParseStatus = exports.EMPTY_PATH = exports.makeIssue = void 0;\nexports.addIssueToContext = addIssueToContext;\nconst errors_js_1 = require(\"../errors.cjs\");\nconst en_js_1 = __importDefault(require(\"../locales/en.cjs\"));\nconst makeIssue = (params) => {\n const { data, path, errorMaps, issueData } = params;\n const fullPath = [...path, ...(issueData.path || [])];\n const fullIssue = {\n ...issueData,\n path: fullPath,\n };\n if (issueData.message !== undefined) {\n return {\n ...issueData,\n path: fullPath,\n message: issueData.message,\n };\n }\n let errorMessage = \"\";\n const maps = errorMaps\n .filter((m) => !!m)\n .slice()\n .reverse();\n for (const map of maps) {\n errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;\n }\n return {\n ...issueData,\n path: fullPath,\n message: errorMessage,\n };\n};\nexports.makeIssue = makeIssue;\nexports.EMPTY_PATH = [];\nfunction addIssueToContext(ctx, issueData) {\n const overrideMap = (0, errors_js_1.getErrorMap)();\n const issue = (0, exports.makeIssue)({\n issueData: issueData,\n data: ctx.data,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap, // contextual error map is first priority\n ctx.schemaErrorMap, // then schema-bound map if available\n overrideMap, // then global override map\n overrideMap === en_js_1.default ? undefined : en_js_1.default, // then global default map\n ].filter((x) => !!x),\n });\n ctx.common.issues.push(issue);\n}\nclass ParseStatus {\n constructor() {\n this.value = \"valid\";\n }\n dirty() {\n if (this.value === \"valid\")\n this.value = \"dirty\";\n }\n abort() {\n if (this.value !== \"aborted\")\n this.value = \"aborted\";\n }\n static mergeArray(status, results) {\n const arrayValue = [];\n for (const s of results) {\n if (s.status === \"aborted\")\n return exports.INVALID;\n if (s.status === \"dirty\")\n status.dirty();\n arrayValue.push(s.value);\n }\n return { status: status.value, value: arrayValue };\n }\n static async mergeObjectAsync(status, pairs) {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value,\n });\n }\n return ParseStatus.mergeObjectSync(status, syncPairs);\n }\n static mergeObjectSync(status, pairs) {\n const finalObject = {};\n for (const pair of pairs) {\n const { key, value } = pair;\n if (key.status === \"aborted\")\n return exports.INVALID;\n if (value.status === \"aborted\")\n return exports.INVALID;\n if (key.status === \"dirty\")\n status.dirty();\n if (value.status === \"dirty\")\n status.dirty();\n if (key.value !== \"__proto__\" && (typeof value.value !== \"undefined\" || pair.alwaysSet)) {\n finalObject[key.value] = value.value;\n }\n }\n return { status: status.value, value: finalObject };\n }\n}\nexports.ParseStatus = ParseStatus;\nexports.INVALID = Object.freeze({\n status: \"aborted\",\n});\nconst DIRTY = (value) => ({ status: \"dirty\", value });\nexports.DIRTY = DIRTY;\nconst OK = (value) => ({ status: \"valid\", value });\nexports.OK = OK;\nconst isAborted = (x) => x.status === \"aborted\";\nexports.isAborted = isAborted;\nconst isDirty = (x) => x.status === \"dirty\";\nexports.isDirty = isDirty;\nconst isValid = (x) => x.status === \"valid\";\nexports.isValid = isValid;\nconst isAsync = (x) => typeof Promise !== \"undefined\" && x instanceof Promise;\nexports.isAsync = isAsync;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.errorUtil = void 0;\nvar errorUtil;\n(function (errorUtil) {\n errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n // biome-ignore lint:\n errorUtil.toString = (message) => typeof message === \"string\" ? message : message?.message;\n})(errorUtil || (exports.errorUtil = errorUtil = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.discriminatedUnion = exports.date = exports.boolean = exports.bigint = exports.array = exports.any = exports.coerce = exports.ZodFirstPartyTypeKind = exports.late = exports.ZodSchema = exports.Schema = exports.ZodReadonly = exports.ZodPipeline = exports.ZodBranded = exports.BRAND = exports.ZodNaN = exports.ZodCatch = exports.ZodDefault = exports.ZodNullable = exports.ZodOptional = exports.ZodTransformer = exports.ZodEffects = exports.ZodPromise = exports.ZodNativeEnum = exports.ZodEnum = exports.ZodLiteral = exports.ZodLazy = exports.ZodFunction = exports.ZodSet = exports.ZodMap = exports.ZodRecord = exports.ZodTuple = exports.ZodIntersection = exports.ZodDiscriminatedUnion = exports.ZodUnion = exports.ZodObject = exports.ZodArray = exports.ZodVoid = exports.ZodNever = exports.ZodUnknown = exports.ZodAny = exports.ZodNull = exports.ZodUndefined = exports.ZodSymbol = exports.ZodDate = exports.ZodBoolean = exports.ZodBigInt = exports.ZodNumber = exports.ZodString = exports.ZodType = void 0;\nexports.NEVER = exports.void = exports.unknown = exports.union = exports.undefined = exports.tuple = exports.transformer = exports.symbol = exports.string = exports.strictObject = exports.set = exports.record = exports.promise = exports.preprocess = exports.pipeline = exports.ostring = exports.optional = exports.onumber = exports.oboolean = exports.object = exports.number = exports.nullable = exports.null = exports.never = exports.nativeEnum = exports.nan = exports.map = exports.literal = exports.lazy = exports.intersection = exports.instanceof = exports.function = exports.enum = exports.effect = void 0;\nexports.datetimeRegex = datetimeRegex;\nexports.custom = custom;\nconst ZodError_js_1 = require(\"./ZodError.cjs\");\nconst errors_js_1 = require(\"./errors.cjs\");\nconst errorUtil_js_1 = require(\"./helpers/errorUtil.cjs\");\nconst parseUtil_js_1 = require(\"./helpers/parseUtil.cjs\");\nconst util_js_1 = require(\"./helpers/util.cjs\");\nclass ParseInputLazyPath {\n constructor(parent, value, path, key) {\n this._cachedPath = [];\n this.parent = parent;\n this.data = value;\n this._path = path;\n this._key = key;\n }\n get path() {\n if (!this._cachedPath.length) {\n if (Array.isArray(this._key)) {\n this._cachedPath.push(...this._path, ...this._key);\n }\n else {\n this._cachedPath.push(...this._path, this._key);\n }\n }\n return this._cachedPath;\n }\n}\nconst handleResult = (ctx, result) => {\n if ((0, parseUtil_js_1.isValid)(result)) {\n return { success: true, data: result.value };\n }\n else {\n if (!ctx.common.issues.length) {\n throw new Error(\"Validation failed but no issues detected.\");\n }\n return {\n success: false,\n get error() {\n if (this._error)\n return this._error;\n const error = new ZodError_js_1.ZodError(ctx.common.issues);\n this._error = error;\n return this._error;\n },\n };\n }\n};\nfunction processCreateParams(params) {\n if (!params)\n return {};\n const { errorMap, invalid_type_error, required_error, description } = params;\n if (errorMap && (invalid_type_error || required_error)) {\n throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n }\n if (errorMap)\n return { errorMap: errorMap, description };\n const customMap = (iss, ctx) => {\n const { message } = params;\n if (iss.code === \"invalid_enum_value\") {\n return { message: message ?? ctx.defaultError };\n }\n if (typeof ctx.data === \"undefined\") {\n return { message: message ?? required_error ?? ctx.defaultError };\n }\n if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n return { message: message ?? invalid_type_error ?? ctx.defaultError };\n };\n return { errorMap: customMap, description };\n}\nclass ZodType {\n get description() {\n return this._def.description;\n }\n _getType(input) {\n return (0, util_js_1.getParsedType)(input.data);\n }\n _getOrReturnCtx(input, ctx) {\n return (ctx || {\n common: input.parent.common,\n data: input.data,\n parsedType: (0, util_js_1.getParsedType)(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n });\n }\n _processInputParams(input) {\n return {\n status: new parseUtil_js_1.ParseStatus(),\n ctx: {\n common: input.parent.common,\n data: input.data,\n parsedType: (0, util_js_1.getParsedType)(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n },\n };\n }\n _parseSync(input) {\n const result = this._parse(input);\n if ((0, parseUtil_js_1.isAsync)(result)) {\n throw new Error(\"Synchronous parse encountered promise.\");\n }\n return result;\n }\n _parseAsync(input) {\n const result = this._parse(input);\n return Promise.resolve(result);\n }\n parse(data, params) {\n const result = this.safeParse(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n safeParse(data, params) {\n const ctx = {\n common: {\n issues: [],\n async: params?.async ?? false,\n contextualErrorMap: params?.errorMap,\n },\n path: params?.path || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: (0, util_js_1.getParsedType)(data),\n };\n const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n return handleResult(ctx, result);\n }\n \"~validate\"(data) {\n const ctx = {\n common: {\n issues: [],\n async: !!this[\"~standard\"].async,\n },\n path: [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: (0, util_js_1.getParsedType)(data),\n };\n if (!this[\"~standard\"].async) {\n try {\n const result = this._parseSync({ data, path: [], parent: ctx });\n return (0, parseUtil_js_1.isValid)(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n };\n }\n catch (err) {\n if (err?.message?.toLowerCase()?.includes(\"encountered\")) {\n this[\"~standard\"].async = true;\n }\n ctx.common = {\n issues: [],\n async: true,\n };\n }\n }\n return this._parseAsync({ data, path: [], parent: ctx }).then((result) => (0, parseUtil_js_1.isValid)(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n });\n }\n async parseAsync(data, params) {\n const result = await this.safeParseAsync(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n async safeParseAsync(data, params) {\n const ctx = {\n common: {\n issues: [],\n contextualErrorMap: params?.errorMap,\n async: true,\n },\n path: params?.path || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: (0, util_js_1.getParsedType)(data),\n };\n const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });\n const result = await ((0, parseUtil_js_1.isAsync)(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult));\n return handleResult(ctx, result);\n }\n refine(check, message) {\n const getIssueProperties = (val) => {\n if (typeof message === \"string\" || typeof message === \"undefined\") {\n return { message };\n }\n else if (typeof message === \"function\") {\n return message(val);\n }\n else {\n return message;\n }\n };\n return this._refinement((val, ctx) => {\n const result = check(val);\n const setError = () => ctx.addIssue({\n code: ZodError_js_1.ZodIssueCode.custom,\n ...getIssueProperties(val),\n });\n if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n return result.then((data) => {\n if (!data) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n if (!result) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n refinement(check, refinementData) {\n return this._refinement((val, ctx) => {\n if (!check(val)) {\n ctx.addIssue(typeof refinementData === \"function\" ? refinementData(val, ctx) : refinementData);\n return false;\n }\n else {\n return true;\n }\n });\n }\n _refinement(refinement) {\n return new ZodEffects({\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"refinement\", refinement },\n });\n }\n superRefine(refinement) {\n return this._refinement(refinement);\n }\n constructor(def) {\n /** Alias of safeParseAsync */\n this.spa = this.safeParseAsync;\n this._def = def;\n this.parse = this.parse.bind(this);\n this.safeParse = this.safeParse.bind(this);\n this.parseAsync = this.parseAsync.bind(this);\n this.safeParseAsync = this.safeParseAsync.bind(this);\n this.spa = this.spa.bind(this);\n this.refine = this.refine.bind(this);\n this.refinement = this.refinement.bind(this);\n this.superRefine = this.superRefine.bind(this);\n this.optional = this.optional.bind(this);\n this.nullable = this.nullable.bind(this);\n this.nullish = this.nullish.bind(this);\n this.array = this.array.bind(this);\n this.promise = this.promise.bind(this);\n this.or = this.or.bind(this);\n this.and = this.and.bind(this);\n this.transform = this.transform.bind(this);\n this.brand = this.brand.bind(this);\n this.default = this.default.bind(this);\n this.catch = this.catch.bind(this);\n this.describe = this.describe.bind(this);\n this.pipe = this.pipe.bind(this);\n this.readonly = this.readonly.bind(this);\n this.isNullable = this.isNullable.bind(this);\n this.isOptional = this.isOptional.bind(this);\n this[\"~standard\"] = {\n version: 1,\n vendor: \"zod\",\n validate: (data) => this[\"~validate\"](data),\n };\n }\n optional() {\n return ZodOptional.create(this, this._def);\n }\n nullable() {\n return ZodNullable.create(this, this._def);\n }\n nullish() {\n return this.nullable().optional();\n }\n array() {\n return ZodArray.create(this);\n }\n promise() {\n return ZodPromise.create(this, this._def);\n }\n or(option) {\n return ZodUnion.create([this, option], this._def);\n }\n and(incoming) {\n return ZodIntersection.create(this, incoming, this._def);\n }\n transform(transform) {\n return new ZodEffects({\n ...processCreateParams(this._def),\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"transform\", transform },\n });\n }\n default(def) {\n const defaultValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodDefault({\n ...processCreateParams(this._def),\n innerType: this,\n defaultValue: defaultValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n });\n }\n brand() {\n return new ZodBranded({\n typeName: ZodFirstPartyTypeKind.ZodBranded,\n type: this,\n ...processCreateParams(this._def),\n });\n }\n catch(def) {\n const catchValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodCatch({\n ...processCreateParams(this._def),\n innerType: this,\n catchValue: catchValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n });\n }\n describe(description) {\n const This = this.constructor;\n return new This({\n ...this._def,\n description,\n });\n }\n pipe(target) {\n return ZodPipeline.create(this, target);\n }\n readonly() {\n return ZodReadonly.create(this);\n }\n isOptional() {\n return this.safeParse(undefined).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\nexports.ZodType = ZodType;\nexports.Schema = ZodType;\nexports.ZodSchema = ZodType;\nconst cuidRegex = /^c[^\\s-]{8,}$/i;\nconst cuid2Regex = /^[0-9a-z]+$/;\nconst ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/i;\n// const uuidRegex =\n// /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i;\nconst uuidRegex = /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/i;\nconst nanoidRegex = /^[a-z0-9_-]{21}$/i;\nconst jwtRegex = /^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$/;\nconst durationRegex = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/;\n// from https://stackoverflow.com/a/46181/1550155\n// old version: too slow, didn't support unicode\n// const emailRegex = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i;\n//old email regex\n// const emailRegex = /^(([^<>()[\\].,;:\\s@\"]+(\\.[^<>()[\\].,;:\\s@\"]+)*)|(\".+\"))@((?!-)([^<>()[\\].,;:\\s@\"]+\\.)+[^<>()[\\].,;:\\s@\"]{1,})[^-<>()[\\].,;:\\s@\"]$/i;\n// eslint-disable-next-line\n// const emailRegex =\n// /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\])|(\\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\\.[A-Za-z]{2,})+))$/;\n// const emailRegex =\n// /^[a-zA-Z0-9\\.\\!\\#\\$\\%\\&\\'\\*\\+\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~\\-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// const emailRegex =\n// /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/i;\nconst emailRegex = /^(?!\\.)(?!.*\\.\\.)([A-Z0-9_'+\\-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i;\n// const emailRegex =\n// /^[a-z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-z0-9-]+(?:\\.[a-z0-9\\-]+)*$/i;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emojiRegex = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nlet emojiRegex;\n// faster, simpler, safer\nconst ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;\nconst ipv4CidrRegex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/(3[0-2]|[12]?[0-9])$/;\n// const ipv6Regex =\n// /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;\nconst ipv6Regex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;\nconst ipv6CidrRegex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;\n// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript\nconst base64Regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;\n// https://base64.guru/standards/base64url\nconst base64urlRegex = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/;\n// simple\n// const dateRegexSource = `\\\\d{4}-\\\\d{2}-\\\\d{2}`;\n// no leap year validation\n// const dateRegexSource = `\\\\d{4}-((0[13578]|10|12)-31|(0[13-9]|1[0-2])-30|(0[1-9]|1[0-2])-(0[1-9]|1\\\\d|2\\\\d))`;\n// with leap year validation\nconst dateRegexSource = `((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))`;\nconst dateRegex = new RegExp(`^${dateRegexSource}$`);\nfunction timeRegexSource(args) {\n let secondsRegexSource = `[0-5]\\\\d`;\n if (args.precision) {\n secondsRegexSource = `${secondsRegexSource}\\\\.\\\\d{${args.precision}}`;\n }\n else if (args.precision == null) {\n secondsRegexSource = `${secondsRegexSource}(\\\\.\\\\d+)?`;\n }\n const secondsQuantifier = args.precision ? \"+\" : \"?\"; // require seconds if precision is nonzero\n return `([01]\\\\d|2[0-3]):[0-5]\\\\d(:${secondsRegexSource})${secondsQuantifier}`;\n}\nfunction timeRegex(args) {\n return new RegExp(`^${timeRegexSource(args)}$`);\n}\n// Adapted from https://stackoverflow.com/a/3143231\nfunction datetimeRegex(args) {\n let regex = `${dateRegexSource}T${timeRegexSource(args)}`;\n const opts = [];\n opts.push(args.local ? `Z?` : `Z`);\n if (args.offset)\n opts.push(`([+-]\\\\d{2}:?\\\\d{2})`);\n regex = `${regex}(${opts.join(\"|\")})`;\n return new RegExp(`^${regex}$`);\n}\nfunction isValidIP(ip, version) {\n if ((version === \"v4\" || !version) && ipv4Regex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6Regex.test(ip)) {\n return true;\n }\n return false;\n}\nfunction isValidJWT(jwt, alg) {\n if (!jwtRegex.test(jwt))\n return false;\n try {\n const [header] = jwt.split(\".\");\n if (!header)\n return false;\n // Convert base64url to base64\n const base64 = header\n .replace(/-/g, \"+\")\n .replace(/_/g, \"/\")\n .padEnd(header.length + ((4 - (header.length % 4)) % 4), \"=\");\n const decoded = JSON.parse(atob(base64));\n if (typeof decoded !== \"object\" || decoded === null)\n return false;\n if (\"typ\" in decoded && decoded?.typ !== \"JWT\")\n return false;\n if (!decoded.alg)\n return false;\n if (alg && decoded.alg !== alg)\n return false;\n return true;\n }\n catch {\n return false;\n }\n}\nfunction isValidCidr(ip, version) {\n if ((version === \"v4\" || !version) && ipv4CidrRegex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6CidrRegex.test(ip)) {\n return true;\n }\n return false;\n}\nclass ZodString extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = String(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.string) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.string,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const status = new parseUtil_js_1.ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.length < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.length > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"length\") {\n const tooBig = input.data.length > check.value;\n const tooSmall = input.data.length < check.value;\n if (tooBig || tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n if (tooBig) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n else if (tooSmall) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n status.dirty();\n }\n }\n else if (check.kind === \"email\") {\n if (!emailRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"email\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"emoji\") {\n if (!emojiRegex) {\n emojiRegex = new RegExp(_emojiRegex, \"u\");\n }\n if (!emojiRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"emoji\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"uuid\") {\n if (!uuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"uuid\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"nanoid\") {\n if (!nanoidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"nanoid\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid\") {\n if (!cuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"cuid\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid2\") {\n if (!cuid2Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"cuid2\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ulid\") {\n if (!ulidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"ulid\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"url\") {\n try {\n new URL(input.data);\n }\n catch {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"url\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"regex\") {\n check.regex.lastIndex = 0;\n const testResult = check.regex.test(input.data);\n if (!testResult) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"regex\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"trim\") {\n input.data = input.data.trim();\n }\n else if (check.kind === \"includes\") {\n if (!input.data.includes(check.value, check.position)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: { includes: check.value, position: check.position },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"toLowerCase\") {\n input.data = input.data.toLowerCase();\n }\n else if (check.kind === \"toUpperCase\") {\n input.data = input.data.toUpperCase();\n }\n else if (check.kind === \"startsWith\") {\n if (!input.data.startsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: { startsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"endsWith\") {\n if (!input.data.endsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: { endsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"datetime\") {\n const regex = datetimeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: \"datetime\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"date\") {\n const regex = dateRegex;\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: \"date\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"time\") {\n const regex = timeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: \"time\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"duration\") {\n if (!durationRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"duration\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ip\") {\n if (!isValidIP(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"ip\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"jwt\") {\n if (!isValidJWT(input.data, check.alg)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"jwt\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cidr\") {\n if (!isValidCidr(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"cidr\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"base64\") {\n if (!base64Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"base64\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"base64url\") {\n if (!base64urlRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"base64url\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util_js_1.util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _regex(regex, validation, message) {\n return this.refinement((data) => regex.test(data), {\n validation,\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n _addCheck(check) {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n email(message) {\n return this._addCheck({ kind: \"email\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n url(message) {\n return this._addCheck({ kind: \"url\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n emoji(message) {\n return this._addCheck({ kind: \"emoji\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n uuid(message) {\n return this._addCheck({ kind: \"uuid\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n nanoid(message) {\n return this._addCheck({ kind: \"nanoid\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n cuid(message) {\n return this._addCheck({ kind: \"cuid\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n cuid2(message) {\n return this._addCheck({ kind: \"cuid2\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n ulid(message) {\n return this._addCheck({ kind: \"ulid\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n base64(message) {\n return this._addCheck({ kind: \"base64\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n base64url(message) {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return this._addCheck({\n kind: \"base64url\",\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n jwt(options) {\n return this._addCheck({ kind: \"jwt\", ...errorUtil_js_1.errorUtil.errToObj(options) });\n }\n ip(options) {\n return this._addCheck({ kind: \"ip\", ...errorUtil_js_1.errorUtil.errToObj(options) });\n }\n cidr(options) {\n return this._addCheck({ kind: \"cidr\", ...errorUtil_js_1.errorUtil.errToObj(options) });\n }\n datetime(options) {\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"datetime\",\n precision: null,\n offset: false,\n local: false,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"datetime\",\n precision: typeof options?.precision === \"undefined\" ? null : options?.precision,\n offset: options?.offset ?? false,\n local: options?.local ?? false,\n ...errorUtil_js_1.errorUtil.errToObj(options?.message),\n });\n }\n date(message) {\n return this._addCheck({ kind: \"date\", message });\n }\n time(options) {\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"time\",\n precision: null,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"time\",\n precision: typeof options?.precision === \"undefined\" ? null : options?.precision,\n ...errorUtil_js_1.errorUtil.errToObj(options?.message),\n });\n }\n duration(message) {\n return this._addCheck({ kind: \"duration\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n regex(regex, message) {\n return this._addCheck({\n kind: \"regex\",\n regex: regex,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n includes(value, options) {\n return this._addCheck({\n kind: \"includes\",\n value: value,\n position: options?.position,\n ...errorUtil_js_1.errorUtil.errToObj(options?.message),\n });\n }\n startsWith(value, message) {\n return this._addCheck({\n kind: \"startsWith\",\n value: value,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n endsWith(value, message) {\n return this._addCheck({\n kind: \"endsWith\",\n value: value,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n min(minLength, message) {\n return this._addCheck({\n kind: \"min\",\n value: minLength,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n max(maxLength, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxLength,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n length(len, message) {\n return this._addCheck({\n kind: \"length\",\n value: len,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n /**\n * Equivalent to `.min(1)`\n */\n nonempty(message) {\n return this.min(1, errorUtil_js_1.errorUtil.errToObj(message));\n }\n trim() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"trim\" }],\n });\n }\n toLowerCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toLowerCase\" }],\n });\n }\n toUpperCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toUpperCase\" }],\n });\n }\n get isDatetime() {\n return !!this._def.checks.find((ch) => ch.kind === \"datetime\");\n }\n get isDate() {\n return !!this._def.checks.find((ch) => ch.kind === \"date\");\n }\n get isTime() {\n return !!this._def.checks.find((ch) => ch.kind === \"time\");\n }\n get isDuration() {\n return !!this._def.checks.find((ch) => ch.kind === \"duration\");\n }\n get isEmail() {\n return !!this._def.checks.find((ch) => ch.kind === \"email\");\n }\n get isURL() {\n return !!this._def.checks.find((ch) => ch.kind === \"url\");\n }\n get isEmoji() {\n return !!this._def.checks.find((ch) => ch.kind === \"emoji\");\n }\n get isUUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"uuid\");\n }\n get isNANOID() {\n return !!this._def.checks.find((ch) => ch.kind === \"nanoid\");\n }\n get isCUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid\");\n }\n get isCUID2() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid2\");\n }\n get isULID() {\n return !!this._def.checks.find((ch) => ch.kind === \"ulid\");\n }\n get isIP() {\n return !!this._def.checks.find((ch) => ch.kind === \"ip\");\n }\n get isCIDR() {\n return !!this._def.checks.find((ch) => ch.kind === \"cidr\");\n }\n get isBase64() {\n return !!this._def.checks.find((ch) => ch.kind === \"base64\");\n }\n get isBase64url() {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return !!this._def.checks.find((ch) => ch.kind === \"base64url\");\n }\n get minLength() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxLength() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nexports.ZodString = ZodString;\nZodString.create = (params) => {\n return new ZodString({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodString,\n coerce: params?.coerce ?? false,\n ...processCreateParams(params),\n });\n};\n// https://stackoverflow.com/questions/3966484/why-does-modulus-operator-return-fractional-number-in-javascript/31711034#31711034\nfunction floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepDecCount = (step.toString().split(\".\")[1] || \"\").length;\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = Number.parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = Number.parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / 10 ** decCount;\n}\nclass ZodNumber extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n this.step = this.multipleOf;\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = Number(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.number) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.number,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n let ctx = undefined;\n const status = new parseUtil_js_1.ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"int\") {\n if (!util_js_1.util.isInteger(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: \"integer\",\n received: \"float\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"min\") {\n const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (floatSafeRemainder(input.data, check.value) !== 0) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"finite\") {\n if (!Number.isFinite(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.not_finite,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util_js_1.util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil_js_1.errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil_js_1.errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil_js_1.errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil_js_1.errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodNumber({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil_js_1.errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodNumber({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n int(message) {\n return this._addCheck({\n kind: \"int\",\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: false,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: false,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: true,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: true,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: value,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n finite(message) {\n return this._addCheck({\n kind: \"finite\",\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n safe(message) {\n return this._addCheck({\n kind: \"min\",\n inclusive: true,\n value: Number.MIN_SAFE_INTEGER,\n message: errorUtil_js_1.errorUtil.toString(message),\n })._addCheck({\n kind: \"max\",\n inclusive: true,\n value: Number.MAX_SAFE_INTEGER,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n get isInt() {\n return !!this._def.checks.find((ch) => ch.kind === \"int\" || (ch.kind === \"multipleOf\" && util_js_1.util.isInteger(ch.value)));\n }\n get isFinite() {\n let max = null;\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"finite\" || ch.kind === \"int\" || ch.kind === \"multipleOf\") {\n return true;\n }\n else if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n else if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return Number.isFinite(min) && Number.isFinite(max);\n }\n}\nexports.ZodNumber = ZodNumber;\nZodNumber.create = (params) => {\n return new ZodNumber({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodNumber,\n coerce: params?.coerce || false,\n ...processCreateParams(params),\n });\n};\nclass ZodBigInt extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n }\n _parse(input) {\n if (this._def.coerce) {\n try {\n input.data = BigInt(input.data);\n }\n catch {\n return this._getInvalidInput(input);\n }\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.bigint) {\n return this._getInvalidInput(input);\n }\n let ctx = undefined;\n const status = new parseUtil_js_1.ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n type: \"bigint\",\n minimum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n type: \"bigint\",\n maximum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (input.data % check.value !== BigInt(0)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util_js_1.util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _getInvalidInput(input) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.bigint,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil_js_1.errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil_js_1.errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil_js_1.errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil_js_1.errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodBigInt({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil_js_1.errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodBigInt({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nexports.ZodBigInt = ZodBigInt;\nZodBigInt.create = (params) => {\n return new ZodBigInt({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodBigInt,\n coerce: params?.coerce ?? false,\n ...processCreateParams(params),\n });\n};\nclass ZodBoolean extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = Boolean(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.boolean) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.boolean,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodBoolean = ZodBoolean;\nZodBoolean.create = (params) => {\n return new ZodBoolean({\n typeName: ZodFirstPartyTypeKind.ZodBoolean,\n coerce: params?.coerce || false,\n ...processCreateParams(params),\n });\n};\nclass ZodDate extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = new Date(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.date) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.date,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n if (Number.isNaN(input.data.getTime())) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_date,\n });\n return parseUtil_js_1.INVALID;\n }\n const status = new parseUtil_js_1.ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.getTime() < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n message: check.message,\n inclusive: true,\n exact: false,\n minimum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.getTime() > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n message: check.message,\n inclusive: true,\n exact: false,\n maximum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else {\n util_js_1.util.assertNever(check);\n }\n }\n return {\n status: status.value,\n value: new Date(input.data.getTime()),\n };\n }\n _addCheck(check) {\n return new ZodDate({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n min(minDate, message) {\n return this._addCheck({\n kind: \"min\",\n value: minDate.getTime(),\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n max(maxDate, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxDate.getTime(),\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n get minDate() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min != null ? new Date(min) : null;\n }\n get maxDate() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max != null ? new Date(max) : null;\n }\n}\nexports.ZodDate = ZodDate;\nZodDate.create = (params) => {\n return new ZodDate({\n checks: [],\n coerce: params?.coerce || false,\n typeName: ZodFirstPartyTypeKind.ZodDate,\n ...processCreateParams(params),\n });\n};\nclass ZodSymbol extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.symbol) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.symbol,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodSymbol = ZodSymbol;\nZodSymbol.create = (params) => {\n return new ZodSymbol({\n typeName: ZodFirstPartyTypeKind.ZodSymbol,\n ...processCreateParams(params),\n });\n};\nclass ZodUndefined extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.undefined,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodUndefined = ZodUndefined;\nZodUndefined.create = (params) => {\n return new ZodUndefined({\n typeName: ZodFirstPartyTypeKind.ZodUndefined,\n ...processCreateParams(params),\n });\n};\nclass ZodNull extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.null) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.null,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodNull = ZodNull;\nZodNull.create = (params) => {\n return new ZodNull({\n typeName: ZodFirstPartyTypeKind.ZodNull,\n ...processCreateParams(params),\n });\n};\nclass ZodAny extends ZodType {\n constructor() {\n super(...arguments);\n // to prevent instances of other classes from extending ZodAny. this causes issues with catchall in ZodObject.\n this._any = true;\n }\n _parse(input) {\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodAny = ZodAny;\nZodAny.create = (params) => {\n return new ZodAny({\n typeName: ZodFirstPartyTypeKind.ZodAny,\n ...processCreateParams(params),\n });\n};\nclass ZodUnknown extends ZodType {\n constructor() {\n super(...arguments);\n // required\n this._unknown = true;\n }\n _parse(input) {\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodUnknown = ZodUnknown;\nZodUnknown.create = (params) => {\n return new ZodUnknown({\n typeName: ZodFirstPartyTypeKind.ZodUnknown,\n ...processCreateParams(params),\n });\n};\nclass ZodNever extends ZodType {\n _parse(input) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.never,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n}\nexports.ZodNever = ZodNever;\nZodNever.create = (params) => {\n return new ZodNever({\n typeName: ZodFirstPartyTypeKind.ZodNever,\n ...processCreateParams(params),\n });\n};\nclass ZodVoid extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.void,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodVoid = ZodVoid;\nZodVoid.create = (params) => {\n return new ZodVoid({\n typeName: ZodFirstPartyTypeKind.ZodVoid,\n ...processCreateParams(params),\n });\n};\nclass ZodArray extends ZodType {\n _parse(input) {\n const { ctx, status } = this._processInputParams(input);\n const def = this._def;\n if (ctx.parsedType !== util_js_1.ZodParsedType.array) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.array,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n if (def.exactLength !== null) {\n const tooBig = ctx.data.length > def.exactLength.value;\n const tooSmall = ctx.data.length < def.exactLength.value;\n if (tooBig || tooSmall) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: tooBig ? ZodError_js_1.ZodIssueCode.too_big : ZodError_js_1.ZodIssueCode.too_small,\n minimum: (tooSmall ? def.exactLength.value : undefined),\n maximum: (tooBig ? def.exactLength.value : undefined),\n type: \"array\",\n inclusive: true,\n exact: true,\n message: def.exactLength.message,\n });\n status.dirty();\n }\n }\n if (def.minLength !== null) {\n if (ctx.data.length < def.minLength.value) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: def.minLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.minLength.message,\n });\n status.dirty();\n }\n }\n if (def.maxLength !== null) {\n if (ctx.data.length > def.maxLength.value) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: def.maxLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.maxLength.message,\n });\n status.dirty();\n }\n }\n if (ctx.common.async) {\n return Promise.all([...ctx.data].map((item, i) => {\n return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n })).then((result) => {\n return parseUtil_js_1.ParseStatus.mergeArray(status, result);\n });\n }\n const result = [...ctx.data].map((item, i) => {\n return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n });\n return parseUtil_js_1.ParseStatus.mergeArray(status, result);\n }\n get element() {\n return this._def.type;\n }\n min(minLength, message) {\n return new ZodArray({\n ...this._def,\n minLength: { value: minLength, message: errorUtil_js_1.errorUtil.toString(message) },\n });\n }\n max(maxLength, message) {\n return new ZodArray({\n ...this._def,\n maxLength: { value: maxLength, message: errorUtil_js_1.errorUtil.toString(message) },\n });\n }\n length(len, message) {\n return new ZodArray({\n ...this._def,\n exactLength: { value: len, message: errorUtil_js_1.errorUtil.toString(message) },\n });\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nexports.ZodArray = ZodArray;\nZodArray.create = (schema, params) => {\n return new ZodArray({\n type: schema,\n minLength: null,\n maxLength: null,\n exactLength: null,\n typeName: ZodFirstPartyTypeKind.ZodArray,\n ...processCreateParams(params),\n });\n};\nfunction deepPartialify(schema) {\n if (schema instanceof ZodObject) {\n const newShape = {};\n for (const key in schema.shape) {\n const fieldSchema = schema.shape[key];\n newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));\n }\n return new ZodObject({\n ...schema._def,\n shape: () => newShape,\n });\n }\n else if (schema instanceof ZodArray) {\n return new ZodArray({\n ...schema._def,\n type: deepPartialify(schema.element),\n });\n }\n else if (schema instanceof ZodOptional) {\n return ZodOptional.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodNullable) {\n return ZodNullable.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodTuple) {\n return ZodTuple.create(schema.items.map((item) => deepPartialify(item)));\n }\n else {\n return schema;\n }\n}\nclass ZodObject extends ZodType {\n constructor() {\n super(...arguments);\n this._cached = null;\n /**\n * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped.\n * If you want to pass through unknown properties, use `.passthrough()` instead.\n */\n this.nonstrict = this.passthrough;\n // extend<\n // Augmentation extends ZodRawShape,\n // NewOutput extends util.flatten<{\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // }>,\n // NewInput extends util.flatten<{\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }>\n // >(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape,\n // UnknownKeys,\n // Catchall,\n // NewOutput,\n // NewInput\n // > {\n // return new ZodObject({\n // ...this._def,\n // shape: () => ({\n // ...this._def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // }\n /**\n * @deprecated Use `.extend` instead\n * */\n this.augment = this.extend;\n }\n _getCached() {\n if (this._cached !== null)\n return this._cached;\n const shape = this._def.shape();\n const keys = util_js_1.util.objectKeys(shape);\n this._cached = { shape, keys };\n return this._cached;\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.object) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.object,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const { status, ctx } = this._processInputParams(input);\n const { shape, keys: shapeKeys } = this._getCached();\n const extraKeys = [];\n if (!(this._def.catchall instanceof ZodNever && this._def.unknownKeys === \"strip\")) {\n for (const key in ctx.data) {\n if (!shapeKeys.includes(key)) {\n extraKeys.push(key);\n }\n }\n }\n const pairs = [];\n for (const key of shapeKeys) {\n const keyValidator = shape[key];\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (this._def.catchall instanceof ZodNever) {\n const unknownKeys = this._def.unknownKeys;\n if (unknownKeys === \"passthrough\") {\n for (const key of extraKeys) {\n pairs.push({\n key: { status: \"valid\", value: key },\n value: { status: \"valid\", value: ctx.data[key] },\n });\n }\n }\n else if (unknownKeys === \"strict\") {\n if (extraKeys.length > 0) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.unrecognized_keys,\n keys: extraKeys,\n });\n status.dirty();\n }\n }\n else if (unknownKeys === \"strip\") {\n }\n else {\n throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);\n }\n }\n else {\n // run catchall validation\n const catchall = this._def.catchall;\n for (const key of extraKeys) {\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: catchall._parse(new ParseInputLazyPath(ctx, value, ctx.path, key) //, ctx.child(key), value, getParsedType(value)\n ),\n alwaysSet: key in ctx.data,\n });\n }\n }\n if (ctx.common.async) {\n return Promise.resolve()\n .then(async () => {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value,\n alwaysSet: pair.alwaysSet,\n });\n }\n return syncPairs;\n })\n .then((syncPairs) => {\n return parseUtil_js_1.ParseStatus.mergeObjectSync(status, syncPairs);\n });\n }\n else {\n return parseUtil_js_1.ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get shape() {\n return this._def.shape();\n }\n strict(message) {\n errorUtil_js_1.errorUtil.errToObj;\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strict\",\n ...(message !== undefined\n ? {\n errorMap: (issue, ctx) => {\n const defaultError = this._def.errorMap?.(issue, ctx).message ?? ctx.defaultError;\n if (issue.code === \"unrecognized_keys\")\n return {\n message: errorUtil_js_1.errorUtil.errToObj(message).message ?? defaultError,\n };\n return {\n message: defaultError,\n };\n },\n }\n : {}),\n });\n }\n strip() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strip\",\n });\n }\n passthrough() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"passthrough\",\n });\n }\n // const AugmentFactory =\n // (def: Def) =>\n // (\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape, Augmentation>,\n // Def[\"unknownKeys\"],\n // Def[\"catchall\"]\n // > => {\n // return new ZodObject({\n // ...def,\n // shape: () => ({\n // ...def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // };\n extend(augmentation) {\n return new ZodObject({\n ...this._def,\n shape: () => ({\n ...this._def.shape(),\n ...augmentation,\n }),\n });\n }\n /**\n * Prior to zod@1.0.12 there was a bug in the\n * inferred type of merged objects. Please\n * upgrade if you are experiencing issues.\n */\n merge(merging) {\n const merged = new ZodObject({\n unknownKeys: merging._def.unknownKeys,\n catchall: merging._def.catchall,\n shape: () => ({\n ...this._def.shape(),\n ...merging._def.shape(),\n }),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n });\n return merged;\n }\n // merge<\n // Incoming extends AnyZodObject,\n // Augmentation extends Incoming[\"shape\"],\n // NewOutput extends {\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // },\n // NewInput extends {\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }\n // >(\n // merging: Incoming\n // ): ZodObject<\n // extendShape>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"],\n // NewOutput,\n // NewInput\n // > {\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n setKey(key, schema) {\n return this.augment({ [key]: schema });\n }\n // merge(\n // merging: Incoming\n // ): //ZodObject = (merging) => {\n // ZodObject<\n // extendShape>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"]\n // > {\n // // const mergedShape = objectUtil.mergeShapes(\n // // this._def.shape(),\n // // merging._def.shape()\n // // );\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n catchall(index) {\n return new ZodObject({\n ...this._def,\n catchall: index,\n });\n }\n pick(mask) {\n const shape = {};\n for (const key of util_js_1.util.objectKeys(mask)) {\n if (mask[key] && this.shape[key]) {\n shape[key] = this.shape[key];\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n omit(mask) {\n const shape = {};\n for (const key of util_js_1.util.objectKeys(this.shape)) {\n if (!mask[key]) {\n shape[key] = this.shape[key];\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n /**\n * @deprecated\n */\n deepPartial() {\n return deepPartialify(this);\n }\n partial(mask) {\n const newShape = {};\n for (const key of util_js_1.util.objectKeys(this.shape)) {\n const fieldSchema = this.shape[key];\n if (mask && !mask[key]) {\n newShape[key] = fieldSchema;\n }\n else {\n newShape[key] = fieldSchema.optional();\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n required(mask) {\n const newShape = {};\n for (const key of util_js_1.util.objectKeys(this.shape)) {\n if (mask && !mask[key]) {\n newShape[key] = this.shape[key];\n }\n else {\n const fieldSchema = this.shape[key];\n let newField = fieldSchema;\n while (newField instanceof ZodOptional) {\n newField = newField._def.innerType;\n }\n newShape[key] = newField;\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n keyof() {\n return createZodEnum(util_js_1.util.objectKeys(this.shape));\n }\n}\nexports.ZodObject = ZodObject;\nZodObject.create = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.strictCreate = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strict\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.lazycreate = (shape, params) => {\n return new ZodObject({\n shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nclass ZodUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const options = this._def.options;\n function handleResults(results) {\n // return first issue-free validation if it exists\n for (const result of results) {\n if (result.result.status === \"valid\") {\n return result.result;\n }\n }\n for (const result of results) {\n if (result.result.status === \"dirty\") {\n // add issues from dirty option\n ctx.common.issues.push(...result.ctx.common.issues);\n return result.result;\n }\n }\n // return invalid\n const unionErrors = results.map((result) => new ZodError_js_1.ZodError(result.ctx.common.issues));\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_union,\n unionErrors,\n });\n return parseUtil_js_1.INVALID;\n }\n if (ctx.common.async) {\n return Promise.all(options.map(async (option) => {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n return {\n result: await option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n }),\n ctx: childCtx,\n };\n })).then(handleResults);\n }\n else {\n let dirty = undefined;\n const issues = [];\n for (const option of options) {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n const result = option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n });\n if (result.status === \"valid\") {\n return result;\n }\n else if (result.status === \"dirty\" && !dirty) {\n dirty = { result, ctx: childCtx };\n }\n if (childCtx.common.issues.length) {\n issues.push(childCtx.common.issues);\n }\n }\n if (dirty) {\n ctx.common.issues.push(...dirty.ctx.common.issues);\n return dirty.result;\n }\n const unionErrors = issues.map((issues) => new ZodError_js_1.ZodError(issues));\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_union,\n unionErrors,\n });\n return parseUtil_js_1.INVALID;\n }\n }\n get options() {\n return this._def.options;\n }\n}\nexports.ZodUnion = ZodUnion;\nZodUnion.create = (types, params) => {\n return new ZodUnion({\n options: types,\n typeName: ZodFirstPartyTypeKind.ZodUnion,\n ...processCreateParams(params),\n });\n};\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\n////////// //////////\n////////// ZodDiscriminatedUnion //////////\n////////// //////////\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\nconst getDiscriminator = (type) => {\n if (type instanceof ZodLazy) {\n return getDiscriminator(type.schema);\n }\n else if (type instanceof ZodEffects) {\n return getDiscriminator(type.innerType());\n }\n else if (type instanceof ZodLiteral) {\n return [type.value];\n }\n else if (type instanceof ZodEnum) {\n return type.options;\n }\n else if (type instanceof ZodNativeEnum) {\n // eslint-disable-next-line ban/ban\n return util_js_1.util.objectValues(type.enum);\n }\n else if (type instanceof ZodDefault) {\n return getDiscriminator(type._def.innerType);\n }\n else if (type instanceof ZodUndefined) {\n return [undefined];\n }\n else if (type instanceof ZodNull) {\n return [null];\n }\n else if (type instanceof ZodOptional) {\n return [undefined, ...getDiscriminator(type.unwrap())];\n }\n else if (type instanceof ZodNullable) {\n return [null, ...getDiscriminator(type.unwrap())];\n }\n else if (type instanceof ZodBranded) {\n return getDiscriminator(type.unwrap());\n }\n else if (type instanceof ZodReadonly) {\n return getDiscriminator(type.unwrap());\n }\n else if (type instanceof ZodCatch) {\n return getDiscriminator(type._def.innerType);\n }\n else {\n return [];\n }\n};\nclass ZodDiscriminatedUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.object) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.object,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const discriminator = this.discriminator;\n const discriminatorValue = ctx.data[discriminator];\n const option = this.optionsMap.get(discriminatorValue);\n if (!option) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_union_discriminator,\n options: Array.from(this.optionsMap.keys()),\n path: [discriminator],\n });\n return parseUtil_js_1.INVALID;\n }\n if (ctx.common.async) {\n return option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n else {\n return option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n get discriminator() {\n return this._def.discriminator;\n }\n get options() {\n return this._def.options;\n }\n get optionsMap() {\n return this._def.optionsMap;\n }\n /**\n * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.\n * However, it only allows a union of objects, all of which need to share a discriminator property. This property must\n * have a different value for each object in the union.\n * @param discriminator the name of the discriminator property\n * @param types an array of object schemas\n * @param params\n */\n static create(discriminator, options, params) {\n // Get all the valid discriminator values\n const optionsMap = new Map();\n // try {\n for (const type of options) {\n const discriminatorValues = getDiscriminator(type.shape[discriminator]);\n if (!discriminatorValues.length) {\n throw new Error(`A discriminator value for key \\`${discriminator}\\` could not be extracted from all schema options`);\n }\n for (const value of discriminatorValues) {\n if (optionsMap.has(value)) {\n throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);\n }\n optionsMap.set(value, type);\n }\n }\n return new ZodDiscriminatedUnion({\n typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,\n discriminator,\n options,\n optionsMap,\n ...processCreateParams(params),\n });\n }\n}\nexports.ZodDiscriminatedUnion = ZodDiscriminatedUnion;\nfunction mergeValues(a, b) {\n const aType = (0, util_js_1.getParsedType)(a);\n const bType = (0, util_js_1.getParsedType)(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n else if (aType === util_js_1.ZodParsedType.object && bType === util_js_1.ZodParsedType.object) {\n const bKeys = util_js_1.util.objectKeys(b);\n const sharedKeys = util_js_1.util.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n else if (aType === util_js_1.ZodParsedType.array && bType === util_js_1.ZodParsedType.array) {\n if (a.length !== b.length) {\n return { valid: false };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n else if (aType === util_js_1.ZodParsedType.date && bType === util_js_1.ZodParsedType.date && +a === +b) {\n return { valid: true, data: a };\n }\n else {\n return { valid: false };\n }\n}\nclass ZodIntersection extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const handleParsed = (parsedLeft, parsedRight) => {\n if ((0, parseUtil_js_1.isAborted)(parsedLeft) || (0, parseUtil_js_1.isAborted)(parsedRight)) {\n return parseUtil_js_1.INVALID;\n }\n const merged = mergeValues(parsedLeft.value, parsedRight.value);\n if (!merged.valid) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_intersection_types,\n });\n return parseUtil_js_1.INVALID;\n }\n if ((0, parseUtil_js_1.isDirty)(parsedLeft) || (0, parseUtil_js_1.isDirty)(parsedRight)) {\n status.dirty();\n }\n return { status: status.value, value: merged.data };\n };\n if (ctx.common.async) {\n return Promise.all([\n this._def.left._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n this._def.right._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n ]).then(([left, right]) => handleParsed(left, right));\n }\n else {\n return handleParsed(this._def.left._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }), this._def.right._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }));\n }\n }\n}\nexports.ZodIntersection = ZodIntersection;\nZodIntersection.create = (left, right, params) => {\n return new ZodIntersection({\n left: left,\n right: right,\n typeName: ZodFirstPartyTypeKind.ZodIntersection,\n ...processCreateParams(params),\n });\n};\n// type ZodTupleItems = [ZodTypeAny, ...ZodTypeAny[]];\nclass ZodTuple extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.array) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.array,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n if (ctx.data.length < this._def.items.length) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n return parseUtil_js_1.INVALID;\n }\n const rest = this._def.rest;\n if (!rest && ctx.data.length > this._def.items.length) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n status.dirty();\n }\n const items = [...ctx.data]\n .map((item, itemIndex) => {\n const schema = this._def.items[itemIndex] || this._def.rest;\n if (!schema)\n return null;\n return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));\n })\n .filter((x) => !!x); // filter nulls\n if (ctx.common.async) {\n return Promise.all(items).then((results) => {\n return parseUtil_js_1.ParseStatus.mergeArray(status, results);\n });\n }\n else {\n return parseUtil_js_1.ParseStatus.mergeArray(status, items);\n }\n }\n get items() {\n return this._def.items;\n }\n rest(rest) {\n return new ZodTuple({\n ...this._def,\n rest,\n });\n }\n}\nexports.ZodTuple = ZodTuple;\nZodTuple.create = (schemas, params) => {\n if (!Array.isArray(schemas)) {\n throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");\n }\n return new ZodTuple({\n items: schemas,\n typeName: ZodFirstPartyTypeKind.ZodTuple,\n rest: null,\n ...processCreateParams(params),\n });\n};\nclass ZodRecord extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.object) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.object,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const pairs = [];\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n for (const key in ctx.data) {\n pairs.push({\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),\n value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (ctx.common.async) {\n return parseUtil_js_1.ParseStatus.mergeObjectAsync(status, pairs);\n }\n else {\n return parseUtil_js_1.ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get element() {\n return this._def.valueType;\n }\n static create(first, second, third) {\n if (second instanceof ZodType) {\n return new ZodRecord({\n keyType: first,\n valueType: second,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(third),\n });\n }\n return new ZodRecord({\n keyType: ZodString.create(),\n valueType: first,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(second),\n });\n }\n}\nexports.ZodRecord = ZodRecord;\nclass ZodMap extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.map) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.map,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n const pairs = [...ctx.data.entries()].map(([key, value], index) => {\n return {\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, \"key\"])),\n value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, \"value\"])),\n };\n });\n if (ctx.common.async) {\n const finalMap = new Map();\n return Promise.resolve().then(async () => {\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return parseUtil_js_1.INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n });\n }\n else {\n const finalMap = new Map();\n for (const pair of pairs) {\n const key = pair.key;\n const value = pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return parseUtil_js_1.INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n }\n }\n}\nexports.ZodMap = ZodMap;\nZodMap.create = (keyType, valueType, params) => {\n return new ZodMap({\n valueType,\n keyType,\n typeName: ZodFirstPartyTypeKind.ZodMap,\n ...processCreateParams(params),\n });\n};\nclass ZodSet extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.set) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.set,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const def = this._def;\n if (def.minSize !== null) {\n if (ctx.data.size < def.minSize.value) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: def.minSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.minSize.message,\n });\n status.dirty();\n }\n }\n if (def.maxSize !== null) {\n if (ctx.data.size > def.maxSize.value) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: def.maxSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.maxSize.message,\n });\n status.dirty();\n }\n }\n const valueType = this._def.valueType;\n function finalizeSet(elements) {\n const parsedSet = new Set();\n for (const element of elements) {\n if (element.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (element.status === \"dirty\")\n status.dirty();\n parsedSet.add(element.value);\n }\n return { status: status.value, value: parsedSet };\n }\n const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));\n if (ctx.common.async) {\n return Promise.all(elements).then((elements) => finalizeSet(elements));\n }\n else {\n return finalizeSet(elements);\n }\n }\n min(minSize, message) {\n return new ZodSet({\n ...this._def,\n minSize: { value: minSize, message: errorUtil_js_1.errorUtil.toString(message) },\n });\n }\n max(maxSize, message) {\n return new ZodSet({\n ...this._def,\n maxSize: { value: maxSize, message: errorUtil_js_1.errorUtil.toString(message) },\n });\n }\n size(size, message) {\n return this.min(size, message).max(size, message);\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nexports.ZodSet = ZodSet;\nZodSet.create = (valueType, params) => {\n return new ZodSet({\n valueType,\n minSize: null,\n maxSize: null,\n typeName: ZodFirstPartyTypeKind.ZodSet,\n ...processCreateParams(params),\n });\n};\nclass ZodFunction extends ZodType {\n constructor() {\n super(...arguments);\n this.validate = this.implement;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.function) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.function,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n function makeArgsIssue(args, error) {\n return (0, parseUtil_js_1.makeIssue)({\n data: args,\n path: ctx.path,\n errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, (0, errors_js_1.getErrorMap)(), errors_js_1.defaultErrorMap].filter((x) => !!x),\n issueData: {\n code: ZodError_js_1.ZodIssueCode.invalid_arguments,\n argumentsError: error,\n },\n });\n }\n function makeReturnsIssue(returns, error) {\n return (0, parseUtil_js_1.makeIssue)({\n data: returns,\n path: ctx.path,\n errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, (0, errors_js_1.getErrorMap)(), errors_js_1.defaultErrorMap].filter((x) => !!x),\n issueData: {\n code: ZodError_js_1.ZodIssueCode.invalid_return_type,\n returnTypeError: error,\n },\n });\n }\n const params = { errorMap: ctx.common.contextualErrorMap };\n const fn = ctx.data;\n if (this._def.returns instanceof ZodPromise) {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return (0, parseUtil_js_1.OK)(async function (...args) {\n const error = new ZodError_js_1.ZodError([]);\n const parsedArgs = await me._def.args.parseAsync(args, params).catch((e) => {\n error.addIssue(makeArgsIssue(args, e));\n throw error;\n });\n const result = await Reflect.apply(fn, this, parsedArgs);\n const parsedReturns = await me._def.returns._def.type\n .parseAsync(result, params)\n .catch((e) => {\n error.addIssue(makeReturnsIssue(result, e));\n throw error;\n });\n return parsedReturns;\n });\n }\n else {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return (0, parseUtil_js_1.OK)(function (...args) {\n const parsedArgs = me._def.args.safeParse(args, params);\n if (!parsedArgs.success) {\n throw new ZodError_js_1.ZodError([makeArgsIssue(args, parsedArgs.error)]);\n }\n const result = Reflect.apply(fn, this, parsedArgs.data);\n const parsedReturns = me._def.returns.safeParse(result, params);\n if (!parsedReturns.success) {\n throw new ZodError_js_1.ZodError([makeReturnsIssue(result, parsedReturns.error)]);\n }\n return parsedReturns.data;\n });\n }\n }\n parameters() {\n return this._def.args;\n }\n returnType() {\n return this._def.returns;\n }\n args(...items) {\n return new ZodFunction({\n ...this._def,\n args: ZodTuple.create(items).rest(ZodUnknown.create()),\n });\n }\n returns(returnType) {\n return new ZodFunction({\n ...this._def,\n returns: returnType,\n });\n }\n implement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n strictImplement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n static create(args, returns, params) {\n return new ZodFunction({\n args: (args ? args : ZodTuple.create([]).rest(ZodUnknown.create())),\n returns: returns || ZodUnknown.create(),\n typeName: ZodFirstPartyTypeKind.ZodFunction,\n ...processCreateParams(params),\n });\n }\n}\nexports.ZodFunction = ZodFunction;\nclass ZodLazy extends ZodType {\n get schema() {\n return this._def.getter();\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const lazySchema = this._def.getter();\n return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });\n }\n}\nexports.ZodLazy = ZodLazy;\nZodLazy.create = (getter, params) => {\n return new ZodLazy({\n getter: getter,\n typeName: ZodFirstPartyTypeKind.ZodLazy,\n ...processCreateParams(params),\n });\n};\nclass ZodLiteral extends ZodType {\n _parse(input) {\n if (input.data !== this._def.value) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n received: ctx.data,\n code: ZodError_js_1.ZodIssueCode.invalid_literal,\n expected: this._def.value,\n });\n return parseUtil_js_1.INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n get value() {\n return this._def.value;\n }\n}\nexports.ZodLiteral = ZodLiteral;\nZodLiteral.create = (value, params) => {\n return new ZodLiteral({\n value: value,\n typeName: ZodFirstPartyTypeKind.ZodLiteral,\n ...processCreateParams(params),\n });\n};\nfunction createZodEnum(values, params) {\n return new ZodEnum({\n values,\n typeName: ZodFirstPartyTypeKind.ZodEnum,\n ...processCreateParams(params),\n });\n}\nclass ZodEnum extends ZodType {\n _parse(input) {\n if (typeof input.data !== \"string\") {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n expected: util_js_1.util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n });\n return parseUtil_js_1.INVALID;\n }\n if (!this._cache) {\n this._cache = new Set(this._def.values);\n }\n if (!this._cache.has(input.data)) {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n received: ctx.data,\n code: ZodError_js_1.ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n get options() {\n return this._def.values;\n }\n get enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Values() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n extract(values, newDef = this._def) {\n return ZodEnum.create(values, {\n ...this._def,\n ...newDef,\n });\n }\n exclude(values, newDef = this._def) {\n return ZodEnum.create(this.options.filter((opt) => !values.includes(opt)), {\n ...this._def,\n ...newDef,\n });\n }\n}\nexports.ZodEnum = ZodEnum;\nZodEnum.create = createZodEnum;\nclass ZodNativeEnum extends ZodType {\n _parse(input) {\n const nativeEnumValues = util_js_1.util.getValidEnumValues(this._def.values);\n const ctx = this._getOrReturnCtx(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.string && ctx.parsedType !== util_js_1.ZodParsedType.number) {\n const expectedValues = util_js_1.util.objectValues(nativeEnumValues);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n expected: util_js_1.util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n });\n return parseUtil_js_1.INVALID;\n }\n if (!this._cache) {\n this._cache = new Set(util_js_1.util.getValidEnumValues(this._def.values));\n }\n if (!this._cache.has(input.data)) {\n const expectedValues = util_js_1.util.objectValues(nativeEnumValues);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n received: ctx.data,\n code: ZodError_js_1.ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n get enum() {\n return this._def.values;\n }\n}\nexports.ZodNativeEnum = ZodNativeEnum;\nZodNativeEnum.create = (values, params) => {\n return new ZodNativeEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n ...processCreateParams(params),\n });\n};\nclass ZodPromise extends ZodType {\n unwrap() {\n return this._def.type;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.promise && ctx.common.async === false) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.promise,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const promisified = ctx.parsedType === util_js_1.ZodParsedType.promise ? ctx.data : Promise.resolve(ctx.data);\n return (0, parseUtil_js_1.OK)(promisified.then((data) => {\n return this._def.type.parseAsync(data, {\n path: ctx.path,\n errorMap: ctx.common.contextualErrorMap,\n });\n }));\n }\n}\nexports.ZodPromise = ZodPromise;\nZodPromise.create = (schema, params) => {\n return new ZodPromise({\n type: schema,\n typeName: ZodFirstPartyTypeKind.ZodPromise,\n ...processCreateParams(params),\n });\n};\nclass ZodEffects extends ZodType {\n innerType() {\n return this._def.schema;\n }\n sourceType() {\n return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects\n ? this._def.schema.sourceType()\n : this._def.schema;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const effect = this._def.effect || null;\n const checkCtx = {\n addIssue: (arg) => {\n (0, parseUtil_js_1.addIssueToContext)(ctx, arg);\n if (arg.fatal) {\n status.abort();\n }\n else {\n status.dirty();\n }\n },\n get path() {\n return ctx.path;\n },\n };\n checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);\n if (effect.type === \"preprocess\") {\n const processed = effect.transform(ctx.data, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(processed).then(async (processed) => {\n if (status.value === \"aborted\")\n return parseUtil_js_1.INVALID;\n const result = await this._def.schema._parseAsync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n if (result.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (result.status === \"dirty\")\n return (0, parseUtil_js_1.DIRTY)(result.value);\n if (status.value === \"dirty\")\n return (0, parseUtil_js_1.DIRTY)(result.value);\n return result;\n });\n }\n else {\n if (status.value === \"aborted\")\n return parseUtil_js_1.INVALID;\n const result = this._def.schema._parseSync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n if (result.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (result.status === \"dirty\")\n return (0, parseUtil_js_1.DIRTY)(result.value);\n if (status.value === \"dirty\")\n return (0, parseUtil_js_1.DIRTY)(result.value);\n return result;\n }\n }\n if (effect.type === \"refinement\") {\n const executeRefinement = (acc) => {\n const result = effect.refinement(acc, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(result);\n }\n if (result instanceof Promise) {\n throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");\n }\n return acc;\n };\n if (ctx.common.async === false) {\n const inner = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inner.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n // return value is ignored\n executeRefinement(inner.value);\n return { status: status.value, value: inner.value };\n }\n else {\n return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((inner) => {\n if (inner.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n return executeRefinement(inner.value).then(() => {\n return { status: status.value, value: inner.value };\n });\n });\n }\n }\n if (effect.type === \"transform\") {\n if (ctx.common.async === false) {\n const base = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (!(0, parseUtil_js_1.isValid)(base))\n return parseUtil_js_1.INVALID;\n const result = effect.transform(base.value, checkCtx);\n if (result instanceof Promise) {\n throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);\n }\n return { status: status.value, value: result };\n }\n else {\n return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => {\n if (!(0, parseUtil_js_1.isValid)(base))\n return parseUtil_js_1.INVALID;\n return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({\n status: status.value,\n value: result,\n }));\n });\n }\n }\n util_js_1.util.assertNever(effect);\n }\n}\nexports.ZodEffects = ZodEffects;\nexports.ZodTransformer = ZodEffects;\nZodEffects.create = (schema, effect, params) => {\n return new ZodEffects({\n schema,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect,\n ...processCreateParams(params),\n });\n};\nZodEffects.createWithPreprocess = (preprocess, schema, params) => {\n return new ZodEffects({\n schema,\n effect: { type: \"preprocess\", transform: preprocess },\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n ...processCreateParams(params),\n });\n};\nclass ZodOptional extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === util_js_1.ZodParsedType.undefined) {\n return (0, parseUtil_js_1.OK)(undefined);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nexports.ZodOptional = ZodOptional;\nZodOptional.create = (type, params) => {\n return new ZodOptional({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodOptional,\n ...processCreateParams(params),\n });\n};\nclass ZodNullable extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === util_js_1.ZodParsedType.null) {\n return (0, parseUtil_js_1.OK)(null);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nexports.ZodNullable = ZodNullable;\nZodNullable.create = (type, params) => {\n return new ZodNullable({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodNullable,\n ...processCreateParams(params),\n });\n};\nclass ZodDefault extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n let data = ctx.data;\n if (ctx.parsedType === util_js_1.ZodParsedType.undefined) {\n data = this._def.defaultValue();\n }\n return this._def.innerType._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n removeDefault() {\n return this._def.innerType;\n }\n}\nexports.ZodDefault = ZodDefault;\nZodDefault.create = (type, params) => {\n return new ZodDefault({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n defaultValue: typeof params.default === \"function\" ? params.default : () => params.default,\n ...processCreateParams(params),\n });\n};\nclass ZodCatch extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n // newCtx is used to not collect issues from inner types in ctx\n const newCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n };\n const result = this._def.innerType._parse({\n data: newCtx.data,\n path: newCtx.path,\n parent: {\n ...newCtx,\n },\n });\n if ((0, parseUtil_js_1.isAsync)(result)) {\n return result.then((result) => {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError_js_1.ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n });\n }\n else {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError_js_1.ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n }\n }\n removeCatch() {\n return this._def.innerType;\n }\n}\nexports.ZodCatch = ZodCatch;\nZodCatch.create = (type, params) => {\n return new ZodCatch({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n catchValue: typeof params.catch === \"function\" ? params.catch : () => params.catch,\n ...processCreateParams(params),\n });\n};\nclass ZodNaN extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.nan) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.nan,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n}\nexports.ZodNaN = ZodNaN;\nZodNaN.create = (params) => {\n return new ZodNaN({\n typeName: ZodFirstPartyTypeKind.ZodNaN,\n ...processCreateParams(params),\n });\n};\nexports.BRAND = Symbol(\"zod_brand\");\nclass ZodBranded extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const data = ctx.data;\n return this._def.type._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n unwrap() {\n return this._def.type;\n }\n}\nexports.ZodBranded = ZodBranded;\nclass ZodPipeline extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.common.async) {\n const handleAsync = async () => {\n const inResult = await this._def.in._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return (0, parseUtil_js_1.DIRTY)(inResult.value);\n }\n else {\n return this._def.out._parseAsync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n };\n return handleAsync();\n }\n else {\n const inResult = this._def.in._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return {\n status: \"dirty\",\n value: inResult.value,\n };\n }\n else {\n return this._def.out._parseSync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n }\n static create(a, b) {\n return new ZodPipeline({\n in: a,\n out: b,\n typeName: ZodFirstPartyTypeKind.ZodPipeline,\n });\n }\n}\nexports.ZodPipeline = ZodPipeline;\nclass ZodReadonly extends ZodType {\n _parse(input) {\n const result = this._def.innerType._parse(input);\n const freeze = (data) => {\n if ((0, parseUtil_js_1.isValid)(data)) {\n data.value = Object.freeze(data.value);\n }\n return data;\n };\n return (0, parseUtil_js_1.isAsync)(result) ? result.then((data) => freeze(data)) : freeze(result);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nexports.ZodReadonly = ZodReadonly;\nZodReadonly.create = (type, params) => {\n return new ZodReadonly({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodReadonly,\n ...processCreateParams(params),\n });\n};\n////////////////////////////////////////\n////////////////////////////////////////\n////////// //////////\n////////// z.custom //////////\n////////// //////////\n////////////////////////////////////////\n////////////////////////////////////////\nfunction cleanParams(params, data) {\n const p = typeof params === \"function\" ? params(data) : typeof params === \"string\" ? { message: params } : params;\n const p2 = typeof p === \"string\" ? { message: p } : p;\n return p2;\n}\nfunction custom(check, _params = {}, \n/**\n * @deprecated\n *\n * Pass `fatal` into the params object instead:\n *\n * ```ts\n * z.string().custom((val) => val.length > 5, { fatal: false })\n * ```\n *\n */\nfatal) {\n if (check)\n return ZodAny.create().superRefine((data, ctx) => {\n const r = check(data);\n if (r instanceof Promise) {\n return r.then((r) => {\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = params.fatal ?? fatal ?? true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n });\n }\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = params.fatal ?? fatal ?? true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n return;\n });\n return ZodAny.create();\n}\nexports.late = {\n object: ZodObject.lazycreate,\n};\nvar ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n ZodFirstPartyTypeKind[\"ZodString\"] = \"ZodString\";\n ZodFirstPartyTypeKind[\"ZodNumber\"] = \"ZodNumber\";\n ZodFirstPartyTypeKind[\"ZodNaN\"] = \"ZodNaN\";\n ZodFirstPartyTypeKind[\"ZodBigInt\"] = \"ZodBigInt\";\n ZodFirstPartyTypeKind[\"ZodBoolean\"] = \"ZodBoolean\";\n ZodFirstPartyTypeKind[\"ZodDate\"] = \"ZodDate\";\n ZodFirstPartyTypeKind[\"ZodSymbol\"] = \"ZodSymbol\";\n ZodFirstPartyTypeKind[\"ZodUndefined\"] = \"ZodUndefined\";\n ZodFirstPartyTypeKind[\"ZodNull\"] = \"ZodNull\";\n ZodFirstPartyTypeKind[\"ZodAny\"] = \"ZodAny\";\n ZodFirstPartyTypeKind[\"ZodUnknown\"] = \"ZodUnknown\";\n ZodFirstPartyTypeKind[\"ZodNever\"] = \"ZodNever\";\n ZodFirstPartyTypeKind[\"ZodVoid\"] = \"ZodVoid\";\n ZodFirstPartyTypeKind[\"ZodArray\"] = \"ZodArray\";\n ZodFirstPartyTypeKind[\"ZodObject\"] = \"ZodObject\";\n ZodFirstPartyTypeKind[\"ZodUnion\"] = \"ZodUnion\";\n ZodFirstPartyTypeKind[\"ZodDiscriminatedUnion\"] = \"ZodDiscriminatedUnion\";\n ZodFirstPartyTypeKind[\"ZodIntersection\"] = \"ZodIntersection\";\n ZodFirstPartyTypeKind[\"ZodTuple\"] = \"ZodTuple\";\n ZodFirstPartyTypeKind[\"ZodRecord\"] = \"ZodRecord\";\n ZodFirstPartyTypeKind[\"ZodMap\"] = \"ZodMap\";\n ZodFirstPartyTypeKind[\"ZodSet\"] = \"ZodSet\";\n ZodFirstPartyTypeKind[\"ZodFunction\"] = \"ZodFunction\";\n ZodFirstPartyTypeKind[\"ZodLazy\"] = \"ZodLazy\";\n ZodFirstPartyTypeKind[\"ZodLiteral\"] = \"ZodLiteral\";\n ZodFirstPartyTypeKind[\"ZodEnum\"] = \"ZodEnum\";\n ZodFirstPartyTypeKind[\"ZodEffects\"] = \"ZodEffects\";\n ZodFirstPartyTypeKind[\"ZodNativeEnum\"] = \"ZodNativeEnum\";\n ZodFirstPartyTypeKind[\"ZodOptional\"] = \"ZodOptional\";\n ZodFirstPartyTypeKind[\"ZodNullable\"] = \"ZodNullable\";\n ZodFirstPartyTypeKind[\"ZodDefault\"] = \"ZodDefault\";\n ZodFirstPartyTypeKind[\"ZodCatch\"] = \"ZodCatch\";\n ZodFirstPartyTypeKind[\"ZodPromise\"] = \"ZodPromise\";\n ZodFirstPartyTypeKind[\"ZodBranded\"] = \"ZodBranded\";\n ZodFirstPartyTypeKind[\"ZodPipeline\"] = \"ZodPipeline\";\n ZodFirstPartyTypeKind[\"ZodReadonly\"] = \"ZodReadonly\";\n})(ZodFirstPartyTypeKind || (exports.ZodFirstPartyTypeKind = ZodFirstPartyTypeKind = {}));\n// requires TS 4.4+\nclass Class {\n constructor(..._) { }\n}\nconst instanceOfType = (\n// const instanceOfType = any>(\ncls, params = {\n message: `Input not instance of ${cls.name}`,\n}) => custom((data) => data instanceof cls, params);\nexports.instanceof = instanceOfType;\nconst stringType = ZodString.create;\nexports.string = stringType;\nconst numberType = ZodNumber.create;\nexports.number = numberType;\nconst nanType = ZodNaN.create;\nexports.nan = nanType;\nconst bigIntType = ZodBigInt.create;\nexports.bigint = bigIntType;\nconst booleanType = ZodBoolean.create;\nexports.boolean = booleanType;\nconst dateType = ZodDate.create;\nexports.date = dateType;\nconst symbolType = ZodSymbol.create;\nexports.symbol = symbolType;\nconst undefinedType = ZodUndefined.create;\nexports.undefined = undefinedType;\nconst nullType = ZodNull.create;\nexports.null = nullType;\nconst anyType = ZodAny.create;\nexports.any = anyType;\nconst unknownType = ZodUnknown.create;\nexports.unknown = unknownType;\nconst neverType = ZodNever.create;\nexports.never = neverType;\nconst voidType = ZodVoid.create;\nexports.void = voidType;\nconst arrayType = ZodArray.create;\nexports.array = arrayType;\nconst objectType = ZodObject.create;\nexports.object = objectType;\nconst strictObjectType = ZodObject.strictCreate;\nexports.strictObject = strictObjectType;\nconst unionType = ZodUnion.create;\nexports.union = unionType;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nexports.discriminatedUnion = discriminatedUnionType;\nconst intersectionType = ZodIntersection.create;\nexports.intersection = intersectionType;\nconst tupleType = ZodTuple.create;\nexports.tuple = tupleType;\nconst recordType = ZodRecord.create;\nexports.record = recordType;\nconst mapType = ZodMap.create;\nexports.map = mapType;\nconst setType = ZodSet.create;\nexports.set = setType;\nconst functionType = ZodFunction.create;\nexports.function = functionType;\nconst lazyType = ZodLazy.create;\nexports.lazy = lazyType;\nconst literalType = ZodLiteral.create;\nexports.literal = literalType;\nconst enumType = ZodEnum.create;\nexports.enum = enumType;\nconst nativeEnumType = ZodNativeEnum.create;\nexports.nativeEnum = nativeEnumType;\nconst promiseType = ZodPromise.create;\nexports.promise = promiseType;\nconst effectsType = ZodEffects.create;\nexports.effect = effectsType;\nexports.transformer = effectsType;\nconst optionalType = ZodOptional.create;\nexports.optional = optionalType;\nconst nullableType = ZodNullable.create;\nexports.nullable = nullableType;\nconst preprocessType = ZodEffects.createWithPreprocess;\nexports.preprocess = preprocessType;\nconst pipelineType = ZodPipeline.create;\nexports.pipeline = pipelineType;\nconst ostring = () => stringType().optional();\nexports.ostring = ostring;\nconst onumber = () => numberType().optional();\nexports.onumber = onumber;\nconst oboolean = () => booleanType().optional();\nexports.oboolean = oboolean;\nexports.coerce = {\n string: ((arg) => ZodString.create({ ...arg, coerce: true })),\n number: ((arg) => ZodNumber.create({ ...arg, coerce: true })),\n boolean: ((arg) => ZodBoolean.create({\n ...arg,\n coerce: true,\n })),\n bigint: ((arg) => ZodBigInt.create({ ...arg, coerce: true })),\n date: ((arg) => ZodDate.create({ ...arg, coerce: true })),\n};\nexports.NEVER = parseUtil_js_1.INVALID;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./errors.cjs\"), exports);\n__exportStar(require(\"./helpers/parseUtil.cjs\"), exports);\n__exportStar(require(\"./helpers/typeAliases.cjs\"), exports);\n__exportStar(require(\"./helpers/util.cjs\"), exports);\n__exportStar(require(\"./types.cjs\"), exports);\n__exportStar(require(\"./ZodError.cjs\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.z = void 0;\nconst z = __importStar(require(\"./v3/external.cjs\"));\nexports.z = z;\n__exportStar(require(\"./v3/external.cjs\"), exports);\nexports.default = z;\n","/**\n * The `backgroundAgents` session-projection vocabulary: one foldable row per\n * background agent, in whole-value shape. The zod schema validates the wire\n * payload on the host and guards the same value inside the client bundle, so\n * the two halves share one runtime shape.\n *\n * @module dsh-background-agents/projection-schema\n */\n\nimport { z } from 'zod'\n\n/** Durable lifecycle state of one background agent, folded from the parent log. */\nexport const backgroundAgentEntrySchema = z.object({\n /** Durable child session id (the `agentId` every tool returns). */\n agentId: z.string().min(1),\n /** Creation label persisted with the child. */\n label: z.string(),\n /**\n * Last folded lifecycle fact: `running` while registrations/messages/progress\n * keep landing, `inactive` after the child's activation settled (folded from\n * the official `subagent-settled` notice), `archived` after the idle sweep.\n */\n activity: z.enum(['running', 'inactive', 'archived']),\n /** Accepted deliveries to the child: the initial task plus every follow-up. */\n messageCount: z.number().int().nonnegative(),\n /** Last progress or settle summary, when one was recorded. */\n lastMessage: z.string().optional(),\n /** Epoch ms of the registration fact. */\n createdAt: z.number().int().nonnegative(),\n /** Epoch ms of the last folded fact for this agent. */\n lastActiveAt: z.number().int().nonnegative(),\n /** Epoch ms of the idle-sweep archive fact, when the row is parked. */\n archivedAt: z.number().int().nonnegative().optional(),\n /** Epoch ms of the latest interrupt request, when one was recorded. */\n stopRequestedAt: z.number().int().nonnegative().optional(),\n /**\n * Aggregated per-agent cost/status totals, present once at least one\n * `metrics` fact has folded. Absent = no turn has been observed yet (or the\n * observability capture is disabled), so consumers render it as \"unknown\".\n */\n metrics: z.object({\n /** Completed child turns that reported a metric sample. */\n turnCount: z.number().int().nonnegative(),\n /** Summed turn wall time over reported turns, ms. */\n totalDurationMs: z.number().nonnegative(),\n /** Summed uncached input tokens; null until a turn reports token accounting. */\n inputTokens: z.number().int().nonnegative().nullable(),\n /** Summed output tokens; null until a turn reports token accounting. */\n outputTokens: z.number().int().nonnegative().nullable(),\n /** Failed turns (`turn/end` with `reason.kind === 'error'`). */\n errorCount: z.number().int().nonnegative(),\n }).strict().optional(),\n}).strict()\n\n/** The whole wire value of the `backgroundAgents` projection unit. */\nexport const backgroundAgentsSchema = z.object({\n agents: z.array(backgroundAgentEntrySchema),\n}).strict()\n\n/** One background-agent row of the projection. */\nexport type BackgroundAgentEntry = z.infer\n\n/** Per-agent aggregated cost/status totals carried on a projection row. */\nexport type BackgroundAgentMetrics = NonNullable\n\n/** The whole `backgroundAgents` projection value. */\nexport type BackgroundAgentsProjection = z.infer\n\n/**\n * Guard an opaque projection value (the client reads projection cells as\n * unknown because it cannot merge the host's `SessionProjectionMap`).\n * @param value - the opaque cell value.\n * @returns the typed projection, or undefined when the cell is absent or invalid.\n */\nexport function isBackgroundAgentsProjection(value: unknown): BackgroundAgentsProjection | undefined {\n const parsed = backgroundAgentsSchema.safeParse(value)\n return parsed.success ? parsed.data : undefined\n}\n","/**\n * Pure presentation of background-agent dashboard rows. The presenter reads\n * only the session-list snapshot (each parent summary carries its\n * `backgroundAgents` projection value) and derives every displayed fact —\n * no I/O, clock, or randomness — so the rows are testable and the component\n * stays a thin binder.\n *\n * @module dsh-background-agents/presenter\n */\n\nimport {\n isBackgroundAgentsProjection, type BackgroundAgentEntry, type BackgroundAgentMetrics,\n} from '../projection-schema.ts'\n\n/** Display status of one row: the durable fact overlaid with the live running bit. */\nexport type RowStatus = 'running' | 'idle' | 'settled' | 'archived'\n\n/** One rendered dashboard row. */\nexport interface AgentRow {\n /** Durable direct parent session id (the jump and stop authority). */\n readonly parentSessionId: string\n /** Durable child session id (the agentId the tools return). */\n readonly agentId: string\n /** Display label: the projection label, else the child's session title. */\n readonly label: string\n /** The parent session's display title, for disambiguation when several parents project rows. */\n readonly parentTitle?: string\n readonly status: RowStatus\n /** Accepted deliveries: the initial task plus every follow-up. */\n readonly messageCount: number\n /** Last progress or settle summary, when recorded. */\n readonly lastMessage?: string\n /** Epoch ms of the registration fact. */\n readonly createdAt: number\n /** Epoch ms of the last folded fact. */\n readonly lastActiveAt: number\n /** Aggregated cost/status totals, when at least one metric fact folded. */\n readonly metrics?: BackgroundAgentMetrics\n}\n\n/** The session-list face the presenter reads (host-sampled `running` per session). */\nexport interface SessionListLike {\n byId: Record\n}\n\n/** Read the plugin's projection cell out of the opaque client projection map. */\nfunction cellOf(parent: SessionListLike['byId'][string]): unknown {\n return (parent.projectionValues as { backgroundAgents?: unknown } | undefined)?.backgroundAgents\n}\n\n/**\n * Overlay the durable lifecycle fact with the live running bit. The client\n * list cannot distinguish a live-but-idle child from a cold one, so both read\n * `idle`; `bg_list` refines with the host agent registry.\n * @param entry - the folded projection entry.\n * @param liveRunning - whether the child session's driver is running now.\n * @returns the display status.\n */\nexport function rowStatus(entry: BackgroundAgentEntry, liveRunning: boolean): RowStatus {\n if (entry.activity === 'archived') return 'archived'\n if (liveRunning) return 'running'\n if (entry.activity === 'inactive') return 'settled'\n return 'idle'\n}\n\n/**\n * Build every dashboard row from one session-list snapshot, ordered by\n * registration time (oldest first) with the id as tiebreak.\n * @param list - the session-list snapshot.\n * @returns the dashboard rows; empty when no session projects agents.\n */\nexport function buildAgentRows(list: SessionListLike): AgentRow[] {\n const rows: AgentRow[] = []\n for (const parent of Object.values(list.byId)) {\n const projection = isBackgroundAgentsProjection(cellOf(parent))\n if (projection === undefined) continue\n for (const entry of projection.agents) {\n const child = list.byId[entry.agentId]\n rows.push({\n parentSessionId: parent.id,\n agentId: entry.agentId,\n label: entry.label === '' ? (child?.displayTitle ?? entry.agentId) : entry.label,\n ...(parent.displayTitle === undefined ? {} : { parentTitle: parent.displayTitle }),\n status: rowStatus(entry, child?.running === true),\n messageCount: entry.messageCount,\n ...(entry.lastMessage === undefined ? {} : { lastMessage: entry.lastMessage }),\n createdAt: entry.createdAt,\n lastActiveAt: entry.lastActiveAt,\n ...(entry.metrics === undefined ? {} : { metrics: entry.metrics }),\n })\n }\n }\n rows.sort((a, b) =>\n a.createdAt !== b.createdAt ? a.createdAt - b.createdAt : (a.agentId < b.agentId ? -1 : 1))\n return rows\n}\n\n/** Relative-time bucket of a row's last activity, for the caller to localize. */\nexport type RelativeTimeUnit = 'now' | 'minutes' | 'hours' | 'days' | 'months' | 'years'\n\n/** Structured relative time: the bucket plus its magnitude (0 for `now`). */\nexport interface RelativeTime {\n readonly unit: RelativeTimeUnit\n readonly n: number\n}\n\n/**\n * Compact relative time for a row's `lastActiveAt`.\n * @param at - epoch ms of the last activity.\n * @param now - epoch ms now (injected for purity).\n * @returns the bucket and magnitude.\n */\nexport function relativeTime(at: number, now: number): RelativeTime {\n const MIN = 60_000\n const HOUR = 3_600_000\n const DAY = 86_400_000\n const diff = Math.max(0, now - at)\n if (diff < MIN) return { unit: 'now', n: 0 }\n if (diff < HOUR) return { unit: 'minutes', n: Math.floor(diff / MIN) }\n if (diff < DAY) return { unit: 'hours', n: Math.floor(diff / HOUR) }\n if (diff < 30 * DAY) return { unit: 'days', n: Math.floor(diff / DAY) }\n if (diff < 365 * DAY) return { unit: 'months', n: Math.floor(diff / (30 * DAY)) }\n return { unit: 'years', n: Math.floor(diff / (365 * DAY)) }\n}\n\n/** One history page entry as the wire delivers it (structural; the client bundle never imports host types). */\nexport interface HistoryEntryLike {\n readonly event: {\n readonly type: string\n readonly data?: unknown\n }\n}\n\n/**\n * Extract the final assistant text from one history page. Scans forward for\n * the last assistant message that carries a text block; reasoning-only\n * messages are skipped (bg_result owns the reasoning fallback, the panel\n * shows plain text). Returns '' when the page has none — the caller renders\n * its own empty state.\n * @param entries - one `subagent.history` page's entries.\n * @returns the joined text of the last assistant text message.\n */\nexport function extractResultText(entries: readonly HistoryEntryLike[]): string {\n let text = ''\n for (const entry of entries) {\n if (entry.event.type !== 'assistant/message') continue\n const message = (entry.event.data as { message?: { content?: unknown } } | undefined)?.message\n if (message === undefined || !Array.isArray(message.content)) continue\n const joined = message.content\n .filter((block): block is { type: 'text'; text: string } =>\n typeof block === 'object' && block !== null && (block as { type?: unknown }).type === 'text')\n .map(block => block.text)\n .join('')\n .trim()\n if (joined !== '') text = joined\n }\n return text\n}\n\n/** One exported cost row (plain JSON: no host references, lossless over the wire). */\nexport interface CostReportRow {\n readonly agentId: string\n readonly label: string\n readonly status: RowStatus\n readonly turnCount: number\n readonly durationMs: number | null\n readonly inputTokens: number | null\n readonly outputTokens: number | null\n readonly errorCount: number\n /** Failed turns over observed turns; null when no turn was observed. */\n readonly errorRate: number | null\n}\n\n/** The whole export value (raw observability JSON; currency pricing is not applied). */\nexport interface CostReport {\n readonly generatedAt: number\n readonly agents: CostReportRow[]\n}\n\n/**\n * Build the plain-JSON cost report from the rendered rows. Token totals and\n * duration stay `null` for rows without a folded metric sample (absent = the\n * adapter reported none or the observability capture is disabled), so the\n * export never fabricates a zero. Error rate is `errorCount / turnCount`.\n * @param rows - the rendered dashboard rows.\n * @param now - epoch ms now (injected for purity).\n * @returns the JSON-serializable report.\n */\nexport function buildCostReport(rows: AgentRow[], now: number): CostReport {\n return {\n generatedAt: now,\n agents: rows.map(row => {\n const metrics = row.metrics\n const errorRate = metrics === undefined || metrics.turnCount === 0\n ? null\n : metrics.errorCount / metrics.turnCount\n return {\n agentId: row.agentId,\n label: row.label,\n status: row.status,\n turnCount: metrics?.turnCount ?? 0,\n durationMs: metrics === undefined ? null : metrics.totalDurationMs,\n inputTokens: metrics?.inputTokens ?? null,\n outputTokens: metrics?.outputTokens ?? null,\n errorCount: metrics?.errorCount ?? 0,\n errorRate,\n }\n }),\n }\n}\n","/**\n * The sidebar background-agent panel: a `sidebar.footer.action` entry whose\n * trigger shows a live agent count and opens a floating panel of dashboard\n * rows (label, status, last activity, message count) with one-click\n * jump-to-child-session and stop. All displayed facts come from the pure\n * presenter over the session-list snapshot; this component only binds\n * interactions.\n */\nimport { useEffect, useRef, useState, useSyncExternalStore } from 'react'\nimport { createPortal } from 'react-dom'\nimport type { PropsLocale, PropsRuntime, TranslateNS } from '@deepseek-ai/dsh-client-ui-slots'\nimport { IconBranchOutline16, Tooltip } from '@deepseek-ai/dsh-client-ui-primitives'\nimport type {} from '@deepseek-ai/dsh-client-ui-sidebar/client'\nimport { buildAgentRows, buildCostReport, relativeTime, type AgentRow, type RowStatus, type SessionListLike } from './presenter.ts'\nimport { NS } from './locales.ts'\nimport css from './BackgroundAgentsAction.module.css'\n\n/** Minimal structural snapshot contract (the owner package no longer re-exports the generic). */\ninterface ObservableSnapshot {\n getSnapshot(): T\n subscribe(listener: () => void): () => void\n}\n\n/** Business actions supplied by the slot registration. */\nexport interface BackgroundAgentsInjected {\n /** The live session-list snapshot the dashboard rows derive from. */\n sessions: ObservableSnapshot\n /**\n * Open the child session through its durable direct-parent address.\n * @returns an error message on failure, undefined on success.\n */\n openChild(parentSessionId: string, childSessionId: string): Promise\n /**\n * Request interruption of the child's current turn through the official\n * `subagent.interruptByParent` RPC.\n * @returns an error message on failure, undefined on success.\n */\n stopChild(parentSessionId: string, childSessionId: string): Promise\n /**\n * Queue one message as the child's next turn through the official\n * `subagent.prompt` RPC (wakes a settled child).\n * @returns an error message on failure, undefined on success.\n */\n sendMessage(parentSessionId: string, childSessionId: string, text: string): Promise\n /**\n * Read the child's final assistant text through the child session's\n * `conversation` projection (the `subagent.history` RPC no longer exists;\n * the peek never activates the child Agent).\n * @returns the extracted text plus an optional error message.\n */\n readResult(parentSessionId: string, childSessionId: string): Promise<{ text: string; error?: string }>\n}\n\n/** Full props: the footer-action owner share, standard kit, injected actions, and locale. */\nexport type BackgroundAgentsActionProps =\n PropsRuntime<'sidebar.footer.action'> & BackgroundAgentsInjected & PropsLocale\n\n/** Localized relative-time label for one row. */\nfunction timeLabel(at: number, now: number, t: TranslateNS): string {\n const rel = relativeTime(at, now)\n switch (rel.unit) {\n case 'now': return t('time.now')\n case 'minutes': return t('time.minutes', { n: rel.n })\n case 'hours': return t('time.hours', { n: rel.n })\n case 'days': return t('time.days', { n: rel.n })\n case 'months': return t('time.months', { n: rel.n })\n case 'years': return t('time.years', { n: rel.n })\n }\n}\n\n/** Localized status label. */\nfunction statusLabel(status: RowStatus, t: TranslateNS): string {\n switch (status) {\n case 'running': return t('status.running')\n case 'idle': return t('status.idle')\n case 'settled': return t('status.settled')\n case 'archived': return t('status.archived')\n }\n}\n\n/** One token count for display: `—` when the adapter never reported one. */\nfunction fmtTokens(n: number | null): string {\n return n === null ? '—' : String(n)\n}\n\n/** Compact duration for a row's summed turn wall time. */\nfunction fmtDuration(ms: number): string {\n if (ms < 1000) return `${ms}ms`\n const seconds = ms / 1000\n if (seconds < 60) return `${seconds.toFixed(1)}s`\n const minutes = Math.floor(seconds / 60)\n if (minutes < 60) return `${minutes}m ${Math.round(seconds % 60)}s`\n const hours = Math.floor(minutes / 60)\n return `${hours}h ${minutes % 60}m`\n}\n\n/** One open result peek: the row it belongs to plus its load state. */\ninterface ResultState {\n readonly id: string\n readonly loading: boolean\n readonly text: string\n readonly error?: string\n}\n\n/** One dashboard row. */\nfunction Row({ row, t, now, busy, showParent, composing, draft, result, onResult, onCloseResult, onDraft, onOpen, onStop, onCompose, onSend, onCancel }: {\n readonly row: AgentRow\n readonly t: TranslateNS\n readonly now: number\n readonly busy: boolean\n readonly showParent: boolean\n readonly composing: boolean\n readonly draft: string\n readonly result: ResultState | undefined\n readonly onResult: () => void\n readonly onCloseResult: () => void\n readonly onDraft: (text: string) => void\n readonly onOpen: () => void\n readonly onStop: () => void\n readonly onCompose: () => void\n readonly onSend: () => void\n readonly onCancel: () => void\n}) {\n const resultOpen = result !== undefined && result.id === row.agentId\n return (\n
  • \n
    \n {statusLabel(row.status, t)}\n {row.label}\n {t('row.messages', { n: row.messageCount })} · {timeLabel(row.lastActiveAt, now, t)}\n
    \n {showParent && row.parentTitle !== undefined &&
    {row.parentTitle}
    }\n {row.lastMessage !== undefined &&
    {row.lastMessage}
    }\n {row.metrics !== undefined && (\n
    \n {t('metrics.turns', { n: row.metrics.turnCount })}\n {t('metrics.duration', { n: fmtDuration(row.metrics.totalDurationMs) })}\n {t('metrics.tokens', { input: fmtTokens(row.metrics.inputTokens), output: fmtTokens(row.metrics.outputTokens) })}\n {t('metrics.errors', { n: row.metrics.errorCount })}\n
    \n )}\n
    \n \n \n {t('row.stop')}\n \n \n \n
    \n {resultOpen && result !== undefined && (\n
    \n {result.loading &&
    {t('result.loading')}
    }\n {!result.loading && result.error !== undefined &&
    {result.error}
    }\n {!result.loading && result.error === undefined\n &&
    {result.text === '' ? t('result.empty') : result.text}
    }\n
    \n )}\n {composing && (\n
    \n { onDraft(event.target.value) }}\n onKeyDown={event => {\n if (event.key === 'Enter' && draft.trim() !== '' && !busy) onSend()\n }}\n />\n \n \n
    \n )}\n
  • \n )\n}\n\n/** The sidebar footer trigger + floating dashboard panel. */\nexport function BackgroundAgentsAction({\n wide, t, sessions, openChild, stopChild, sendMessage, readResult,\n}: BackgroundAgentsActionProps) {\n const [open, setOpen] = useState(false)\n const [error, setError] = useState(undefined)\n const [busyId, setBusyId] = useState(undefined)\n const [composingId, setComposingId] = useState(undefined)\n const [draft, setDraft] = useState('')\n const [result, setResult] = useState(undefined)\n const [now, setNow] = useState(() => Date.now())\n const [anchor, setAnchor] = useState<{ left: number; bottom: number }>()\n const wrapRef = useRef(null)\n const panelRef = useRef(null)\n const triggerRef = useRef(null)\n const wasOpenRef = useRef(false)\n\n // The client SessionProjectionMap cannot carry the plugin's key, so the\n // snapshot crosses the boundary structurally and the presenter guards the\n // projection cell at runtime.\n const rows = buildAgentRows(useSyncExternalStore(sessions.subscribe, sessions.getSnapshot) as unknown as SessionListLike)\n const runningCount = rows.filter(row => row.status === 'running').length\n // Parent-session disambiguation: only when several parents project rows.\n const showParent = new Set(rows.map(row => row.parentSessionId)).size > 1\n\n // Refresh the relative-time labels while the panel is open.\n useEffect(() => {\n if (!open) return\n const timer = window.setInterval(() => { setNow(Date.now()) }, 30_000)\n return () => { window.clearInterval(timer) }\n }, [open])\n\n // Panel placement: anchor the floating panel to the trigger's left edge,\n // opening upward from the footer (the sidebar-footer convention), and\n // re-anchor on window resize while it is open.\n useEffect(() => {\n if (!open) return\n const place = (): void => {\n const rect = wrapRef.current?.getBoundingClientRect()\n if (rect === undefined) return\n setAnchor({ left: rect.left, bottom: window.innerHeight - rect.top + 8 })\n }\n place()\n window.addEventListener('resize', place)\n return () => { window.removeEventListener('resize', place) }\n }, [open])\n\n // Dialog focus: move into the panel on open, hand back to the trigger on\n // close so keyboard users keep their context. The guard skips the initial\n // mount (never steal focus from the boot flow).\n useEffect(() => {\n if (open) {\n panelRef.current?.focus()\n } else if (wasOpenRef.current) {\n triggerRef.current?.focus()\n }\n wasOpenRef.current = open\n }, [open])\n\n // Close on outside pointer-down or Escape.\n useEffect(() => {\n if (!open) return\n const onDown = (event: PointerEvent): void => {\n const target = event.target\n if (!(target instanceof Node)) return\n if (panelRef.current?.contains(target) === true || wrapRef.current?.contains(target) === true) return\n setOpen(false)\n }\n const onKey = (event: KeyboardEvent): void => {\n if (event.key === 'Escape') setOpen(false)\n }\n document.addEventListener('pointerdown', onDown)\n document.addEventListener('keydown', onKey)\n return () => {\n document.removeEventListener('pointerdown', onDown)\n document.removeEventListener('keydown', onKey)\n }\n }, [open])\n\n const run = async (action: (row: AgentRow) => Promise, row: AgentRow): Promise => {\n setBusyId(row.agentId)\n setError(undefined)\n try {\n const failure = await action(row)\n setError(failure)\n } finally {\n setBusyId(undefined)\n }\n }\n\n const loadResult = async (row: AgentRow): Promise => {\n setResult({ id: row.agentId, loading: true, text: '' })\n setError(undefined)\n try {\n const peek = await readResult(row.parentSessionId, row.agentId)\n setResult({\n id: row.agentId,\n loading: false,\n text: peek.text,\n ...(peek.error === undefined ? {} : { error: peek.error }),\n })\n } catch (failure) {\n setResult({\n id: row.agentId,\n loading: false,\n text: '',\n error: failure instanceof Error ? failure.message : String(failure),\n })\n }\n }\n\n // Cost export: raw token/duration JSON. The browser cannot verify or convert\n // currency cost — no per-model pricing table crosses the client boundary —\n // so the export is the observability totals verbatim and the host (or the\n // consuming tooling) owns any pricing. Both paths are defensive: download\n // degrades to nothing when Blob/URL is unavailable, copy surfaces the error.\n const downloadCost = (): void => {\n const report = buildCostReport(rows, Date.now())\n const blob = new Blob([JSON.stringify(report, null, 2)], { type: 'application/json' })\n const url = URL.createObjectURL(blob)\n const anchor = document.createElement('a')\n anchor.href = url\n anchor.download = 'background-agents-cost.json'\n document.body.appendChild(anchor)\n anchor.click()\n anchor.remove()\n URL.revokeObjectURL(url)\n }\n\n const copyCost = async (): Promise => {\n try {\n await navigator.clipboard.writeText(JSON.stringify(buildCostReport(rows, Date.now()), null, 2))\n } catch (failure) {\n setError(failure instanceof Error ? failure.message : String(failure))\n }\n }\n\n return (\n
    \n \n {\n setOpen(value => !value)\n setError(undefined)\n }}\n >\n \n {wide && {t('trigger.label')}}\n {runningCount > 0 && {runningCount}}\n \n \n {open && createPortal(\n
    \n
    {t('panel.title')}
    \n {rows.length > 0 && (\n
    \n \n \n
    \n )}\n {error !== undefined &&
    {error}
    }\n {rows.length === 0\n ?
    {t('panel.empty')}
    \n : (\n
      \n {rows.map(row => (\n { void loadResult(row) }}\n onCloseResult={() => { setResult(undefined) }}\n onDraft={setDraft}\n onOpen={() => { void run(next => openChild(next.parentSessionId, next.agentId), row) }}\n onStop={() => { void run(next => stopChild(next.parentSessionId, next.agentId), row) }}\n onCompose={() => {\n setComposingId(row.agentId)\n setDraft('')\n setError(undefined)\n }}\n onSend={() => {\n const text = draft.trim()\n if (text === '') return\n void run(async next => {\n const failure = await sendMessage(next.parentSessionId, next.agentId, text)\n if (failure === undefined) setComposingId(undefined)\n return failure\n }, row)\n }}\n onCancel={() => { setComposingId(undefined) }}\n />\n ))}\n
    \n )}\n
    ,\n document.body,\n )}\n
    \n )\n}\n","/** `background-agents` namespace dictionaries. */\n\n/** Dictionary namespace owned by this plugin. */\nexport const NS = 'background-agents'\n\n/** Simplified Chinese dictionary (the key-set source of truth). */\nexport const zh = {\n 'trigger.label': '后台 agent',\n 'trigger.aria': '查看后台 agent',\n 'panel.title': '后台 agent',\n 'panel.empty': '暂无后台 agent —— 用 background_agent 工具启动一个',\n 'status.running': '运行中',\n 'status.idle': '待命',\n 'status.settled': '已结束',\n 'status.archived': '已归档',\n 'row.open': '打开会话',\n 'row.stop': '停止',\n 'row.message': '发消息',\n 'row.result': '查看结果',\n 'row.messages': '{n} 条消息',\n 'result.loading': '加载中…',\n 'result.empty': '该 agent 还没有输出文本',\n 'result.close': '收起',\n 'message.placeholder': '发给该 agent 的消息…',\n 'message.send': '发送',\n 'message.cancel': '取消',\n 'time.now': '刚刚',\n 'time.minutes': '{n} 分钟前',\n 'time.hours': '{n} 小时前',\n 'time.days': '{n} 天前',\n 'time.months': '{n} 个月前',\n 'time.years': '{n} 年前',\n 'metrics.turns': '{n} 回合',\n 'metrics.duration': '耗时 {n}',\n 'metrics.tokens': '{input} 入 / {output} 出',\n 'metrics.errors': '{n} 错误',\n 'export.download': '导出成本 JSON',\n 'export.copy': '复制',\n} as const\n\n/** English dictionary, key-identical to the Chinese source of truth. */\nexport const en: Record = {\n 'trigger.label': 'Background agents',\n 'trigger.aria': 'View background agents',\n 'panel.title': 'Background agents',\n 'panel.empty': 'No background agents — start one with the background_agent tool',\n 'status.running': 'running',\n 'status.idle': 'idle',\n 'status.settled': 'settled',\n 'status.archived': 'archived',\n 'row.open': 'Open',\n 'row.stop': 'Stop',\n 'row.message': 'Message',\n 'row.result': 'Result',\n 'row.messages': '{n} messages',\n 'result.loading': 'Loading…',\n 'result.empty': 'This agent has no output text yet',\n 'result.close': 'Close',\n 'message.placeholder': 'Message for this agent…',\n 'message.send': 'Send',\n 'message.cancel': 'Cancel',\n 'time.now': 'now',\n 'time.minutes': '{n}m ago',\n 'time.hours': '{n}h ago',\n 'time.days': '{n}d ago',\n 'time.months': '{n}mo ago',\n 'time.years': '{n}y ago',\n 'metrics.turns': '{n} turns',\n 'metrics.duration': '{n}',\n 'metrics.tokens': '{input} in / {output} out',\n 'metrics.errors': '{n} errors',\n 'export.download': 'Export cost JSON',\n 'export.copy': 'Copy',\n}\n\n// NOTE: no es/pt/hi dictionaries here by seam constraint — the harness\n// client locale registry ships exactly `zh`/`en` as LocaleIds\n// (`packages/client/locale/src/locale-settings.ts`), so a registered third\n// locale would never be selectable. The five-language READMEs stay.\n\n/** Key domain of the `background-agents` namespace (zh is the source of truth). */\nexport type BackgroundAgentsKey = keyof typeof zh\n","/**\n * The Team Rooms settings page panel: member status, the shared task board,\n * and the timeline of every room this session belongs to. Reads arrive\n * through the `teamRoom` session projection (the same durable fold the host\n * reconstructs on restart); writes go back through the HOST `/room` command\n * (`remote.commands.execute`), so every button keeps the durable command\n * lifecycle (`command/run` / `command/done`) and the host-side ordering\n * guarantees.\n *\n * Return types are inferred (no explicit `ReactNode` annotations): the shell\n * resolves `ReactNode` against its own @types/react, and an explicit\n * annotation would pin the plugin bundle to a mismatched copy.\n */\nimport { useState } from 'react'\nimport type { PropsLocale, PropsRuntime, InjectFace, TranslateNS } from '@deepseek-ai/dsh-client-ui-slots'\nimport type {} from '@deepseek-ai/dsh-client-ui-settings/client'\n/** Minimal structural snapshot contract (the owner package no longer re-exports the generic). */\ninterface ObservableSnapshot {\n getSnapshot(): T\n subscribe(listener: () => void): () => void\n}\nimport type { RoomPanel, RoomTaskRow, TeamRoomsState } from './room-presenter.ts'\nimport { ROOM_NS } from './room-locales.ts'\nimport css from './TeamRoomsSection.module.css'\n\n/** Business actions supplied by the slot registration (all via /room command execution). */\nexport interface TeamRoomsInjected {\n hooks: {\n /** The live controller state: current session id + derived room panels. */\n teamRooms: ObservableSnapshot\n }\n /** The current session id (commands execute against it), or undefined. */\n getSessionId(): string | undefined\n create(name: string): Promise\n join(roomId: string): Promise\n leave(roomId: string): Promise\n post(roomId: string, text: string): Promise\n addTask(roomId: string, title: string): Promise\n claimTask(roomId: string, taskId: string): Promise\n completeTask(roomId: string, taskId: string): Promise\n assignTask(roomId: string, taskId: string, member: string): Promise\n}\n\n/** The action share one room card needs (everything except the bound hooks). */\nexport type RoomActions = Omit\n\n/** Full component props: the settings-section owner share, locale, and the bound inject face. */\nexport type TeamRoomsSectionProps =\n PropsRuntime<'settings.section'> & PropsLocale & InjectFace\n\n/** Localized one-line account of a timeline entry. */\nfunction timelineLabel(\n row: { readonly seq: number; readonly kind: string; readonly data: Record },\n t: TranslateNS,\n): string {\n const str = (value: unknown): string => (typeof value === 'string' ? value : '')\n switch (row.kind) {\n case 'room-created': return t('timelineRoomCreated', { member: str(row.data.sessionId) })\n case 'member-joined': return t('timelineMemberJoined', { member: str(row.data.sessionId) })\n case 'member-left': return t('timelineMemberLeft', { member: str(row.data.sessionId) })\n case 'message-posted': return t('timelineMessage', { sender: str(row.data.senderSessionId), text: str(row.data.text) })\n case 'message-directed': return t('timelineDirected', { sender: str(row.data.senderSessionId), to: str(row.data.toSessionId), text: str(row.data.text) })\n case 'task-created': return t('timelineTaskCreated', { title: str(row.data.title) })\n case 'task-claimed': return t('timelineTaskClaimed', { member: str(row.data.assigneeSessionId) })\n case 'task-assigned': return t('timelineTaskAssigned', { member: str(row.data.assigneeSessionId) })\n case 'task-completed': return t('timelineTaskCompleted', {})\n default: return t('timelineUnknown', { seq: row.seq })\n }\n}\n\n/** One task row with its local actions. */\nfunction TaskRowView({ roomId, task, t, busy, actions }: {\n readonly roomId: string\n readonly task: RoomTaskRow\n readonly t: TranslateNS\n readonly busy: boolean\n readonly actions: Pick\n}) {\n const [assignee, setAssignee] = useState('')\n const statusLabel = task.status === 'todo'\n ? t('statusTodo')\n : task.status === 'in-progress' ? t('statusInProgress') : t('statusDone')\n return (\n
  • \n
    \n {statusLabel}\n {task.title}\n \n {task.assigneeSessionId === null ? t('unassigned') : task.assigneeSessionId}\n \n
    \n {task.description !== '' &&
    {task.description}
    }\n
    \n {task.status === 'todo' && (\n \n )}\n {task.status !== 'done' && (\n <>\n { setAssignee(event.target.value) }}\n />\n {\n void actions.assignTask(roomId, task.taskId, assignee.trim())\n setAssignee('')\n }}\n >\n {t('assignAction')}\n \n \n )}\n {task.status !== 'done' && (\n \n )}\n
    \n
  • \n )\n}\n\n/** One room card: members, task board, message composer, and timeline. */\nfunction RoomCard({ panel, t, busy, actions }: {\n readonly panel: RoomPanel\n readonly t: TranslateNS\n readonly busy: boolean\n readonly actions: RoomActions\n}) {\n const [taskTitle, setTaskTitle] = useState('')\n const [message, setMessage] = useState('')\n const [copied, setCopied] = useState(false)\n return (\n
    \n
    \n

    {panel.name}

    \n \n {t('roomId')}: {panel.roomId}\n \n {\n void navigator.clipboard.writeText(panel.roomId)\n setCopied(true)\n window.setTimeout(() => { setCopied(false) }, 1500)\n }}\n >\n {copied ? t('copied') : t('copy')}\n \n { void actions.leave(panel.roomId) }}\n >\n {t('leave')}\n \n
    \n\n
    \n

    {t('members')}

    \n
      \n {panel.members.map(member => (\n
    • \n \n \n {member.title ?? member.sessionId}\n \n \n {member.role === 'owner' ? t('owner') : t('member')} · {member.live ? t('live') : t('offline')}\n \n
    • \n ))}\n
    \n
    \n\n
    \n

    {t('tasks')}

    \n
    \n { setTaskTitle(event.target.value) }}\n onKeyDown={event => {\n if (event.key === 'Enter' && taskTitle.trim() !== '' && !busy) {\n void actions.addTask(panel.roomId, taskTitle.trim())\n setTaskTitle('')\n }\n }}\n />\n {\n void actions.addTask(panel.roomId, taskTitle.trim())\n setTaskTitle('')\n }}\n >\n {t('taskAdd')}\n \n
    \n {panel.tasks.length === 0\n ?
    {t('tasksEmpty')}
    \n : (\n
      \n {panel.tasks.map(task => (\n \n ))}\n
    \n )}\n
    \n\n
    \n

    {t('message')}

    \n
    \n { setMessage(event.target.value) }}\n onKeyDown={event => {\n if (event.key === 'Enter' && message.trim() !== '' && !busy) {\n void actions.post(panel.roomId, message.trim())\n setMessage('')\n }\n }}\n />\n {\n void actions.post(panel.roomId, message.trim())\n setMessage('')\n }}\n >\n {t('send')}\n \n
    \n
    \n\n
    \n

    {t('timeline')}

    \n {panel.timeline.length === 0\n ?
    {t('timelineEmpty')}
    \n : (\n
      \n {panel.timeline.map(event => (\n
    • \n {event.kind}\n {timelineLabel(event, t)}\n
    • \n ))}\n
    \n )}\n
    \n {busy &&
    {t('busy')}
    }\n
    \n )\n}\n\n/** The settings section: room management over the live session's projection. */\nexport function TeamRoomsSection(props: TeamRoomsSectionProps) {\n const { useTeamRooms, t } = props\n const state = useTeamRooms(snapshot => snapshot) as TeamRoomsState\n const [createName, setCreateName] = useState('')\n const [joinId, setJoinId] = useState('')\n const [error, setError] = useState(undefined)\n const [busyId, setBusyId] = useState(undefined)\n\n const run = async (action: () => Promise, mark?: string): Promise => {\n setBusyId(mark)\n setError(undefined)\n try {\n const failure = await action()\n setError(failure)\n } finally {\n setBusyId(undefined)\n }\n }\n\n return (\n
    \n

    {t('title')}

    \n

    {t('intro')}

    \n\n {state.sessionId === undefined &&

    {t('noSession')}

    }\n\n
    \n
    \n { setCreateName(event.target.value) }}\n onKeyDown={event => {\n if (event.key === 'Enter' && createName.trim() !== '' && busyId === undefined) {\n void run(() => props.create(createName.trim()), 'create').then(() => { setCreateName('') })\n }\n }}\n />\n {\n void run(() => props.create(createName.trim()), 'create').then(() => { setCreateName('') })\n }}\n >\n {t('createAction')}\n \n
    \n
    \n { setJoinId(event.target.value) }}\n onKeyDown={event => {\n if (event.key === 'Enter' && joinId.trim() !== '' && busyId === undefined) {\n void run(() => props.join(joinId.trim()), 'join').then(() => { setJoinId('') })\n }\n }}\n />\n {\n void run(() => props.join(joinId.trim()), 'join').then(() => { setJoinId('') })\n }}\n >\n {t('joinAction')}\n \n
    \n
    \n\n {error !== undefined &&
    {t('error')}: {error}
    }\n\n {state.rooms.length === 0\n ?
    {t('empty')}
    \n : state.rooms.map(room => (\n \n ))}\n
    \n )\n}\n","/**\n * Pure wire vocabulary of the team-room domain: zod schemas for every stored\n * record, shared by the domain spec (durable boundary validation), the\n * `teamRoom` session projection (wire value), and the client bundle guard.\n * All times are epoch ms; ids are plain strings.\n *\n * @module dsh-background-agents/room/schema\n */\n\nimport { z } from 'zod'\n\n/** One member slot of a room: an independent session registered into the team. */\nexport const roomMemberSchema = z.object({\n /** Durable member session id (each member is its own session). */\n sessionId: z.string().min(1),\n /** `owner` created the room; `member` joined it. */\n role: z.enum(['owner', 'member']),\n /** Epoch ms of registration. */\n joinedAt: z.number().int().nonnegative(),\n /**\n * Bus seq up to which this member's session log has received the\n * model-visible delivery (0 = none yet). The offline outbox cursor.\n */\n lastDeliveredSeq: z.number().int().nonnegative(),\n /**\n * Timeline seq up to which this member's session log carries the log-only\n * facts (-1 = none yet). The offline fact-replay cursor.\n */\n lastFactSeq: z.number().int().min(-1),\n}).strict()\n\n/** The durable room record: membership plus the two append cursors. */\nexport const roomRecordSchema = z.object({\n roomId: z.string().min(1),\n name: z.string().min(1),\n createdAt: z.number().int().nonnegative(),\n /** Registration-order member list (each member is an independent session). */\n members: z.array(roomMemberSchema),\n /** Next bus seq to mint (monotonic per room; the ordering authority). */\n busNext: z.number().int().nonnegative(),\n /** Next timeline seq to mint. */\n timelineNext: z.number().int().nonnegative(),\n}).strict()\n\n/** One message on the room bus: broadcast, or directed when `toSessionId` is set. */\nexport const busMessageSchema = z.object({\n roomId: z.string().min(1),\n /** Monotonic per-room seq: the bus order every reader agrees on. */\n seq: z.number().int().nonnegative(),\n senderSessionId: z.string().min(1),\n /** Directed delivery target; absent = broadcast to every member. */\n toSessionId: z.string().min(1).optional(),\n text: z.string(),\n createdAt: z.number().int().nonnegative(),\n}).strict()\n\n/** One task-board card: todo / in-progress / done plus its assignee. */\nexport const taskRecordSchema = z.object({\n roomId: z.string().min(1),\n taskId: z.string().min(1),\n title: z.string().min(1),\n description: z.string(),\n status: z.enum(['todo', 'in-progress', 'done']),\n /** Assignee member session id; null = unassigned. */\n assigneeSessionId: z.string().nullable(),\n createdBy: z.string().min(1),\n createdAt: z.number().int().nonnegative(),\n updatedAt: z.number().int().nonnegative(),\n completedAt: z.number().int().nonnegative().optional(),\n}).strict()\n\n/** Timeline kinds the room appends; the shared event stream. */\nexport const timelineKindSchema = z.enum([\n 'room-created',\n 'member-joined',\n 'member-left',\n 'message-posted',\n 'message-directed',\n 'task-created',\n 'task-claimed',\n 'task-assigned',\n 'task-completed',\n])\n\n/** One shared timeline event (append-only per room). */\nexport const timelineEventSchema = z.object({\n roomId: z.string().min(1),\n /** Monotonic per-room seq; the timeline order. */\n seq: z.number().int().nonnegative(),\n kind: timelineKindSchema,\n at: z.number().int().nonnegative(),\n /** Kind-specific payload; plain lossless JSON. */\n data: z.record(z.unknown()),\n}).strict()\n\n// ── the folded per-session wire value (`teamRoom` projection) ────────────────\n\n/** One member row as the fold serves it. */\nexport const roomViewMemberSchema = z.object({\n sessionId: z.string().min(1),\n role: z.enum(['owner', 'member']),\n joinedAt: z.number().int().nonnegative(),\n}).strict()\n\n/** One task row as the fold serves it. */\nexport const roomViewTaskSchema = z.object({\n taskId: z.string().min(1),\n title: z.string(),\n description: z.string(),\n status: z.enum(['todo', 'in-progress', 'done']),\n assigneeSessionId: z.string().nullable(),\n createdBy: z.string(),\n createdAt: z.number().int().nonnegative(),\n updatedAt: z.number().int().nonnegative(),\n}).strict()\n\n/** One room as the fold serves it. */\nexport const roomViewSchema = z.object({\n roomId: z.string().min(1),\n name: z.string(),\n createdAt: z.number().int().nonnegative(),\n members: z.array(roomViewMemberSchema),\n tasks: z.array(roomViewTaskSchema),\n timeline: z.array(timelineEventSchema),\n}).strict()\n\n/** The whole `teamRoom` projection value: every room this session belongs to. */\nexport const teamRoomViewSchema = z.object({\n rooms: z.array(roomViewSchema),\n}).strict()\n\n// ── derived types ────────────────────────────────────────────────────────────\n\nexport type RoomMember = z.infer\nexport type RoomRecord = z.infer\nexport type BusMessage = z.infer\nexport type TaskRecord = z.infer\nexport type TimelineEvent = z.infer\nexport type TimelineKind = z.infer\nexport type RoomView = z.infer\nexport type TeamRoomView = z.infer\n\n/**\n * Runtime-guard an opaque projection cell as the `teamRoom` value (the client\n * reads projection cells as unknown because it cannot merge the host's\n * `SessionProjectionMap`).\n * @param value - the opaque cell value.\n * @returns the typed view, or undefined when the cell is absent or invalid.\n */\nexport function isTeamRoomView(value: unknown): TeamRoomView | undefined {\n const parsed = teamRoomViewSchema.safeParse(value)\n return parsed.success ? parsed.data : undefined\n}\n","/**\n * Pure presentation of the team-room settings panel: derives the display\n * state from the `teamRoom` projection value plus the session-list snapshot\n * (the live overlay for member status). No I/O, clock, or randomness — the\n * component stays a thin binder and the rows stay testable.\n *\n * @module dsh-background-agents/room-presenter\n */\n\nimport {\n isTeamRoomView, type RoomView, type TeamRoomView, type TimelineEvent,\n} from '../room/schema.ts'\n\n/** The session-list face the presenter reads (host-sampled `running` per session). */\nexport interface SessionListLike {\n byId: Record\n}\n\n/** One member row with the live overlay applied. */\nexport interface RoomMemberRow {\n readonly sessionId: string\n readonly role: 'owner' | 'member'\n readonly joinedAt: number\n /** Live bit from the session list (this browser's own view of the process). */\n readonly live: boolean\n readonly title?: string\n}\n\n/** One task-board row. */\nexport interface RoomTaskRow {\n readonly taskId: string\n readonly title: string\n readonly description: string\n readonly status: 'todo' | 'in-progress' | 'done'\n readonly assigneeSessionId: string | null\n readonly createdBy: string\n}\n\n/** One rendered timeline entry (the raw event plus its localized label inputs). */\nexport interface RoomTimelineRow {\n readonly seq: number\n readonly kind: TimelineEvent['kind']\n readonly data: TimelineEvent['data']\n}\n\n/** One rendered room panel. */\nexport interface RoomPanel {\n readonly roomId: string\n readonly name: string\n readonly createdAt: number\n readonly members: RoomMemberRow[]\n readonly tasks: RoomTaskRow[]\n readonly timeline: RoomTimelineRow[]\n}\n\n/** The controller state the section component selects from. */\nexport interface TeamRoomsState {\n readonly status: 'ready' | 'unavailable'\n /** The current session id, when a conversation is open. */\n readonly sessionId?: string\n readonly rooms: RoomPanel[]\n}\n\n/** Empty ready state (no session open). */\nexport function emptyTeamRoomsState(): TeamRoomsState {\n return { status: 'ready', rooms: [] }\n}\n\n/**\n * Derive the room panels from one projection value and the session list.\n * @param value - the opaque `teamRoom` projection cell.\n * @param list - the session-list snapshot (live overlay source).\n * @returns the panels, or undefined when the cell is absent or invalid.\n */\nexport function buildRoomPanels(value: unknown, list: SessionListLike): RoomPanel[] | undefined {\n const view: TeamRoomView | undefined = isTeamRoomView(value)\n if (view === undefined) return undefined\n return view.rooms.map(room => panelOf(room, list))\n}\n\n/** One room view plus the live overlay, sorted for display. */\nfunction panelOf(room: RoomView, list: SessionListLike): RoomPanel {\n const members = room.members\n .map(member => {\n const live = list.byId[member.sessionId]\n return {\n sessionId: member.sessionId,\n role: member.role,\n joinedAt: member.joinedAt,\n live: live !== undefined,\n ...(live?.displayTitle === undefined ? {} : { title: live.displayTitle }),\n }\n })\n .sort((a, b) => a.joinedAt - b.joinedAt)\n const tasks = [...room.tasks]\n .map(task => ({\n taskId: task.taskId,\n title: task.title,\n description: task.description,\n status: task.status,\n assigneeSessionId: task.assigneeSessionId,\n createdBy: task.createdBy,\n }))\n .sort((a, b) => {\n const rank = (status: RoomTaskRow['status']): number =>\n status === 'todo' ? 0 : status === 'in-progress' ? 1 : 2\n return rank(a.status) - rank(b.status)\n || (a.status === b.status ? a.taskId.localeCompare(b.taskId) : 0)\n })\n const timeline = [...room.timeline]\n .sort((a, b) => b.seq - a.seq)\n .slice(0, 100)\n .map(event => ({ seq: event.seq, kind: event.kind, data: event.data }))\n return {\n roomId: room.roomId,\n name: room.name,\n createdAt: room.createdAt,\n members,\n tasks,\n timeline,\n }\n}\n","/** `teamRooms` namespace dictionaries (the settings page panel copy). */\n\n/** Dictionary namespace owned by the room panel. */\nexport const ROOM_NS = 'teamRooms'\n\n/** Simplified Chinese dictionary (the key-set source of truth). */\nexport const zh = {\n nav: '团队房间',\n title: '团队房间',\n intro: '跨会话的持久多 agent 协作:成员注册、消息总线、共享任务板与时间线。状态存在本地存储层(SQLite/JSONL),DSH 重启后自动恢复。',\n noSession: '暂无活动会话。打开一个会话后再管理团队房间。',\n empty: '本会话尚未加入任何团队房间。创建一个房间,或粘贴其它会话分享的房间 id 加入。',\n create: '创建房间',\n createPlaceholder: '房间名称…',\n createAction: '创建',\n join: '加入房间',\n joinPlaceholder: '房间 id…',\n joinAction: '加入',\n roomId: '房间 id',\n copy: '复制',\n copied: '已复制',\n members: '成员',\n owner: '房主',\n member: '成员',\n live: '在线',\n offline: '离线',\n tasks: '任务板',\n tasksEmpty: '暂无任务 —— 用 /room task add 或 room_create_task 添加。',\n taskAddPlaceholder: '新任务标题…',\n taskAdd: '添加',\n claim: '认领',\n assign: '交接',\n assignTo: '成员 id 或 me',\n assignAction: '确定',\n done: '完成',\n unassigned: '未分配',\n statusTodo: '待办',\n statusInProgress: '进行中',\n statusDone: '完成',\n timeline: '时间线',\n timelineEmpty: '暂无事件。',\n timelineMessage: '{sender} 广播:{text}',\n timelineDirected: '{sender} → {to}:{text}',\n timelineMemberJoined: '{member} 加入了房间',\n timelineMemberLeft: '{member} 离开了房间',\n timelineTaskCreated: '创建任务「{title}」',\n timelineTaskClaimed: '{member} 认领了任务',\n timelineTaskAssigned: '任务交接给 {member}',\n timelineTaskCompleted: '任务完成',\n timelineRoomCreated: '{member} 创建了房间',\n timelineUnknown: '事件 #{seq}',\n message: '发消息',\n messagePlaceholder: '广播给所有成员…',\n send: '发送',\n error: '操作失败',\n busy: '处理中…',\n leave: '离开房间',\n} as const\n\n/** English dictionary, key-identical to the Chinese source of truth. */\nexport const en: Record = {\n nav: 'Team Rooms',\n title: 'Team Rooms',\n intro: 'Persistent cross-session multi-agent collaboration: member registration, a message bus, a shared task board, and a shared timeline. State lives in the local storage layer (SQLite/JSONL) and recovers after DSH restarts.',\n noSession: 'No active session. Open a conversation before managing team rooms.',\n empty: 'This session is not a member of any team room. Create one, or paste a room id another session shared with you.',\n create: 'Create a room',\n createPlaceholder: 'Room name…',\n createAction: 'Create',\n join: 'Join a room',\n joinPlaceholder: 'Room id…',\n joinAction: 'Join',\n roomId: 'Room id',\n copy: 'Copy',\n copied: 'Copied',\n members: 'Members',\n owner: 'owner',\n member: 'member',\n live: 'live',\n offline: 'offline',\n tasks: 'Task board',\n tasksEmpty: 'No tasks — add one with /room task add or room_create_task.',\n taskAddPlaceholder: 'New task title…',\n taskAdd: 'Add',\n claim: 'Claim',\n assign: 'Hand off',\n assignTo: 'member id or me',\n assignAction: 'Confirm',\n done: 'Done',\n unassigned: 'unassigned',\n statusTodo: 'todo',\n statusInProgress: 'in-progress',\n statusDone: 'done',\n timeline: 'Timeline',\n timelineEmpty: 'No events yet.',\n timelineMessage: '{sender} broadcast: {text}',\n timelineDirected: '{sender} → {to}: {text}',\n timelineMemberJoined: '{member} joined the room',\n timelineMemberLeft: '{member} left the room',\n timelineTaskCreated: 'created task “{title}”',\n timelineTaskClaimed: '{member} claimed a task',\n timelineTaskAssigned: 'task handed to {member}',\n timelineTaskCompleted: 'task completed',\n timelineRoomCreated: '{member} created the room',\n timelineUnknown: 'event #{seq}',\n message: 'Message',\n messagePlaceholder: 'Broadcast to every member…',\n send: 'Send',\n error: 'Operation failed',\n busy: 'Working…',\n leave: 'Leave room',\n}\n\n/** The `teamRooms` namespace key union. */\nexport type TeamRoomsKey = keyof typeof zh\n","/**\n * dsh-background-agents, browser half:\n *\n * - the sidebar `sidebar.footer.action` entry whose floating panel shows\n * every background agent across sessions (rows derive from the\n * `backgroundAgents` projection values riding the session-list snapshot);\n * - the Team Rooms `settings.section` page: member status, the shared task\n * board, and the timeline, read from the current session's `teamRoom`\n * projection (live `faceOf` snapshots) and written back through the HOST\n * `/room` command (`remote.commands.execute`) so every action keeps the\n * durable command lifecycle. Zero custom RPC: both surfaces ride the\n * sanctioned plugin channels.\n */\nimport type { Context } from '@deepseek-ai/cordis'\nimport type {} from '@deepseek-ai/dsh-api-remotes/client'\nimport type { SessionId } from '@deepseek-ai/dsh-client-connection/client'\nimport type { ISessions } from '@deepseek-ai/dsh-api-session-controller/client'\nimport { BackgroundAgentsAction, type BackgroundAgentsInjected } from './BackgroundAgentsAction.tsx'\nimport { extractResultText } from './presenter.ts'\nimport { en, NS, zh, type BackgroundAgentsKey } from './locales.ts'\nimport {\n TeamRoomsSection, type TeamRoomsInjected,\n} from './TeamRoomsSection.tsx'\nimport {\n buildRoomPanels, emptyTeamRoomsState, type SessionListLike, type TeamRoomsState,\n} from './room-presenter.ts'\nimport { en as roomEn, zh as roomZh, ROOM_NS, type TeamRoomsKey } from './room-locales.ts'\nimport type {} from '@deepseek-ai/dsh-client-locale/client'\nimport type {} from '@deepseek-ai/dsh-client-ui-sidebar/client'\nimport type {} from '@deepseek-ai/dsh-client-ui-settings/client'\n\ndeclare module '@deepseek-ai/dsh-client-ui-slots' {\n interface LocaleNamespaceMap {\n /** Background-agent panel copy. */\n 'background-agents': BackgroundAgentsKey\n /** Team-room settings panel copy. */\n teamRooms: TeamRoomsKey\n }\n}\n\nexport type {\n BackgroundAgentsActionProps, BackgroundAgentsInjected,\n} from './BackgroundAgentsAction.tsx'\nexport type {\n TeamRoomsInjected, TeamRoomsSectionProps,\n} from './TeamRoomsSection.tsx'\n\n/**\n * Required services: sessions (list + bindings), slots, locale, the wire\n * client, and the remote command executor (declared as `remote.commands`\n * because the team-room panel executes `/room` lines through it).\n */\nexport const inject = ['sessions', 'slots', 'locale', 'connection', 'remote', 'remote.commands']\n\n/**\n * Minimal structural contract of an observable snapshot. Declared locally\n * because the owner package of `ISessions` no longer re-exports the\n * generic; the runtime contract is structural.\n */\ninterface ObservableSnapshot {\n getSnapshot(): T\n subscribe(listener: () => void): () => void\n}\n\n/**\n * Live team-room controller: derives the settings-panel state from the\n * current session's `teamRoom` projection (via the binding's `faceOf`\n * observable) overlaid with the session-list live bits. Re-subscribes when\n * the current session changes.\n */\nclass TeamRoomsController implements ObservableSnapshot {\n private state: TeamRoomsState = emptyTeamRoomsState()\n private readonly listeners = new Set<() => void>()\n private stopList: (() => void) | undefined\n private stopFace: (() => void) | undefined\n private boundSessionId: string | undefined\n\n constructor(private readonly sessions: ISessions) {}\n\n getSnapshot(): TeamRoomsState {\n return this.state\n }\n\n subscribe(listener: () => void): () => void {\n this.listeners.add(listener)\n return () => { this.listeners.delete(listener) }\n }\n\n /** Attach the subscriptions; returns the disposer (owned by the caller's effect). */\n start(): () => void {\n this.stopList = this.sessions.list.subscribe(() => { this.refresh() })\n this.refresh()\n return () => {\n this.stopList?.()\n this.stopFace?.()\n }\n }\n\n /** The current session id, for command execution. */\n currentSessionId(): string | undefined {\n return this.state.sessionId\n }\n\n private set(next: TeamRoomsState): void {\n this.state = next\n for (const listener of [...this.listeners]) listener()\n }\n\n private refresh(): void {\n const list = this.sessions.list.getSnapshot() as unknown as {\n current?: string\n } & SessionListLike\n const current = list.current\n // Re-bind the projection face when the current session changes.\n if (current !== this.boundSessionId) {\n this.stopFace?.()\n this.stopFace = undefined\n this.boundSessionId = current\n if (current !== undefined) {\n const face = this.sessions.binding(current as SessionId)?.session.projections.faceOf('teamRoom')\n if (face !== undefined) {\n this.stopFace = face.subscribe(() => { this.refresh() })\n }\n }\n }\n if (current === undefined) {\n this.set(emptyTeamRoomsState())\n return\n }\n const face = this.sessions.binding(current as SessionId)?.session.projections.faceOf('teamRoom')\n const panels = face === undefined\n ? undefined\n : buildRoomPanels(face.getSnapshot() as Parameters[0], list)\n this.set({ status: 'ready', sessionId: current, rooms: panels ?? [] })\n }\n}\n\n/**\n * The structural shape of the api-remotes `commands` Remote namespace the\n * team-room panel needs. Declared locally because the ambient namespace\n * merge onto the client remote is assembled from several generated\n * modules and can resolve to a different physical copy under strict\n * package managers — the runtime contract is what this client depends on.\n */\ninterface CommandsRemote {\n readonly execute: (\n agent: SessionId,\n line: string,\n images?: readonly { mediaType: string; data: string; name?: string }[],\n signal?: AbortSignal,\n ) => Promise<\n | { ok: false; error: { code: string; message: string } }\n | { ok: true; value?: { commandId: string; result: { kind: string; text: string } } }\n >\n}\n\n/**\n * The structural shape of the `subagents` Remote namespace the background\n * agent panel needs, mirroring the host's current control surface:\n * `interruptByParent` takes the durable address positionally, `prompt`\n * requires a client-minted `requestId`, and the transcript `history` RPC\n * no longer exists (the panel peeks the child session's `conversation`\n * projection through the sessions binding instead).\n */\ninterface SubagentsRemote {\n readonly prompt: (\n request: {\n requestId: string\n parentSessionId: SessionId\n childSessionId: SessionId\n mode: 'continuable'\n content: readonly { type: 'text'; text: string }[]\n clientTimeZone?: string\n },\n signal?: AbortSignal,\n ) => Promise<{\n result:\n | { ok: true; value: { messageId: string } }\n | { ok: false; error: { code: string; message: string } }\n }>\n readonly interruptByParent: (\n childSessionId: SessionId,\n parentSessionId: SessionId,\n mode: 'continuable',\n ) => Promise<{\n result:\n | { ok: true; value: { accepted: true } }\n | { ok: false; error: { code: string; message: string } }\n }>\n}\n\n/** One row of a `conversation` projection snapshot: role plus content blocks. */\ninterface TranscriptEntry {\n readonly role?: string\n readonly content?: readonly { readonly type: string; readonly text?: string }[]\n}\n\n/**\n * Register the background-agent sidebar panel and the Team Rooms settings\n * page.\n * @param ctx - client root context.\n */\nexport function apply(ctx: Context): void {\n ctx.effect(() => ctx.locale.register(NS, { zh, en }), 'dsh-background-agents: dictionaries')\n ctx.effect(() => ctx.locale.register(ROOM_NS, { zh: roomZh, en: roomEn }), 'dsh-background-agents: room dictionaries')\n // The client sessions face is the runtime's ISessions; the host merge can\n // shadow it in mixed programs, so the cast reads the runtime contract.\n const sessions = ctx.get('sessions') as ISessions\n const { api } = ctx.get('connection') as unknown as { api: { subagents: SubagentsRemote } }\n const remote = ctx.remote as unknown as { commands: CommandsRemote }\n // The owning package declares the slots service with a different arity;\n // read it through this structural contract instead.\n const slots = ctx.get('slots') as unknown as {\n inject(slot: string, callback: () => unknown): void\n register(options: unknown, component: unknown): unknown\n }\n slots.inject('sidebar.footer.action', () => slots.register({\n name: 'sidebar.footer.action',\n id: 'background-agents',\n order: 0,\n locale: NS,\n inject: (): BackgroundAgentsInjected => ({\n sessions: sessions.list as unknown as ObservableSnapshot,\n async openChild(parentSessionId: string, childSessionId: string): Promise {\n try {\n await sessions.refreshSubagents(parentSessionId as SessionId)\n sessions.openSubagent({\n parentSessionId: parentSessionId as SessionId,\n childSessionId: childSessionId as SessionId,\n mode: 'continuable',\n })\n return undefined\n } catch (error) {\n return error instanceof Error ? error.message : String(error)\n }\n },\n async stopChild(parentSessionId: string, childSessionId: string): Promise {\n try {\n const result = await api.subagents.interruptByParent(\n childSessionId as SessionId,\n parentSessionId as SessionId,\n 'continuable',\n )\n if (result.result.ok) return undefined\n return `${result.result.error.code}: ${result.result.error.message}`\n } catch (error) {\n return error instanceof Error ? error.message : String(error)\n }\n },\n async sendMessage(parentSessionId: string, childSessionId: string, text: string): Promise {\n try {\n // The same wire RPC the shipped subagent catalog uses: a queued\n // delivery that wakes the child (its next turn answers). The\n // requestId is the identity the host persists on the accepted\n // message, minted by the client before the call.\n const result = await api.subagents.prompt({\n requestId: crypto.randomUUID(),\n parentSessionId: parentSessionId as SessionId,\n childSessionId: childSessionId as SessionId,\n mode: 'continuable',\n content: [{ type: 'text', text }],\n clientTimeZone: new Intl.DateTimeFormat().resolvedOptions().timeZone,\n })\n if (result.result.ok) return undefined\n return `${result.result.error.code}: ${result.result.error.message}`\n } catch (error) {\n return error instanceof Error ? error.message : String(error)\n }\n },\n async readResult(_parentSessionId: string, childSessionId: string): Promise<{ text: string; error?: string }> {\n try {\n // The transcript `history` RPC no longer exists: peek the child\n // session's `conversation` projection through the sessions\n // binding. The child Agent is never activated.\n const face = sessions.binding(childSessionId as SessionId)?.session.projections.faceOf('conversation')\n if (face === undefined) return { text: '', error: 'child transcript projection unavailable' }\n const snapshot = face.getSnapshot() as unknown as { entries?: readonly TranscriptEntry[] }\n const events = snapshot.entries ?? (snapshot as unknown as readonly unknown[])\n return { text: extractResultText(events as unknown as Parameters[0]) }\n } catch (error) {\n return { text: '', error: error instanceof Error ? error.message : String(error) }\n }\n },\n }),\n }, BackgroundAgentsAction))\n\n // ── the Team Rooms settings page ───────────────────────────────────────────\n\n const controller = new TeamRoomsController(sessions)\n ctx.effect(() => controller.start(), 'dsh-background-agents: team rooms store')\n\n /** Execute one `/room` line against the current session; undefined on success. */\n const executeRoom = async (line: string): Promise => {\n const sessionId = controller.currentSessionId()\n if (sessionId === undefined) return 'no active session'\n try {\n const result = await remote.commands.execute(sessionId as SessionId, line, [])\n if (!result.ok) return `${result.error.code}: ${result.error.message}`\n if (result.value === undefined || result.value.result === undefined) return `unknown or malformed command: ${line}`\n return result.value.result.kind === 'error' ? result.value.result.text : undefined\n } catch (error) {\n return error instanceof Error ? error.message : String(error)\n }\n }\n\n const injected = (): TeamRoomsInjected => ({\n hooks: { teamRooms: controller },\n getSessionId: () => controller.currentSessionId(),\n create: name => executeRoom(`/room create ${name}`),\n join: roomId => executeRoom(`/room join ${roomId}`),\n leave: roomId => executeRoom(`/room leave ${roomId}`),\n post: (roomId, text) => executeRoom(`/room send ${roomId} ${text}`),\n addTask: (roomId, title) => executeRoom(`/room task add ${roomId} ${title}`),\n claimTask: (roomId, taskId) => executeRoom(`/room task claim ${roomId} ${taskId}`),\n completeTask: (roomId, taskId) => executeRoom(`/room task done ${roomId} ${taskId}`),\n assignTask: (roomId, taskId, member) => executeRoom(`/room task assign ${roomId} ${taskId} ${member}`),\n })\n\n slots.inject('settings.section', () => slots.register({\n name: 'settings.section',\n id: 'team-rooms',\n // After Models/Agent Presets: rooms are a collaboration surface, not a\n // deployment-shaping one.\n order: 30,\n label: () => ctx.locale.bind(ROOM_NS)('nav'),\n locale: ROOM_NS,\n inject: injected,\n }, TeamRoomsSection))\n}\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"client.js","names":["regex","exports","exports","z","css","useState","useRef","useSyncExternalStore","Tooltip","IconBranchOutline16","createPortal","zh","en","useState","css","z","roomZh","roomEn"],"sources":["../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.cjs","../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.cjs","../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.cjs","../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.cjs","../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.cjs","../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/typeAliases.cjs","../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.cjs","../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.cjs","../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/external.cjs","../node_modules/.pnpm/zod@3.25.76/node_modules/zod/index.cjs","../src/projection-schema.ts","../src/client/presenter.ts","../src/client/BackgroundAgentsAction.tsx","../src/client/locales.ts","../src/client/TeamRoomsSection.tsx","../src/room/schema.ts","../src/client/room-presenter.ts","../src/client/room-locales.ts","../src/client/index.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getParsedType = exports.ZodParsedType = exports.objectUtil = exports.util = void 0;\nvar util;\n(function (util) {\n util.assertEqual = (_) => { };\n function assertIs(_arg) { }\n util.assertIs = assertIs;\n function assertNever(_x) {\n throw new Error();\n }\n util.assertNever = assertNever;\n util.arrayToEnum = (items) => {\n const obj = {};\n for (const item of items) {\n obj[item] = item;\n }\n return obj;\n };\n util.getValidEnumValues = (obj) => {\n const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== \"number\");\n const filtered = {};\n for (const k of validKeys) {\n filtered[k] = obj[k];\n }\n return util.objectValues(filtered);\n };\n util.objectValues = (obj) => {\n return util.objectKeys(obj).map(function (e) {\n return obj[e];\n });\n };\n util.objectKeys = typeof Object.keys === \"function\" // eslint-disable-line ban/ban\n ? (obj) => Object.keys(obj) // eslint-disable-line ban/ban\n : (object) => {\n const keys = [];\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n keys.push(key);\n }\n }\n return keys;\n };\n util.find = (arr, checker) => {\n for (const item of arr) {\n if (checker(item))\n return item;\n }\n return undefined;\n };\n util.isInteger = typeof Number.isInteger === \"function\"\n ? (val) => Number.isInteger(val) // eslint-disable-line ban/ban\n : (val) => typeof val === \"number\" && Number.isFinite(val) && Math.floor(val) === val;\n function joinValues(array, separator = \" | \") {\n return array.map((val) => (typeof val === \"string\" ? `'${val}'` : val)).join(separator);\n }\n util.joinValues = joinValues;\n util.jsonStringifyReplacer = (_, value) => {\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n return value;\n };\n})(util || (exports.util = util = {}));\nvar objectUtil;\n(function (objectUtil) {\n objectUtil.mergeShapes = (first, second) => {\n return {\n ...first,\n ...second, // second overwrites first\n };\n };\n})(objectUtil || (exports.objectUtil = objectUtil = {}));\nexports.ZodParsedType = util.arrayToEnum([\n \"string\",\n \"nan\",\n \"number\",\n \"integer\",\n \"float\",\n \"boolean\",\n \"date\",\n \"bigint\",\n \"symbol\",\n \"function\",\n \"undefined\",\n \"null\",\n \"array\",\n \"object\",\n \"unknown\",\n \"promise\",\n \"void\",\n \"never\",\n \"map\",\n \"set\",\n]);\nconst getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return exports.ZodParsedType.undefined;\n case \"string\":\n return exports.ZodParsedType.string;\n case \"number\":\n return Number.isNaN(data) ? exports.ZodParsedType.nan : exports.ZodParsedType.number;\n case \"boolean\":\n return exports.ZodParsedType.boolean;\n case \"function\":\n return exports.ZodParsedType.function;\n case \"bigint\":\n return exports.ZodParsedType.bigint;\n case \"symbol\":\n return exports.ZodParsedType.symbol;\n case \"object\":\n if (Array.isArray(data)) {\n return exports.ZodParsedType.array;\n }\n if (data === null) {\n return exports.ZodParsedType.null;\n }\n if (data.then && typeof data.then === \"function\" && data.catch && typeof data.catch === \"function\") {\n return exports.ZodParsedType.promise;\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return exports.ZodParsedType.map;\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return exports.ZodParsedType.set;\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return exports.ZodParsedType.date;\n }\n return exports.ZodParsedType.object;\n default:\n return exports.ZodParsedType.unknown;\n }\n};\nexports.getParsedType = getParsedType;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ZodError = exports.quotelessJson = exports.ZodIssueCode = void 0;\nconst util_js_1 = require(\"./helpers/util.cjs\");\nexports.ZodIssueCode = util_js_1.util.arrayToEnum([\n \"invalid_type\",\n \"invalid_literal\",\n \"custom\",\n \"invalid_union\",\n \"invalid_union_discriminator\",\n \"invalid_enum_value\",\n \"unrecognized_keys\",\n \"invalid_arguments\",\n \"invalid_return_type\",\n \"invalid_date\",\n \"invalid_string\",\n \"too_small\",\n \"too_big\",\n \"invalid_intersection_types\",\n \"not_multiple_of\",\n \"not_finite\",\n]);\nconst quotelessJson = (obj) => {\n const json = JSON.stringify(obj, null, 2);\n return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nexports.quotelessJson = quotelessJson;\nclass ZodError extends Error {\n get errors() {\n return this.issues;\n }\n constructor(issues) {\n super();\n this.issues = [];\n this.addIssue = (sub) => {\n this.issues = [...this.issues, sub];\n };\n this.addIssues = (subs = []) => {\n this.issues = [...this.issues, ...subs];\n };\n const actualProto = new.target.prototype;\n if (Object.setPrototypeOf) {\n // eslint-disable-next-line ban/ban\n Object.setPrototypeOf(this, actualProto);\n }\n else {\n this.__proto__ = actualProto;\n }\n this.name = \"ZodError\";\n this.issues = issues;\n }\n format(_mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\") {\n issue.unionErrors.map(processError);\n }\n else if (issue.code === \"invalid_return_type\") {\n processError(issue.returnTypeError);\n }\n else if (issue.code === \"invalid_arguments\") {\n processError(issue.argumentsError);\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n // if (typeof el === \"string\") {\n // curr[el] = curr[el] || { _errors: [] };\n // } else if (typeof el === \"number\") {\n // const errorArray: any = [];\n // errorArray._errors = [];\n // curr[el] = curr[el] || errorArray;\n // }\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(this);\n return fieldErrors;\n }\n static assert(value) {\n if (!(value instanceof ZodError)) {\n throw new Error(`Not a ZodError: ${value}`);\n }\n }\n toString() {\n return this.message;\n }\n get message() {\n return JSON.stringify(this.issues, util_js_1.util.jsonStringifyReplacer, 2);\n }\n get isEmpty() {\n return this.issues.length === 0;\n }\n flatten(mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of this.issues) {\n if (sub.path.length > 0) {\n const firstEl = sub.path[0];\n fieldErrors[firstEl] = fieldErrors[firstEl] || [];\n fieldErrors[firstEl].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n }\n get formErrors() {\n return this.flatten();\n }\n}\nexports.ZodError = ZodError;\nZodError.create = (issues) => {\n const error = new ZodError(issues);\n return error;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst ZodError_js_1 = require(\"../ZodError.cjs\");\nconst util_js_1 = require(\"../helpers/util.cjs\");\nconst errorMap = (issue, _ctx) => {\n let message;\n switch (issue.code) {\n case ZodError_js_1.ZodIssueCode.invalid_type:\n if (issue.received === util_js_1.ZodParsedType.undefined) {\n message = \"Required\";\n }\n else {\n message = `Expected ${issue.expected}, received ${issue.received}`;\n }\n break;\n case ZodError_js_1.ZodIssueCode.invalid_literal:\n message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util_js_1.util.jsonStringifyReplacer)}`;\n break;\n case ZodError_js_1.ZodIssueCode.unrecognized_keys:\n message = `Unrecognized key(s) in object: ${util_js_1.util.joinValues(issue.keys, \", \")}`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_union:\n message = `Invalid input`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_union_discriminator:\n message = `Invalid discriminator value. Expected ${util_js_1.util.joinValues(issue.options)}`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_enum_value:\n message = `Invalid enum value. Expected ${util_js_1.util.joinValues(issue.options)}, received '${issue.received}'`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_arguments:\n message = `Invalid function arguments`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_return_type:\n message = `Invalid function return type`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_date:\n message = `Invalid date`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_string:\n if (typeof issue.validation === \"object\") {\n if (\"includes\" in issue.validation) {\n message = `Invalid input: must include \"${issue.validation.includes}\"`;\n if (typeof issue.validation.position === \"number\") {\n message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`;\n }\n }\n else if (\"startsWith\" in issue.validation) {\n message = `Invalid input: must start with \"${issue.validation.startsWith}\"`;\n }\n else if (\"endsWith\" in issue.validation) {\n message = `Invalid input: must end with \"${issue.validation.endsWith}\"`;\n }\n else {\n util_js_1.util.assertNever(issue.validation);\n }\n }\n else if (issue.validation !== \"regex\") {\n message = `Invalid ${issue.validation}`;\n }\n else {\n message = \"Invalid\";\n }\n break;\n case ZodError_js_1.ZodIssueCode.too_small:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;\n else if (issue.type === \"bigint\")\n message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${new Date(Number(issue.minimum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodError_js_1.ZodIssueCode.too_big:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;\n else if (issue.type === \"bigint\")\n message = `BigInt must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact ? `exactly` : issue.inclusive ? `smaller than or equal to` : `smaller than`} ${new Date(Number(issue.maximum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodError_js_1.ZodIssueCode.custom:\n message = `Invalid input`;\n break;\n case ZodError_js_1.ZodIssueCode.invalid_intersection_types:\n message = `Intersection results could not be merged`;\n break;\n case ZodError_js_1.ZodIssueCode.not_multiple_of:\n message = `Number must be a multiple of ${issue.multipleOf}`;\n break;\n case ZodError_js_1.ZodIssueCode.not_finite:\n message = \"Number must be finite\";\n break;\n default:\n message = _ctx.defaultError;\n util_js_1.util.assertNever(issue);\n }\n return { message };\n};\nexports.default = errorMap;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultErrorMap = void 0;\nexports.setErrorMap = setErrorMap;\nexports.getErrorMap = getErrorMap;\nconst en_js_1 = __importDefault(require(\"./locales/en.cjs\"));\nexports.defaultErrorMap = en_js_1.default;\nlet overrideErrorMap = en_js_1.default;\nfunction setErrorMap(map) {\n overrideErrorMap = map;\n}\nfunction getErrorMap() {\n return overrideErrorMap;\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isAsync = exports.isValid = exports.isDirty = exports.isAborted = exports.OK = exports.DIRTY = exports.INVALID = exports.ParseStatus = exports.EMPTY_PATH = exports.makeIssue = void 0;\nexports.addIssueToContext = addIssueToContext;\nconst errors_js_1 = require(\"../errors.cjs\");\nconst en_js_1 = __importDefault(require(\"../locales/en.cjs\"));\nconst makeIssue = (params) => {\n const { data, path, errorMaps, issueData } = params;\n const fullPath = [...path, ...(issueData.path || [])];\n const fullIssue = {\n ...issueData,\n path: fullPath,\n };\n if (issueData.message !== undefined) {\n return {\n ...issueData,\n path: fullPath,\n message: issueData.message,\n };\n }\n let errorMessage = \"\";\n const maps = errorMaps\n .filter((m) => !!m)\n .slice()\n .reverse();\n for (const map of maps) {\n errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;\n }\n return {\n ...issueData,\n path: fullPath,\n message: errorMessage,\n };\n};\nexports.makeIssue = makeIssue;\nexports.EMPTY_PATH = [];\nfunction addIssueToContext(ctx, issueData) {\n const overrideMap = (0, errors_js_1.getErrorMap)();\n const issue = (0, exports.makeIssue)({\n issueData: issueData,\n data: ctx.data,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap, // contextual error map is first priority\n ctx.schemaErrorMap, // then schema-bound map if available\n overrideMap, // then global override map\n overrideMap === en_js_1.default ? undefined : en_js_1.default, // then global default map\n ].filter((x) => !!x),\n });\n ctx.common.issues.push(issue);\n}\nclass ParseStatus {\n constructor() {\n this.value = \"valid\";\n }\n dirty() {\n if (this.value === \"valid\")\n this.value = \"dirty\";\n }\n abort() {\n if (this.value !== \"aborted\")\n this.value = \"aborted\";\n }\n static mergeArray(status, results) {\n const arrayValue = [];\n for (const s of results) {\n if (s.status === \"aborted\")\n return exports.INVALID;\n if (s.status === \"dirty\")\n status.dirty();\n arrayValue.push(s.value);\n }\n return { status: status.value, value: arrayValue };\n }\n static async mergeObjectAsync(status, pairs) {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value,\n });\n }\n return ParseStatus.mergeObjectSync(status, syncPairs);\n }\n static mergeObjectSync(status, pairs) {\n const finalObject = {};\n for (const pair of pairs) {\n const { key, value } = pair;\n if (key.status === \"aborted\")\n return exports.INVALID;\n if (value.status === \"aborted\")\n return exports.INVALID;\n if (key.status === \"dirty\")\n status.dirty();\n if (value.status === \"dirty\")\n status.dirty();\n if (key.value !== \"__proto__\" && (typeof value.value !== \"undefined\" || pair.alwaysSet)) {\n finalObject[key.value] = value.value;\n }\n }\n return { status: status.value, value: finalObject };\n }\n}\nexports.ParseStatus = ParseStatus;\nexports.INVALID = Object.freeze({\n status: \"aborted\",\n});\nconst DIRTY = (value) => ({ status: \"dirty\", value });\nexports.DIRTY = DIRTY;\nconst OK = (value) => ({ status: \"valid\", value });\nexports.OK = OK;\nconst isAborted = (x) => x.status === \"aborted\";\nexports.isAborted = isAborted;\nconst isDirty = (x) => x.status === \"dirty\";\nexports.isDirty = isDirty;\nconst isValid = (x) => x.status === \"valid\";\nexports.isValid = isValid;\nconst isAsync = (x) => typeof Promise !== \"undefined\" && x instanceof Promise;\nexports.isAsync = isAsync;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.errorUtil = void 0;\nvar errorUtil;\n(function (errorUtil) {\n errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n // biome-ignore lint:\n errorUtil.toString = (message) => typeof message === \"string\" ? message : message?.message;\n})(errorUtil || (exports.errorUtil = errorUtil = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.discriminatedUnion = exports.date = exports.boolean = exports.bigint = exports.array = exports.any = exports.coerce = exports.ZodFirstPartyTypeKind = exports.late = exports.ZodSchema = exports.Schema = exports.ZodReadonly = exports.ZodPipeline = exports.ZodBranded = exports.BRAND = exports.ZodNaN = exports.ZodCatch = exports.ZodDefault = exports.ZodNullable = exports.ZodOptional = exports.ZodTransformer = exports.ZodEffects = exports.ZodPromise = exports.ZodNativeEnum = exports.ZodEnum = exports.ZodLiteral = exports.ZodLazy = exports.ZodFunction = exports.ZodSet = exports.ZodMap = exports.ZodRecord = exports.ZodTuple = exports.ZodIntersection = exports.ZodDiscriminatedUnion = exports.ZodUnion = exports.ZodObject = exports.ZodArray = exports.ZodVoid = exports.ZodNever = exports.ZodUnknown = exports.ZodAny = exports.ZodNull = exports.ZodUndefined = exports.ZodSymbol = exports.ZodDate = exports.ZodBoolean = exports.ZodBigInt = exports.ZodNumber = exports.ZodString = exports.ZodType = void 0;\nexports.NEVER = exports.void = exports.unknown = exports.union = exports.undefined = exports.tuple = exports.transformer = exports.symbol = exports.string = exports.strictObject = exports.set = exports.record = exports.promise = exports.preprocess = exports.pipeline = exports.ostring = exports.optional = exports.onumber = exports.oboolean = exports.object = exports.number = exports.nullable = exports.null = exports.never = exports.nativeEnum = exports.nan = exports.map = exports.literal = exports.lazy = exports.intersection = exports.instanceof = exports.function = exports.enum = exports.effect = void 0;\nexports.datetimeRegex = datetimeRegex;\nexports.custom = custom;\nconst ZodError_js_1 = require(\"./ZodError.cjs\");\nconst errors_js_1 = require(\"./errors.cjs\");\nconst errorUtil_js_1 = require(\"./helpers/errorUtil.cjs\");\nconst parseUtil_js_1 = require(\"./helpers/parseUtil.cjs\");\nconst util_js_1 = require(\"./helpers/util.cjs\");\nclass ParseInputLazyPath {\n constructor(parent, value, path, key) {\n this._cachedPath = [];\n this.parent = parent;\n this.data = value;\n this._path = path;\n this._key = key;\n }\n get path() {\n if (!this._cachedPath.length) {\n if (Array.isArray(this._key)) {\n this._cachedPath.push(...this._path, ...this._key);\n }\n else {\n this._cachedPath.push(...this._path, this._key);\n }\n }\n return this._cachedPath;\n }\n}\nconst handleResult = (ctx, result) => {\n if ((0, parseUtil_js_1.isValid)(result)) {\n return { success: true, data: result.value };\n }\n else {\n if (!ctx.common.issues.length) {\n throw new Error(\"Validation failed but no issues detected.\");\n }\n return {\n success: false,\n get error() {\n if (this._error)\n return this._error;\n const error = new ZodError_js_1.ZodError(ctx.common.issues);\n this._error = error;\n return this._error;\n },\n };\n }\n};\nfunction processCreateParams(params) {\n if (!params)\n return {};\n const { errorMap, invalid_type_error, required_error, description } = params;\n if (errorMap && (invalid_type_error || required_error)) {\n throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n }\n if (errorMap)\n return { errorMap: errorMap, description };\n const customMap = (iss, ctx) => {\n const { message } = params;\n if (iss.code === \"invalid_enum_value\") {\n return { message: message ?? ctx.defaultError };\n }\n if (typeof ctx.data === \"undefined\") {\n return { message: message ?? required_error ?? ctx.defaultError };\n }\n if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n return { message: message ?? invalid_type_error ?? ctx.defaultError };\n };\n return { errorMap: customMap, description };\n}\nclass ZodType {\n get description() {\n return this._def.description;\n }\n _getType(input) {\n return (0, util_js_1.getParsedType)(input.data);\n }\n _getOrReturnCtx(input, ctx) {\n return (ctx || {\n common: input.parent.common,\n data: input.data,\n parsedType: (0, util_js_1.getParsedType)(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n });\n }\n _processInputParams(input) {\n return {\n status: new parseUtil_js_1.ParseStatus(),\n ctx: {\n common: input.parent.common,\n data: input.data,\n parsedType: (0, util_js_1.getParsedType)(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n },\n };\n }\n _parseSync(input) {\n const result = this._parse(input);\n if ((0, parseUtil_js_1.isAsync)(result)) {\n throw new Error(\"Synchronous parse encountered promise.\");\n }\n return result;\n }\n _parseAsync(input) {\n const result = this._parse(input);\n return Promise.resolve(result);\n }\n parse(data, params) {\n const result = this.safeParse(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n safeParse(data, params) {\n const ctx = {\n common: {\n issues: [],\n async: params?.async ?? false,\n contextualErrorMap: params?.errorMap,\n },\n path: params?.path || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: (0, util_js_1.getParsedType)(data),\n };\n const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n return handleResult(ctx, result);\n }\n \"~validate\"(data) {\n const ctx = {\n common: {\n issues: [],\n async: !!this[\"~standard\"].async,\n },\n path: [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: (0, util_js_1.getParsedType)(data),\n };\n if (!this[\"~standard\"].async) {\n try {\n const result = this._parseSync({ data, path: [], parent: ctx });\n return (0, parseUtil_js_1.isValid)(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n };\n }\n catch (err) {\n if (err?.message?.toLowerCase()?.includes(\"encountered\")) {\n this[\"~standard\"].async = true;\n }\n ctx.common = {\n issues: [],\n async: true,\n };\n }\n }\n return this._parseAsync({ data, path: [], parent: ctx }).then((result) => (0, parseUtil_js_1.isValid)(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n });\n }\n async parseAsync(data, params) {\n const result = await this.safeParseAsync(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n async safeParseAsync(data, params) {\n const ctx = {\n common: {\n issues: [],\n contextualErrorMap: params?.errorMap,\n async: true,\n },\n path: params?.path || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: (0, util_js_1.getParsedType)(data),\n };\n const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });\n const result = await ((0, parseUtil_js_1.isAsync)(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult));\n return handleResult(ctx, result);\n }\n refine(check, message) {\n const getIssueProperties = (val) => {\n if (typeof message === \"string\" || typeof message === \"undefined\") {\n return { message };\n }\n else if (typeof message === \"function\") {\n return message(val);\n }\n else {\n return message;\n }\n };\n return this._refinement((val, ctx) => {\n const result = check(val);\n const setError = () => ctx.addIssue({\n code: ZodError_js_1.ZodIssueCode.custom,\n ...getIssueProperties(val),\n });\n if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n return result.then((data) => {\n if (!data) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n if (!result) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n refinement(check, refinementData) {\n return this._refinement((val, ctx) => {\n if (!check(val)) {\n ctx.addIssue(typeof refinementData === \"function\" ? refinementData(val, ctx) : refinementData);\n return false;\n }\n else {\n return true;\n }\n });\n }\n _refinement(refinement) {\n return new ZodEffects({\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"refinement\", refinement },\n });\n }\n superRefine(refinement) {\n return this._refinement(refinement);\n }\n constructor(def) {\n /** Alias of safeParseAsync */\n this.spa = this.safeParseAsync;\n this._def = def;\n this.parse = this.parse.bind(this);\n this.safeParse = this.safeParse.bind(this);\n this.parseAsync = this.parseAsync.bind(this);\n this.safeParseAsync = this.safeParseAsync.bind(this);\n this.spa = this.spa.bind(this);\n this.refine = this.refine.bind(this);\n this.refinement = this.refinement.bind(this);\n this.superRefine = this.superRefine.bind(this);\n this.optional = this.optional.bind(this);\n this.nullable = this.nullable.bind(this);\n this.nullish = this.nullish.bind(this);\n this.array = this.array.bind(this);\n this.promise = this.promise.bind(this);\n this.or = this.or.bind(this);\n this.and = this.and.bind(this);\n this.transform = this.transform.bind(this);\n this.brand = this.brand.bind(this);\n this.default = this.default.bind(this);\n this.catch = this.catch.bind(this);\n this.describe = this.describe.bind(this);\n this.pipe = this.pipe.bind(this);\n this.readonly = this.readonly.bind(this);\n this.isNullable = this.isNullable.bind(this);\n this.isOptional = this.isOptional.bind(this);\n this[\"~standard\"] = {\n version: 1,\n vendor: \"zod\",\n validate: (data) => this[\"~validate\"](data),\n };\n }\n optional() {\n return ZodOptional.create(this, this._def);\n }\n nullable() {\n return ZodNullable.create(this, this._def);\n }\n nullish() {\n return this.nullable().optional();\n }\n array() {\n return ZodArray.create(this);\n }\n promise() {\n return ZodPromise.create(this, this._def);\n }\n or(option) {\n return ZodUnion.create([this, option], this._def);\n }\n and(incoming) {\n return ZodIntersection.create(this, incoming, this._def);\n }\n transform(transform) {\n return new ZodEffects({\n ...processCreateParams(this._def),\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"transform\", transform },\n });\n }\n default(def) {\n const defaultValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodDefault({\n ...processCreateParams(this._def),\n innerType: this,\n defaultValue: defaultValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n });\n }\n brand() {\n return new ZodBranded({\n typeName: ZodFirstPartyTypeKind.ZodBranded,\n type: this,\n ...processCreateParams(this._def),\n });\n }\n catch(def) {\n const catchValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodCatch({\n ...processCreateParams(this._def),\n innerType: this,\n catchValue: catchValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n });\n }\n describe(description) {\n const This = this.constructor;\n return new This({\n ...this._def,\n description,\n });\n }\n pipe(target) {\n return ZodPipeline.create(this, target);\n }\n readonly() {\n return ZodReadonly.create(this);\n }\n isOptional() {\n return this.safeParse(undefined).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\nexports.ZodType = ZodType;\nexports.Schema = ZodType;\nexports.ZodSchema = ZodType;\nconst cuidRegex = /^c[^\\s-]{8,}$/i;\nconst cuid2Regex = /^[0-9a-z]+$/;\nconst ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/i;\n// const uuidRegex =\n// /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i;\nconst uuidRegex = /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/i;\nconst nanoidRegex = /^[a-z0-9_-]{21}$/i;\nconst jwtRegex = /^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$/;\nconst durationRegex = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/;\n// from https://stackoverflow.com/a/46181/1550155\n// old version: too slow, didn't support unicode\n// const emailRegex = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i;\n//old email regex\n// const emailRegex = /^(([^<>()[\\].,;:\\s@\"]+(\\.[^<>()[\\].,;:\\s@\"]+)*)|(\".+\"))@((?!-)([^<>()[\\].,;:\\s@\"]+\\.)+[^<>()[\\].,;:\\s@\"]{1,})[^-<>()[\\].,;:\\s@\"]$/i;\n// eslint-disable-next-line\n// const emailRegex =\n// /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\])|(\\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\\.[A-Za-z]{2,})+))$/;\n// const emailRegex =\n// /^[a-zA-Z0-9\\.\\!\\#\\$\\%\\&\\'\\*\\+\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~\\-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// const emailRegex =\n// /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/i;\nconst emailRegex = /^(?!\\.)(?!.*\\.\\.)([A-Z0-9_'+\\-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i;\n// const emailRegex =\n// /^[a-z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-z0-9-]+(?:\\.[a-z0-9\\-]+)*$/i;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emojiRegex = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nlet emojiRegex;\n// faster, simpler, safer\nconst ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;\nconst ipv4CidrRegex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/(3[0-2]|[12]?[0-9])$/;\n// const ipv6Regex =\n// /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;\nconst ipv6Regex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;\nconst ipv6CidrRegex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;\n// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript\nconst base64Regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;\n// https://base64.guru/standards/base64url\nconst base64urlRegex = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/;\n// simple\n// const dateRegexSource = `\\\\d{4}-\\\\d{2}-\\\\d{2}`;\n// no leap year validation\n// const dateRegexSource = `\\\\d{4}-((0[13578]|10|12)-31|(0[13-9]|1[0-2])-30|(0[1-9]|1[0-2])-(0[1-9]|1\\\\d|2\\\\d))`;\n// with leap year validation\nconst dateRegexSource = `((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))`;\nconst dateRegex = new RegExp(`^${dateRegexSource}$`);\nfunction timeRegexSource(args) {\n let secondsRegexSource = `[0-5]\\\\d`;\n if (args.precision) {\n secondsRegexSource = `${secondsRegexSource}\\\\.\\\\d{${args.precision}}`;\n }\n else if (args.precision == null) {\n secondsRegexSource = `${secondsRegexSource}(\\\\.\\\\d+)?`;\n }\n const secondsQuantifier = args.precision ? \"+\" : \"?\"; // require seconds if precision is nonzero\n return `([01]\\\\d|2[0-3]):[0-5]\\\\d(:${secondsRegexSource})${secondsQuantifier}`;\n}\nfunction timeRegex(args) {\n return new RegExp(`^${timeRegexSource(args)}$`);\n}\n// Adapted from https://stackoverflow.com/a/3143231\nfunction datetimeRegex(args) {\n let regex = `${dateRegexSource}T${timeRegexSource(args)}`;\n const opts = [];\n opts.push(args.local ? `Z?` : `Z`);\n if (args.offset)\n opts.push(`([+-]\\\\d{2}:?\\\\d{2})`);\n regex = `${regex}(${opts.join(\"|\")})`;\n return new RegExp(`^${regex}$`);\n}\nfunction isValidIP(ip, version) {\n if ((version === \"v4\" || !version) && ipv4Regex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6Regex.test(ip)) {\n return true;\n }\n return false;\n}\nfunction isValidJWT(jwt, alg) {\n if (!jwtRegex.test(jwt))\n return false;\n try {\n const [header] = jwt.split(\".\");\n if (!header)\n return false;\n // Convert base64url to base64\n const base64 = header\n .replace(/-/g, \"+\")\n .replace(/_/g, \"/\")\n .padEnd(header.length + ((4 - (header.length % 4)) % 4), \"=\");\n const decoded = JSON.parse(atob(base64));\n if (typeof decoded !== \"object\" || decoded === null)\n return false;\n if (\"typ\" in decoded && decoded?.typ !== \"JWT\")\n return false;\n if (!decoded.alg)\n return false;\n if (alg && decoded.alg !== alg)\n return false;\n return true;\n }\n catch {\n return false;\n }\n}\nfunction isValidCidr(ip, version) {\n if ((version === \"v4\" || !version) && ipv4CidrRegex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6CidrRegex.test(ip)) {\n return true;\n }\n return false;\n}\nclass ZodString extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = String(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.string) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.string,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const status = new parseUtil_js_1.ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.length < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.length > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"length\") {\n const tooBig = input.data.length > check.value;\n const tooSmall = input.data.length < check.value;\n if (tooBig || tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n if (tooBig) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n else if (tooSmall) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n status.dirty();\n }\n }\n else if (check.kind === \"email\") {\n if (!emailRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"email\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"emoji\") {\n if (!emojiRegex) {\n emojiRegex = new RegExp(_emojiRegex, \"u\");\n }\n if (!emojiRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"emoji\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"uuid\") {\n if (!uuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"uuid\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"nanoid\") {\n if (!nanoidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"nanoid\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid\") {\n if (!cuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"cuid\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid2\") {\n if (!cuid2Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"cuid2\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ulid\") {\n if (!ulidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"ulid\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"url\") {\n try {\n new URL(input.data);\n }\n catch {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"url\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"regex\") {\n check.regex.lastIndex = 0;\n const testResult = check.regex.test(input.data);\n if (!testResult) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"regex\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"trim\") {\n input.data = input.data.trim();\n }\n else if (check.kind === \"includes\") {\n if (!input.data.includes(check.value, check.position)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: { includes: check.value, position: check.position },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"toLowerCase\") {\n input.data = input.data.toLowerCase();\n }\n else if (check.kind === \"toUpperCase\") {\n input.data = input.data.toUpperCase();\n }\n else if (check.kind === \"startsWith\") {\n if (!input.data.startsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: { startsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"endsWith\") {\n if (!input.data.endsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: { endsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"datetime\") {\n const regex = datetimeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: \"datetime\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"date\") {\n const regex = dateRegex;\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: \"date\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"time\") {\n const regex = timeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n validation: \"time\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"duration\") {\n if (!durationRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"duration\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ip\") {\n if (!isValidIP(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"ip\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"jwt\") {\n if (!isValidJWT(input.data, check.alg)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"jwt\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cidr\") {\n if (!isValidCidr(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"cidr\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"base64\") {\n if (!base64Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"base64\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"base64url\") {\n if (!base64urlRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n validation: \"base64url\",\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util_js_1.util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _regex(regex, validation, message) {\n return this.refinement((data) => regex.test(data), {\n validation,\n code: ZodError_js_1.ZodIssueCode.invalid_string,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n _addCheck(check) {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n email(message) {\n return this._addCheck({ kind: \"email\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n url(message) {\n return this._addCheck({ kind: \"url\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n emoji(message) {\n return this._addCheck({ kind: \"emoji\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n uuid(message) {\n return this._addCheck({ kind: \"uuid\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n nanoid(message) {\n return this._addCheck({ kind: \"nanoid\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n cuid(message) {\n return this._addCheck({ kind: \"cuid\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n cuid2(message) {\n return this._addCheck({ kind: \"cuid2\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n ulid(message) {\n return this._addCheck({ kind: \"ulid\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n base64(message) {\n return this._addCheck({ kind: \"base64\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n base64url(message) {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return this._addCheck({\n kind: \"base64url\",\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n jwt(options) {\n return this._addCheck({ kind: \"jwt\", ...errorUtil_js_1.errorUtil.errToObj(options) });\n }\n ip(options) {\n return this._addCheck({ kind: \"ip\", ...errorUtil_js_1.errorUtil.errToObj(options) });\n }\n cidr(options) {\n return this._addCheck({ kind: \"cidr\", ...errorUtil_js_1.errorUtil.errToObj(options) });\n }\n datetime(options) {\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"datetime\",\n precision: null,\n offset: false,\n local: false,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"datetime\",\n precision: typeof options?.precision === \"undefined\" ? null : options?.precision,\n offset: options?.offset ?? false,\n local: options?.local ?? false,\n ...errorUtil_js_1.errorUtil.errToObj(options?.message),\n });\n }\n date(message) {\n return this._addCheck({ kind: \"date\", message });\n }\n time(options) {\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"time\",\n precision: null,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"time\",\n precision: typeof options?.precision === \"undefined\" ? null : options?.precision,\n ...errorUtil_js_1.errorUtil.errToObj(options?.message),\n });\n }\n duration(message) {\n return this._addCheck({ kind: \"duration\", ...errorUtil_js_1.errorUtil.errToObj(message) });\n }\n regex(regex, message) {\n return this._addCheck({\n kind: \"regex\",\n regex: regex,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n includes(value, options) {\n return this._addCheck({\n kind: \"includes\",\n value: value,\n position: options?.position,\n ...errorUtil_js_1.errorUtil.errToObj(options?.message),\n });\n }\n startsWith(value, message) {\n return this._addCheck({\n kind: \"startsWith\",\n value: value,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n endsWith(value, message) {\n return this._addCheck({\n kind: \"endsWith\",\n value: value,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n min(minLength, message) {\n return this._addCheck({\n kind: \"min\",\n value: minLength,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n max(maxLength, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxLength,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n length(len, message) {\n return this._addCheck({\n kind: \"length\",\n value: len,\n ...errorUtil_js_1.errorUtil.errToObj(message),\n });\n }\n /**\n * Equivalent to `.min(1)`\n */\n nonempty(message) {\n return this.min(1, errorUtil_js_1.errorUtil.errToObj(message));\n }\n trim() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"trim\" }],\n });\n }\n toLowerCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toLowerCase\" }],\n });\n }\n toUpperCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toUpperCase\" }],\n });\n }\n get isDatetime() {\n return !!this._def.checks.find((ch) => ch.kind === \"datetime\");\n }\n get isDate() {\n return !!this._def.checks.find((ch) => ch.kind === \"date\");\n }\n get isTime() {\n return !!this._def.checks.find((ch) => ch.kind === \"time\");\n }\n get isDuration() {\n return !!this._def.checks.find((ch) => ch.kind === \"duration\");\n }\n get isEmail() {\n return !!this._def.checks.find((ch) => ch.kind === \"email\");\n }\n get isURL() {\n return !!this._def.checks.find((ch) => ch.kind === \"url\");\n }\n get isEmoji() {\n return !!this._def.checks.find((ch) => ch.kind === \"emoji\");\n }\n get isUUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"uuid\");\n }\n get isNANOID() {\n return !!this._def.checks.find((ch) => ch.kind === \"nanoid\");\n }\n get isCUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid\");\n }\n get isCUID2() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid2\");\n }\n get isULID() {\n return !!this._def.checks.find((ch) => ch.kind === \"ulid\");\n }\n get isIP() {\n return !!this._def.checks.find((ch) => ch.kind === \"ip\");\n }\n get isCIDR() {\n return !!this._def.checks.find((ch) => ch.kind === \"cidr\");\n }\n get isBase64() {\n return !!this._def.checks.find((ch) => ch.kind === \"base64\");\n }\n get isBase64url() {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return !!this._def.checks.find((ch) => ch.kind === \"base64url\");\n }\n get minLength() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxLength() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nexports.ZodString = ZodString;\nZodString.create = (params) => {\n return new ZodString({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodString,\n coerce: params?.coerce ?? false,\n ...processCreateParams(params),\n });\n};\n// https://stackoverflow.com/questions/3966484/why-does-modulus-operator-return-fractional-number-in-javascript/31711034#31711034\nfunction floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepDecCount = (step.toString().split(\".\")[1] || \"\").length;\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = Number.parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = Number.parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / 10 ** decCount;\n}\nclass ZodNumber extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n this.step = this.multipleOf;\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = Number(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.number) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.number,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n let ctx = undefined;\n const status = new parseUtil_js_1.ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"int\") {\n if (!util_js_1.util.isInteger(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: \"integer\",\n received: \"float\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"min\") {\n const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (floatSafeRemainder(input.data, check.value) !== 0) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"finite\") {\n if (!Number.isFinite(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.not_finite,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util_js_1.util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil_js_1.errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil_js_1.errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil_js_1.errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil_js_1.errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodNumber({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil_js_1.errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodNumber({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n int(message) {\n return this._addCheck({\n kind: \"int\",\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: false,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: false,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: true,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: true,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: value,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n finite(message) {\n return this._addCheck({\n kind: \"finite\",\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n safe(message) {\n return this._addCheck({\n kind: \"min\",\n inclusive: true,\n value: Number.MIN_SAFE_INTEGER,\n message: errorUtil_js_1.errorUtil.toString(message),\n })._addCheck({\n kind: \"max\",\n inclusive: true,\n value: Number.MAX_SAFE_INTEGER,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n get isInt() {\n return !!this._def.checks.find((ch) => ch.kind === \"int\" || (ch.kind === \"multipleOf\" && util_js_1.util.isInteger(ch.value)));\n }\n get isFinite() {\n let max = null;\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"finite\" || ch.kind === \"int\" || ch.kind === \"multipleOf\") {\n return true;\n }\n else if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n else if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return Number.isFinite(min) && Number.isFinite(max);\n }\n}\nexports.ZodNumber = ZodNumber;\nZodNumber.create = (params) => {\n return new ZodNumber({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodNumber,\n coerce: params?.coerce || false,\n ...processCreateParams(params),\n });\n};\nclass ZodBigInt extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n }\n _parse(input) {\n if (this._def.coerce) {\n try {\n input.data = BigInt(input.data);\n }\n catch {\n return this._getInvalidInput(input);\n }\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.bigint) {\n return this._getInvalidInput(input);\n }\n let ctx = undefined;\n const status = new parseUtil_js_1.ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n type: \"bigint\",\n minimum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n type: \"bigint\",\n maximum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (input.data % check.value !== BigInt(0)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util_js_1.util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _getInvalidInput(input) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.bigint,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil_js_1.errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil_js_1.errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil_js_1.errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil_js_1.errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodBigInt({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil_js_1.errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodBigInt({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value,\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nexports.ZodBigInt = ZodBigInt;\nZodBigInt.create = (params) => {\n return new ZodBigInt({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodBigInt,\n coerce: params?.coerce ?? false,\n ...processCreateParams(params),\n });\n};\nclass ZodBoolean extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = Boolean(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.boolean) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.boolean,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodBoolean = ZodBoolean;\nZodBoolean.create = (params) => {\n return new ZodBoolean({\n typeName: ZodFirstPartyTypeKind.ZodBoolean,\n coerce: params?.coerce || false,\n ...processCreateParams(params),\n });\n};\nclass ZodDate extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = new Date(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.date) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.date,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n if (Number.isNaN(input.data.getTime())) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_date,\n });\n return parseUtil_js_1.INVALID;\n }\n const status = new parseUtil_js_1.ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.getTime() < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n message: check.message,\n inclusive: true,\n exact: false,\n minimum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.getTime() > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n message: check.message,\n inclusive: true,\n exact: false,\n maximum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else {\n util_js_1.util.assertNever(check);\n }\n }\n return {\n status: status.value,\n value: new Date(input.data.getTime()),\n };\n }\n _addCheck(check) {\n return new ZodDate({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n min(minDate, message) {\n return this._addCheck({\n kind: \"min\",\n value: minDate.getTime(),\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n max(maxDate, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxDate.getTime(),\n message: errorUtil_js_1.errorUtil.toString(message),\n });\n }\n get minDate() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min != null ? new Date(min) : null;\n }\n get maxDate() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max != null ? new Date(max) : null;\n }\n}\nexports.ZodDate = ZodDate;\nZodDate.create = (params) => {\n return new ZodDate({\n checks: [],\n coerce: params?.coerce || false,\n typeName: ZodFirstPartyTypeKind.ZodDate,\n ...processCreateParams(params),\n });\n};\nclass ZodSymbol extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.symbol) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.symbol,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodSymbol = ZodSymbol;\nZodSymbol.create = (params) => {\n return new ZodSymbol({\n typeName: ZodFirstPartyTypeKind.ZodSymbol,\n ...processCreateParams(params),\n });\n};\nclass ZodUndefined extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.undefined,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodUndefined = ZodUndefined;\nZodUndefined.create = (params) => {\n return new ZodUndefined({\n typeName: ZodFirstPartyTypeKind.ZodUndefined,\n ...processCreateParams(params),\n });\n};\nclass ZodNull extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.null) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.null,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodNull = ZodNull;\nZodNull.create = (params) => {\n return new ZodNull({\n typeName: ZodFirstPartyTypeKind.ZodNull,\n ...processCreateParams(params),\n });\n};\nclass ZodAny extends ZodType {\n constructor() {\n super(...arguments);\n // to prevent instances of other classes from extending ZodAny. this causes issues with catchall in ZodObject.\n this._any = true;\n }\n _parse(input) {\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodAny = ZodAny;\nZodAny.create = (params) => {\n return new ZodAny({\n typeName: ZodFirstPartyTypeKind.ZodAny,\n ...processCreateParams(params),\n });\n};\nclass ZodUnknown extends ZodType {\n constructor() {\n super(...arguments);\n // required\n this._unknown = true;\n }\n _parse(input) {\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodUnknown = ZodUnknown;\nZodUnknown.create = (params) => {\n return new ZodUnknown({\n typeName: ZodFirstPartyTypeKind.ZodUnknown,\n ...processCreateParams(params),\n });\n};\nclass ZodNever extends ZodType {\n _parse(input) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.never,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n}\nexports.ZodNever = ZodNever;\nZodNever.create = (params) => {\n return new ZodNever({\n typeName: ZodFirstPartyTypeKind.ZodNever,\n ...processCreateParams(params),\n });\n};\nclass ZodVoid extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.void,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n}\nexports.ZodVoid = ZodVoid;\nZodVoid.create = (params) => {\n return new ZodVoid({\n typeName: ZodFirstPartyTypeKind.ZodVoid,\n ...processCreateParams(params),\n });\n};\nclass ZodArray extends ZodType {\n _parse(input) {\n const { ctx, status } = this._processInputParams(input);\n const def = this._def;\n if (ctx.parsedType !== util_js_1.ZodParsedType.array) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.array,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n if (def.exactLength !== null) {\n const tooBig = ctx.data.length > def.exactLength.value;\n const tooSmall = ctx.data.length < def.exactLength.value;\n if (tooBig || tooSmall) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: tooBig ? ZodError_js_1.ZodIssueCode.too_big : ZodError_js_1.ZodIssueCode.too_small,\n minimum: (tooSmall ? def.exactLength.value : undefined),\n maximum: (tooBig ? def.exactLength.value : undefined),\n type: \"array\",\n inclusive: true,\n exact: true,\n message: def.exactLength.message,\n });\n status.dirty();\n }\n }\n if (def.minLength !== null) {\n if (ctx.data.length < def.minLength.value) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: def.minLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.minLength.message,\n });\n status.dirty();\n }\n }\n if (def.maxLength !== null) {\n if (ctx.data.length > def.maxLength.value) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: def.maxLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.maxLength.message,\n });\n status.dirty();\n }\n }\n if (ctx.common.async) {\n return Promise.all([...ctx.data].map((item, i) => {\n return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n })).then((result) => {\n return parseUtil_js_1.ParseStatus.mergeArray(status, result);\n });\n }\n const result = [...ctx.data].map((item, i) => {\n return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n });\n return parseUtil_js_1.ParseStatus.mergeArray(status, result);\n }\n get element() {\n return this._def.type;\n }\n min(minLength, message) {\n return new ZodArray({\n ...this._def,\n minLength: { value: minLength, message: errorUtil_js_1.errorUtil.toString(message) },\n });\n }\n max(maxLength, message) {\n return new ZodArray({\n ...this._def,\n maxLength: { value: maxLength, message: errorUtil_js_1.errorUtil.toString(message) },\n });\n }\n length(len, message) {\n return new ZodArray({\n ...this._def,\n exactLength: { value: len, message: errorUtil_js_1.errorUtil.toString(message) },\n });\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nexports.ZodArray = ZodArray;\nZodArray.create = (schema, params) => {\n return new ZodArray({\n type: schema,\n minLength: null,\n maxLength: null,\n exactLength: null,\n typeName: ZodFirstPartyTypeKind.ZodArray,\n ...processCreateParams(params),\n });\n};\nfunction deepPartialify(schema) {\n if (schema instanceof ZodObject) {\n const newShape = {};\n for (const key in schema.shape) {\n const fieldSchema = schema.shape[key];\n newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));\n }\n return new ZodObject({\n ...schema._def,\n shape: () => newShape,\n });\n }\n else if (schema instanceof ZodArray) {\n return new ZodArray({\n ...schema._def,\n type: deepPartialify(schema.element),\n });\n }\n else if (schema instanceof ZodOptional) {\n return ZodOptional.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodNullable) {\n return ZodNullable.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodTuple) {\n return ZodTuple.create(schema.items.map((item) => deepPartialify(item)));\n }\n else {\n return schema;\n }\n}\nclass ZodObject extends ZodType {\n constructor() {\n super(...arguments);\n this._cached = null;\n /**\n * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped.\n * If you want to pass through unknown properties, use `.passthrough()` instead.\n */\n this.nonstrict = this.passthrough;\n // extend<\n // Augmentation extends ZodRawShape,\n // NewOutput extends util.flatten<{\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // }>,\n // NewInput extends util.flatten<{\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }>\n // >(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape,\n // UnknownKeys,\n // Catchall,\n // NewOutput,\n // NewInput\n // > {\n // return new ZodObject({\n // ...this._def,\n // shape: () => ({\n // ...this._def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // }\n /**\n * @deprecated Use `.extend` instead\n * */\n this.augment = this.extend;\n }\n _getCached() {\n if (this._cached !== null)\n return this._cached;\n const shape = this._def.shape();\n const keys = util_js_1.util.objectKeys(shape);\n this._cached = { shape, keys };\n return this._cached;\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.object) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.object,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const { status, ctx } = this._processInputParams(input);\n const { shape, keys: shapeKeys } = this._getCached();\n const extraKeys = [];\n if (!(this._def.catchall instanceof ZodNever && this._def.unknownKeys === \"strip\")) {\n for (const key in ctx.data) {\n if (!shapeKeys.includes(key)) {\n extraKeys.push(key);\n }\n }\n }\n const pairs = [];\n for (const key of shapeKeys) {\n const keyValidator = shape[key];\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (this._def.catchall instanceof ZodNever) {\n const unknownKeys = this._def.unknownKeys;\n if (unknownKeys === \"passthrough\") {\n for (const key of extraKeys) {\n pairs.push({\n key: { status: \"valid\", value: key },\n value: { status: \"valid\", value: ctx.data[key] },\n });\n }\n }\n else if (unknownKeys === \"strict\") {\n if (extraKeys.length > 0) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.unrecognized_keys,\n keys: extraKeys,\n });\n status.dirty();\n }\n }\n else if (unknownKeys === \"strip\") {\n }\n else {\n throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);\n }\n }\n else {\n // run catchall validation\n const catchall = this._def.catchall;\n for (const key of extraKeys) {\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: catchall._parse(new ParseInputLazyPath(ctx, value, ctx.path, key) //, ctx.child(key), value, getParsedType(value)\n ),\n alwaysSet: key in ctx.data,\n });\n }\n }\n if (ctx.common.async) {\n return Promise.resolve()\n .then(async () => {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value,\n alwaysSet: pair.alwaysSet,\n });\n }\n return syncPairs;\n })\n .then((syncPairs) => {\n return parseUtil_js_1.ParseStatus.mergeObjectSync(status, syncPairs);\n });\n }\n else {\n return parseUtil_js_1.ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get shape() {\n return this._def.shape();\n }\n strict(message) {\n errorUtil_js_1.errorUtil.errToObj;\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strict\",\n ...(message !== undefined\n ? {\n errorMap: (issue, ctx) => {\n const defaultError = this._def.errorMap?.(issue, ctx).message ?? ctx.defaultError;\n if (issue.code === \"unrecognized_keys\")\n return {\n message: errorUtil_js_1.errorUtil.errToObj(message).message ?? defaultError,\n };\n return {\n message: defaultError,\n };\n },\n }\n : {}),\n });\n }\n strip() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strip\",\n });\n }\n passthrough() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"passthrough\",\n });\n }\n // const AugmentFactory =\n // (def: Def) =>\n // (\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape, Augmentation>,\n // Def[\"unknownKeys\"],\n // Def[\"catchall\"]\n // > => {\n // return new ZodObject({\n // ...def,\n // shape: () => ({\n // ...def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // };\n extend(augmentation) {\n return new ZodObject({\n ...this._def,\n shape: () => ({\n ...this._def.shape(),\n ...augmentation,\n }),\n });\n }\n /**\n * Prior to zod@1.0.12 there was a bug in the\n * inferred type of merged objects. Please\n * upgrade if you are experiencing issues.\n */\n merge(merging) {\n const merged = new ZodObject({\n unknownKeys: merging._def.unknownKeys,\n catchall: merging._def.catchall,\n shape: () => ({\n ...this._def.shape(),\n ...merging._def.shape(),\n }),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n });\n return merged;\n }\n // merge<\n // Incoming extends AnyZodObject,\n // Augmentation extends Incoming[\"shape\"],\n // NewOutput extends {\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // },\n // NewInput extends {\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }\n // >(\n // merging: Incoming\n // ): ZodObject<\n // extendShape>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"],\n // NewOutput,\n // NewInput\n // > {\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n setKey(key, schema) {\n return this.augment({ [key]: schema });\n }\n // merge(\n // merging: Incoming\n // ): //ZodObject = (merging) => {\n // ZodObject<\n // extendShape>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"]\n // > {\n // // const mergedShape = objectUtil.mergeShapes(\n // // this._def.shape(),\n // // merging._def.shape()\n // // );\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n catchall(index) {\n return new ZodObject({\n ...this._def,\n catchall: index,\n });\n }\n pick(mask) {\n const shape = {};\n for (const key of util_js_1.util.objectKeys(mask)) {\n if (mask[key] && this.shape[key]) {\n shape[key] = this.shape[key];\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n omit(mask) {\n const shape = {};\n for (const key of util_js_1.util.objectKeys(this.shape)) {\n if (!mask[key]) {\n shape[key] = this.shape[key];\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n /**\n * @deprecated\n */\n deepPartial() {\n return deepPartialify(this);\n }\n partial(mask) {\n const newShape = {};\n for (const key of util_js_1.util.objectKeys(this.shape)) {\n const fieldSchema = this.shape[key];\n if (mask && !mask[key]) {\n newShape[key] = fieldSchema;\n }\n else {\n newShape[key] = fieldSchema.optional();\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n required(mask) {\n const newShape = {};\n for (const key of util_js_1.util.objectKeys(this.shape)) {\n if (mask && !mask[key]) {\n newShape[key] = this.shape[key];\n }\n else {\n const fieldSchema = this.shape[key];\n let newField = fieldSchema;\n while (newField instanceof ZodOptional) {\n newField = newField._def.innerType;\n }\n newShape[key] = newField;\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n keyof() {\n return createZodEnum(util_js_1.util.objectKeys(this.shape));\n }\n}\nexports.ZodObject = ZodObject;\nZodObject.create = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.strictCreate = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strict\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.lazycreate = (shape, params) => {\n return new ZodObject({\n shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nclass ZodUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const options = this._def.options;\n function handleResults(results) {\n // return first issue-free validation if it exists\n for (const result of results) {\n if (result.result.status === \"valid\") {\n return result.result;\n }\n }\n for (const result of results) {\n if (result.result.status === \"dirty\") {\n // add issues from dirty option\n ctx.common.issues.push(...result.ctx.common.issues);\n return result.result;\n }\n }\n // return invalid\n const unionErrors = results.map((result) => new ZodError_js_1.ZodError(result.ctx.common.issues));\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_union,\n unionErrors,\n });\n return parseUtil_js_1.INVALID;\n }\n if (ctx.common.async) {\n return Promise.all(options.map(async (option) => {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n return {\n result: await option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n }),\n ctx: childCtx,\n };\n })).then(handleResults);\n }\n else {\n let dirty = undefined;\n const issues = [];\n for (const option of options) {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n const result = option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n });\n if (result.status === \"valid\") {\n return result;\n }\n else if (result.status === \"dirty\" && !dirty) {\n dirty = { result, ctx: childCtx };\n }\n if (childCtx.common.issues.length) {\n issues.push(childCtx.common.issues);\n }\n }\n if (dirty) {\n ctx.common.issues.push(...dirty.ctx.common.issues);\n return dirty.result;\n }\n const unionErrors = issues.map((issues) => new ZodError_js_1.ZodError(issues));\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_union,\n unionErrors,\n });\n return parseUtil_js_1.INVALID;\n }\n }\n get options() {\n return this._def.options;\n }\n}\nexports.ZodUnion = ZodUnion;\nZodUnion.create = (types, params) => {\n return new ZodUnion({\n options: types,\n typeName: ZodFirstPartyTypeKind.ZodUnion,\n ...processCreateParams(params),\n });\n};\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\n////////// //////////\n////////// ZodDiscriminatedUnion //////////\n////////// //////////\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\nconst getDiscriminator = (type) => {\n if (type instanceof ZodLazy) {\n return getDiscriminator(type.schema);\n }\n else if (type instanceof ZodEffects) {\n return getDiscriminator(type.innerType());\n }\n else if (type instanceof ZodLiteral) {\n return [type.value];\n }\n else if (type instanceof ZodEnum) {\n return type.options;\n }\n else if (type instanceof ZodNativeEnum) {\n // eslint-disable-next-line ban/ban\n return util_js_1.util.objectValues(type.enum);\n }\n else if (type instanceof ZodDefault) {\n return getDiscriminator(type._def.innerType);\n }\n else if (type instanceof ZodUndefined) {\n return [undefined];\n }\n else if (type instanceof ZodNull) {\n return [null];\n }\n else if (type instanceof ZodOptional) {\n return [undefined, ...getDiscriminator(type.unwrap())];\n }\n else if (type instanceof ZodNullable) {\n return [null, ...getDiscriminator(type.unwrap())];\n }\n else if (type instanceof ZodBranded) {\n return getDiscriminator(type.unwrap());\n }\n else if (type instanceof ZodReadonly) {\n return getDiscriminator(type.unwrap());\n }\n else if (type instanceof ZodCatch) {\n return getDiscriminator(type._def.innerType);\n }\n else {\n return [];\n }\n};\nclass ZodDiscriminatedUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.object) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.object,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const discriminator = this.discriminator;\n const discriminatorValue = ctx.data[discriminator];\n const option = this.optionsMap.get(discriminatorValue);\n if (!option) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_union_discriminator,\n options: Array.from(this.optionsMap.keys()),\n path: [discriminator],\n });\n return parseUtil_js_1.INVALID;\n }\n if (ctx.common.async) {\n return option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n else {\n return option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n get discriminator() {\n return this._def.discriminator;\n }\n get options() {\n return this._def.options;\n }\n get optionsMap() {\n return this._def.optionsMap;\n }\n /**\n * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.\n * However, it only allows a union of objects, all of which need to share a discriminator property. This property must\n * have a different value for each object in the union.\n * @param discriminator the name of the discriminator property\n * @param types an array of object schemas\n * @param params\n */\n static create(discriminator, options, params) {\n // Get all the valid discriminator values\n const optionsMap = new Map();\n // try {\n for (const type of options) {\n const discriminatorValues = getDiscriminator(type.shape[discriminator]);\n if (!discriminatorValues.length) {\n throw new Error(`A discriminator value for key \\`${discriminator}\\` could not be extracted from all schema options`);\n }\n for (const value of discriminatorValues) {\n if (optionsMap.has(value)) {\n throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);\n }\n optionsMap.set(value, type);\n }\n }\n return new ZodDiscriminatedUnion({\n typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,\n discriminator,\n options,\n optionsMap,\n ...processCreateParams(params),\n });\n }\n}\nexports.ZodDiscriminatedUnion = ZodDiscriminatedUnion;\nfunction mergeValues(a, b) {\n const aType = (0, util_js_1.getParsedType)(a);\n const bType = (0, util_js_1.getParsedType)(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n else if (aType === util_js_1.ZodParsedType.object && bType === util_js_1.ZodParsedType.object) {\n const bKeys = util_js_1.util.objectKeys(b);\n const sharedKeys = util_js_1.util.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n else if (aType === util_js_1.ZodParsedType.array && bType === util_js_1.ZodParsedType.array) {\n if (a.length !== b.length) {\n return { valid: false };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n else if (aType === util_js_1.ZodParsedType.date && bType === util_js_1.ZodParsedType.date && +a === +b) {\n return { valid: true, data: a };\n }\n else {\n return { valid: false };\n }\n}\nclass ZodIntersection extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const handleParsed = (parsedLeft, parsedRight) => {\n if ((0, parseUtil_js_1.isAborted)(parsedLeft) || (0, parseUtil_js_1.isAborted)(parsedRight)) {\n return parseUtil_js_1.INVALID;\n }\n const merged = mergeValues(parsedLeft.value, parsedRight.value);\n if (!merged.valid) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_intersection_types,\n });\n return parseUtil_js_1.INVALID;\n }\n if ((0, parseUtil_js_1.isDirty)(parsedLeft) || (0, parseUtil_js_1.isDirty)(parsedRight)) {\n status.dirty();\n }\n return { status: status.value, value: merged.data };\n };\n if (ctx.common.async) {\n return Promise.all([\n this._def.left._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n this._def.right._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n ]).then(([left, right]) => handleParsed(left, right));\n }\n else {\n return handleParsed(this._def.left._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }), this._def.right._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }));\n }\n }\n}\nexports.ZodIntersection = ZodIntersection;\nZodIntersection.create = (left, right, params) => {\n return new ZodIntersection({\n left: left,\n right: right,\n typeName: ZodFirstPartyTypeKind.ZodIntersection,\n ...processCreateParams(params),\n });\n};\n// type ZodTupleItems = [ZodTypeAny, ...ZodTypeAny[]];\nclass ZodTuple extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.array) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.array,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n if (ctx.data.length < this._def.items.length) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n return parseUtil_js_1.INVALID;\n }\n const rest = this._def.rest;\n if (!rest && ctx.data.length > this._def.items.length) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n status.dirty();\n }\n const items = [...ctx.data]\n .map((item, itemIndex) => {\n const schema = this._def.items[itemIndex] || this._def.rest;\n if (!schema)\n return null;\n return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));\n })\n .filter((x) => !!x); // filter nulls\n if (ctx.common.async) {\n return Promise.all(items).then((results) => {\n return parseUtil_js_1.ParseStatus.mergeArray(status, results);\n });\n }\n else {\n return parseUtil_js_1.ParseStatus.mergeArray(status, items);\n }\n }\n get items() {\n return this._def.items;\n }\n rest(rest) {\n return new ZodTuple({\n ...this._def,\n rest,\n });\n }\n}\nexports.ZodTuple = ZodTuple;\nZodTuple.create = (schemas, params) => {\n if (!Array.isArray(schemas)) {\n throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");\n }\n return new ZodTuple({\n items: schemas,\n typeName: ZodFirstPartyTypeKind.ZodTuple,\n rest: null,\n ...processCreateParams(params),\n });\n};\nclass ZodRecord extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.object) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.object,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const pairs = [];\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n for (const key in ctx.data) {\n pairs.push({\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),\n value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (ctx.common.async) {\n return parseUtil_js_1.ParseStatus.mergeObjectAsync(status, pairs);\n }\n else {\n return parseUtil_js_1.ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get element() {\n return this._def.valueType;\n }\n static create(first, second, third) {\n if (second instanceof ZodType) {\n return new ZodRecord({\n keyType: first,\n valueType: second,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(third),\n });\n }\n return new ZodRecord({\n keyType: ZodString.create(),\n valueType: first,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(second),\n });\n }\n}\nexports.ZodRecord = ZodRecord;\nclass ZodMap extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.map) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.map,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n const pairs = [...ctx.data.entries()].map(([key, value], index) => {\n return {\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, \"key\"])),\n value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, \"value\"])),\n };\n });\n if (ctx.common.async) {\n const finalMap = new Map();\n return Promise.resolve().then(async () => {\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return parseUtil_js_1.INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n });\n }\n else {\n const finalMap = new Map();\n for (const pair of pairs) {\n const key = pair.key;\n const value = pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return parseUtil_js_1.INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n }\n }\n}\nexports.ZodMap = ZodMap;\nZodMap.create = (keyType, valueType, params) => {\n return new ZodMap({\n valueType,\n keyType,\n typeName: ZodFirstPartyTypeKind.ZodMap,\n ...processCreateParams(params),\n });\n};\nclass ZodSet extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.set) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.set,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const def = this._def;\n if (def.minSize !== null) {\n if (ctx.data.size < def.minSize.value) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_small,\n minimum: def.minSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.minSize.message,\n });\n status.dirty();\n }\n }\n if (def.maxSize !== null) {\n if (ctx.data.size > def.maxSize.value) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.too_big,\n maximum: def.maxSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.maxSize.message,\n });\n status.dirty();\n }\n }\n const valueType = this._def.valueType;\n function finalizeSet(elements) {\n const parsedSet = new Set();\n for (const element of elements) {\n if (element.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (element.status === \"dirty\")\n status.dirty();\n parsedSet.add(element.value);\n }\n return { status: status.value, value: parsedSet };\n }\n const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));\n if (ctx.common.async) {\n return Promise.all(elements).then((elements) => finalizeSet(elements));\n }\n else {\n return finalizeSet(elements);\n }\n }\n min(minSize, message) {\n return new ZodSet({\n ...this._def,\n minSize: { value: minSize, message: errorUtil_js_1.errorUtil.toString(message) },\n });\n }\n max(maxSize, message) {\n return new ZodSet({\n ...this._def,\n maxSize: { value: maxSize, message: errorUtil_js_1.errorUtil.toString(message) },\n });\n }\n size(size, message) {\n return this.min(size, message).max(size, message);\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nexports.ZodSet = ZodSet;\nZodSet.create = (valueType, params) => {\n return new ZodSet({\n valueType,\n minSize: null,\n maxSize: null,\n typeName: ZodFirstPartyTypeKind.ZodSet,\n ...processCreateParams(params),\n });\n};\nclass ZodFunction extends ZodType {\n constructor() {\n super(...arguments);\n this.validate = this.implement;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.function) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.function,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n function makeArgsIssue(args, error) {\n return (0, parseUtil_js_1.makeIssue)({\n data: args,\n path: ctx.path,\n errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, (0, errors_js_1.getErrorMap)(), errors_js_1.defaultErrorMap].filter((x) => !!x),\n issueData: {\n code: ZodError_js_1.ZodIssueCode.invalid_arguments,\n argumentsError: error,\n },\n });\n }\n function makeReturnsIssue(returns, error) {\n return (0, parseUtil_js_1.makeIssue)({\n data: returns,\n path: ctx.path,\n errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, (0, errors_js_1.getErrorMap)(), errors_js_1.defaultErrorMap].filter((x) => !!x),\n issueData: {\n code: ZodError_js_1.ZodIssueCode.invalid_return_type,\n returnTypeError: error,\n },\n });\n }\n const params = { errorMap: ctx.common.contextualErrorMap };\n const fn = ctx.data;\n if (this._def.returns instanceof ZodPromise) {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return (0, parseUtil_js_1.OK)(async function (...args) {\n const error = new ZodError_js_1.ZodError([]);\n const parsedArgs = await me._def.args.parseAsync(args, params).catch((e) => {\n error.addIssue(makeArgsIssue(args, e));\n throw error;\n });\n const result = await Reflect.apply(fn, this, parsedArgs);\n const parsedReturns = await me._def.returns._def.type\n .parseAsync(result, params)\n .catch((e) => {\n error.addIssue(makeReturnsIssue(result, e));\n throw error;\n });\n return parsedReturns;\n });\n }\n else {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return (0, parseUtil_js_1.OK)(function (...args) {\n const parsedArgs = me._def.args.safeParse(args, params);\n if (!parsedArgs.success) {\n throw new ZodError_js_1.ZodError([makeArgsIssue(args, parsedArgs.error)]);\n }\n const result = Reflect.apply(fn, this, parsedArgs.data);\n const parsedReturns = me._def.returns.safeParse(result, params);\n if (!parsedReturns.success) {\n throw new ZodError_js_1.ZodError([makeReturnsIssue(result, parsedReturns.error)]);\n }\n return parsedReturns.data;\n });\n }\n }\n parameters() {\n return this._def.args;\n }\n returnType() {\n return this._def.returns;\n }\n args(...items) {\n return new ZodFunction({\n ...this._def,\n args: ZodTuple.create(items).rest(ZodUnknown.create()),\n });\n }\n returns(returnType) {\n return new ZodFunction({\n ...this._def,\n returns: returnType,\n });\n }\n implement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n strictImplement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n static create(args, returns, params) {\n return new ZodFunction({\n args: (args ? args : ZodTuple.create([]).rest(ZodUnknown.create())),\n returns: returns || ZodUnknown.create(),\n typeName: ZodFirstPartyTypeKind.ZodFunction,\n ...processCreateParams(params),\n });\n }\n}\nexports.ZodFunction = ZodFunction;\nclass ZodLazy extends ZodType {\n get schema() {\n return this._def.getter();\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const lazySchema = this._def.getter();\n return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });\n }\n}\nexports.ZodLazy = ZodLazy;\nZodLazy.create = (getter, params) => {\n return new ZodLazy({\n getter: getter,\n typeName: ZodFirstPartyTypeKind.ZodLazy,\n ...processCreateParams(params),\n });\n};\nclass ZodLiteral extends ZodType {\n _parse(input) {\n if (input.data !== this._def.value) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n received: ctx.data,\n code: ZodError_js_1.ZodIssueCode.invalid_literal,\n expected: this._def.value,\n });\n return parseUtil_js_1.INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n get value() {\n return this._def.value;\n }\n}\nexports.ZodLiteral = ZodLiteral;\nZodLiteral.create = (value, params) => {\n return new ZodLiteral({\n value: value,\n typeName: ZodFirstPartyTypeKind.ZodLiteral,\n ...processCreateParams(params),\n });\n};\nfunction createZodEnum(values, params) {\n return new ZodEnum({\n values,\n typeName: ZodFirstPartyTypeKind.ZodEnum,\n ...processCreateParams(params),\n });\n}\nclass ZodEnum extends ZodType {\n _parse(input) {\n if (typeof input.data !== \"string\") {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n expected: util_js_1.util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n });\n return parseUtil_js_1.INVALID;\n }\n if (!this._cache) {\n this._cache = new Set(this._def.values);\n }\n if (!this._cache.has(input.data)) {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n received: ctx.data,\n code: ZodError_js_1.ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n get options() {\n return this._def.values;\n }\n get enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Values() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n extract(values, newDef = this._def) {\n return ZodEnum.create(values, {\n ...this._def,\n ...newDef,\n });\n }\n exclude(values, newDef = this._def) {\n return ZodEnum.create(this.options.filter((opt) => !values.includes(opt)), {\n ...this._def,\n ...newDef,\n });\n }\n}\nexports.ZodEnum = ZodEnum;\nZodEnum.create = createZodEnum;\nclass ZodNativeEnum extends ZodType {\n _parse(input) {\n const nativeEnumValues = util_js_1.util.getValidEnumValues(this._def.values);\n const ctx = this._getOrReturnCtx(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.string && ctx.parsedType !== util_js_1.ZodParsedType.number) {\n const expectedValues = util_js_1.util.objectValues(nativeEnumValues);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n expected: util_js_1.util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n });\n return parseUtil_js_1.INVALID;\n }\n if (!this._cache) {\n this._cache = new Set(util_js_1.util.getValidEnumValues(this._def.values));\n }\n if (!this._cache.has(input.data)) {\n const expectedValues = util_js_1.util.objectValues(nativeEnumValues);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n received: ctx.data,\n code: ZodError_js_1.ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return parseUtil_js_1.INVALID;\n }\n return (0, parseUtil_js_1.OK)(input.data);\n }\n get enum() {\n return this._def.values;\n }\n}\nexports.ZodNativeEnum = ZodNativeEnum;\nZodNativeEnum.create = (values, params) => {\n return new ZodNativeEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n ...processCreateParams(params),\n });\n};\nclass ZodPromise extends ZodType {\n unwrap() {\n return this._def.type;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_js_1.ZodParsedType.promise && ctx.common.async === false) {\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.promise,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n const promisified = ctx.parsedType === util_js_1.ZodParsedType.promise ? ctx.data : Promise.resolve(ctx.data);\n return (0, parseUtil_js_1.OK)(promisified.then((data) => {\n return this._def.type.parseAsync(data, {\n path: ctx.path,\n errorMap: ctx.common.contextualErrorMap,\n });\n }));\n }\n}\nexports.ZodPromise = ZodPromise;\nZodPromise.create = (schema, params) => {\n return new ZodPromise({\n type: schema,\n typeName: ZodFirstPartyTypeKind.ZodPromise,\n ...processCreateParams(params),\n });\n};\nclass ZodEffects extends ZodType {\n innerType() {\n return this._def.schema;\n }\n sourceType() {\n return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects\n ? this._def.schema.sourceType()\n : this._def.schema;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const effect = this._def.effect || null;\n const checkCtx = {\n addIssue: (arg) => {\n (0, parseUtil_js_1.addIssueToContext)(ctx, arg);\n if (arg.fatal) {\n status.abort();\n }\n else {\n status.dirty();\n }\n },\n get path() {\n return ctx.path;\n },\n };\n checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);\n if (effect.type === \"preprocess\") {\n const processed = effect.transform(ctx.data, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(processed).then(async (processed) => {\n if (status.value === \"aborted\")\n return parseUtil_js_1.INVALID;\n const result = await this._def.schema._parseAsync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n if (result.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (result.status === \"dirty\")\n return (0, parseUtil_js_1.DIRTY)(result.value);\n if (status.value === \"dirty\")\n return (0, parseUtil_js_1.DIRTY)(result.value);\n return result;\n });\n }\n else {\n if (status.value === \"aborted\")\n return parseUtil_js_1.INVALID;\n const result = this._def.schema._parseSync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n if (result.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (result.status === \"dirty\")\n return (0, parseUtil_js_1.DIRTY)(result.value);\n if (status.value === \"dirty\")\n return (0, parseUtil_js_1.DIRTY)(result.value);\n return result;\n }\n }\n if (effect.type === \"refinement\") {\n const executeRefinement = (acc) => {\n const result = effect.refinement(acc, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(result);\n }\n if (result instanceof Promise) {\n throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");\n }\n return acc;\n };\n if (ctx.common.async === false) {\n const inner = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inner.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n // return value is ignored\n executeRefinement(inner.value);\n return { status: status.value, value: inner.value };\n }\n else {\n return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((inner) => {\n if (inner.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n return executeRefinement(inner.value).then(() => {\n return { status: status.value, value: inner.value };\n });\n });\n }\n }\n if (effect.type === \"transform\") {\n if (ctx.common.async === false) {\n const base = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (!(0, parseUtil_js_1.isValid)(base))\n return parseUtil_js_1.INVALID;\n const result = effect.transform(base.value, checkCtx);\n if (result instanceof Promise) {\n throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);\n }\n return { status: status.value, value: result };\n }\n else {\n return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => {\n if (!(0, parseUtil_js_1.isValid)(base))\n return parseUtil_js_1.INVALID;\n return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({\n status: status.value,\n value: result,\n }));\n });\n }\n }\n util_js_1.util.assertNever(effect);\n }\n}\nexports.ZodEffects = ZodEffects;\nexports.ZodTransformer = ZodEffects;\nZodEffects.create = (schema, effect, params) => {\n return new ZodEffects({\n schema,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect,\n ...processCreateParams(params),\n });\n};\nZodEffects.createWithPreprocess = (preprocess, schema, params) => {\n return new ZodEffects({\n schema,\n effect: { type: \"preprocess\", transform: preprocess },\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n ...processCreateParams(params),\n });\n};\nclass ZodOptional extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === util_js_1.ZodParsedType.undefined) {\n return (0, parseUtil_js_1.OK)(undefined);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nexports.ZodOptional = ZodOptional;\nZodOptional.create = (type, params) => {\n return new ZodOptional({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodOptional,\n ...processCreateParams(params),\n });\n};\nclass ZodNullable extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === util_js_1.ZodParsedType.null) {\n return (0, parseUtil_js_1.OK)(null);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nexports.ZodNullable = ZodNullable;\nZodNullable.create = (type, params) => {\n return new ZodNullable({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodNullable,\n ...processCreateParams(params),\n });\n};\nclass ZodDefault extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n let data = ctx.data;\n if (ctx.parsedType === util_js_1.ZodParsedType.undefined) {\n data = this._def.defaultValue();\n }\n return this._def.innerType._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n removeDefault() {\n return this._def.innerType;\n }\n}\nexports.ZodDefault = ZodDefault;\nZodDefault.create = (type, params) => {\n return new ZodDefault({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n defaultValue: typeof params.default === \"function\" ? params.default : () => params.default,\n ...processCreateParams(params),\n });\n};\nclass ZodCatch extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n // newCtx is used to not collect issues from inner types in ctx\n const newCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n };\n const result = this._def.innerType._parse({\n data: newCtx.data,\n path: newCtx.path,\n parent: {\n ...newCtx,\n },\n });\n if ((0, parseUtil_js_1.isAsync)(result)) {\n return result.then((result) => {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError_js_1.ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n });\n }\n else {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError_js_1.ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n }\n }\n removeCatch() {\n return this._def.innerType;\n }\n}\nexports.ZodCatch = ZodCatch;\nZodCatch.create = (type, params) => {\n return new ZodCatch({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n catchValue: typeof params.catch === \"function\" ? params.catch : () => params.catch,\n ...processCreateParams(params),\n });\n};\nclass ZodNaN extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_js_1.ZodParsedType.nan) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_js_1.addIssueToContext)(ctx, {\n code: ZodError_js_1.ZodIssueCode.invalid_type,\n expected: util_js_1.ZodParsedType.nan,\n received: ctx.parsedType,\n });\n return parseUtil_js_1.INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n}\nexports.ZodNaN = ZodNaN;\nZodNaN.create = (params) => {\n return new ZodNaN({\n typeName: ZodFirstPartyTypeKind.ZodNaN,\n ...processCreateParams(params),\n });\n};\nexports.BRAND = Symbol(\"zod_brand\");\nclass ZodBranded extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const data = ctx.data;\n return this._def.type._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n unwrap() {\n return this._def.type;\n }\n}\nexports.ZodBranded = ZodBranded;\nclass ZodPipeline extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.common.async) {\n const handleAsync = async () => {\n const inResult = await this._def.in._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return (0, parseUtil_js_1.DIRTY)(inResult.value);\n }\n else {\n return this._def.out._parseAsync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n };\n return handleAsync();\n }\n else {\n const inResult = this._def.in._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return parseUtil_js_1.INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return {\n status: \"dirty\",\n value: inResult.value,\n };\n }\n else {\n return this._def.out._parseSync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n }\n static create(a, b) {\n return new ZodPipeline({\n in: a,\n out: b,\n typeName: ZodFirstPartyTypeKind.ZodPipeline,\n });\n }\n}\nexports.ZodPipeline = ZodPipeline;\nclass ZodReadonly extends ZodType {\n _parse(input) {\n const result = this._def.innerType._parse(input);\n const freeze = (data) => {\n if ((0, parseUtil_js_1.isValid)(data)) {\n data.value = Object.freeze(data.value);\n }\n return data;\n };\n return (0, parseUtil_js_1.isAsync)(result) ? result.then((data) => freeze(data)) : freeze(result);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nexports.ZodReadonly = ZodReadonly;\nZodReadonly.create = (type, params) => {\n return new ZodReadonly({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodReadonly,\n ...processCreateParams(params),\n });\n};\n////////////////////////////////////////\n////////////////////////////////////////\n////////// //////////\n////////// z.custom //////////\n////////// //////////\n////////////////////////////////////////\n////////////////////////////////////////\nfunction cleanParams(params, data) {\n const p = typeof params === \"function\" ? params(data) : typeof params === \"string\" ? { message: params } : params;\n const p2 = typeof p === \"string\" ? { message: p } : p;\n return p2;\n}\nfunction custom(check, _params = {}, \n/**\n * @deprecated\n *\n * Pass `fatal` into the params object instead:\n *\n * ```ts\n * z.string().custom((val) => val.length > 5, { fatal: false })\n * ```\n *\n */\nfatal) {\n if (check)\n return ZodAny.create().superRefine((data, ctx) => {\n const r = check(data);\n if (r instanceof Promise) {\n return r.then((r) => {\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = params.fatal ?? fatal ?? true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n });\n }\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = params.fatal ?? fatal ?? true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n return;\n });\n return ZodAny.create();\n}\nexports.late = {\n object: ZodObject.lazycreate,\n};\nvar ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n ZodFirstPartyTypeKind[\"ZodString\"] = \"ZodString\";\n ZodFirstPartyTypeKind[\"ZodNumber\"] = \"ZodNumber\";\n ZodFirstPartyTypeKind[\"ZodNaN\"] = \"ZodNaN\";\n ZodFirstPartyTypeKind[\"ZodBigInt\"] = \"ZodBigInt\";\n ZodFirstPartyTypeKind[\"ZodBoolean\"] = \"ZodBoolean\";\n ZodFirstPartyTypeKind[\"ZodDate\"] = \"ZodDate\";\n ZodFirstPartyTypeKind[\"ZodSymbol\"] = \"ZodSymbol\";\n ZodFirstPartyTypeKind[\"ZodUndefined\"] = \"ZodUndefined\";\n ZodFirstPartyTypeKind[\"ZodNull\"] = \"ZodNull\";\n ZodFirstPartyTypeKind[\"ZodAny\"] = \"ZodAny\";\n ZodFirstPartyTypeKind[\"ZodUnknown\"] = \"ZodUnknown\";\n ZodFirstPartyTypeKind[\"ZodNever\"] = \"ZodNever\";\n ZodFirstPartyTypeKind[\"ZodVoid\"] = \"ZodVoid\";\n ZodFirstPartyTypeKind[\"ZodArray\"] = \"ZodArray\";\n ZodFirstPartyTypeKind[\"ZodObject\"] = \"ZodObject\";\n ZodFirstPartyTypeKind[\"ZodUnion\"] = \"ZodUnion\";\n ZodFirstPartyTypeKind[\"ZodDiscriminatedUnion\"] = \"ZodDiscriminatedUnion\";\n ZodFirstPartyTypeKind[\"ZodIntersection\"] = \"ZodIntersection\";\n ZodFirstPartyTypeKind[\"ZodTuple\"] = \"ZodTuple\";\n ZodFirstPartyTypeKind[\"ZodRecord\"] = \"ZodRecord\";\n ZodFirstPartyTypeKind[\"ZodMap\"] = \"ZodMap\";\n ZodFirstPartyTypeKind[\"ZodSet\"] = \"ZodSet\";\n ZodFirstPartyTypeKind[\"ZodFunction\"] = \"ZodFunction\";\n ZodFirstPartyTypeKind[\"ZodLazy\"] = \"ZodLazy\";\n ZodFirstPartyTypeKind[\"ZodLiteral\"] = \"ZodLiteral\";\n ZodFirstPartyTypeKind[\"ZodEnum\"] = \"ZodEnum\";\n ZodFirstPartyTypeKind[\"ZodEffects\"] = \"ZodEffects\";\n ZodFirstPartyTypeKind[\"ZodNativeEnum\"] = \"ZodNativeEnum\";\n ZodFirstPartyTypeKind[\"ZodOptional\"] = \"ZodOptional\";\n ZodFirstPartyTypeKind[\"ZodNullable\"] = \"ZodNullable\";\n ZodFirstPartyTypeKind[\"ZodDefault\"] = \"ZodDefault\";\n ZodFirstPartyTypeKind[\"ZodCatch\"] = \"ZodCatch\";\n ZodFirstPartyTypeKind[\"ZodPromise\"] = \"ZodPromise\";\n ZodFirstPartyTypeKind[\"ZodBranded\"] = \"ZodBranded\";\n ZodFirstPartyTypeKind[\"ZodPipeline\"] = \"ZodPipeline\";\n ZodFirstPartyTypeKind[\"ZodReadonly\"] = \"ZodReadonly\";\n})(ZodFirstPartyTypeKind || (exports.ZodFirstPartyTypeKind = ZodFirstPartyTypeKind = {}));\n// requires TS 4.4+\nclass Class {\n constructor(..._) { }\n}\nconst instanceOfType = (\n// const instanceOfType = any>(\ncls, params = {\n message: `Input not instance of ${cls.name}`,\n}) => custom((data) => data instanceof cls, params);\nexports.instanceof = instanceOfType;\nconst stringType = ZodString.create;\nexports.string = stringType;\nconst numberType = ZodNumber.create;\nexports.number = numberType;\nconst nanType = ZodNaN.create;\nexports.nan = nanType;\nconst bigIntType = ZodBigInt.create;\nexports.bigint = bigIntType;\nconst booleanType = ZodBoolean.create;\nexports.boolean = booleanType;\nconst dateType = ZodDate.create;\nexports.date = dateType;\nconst symbolType = ZodSymbol.create;\nexports.symbol = symbolType;\nconst undefinedType = ZodUndefined.create;\nexports.undefined = undefinedType;\nconst nullType = ZodNull.create;\nexports.null = nullType;\nconst anyType = ZodAny.create;\nexports.any = anyType;\nconst unknownType = ZodUnknown.create;\nexports.unknown = unknownType;\nconst neverType = ZodNever.create;\nexports.never = neverType;\nconst voidType = ZodVoid.create;\nexports.void = voidType;\nconst arrayType = ZodArray.create;\nexports.array = arrayType;\nconst objectType = ZodObject.create;\nexports.object = objectType;\nconst strictObjectType = ZodObject.strictCreate;\nexports.strictObject = strictObjectType;\nconst unionType = ZodUnion.create;\nexports.union = unionType;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nexports.discriminatedUnion = discriminatedUnionType;\nconst intersectionType = ZodIntersection.create;\nexports.intersection = intersectionType;\nconst tupleType = ZodTuple.create;\nexports.tuple = tupleType;\nconst recordType = ZodRecord.create;\nexports.record = recordType;\nconst mapType = ZodMap.create;\nexports.map = mapType;\nconst setType = ZodSet.create;\nexports.set = setType;\nconst functionType = ZodFunction.create;\nexports.function = functionType;\nconst lazyType = ZodLazy.create;\nexports.lazy = lazyType;\nconst literalType = ZodLiteral.create;\nexports.literal = literalType;\nconst enumType = ZodEnum.create;\nexports.enum = enumType;\nconst nativeEnumType = ZodNativeEnum.create;\nexports.nativeEnum = nativeEnumType;\nconst promiseType = ZodPromise.create;\nexports.promise = promiseType;\nconst effectsType = ZodEffects.create;\nexports.effect = effectsType;\nexports.transformer = effectsType;\nconst optionalType = ZodOptional.create;\nexports.optional = optionalType;\nconst nullableType = ZodNullable.create;\nexports.nullable = nullableType;\nconst preprocessType = ZodEffects.createWithPreprocess;\nexports.preprocess = preprocessType;\nconst pipelineType = ZodPipeline.create;\nexports.pipeline = pipelineType;\nconst ostring = () => stringType().optional();\nexports.ostring = ostring;\nconst onumber = () => numberType().optional();\nexports.onumber = onumber;\nconst oboolean = () => booleanType().optional();\nexports.oboolean = oboolean;\nexports.coerce = {\n string: ((arg) => ZodString.create({ ...arg, coerce: true })),\n number: ((arg) => ZodNumber.create({ ...arg, coerce: true })),\n boolean: ((arg) => ZodBoolean.create({\n ...arg,\n coerce: true,\n })),\n bigint: ((arg) => ZodBigInt.create({ ...arg, coerce: true })),\n date: ((arg) => ZodDate.create({ ...arg, coerce: true })),\n};\nexports.NEVER = parseUtil_js_1.INVALID;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./errors.cjs\"), exports);\n__exportStar(require(\"./helpers/parseUtil.cjs\"), exports);\n__exportStar(require(\"./helpers/typeAliases.cjs\"), exports);\n__exportStar(require(\"./helpers/util.cjs\"), exports);\n__exportStar(require(\"./types.cjs\"), exports);\n__exportStar(require(\"./ZodError.cjs\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.z = void 0;\nconst z = __importStar(require(\"./v3/external.cjs\"));\nexports.z = z;\n__exportStar(require(\"./v3/external.cjs\"), exports);\nexports.default = z;\n","/**\n * The `backgroundAgents` session-projection vocabulary: one foldable row per\n * background agent, in whole-value shape. The zod schema validates the wire\n * payload on the host and guards the same value inside the client bundle, so\n * the two halves share one runtime shape.\n *\n * @module dsh-background-agents/projection-schema\n */\n\nimport { z } from 'zod'\n\n/** Durable lifecycle state of one background agent, folded from the parent log. */\nexport const backgroundAgentEntrySchema = z.object({\n /** Durable child session id (the `agentId` every tool returns). */\n agentId: z.string().min(1),\n /** Creation label persisted with the child. */\n label: z.string(),\n /**\n * Last folded lifecycle fact: `running` while registrations/messages/progress\n * keep landing, `inactive` after the child's activation settled (folded from\n * the official `subagent-settled` notice), `archived` after the idle sweep.\n */\n activity: z.enum(['running', 'inactive', 'archived']),\n /** Accepted deliveries to the child: the initial task plus every follow-up. */\n messageCount: z.number().int().nonnegative(),\n /** Last progress or settle summary, when one was recorded. */\n lastMessage: z.string().optional(),\n /** Epoch ms of the registration fact. */\n createdAt: z.number().int().nonnegative(),\n /** Epoch ms of the last folded fact for this agent. */\n lastActiveAt: z.number().int().nonnegative(),\n /** Epoch ms of the idle-sweep archive fact, when the row is parked. */\n archivedAt: z.number().int().nonnegative().optional(),\n /** Epoch ms of the latest interrupt request, when one was recorded. */\n stopRequestedAt: z.number().int().nonnegative().optional(),\n /**\n * Aggregated per-agent cost/status totals, present once at least one\n * `metrics` fact has folded. Absent = no turn has been observed yet (or the\n * observability capture is disabled), so consumers render it as \"unknown\".\n */\n metrics: z.object({\n /** Completed child turns that reported a metric sample. */\n turnCount: z.number().int().nonnegative(),\n /** Summed turn wall time over reported turns, ms. */\n totalDurationMs: z.number().nonnegative(),\n /** Summed uncached input tokens; null until a turn reports token accounting. */\n inputTokens: z.number().int().nonnegative().nullable(),\n /** Summed output tokens; null until a turn reports token accounting. */\n outputTokens: z.number().int().nonnegative().nullable(),\n /** Failed turns (`turn/end` with `reason.kind === 'error'`). */\n errorCount: z.number().int().nonnegative(),\n }).strict().optional(),\n}).strict()\n\n/** The whole wire value of the `backgroundAgents` projection unit. */\nexport const backgroundAgentsSchema = z.object({\n agents: z.array(backgroundAgentEntrySchema),\n}).strict()\n\n/** One background-agent row of the projection. */\nexport type BackgroundAgentEntry = z.infer\n\n/** Per-agent aggregated cost/status totals carried on a projection row. */\nexport type BackgroundAgentMetrics = NonNullable\n\n/** The whole `backgroundAgents` projection value. */\nexport type BackgroundAgentsProjection = z.infer\n\n/**\n * Guard an opaque projection value (the client reads projection cells as\n * unknown because it cannot merge the host's `SessionProjectionMap`).\n * @param value - the opaque cell value.\n * @returns the typed projection, or undefined when the cell is absent or invalid.\n */\nexport function isBackgroundAgentsProjection(value: unknown): BackgroundAgentsProjection | undefined {\n const parsed = backgroundAgentsSchema.safeParse(value)\n return parsed.success ? parsed.data : undefined\n}\n","/**\n * Pure presentation of background-agent dashboard rows. The presenter reads\n * only the session-list snapshot (each parent summary carries its\n * `backgroundAgents` projection value) and derives every displayed fact —\n * no I/O, clock, or randomness — so the rows are testable and the component\n * stays a thin binder.\n *\n * @module dsh-background-agents/presenter\n */\n\nimport {\n isBackgroundAgentsProjection, type BackgroundAgentEntry, type BackgroundAgentMetrics,\n} from '../projection-schema.ts'\n\n/** Display status of one row: the durable fact overlaid with the live running bit. */\nexport type RowStatus = 'running' | 'idle' | 'settled' | 'archived'\n\n/** One rendered dashboard row. */\nexport interface AgentRow {\n /** Durable direct parent session id (the jump and stop authority). */\n readonly parentSessionId: string\n /** Durable child session id (the agentId the tools return). */\n readonly agentId: string\n /** Display label: the projection label, else the child's session title. */\n readonly label: string\n /** The parent session's display title, for disambiguation when several parents project rows. */\n readonly parentTitle?: string\n readonly status: RowStatus\n /** Accepted deliveries: the initial task plus every follow-up. */\n readonly messageCount: number\n /** Last progress or settle summary, when recorded. */\n readonly lastMessage?: string\n /** Epoch ms of the registration fact. */\n readonly createdAt: number\n /** Epoch ms of the last folded fact. */\n readonly lastActiveAt: number\n /** Aggregated cost/status totals, when at least one metric fact folded. */\n readonly metrics?: BackgroundAgentMetrics\n}\n\n/** The session-list face the presenter reads (host-sampled `running` per session). */\nexport interface SessionListLike {\n byId: Record\n}\n\n/** Read the plugin's projection cell out of the opaque client projection map. */\nfunction cellOf(parent: SessionListLike['byId'][string]): unknown {\n return (parent.projectionValues as { backgroundAgents?: unknown } | undefined)?.backgroundAgents\n}\n\n/**\n * Overlay the durable lifecycle fact with the live running bit. The client\n * list cannot distinguish a live-but-idle child from a cold one, so both read\n * `idle`; `bg_list` refines with the host agent registry.\n * @param entry - the folded projection entry.\n * @param liveRunning - whether the child session's driver is running now.\n * @returns the display status.\n */\nexport function rowStatus(entry: BackgroundAgentEntry, liveRunning: boolean): RowStatus {\n if (entry.activity === 'archived') return 'archived'\n if (liveRunning) return 'running'\n if (entry.activity === 'inactive') return 'settled'\n return 'idle'\n}\n\n/**\n * Build every dashboard row from one session-list snapshot, ordered by\n * registration time (oldest first) with the id as tiebreak.\n * @param list - the session-list snapshot.\n * @returns the dashboard rows; empty when no session projects agents.\n */\nexport function buildAgentRows(list: SessionListLike): AgentRow[] {\n const rows: AgentRow[] = []\n for (const parent of Object.values(list.byId)) {\n const projection = isBackgroundAgentsProjection(cellOf(parent))\n if (projection === undefined) continue\n for (const entry of projection.agents) {\n const child = list.byId[entry.agentId]\n rows.push({\n parentSessionId: parent.id,\n agentId: entry.agentId,\n label: entry.label === '' ? (child?.displayTitle ?? entry.agentId) : entry.label,\n ...(parent.displayTitle === undefined ? {} : { parentTitle: parent.displayTitle }),\n status: rowStatus(entry, child?.running === true),\n messageCount: entry.messageCount,\n ...(entry.lastMessage === undefined ? {} : { lastMessage: entry.lastMessage }),\n createdAt: entry.createdAt,\n lastActiveAt: entry.lastActiveAt,\n ...(entry.metrics === undefined ? {} : { metrics: entry.metrics }),\n })\n }\n }\n rows.sort((a, b) =>\n a.createdAt !== b.createdAt ? a.createdAt - b.createdAt : (a.agentId < b.agentId ? -1 : 1))\n return rows\n}\n\n/** Relative-time bucket of a row's last activity, for the caller to localize. */\nexport type RelativeTimeUnit = 'now' | 'minutes' | 'hours' | 'days' | 'months' | 'years'\n\n/** Structured relative time: the bucket plus its magnitude (0 for `now`). */\nexport interface RelativeTime {\n readonly unit: RelativeTimeUnit\n readonly n: number\n}\n\n/**\n * Compact relative time for a row's `lastActiveAt`.\n * @param at - epoch ms of the last activity.\n * @param now - epoch ms now (injected for purity).\n * @returns the bucket and magnitude.\n */\nexport function relativeTime(at: number, now: number): RelativeTime {\n const MIN = 60_000\n const HOUR = 3_600_000\n const DAY = 86_400_000\n const diff = Math.max(0, now - at)\n if (diff < MIN) return { unit: 'now', n: 0 }\n if (diff < HOUR) return { unit: 'minutes', n: Math.floor(diff / MIN) }\n if (diff < DAY) return { unit: 'hours', n: Math.floor(diff / HOUR) }\n if (diff < 30 * DAY) return { unit: 'days', n: Math.floor(diff / DAY) }\n if (diff < 365 * DAY) return { unit: 'months', n: Math.floor(diff / (30 * DAY)) }\n return { unit: 'years', n: Math.floor(diff / (365 * DAY)) }\n}\n\n/** One history page entry as the wire delivers it (structural; the client bundle never imports host types). */\nexport interface HistoryEntryLike {\n readonly event: {\n readonly type: string\n readonly data?: unknown\n }\n}\n\n/**\n * Extract the final assistant text from one history page. Scans forward for\n * the last assistant message that carries a text block; reasoning-only\n * messages are skipped (bg_result owns the reasoning fallback, the panel\n * shows plain text). Returns '' when the page has none — the caller renders\n * its own empty state.\n * @param entries - one `subagent.history` page's entries.\n * @returns the joined text of the last assistant text message.\n */\nexport function extractResultText(entries: readonly HistoryEntryLike[]): string {\n let text = ''\n for (const entry of entries) {\n if (entry.event.type !== 'assistant/message') continue\n const message = (entry.event.data as { message?: { content?: unknown } } | undefined)?.message\n if (message === undefined || !Array.isArray(message.content)) continue\n const joined = message.content\n .filter((block): block is { type: 'text'; text: string } =>\n typeof block === 'object' && block !== null && (block as { type?: unknown }).type === 'text')\n .map(block => block.text)\n .join('')\n .trim()\n if (joined !== '') text = joined\n }\n return text\n}\n\n/** One exported cost row (plain JSON: no host references, lossless over the wire). */\nexport interface CostReportRow {\n readonly agentId: string\n readonly label: string\n readonly status: RowStatus\n readonly turnCount: number\n readonly durationMs: number | null\n readonly inputTokens: number | null\n readonly outputTokens: number | null\n readonly errorCount: number\n /** Failed turns over observed turns; null when no turn was observed. */\n readonly errorRate: number | null\n}\n\n/** The whole export value (raw observability JSON; currency pricing is not applied). */\nexport interface CostReport {\n readonly generatedAt: number\n readonly agents: CostReportRow[]\n}\n\n/**\n * Build the plain-JSON cost report from the rendered rows. Token totals and\n * duration stay `null` for rows without a folded metric sample (absent = the\n * adapter reported none or the observability capture is disabled), so the\n * export never fabricates a zero. Error rate is `errorCount / turnCount`.\n * @param rows - the rendered dashboard rows.\n * @param now - epoch ms now (injected for purity).\n * @returns the JSON-serializable report.\n */\nexport function buildCostReport(rows: AgentRow[], now: number): CostReport {\n return {\n generatedAt: now,\n agents: rows.map(row => {\n const metrics = row.metrics\n const errorRate = metrics === undefined || metrics.turnCount === 0\n ? null\n : metrics.errorCount / metrics.turnCount\n return {\n agentId: row.agentId,\n label: row.label,\n status: row.status,\n turnCount: metrics?.turnCount ?? 0,\n durationMs: metrics === undefined ? null : metrics.totalDurationMs,\n inputTokens: metrics?.inputTokens ?? null,\n outputTokens: metrics?.outputTokens ?? null,\n errorCount: metrics?.errorCount ?? 0,\n errorRate,\n }\n }),\n }\n}\n","/**\n * The sidebar background-agent panel: a `sidebar.footer.action` entry whose\n * trigger shows a live agent count and opens a floating panel of dashboard\n * rows (label, status, last activity, message count) with one-click\n * jump-to-child-session and stop. All displayed facts come from the pure\n * presenter over the session-list snapshot; this component only binds\n * interactions.\n */\nimport { useEffect, useRef, useState, useSyncExternalStore } from 'react'\nimport { createPortal } from 'react-dom'\nimport type { PropsLocale, PropsRuntime, TranslateNS } from '@deepseek-ai/dsh-client-ui-slots'\nimport { IconBranchOutline16, Tooltip } from '@deepseek-ai/dsh-client-ui-primitives'\nimport type {} from '@deepseek-ai/dsh-client-ui-sidebar/client'\nimport { buildAgentRows, buildCostReport, relativeTime, type AgentRow, type RowStatus, type SessionListLike } from './presenter.ts'\nimport { NS } from './locales.ts'\nimport css from './BackgroundAgentsAction.module.css'\n\n/** Minimal structural snapshot contract (the owner package no longer re-exports the generic). */\ninterface ObservableSnapshot {\n getSnapshot(): T\n subscribe(listener: () => void): () => void\n}\n\n/** Business actions supplied by the slot registration. */\nexport interface BackgroundAgentsInjected {\n /** The live session-list snapshot the dashboard rows derive from. */\n sessions: ObservableSnapshot\n /**\n * Open the child session through its durable direct-parent address.\n * @returns an error message on failure, undefined on success.\n */\n openChild(parentSessionId: string, childSessionId: string): Promise\n /**\n * Request interruption of the child's current turn through the official\n * `subagent.interruptByParent` RPC.\n * @returns an error message on failure, undefined on success.\n */\n stopChild(parentSessionId: string, childSessionId: string): Promise\n /**\n * Queue one message as the child's next turn through the official\n * `subagent.prompt` RPC (wakes a settled child).\n * @returns an error message on failure, undefined on success.\n */\n sendMessage(parentSessionId: string, childSessionId: string, text: string): Promise\n /**\n * Read the child's final assistant text through the child session's\n * `conversation` projection (the `subagent.history` RPC no longer exists;\n * the peek never activates the child Agent).\n * @returns the extracted text plus an optional error message.\n */\n readResult(parentSessionId: string, childSessionId: string): Promise<{ text: string; error?: string }>\n}\n\n/** Full props: the footer-action owner share, standard kit, injected actions, and locale. */\nexport type BackgroundAgentsActionProps =\n PropsRuntime<'sidebar.footer.action'> & BackgroundAgentsInjected & PropsLocale\n\n/** Localized relative-time label for one row. */\nfunction timeLabel(at: number, now: number, t: TranslateNS): string {\n const rel = relativeTime(at, now)\n switch (rel.unit) {\n case 'now': return t('time.now')\n case 'minutes': return t('time.minutes', { n: rel.n })\n case 'hours': return t('time.hours', { n: rel.n })\n case 'days': return t('time.days', { n: rel.n })\n case 'months': return t('time.months', { n: rel.n })\n case 'years': return t('time.years', { n: rel.n })\n }\n}\n\n/** Localized status label. */\nfunction statusLabel(status: RowStatus, t: TranslateNS): string {\n switch (status) {\n case 'running': return t('status.running')\n case 'idle': return t('status.idle')\n case 'settled': return t('status.settled')\n case 'archived': return t('status.archived')\n }\n}\n\n/** One token count for display: `—` when the adapter never reported one. */\nfunction fmtTokens(n: number | null): string {\n return n === null ? '—' : String(n)\n}\n\n/** Compact duration for a row's summed turn wall time. */\nfunction fmtDuration(ms: number): string {\n if (ms < 1000) return `${ms}ms`\n const seconds = ms / 1000\n if (seconds < 60) return `${seconds.toFixed(1)}s`\n const minutes = Math.floor(seconds / 60)\n if (minutes < 60) return `${minutes}m ${Math.round(seconds % 60)}s`\n const hours = Math.floor(minutes / 60)\n return `${hours}h ${minutes % 60}m`\n}\n\n/** One open result peek: the row it belongs to plus its load state. */\ninterface ResultState {\n readonly id: string\n readonly loading: boolean\n readonly text: string\n readonly error?: string\n}\n\n/** One dashboard row. */\nfunction Row({ row, t, now, busy, showParent, composing, draft, result, onResult, onCloseResult, onDraft, onOpen, onStop, onCompose, onSend, onCancel }: {\n readonly row: AgentRow\n readonly t: TranslateNS\n readonly now: number\n readonly busy: boolean\n readonly showParent: boolean\n readonly composing: boolean\n readonly draft: string\n readonly result: ResultState | undefined\n readonly onResult: () => void\n readonly onCloseResult: () => void\n readonly onDraft: (text: string) => void\n readonly onOpen: () => void\n readonly onStop: () => void\n readonly onCompose: () => void\n readonly onSend: () => void\n readonly onCancel: () => void\n}) {\n const resultOpen = result !== undefined && result.id === row.agentId\n return (\n
  • \n
    \n {statusLabel(row.status, t)}\n {row.label}\n {t('row.messages', { n: row.messageCount })} · {timeLabel(row.lastActiveAt, now, t)}\n
    \n {showParent && row.parentTitle !== undefined &&
    {row.parentTitle}
    }\n {row.lastMessage !== undefined &&
    {row.lastMessage}
    }\n {row.metrics !== undefined && (\n
    \n {t('metrics.turns', { n: row.metrics.turnCount })}\n {t('metrics.duration', { n: fmtDuration(row.metrics.totalDurationMs) })}\n {t('metrics.tokens', { input: fmtTokens(row.metrics.inputTokens), output: fmtTokens(row.metrics.outputTokens) })}\n {t('metrics.errors', { n: row.metrics.errorCount })}\n
    \n )}\n
    \n \n \n {t('row.stop')}\n \n \n \n
    \n {resultOpen && result !== undefined && (\n
    \n {result.loading &&
    {t('result.loading')}
    }\n {!result.loading && result.error !== undefined &&
    {result.error}
    }\n {!result.loading && result.error === undefined\n &&
    {result.text === '' ? t('result.empty') : result.text}
    }\n
    \n )}\n {composing && (\n
    \n { onDraft(event.target.value) }}\n onKeyDown={event => {\n if (event.key === 'Enter' && draft.trim() !== '' && !busy) onSend()\n }}\n />\n \n \n
    \n )}\n
  • \n )\n}\n\n/** The sidebar footer trigger + floating dashboard panel. */\nexport function BackgroundAgentsAction({\n wide, t, sessions, openChild, stopChild, sendMessage, readResult,\n}: BackgroundAgentsActionProps) {\n const [open, setOpen] = useState(false)\n const [error, setError] = useState(undefined)\n const [busyId, setBusyId] = useState(undefined)\n const [composingId, setComposingId] = useState(undefined)\n const [draft, setDraft] = useState('')\n const [result, setResult] = useState(undefined)\n const [now, setNow] = useState(() => Date.now())\n const [anchor, setAnchor] = useState<{ left: number; bottom: number }>()\n const wrapRef = useRef(null)\n const panelRef = useRef(null)\n const triggerRef = useRef(null)\n const wasOpenRef = useRef(false)\n\n // The client SessionProjectionMap cannot carry the plugin's key, so the\n // snapshot crosses the boundary structurally and the presenter guards the\n // projection cell at runtime.\n const rows = buildAgentRows(useSyncExternalStore(sessions.subscribe, sessions.getSnapshot) as unknown as SessionListLike)\n const runningCount = rows.filter(row => row.status === 'running').length\n // Parent-session disambiguation: only when several parents project rows.\n const showParent = new Set(rows.map(row => row.parentSessionId)).size > 1\n\n // Refresh the relative-time labels while the panel is open.\n useEffect(() => {\n if (!open) return\n const timer = window.setInterval(() => { setNow(Date.now()) }, 30_000)\n return () => { window.clearInterval(timer) }\n }, [open])\n\n // Panel placement: anchor the floating panel to the trigger's left edge,\n // opening upward from the footer (the sidebar-footer convention), and\n // re-anchor on window resize while it is open.\n useEffect(() => {\n if (!open) return\n const place = (): void => {\n const rect = wrapRef.current?.getBoundingClientRect()\n if (rect === undefined) return\n setAnchor({ left: rect.left, bottom: window.innerHeight - rect.top + 8 })\n }\n place()\n window.addEventListener('resize', place)\n return () => { window.removeEventListener('resize', place) }\n }, [open])\n\n // Dialog focus: move into the panel on open, hand back to the trigger on\n // close so keyboard users keep their context. The guard skips the initial\n // mount (never steal focus from the boot flow).\n useEffect(() => {\n if (open) {\n panelRef.current?.focus()\n } else if (wasOpenRef.current) {\n triggerRef.current?.focus()\n }\n wasOpenRef.current = open\n }, [open])\n\n // Close on outside pointer-down or Escape.\n useEffect(() => {\n if (!open) return\n const onDown = (event: PointerEvent): void => {\n const target = event.target\n if (!(target instanceof Node)) return\n if (panelRef.current?.contains(target) === true || wrapRef.current?.contains(target) === true) return\n setOpen(false)\n }\n const onKey = (event: KeyboardEvent): void => {\n if (event.key === 'Escape') setOpen(false)\n }\n document.addEventListener('pointerdown', onDown)\n document.addEventListener('keydown', onKey)\n return () => {\n document.removeEventListener('pointerdown', onDown)\n document.removeEventListener('keydown', onKey)\n }\n }, [open])\n\n const run = async (action: (row: AgentRow) => Promise, row: AgentRow): Promise => {\n setBusyId(row.agentId)\n setError(undefined)\n try {\n const failure = await action(row)\n setError(failure)\n } finally {\n setBusyId(undefined)\n }\n }\n\n const loadResult = async (row: AgentRow): Promise => {\n setResult({ id: row.agentId, loading: true, text: '' })\n setError(undefined)\n try {\n const peek = await readResult(row.parentSessionId, row.agentId)\n setResult({\n id: row.agentId,\n loading: false,\n text: peek.text,\n ...(peek.error === undefined ? {} : { error: peek.error }),\n })\n } catch (failure) {\n setResult({\n id: row.agentId,\n loading: false,\n text: '',\n error: failure instanceof Error ? failure.message : String(failure),\n })\n }\n }\n\n // Cost export: raw token/duration JSON. The browser cannot verify or convert\n // currency cost — no per-model pricing table crosses the client boundary —\n // so the export is the observability totals verbatim and the host (or the\n // consuming tooling) owns any pricing. Both paths are defensive: download\n // degrades to nothing when Blob/URL is unavailable, copy surfaces the error.\n const downloadCost = (): void => {\n const report = buildCostReport(rows, Date.now())\n const blob = new Blob([JSON.stringify(report, null, 2)], { type: 'application/json' })\n const url = URL.createObjectURL(blob)\n const anchor = document.createElement('a')\n anchor.href = url\n anchor.download = 'background-agents-cost.json'\n document.body.appendChild(anchor)\n anchor.click()\n anchor.remove()\n URL.revokeObjectURL(url)\n }\n\n const copyCost = async (): Promise => {\n try {\n await navigator.clipboard.writeText(JSON.stringify(buildCostReport(rows, Date.now()), null, 2))\n } catch (failure) {\n setError(failure instanceof Error ? failure.message : String(failure))\n }\n }\n\n return (\n
    \n \n {\n setOpen(value => !value)\n setError(undefined)\n }}\n >\n \n {wide && {t('trigger.label')}}\n {runningCount > 0 && {runningCount}}\n \n \n {open && createPortal(\n
    \n
    {t('panel.title')}
    \n {rows.length > 0 && (\n
    \n \n \n
    \n )}\n {error !== undefined &&
    {error}
    }\n {rows.length === 0\n ?
    {t('panel.empty')}
    \n : (\n
      \n {rows.map(row => (\n { void loadResult(row) }}\n onCloseResult={() => { setResult(undefined) }}\n onDraft={setDraft}\n onOpen={() => { void run(next => openChild(next.parentSessionId, next.agentId), row) }}\n onStop={() => { void run(next => stopChild(next.parentSessionId, next.agentId), row) }}\n onCompose={() => {\n setComposingId(row.agentId)\n setDraft('')\n setError(undefined)\n }}\n onSend={() => {\n const text = draft.trim()\n if (text === '') return\n void run(async next => {\n const failure = await sendMessage(next.parentSessionId, next.agentId, text)\n if (failure === undefined) setComposingId(undefined)\n return failure\n }, row)\n }}\n onCancel={() => { setComposingId(undefined) }}\n />\n ))}\n
    \n )}\n
    ,\n document.body,\n )}\n
    \n )\n}\n","/** `background-agents` namespace dictionaries. */\n\n/** Dictionary namespace owned by this plugin. */\nexport const NS = 'background-agents'\n\n/** Simplified Chinese dictionary (the key-set source of truth). */\nexport const zh = {\n 'trigger.label': '后台 agent',\n 'trigger.aria': '查看后台 agent',\n 'panel.title': '后台 agent',\n 'panel.empty': '暂无后台 agent —— 用 background_agent 工具启动一个',\n 'status.running': '运行中',\n 'status.idle': '待命',\n 'status.settled': '已结束',\n 'status.archived': '已归档',\n 'row.open': '打开会话',\n 'row.stop': '停止',\n 'row.message': '发消息',\n 'row.result': '查看结果',\n 'row.messages': '{n} 条消息',\n 'result.loading': '加载中…',\n 'result.empty': '该 agent 还没有输出文本',\n 'result.close': '收起',\n 'message.placeholder': '发给该 agent 的消息…',\n 'message.send': '发送',\n 'message.cancel': '取消',\n 'time.now': '刚刚',\n 'time.minutes': '{n} 分钟前',\n 'time.hours': '{n} 小时前',\n 'time.days': '{n} 天前',\n 'time.months': '{n} 个月前',\n 'time.years': '{n} 年前',\n 'metrics.turns': '{n} 回合',\n 'metrics.duration': '耗时 {n}',\n 'metrics.tokens': '{input} 入 / {output} 出',\n 'metrics.errors': '{n} 错误',\n 'export.download': '导出成本 JSON',\n 'export.copy': '复制',\n} as const\n\n/** English dictionary, key-identical to the Chinese source of truth. */\nexport const en: Record = {\n 'trigger.label': 'Background agents',\n 'trigger.aria': 'View background agents',\n 'panel.title': 'Background agents',\n 'panel.empty': 'No background agents — start one with the background_agent tool',\n 'status.running': 'running',\n 'status.idle': 'idle',\n 'status.settled': 'settled',\n 'status.archived': 'archived',\n 'row.open': 'Open',\n 'row.stop': 'Stop',\n 'row.message': 'Message',\n 'row.result': 'Result',\n 'row.messages': '{n} messages',\n 'result.loading': 'Loading…',\n 'result.empty': 'This agent has no output text yet',\n 'result.close': 'Close',\n 'message.placeholder': 'Message for this agent…',\n 'message.send': 'Send',\n 'message.cancel': 'Cancel',\n 'time.now': 'now',\n 'time.minutes': '{n}m ago',\n 'time.hours': '{n}h ago',\n 'time.days': '{n}d ago',\n 'time.months': '{n}mo ago',\n 'time.years': '{n}y ago',\n 'metrics.turns': '{n} turns',\n 'metrics.duration': '{n}',\n 'metrics.tokens': '{input} in / {output} out',\n 'metrics.errors': '{n} errors',\n 'export.download': 'Export cost JSON',\n 'export.copy': 'Copy',\n}\n\n// NOTE: no es/pt/hi dictionaries here by seam constraint — the harness\n// client locale registry ships exactly `zh`/`en` as LocaleIds\n// (`packages/client/locale/src/locale-settings.ts`), so a registered third\n// locale would never be selectable. The five-language READMEs stay.\n\n/** Key domain of the `background-agents` namespace (zh is the source of truth). */\nexport type BackgroundAgentsKey = keyof typeof zh\n","/**\n * The Team Rooms settings page panel: member status, the shared task board,\n * and the timeline of every room this session belongs to. Reads arrive\n * through the `teamRoom` session projection (the same durable fold the host\n * reconstructs on restart); writes go back through the HOST `/room` command\n * (`remote.commands.execute`), so every button keeps the durable command\n * lifecycle (`command/run` / `command/done`) and the host-side ordering\n * guarantees.\n *\n * Return types are inferred (no explicit `ReactNode` annotations): the shell\n * resolves `ReactNode` against its own @types/react, and an explicit\n * annotation would pin the plugin bundle to a mismatched copy.\n */\nimport { useState } from 'react'\nimport type { PropsLocale, PropsRuntime, InjectFace, TranslateNS } from '@deepseek-ai/dsh-client-ui-slots'\nimport type {} from '@deepseek-ai/dsh-client-ui-settings/client'\n/** Minimal structural snapshot contract (the owner package no longer re-exports the generic). */\ninterface ObservableSnapshot {\n getSnapshot(): T\n subscribe(listener: () => void): () => void\n}\nimport type { RoomPanel, RoomTaskRow, TeamRoomsState } from './room-presenter.ts'\nimport { ROOM_NS } from './room-locales.ts'\nimport css from './TeamRoomsSection.module.css'\n\n/** Business actions supplied by the slot registration (all via /room command execution). */\nexport interface TeamRoomsInjected {\n hooks: {\n /** The live controller state: current session id + derived room panels. */\n teamRooms: ObservableSnapshot\n }\n /** The current session id (commands execute against it), or undefined. */\n getSessionId(): string | undefined\n create(name: string): Promise\n join(roomId: string): Promise\n leave(roomId: string): Promise\n post(roomId: string, text: string): Promise\n addTask(roomId: string, title: string): Promise\n claimTask(roomId: string, taskId: string): Promise\n completeTask(roomId: string, taskId: string): Promise\n assignTask(roomId: string, taskId: string, member: string): Promise\n}\n\n/** The action share one room card needs (everything except the bound hooks). */\nexport type RoomActions = Omit\n\n/** Full component props: the settings-section owner share, locale, and the bound inject face. */\nexport type TeamRoomsSectionProps =\n PropsRuntime<'settings.section'> & PropsLocale & InjectFace\n\n/** Localized one-line account of a timeline entry. */\nfunction timelineLabel(\n row: { readonly seq: number; readonly kind: string; readonly data: Record },\n t: TranslateNS,\n): string {\n const str = (value: unknown): string => (typeof value === 'string' ? value : '')\n switch (row.kind) {\n case 'room-created': return t('timelineRoomCreated', { member: str(row.data.sessionId) })\n case 'member-joined': return t('timelineMemberJoined', { member: str(row.data.sessionId) })\n case 'member-left': return t('timelineMemberLeft', { member: str(row.data.sessionId) })\n case 'message-posted': return t('timelineMessage', { sender: str(row.data.senderSessionId), text: str(row.data.text) })\n case 'message-directed': return t('timelineDirected', { sender: str(row.data.senderSessionId), to: str(row.data.toSessionId), text: str(row.data.text) })\n case 'task-created': return t('timelineTaskCreated', { title: str(row.data.title) })\n case 'task-claimed': return t('timelineTaskClaimed', { member: str(row.data.assigneeSessionId) })\n case 'task-assigned': return t('timelineTaskAssigned', { member: str(row.data.assigneeSessionId) })\n case 'task-completed': return t('timelineTaskCompleted', {})\n default: return t('timelineUnknown', { seq: row.seq })\n }\n}\n\n/** One task row with its local actions. */\nfunction TaskRowView({ roomId, task, t, busy, actions }: {\n readonly roomId: string\n readonly task: RoomTaskRow\n readonly t: TranslateNS\n readonly busy: boolean\n readonly actions: Pick\n}) {\n const [assignee, setAssignee] = useState('')\n const statusLabel = task.status === 'todo'\n ? t('statusTodo')\n : task.status === 'in-progress' ? t('statusInProgress') : t('statusDone')\n return (\n
  • \n
    \n {statusLabel}\n {task.title}\n \n {task.assigneeSessionId === null ? t('unassigned') : task.assigneeSessionId}\n \n
    \n {task.description !== '' &&
    {task.description}
    }\n
    \n {task.status === 'todo' && (\n \n )}\n {task.status !== 'done' && (\n <>\n { setAssignee(event.target.value) }}\n />\n {\n void actions.assignTask(roomId, task.taskId, assignee.trim())\n setAssignee('')\n }}\n >\n {t('assignAction')}\n \n \n )}\n {task.status !== 'done' && (\n \n )}\n
    \n
  • \n )\n}\n\n/** One room card: members, task board, message composer, and timeline. */\nfunction RoomCard({ panel, t, busy, actions }: {\n readonly panel: RoomPanel\n readonly t: TranslateNS\n readonly busy: boolean\n readonly actions: RoomActions\n}) {\n const [taskTitle, setTaskTitle] = useState('')\n const [message, setMessage] = useState('')\n const [copied, setCopied] = useState(false)\n return (\n
    \n
    \n

    {panel.name}

    \n \n {t('roomId')}: {panel.roomId}\n \n {\n void navigator.clipboard.writeText(panel.roomId)\n setCopied(true)\n window.setTimeout(() => { setCopied(false) }, 1500)\n }}\n >\n {copied ? t('copied') : t('copy')}\n \n { void actions.leave(panel.roomId) }}\n >\n {t('leave')}\n \n
    \n\n
    \n

    {t('members')}

    \n
      \n {panel.members.map(member => (\n
    • \n \n \n {member.title ?? member.sessionId}\n \n \n {member.role === 'owner' ? t('owner') : t('member')} · {member.live ? t('live') : t('offline')}\n \n
    • \n ))}\n
    \n
    \n\n
    \n

    {t('tasks')}

    \n
    \n { setTaskTitle(event.target.value) }}\n onKeyDown={event => {\n if (event.key === 'Enter' && taskTitle.trim() !== '' && !busy) {\n void actions.addTask(panel.roomId, taskTitle.trim())\n setTaskTitle('')\n }\n }}\n />\n {\n void actions.addTask(panel.roomId, taskTitle.trim())\n setTaskTitle('')\n }}\n >\n {t('taskAdd')}\n \n
    \n {panel.tasks.length === 0\n ?
    {t('tasksEmpty')}
    \n : (\n
      \n {panel.tasks.map(task => (\n \n ))}\n
    \n )}\n
    \n\n
    \n

    {t('message')}

    \n
    \n { setMessage(event.target.value) }}\n onKeyDown={event => {\n if (event.key === 'Enter' && message.trim() !== '' && !busy) {\n void actions.post(panel.roomId, message.trim())\n setMessage('')\n }\n }}\n />\n {\n void actions.post(panel.roomId, message.trim())\n setMessage('')\n }}\n >\n {t('send')}\n \n
    \n
    \n\n
    \n

    {t('timeline')}

    \n {panel.timeline.length === 0\n ?
    {t('timelineEmpty')}
    \n : (\n
      \n {panel.timeline.map(event => (\n
    • \n {event.kind}\n {timelineLabel(event, t)}\n
    • \n ))}\n
    \n )}\n
    \n {busy &&
    {t('busy')}
    }\n
    \n )\n}\n\n/** The settings section: room management over the live session's projection. */\nexport function TeamRoomsSection(props: TeamRoomsSectionProps) {\n const { useTeamRooms, t } = props\n const state = useTeamRooms(snapshot => snapshot) as TeamRoomsState\n const [createName, setCreateName] = useState('')\n const [joinId, setJoinId] = useState('')\n const [error, setError] = useState(undefined)\n const [busyId, setBusyId] = useState(undefined)\n\n const run = async (action: () => Promise, mark?: string): Promise => {\n setBusyId(mark)\n setError(undefined)\n try {\n const failure = await action()\n setError(failure)\n } finally {\n setBusyId(undefined)\n }\n }\n\n return (\n
    \n

    {t('title')}

    \n

    {t('intro')}

    \n\n {state.sessionId === undefined &&

    {t('noSession')}

    }\n\n
    \n
    \n { setCreateName(event.target.value) }}\n onKeyDown={event => {\n if (event.key === 'Enter' && createName.trim() !== '' && busyId === undefined) {\n void run(() => props.create(createName.trim()), 'create').then(() => { setCreateName('') })\n }\n }}\n />\n {\n void run(() => props.create(createName.trim()), 'create').then(() => { setCreateName('') })\n }}\n >\n {t('createAction')}\n \n
    \n
    \n { setJoinId(event.target.value) }}\n onKeyDown={event => {\n if (event.key === 'Enter' && joinId.trim() !== '' && busyId === undefined) {\n void run(() => props.join(joinId.trim()), 'join').then(() => { setJoinId('') })\n }\n }}\n />\n {\n void run(() => props.join(joinId.trim()), 'join').then(() => { setJoinId('') })\n }}\n >\n {t('joinAction')}\n \n
    \n
    \n\n {error !== undefined &&
    {t('error')}: {error}
    }\n\n {state.rooms.length === 0\n ?
    {t('empty')}
    \n : state.rooms.map(room => (\n \n ))}\n
    \n )\n}\n","/**\n * Pure wire vocabulary of the team-room domain: zod schemas for every stored\n * record, shared by the domain spec (durable boundary validation), the\n * `teamRoom` session projection (wire value), and the client bundle guard.\n * All times are epoch ms; ids are plain strings.\n *\n * @module dsh-background-agents/room/schema\n */\n\nimport { z } from 'zod'\n\n/** One member slot of a room: an independent session registered into the team. */\nexport const roomMemberSchema = z.object({\n /** Durable member session id (each member is its own session). */\n sessionId: z.string().min(1),\n /** `owner` created the room; `member` joined it. */\n role: z.enum(['owner', 'member']),\n /** Epoch ms of registration. */\n joinedAt: z.number().int().nonnegative(),\n /**\n * Bus seq up to which this member's session log has received the\n * model-visible delivery (0 = none yet). The offline outbox cursor.\n */\n lastDeliveredSeq: z.number().int().nonnegative(),\n /**\n * Timeline seq up to which this member's session log carries the log-only\n * facts (-1 = none yet). The offline fact-replay cursor.\n */\n lastFactSeq: z.number().int().min(-1),\n}).strict()\n\n/** The durable room record: membership plus the two append cursors. */\nexport const roomRecordSchema = z.object({\n roomId: z.string().min(1),\n name: z.string().min(1),\n createdAt: z.number().int().nonnegative(),\n /** Registration-order member list (each member is an independent session). */\n members: z.array(roomMemberSchema),\n /** Next bus seq to mint (monotonic per room; the ordering authority). */\n busNext: z.number().int().nonnegative(),\n /** Next timeline seq to mint. */\n timelineNext: z.number().int().nonnegative(),\n}).strict()\n\n/** One message on the room bus: broadcast, or directed when `toSessionId` is set. */\nexport const busMessageSchema = z.object({\n roomId: z.string().min(1),\n /** Monotonic per-room seq: the bus order every reader agrees on. */\n seq: z.number().int().nonnegative(),\n senderSessionId: z.string().min(1),\n /** Directed delivery target; absent = broadcast to every member. */\n toSessionId: z.string().min(1).optional(),\n text: z.string(),\n createdAt: z.number().int().nonnegative(),\n}).strict()\n\n/** One task-board card: todo / in-progress / done plus its assignee. */\nexport const taskRecordSchema = z.object({\n roomId: z.string().min(1),\n taskId: z.string().min(1),\n title: z.string().min(1),\n description: z.string(),\n status: z.enum(['todo', 'in-progress', 'done']),\n /** Assignee member session id; null = unassigned. */\n assigneeSessionId: z.string().nullable(),\n createdBy: z.string().min(1),\n createdAt: z.number().int().nonnegative(),\n updatedAt: z.number().int().nonnegative(),\n completedAt: z.number().int().nonnegative().optional(),\n}).strict()\n\n/** Timeline kinds the room appends; the shared event stream. */\nexport const timelineKindSchema = z.enum([\n 'room-created',\n 'member-joined',\n 'member-left',\n 'message-posted',\n 'message-directed',\n 'task-created',\n 'task-claimed',\n 'task-assigned',\n 'task-completed',\n])\n\n/** One shared timeline event (append-only per room). */\nexport const timelineEventSchema = z.object({\n roomId: z.string().min(1),\n /** Monotonic per-room seq; the timeline order. */\n seq: z.number().int().nonnegative(),\n kind: timelineKindSchema,\n at: z.number().int().nonnegative(),\n /** Kind-specific payload; plain lossless JSON. */\n data: z.record(z.unknown()),\n}).strict()\n\n// ── the folded per-session wire value (`teamRoom` projection) ────────────────\n\n/** One member row as the fold serves it. */\nexport const roomViewMemberSchema = z.object({\n sessionId: z.string().min(1),\n role: z.enum(['owner', 'member']),\n joinedAt: z.number().int().nonnegative(),\n}).strict()\n\n/** One task row as the fold serves it. */\nexport const roomViewTaskSchema = z.object({\n taskId: z.string().min(1),\n title: z.string(),\n description: z.string(),\n status: z.enum(['todo', 'in-progress', 'done']),\n assigneeSessionId: z.string().nullable(),\n createdBy: z.string(),\n createdAt: z.number().int().nonnegative(),\n updatedAt: z.number().int().nonnegative(),\n}).strict()\n\n/** One room as the fold serves it. */\nexport const roomViewSchema = z.object({\n roomId: z.string().min(1),\n name: z.string(),\n createdAt: z.number().int().nonnegative(),\n members: z.array(roomViewMemberSchema),\n tasks: z.array(roomViewTaskSchema),\n timeline: z.array(timelineEventSchema),\n}).strict()\n\n/** The whole `teamRoom` projection value: every room this session belongs to. */\nexport const teamRoomViewSchema = z.object({\n rooms: z.array(roomViewSchema),\n}).strict()\n\n// ── derived types ────────────────────────────────────────────────────────────\n\nexport type RoomMember = z.infer\nexport type RoomRecord = z.infer\nexport type BusMessage = z.infer\nexport type TaskRecord = z.infer\nexport type TimelineEvent = z.infer\nexport type TimelineKind = z.infer\nexport type RoomView = z.infer\nexport type TeamRoomView = z.infer\n\n/**\n * Runtime-guard an opaque projection cell as the `teamRoom` value (the client\n * reads projection cells as unknown because it cannot merge the host's\n * `SessionProjectionMap`).\n * @param value - the opaque cell value.\n * @returns the typed view, or undefined when the cell is absent or invalid.\n */\nexport function isTeamRoomView(value: unknown): TeamRoomView | undefined {\n const parsed = teamRoomViewSchema.safeParse(value)\n return parsed.success ? parsed.data : undefined\n}\n","/**\n * Pure presentation of the team-room settings panel: derives the display\n * state from the `teamRoom` projection value plus the session-list snapshot\n * (the live overlay for member status). No I/O, clock, or randomness — the\n * component stays a thin binder and the rows stay testable.\n *\n * @module dsh-background-agents/room-presenter\n */\n\nimport {\n isTeamRoomView, type RoomView, type TeamRoomView, type TimelineEvent,\n} from '../room/schema.ts'\n\n/** The session-list face the presenter reads (host-sampled `running` per session). */\nexport interface SessionListLike {\n byId: Record\n}\n\n/** One member row with the live overlay applied. */\nexport interface RoomMemberRow {\n readonly sessionId: string\n readonly role: 'owner' | 'member'\n readonly joinedAt: number\n /** Live bit from the session list (this browser's own view of the process). */\n readonly live: boolean\n readonly title?: string\n}\n\n/** One task-board row. */\nexport interface RoomTaskRow {\n readonly taskId: string\n readonly title: string\n readonly description: string\n readonly status: 'todo' | 'in-progress' | 'done'\n readonly assigneeSessionId: string | null\n readonly createdBy: string\n}\n\n/** One rendered timeline entry (the raw event plus its localized label inputs). */\nexport interface RoomTimelineRow {\n readonly seq: number\n readonly kind: TimelineEvent['kind']\n readonly data: TimelineEvent['data']\n}\n\n/** One rendered room panel. */\nexport interface RoomPanel {\n readonly roomId: string\n readonly name: string\n readonly createdAt: number\n readonly members: RoomMemberRow[]\n readonly tasks: RoomTaskRow[]\n readonly timeline: RoomTimelineRow[]\n}\n\n/** The controller state the section component selects from. */\nexport interface TeamRoomsState {\n readonly status: 'ready' | 'unavailable'\n /** The current session id, when a conversation is open. */\n readonly sessionId?: string\n readonly rooms: RoomPanel[]\n}\n\n/** Empty ready state (no session open). */\nexport function emptyTeamRoomsState(): TeamRoomsState {\n return { status: 'ready', rooms: [] }\n}\n\n/**\n * Derive the room panels from one projection value and the session list.\n * @param value - the opaque `teamRoom` projection cell.\n * @param list - the session-list snapshot (live overlay source).\n * @returns the panels, or undefined when the cell is absent or invalid.\n */\nexport function buildRoomPanels(value: unknown, list: SessionListLike): RoomPanel[] | undefined {\n const view: TeamRoomView | undefined = isTeamRoomView(value)\n if (view === undefined) return undefined\n return view.rooms.map(room => panelOf(room, list))\n}\n\n/** One room view plus the live overlay, sorted for display. */\nfunction panelOf(room: RoomView, list: SessionListLike): RoomPanel {\n const members = room.members\n .map(member => {\n const live = list.byId[member.sessionId]\n return {\n sessionId: member.sessionId,\n role: member.role,\n joinedAt: member.joinedAt,\n live: live !== undefined,\n ...(live?.displayTitle === undefined ? {} : { title: live.displayTitle }),\n }\n })\n .sort((a, b) => a.joinedAt - b.joinedAt)\n const tasks = [...room.tasks]\n .map(task => ({\n taskId: task.taskId,\n title: task.title,\n description: task.description,\n status: task.status,\n assigneeSessionId: task.assigneeSessionId,\n createdBy: task.createdBy,\n }))\n .sort((a, b) => {\n const rank = (status: RoomTaskRow['status']): number =>\n status === 'todo' ? 0 : status === 'in-progress' ? 1 : 2\n return rank(a.status) - rank(b.status)\n || (a.status === b.status ? a.taskId.localeCompare(b.taskId) : 0)\n })\n const timeline = [...room.timeline]\n .sort((a, b) => b.seq - a.seq)\n .slice(0, 100)\n .map(event => ({ seq: event.seq, kind: event.kind, data: event.data }))\n return {\n roomId: room.roomId,\n name: room.name,\n createdAt: room.createdAt,\n members,\n tasks,\n timeline,\n }\n}\n","/** `teamRooms` namespace dictionaries (the settings page panel copy). */\n\n/** Dictionary namespace owned by the room panel. */\nexport const ROOM_NS = 'teamRooms'\n\n/** Simplified Chinese dictionary (the key-set source of truth). */\nexport const zh = {\n nav: '团队房间',\n title: '团队房间',\n intro: '跨会话的持久多 agent 协作:成员注册、消息总线、共享任务板与时间线。状态存在本地存储层(SQLite/JSONL),DSH 重启后自动恢复。',\n noSession: '暂无活动会话。打开一个会话后再管理团队房间。',\n empty: '本会话尚未加入任何团队房间。创建一个房间,或粘贴其它会话分享的房间 id 加入。',\n create: '创建房间',\n createPlaceholder: '房间名称…',\n createAction: '创建',\n join: '加入房间',\n joinPlaceholder: '房间 id…',\n joinAction: '加入',\n roomId: '房间 id',\n copy: '复制',\n copied: '已复制',\n members: '成员',\n owner: '房主',\n member: '成员',\n live: '在线',\n offline: '离线',\n tasks: '任务板',\n tasksEmpty: '暂无任务 —— 用 /room task add 或 room_create_task 添加。',\n taskAddPlaceholder: '新任务标题…',\n taskAdd: '添加',\n claim: '认领',\n assign: '交接',\n assignTo: '成员 id 或 me',\n assignAction: '确定',\n done: '完成',\n unassigned: '未分配',\n statusTodo: '待办',\n statusInProgress: '进行中',\n statusDone: '完成',\n timeline: '时间线',\n timelineEmpty: '暂无事件。',\n timelineMessage: '{sender} 广播:{text}',\n timelineDirected: '{sender} → {to}:{text}',\n timelineMemberJoined: '{member} 加入了房间',\n timelineMemberLeft: '{member} 离开了房间',\n timelineTaskCreated: '创建任务「{title}」',\n timelineTaskClaimed: '{member} 认领了任务',\n timelineTaskAssigned: '任务交接给 {member}',\n timelineTaskCompleted: '任务完成',\n timelineRoomCreated: '{member} 创建了房间',\n timelineUnknown: '事件 #{seq}',\n message: '发消息',\n messagePlaceholder: '广播给所有成员…',\n send: '发送',\n error: '操作失败',\n busy: '处理中…',\n leave: '离开房间',\n} as const\n\n/** English dictionary, key-identical to the Chinese source of truth. */\nexport const en: Record = {\n nav: 'Team Rooms',\n title: 'Team Rooms',\n intro: 'Persistent cross-session multi-agent collaboration: member registration, a message bus, a shared task board, and a shared timeline. State lives in the local storage layer (SQLite/JSONL) and recovers after DSH restarts.',\n noSession: 'No active session. Open a conversation before managing team rooms.',\n empty: 'This session is not a member of any team room. Create one, or paste a room id another session shared with you.',\n create: 'Create a room',\n createPlaceholder: 'Room name…',\n createAction: 'Create',\n join: 'Join a room',\n joinPlaceholder: 'Room id…',\n joinAction: 'Join',\n roomId: 'Room id',\n copy: 'Copy',\n copied: 'Copied',\n members: 'Members',\n owner: 'owner',\n member: 'member',\n live: 'live',\n offline: 'offline',\n tasks: 'Task board',\n tasksEmpty: 'No tasks — add one with /room task add or room_create_task.',\n taskAddPlaceholder: 'New task title…',\n taskAdd: 'Add',\n claim: 'Claim',\n assign: 'Hand off',\n assignTo: 'member id or me',\n assignAction: 'Confirm',\n done: 'Done',\n unassigned: 'unassigned',\n statusTodo: 'todo',\n statusInProgress: 'in-progress',\n statusDone: 'done',\n timeline: 'Timeline',\n timelineEmpty: 'No events yet.',\n timelineMessage: '{sender} broadcast: {text}',\n timelineDirected: '{sender} → {to}: {text}',\n timelineMemberJoined: '{member} joined the room',\n timelineMemberLeft: '{member} left the room',\n timelineTaskCreated: 'created task “{title}”',\n timelineTaskClaimed: '{member} claimed a task',\n timelineTaskAssigned: 'task handed to {member}',\n timelineTaskCompleted: 'task completed',\n timelineRoomCreated: '{member} created the room',\n timelineUnknown: 'event #{seq}',\n message: 'Message',\n messagePlaceholder: 'Broadcast to every member…',\n send: 'Send',\n error: 'Operation failed',\n busy: 'Working…',\n leave: 'Leave room',\n}\n\n/** The `teamRooms` namespace key union. */\nexport type TeamRoomsKey = keyof typeof zh\n","/**\n * dsh-background-agents, browser half:\n *\n * - the sidebar `sidebar.footer.action` entry whose floating panel shows\n * every background agent across sessions (rows derive from the\n * `backgroundAgents` projection values riding the session-list snapshot);\n * - the Team Rooms `settings.section` page: member status, the shared task\n * board, and the timeline, read from the current session's `teamRoom`\n * projection (live `faceOf` snapshots) and written back through the HOST\n * `/room` command (`remote.commands.execute`) so every action keeps the\n * durable command lifecycle. Zero custom RPC: both surfaces ride the\n * sanctioned plugin channels.\n */\nimport type { Context } from '@deepseek-ai/cordis'\nimport type {} from '@deepseek-ai/dsh-api-remotes/client'\nimport type { SessionId } from '@deepseek-ai/dsh-client-connection/client'\nimport type { ISessions } from '@deepseek-ai/dsh-api-session-controller/client'\nimport { BackgroundAgentsAction, type BackgroundAgentsInjected } from './BackgroundAgentsAction.tsx'\nimport { extractResultText } from './presenter.ts'\nimport { en, NS, zh, type BackgroundAgentsKey } from './locales.ts'\nimport {\n TeamRoomsSection, type TeamRoomsInjected,\n} from './TeamRoomsSection.tsx'\nimport {\n buildRoomPanels, emptyTeamRoomsState, type SessionListLike, type TeamRoomsState,\n} from './room-presenter.ts'\nimport { en as roomEn, zh as roomZh, ROOM_NS, type TeamRoomsKey } from './room-locales.ts'\nimport type {} from '@deepseek-ai/dsh-client-locale/client'\nimport type {} from '@deepseek-ai/dsh-client-ui-sidebar/client'\nimport type {} from '@deepseek-ai/dsh-client-ui-settings/client'\n\ndeclare module '@deepseek-ai/dsh-client-ui-slots' {\n interface LocaleNamespaceMap {\n /** Background-agent panel copy. */\n 'background-agents': BackgroundAgentsKey\n /** Team-room settings panel copy. */\n teamRooms: TeamRoomsKey\n }\n}\n\nexport type {\n BackgroundAgentsActionProps, BackgroundAgentsInjected,\n} from './BackgroundAgentsAction.tsx'\nexport type {\n TeamRoomsInjected, TeamRoomsSectionProps,\n} from './TeamRoomsSection.tsx'\n\n/**\n * Required services: sessions (list + bindings), slots, locale, the wire\n * client, and the remote command executor (declared as `remote.commands`\n * because the team-room panel executes `/room` lines through it).\n */\nexport const inject = ['sessions', 'slots', 'locale', 'connection', 'remote', 'remote.commands']\n\n/**\n * Minimal structural contract of an observable snapshot. Declared locally\n * because the owner package of `ISessions` no longer re-exports the\n * generic; the runtime contract is structural.\n */\ninterface ObservableSnapshot {\n getSnapshot(): T\n subscribe(listener: () => void): () => void\n}\n\n/**\n * Live team-room controller: derives the settings-panel state from the\n * current session's `teamRoom` projection (via the binding's `faceOf`\n * observable) overlaid with the session-list live bits. Re-subscribes when\n * the current session changes.\n */\nclass TeamRoomsController implements ObservableSnapshot {\n private state: TeamRoomsState = emptyTeamRoomsState()\n private readonly listeners = new Set<() => void>()\n private stopList: (() => void) | undefined\n private stopFace: (() => void) | undefined\n private readonly stopRetainInfo = new Map void>()\n private boundSessionId: string | undefined\n\n constructor(private readonly sessions: ISessions) {}\n\n getSnapshot(): TeamRoomsState {\n return this.state\n }\n\n subscribe(listener: () => void): () => void {\n this.listeners.add(listener)\n return () => { this.listeners.delete(listener) }\n }\n\n /** Attach the subscriptions; returns the disposer (owned by the caller's effect). */\n start(): () => void {\n this.stopList = this.sessions.list.subscribe(() => { this.refresh() })\n this.refresh()\n return () => {\n this.stopList?.()\n this.stopFace?.()\n for (const stop of this.stopRetainInfo.values()) stop()\n this.stopRetainInfo.clear()\n }\n }\n\n /** The current session id, for command execution. */\n currentSessionId(): string | undefined {\n return this.state.sessionId\n }\n\n private set(next: TeamRoomsState): void {\n this.state = next\n for (const listener of [...this.listeners]) listener()\n }\n\n /**\n * The session the main view currently holds. Derived from the official\n * retention source counts (`retainedBy.mainView`) — the scalar\n * `SessionListState.current` field this used to read was removed on\n * 0.1.6-alpha.2 (B5). Retain-info sources are subscribed per catalog id so a\n * navigation (a main-view retain/release) refreshes the panel too.\n * @returns the main-view session id, or undefined while no session is held.\n */\n private mainViewSessionId(): string | undefined {\n const list = this.sessions.list.getSnapshot() as unknown as SessionListLike & { ids?: readonly string[] }\n const ids = list.ids ?? Object.keys(list.byId)\n const live = new Set(ids)\n for (const [id, stop] of this.stopRetainInfo) {\n if (!live.has(id)) {\n stop()\n this.stopRetainInfo.delete(id)\n }\n }\n let mainView: string | undefined\n for (const id of ids) {\n if (!this.stopRetainInfo.has(id)) {\n this.stopRetainInfo.set(id, this.sessions.retainInfo(id as SessionId).subscribe(() => { this.refresh() }))\n }\n const info = this.sessions.retainInfo(id as SessionId).getSnapshot()\n // `mainView` is the label `ui-session` merges into SessionReferenceSourceMap;\n // read it structurally so this plugin compiles against the base\n // session-controller types without depending on ui-session's type merge.\n const retainedBy = (info?.retainedBy ?? {}) as Readonly>\n if ((retainedBy['mainView'] ?? 0) > 0 && mainView === undefined) mainView = id\n }\n return mainView\n }\n\n private refresh(): void {\n const list = this.sessions.list.getSnapshot() as unknown as SessionListLike\n const current = this.mainViewSessionId()\n // Re-bind the projection face when the current session changes.\n if (current !== this.boundSessionId) {\n this.stopFace?.()\n this.stopFace = undefined\n this.boundSessionId = current\n if (current !== undefined) {\n const face = this.sessions.binding(current as SessionId)?.session.projections.faceOf('teamRoom')\n if (face !== undefined) {\n this.stopFace = face.subscribe(() => { this.refresh() })\n }\n }\n }\n if (current === undefined) {\n this.set(emptyTeamRoomsState())\n return\n }\n const face = this.sessions.binding(current as SessionId)?.session.projections.faceOf('teamRoom')\n const panels = face === undefined\n ? undefined\n : buildRoomPanels(face.getSnapshot() as Parameters[0], list)\n this.set({ status: 'ready', sessionId: current, rooms: panels ?? [] })\n }\n}\n\n/**\n * The structural shape of the api-remotes `commands` Remote namespace the\n * team-room panel needs. Declared locally because the ambient namespace\n * merge onto the client remote is assembled from several generated\n * modules and can resolve to a different physical copy under strict\n * package managers — the runtime contract is what this client depends on.\n */\ninterface CommandsRemote {\n readonly execute: (\n agent: SessionId,\n line: string,\n images?: readonly { mediaType: string; data: string; name?: string }[],\n signal?: AbortSignal,\n ) => Promise<\n | { ok: false; error: { code: string; message: string } }\n | { ok: true; value?: { commandId: string; result: { kind: string; text: string } } }\n >\n}\n\n/**\n * The structural shape of the `subagents` Remote namespace the background\n * agent panel needs, mirroring the host's current control surface:\n * `interruptByParent` takes the durable address positionally, `prompt`\n * requires a client-minted `requestId`, and the transcript `history` RPC\n * no longer exists (the panel peeks the child session's `conversation`\n * projection through the sessions binding instead).\n */\ninterface SubagentsRemote {\n readonly prompt: (\n request: {\n requestId: string\n parentSessionId: SessionId\n childSessionId: SessionId\n mode: 'continuable'\n content: readonly { type: 'text'; text: string }[]\n clientTimeZone?: string\n },\n signal?: AbortSignal,\n ) => Promise<{\n result:\n | { ok: true; value: { messageId: string } }\n | { ok: false; error: { code: string; message: string } }\n }>\n readonly interruptByParent: (\n childSessionId: SessionId,\n parentSessionId: SessionId,\n mode: 'continuable',\n ) => Promise<{\n result:\n | { ok: true; value: { accepted: true } }\n | { ok: false; error: { code: string; message: string } }\n }>\n}\n\n/** One row of a `conversation` projection snapshot: role plus content blocks. */\ninterface TranscriptEntry {\n readonly role?: string\n readonly content?: readonly { readonly type: string; readonly text?: string }[]\n}\n\n/**\n * Register the background-agent sidebar panel and the Team Rooms settings\n * page.\n * @param ctx - client root context.\n */\nexport function apply(ctx: Context): void {\n ctx.effect(() => ctx.locale.register(NS, { zh, en }), 'dsh-background-agents: dictionaries')\n ctx.effect(() => ctx.locale.register(ROOM_NS, { zh: roomZh, en: roomEn }), 'dsh-background-agents: room dictionaries')\n // The client sessions face is the runtime's ISessions; the host merge can\n // shadow it in mixed programs, so the cast reads the runtime contract.\n const sessions = ctx.get('sessions') as ISessions\n const { api } = ctx.get('connection') as unknown as { api: { subagents: SubagentsRemote } }\n const remote = ctx.remote as unknown as { commands: CommandsRemote }\n // The owning package declares the slots service with a different arity;\n // read it through this structural contract instead.\n const slots = ctx.get('slots') as unknown as {\n inject(slot: string, callback: () => unknown): void\n register(options: unknown, component: unknown): unknown\n }\n slots.inject('sidebar.footer.action', () => slots.register({\n name: 'sidebar.footer.action',\n id: 'background-agents',\n order: 0,\n locale: NS,\n inject: (): BackgroundAgentsInjected => ({\n sessions: sessions.list as unknown as ObservableSnapshot,\n async openChild(parentSessionId: string, childSessionId: string): Promise {\n try {\n await sessions.refreshSubagents(parentSessionId as SessionId)\n // 0.1.6-alpha.2 removed the client-side subagent-navigation call on\n // `ISessions`: the published contract states that navigation belongs\n // to the view owners, and the only navigation entry on this line is\n // the `openChild(address)` action `ui-subagent` supplies to its own\n // `conversation.session.header.lineage` renderer. A feature package\n // therefore has no sanctioned way to switch the main view to a child\n // session — say so explicitly, and once on the console, instead of\n // letting a removed method throw into this catch and surface as an\n // unexplained failure (CS1).\n const address = sessions.subagentAddress(childSessionId as SessionId)\n const detail = address === undefined\n ? `no live subagent address for ${childSessionId}`\n : 'the subagent address for this child is live'\n console.warn(\n 'dsh-background-agents: client-side subagent navigation was removed in 0.1.6-alpha.2 — '\n + 'navigation belongs to the view owners and ui-subagent owns the session-header lineage seat; '\n + `open the child from the session header instead (${detail}).`,\n )\n return 'this host owns subagent navigation in the session header (ui-subagent) — open the child from the session header lineage'\n } catch (error) {\n return error instanceof Error ? error.message : String(error)\n }\n },\n async stopChild(parentSessionId: string, childSessionId: string): Promise {\n try {\n const result = await api.subagents.interruptByParent(\n childSessionId as SessionId,\n parentSessionId as SessionId,\n 'continuable',\n )\n if (result.result.ok) return undefined\n return `${result.result.error.code}: ${result.result.error.message}`\n } catch (error) {\n return error instanceof Error ? error.message : String(error)\n }\n },\n async sendMessage(parentSessionId: string, childSessionId: string, text: string): Promise {\n try {\n // The same wire RPC the shipped subagent catalog uses: a queued\n // delivery that wakes the child (its next turn answers). The\n // requestId is the identity the host persists on the accepted\n // message, minted by the client before the call.\n const result = await api.subagents.prompt({\n requestId: crypto.randomUUID(),\n parentSessionId: parentSessionId as SessionId,\n childSessionId: childSessionId as SessionId,\n mode: 'continuable',\n content: [{ type: 'text', text }],\n clientTimeZone: new Intl.DateTimeFormat().resolvedOptions().timeZone,\n })\n if (result.result.ok) return undefined\n return `${result.result.error.code}: ${result.result.error.message}`\n } catch (error) {\n return error instanceof Error ? error.message : String(error)\n }\n },\n async readResult(_parentSessionId: string, childSessionId: string): Promise<{ text: string; error?: string }> {\n try {\n // The transcript `history` RPC no longer exists: peek the child\n // session's `conversation` projection through the sessions\n // binding. The child Agent is never activated.\n const face = sessions.binding(childSessionId as SessionId)?.session.projections.faceOf('conversation')\n if (face === undefined) return { text: '', error: 'child transcript projection unavailable' }\n const snapshot = face.getSnapshot() as unknown as { entries?: readonly TranscriptEntry[] }\n const events = snapshot.entries ?? (snapshot as unknown as readonly unknown[])\n return { text: extractResultText(events as unknown as Parameters[0]) }\n } catch (error) {\n return { text: '', error: error instanceof Error ? error.message : String(error) }\n }\n },\n }),\n }, BackgroundAgentsAction))\n\n // ── the Team Rooms settings page ───────────────────────────────────────────\n\n const controller = new TeamRoomsController(sessions)\n ctx.effect(() => controller.start(), 'dsh-background-agents: team rooms store')\n\n /** Execute one `/room` line against the current session; undefined on success. */\n const executeRoom = async (line: string): Promise => {\n const sessionId = controller.currentSessionId()\n if (sessionId === undefined) return 'no active session'\n try {\n const result = await remote.commands.execute(sessionId as SessionId, line, [])\n if (!result.ok) return `${result.error.code}: ${result.error.message}`\n if (result.value === undefined || result.value.result === undefined) return `unknown or malformed command: ${line}`\n return result.value.result.kind === 'error' ? result.value.result.text : undefined\n } catch (error) {\n return error instanceof Error ? error.message : String(error)\n }\n }\n\n const injected = (): TeamRoomsInjected => ({\n hooks: { teamRooms: controller },\n getSessionId: () => controller.currentSessionId(),\n create: name => executeRoom(`/room create ${name}`),\n join: roomId => executeRoom(`/room join ${roomId}`),\n leave: roomId => executeRoom(`/room leave ${roomId}`),\n post: (roomId, text) => executeRoom(`/room send ${roomId} ${text}`),\n addTask: (roomId, title) => executeRoom(`/room task add ${roomId} ${title}`),\n claimTask: (roomId, taskId) => executeRoom(`/room task claim ${roomId} ${taskId}`),\n completeTask: (roomId, taskId) => executeRoom(`/room task done ${roomId} ${taskId}`),\n assignTask: (roomId, taskId, member) => executeRoom(`/room task assign ${roomId} ${taskId} ${member}`),\n })\n\n slots.inject('settings.section', () => slots.register({\n name: 'settings.section',\n id: 'team-rooms',\n // After Models/Agent Presets: rooms are a collaboration surface, not a\n // deployment-shaping one.\n order: 30,\n label: () => ctx.locale.bind(ROOM_NS)('nav'),\n locale: ROOM_NS,\n inject: injected,\n }, TeamRoomsSection))\n}\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9],"mappings":"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"} \ No newline at end of file diff --git a/lib/index.js b/lib/index.js index 62bab71..5737cce 100644 --- a/lib/index.js +++ b/lib/index.js @@ -4121,7 +4121,8 @@ function sessionLastText(events, options = {}) { function childLastText(sessions, childId) { const session = sessions.get(childId); if (session === void 0) return ""; - return sessionLastText(typeof session.snapshotEvents === "function" ? session.snapshotEvents() : session.events); + if (typeof session.snapshotEvents !== "function") return ""; + return sessionLastText(session.snapshotEvents()); } /** Bound one line to the configured report cap with an explicit ellipsis. */ function boundLine(line, max) { @@ -4287,6 +4288,27 @@ function startIdleSweep(ctx, agents, config, lifecycle, facts) { * * @module dsh-background-agents/projection */ +/** +* Bridge one of this package's zod-v3 schemas into the registry's schema slot. +* +* The alpha.2 `@deepseek-ai/dsh-session-projection` types `stateSchema` and +* `wire.viewSchema` with the zod **v4** copy it depends on (`zod: ^4.4.3`), +* while this package builds its schemas with zod v3 (`dependencies.zod: +* ^3.24.0`); the two majors are not structurally assignable. The registry only +* ever calls `parse` on these schemas (verified in the published lib: +* `def.stateSchema.parse(row.val)` / `wire.viewSchema.parse(...)`), which both +* majors implement identically — so the cast is a deliberate, documented +* boundary bridge, not a hidden mismatch. +* @param schema - the zod-v3 schema built by this package. +* @returns the same schema, typed for the registry slot. +*/ +function asRegistryStateSchema$1(schema) { + return schema; +} +/** Bridge one zod-v3 schema into the registry's `wire.viewSchema` slot (see above). */ +function asRegistryViewSchema$1(schema) { + return schema; +} /** Concatenate the text blocks of one user-role message. */ function messageText(message) { return message.content.filter((block) => block.type === "text").map((block) => block.text).join(""); @@ -4348,7 +4370,7 @@ function factBase(at) { */ const backgroundAgentsProjectionDefinition = { key: "backgroundAgents", - stateSchema: import_zod.z.object({ entries: import_zod.z.array(backgroundAgentEntrySchema.extend({ source: import_zod.z.enum(["legacy", "event"]) }).strict()) }).strict(), + stateSchema: asRegistryStateSchema$1(import_zod.z.object({ entries: import_zod.z.array(backgroundAgentEntrySchema.extend({ source: import_zod.z.enum(["legacy", "event"]) }).strict()) }).strict()), init: () => ({ entries: [] }), apply(state, event) { switch (event.type) { @@ -4489,7 +4511,7 @@ const backgroundAgentsProjectionDefinition = { } }, wire: { - viewSchema: backgroundAgentsSchema, + viewSchema: asRegistryViewSchema$1(backgroundAgentsSchema), view: (state) => ({ agents: state.entries.map((entry) => { const { source: _source, ...wire } = entry; return wire; @@ -5037,7 +5059,7 @@ function registerBackgroundAgentTools(ctx, config, lifecycle, facts) { const fact = factsFor(ctx, parent).get(childId) ?? fallbackFact(childId); let events; const live = ctx.sessions.get(childId); - if (live !== void 0) events = typeof live.snapshotEvents === "function" ? live.snapshotEvents() : live.events; + if (live !== void 0 && typeof live.snapshotEvents === "function") events = live.snapshotEvents(); else { const persistence = ctx.get("sessionPersistence"); if (persistence !== void 0) { @@ -5049,7 +5071,7 @@ function registerBackgroundAgentTools(ctx, config, lifecycle, facts) { } } const reasoning = { used: false }; - const text = events === void 0 ? "" : sessionLastText(events, { + const text = events === void 0 ? "unavailable (no live session and no durable log read face on this host)" : sessionLastText(events, { allowReasoning: true, reasoning }); @@ -5843,6 +5865,21 @@ const teamRoomViewSchema = import_zod.z.object({ rooms: import_zod.z.array(roomV * @module dsh-background-agents/room/domain */ /** +* Bridge one of this package's zod-v3 record schemas into a domain-table slot. +* +* The alpha.2 `@deepseek-ai/dsh-storage-domain` types its table schema with the +* zod **v4** copy it depends on (`zod: ^4.4.3`), while this package builds its +* schemas with zod v3 (`dependencies.zod: ^3.24.0`); the two majors are not +* structurally assignable. The durable read boundary only calls `parse` on the +* schema, which both majors implement identically — the cast is a deliberate, +* documented boundary bridge, not a hidden mismatch. +* @param schema - the zod-v3 record schema built by this package. +* @returns the same schema, typed for the domain-table slot. +*/ +function asDomainTableSchema(schema) { + return schema; +} +/** * The domain spec: identity, format version, and the four declared tables. * The same schemas validate every record at the durable read boundary. */ @@ -5850,10 +5887,10 @@ const teamRoomsDomainSpec = defineDomain({ name: "team_rooms", version: 1, tables: { - rooms: domainTable(roomRecordSchema), - bus: domainTable(busMessageSchema), - tasks: domainTable(taskRecordSchema), - timeline: domainTable(timelineEventSchema) + rooms: domainTable(asDomainTableSchema(roomRecordSchema)), + bus: domainTable(asDomainTableSchema(busMessageSchema)), + tasks: domainTable(asDomainTableSchema(taskRecordSchema)), + timeline: domainTable(asDomainTableSchema(timelineEventSchema)) } }); //#endregion @@ -5985,6 +6022,20 @@ var RoomHub = class extends Service { await this.ready; return [...this.requireRooms().entries()].map(([, record]) => record).filter((record) => record.members.some((member) => member.sessionId === sessionId)); } + /** + * Whether one session is already a member of any opened room. Synchronous by + * design: the `agent/created` listener is a hot path that must return without + * awaiting anything (A1), so this reports `false` while the store has not + * opened yet instead of waiting for `ready`. + * @param sessionId - the session to look up. + * @returns true when an opened room already lists the session. + */ + hasMember(sessionId) { + const rooms = this.rooms; + if (rooms === void 0) return false; + for (const [, record] of rooms.entries()) if (this.memberOf(record, sessionId) !== void 0) return true; + return false; + } /** All rooms (used by the command surface for the roster). */ async allRooms() { await this.ready; @@ -7515,6 +7566,27 @@ function registerRoomTools(ctx, hub) { //#region src/room/projection.ts /** Hard fold bound: `done` tasks kept per room in the projection value. */ const DONE_TASK_FOLD_BOUND = 100; +/** +* Bridge one of this plugin's zod-v3 schemas into the registry's schema slot. +* +* The alpha.2 `@deepseek-ai/dsh-session-projection` types `stateSchema` and +* `wire.viewSchema` with the zod **v4** copy it depends on (`zod: ^4.4.3`), +* while this package builds its schemas with zod v3 (`dependencies.zod: +* ^3.24.0`); the two majors are not structurally assignable. The registry only +* ever calls `parse` on these schemas (verified in the published lib: +* `def.stateSchema.parse(row.val)` / `wire.viewSchema.parse(...)`), which both +* majors implement identically — so the cast is a deliberate, documented +* boundary bridge, not a hidden mismatch. +* @param schema - the zod-v3 schema built by this package. +* @returns the same schema, typed for the registry slot. +*/ +function asRegistryStateSchema(schema) { + return schema; +} +/** Bridge one zod-v3 schema into the registry's `wire.viewSchema` slot (see above). */ +function asRegistryViewSchema(schema) { + return schema; +} /** Upsert one room view without mutating the incoming state. */ function withRoom(state, roomId, patch) { if (!state.rooms.some((room) => room.roomId === roomId)) return state; @@ -7714,14 +7786,14 @@ function capDoneTasks(room) { /** The registered projection unit. */ const teamRoomProjectionDefinition = { key: "teamRoom", - stateSchema: teamRoomViewSchema, + stateSchema: asRegistryStateSchema(teamRoomViewSchema), init: () => ({ rooms: [] }), apply(state, event) { if (event.type !== "team-room/fact") return state; return applyFact(state, event); }, wire: { - viewSchema: teamRoomViewSchema, + viewSchema: asRegistryViewSchema(teamRoomViewSchema), view: (state) => ({ rooms: state.rooms.map(capDoneTasks) }) }, stateVersion: 1 @@ -7850,9 +7922,17 @@ function apply(ctx, config) { }); registerRoomTools(roomCtx, hub); roomCtx.effect(() => registerRoomCommand(roomCtx, hub) ?? (() => {}), "dsh-background-agents: /room command"); - roomCtx.on("agent/created", async ({ agent }) => { - await hub.catchUp(agent.id).catch((error) => { - roomCtx.logger("background-agents").warn(`room catch-up failed for ${agent.id}: ${String(error)}`); + roomCtx.on("agent/created", (payload) => { + const { agent, source, signal } = payload; + if (source === "clear" || source === "compact") return; + Promise.resolve().then(async () => { + try { + if (signal?.aborted === true) return; + if (!hub.hasMember(agent.id)) return; + await catchUpWithTimeout(hub, agent.id, signal); + } catch (error) { + roomCtx.logger("background-agents").warn(`room catch-up failed for ${agent.id}: ${String(error)}`); + } }); }); if (config.inbound?.enabled) { @@ -7908,6 +7988,49 @@ function apply(ctx, config) { }); } /** +* Independent short bound for one offline catch-up. Deliberately NOT +* `roomOpenTimeoutMs` (the `/room` command's 15 s patience): this runs off the +* `agent/created` dispatch, where a member's activation must not be held open +* by a slow store (A1). +*/ +const CATCH_UP_TIMEOUT_MS = 2e3; +/** +* Run one member catch-up under its own short timeout and the activation +* signal, so neither a stalled store nor an abort can hang the caller's +* microtask. The race's losing timer is cleared in `finally`. +* @param hub - the room hub that owns the catch-up. +* @param sessionId - the member session to catch up. +* @param signal - the `agent/created` activation signal, when supplied. +* @returns completion of the catch-up, its timeout, or its cancellation. +*/ +async function catchUpWithTimeout(hub, sessionId, signal) { + let handle; + const timeout = new Promise((_, reject) => { + handle = setTimeout(() => { + reject(/* @__PURE__ */ new Error(`room catch-up exceeded ${CATCH_UP_TIMEOUT_MS} ms`)); + }, CATCH_UP_TIMEOUT_MS); + }); + const cancelled = new Promise((_, reject) => { + if (signal === void 0) return; + if (signal.aborted) { + reject(/* @__PURE__ */ new Error("room catch-up cancelled")); + return; + } + signal.addEventListener("abort", () => { + reject(/* @__PURE__ */ new Error("room catch-up cancelled")); + }, { once: true }); + }); + try { + await Promise.race([ + hub.catchUp(sessionId), + timeout, + cancelled + ]); + } finally { + if (handle !== void 0) clearTimeout(handle); + } +} +/** * The room half of the inbound bridge: execute {@link deliveriesFor} against * the team room's task board and message bus. External runtimes are not DSH * sessions, so the room owner's member session stands in as the sender; a diff --git a/lib/types/client/index.d.ts.map b/lib/types/client/index.d.ts.map index a289210..01a63c0 100644 --- a/lib/types/client/index.d.ts.map +++ b/lib/types/client/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAMlD,OAAO,EAAc,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAOnE,OAAO,EAAuC,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAK1F,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,kBAAkB;QAC1B,mCAAmC;QACnC,mBAAmB,EAAE,mBAAmB,CAAA;QACxC,qCAAqC;QACrC,SAAS,EAAE,YAAY,CAAA;KACxB;CACF;AAED,YAAY,EACV,2BAA2B,EAAE,wBAAwB,GACtD,MAAM,8BAA8B,CAAA;AACrC,YAAY,EACV,iBAAiB,EAAE,qBAAqB,GACzC,MAAM,wBAAwB,CAAA;AAE/B;;;;GAIG;AACH,eAAO,MAAM,MAAM,UAA6E,CAAA;AAiJhG;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA8HxC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAMlD,OAAO,EAAc,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAOnE,OAAO,EAAuC,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAK1F,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,kBAAkB;QAC1B,mCAAmC;QACnC,mBAAmB,EAAE,mBAAmB,CAAA;QACxC,qCAAqC;QACrC,SAAS,EAAE,YAAY,CAAA;KACxB;CACF;AAED,YAAY,EACV,2BAA2B,EAAE,wBAAwB,GACtD,MAAM,8BAA8B,CAAA;AACrC,YAAY,EACV,iBAAiB,EAAE,qBAAqB,GACzC,MAAM,wBAAwB,CAAA;AAE/B;;;;GAIG;AACH,eAAO,MAAM,MAAM,UAA6E,CAAA;AAmLhG;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA2IxC"} \ No newline at end of file diff --git a/lib/types/index.d.ts.map b/lib/types/index.d.ts.map index 061563f..fa19b52 100644 --- a/lib/types/index.d.ts.map +++ b/lib/types/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAgB7C,eAAO,MAAM,IAAI,sBAAsB,CAAA;AAKvC,yGAAyG;AACzG,eAAO,MAAM,MAAM,UAA+C,CAAA;AAElE;;;;;GAKG;AAGH,MAAM,WAAW,MAAM;IACrB,yFAAyF;IACzF,QAAQ,EAAE,MAAM,CAAA;IAChB,kFAAkF;IAClF,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gEAAgE;IAChE,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,oBAAoB;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IACnC,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oCAAoC;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,qCAAqC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,wEAAwE;IACxE,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;;;;;OAQG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,qEAAqE;IACrE,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB;AAED,kDAAkD;AAClD,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;CAuBX,CAAA;AAEV,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,CAsChC,CAAA;AAEF;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAkLxD"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAgB7C,eAAO,MAAM,IAAI,sBAAsB,CAAA;AAKvC,yGAAyG;AACzG,eAAO,MAAM,MAAM,UAA+C,CAAA;AAElE;;;;;GAKG;AAGH,MAAM,WAAW,MAAM;IACrB,yFAAyF;IACzF,QAAQ,EAAE,MAAM,CAAA;IAChB,kFAAkF;IAClF,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gEAAgE;IAChE,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,oBAAoB;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IACnC,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oCAAoC;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,qCAAqC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,wEAAwE;IACxE,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;;;;;OAQG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,qEAAqE;IACrE,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB;AAED,kDAAkD;AAClD,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;CAuBX,CAAA;AAEV,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,CAsChC,CAAA;AAEF;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAuMxD"} \ No newline at end of file diff --git a/lib/types/lifecycle.d.ts.map b/lib/types/lifecycle.d.ts.map index 9448550..1ee5ff4 100644 --- a/lib/types/lifecycle.d.ts.map +++ b/lib/types/lifecycle.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/lifecycle.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/lifecycle.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/types/projection.d.ts b/lib/types/projection.d.ts index 4867c5b..8766943 100644 --- a/lib/types/projection.d.ts +++ b/lib/types/projection.d.ts @@ -41,72 +41,7 @@ export declare const backgroundAgentsProjectionDefinition: { init: () => State; apply(state: State, event: SessionEvent): State; wire: { - viewSchema: z.ZodObject<{ - agents: z.ZodArray; - messageCount: z.ZodNumber; - lastMessage: z.ZodOptional; - createdAt: z.ZodNumber; - lastActiveAt: z.ZodNumber; - archivedAt: z.ZodOptional; - stopRequestedAt: z.ZodOptional; - metrics: z.ZodOptional; - outputTokens: z.ZodNullable; - errorCount: z.ZodNumber; - }, "strict", z.ZodTypeAny, { - inputTokens: number | null; - outputTokens: number | null; - turnCount: number; - totalDurationMs: number; - errorCount: number; - }, { - inputTokens: number | null; - outputTokens: number | null; - turnCount: number; - totalDurationMs: number; - errorCount: number; - }>>; - }, "strict", z.ZodTypeAny, { - agentId: string; - label: string; - activity: "archived" | "running" | "inactive"; - messageCount: number; - createdAt: number; - lastActiveAt: number; - metrics?: { - inputTokens: number | null; - outputTokens: number | null; - turnCount: number; - totalDurationMs: number; - errorCount: number; - } | undefined; - lastMessage?: string | undefined; - archivedAt?: number | undefined; - stopRequestedAt?: number | undefined; - }, { - agentId: string; - label: string; - activity: "archived" | "running" | "inactive"; - messageCount: number; - createdAt: number; - lastActiveAt: number; - metrics?: { - inputTokens: number | null; - outputTokens: number | null; - turnCount: number; - totalDurationMs: number; - errorCount: number; - } | undefined; - lastMessage?: string | undefined; - archivedAt?: number | undefined; - stopRequestedAt?: number | undefined; - }>, "many">; - }, "strict", z.ZodTypeAny, { + viewSchema: z.ZodType<{ agents: { agentId: string; label: string; @@ -125,7 +60,7 @@ export declare const backgroundAgentsProjectionDefinition: { archivedAt?: number | undefined; stopRequestedAt?: number | undefined; }[]; - }, { + }, z.ZodTypeDef, { agents: { agentId: string; label: string; diff --git a/lib/types/projection.d.ts.map b/lib/types/projection.d.ts.map index 922bb99..d711e8a 100644 --- a/lib/types/projection.d.ts.map +++ b/lib/types/projection.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../src/projection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,0BAA0B,CAAA;AAEzE,OAAO,EAC+C,KAAK,oBAAoB,EAA+B,KAAK,0BAA0B,EAC5I,MAAM,wBAAwB,CAAA;AAI/B;;;;;;;;GAQG;AACH,UAAU,KAAK;IACb,OAAO,EAAE,UAAU,EAAE,CAAA;CACtB;AAED,gDAAgD;AAChD,UAAU,UAAW,SAAQ,oBAAoB;IAC/C,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAA;CACpC;AAoGD;;;;GAIG;AACH,eAAO,MAAM,oCAAoC;;;gBAGrC,KAAK;iBACF,KAAK,SAAS,YAAY,GAAG,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCAiK9B,0BAA0B;;;CAWc,CAAA;AAE3D,OAAO,QAAQ,2CAA2C,CAAC;IACzD,UAAU,yBAAyB;QACjC,+DAA+D;QAC/D,gBAAgB,EAAE,KAAK,CAAA;KACxB;IACD,UAAU,oBAAoB;QAC5B,0EAA0E;QAC1E,gBAAgB,EAAE,0BAA0B,CAAA;KAC7C;CACF"} \ No newline at end of file +{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../src/projection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,0BAA0B,CAAA;AAEzE,OAAO,EAC+C,KAAK,oBAAoB,EAA+B,KAAK,0BAA0B,EAC5I,MAAM,wBAAwB,CAAA;AAgC/B;;;;;;;;GAQG;AACH,UAAU,KAAK;IACb,OAAO,EAAE,UAAU,EAAE,CAAA;CACtB;AAED,gDAAgD;AAChD,UAAU,UAAW,SAAQ,oBAAoB;IAC/C,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAA;CACpC;AAoGD;;;;GAIG;AACH,eAAO,MAAM,oCAAoC;;;gBAGrC,KAAK;iBACF,KAAK,SAAS,YAAY,GAAG,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCAiK9B,0BAA0B;;;CAWc,CAAA;AAE3D,OAAO,QAAQ,2CAA2C,CAAC;IACzD,UAAU,yBAAyB;QACjC,+DAA+D;QAC/D,gBAAgB,EAAE,KAAK,CAAA;KACxB;IACD,UAAU,oBAAoB;QAC5B,0EAA0E;QAC1E,gBAAgB,EAAE,0BAA0B,CAAA;KAC7C;CACF"} \ No newline at end of file diff --git a/lib/types/room/domain.d.ts.map b/lib/types/room/domain.d.ts.map index abb3a02..3de5f9c 100644 --- a/lib/types/room/domain.d.ts.map +++ b/lib/types/room/domain.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../src/room/domain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,qFAAqF;AACrF,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAA;CAAE,CAAA;AAC7D,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,CAAA;AAEjE;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAS9B,CAAA"} \ No newline at end of file +{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../src/room/domain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,qFAAqF;AACrF,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAA;CAAE,CAAA;AAC7D,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,CAAA;AAkBjE;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAS9B,CAAA"} \ No newline at end of file diff --git a/lib/types/room/hub.d.ts b/lib/types/room/hub.d.ts index 4a146ca..99432e3 100644 --- a/lib/types/room/hub.d.ts +++ b/lib/types/room/hub.d.ts @@ -113,6 +113,15 @@ export declare class RoomHub extends Service { room(roomId: string): Promise; /** Every room one session is a member of, in creation order. */ roomsOfMember(sessionId: SessionId): Promise; + /** + * Whether one session is already a member of any opened room. Synchronous by + * design: the `agent/created` listener is a hot path that must return without + * awaiting anything (A1), so this reports `false` while the store has not + * opened yet instead of waiting for `ready`. + * @param sessionId - the session to look up. + * @returns true when an opened room already lists the session. + */ + hasMember(sessionId: SessionId): boolean; /** All rooms (used by the command surface for the roster). */ allRooms(): Promise; /** Bus messages of one room with seq > since, in seq order. */ diff --git a/lib/types/room/hub.d.ts.map b/lib/types/room/hub.d.ts.map index c2b496c..fd9f5f3 100644 --- a/lib/types/room/hub.d.ts.map +++ b/lib/types/room/hub.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"hub.d.ts","sourceRoot":"","sources":["../../../src/room/hub.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"hub.d.ts","sourceRoot":"","sources":["../../../src/room/hub.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/types/room/projection.d.ts b/lib/types/room/projection.d.ts index f29397a..a169fc2 100644 --- a/lib/types/room/projection.d.ts +++ b/lib/types/room/projection.d.ts @@ -17,303 +17,11 @@ interface State { /** The registered projection unit. */ export declare const teamRoomProjectionDefinition: { key: "teamRoom"; - stateSchema: import("zod").ZodObject<{ - rooms: import("zod").ZodArray; - joinedAt: import("zod").ZodNumber; - }, "strict", import("zod").ZodTypeAny, { - role: "owner" | "member"; - sessionId: string; - joinedAt: number; - }, { - role: "owner" | "member"; - sessionId: string; - joinedAt: number; - }>, "many">; - tasks: import("zod").ZodArray; - assigneeSessionId: import("zod").ZodNullable; - createdBy: import("zod").ZodString; - createdAt: import("zod").ZodNumber; - updatedAt: import("zod").ZodNumber; - }, "strict", import("zod").ZodTypeAny, { - status: "todo" | "in-progress" | "done"; - title: string; - createdAt: number; - taskId: string; - description: string; - assigneeSessionId: string | null; - createdBy: string; - updatedAt: number; - }, { - status: "todo" | "in-progress" | "done"; - title: string; - createdAt: number; - taskId: string; - description: string; - assigneeSessionId: string | null; - createdBy: string; - updatedAt: number; - }>, "many">; - timeline: import("zod").ZodArray; - at: import("zod").ZodNumber; - data: import("zod").ZodRecord; - }, "strict", import("zod").ZodTypeAny, { - at: number; - data: Record; - kind: "room-created" | "member-joined" | "member-left" | "message-posted" | "message-directed" | "task-created" | "task-claimed" | "task-assigned" | "task-completed"; - roomId: string; - seq: number; - }, { - at: number; - data: Record; - kind: "room-created" | "member-joined" | "member-left" | "message-posted" | "message-directed" | "task-created" | "task-claimed" | "task-assigned" | "task-completed"; - roomId: string; - seq: number; - }>, "many">; - }, "strict", import("zod").ZodTypeAny, { - name: string; - createdAt: number; - roomId: string; - members: { - role: "owner" | "member"; - sessionId: string; - joinedAt: number; - }[]; - tasks: { - status: "todo" | "in-progress" | "done"; - title: string; - createdAt: number; - taskId: string; - description: string; - assigneeSessionId: string | null; - createdBy: string; - updatedAt: number; - }[]; - timeline: { - at: number; - data: Record; - kind: "room-created" | "member-joined" | "member-left" | "message-posted" | "message-directed" | "task-created" | "task-claimed" | "task-assigned" | "task-completed"; - roomId: string; - seq: number; - }[]; - }, { - name: string; - createdAt: number; - roomId: string; - members: { - role: "owner" | "member"; - sessionId: string; - joinedAt: number; - }[]; - tasks: { - status: "todo" | "in-progress" | "done"; - title: string; - createdAt: number; - taskId: string; - description: string; - assigneeSessionId: string | null; - createdBy: string; - updatedAt: number; - }[]; - timeline: { - at: number; - data: Record; - kind: "room-created" | "member-joined" | "member-left" | "message-posted" | "message-directed" | "task-created" | "task-claimed" | "task-assigned" | "task-completed"; - roomId: string; - seq: number; - }[]; - }>, "many">; - }, "strict", import("zod").ZodTypeAny, { - rooms: { - name: string; - createdAt: number; - roomId: string; - members: { - role: "owner" | "member"; - sessionId: string; - joinedAt: number; - }[]; - tasks: { - status: "todo" | "in-progress" | "done"; - title: string; - createdAt: number; - taskId: string; - description: string; - assigneeSessionId: string | null; - createdBy: string; - updatedAt: number; - }[]; - timeline: { - at: number; - data: Record; - kind: "room-created" | "member-joined" | "member-left" | "message-posted" | "message-directed" | "task-created" | "task-claimed" | "task-assigned" | "task-completed"; - roomId: string; - seq: number; - }[]; - }[]; - }, { - rooms: { - name: string; - createdAt: number; - roomId: string; - members: { - role: "owner" | "member"; - sessionId: string; - joinedAt: number; - }[]; - tasks: { - status: "todo" | "in-progress" | "done"; - title: string; - createdAt: number; - taskId: string; - description: string; - assigneeSessionId: string | null; - createdBy: string; - updatedAt: number; - }[]; - timeline: { - at: number; - data: Record; - kind: "room-created" | "member-joined" | "member-left" | "message-posted" | "message-directed" | "task-created" | "task-claimed" | "task-assigned" | "task-completed"; - roomId: string; - seq: number; - }[]; - }[]; - }>; + stateSchema: import("zod").ZodType; init: () => State; apply(state: State, event: SessionEvent): State; wire: { - viewSchema: import("zod").ZodObject<{ - rooms: import("zod").ZodArray; - joinedAt: import("zod").ZodNumber; - }, "strict", import("zod").ZodTypeAny, { - role: "owner" | "member"; - sessionId: string; - joinedAt: number; - }, { - role: "owner" | "member"; - sessionId: string; - joinedAt: number; - }>, "many">; - tasks: import("zod").ZodArray; - assigneeSessionId: import("zod").ZodNullable; - createdBy: import("zod").ZodString; - createdAt: import("zod").ZodNumber; - updatedAt: import("zod").ZodNumber; - }, "strict", import("zod").ZodTypeAny, { - status: "todo" | "in-progress" | "done"; - title: string; - createdAt: number; - taskId: string; - description: string; - assigneeSessionId: string | null; - createdBy: string; - updatedAt: number; - }, { - status: "todo" | "in-progress" | "done"; - title: string; - createdAt: number; - taskId: string; - description: string; - assigneeSessionId: string | null; - createdBy: string; - updatedAt: number; - }>, "many">; - timeline: import("zod").ZodArray; - at: import("zod").ZodNumber; - data: import("zod").ZodRecord; - }, "strict", import("zod").ZodTypeAny, { - at: number; - data: Record; - kind: "room-created" | "member-joined" | "member-left" | "message-posted" | "message-directed" | "task-created" | "task-claimed" | "task-assigned" | "task-completed"; - roomId: string; - seq: number; - }, { - at: number; - data: Record; - kind: "room-created" | "member-joined" | "member-left" | "message-posted" | "message-directed" | "task-created" | "task-claimed" | "task-assigned" | "task-completed"; - roomId: string; - seq: number; - }>, "many">; - }, "strict", import("zod").ZodTypeAny, { - name: string; - createdAt: number; - roomId: string; - members: { - role: "owner" | "member"; - sessionId: string; - joinedAt: number; - }[]; - tasks: { - status: "todo" | "in-progress" | "done"; - title: string; - createdAt: number; - taskId: string; - description: string; - assigneeSessionId: string | null; - createdBy: string; - updatedAt: number; - }[]; - timeline: { - at: number; - data: Record; - kind: "room-created" | "member-joined" | "member-left" | "message-posted" | "message-directed" | "task-created" | "task-claimed" | "task-assigned" | "task-completed"; - roomId: string; - seq: number; - }[]; - }, { - name: string; - createdAt: number; - roomId: string; - members: { - role: "owner" | "member"; - sessionId: string; - joinedAt: number; - }[]; - tasks: { - status: "todo" | "in-progress" | "done"; - title: string; - createdAt: number; - taskId: string; - description: string; - assigneeSessionId: string | null; - createdBy: string; - updatedAt: number; - }[]; - timeline: { - at: number; - data: Record; - kind: "room-created" | "member-joined" | "member-left" | "message-posted" | "message-directed" | "task-created" | "task-claimed" | "task-assigned" | "task-completed"; - roomId: string; - seq: number; - }[]; - }>, "many">; - }, "strict", import("zod").ZodTypeAny, { + viewSchema: import("zod").ZodType<{ rooms: { name: string; createdAt: number; @@ -341,7 +49,7 @@ export declare const teamRoomProjectionDefinition: { seq: number; }[]; }[]; - }, { + }, import("zod").ZodTypeDef, { rooms: { name: string; createdAt: number; diff --git a/lib/types/room/projection.d.ts.map b/lib/types/room/projection.d.ts.map index a26ae86..c5462ae 100644 --- a/lib/types/room/projection.d.ts.map +++ b/lib/types/room/projection.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../../src/room/projection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EACe,KAAK,QAAQ,EAAE,KAAK,YAAY,EAErD,MAAM,aAAa,CAAA;AAQpB,qFAAqF;AACrF,UAAU,KAAK;IACb,KAAK,EAAE,QAAQ,EAAE,CAAA;CAClB;AAkND,sCAAsC;AACtC,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAK7B,KAAK;iBACF,KAAK,SAAS,YAAY,GAAG,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCAM9B,YAAY;;;CAKoB,CAAA;AAEnD,OAAO,QAAQ,2CAA2C,CAAC;IACzD,UAAU,yBAAyB;QACjC,+CAA+C;QAC/C,QAAQ,EAAE,KAAK,CAAA;KAChB;IACD,UAAU,oBAAoB;QAC5B,mEAAmE;QACnE,QAAQ,EAAE,YAAY,CAAA;KACvB;CACF"} \ No newline at end of file +{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../../src/room/projection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EACe,KAAK,QAAQ,EAAE,KAAK,YAAY,EAErD,MAAM,aAAa,CAAA;AAoCpB,qFAAqF;AACrF,UAAU,KAAK;IACb,KAAK,EAAE,QAAQ,EAAE,CAAA;CAClB;AAkND,sCAAsC;AACtC,eAAO,MAAM,4BAA4B;;;gBAK7B,KAAK;iBACF,KAAK,SAAS,YAAY,GAAG,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCAM9B,YAAY;;;CAKoB,CAAA;AAEnD,OAAO,QAAQ,2CAA2C,CAAC;IACzD,UAAU,yBAAyB;QACjC,+CAA+C;QAC/C,QAAQ,EAAE,KAAK,CAAA;KAChB;IACD,UAAU,oBAAoB;QAC5B,mEAAmE;QACnE,QAAQ,EAAE,YAAY,CAAA;KACvB;CACF"} \ No newline at end of file diff --git a/lib/types/tools.d.ts.map b/lib/types/tools.d.ts.map index 6f06089..4b81c0e 100644 --- a/lib/types/tools.d.ts.map +++ b/lib/types/tools.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/tools.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/tools.ts"],"names":[],"mappings":"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"} \ No newline at end of file From 80fe01face24a6125f86465f5001267d167b4218 Mon Sep 17 00:00:00 2001 From: PerryLink Date: Fri, 18 Sep 2026 22:21:00 +0800 Subject: [PATCH 11/12] docs: record the alpha.2 adaptation and the G2 caveats (G-8) --- CHANGELOG.md | 15 +++++++++++++++ README-es.md | 1 + README-hi.md | 1 + README-pt.md | 1 + README-zh.md | 1 + README.md | 1 + 6 files changed, 20 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c8bbe9..fcfc886 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,21 @@ All notable changes to `dsh-background-agents` are documented here. The repo is ### Changed - Move the room catch-up listener from the removed `agent/session-start` event to `agent/created` (the 0.1.6-alpha.1 checkout renamed the lifecycle event and added `source` to its payload). +- **The `agent/created` catch-up listener is now strictly synchronous and filtered (A1).** It returns `undefined` on every path, filters the four `SessionStartSource` values (`clear`/`compact` skip entirely), runs its real work on a microtask under a single try/catch, honours the payload's activation signal, and bounds the catch-up with its own 2 s timeout instead of inheriting `roomOpenTimeoutMs`. A slow or stuck room store can no longer serialize Agent creation. Three regression locks pin the contract (`tests/agent-created-listener.spec.ts`). +- **Client-side subagent navigation is reported instead of failing silently (CS1).** `0.1.6-alpha.2` removed the `ISessions` subagent-navigation call and states that navigation belongs to the view owners (`ui-subagent` owns the session-header lineage seat and supplies `openChild(address)` to its own renderer). This plugin has no sanctioned navigation entry on that line, so the action now logs one explicit warning and returns a user-visible explanation — previously the removed method threw into a `catch` and surfaced as an unexplained failure. +- **The panel's current session now derives from main-view retention (B5).** The removed `SessionListState.current` scalar is replaced by `retainInfo(id).retainedBy.mainView`, with per-catalog-id subscriptions so a navigation refreshes the panel; without a current session the panel keeps its explicit empty state as before. +- **An unreadable child log is reported as `unavailable` instead of as empty text (A2)**, and the pre-0.1.2 `.events` read fallback is gone from both read sites — the supported read face is `snapshotEvents()`. +- Bridge the package's zod-v3 schemas into the alpha.2 registry and domain-table slots. `@deepseek-ai/dsh-session-projection` and `@deepseek-ai/dsh-storage-domain` type their schema slots with the zod **v4** copy they depend on, which is not structurally assignable to this package's zod v3 schemas; the registry only calls `parse` on them, so the boundary is bridged explicitly and documented at each site. +- `dsh.manifestVersion: 1` and the canonical three-clause `engines.dsh`; the dev/test line is pinned to `0.1.6-alpha.2`. + +### Fixed + +- The published-line ruler (`typecheck:ci`) again proves something: it now covers the shipped `src` surface against the published packages (it previously included `tests`, which need checkout-only packages that are not published dependencies), and `tsconfig.paths.json`/`vitest.aliases.mjs` were regenerated against the checkout (dead `code-runtime`/`e2b` aliases and friends dropped). + +### Notes + +- Session-log audit for the room/agent fact channel remains **off** on this line (see the README support matrix): the non-surface `background-agents/*` event cannot carry the `ignorable` marker, so the durable domain tables stay the record of authority. +- Browser-visible behavior of the subagent navigation fix and the room panel is **not yet verified on a real machine** (no browser in this environment): the release note must not claim it until the manual checklist in the batch handoff is signed off. ## [0.9.7] - 2026-09-12 diff --git a/README-es.md b/README-es.md index 0206921..8aa2561 100644 --- a/README-es.md +++ b/README-es.md @@ -31,6 +31,7 @@ Los hosts `0.1.2-alpha.2` y posteriores fallan en cerrado ante el vocabulario de 0.1.5-alpha.1 (adaptado el 2026-09-09): `SessionHandleReadResult` ahora devuelve `{ eventState, events }`, así que la lectura fría de bg_result desestructura `.events` del seam de handle (el fallback `load()` de la línea publicada no cambia). El pin de CI del harness pasa al commit público del tag `5dda764ed3aa` (el checkout local está 13 commits de infra por delante e inalcanzable desde CI) y las sondas de compatibilidad instalan la línea alpha. Los peers se amplían a `>=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0` (regla prerelease-tuple: el primer brazo por sí solo no coincide con `0.1.5-alpha.1`) y los devDeps fijan `0.1.5-alpha.1`. Verificado el 2026-09-09 contra `dsh-v0.1.5-alpha.1` (cadena completa de gates). La afirmación anterior de `0.1.3-alpha.1` queda obsoleta: esa versión preliminar cae fuera de ambos brazos de peers. 0.1.5-rc.1 (adaptado el 2026-09-10): los pines de dependencias pasan a la línea publicada 0.1.5-rc.1; ningún cambio de seam afecta el comportamiento de este plugin. 0.1.5-rc.2 (adaptado el 2026-09-11): los pines de dependencias pasan a la línea publicada 0.1.5-rc.2; ningún cambio de seam afecta el comportamiento de este plugin. +0.1.6-alpha.2 (adaptado el 2026-09-18): el servicio de sesiones del cliente eliminó su llamada de navegación a subagentes, así que la acción ahora informa que la navegación pertenece a la cabecera de sesión (el asiento de linaje de `ui-subagent`) en lugar de fallar en silencio; el panel de salas deriva su sesión actual de la retención de la vista principal (`retainedBy.mainView`) porque `SessionListState.current` ya no existe. El listener de puesta al día de `agent/created` devuelve de forma síncrona bajo su propio límite de 2 s, y un log de hijo ilegible informa `unavailable` en vez de texto vacío. Las métricas del dashboard alimentadas por el canal de hechos del log de sesión siguen **no disponibles** en esta línea (un hecho no superficial todavía no puede llevar la marca de omisión): las tablas durables de salas y el valor de proyección del panel son el registro. Verificado el 2026-09-18 (ambos typecheck + la suite completa); la mitad visible en el navegador **no** está verificada en máquina todavía. | Superficie | Estado | |---|---| diff --git a/README-hi.md b/README-hi.md index 7402366..6e70884 100644 --- a/README-hi.md +++ b/README-hi.md @@ -31,6 +31,7 @@ 0.1.5-alpha.1 (2026-09-09 को अनुकूलित): `SessionHandleReadResult` अब `{ eventState, events }` लौटाता है, इसलिए bg_result की कोल्ड रीड हैंडल सीम से `.events` डीस्ट्रक्चर करती है (प्रकाशित लाइन का `load()` फ़ॉलबैक अपरिवर्तित है)। CI हार्नेस पिन सार्वजनिक tag commit `5dda764ed3aa` पर चला जाता है (स्थानीय checkout 13 infra commits आगे है और CI से पहुँच से बाहर) और compat जाँचें alpha लाइन इंस्टॉल करती हैं। peers को `>=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0` तक बढ़ाया गया (prerelease-tuple नियम: अकेला पहला ब्राज़ `0.1.5-alpha.1` से मेल नहीं खाता) और devDeps `0.1.5-alpha.1` पर पिन हैं। 2026-09-09 को `dsh-v0.1.5-alpha.1` के विरुद्ध सत्यापित (पूर्ण गेट श्रृंखला)। पहले का `0.1.3-alpha.1` दावा अब अप्रचलित है: वह प्रीरिलीज़ दोनों peer ब्राज़ों से बाहर है। 0.1.5-rc.1 (2026-09-10 को अनुकूलित): निर्भरता पिन प्रकाशित 0.1.5-rc.1 लाइन पर चले जाते हैं; कोई seam परिवर्तन इस प्लगइन के व्यवहार को प्रभावित नहीं करता। 0.1.5-rc.2 (2026-09-11 को अनुकूलित): निर्भरता पिन प्रकाशित 0.1.5-rc.2 लाइन पर चले जाते हैं; कोई seam परिवर्तन इस प्लगइन के व्यवहार को प्रभावित नहीं करता। +0.1.6-alpha.2 (2026-09-18 को अनुकूलित): क्लाइंट सेशन सेवा ने अपना सबएजेंट-नेविगेशन कॉल हटा दिया, इसलिए यह क्रिया अब स्पष्ट रूप से बताती है कि नेविगेशन सेशन हेडर के स्वामित्व में है (`ui-subagent` की lineage सीट), चुपचाप विफल होने के बजाय; रूम पैनल अपना वर्तमान सेशन मुख्य-व्यू retention (`retainedBy.mainView`) से निकालता है क्योंकि `SessionListState.current` अब नहीं है। `agent/created` कैच-अप लिसनर अपनी 2 सेकंड सीमा के भीतर समकालिक रूप से लौटता है, और अपठनीय चाइल्ड लॉग खाली टेक्स्ट के बजाय `unavailable` बताता है। सेशन-लॉग फ़ैक्ट चैनल से मिलने वाले dashboard मेट्रिक्स इस लाइन पर **अनुपलब्ध** रहते हैं (गैर-सरफ़ेस फ़ैक्ट इवेंट पर अब भी ignore मार्कर नहीं लग सकता) — टिकाऊ रूम टेबल और पैनल का प्रोजेक्शन मान ही रिकॉर्ड हैं। 2026-09-18 को सत्यापित (दोनों typecheck + पूरी टेस्ट सूट); ब्राउज़र-दृश्य आधा भाग अभी **मशीन-सत्यापित नहीं** है। | सतह | स्थिति | |---|---| diff --git a/README-pt.md b/README-pt.md index 84d453f..1563e5e 100644 --- a/README-pt.md +++ b/README-pt.md @@ -31,6 +31,7 @@ Hosts `0.1.2-alpha.2` e posteriores falham de forma fechada no vocabulário de e 0.1.5-alpha.1 (adaptado em 2026-09-09): `SessionHandleReadResult` agora retorna `{ eventState, events }`, então a leitura fria do bg_result desestrutura `.events` do seam de handle (o fallback `load()` da linha publicada não muda). O pin de CI do harness passa para o commit público da tag `5dda764ed3aa` (o checkout local está 13 commits de infra à frente e inalcançável pela CI) e as sondas de compatibilidade instalam a linha alpha. Os peers são ampliados para `>=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0` (regra prerelease-tuple: o primeiro braço sozinho não corresponde a `0.1.5-alpha.1`) e os devDeps fixam `0.1.5-alpha.1`. Verificado em 2026-09-09 contra `dsh-v0.1.5-alpha.1` (cadeia completa de gates). A afirmação anterior de `0.1.3-alpha.1` fica obsoleta: essa versão preliminar cai fora dos dois braços de peers. 0.1.5-rc.1 (adaptado em 2026-09-10): os pins de dependências passam para a linha publicada 0.1.5-rc.1; nenhuma mudança de seam afeta o comportamento deste plugin. 0.1.5-rc.2 (adaptado em 2026-09-11): os pins de dependências passam para a linha publicada 0.1.5-rc.2; nenhuma mudança de seam afeta o comportamento deste plugin. +0.1.6-alpha.2 (adaptado em 2026-09-18): o serviço de sessões do cliente removeu sua chamada de navegação para subagentes, então a ação agora informa que a navegação pertence ao cabeçalho da sessão (o assento de linhagem do `ui-subagent`) em vez de falhar em silêncio; o painel de salas deriva sua sessão atual da retenção da visão principal (`retainedBy.mainView`) porque `SessionListState.current` não existe mais. O listener de recuperação de `agent/created` retorna de forma síncrona sob seu próprio limite de 2 s, e um log de filho ilegível informa `unavailable` em vez de texto vazio. As métricas do dashboard alimentadas pelo canal de fatos do log de sessão continuam **indisponíveis** nesta linha (um fato não superficial ainda não pode receber a marca de omissão): as tabelas duráveis de salas e o valor de projeção do painel são o registro. Verificado em 2026-09-18 (ambos typechecks + a suíte completa); a metade visível no navegador **não** está verificada em máquina ainda. | Superfície | Status | |---|---| diff --git a/README-zh.md b/README-zh.md index f6ba5b2..509cb3e 100644 --- a/README-zh.md +++ b/README-zh.md @@ -31,6 +31,7 @@ 0.1.5-alpha.1(2026-09-09 已适配):`SessionHandleReadResult` 现返回 `{ eventState, events }`,因此 bg_result 冷读的句柄 seam 解构 `.events`(已发布线的 `load()` 回退臂不变)。CI 宿主钉号移至公开 tag commit `5dda764ed3aa`(本地 checkout 领先 13 个 infra commit,公开 CI 拉不到),compat 探针改装 alpha 线。peer 范围放宽为 `>=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0`(prerelease-tuple 规则:单臂不匹配 `0.1.5-alpha.1`),devDeps 钉 `0.1.5-alpha.1`。2026-09-09 已对照 `dsh-v0.1.5-alpha.1` 核验(全门禁链)。此前的 `0.1.3-alpha.1` 宣称已作废:该预发布版本落在两条 peer 臂之外。 0.1.5-rc.1(2026-09-10 已适配):依赖钉号移至已发布的 0.1.5-rc.1 线;无 seam 变更影响本插件行为。 0.1.5-rc.2(2026-09-11 已适配):依赖钉号移至已发布的 0.1.5-rc.2 线;无 seam 变更影响本插件行为。 +0.1.6-alpha.2(2026-09-18 已适配):客户端会话服务移除了子代理导航调用,因此该动作现改为明确报告「导航归会话头部所有」(`ui-subagent` 的 lineage 座位),不再静默失败;房间面板的当前会话改由主视图保留计数推导(`retainedBy.mainView`),因为 `SessionListState.current` 已删除。`agent/created` 追赶监听器在自有 2 秒上限内同步返回,不可读的子会话日志改报 `unavailable` 而非空文本。本线上由会话日志事实通道供给的 dashboard 指标**仍不可用**(非表面事实事件仍无法盖上忽略标记)——持久房间表与面板投影值才是记录。2026-09-18 已核验(两把 typecheck 尺子 + 全量测试);浏览器可见部分**尚未**实机验证。 | 方面 | 状态 | |---|---| diff --git a/README.md b/README.md index b063791..1b68d31 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,7 @@ Host `0.1.2-alpha.2` and later fails closed on the session event vocabulary, so 0.1.5-alpha.1 (adapted 2026-09-09): `SessionHandleReadResult` now returns `{ eventState, events }`, so the cold `bg_result` read destructures `.events` from the handle seam (the published `load()` fallback is unchanged). The CI harness pin moves to the public tag commit `5dda764ed3aa` (the local checkout is 13 infra commits ahead and unreachable from CI) and the compat probes install the alpha line. Peers widen to `>=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0` (prerelease-tuple rule: the first arm alone does not match `0.1.5-alpha.1`) and devDeps pin `0.1.5-alpha.1`. Verified 2026-09-09 against `dsh-v0.1.5-alpha.1` (full gate chain). The earlier `0.1.3-alpha.1` claim is superseded: that prerelease falls outside both peer arms. 0.1.5-rc.1 (adapted 2026-09-10): dependency pins move to the published 0.1.5-rc.1 line; no seam change affects this plugin's behavior. 0.1.5-rc.2 (adapted 2026-09-11): dependency pins move to the published 0.1.5-rc.2 line; no seam change affects this plugin's behavior. +0.1.6-alpha.2 (adapted 2026-09-18): the client session service removed its subagent-navigation call, so the action now reports that navigation is owned by the session header (`ui-subagent`'s lineage seat) instead of failing silently; the room panel derives its current session from main-view retention (`retainedBy.mainView`) because `SessionListState.current` is gone. The `agent/created` catch-up listener returns synchronously under its own 2 s bound, and an unreadable child log reports `unavailable` instead of empty text. Dashboard metrics fed by the session-log fact channel remain **unavailable** on this line (a non-surface fact event still cannot be stamped with the ignore marker) — the durable room tables and the panel's projection value are the record. Verified 2026-09-18 (both typecheck rulers + the full test suite); the browser-visible half is **not** machine-verified yet. | Surface | Status | |---|---| From c6bbc94ccc02dfc622f01526a5a0cbb93616adca Mon Sep 17 00:00:00 2001 From: PerryLink Date: Sat, 19 Sep 2026 01:02:44 +0800 Subject: [PATCH 12/12] ci(compat): move the pinned harness baseline to dsh-v0.1.6-alpha.2 (agent/created carries source/signal since 9b7a8ccc) --- HARNESS_COMMIT | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/HARNESS_COMMIT b/HARNESS_COMMIT index f8ba1d7..598227c 100644 --- a/HARNESS_COMMIT +++ b/HARNESS_COMMIT @@ -1 +1 @@ -5dda764ed3aa172535a7967b06ff95d9cbfe536a +ddefc45fbc7f8e46dd73185e68295696d1297887