You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: migrate messages and assets onto the wire services
- messages: drops its commonRpcFunctions registration for a
devframes:plugin:messages:open-file bridge that resolves
workspace-relative file positions server-side and delegates to
@devframes/service-open (declared in the definition's services); the
panel gates its affordance on the service advertisement
- assets: open-in-editor / reveal-in-folder delegate to service-open,
installed at setup with the managed dir as an extra allowed root; the
SPA hides both buttons until the service is advertised, and text-asset
previews render server-highlighted through @devframes/service-shiki
(declared optional) with the plain <pre> as fallback
- docs + skill point at the service over the deprecated recipes
Copy file name to clipboardExpand all lines: docs/helpers/common-rpc-functions.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,9 @@ outline: deep
4
4
5
5
# Common RPC Functions
6
6
7
+
> [!WARNING]
8
+
> Deprecated in favor of the [`@devframes/service-open` wire service](/guide/services#built-in-services) — one host-level installation shared by every plugin, feature-detectable from clients, with workspace-root path containment on top of the editor gating. The recipe keeps working; removal lands in a future major.
9
+
7
10
Prebuilt RPC actions for the two file-system actions every CLI devtool needs — opening a file in the editor, revealing a path in the OS file explorer. Use the recipe instead of re-implementing them so every devframe converges on the same registered names and payload shape.
Copy file name to clipboardExpand all lines: docs/plugins/assets.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -95,12 +95,12 @@ All functions are namespaced `devframes:plugin:assets:*`:
95
95
|`list`|`query`, `snapshot: true`| Every file under the managed directory, with type, size, and last-modified time. |
96
96
|`capabilities`|`query`, `snapshot: true`| Whether write actions are enabled, and the upload allow-list — lets the UI gate itself proactively. |
97
97
|`read-image-meta`|`query`| Width, height, and orientation for an image asset. |
98
-
|`read-text`|`query`| Truncated text content, for preview. |
98
+
|`read-text`|`query`| Truncated text content, for preview. When the host advertises the [`@devframes/service-shiki` wire service](/guide/services#built-in-services), the panel renders it server-highlighted; otherwise it falls back to a plain `<pre>`. |
99
99
|`upload`|`action`| Allocates a streaming upload slot; the client pipes the file's bytes over the paired channel. |
100
100
|`rename`|`action`| Renames an asset within its folder, preserving its extension. |
101
101
|`delete`|`action`| Deletes one or more assets in a single call. |
102
102
|`mkdir`|`action`| Creates a folder, including missing parents. |
103
-
|`open-in-editor` / `reveal-in-folder`|`action`| Launch the asset in your editor, or reveal its containing folder in the OS file manager. Always registered, regardless of `write`. |
103
+
|`open-in-editor` / `reveal-in-folder`|`action`| Launch the asset in your editor, or reveal its containing folder in the OS file manager, delegating to the [`@devframes/service-open` wire service](/guide/services#built-in-services) (installed by the plugin with the managed dir as an allowed root). Always registered, regardless of `write`. |
104
104
105
105
`upload` / `rename` / `delete` / `mkdir` are registered only when `write` is enabled.
why: 'The upload streaming channel is unavailable because this devframe was set up with `write: false`.',
35
35
fix: 'This indicates an internal registration bug — `upload` should never be reachable without `write: true`. Please report it.',
36
36
},
37
+
DP_ASSETS_0008: {
38
+
why: 'Cannot open the asset: the "@devframes/service-open" wire service is not installed on this host.',
39
+
fix: 'Install the service package next to the assets plugin (it installs it during setup), or install it host-side via `ctx.services.install(createOpenService())`.',
0 commit comments