Release / release (push) Successful in 6s
Both scope controls were free-text boxes, and the vocabulary they asked the user for is paths relative to the session folder. "Which folder is `../shared`" is the one question a text box cannot answer, so the panel now shows the Host's own directory: the `uiWorkspace.listDirectory` primitive the workspace picker's browser drives, one level of child folders, a breadcrumb trail, and a hidden-entries toggle. The path field stays editable inside the picker, because the Host lists folders and an extra may legitimately name a file. Picks are stored in the form that keeps their meaning. A folder at `/work/root/src/shared` is declared `src/shared` when the session started in `/work/root`, and `../shared` going up; only a path with nothing shared — another drive, another tree — stays absolute. The Focus row shows that declared form, with the resolved path in its title, which is what the agent will see. `Set` is gone with the box it committed: the panel writes on pick, as every other control here already did. `Clear` stays, because empty means the session folder — the schema's own default rather than an override naming the same place. The card was 380px wide and grew without bound, a single column of prose taller than the viewport. It is 760px now, with a two-column grid that `auto-fit` collapses to one on a narrow card, the reference prose folded into `<details>`, and a scroll-bounded body. `Modal` sizes its own card from a hashed class in the primitives' stylesheet, so this bundle installs one small stylesheet of its own and outranks that rule with a doubled class selector — no `!important`, and nothing reaching into a class name it does not own. Two fixes came with it. The footer's "Deployment mode:" line read a slot prop that never carried the mode, so it said "ask" in every deployment; it reads the settings document now. And `uiWorkspace` is resolved with `ctx.get` at the call rather than injected, because the panel is still the only way to declare scope in a deployment with no directory browser: it keeps the panel and says what it cannot do, instead of losing the button.
69 lines
1.7 KiB
JSON
69 lines
1.7 KiB
JSON
{
|
|
"name": "dsh-facet",
|
|
"version": "0.2.0",
|
|
"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"
|
|
]
|
|
}
|
|
},
|
|
"keywords": [
|
|
"dsh-plugin",
|
|
"deepseek-harness",
|
|
"cordis",
|
|
"agent-preset",
|
|
"context",
|
|
"scope",
|
|
"tokens"
|
|
],
|
|
"license": "MIT"
|
|
}
|