Release / release (push) Successful in 6s
The extras control accepts a file — the field and its label said so — and the listing under it could not show one, because the Host primitive behind the picker browses folders and nothing else. So a grant for a single file meant typing its name exactly, which is the one thing a listing exists to avoid. The Host has a second lister and it does return files: `remote.workspaceFiles.list`, the same listing behind the sidebar's own file tree, confined to the session's workspace. The extras picker now takes that one while the level is inside the session folder — which is where an extra usually is — and falls back to the folder lister above it, saying so in the dialog rather than letting file rows vanish. The focus picker never offers files: a focus is a folder, so a file row there would offer something that cannot be chosen. The two listings normalise into one level shape, so the picker does not care which answered, and a row now carries its type: a folder is a way down, a file is a thing to take. Clicking a file fills the path field and marks the row, and the footer adds it in declared form. Pressing Enter on a name the level already lists is no longer reported as a failure — the path is exactly what the dialog is for. Everything stays additive: with no workspace file service, or above the session folder, the picker lists folders exactly as before.
70 lines
1.7 KiB
JSON
70 lines
1.7 KiB
JSON
{
|
|
"name": "dsh-facet",
|
|
"version": "0.3.1",
|
|
"private": true,
|
|
"type": "module",
|
|
"description": "Scope an agent session to one facet of a multi-faceted system: the session's own folder, plus whatever files the user grants it.",
|
|
"main": "index.js",
|
|
"exports": {
|
|
".": {
|
|
"types": "./lib/types/index.d.ts",
|
|
"default": "./index.js"
|
|
},
|
|
"./guard": {
|
|
"types": "./lib/types/guard.d.ts",
|
|
"default": "./lib/guard.js"
|
|
},
|
|
"./client": {
|
|
"default": "./client/client.js"
|
|
},
|
|
"./cordis.patch.yml": "./cordis.patch.yml",
|
|
"./presets/facet.patch.yml": "./presets/facet.patch.yml",
|
|
"./package.json": "./package.json"
|
|
},
|
|
"files": [
|
|
"index.js",
|
|
"lib",
|
|
"client",
|
|
"presets",
|
|
"cordis.patch.yml",
|
|
"README.md"
|
|
],
|
|
"engines": {
|
|
"node": ">=22.5"
|
|
},
|
|
"scripts": {
|
|
"test": "node --test test/*.test.js",
|
|
"test:release": "bash .gitea/scripts/release.test.sh",
|
|
"release:plan": "bash .gitea/scripts/release.sh should-release \"$(bash .gitea/scripts/release.sh range)\"",
|
|
"release:notes": "bash .gitea/scripts/release.sh notes \"$(bash .gitea/scripts/release.sh range)\""
|
|
},
|
|
"dsh": {
|
|
"bundle": {
|
|
"patch": [
|
|
"./cordis.patch.yml",
|
|
"./presets/facet.patch.yml"
|
|
]
|
|
},
|
|
"client": {
|
|
"platform": "web",
|
|
"inject": [
|
|
"@deepseek-ai/dsh-client-ui-settings",
|
|
"@deepseek-ai/dsh-client-ui-plugin-manager",
|
|
"@deepseek-ai/dsh-client-ui-conversation",
|
|
"@deepseek-ai/dsh-client-ui-workspace",
|
|
"@deepseek-ai/dsh-api-workspace-files"
|
|
]
|
|
}
|
|
},
|
|
"keywords": [
|
|
"dsh-plugin",
|
|
"deepseek-harness",
|
|
"cordis",
|
|
"agent-preset",
|
|
"context",
|
|
"scope",
|
|
"tokens"
|
|
],
|
|
"license": "MIT"
|
|
}
|