mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-06 10:48:12 +02:00
Bumps [react](https://github.com/react/react/tree/HEAD/packages/react) and [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react). These dependencies needed to be updated together. Updates `react` from 19.2.7 to 19.2.8 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/react/react/releases">react's releases</a>.</em></p> <blockquote> <h2>19.2.8 (July 21st, 2026)</h2> <h2>React Server Components</h2> <ul> <li>Performance improvements when decoding (<a href="https://redirect.github.com/facebook/react/pull/37087">#37087</a> by <a href="https://github.com/eps1lon"><code>@eps1lon</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/react/react/commit/1dd4ecbdabf826f527fc9a58c05ea70375b7d170"><code>1dd4ecb</code></a> [FlightReply] Performance improvements when decoding (<a href="https://github.com/react/react/tree/HEAD/packages/react/issues/37087">#37087</a>)</li> <li><a href="https://github.com/react/react/commit/b0d2fdb78bdfae075a7fa02ddcebbf25f90952c2"><code>b0d2fdb</code></a> [19.2.x] Update required references to GitHub repo (<a href="https://github.com/react/react/tree/HEAD/packages/react/issues/36753">#36753</a>)</li> <li>See full diff in <a href="https://github.com/react/react/commits/v19.2.8/packages/react">compare view</a></li> </ul> </details> <br /> Updates `@types/react` from 19.2.17 to 19.2.18 <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react">compare view</a></li> </ul> </details> <br /> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Priya Raman <priya@paperclip.ing> Co-authored-by: Paperclip <noreply@paperclip.ing>
File Browser Example Plugin
Example Paperclip plugin that demonstrates:
- projectSidebarItem — An optional "Files" link under each project in the sidebar that opens the project detail with this plugin’s tab selected. This is controlled by plugin settings and defaults to off.
- detailTab (entityType project) — A project detail tab with a workspace-path selector, a desktop two-column layout (file tree left, editor right), and a mobile one-panel flow with a back button from editor to file tree, including save support.
This is a repo-local example plugin for development. It should not be assumed to ship in a generic production build unless it is explicitly included.
Slots
| Slot | Type | Description |
|---|---|---|
| Files (sidebar) | projectSidebarItem |
Optional link under each project → project detail + tab. |
| Files (tab) | detailTab |
Responsive tree/editor layout with save support. |
Settings
Show Files in Sidebar— toggles the project sidebar link on or off. Defaults to off.Comment File Links— controls whether comment annotations and the comment context-menu action are shown.
Capabilities
ui.sidebar.register— project sidebar itemui.detailTab.register— project detail tabprojects.read— resolve projectproject.workspaces.read— list workspaces and read paths for file access
Worker
- getData
workspaces—ctx.projects.listWorkspaces(projectId, companyId)(ordered, primary first). - getData
fileList—{ projectId, workspaceId, directoryPath? }→ list directory entries for the workspace root or a subdirectory (Nodefs). - getData
fileContent—{ projectId, workspaceId, filePath }→ read file content using workspace-relative paths (Nodefs). - performAction
writeFile—{ projectId, workspaceId, filePath, content }→ write the current editor buffer back to disk.
Local Install (Dev)
From the repo root, build the plugin and install it by local path:
pnpm --filter @paperclipai/plugin-file-browser-example build
npx paperclipai plugin install ./packages/plugins/examples/plugin-file-browser-example
To uninstall:
npx paperclipai plugin uninstall paperclip-file-browser-example --force
Local development notes:
- Build first. The host resolves the worker from the manifest
entrypoints.worker(e.g../dist/worker.js). Runpnpm buildin the plugin directory before installing so the worker file exists. - Dev-only install path. This local-path install flow assumes this monorepo checkout is present on disk. For deployed installs, publish an npm package instead of depending on
packages/plugins/examples/...existing on the host. - Reinstall after pulling. If you installed a plugin by local path before the server stored
package_path, the plugin may show status error (worker not found). Uninstall and install again so the server persists the path and can activate the plugin. - Optional: use
paperclip-plugin-dev-serverfor UI hot-reload withdevUiUrlin plugin config.
Structure
src/manifest.ts— manifest withprojectSidebarItemanddetailTab(entityTypes["project"]).src/worker.ts— data handlers for workspaces, file list, file content.src/ui/index.tsx—FilesLink(sidebar) andFilesTab(workspace path selector + two-panel file tree/editor).