mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
InferArgs now produces genuinely optional keys: required/optional
properties are split at the key level (RequiredKeys + mapped `?`), so
{ limit: { type: 'number' } } infers as { limit?: number } and callers
can omit it — previously the key stayed required with `| undefined`.
Array item inference recurses (arrays of objects infer their element
shape instead of Record<string, unknown>), matching the generated
JSON Schema.
Tool execution error reporting handles non-Error throws again:
`throw { message: 'denied' }` reports the message instead of
"[object Object]" (errorMessage helper).
The new schema tests now actually typecheck: schema literals use
`satisfies SchemaSpec` (the standalone-literal widening made
schemaSpecToJsonSchema reject the suite's own examples), and the
ToolSchema probe cast goes through unknown. Tests-and-examples
typechecking is now part of `yarn typecheck` via the new
tsconfig.typecheck.json (resolves vendor packages by their built
declarations, so vendor's relaxed-strictness source stays out of
scope) — vitest never typechecks, so this gate is what catches such
breakage. +4 regression tests (typed omission, array-of-objects
inference both type- and runtime-level, non-Error throw message).
29 lines
1.1 KiB
JSON
29 lines
1.1 KiB
JSON
{
|
|
"extends": "./tsconfig.base.json",
|
|
"compilerOptions": {
|
|
"noEmit": true,
|
|
"emitDeclarationOnly": false,
|
|
"composite": false,
|
|
"incremental": false,
|
|
"types": ["node"],
|
|
"paths": {
|
|
"cordis": ["./vendor/cordis/lib"],
|
|
"cosmokit": ["./vendor/cosmokit/lib"],
|
|
"schemastery": ["./vendor/schemastery/lib"],
|
|
"@cordisjs/plugin-loader": ["./vendor/loader/lib"],
|
|
"@cordisjs/plugin-include": ["./vendor/include/lib"],
|
|
"@cordisjs/plugin-group": ["./vendor/group/lib"],
|
|
"@cordisjs/plugin-timer": ["./vendor/timer/lib"],
|
|
"@cordisjs/plugin-hmr": ["./vendor/hmr/lib"],
|
|
"@cordisjs/plugin-logger-console": ["./vendor/logger-console/lib/shared"],
|
|
"@deepseek-ai/dsh-llm": ["./packages/llm/src"],
|
|
"@deepseek-ai/dsh-session": ["./packages/session/src"],
|
|
"@deepseek-ai/dsh-system-prompt": ["./packages/system-prompt/src"],
|
|
"@deepseek-ai/dsh-tools": ["./packages/tools/src"],
|
|
"@deepseek-ai/dsh-agent": ["./packages/agent/src"],
|
|
"@deepseek-ai/dsh-agent-loop": ["./packages/agent-loop/src"]
|
|
}
|
|
},
|
|
"include": ["packages/*/src", "packages/*/tests", "examples", "scripts"]
|
|
}
|