diff --git a/.changeset/add-machine-dialog.md b/.changeset/add-machine-dialog.md deleted file mode 100644 index 30c4559..0000000 --- a/.changeset/add-machine-dialog.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Replace add-machine browser prompts with a PI WEB form that asks for the remote URL first, suggests a machine name, and supports an optional bearer token. diff --git a/.changeset/bind-session-extensions.md b/.changeset/bind-session-extensions.md new file mode 100644 index 0000000..7d57121 --- /dev/null +++ b/.changeset/bind-session-extensions.md @@ -0,0 +1,5 @@ +--- +"@jmfederico/pi-web": patch +--- + +Initialize Pi extensions for web-managed sessions so `session_start` handlers, extension resources, and startup-dependent tools run correctly. diff --git a/.changeset/built-in-plugin-docs.md b/.changeset/built-in-plugin-docs.md deleted file mode 100644 index 309e0cb..0000000 --- a/.changeset/built-in-plugin-docs.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Document built-in PI WEB plugins, including configuration guidance for Workspace Tasks. diff --git a/.changeset/calm-navigation-panels.md b/.changeset/calm-navigation-panels.md new file mode 100644 index 0000000..821aa1d --- /dev/null +++ b/.changeset/calm-navigation-panels.md @@ -0,0 +1,5 @@ +--- +"@jmfederico/pi-web": patch +--- + +Reduce desktop navigation crowding by moving machine switching into a compact header control and removing automatic desktop section collapse. diff --git a/.changeset/close-workspace-terminals-before-delete.md b/.changeset/close-workspace-terminals-before-delete.md deleted file mode 100644 index ed12d70..0000000 --- a/.changeset/close-workspace-terminals-before-delete.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Delete workspaces through a server-side operation that closes target workspace terminals before running the worktree removal command, preventing stale machine activity indicators. diff --git a/.changeset/collapsible-desktop-navigation.md b/.changeset/collapsible-desktop-navigation.md new file mode 100644 index 0000000..3f7a660 --- /dev/null +++ b/.changeset/collapsible-desktop-navigation.md @@ -0,0 +1,5 @@ +--- +"@jmfederico/pi-web": patch +--- + +Make navigation sections collapsible on desktop and auto-collapse completed context sections after selections. diff --git a/.changeset/document-machine-federation.md b/.changeset/document-machine-federation.md new file mode 100644 index 0000000..bb57440 --- /dev/null +++ b/.changeset/document-machine-federation.md @@ -0,0 +1,5 @@ +--- +"@jmfederico/pi-web": patch +--- + +Document machine federation across the website and add a Fleet guide for setup, trust model, remote plugins, and troubleshooting. diff --git a/.changeset/editable-keyboard-shortcuts.md b/.changeset/editable-keyboard-shortcuts.md new file mode 100644 index 0000000..c499af1 --- /dev/null +++ b/.changeset/editable-keyboard-shortcuts.md @@ -0,0 +1,5 @@ +--- +"@jmfederico/pi-web": patch +--- + +Add a keyboard shortcuts settings editor with manual entry, recording, disabling, reset-to-default controls, and conflict/shadowing indicators. diff --git a/.changeset/fix-firefox-selection-copy.md b/.changeset/fix-firefox-selection-copy.md new file mode 100644 index 0000000..d15697a --- /dev/null +++ b/.changeset/fix-firefox-selection-copy.md @@ -0,0 +1,5 @@ +--- +"@jmfederico/pi-web": patch +--- + +Let Firefox copy only the selected chat text instead of replacing selections with the full message. diff --git a/.changeset/fix-workspace-api-reference.md b/.changeset/fix-workspace-api-reference.md deleted file mode 100644 index 60272d3..0000000 --- a/.changeset/fix-workspace-api-reference.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Fix workspace selection in the web UI so local machine project and session loading no longer fails with `api is not defined`. diff --git a/.changeset/full-reload-refresh-control.md b/.changeset/full-reload-refresh-control.md new file mode 100644 index 0000000..596c4e7 --- /dev/null +++ b/.changeset/full-reload-refresh-control.md @@ -0,0 +1,5 @@ +--- +"@jmfederico/pi-web": patch +--- + +Make the app refresh control perform a full page reload directly instead of opening refresh-data options. diff --git a/.changeset/hide-single-machine-mobile-crumb.md b/.changeset/hide-single-machine-mobile-crumb.md new file mode 100644 index 0000000..1d97f32 --- /dev/null +++ b/.changeset/hide-single-machine-mobile-crumb.md @@ -0,0 +1,5 @@ +--- +"@jmfederico/pi-web": patch +--- + +Simplify the mobile location breadcrumb by hiding the machine crumb when there is only one configured machine and removing activity indicators from breadcrumb items. diff --git a/.changeset/hide-single-machine-navigation.md b/.changeset/hide-single-machine-navigation.md deleted file mode 100644 index 68d9a2e..0000000 --- a/.changeset/hide-single-machine-navigation.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Hide the Machines navigation section when only one machine is configured, align Machines list spacing with the other navigation sections, and add a remove action to remote machine rows. diff --git a/.changeset/keyboard-navigation-ladder.md b/.changeset/keyboard-navigation-ladder.md new file mode 100644 index 0000000..fa456f0 --- /dev/null +++ b/.changeset/keyboard-navigation-ladder.md @@ -0,0 +1,5 @@ +--- +"@jmfederico/pi-web": patch +--- + +Add keyboard-first navigation for focusing Machines, Projects, Workspaces, Sessions, and the chat composer. diff --git a/.changeset/lean-workspace-context.md b/.changeset/lean-workspace-context.md new file mode 100644 index 0000000..d44258a --- /dev/null +++ b/.changeset/lean-workspace-context.md @@ -0,0 +1,5 @@ +--- +"@jmfederico/pi-web": patch +--- + +Reduce repeated machine and workspace details in the chat status bar and workspace tool header, keeping compact session metrics right-aligned. diff --git a/.changeset/machine-activity-indicators.md b/.changeset/machine-activity-indicators.md deleted file mode 100644 index 9a319b0..0000000 --- a/.changeset/machine-activity-indicators.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Show machine activity indicators when sessions or terminals are active on any workspace for that machine. diff --git a/.changeset/machine-scoped-local-apis.md b/.changeset/machine-scoped-local-apis.md deleted file mode 100644 index ef8f8bb..0000000 --- a/.changeset/machine-scoped-local-apis.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Add machine-scoped local project, workspace, file, and git API aliases as the next step toward machine federation. diff --git a/.changeset/machine-specific-plugins.md b/.changeset/machine-specific-plugins.md new file mode 100644 index 0000000..e11e01b --- /dev/null +++ b/.changeset/machine-specific-plugins.md @@ -0,0 +1,5 @@ +--- +"@jmfederico/pi-web": patch +--- + +Allow PI WEB plugins to mark themselves as machine-specific so the gateway copy stays local-only and remote machines can provide their own status/plugin UI. diff --git a/.changeset/mobile-actions-button.md b/.changeset/mobile-actions-button.md deleted file mode 100644 index 88308c7..0000000 --- a/.changeset/mobile-actions-button.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Make the mobile Actions entry available from the top context controls and remove the redundant PI WEB navigation header on mobile. diff --git a/.changeset/mobile-docs-header-controls.md b/.changeset/mobile-docs-header-controls.md new file mode 100644 index 0000000..caaf056 --- /dev/null +++ b/.changeset/mobile-docs-header-controls.md @@ -0,0 +1,5 @@ +--- +"@jmfederico/pi-web": patch +--- + +Keep the documentation site's GitHub and theme controls visible in mobile portrait layouts. diff --git a/.changeset/mobile-tab-icons.md b/.changeset/mobile-tab-icons.md deleted file mode 100644 index ad794bc..0000000 --- a/.changeset/mobile-tab-icons.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Use compact icons, initials, and inline badges for the mobile main tab bar so tabs are easier to fit without losing horizontal scrolling; let workspace panel plugins provide custom SVG tab icons; and add icons for bundled Info, Updates, and Tasks plugin panels. diff --git a/.changeset/offline-remote-fallback.md b/.changeset/offline-remote-fallback.md deleted file mode 100644 index eab366f..0000000 --- a/.changeset/offline-remote-fallback.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Fall back to the local machine when a bookmarked or restored remote machine is offline, and clear stale remote workspace route state. diff --git a/.changeset/permanent-tab-icons.md b/.changeset/permanent-tab-icons.md deleted file mode 100644 index 7c7f5b3..0000000 --- a/.changeset/permanent-tab-icons.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Keep workspace tool tab icons visible in the desktop workspace panel and collapse tab names only in compact panel widths. diff --git a/.changeset/persist-tab-navigation-memory.md b/.changeset/persist-tab-navigation-memory.md deleted file mode 100644 index 68e55f0..0000000 --- a/.changeset/persist-tab-navigation-memory.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Preserve machine, workspace, session, and terminal navigation memory across reloads within each browser tab. diff --git a/.changeset/plugin-disable-config.md b/.changeset/plugin-disable-config.md deleted file mode 100644 index 2aacf91..0000000 --- a/.changeset/plugin-disable-config.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Add plugin enablement settings so discovered PI WEB plugins can be disabled before the browser imports them. diff --git a/.changeset/plugin-public-context-helpers.md b/.changeset/plugin-public-context-helpers.md deleted file mode 100644 index ddaeeb4..0000000 --- a/.changeset/plugin-public-context-helpers.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Add documented plugin context helpers for machine-scoped workspace files and terminal commands, generate plugin API declarations from source, and move bundled plugins away from direct PI WEB API calls. diff --git a/.changeset/preserve-archived-session-parents.md b/.changeset/preserve-archived-session-parents.md new file mode 100644 index 0000000..1969a23 --- /dev/null +++ b/.changeset/preserve-archived-session-parents.md @@ -0,0 +1,5 @@ +--- +"@jmfederico/pi-web": patch +--- + +Keep archived parent sessions visible in the current session tree while they still have unarchived children. diff --git a/.changeset/private-plugin-api-copy.md b/.changeset/private-plugin-api-copy.md new file mode 100644 index 0000000..46794ec --- /dev/null +++ b/.changeset/private-plugin-api-copy.md @@ -0,0 +1,5 @@ +--- +"@jmfederico/pi-web": patch +--- + +Clarify plugin docs and website copy around private PI WEB APIs and the supported helper surface. diff --git a/.changeset/pwa-refresh-menu.md b/.changeset/pwa-refresh-menu.md deleted file mode 100644 index 7bb77b6..0000000 --- a/.changeset/pwa-refresh-menu.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Keep the PWA refresh control menu visible above mobile tab navigation and workspace tab content. diff --git a/.changeset/remember-machine-navigation.md b/.changeset/remember-machine-navigation.md deleted file mode 100644 index 2702826..0000000 --- a/.changeset/remember-machine-navigation.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Remember each machine's last selected project, workspace, session, and workspace tool when switching machines in the web UI. diff --git a/.changeset/remote-machine-federation.md b/.changeset/remote-machine-federation.md deleted file mode 100644 index f2c3c62..0000000 --- a/.changeset/remote-machine-federation.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Add remote machine federation so PI WEB can register trusted remote runtimes and proxy their projects, workspaces, sessions, files, git state, activity, and terminals through the current web server. diff --git a/.changeset/remote-machine-plugins.md b/.changeset/remote-machine-plugins.md deleted file mode 100644 index 07b7121..0000000 --- a/.changeset/remote-machine-plugins.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Load trusted PI WEB plugins from selected federated machines with machine-scoped actions, workspace panels, labels, proxied plugin assets, and gateway-preferred duplicate handling. diff --git a/.changeset/remove-panel-open-terminal.md b/.changeset/remove-panel-open-terminal.md deleted file mode 100644 index f989483..0000000 --- a/.changeset/remove-panel-open-terminal.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Clean up the workspace panel plugin context by removing the legacy `openTerminal` alias and moving render invalidation to `context.host.requestRender()`. diff --git a/.changeset/resizable-side-panels.md b/.changeset/resizable-side-panels.md new file mode 100644 index 0000000..8d8a604 --- /dev/null +++ b/.changeset/resizable-side-panels.md @@ -0,0 +1,5 @@ +--- +"@jmfederico/pi-web": patch +--- + +Add draggable, persistent side panel resizing for the web UI navigation and workspace panels, including reset actions. diff --git a/.changeset/right-aligned-machine-status.md b/.changeset/right-aligned-machine-status.md new file mode 100644 index 0000000..ac8e108 --- /dev/null +++ b/.changeset/right-aligned-machine-status.md @@ -0,0 +1,5 @@ +--- +"@jmfederico/pi-web": patch +--- + +Align the desktop machine badge status to the right edge of the badge. diff --git a/.changeset/session-lifecycle-actions.md b/.changeset/session-lifecycle-actions.md new file mode 100644 index 0000000..4bef5cc --- /dev/null +++ b/.changeset/session-lifecycle-actions.md @@ -0,0 +1,5 @@ +--- +"@jmfederico/pi-web": patch +--- + +Add safe bulk session actions for archiving current sessions and permanently deleting archived sessions, with runtime capability checks for remote compatibility. diff --git a/.changeset/settings-config-ui.md b/.changeset/settings-config-ui.md deleted file mode 100644 index 38c42d2..0000000 --- a/.changeset/settings-config-ui.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Add a deep-linked Settings UI for editing the active PI WEB config file and viewing registered keyboard shortcuts. diff --git a/.changeset/shortcut-config-foundation.md b/.changeset/shortcut-config-foundation.md deleted file mode 100644 index 467023f..0000000 --- a/.changeset/shortcut-config-foundation.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Add shortcut preferences to the PI WEB config schema so keyboard shortcuts can be overridden or disabled by action id. diff --git a/.changeset/snappy-machine-restore.md b/.changeset/snappy-machine-restore.md new file mode 100644 index 0000000..5450783 --- /dev/null +++ b/.changeset/snappy-machine-restore.md @@ -0,0 +1,5 @@ +--- +"@jmfederico/pi-web": patch +--- + +Keep machine/session navigation snappy by deferring expensive Pi-Web status refreshes and caching status checks. diff --git a/.changeset/synthesized-local-machines.md b/.changeset/synthesized-local-machines.md deleted file mode 100644 index 22ac957..0000000 --- a/.changeset/synthesized-local-machines.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Add the first machine registry API and show the synthesized Local machine in the web UI as the foundation for machine federation. diff --git a/.changeset/unified-activity-indicators.md b/.changeset/unified-activity-indicators.md new file mode 100644 index 0000000..6cc62ce --- /dev/null +++ b/.changeset/unified-activity-indicators.md @@ -0,0 +1,5 @@ +--- +"@jmfederico/pi-web": patch +--- + +Pin navigation activity indicators to the top-right of list chips so active projects, workspaces, and sessions no longer shift their labels. diff --git a/.changeset/updates-plugin-rename.md b/.changeset/updates-plugin-rename.md deleted file mode 100644 index 1ddfd22..0000000 --- a/.changeset/updates-plugin-rename.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Rename the built-in Updates plugin id from `pi-web` to `updates` for clearer plugin configuration. diff --git a/.changeset/workspace-label-file-context.md b/.changeset/workspace-label-file-context.md deleted file mode 100644 index fc950fe..0000000 --- a/.changeset/workspace-label-file-context.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Add workspace file and render helpers to plugin workspace label callbacks so labels can load workspace-scoped metadata without hidden panels. diff --git a/.changeset/workspace-tasks-click-feedback.md b/.changeset/workspace-tasks-click-feedback.md deleted file mode 100644 index 731b4e2..0000000 --- a/.changeset/workspace-tasks-click-feedback.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Prevent redundant Workspace Tasks panel re-renders from resetting mobile scroll position or replacing task buttons mid-click, and show feedback for stale, cancelled, or already-starting tasks. diff --git a/.changeset/workspace-tasks-rename.md b/.changeset/workspace-tasks-rename.md deleted file mode 100644 index d195d8b..0000000 --- a/.changeset/workspace-tasks-rename.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@jmfederico/pi-web": patch ---- - -Bundle Workspace Tasks with PI WEB as a built-in plugin for running `.pi-web/tasks.json` commands in workspace terminals. diff --git a/CHANGELOG.md b/CHANGELOG.md index 8de60eb..5312898 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,37 @@ # @jmfederico/pi-web +## 1.202606.1 + +### Patch Changes + +- 93b50e6: Replace add-machine browser prompts with a PI WEB form that asks for the remote URL first, suggests a machine name, and supports an optional bearer token. +- 08f69d0: Document built-in PI WEB plugins, including configuration guidance for Workspace Tasks. +- 9c3dafc: Delete workspaces through a server-side operation that closes target workspace terminals before running the worktree removal command, preventing stale machine activity indicators. +- 159f533: Fix workspace selection in the web UI so local machine project and session loading no longer fails with `api is not defined`. +- 82ba2e0: Prevent malformed session prompt API calls from crashing the session daemon. +- f2d211d: Harden remote machine plugin asset proxying so plugin asset URLs cannot escape the remote plugin directory. +- ccd4a76: Hide the Machines navigation section when only one machine is configured, align Machines list spacing with the other navigation sections, and add a remove action to remote machine rows. +- 193c9d0: Show machine activity indicators when sessions or terminals are active on any workspace for that machine. +- b5f8810: Add machine-scoped local project, workspace, file, and git API aliases as the next step toward machine federation. +- 4495a26: Make the mobile Actions entry available from the top context controls and remove the redundant PI WEB navigation header on mobile. +- 4548e5c: Use compact icons, initials, and inline badges for the mobile main tab bar so tabs are easier to fit without losing horizontal scrolling; let workspace panel plugins provide custom SVG tab icons; and add icons for bundled Info, Updates, and Tasks plugin panels. +- e352dce: Fall back to the local machine when a bookmarked or restored remote machine is offline, and clear stale remote workspace route state. +- bd8d1f1: Keep workspace tool tab icons visible in the desktop workspace panel and collapse tab names only in compact panel widths. +- 30fb960: Preserve machine, workspace, session, and terminal navigation memory across reloads within each browser tab. +- 08f69d0: Add plugin enablement settings so discovered PI WEB plugins can be disabled before the browser imports them. +- e3533eb: Add documented plugin context helpers for machine-scoped workspace files and terminal commands, generate plugin API declarations from source, and move bundled plugins away from direct PI WEB API calls. +- 8cd2bba: Keep the PWA refresh control menu visible above mobile tab navigation and workspace tab content. +- b3bb732: Remember each machine's last selected project, workspace, session, and workspace tool when switching machines in the web UI. +- a142f5e: Add remote machine federation so PI WEB can register trusted remote runtimes and proxy their projects, workspaces, sessions, files, git state, activity, and terminals through the current web server. +- b9be7de: Load trusted PI WEB plugins from selected federated machines with machine-scoped actions, workspace panels, labels, proxied plugin assets, and gateway-preferred duplicate handling. +- f1c8f1f: Clean up the workspace panel plugin context by moving render invalidation to `context.host.requestRender()` and deprecating the legacy runtime-only `openTerminal` alias in favor of `context.terminal.open()`. +- 4495a26: Add a deep-linked Settings UI for editing the active PI WEB config file and viewing registered keyboard shortcuts. +- a58c211: Add shortcut preferences to the PI WEB config schema so keyboard shortcuts can be overridden or disabled by action id. +- 0405b38: Add the first machine registry API and show the synthesized Local machine in the web UI as the foundation for machine federation. +- 4bc0010: Add workspace file and render helpers to plugin workspace label callbacks so labels can load workspace-scoped metadata without hidden panels. +- 08f69d0: Prevent redundant Workspace Tasks panel re-renders from resetting mobile scroll position or replacing task buttons mid-click, and show feedback for stale, cancelled, or already-starting tasks. +- 08f69d0: Bundle Workspace Tasks with PI WEB as a built-in plugin for running `.pi-web/tasks.json` commands in workspace terminals. + ## 1.202606.0 ### Patch Changes diff --git a/README.md b/README.md index 4dc0a72..e224286 100644 --- a/README.md +++ b/README.md @@ -104,7 +104,7 @@ PI WEB keeps its own state intentionally small: ## Machine federation -The Machines section lets one PI WEB instance act as a gateway to other PI WEB runtimes. Register a remote machine from **Actions → Add Machine** with the remote PI WEB base URL, for example a Tailscale, WireGuard, SSH tunnel, or trusted reverse-proxy URL. The browser continues talking to the local PI WEB origin; project, workspace, file, git, session, activity, and terminal HTTP/WebSocket traffic is proxied server-to-server. +The Machines section lets one PI WEB instance act as a gateway to other PI WEB runtimes. Register a remote machine from **Actions → Add Machine** with the remote PI WEB base URL, for example a URL reachable over NetBird, Tailscale, WireGuard, an SSH tunnel, or a trusted reverse proxy. The browser continues talking to the local PI WEB origin; project, workspace, file, git, session, activity, and terminal HTTP/WebSocket traffic is proxied server-to-server. See the [Fleet guide](https://pi-web.dev/machines.html) for setup, trust model, and troubleshooting details. Remote model-provider credentials and OAuth state stay on the target machine. API-key provider configuration can be proxied, but OAuth login should be completed by opening the remote PI WEB directly. Register remote machines only when you trust the endpoint and the network path: adding a machine gives this PI WEB server permission to contact that URL with the optional bearer token you configured. @@ -112,7 +112,7 @@ Remote model-provider credentials and OAuth state stay on the target machine. AP PI WEB production installs can load trusted local UI plugins without rebuilding PI WEB. Plugins are browser-side ES modules that can add action-palette actions, workspace panels, and workspace-label metadata, using documented context helpers for workspace files and terminals. They do not run in the session daemon and are not sandboxed. -The supported package shape is intentionally singular: `piWeb.plugins` entries with explicit `id` and `module`, plus a browser module that exports `{ apiVersion: 1, name, activate }`. The bundled `pi-web-plugins/info` TypeScript source is the canonical minimal real example, `pi-web-plugins/updates` demonstrates a dynamic status panel, and built-in [Workspace Tasks](docs/plugins.md#workspace-tasks) adds a workspace tab for running configured shell commands in PI WEB terminals. +The supported package shape is intentionally singular: `piWeb.plugins` entries with explicit `id` and `module` plus optional `machineSpecific` metadata, and a browser module that exports `{ apiVersion: 1, name, activate }`. The bundled `pi-web-plugins/info` TypeScript source is the canonical minimal real example, `pi-web-plugins/updates` demonstrates a dynamic status panel, and built-in [Workspace Tasks](docs/plugins.md#workspace-tasks) adds a workspace tab for running configured shell commands in PI WEB terminals. A useful prompt for AI agents: diff --git a/docs/404.html b/docs/404.html index 7821ce7..069a501 100644 --- a/docs/404.html +++ b/docs/404.html @@ -28,23 +28,28 @@ @@ -75,6 +80,7 @@