{"_id":"@buckeyestudio/toh-client-ui-directory-picker-browse","name":"@buckeyestudio/toh-client-ui-directory-picker-browse","dist-tags":{"next":"0.1.1-rc.2","latest":"0.1.1-rc.2"},"versions":{"0.1.1-rc.2":{"name":"@buckeyestudio/toh-client-ui-directory-picker-browse","description":"In-app directory browsing surface: the workspace directory-flow owner rendering the host's listing and creation primitives","version":"0.1.1-rc.2","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/dustinwloring1988/theopen-harness.git","directory":"packages/client/ui-directory-picker-browse"},"type":"module","main":"lib/index.js","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"toh":{"client":{"inject":["@buckeyestudio/toh-client-runtime","@buckeyestudio/toh-client-ui-workspace","@buckeyestudio/toh-client-locale"],"platform":"web"}},"license":"MIT","author":{"name":"buckeyestudio"},"dependencies":{"clsx":"^2.0.0"},"peerDependencies":{"@buckeyestudio/toh-client-locale":"^0.1.1-rc.2","@buckeyestudio/toh-client-runtime":"^0.1.1-rc.2","@buckeyestudio/toh-invariants":"^0.1.1-rc.2","@buckeyestudio/toh-client-ui-workspace":"^0.1.1-rc.2","@buckeyestudio/cordis":"^4.0.1"},"devDependencies":{"@testing-library/react":"^16.1.0","@types/react":"~19.2.3","react":"^19.2.8","react-dom":"^19.2.8","@buckeyestudio/toh-client-locale":"^0.1.1-rc.2","@buckeyestudio/toh-client-runtime":"^0.1.1-rc.2","@buckeyestudio/toh-client-ui-primitives":"^0.1.1-rc.2","@buckeyestudio/toh-client-ui-slots":"^0.1.1-rc.2","@buckeyestudio/toh-client-ui-workspace":"^0.1.1-rc.2","@buckeyestudio/toh-client-test-runtime":"^0.1.1-rc.2","@buckeyestudio/toh-invariants":"^0.1.1-rc.2","@buckeyestudio/cordis":"^4.0.1"},"scripts":{"bundle":"tsdown","watch":"tsdown --watch"},"_id":"@buckeyestudio/toh-client-ui-directory-picker-browse@0.1.1-rc.2","bugs":{"url":"https://github.com/dustinwloring1988/theopen-harness/issues"},"homepage":"https://github.com/dustinwloring1988/theopen-harness#readme","_integrity":"sha512-4S3OYbxbX17Bm9Y55XiUWQPgPEUKHIlkBv1ppBWyNrFPGvfB7uY8PrCvZVeWe8iMnQDTzSBTW8k8iyuTt1NHmw==","_resolved":"/home/runner/work/theopen-harness/theopen-harness/dist/npm/buckeyestudio-toh-client-ui-directory-picker-browse-0.1.1-rc.2.tgz","_from":"file:/home/runner/work/theopen-harness/theopen-harness/dist/npm/buckeyestudio-toh-client-ui-directory-picker-browse-0.1.1-rc.2.tgz","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-4S3OYbxbX17Bm9Y55XiUWQPgPEUKHIlkBv1ppBWyNrFPGvfB7uY8PrCvZVeWe8iMnQDTzSBTW8k8iyuTt1NHmw==","shasum":"815d728c9006b3252fece237e890eb1ced7a7083","tarball":"https://registry.npmjs.org/@buckeyestudio/toh-client-ui-directory-picker-browse/-/toh-client-ui-directory-picker-browse-0.1.1-rc.2.tgz","fileCount":13,"unpackedSize":66339,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDoA9rSpPm5kP+snW3lCIv+AtBKS9bOairc0elXiF1+IAiEAq7YHg9vSF6qm1z6Ci6VKjHvpS4e36EP1oBzRmbEjrAA="}]},"_npmUser":{"name":"buckeyestudio","email":"dustinwloring1988@gmail.com"},"directories":{},"maintainers":[{"name":"buckeyestudio","email":"dustinwloring1988@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/toh-client-ui-directory-picker-browse_0.1.1-rc.2_1787489604164_0.6071985719557802"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-23T12:53:23.959Z","0.1.1-rc.2":"2026-08-23T12:53:24.357Z","modified":"2026-08-23T12:53:24.607Z"},"maintainers":[{"name":"buckeyestudio","email":"dustinwloring1988@gmail.com"}],"description":"In-app directory browsing surface: the workspace directory-flow owner rendering the host's listing and creation primitives","homepage":"https://github.com/dustinwloring1988/theopen-harness#readme","repository":{"type":"git","url":"git+https://github.com/dustinwloring1988/theopen-harness.git","directory":"packages/client/ui-directory-picker-browse"},"author":{"name":"buckeyestudio"},"bugs":{"url":"https://github.com/dustinwloring1988/theopen-harness/issues"},"license":"MIT","readme":"# @buckeyestudio/toh-client-ui-directory-picker-browse\n\n[English](README.md) | 中文\n\n应用内目录浏览界面：浏览式选取交互的浏览器半边。它通过 ui-workspace 的两个 directory-flow 洞（`conversation.hero.workspace.directoryFlow` 与 `sidebar.workspaces.directoryFlow`）装入「选择工作区目录」对话框，经 `ctx.workspaces` 驱动本地 Host 的 `host.listDirectory` 与 `host.createDirectory` 原语。它的 node 对侧是 [`toh-host-directory-picker-browse`](../../host/directory-picker-browse/README.zh.md)；挂载本包即用一行 cordis.yml 把界面与该后端组合起来，因此没有任何客户端代码按能力种类分支。与 [`-native`](../ui-directory-picker-native/README.zh.md) 界面不同，本对话框不需要本地操作系统选择框，因此也服务于进程内与远程浏览器部署。\n\n对话框是 680×500 的 Miller 分栏视图（在较矮或较窄的视口中限制尺寸）：头部承载标题、选中路径面包屑和可点击编辑的路径区；下方在未选中行时是一整栏层级，选中后该行均分为「层级 | 选中文件夹的子项」两栏。导航落地是选择锚定且安静的——面包屑跳转或提交路径被扫描期间仍渲染旧视图，目标目录与父目录两段导航在同一帧完成——因此回退时，只要尚未到达显示根目录，就会始终保持两栏，且不会闪过中间帧。**新建文件夹**打开一个嵌套创建对话框，目标为选中的文件夹，并选中它创建出来的那个；**打开**采纳选中的文件夹，没有选中时回落到当前层级。Host 标记的隐藏条目默认不显示，直到页脚开关将其揭开——那只是客户端过滤。\n\n确认一个目录即为选中的路径，关闭对话框即为取消。浏览类失败——不可读的目标、创建冲突——都留在对话框自己的提示区内，因此本占位者从不驱动 owner 的 `onError` 分支；工作区创建的错误界面仍由 owner 持有。两处注册通过嵌套的 `slots.inject()` 安装，因为任一声明方条目都可能稍后激活或替换其声明；对话框文案注册在本包自己的 locale 命名空间下，两份字典作为一个单元落地，因此激活失败不会占住该命名空间的其中一种语言。\n\nnode 半边是一个空 `apply`：它的存在只为让插件出现在 host 的 cordis.yml 与 Loader 中，浏览器半边经 `exports[\"./client\"]` 出货，并通过 `toh.client` 清单声明被发现。\n\n## 模型体验\n\n无，因为目录浏览器属于浏览器界面；本包中的任何内容都不会进入模型请求。\n\n#### KV Cache 影响\n\n无；本包既不组装也不发送 provider 请求。\n\n## 已知限制与暂缓事项\n\n- **无搜索、无多选、无重命名或删除** —— 对话框只负责列出与创建目录；到达目标靠导航、编辑路径，或用前缀过滤最后一栏。\n- **隐藏条目的过滤在客户端** —— Host 始终列出隐藏条目并加标记，因此开关只改变对话框渲染什么。\n","readmeFilename":"README.zh.md","_rev":"1-65cc4f78f8126038bf8c38e364ac32dd"}