Ship @deepseek-ai/dsh-retention under packages/util/: pure ItemRetainer / TextRetainer plus neutral notice helpers, so tools that cap model-facing output share one "what did we keep, what did we omit, may we stop reading" mechanic while keeping grouping, exit codes, provider errors, and recovery prose tool-owned. The two retainers are separate names because they differ in resource model: item-head can stop the upstream on the first over-cap probe (shouldStop), while text tail/head-tail must read to the end. The library documents glob/grep/bash/web_fetch/web_search mappings but migrates no tool yet — glob/grep don't exist, and migration is deliberately separate work. Flips the RFC to implemented/ and rewrites its skeleton to shipped reality.
76 lines
2.5 KiB
JSON
76 lines
2.5 KiB
JSON
{
|
|
"$schema": "https://unpkg.com/knip@5/schema.json",
|
|
"exclude": ["duplicates"],
|
|
"ignoreWorkspaces": ["vendor/*"],
|
|
"workspaces": {
|
|
".": {
|
|
"entry": [
|
|
"examples/echo-agent/src/*.ts",
|
|
"examples/echo-agent/tests/**/*.e2e.ts",
|
|
"examples/coding-agent/tests/**/*.e2e.ts",
|
|
"examples/acp-agent/tests/**/*.e2e.ts",
|
|
"examples/acp-agent/tests/**/*.snapshot.ts"
|
|
],
|
|
"project": ["scripts/**/*.ts", "examples/**/*.ts"]
|
|
},
|
|
"packages/*/*": {
|
|
"entry": ["tests/**/*.spec.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
},
|
|
"packages/util/brand": {
|
|
"project": ["src/**/*.ts"],
|
|
"ignoreDependencies": ["cordis"]
|
|
},
|
|
"packages/util/timeout": {
|
|
"entry": ["tests/**/*.spec.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"],
|
|
"ignoreDependencies": ["cordis"]
|
|
},
|
|
"packages/util/retention": {
|
|
"entry": ["tests/**/*.spec.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"],
|
|
"ignoreDependencies": ["cordis"]
|
|
},
|
|
"packages/llm/llm-deepseek": {
|
|
"entry": ["tests/**/*.spec.ts", "tests/**/*.e2e.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
},
|
|
"packages/llm/llm-pi-ai": {
|
|
"entry": ["tests/**/*.spec.ts", "tests/**/*.e2e.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
},
|
|
"packages/web/web-search-exa": {
|
|
"entry": ["tests/**/*.spec.ts", "tests/**/*.e2e.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
},
|
|
"packages/web/web-search-perplexity": {
|
|
"entry": ["tests/**/*.spec.ts", "tests/**/*.e2e.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
},
|
|
"packages/web/web-search-deepseek": {
|
|
"entry": ["tests/**/*.spec.ts", "tests/**/*.e2e.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
},
|
|
"packages/ui/acp-agent": {
|
|
"entry": ["tests/**/*.spec.ts", "tests/**/*.e2e.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
},
|
|
"packages/ui/stdio-agent": {
|
|
"entry": ["tests/**/*.spec.ts", "tests/**/*.e2e.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
},
|
|
"packages/subagent/subagent-spawn": {
|
|
"entry": ["tests/**/*.spec.ts", "tests/**/*.e2e.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
},
|
|
"packages/subagent/subagent-acp": {
|
|
"entry": ["tests/**/*.spec.ts", "tests/**/*.e2e.ts", "tests/mock-acp-server.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
},
|
|
"packages/fs/tool-fs": {
|
|
"entry": ["tests/**/*.spec.ts", "tests/**/*.e2e.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
}
|
|
}
|
|
}
|