Merge branch 'worktree/ci-native-windows-20260808' into worktree/ci-native-windows-coverage-20260808

# Conflicts:
#	packages/subagent/subagent-codex/README.i18n.yaml
#	packages/subagent/subagent-codex/README.md
#	packages/subagent/subagent-codex/README.zh.md
This commit is contained in:
Tianyi Cui
2026-08-09 21:52:02 +08:00
783 changed files with 1803 additions and 1784 deletions
@@ -29,8 +29,9 @@
* The document holds nothing but credentials, which is why it is a strict
* `CredentialRef`-to-string mapping rather than a dotenv file: a store the
* Harness owns and never materializes into the environment cannot also serve
* as the user's environment layer, and conflating the two is what made a
* non-secret in the old `$DSH_HOME/.env` silently unreachable.
* as the user's environment layer; a store that doubled as the environment
* layer would shadow non-secret entries behind its precedence, making them
* silently unreachable.
* @module @deepseek-ai/dsh-credentials-local
*/
@@ -130,8 +130,8 @@ describe('layer ladder', () => {
{ source: 'user-env', path: '/home/.dsh/.env', values: { DSH_CRED_TEST: 'older-user-env' } },
])
expect(await ctx.credentials.resolve(KEY)).toEqual({ value: 'stored', source: 'file' })
// The old dead end is gone: a key sitting in the user's .env no longer
// makes the stored one unwritable.
// A key sitting in the user's .env does not make the stored one
// unwritable.
expect(await ctx.credentials.describe(KEY)).toEqual({ configured: true, source: 'file', writable: true })
await expect(ctx.credentials.set(KEY, 'rotated')).resolves.toBeUndefined()
expect(await ctx.credentials.resolve(KEY)).toEqual({ value: 'rotated', source: 'file' })