@gjsify/devtools-protocol 0.30.0 → 0.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/esm/methods.js +1 -1
- package/lib/types/methods.d.ts +9 -2
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ Each method carries a **kind** that the pause guard enforces. When a host pauses
|
|
|
28
28
|
|---|---|---|
|
|
29
29
|
| `read-only` | Observation / diagnostics (`GetStatus`, `Screenshot`, `DumpTree`, …) | allowed |
|
|
30
30
|
| `presence` | An external driver's own awareness channel (cursor / label) | allowed |
|
|
31
|
-
| `mutating` | Edits app state or the user's UI (`ActivateAction`, `
|
|
31
|
+
| `mutating` | Edits app state or the user's UI (`ActivateAction`, `ActivateWidget`, `SwapCss`, …) | rejected |
|
|
32
32
|
|
|
33
33
|
`GENERIC_METHODS` is the toolkit-neutral baseline (core control + full introspection). Adapters implement the subset they support; the bridge advertises only the implemented ones. App-specific methods are added via extensions with their own kinds — **the registry rejects an unclassified method name**, so a new method cannot silently bypass the pause policy.
|
|
34
34
|
|
package/lib/esm/methods.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={GetStatus:`read-only`,Screenshot:`read-only`,ListActions:`read-only`,ActivateAction:`mutating`,ChangeActionState:`mutating`,PresentWindow:`read-only`,ResizeWindow:`mutating`,ListToplevels:`read-only`,DumpTree:`read-only`,GetProperty:`read-only`,
|
|
1
|
+
const e={GetStatus:`read-only`,Screenshot:`read-only`,ListActions:`read-only`,ActivateAction:`mutating`,ChangeActionState:`mutating`,PresentWindow:`read-only`,ResizeWindow:`mutating`,ListToplevels:`read-only`,DumpTree:`read-only`,GetProperty:`read-only`,GetFocused:`read-only`,ActivateWidget:`mutating`,DumpGSettings:`read-only`,DumpCss:`read-only`,SwapCss:`mutating`};export{e as GENERIC_METHODS};
|
package/lib/types/methods.d.ts
CHANGED
|
@@ -11,6 +11,15 @@ export type MethodKind = 'read-only' | 'presence' | 'mutating';
|
|
|
11
11
|
* advertises only the implemented ones. App-specific methods are added via
|
|
12
12
|
* extensions with their own kinds — the registry rejects an unclassified
|
|
13
13
|
* method name, so a new method cannot bypass the pause policy unnoticed.
|
|
14
|
+
*
|
|
15
|
+
* A NAME HERE IS A PROMISE, so nothing may be listed ahead of an adapter.
|
|
16
|
+
* `SetProperty` and `EmitSignal` were classified `mutating` here and existed on
|
|
17
|
+
* no wire at all: no `<method>` fragment in `GENERIC_METHODS_XML`, no handler
|
|
18
|
+
* in `DevtoolsService`, no MCP tool. A caller reading this contract saw the
|
|
19
|
+
* name and the kind, called it, and got `UnknownMethod` — the classification
|
|
20
|
+
* made a method look supported and the pause policy look complete. Both were
|
|
21
|
+
* removed rather than stubbed; add each back in the change that lands its
|
|
22
|
+
* adapter, which is the only change that can prove the kind is right.
|
|
14
23
|
*/
|
|
15
24
|
export declare const GENERIC_METHODS: {
|
|
16
25
|
readonly GetStatus: "read-only";
|
|
@@ -23,10 +32,8 @@ export declare const GENERIC_METHODS: {
|
|
|
23
32
|
readonly ListToplevels: "read-only";
|
|
24
33
|
readonly DumpTree: "read-only";
|
|
25
34
|
readonly GetProperty: "read-only";
|
|
26
|
-
readonly SetProperty: "mutating";
|
|
27
35
|
readonly GetFocused: "read-only";
|
|
28
36
|
readonly ActivateWidget: "mutating";
|
|
29
|
-
readonly EmitSignal: "mutating";
|
|
30
37
|
readonly DumpGSettings: "read-only";
|
|
31
38
|
readonly DumpCss: "read-only";
|
|
32
39
|
readonly SwapCss: "mutating";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gjsify/devtools-protocol",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.32.0",
|
|
4
4
|
"description": "Transport-agnostic devtools contract (methods, JSON envelope, method-kinds, transport interface) shared by every gjsify devtools adapter and the MCP bridge",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "lib/esm/index.js",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
],
|
|
36
36
|
"dependencies": {},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@gjsify/cli": "^0.
|
|
39
|
-
"@gjsify/unit": "^0.
|
|
38
|
+
"@gjsify/cli": "^0.32.0",
|
|
39
|
+
"@gjsify/unit": "^0.32.0",
|
|
40
40
|
"@types/node": "^25.9.2",
|
|
41
41
|
"typescript": "^6.0.3"
|
|
42
42
|
},
|