Files
openclaw/qa/scenarios/plugins/canvas-agent-node-controls.yaml
Peter Steinberger ae55a4090c refactor(canvas): make the panel a widget presenter (#126030)
* refactor(canvas): retire legacy host and commands

* refactor(apple): narrow shared Canvas contracts

* refactor(macos): keep Canvas as widget presenter

* refactor(ios): remove Canvas client

* refactor(android): remove Canvas client

* refactor(linux): remove Canvas client

* fix(ci): isolate native locale artifacts

* fix(linux): regenerate companion lockfile

* fix(canvas): refresh native tool display metadata

* test(canvas): align coverage with presenter surface

* test(canvas): remove obsolete asset root seam

* test(canvas): stabilize retirement CI coverage

* refactor(swift): remove orphaned resource wrapper

* test(ios): remove retired canvas layout assertion

* fix(macos): reserve retired canvas command namespace

* refactor(macos): isolate canvas command policy

* fix(canvas): select only eligible macOS panels

* fix(canvas): keep panel selection plugin-owned
2026-08-19 08:21:07 -07:00

29 lines
1.4 KiB
YAML

title: Canvas agent tool and macOS widget panel controls
scenario:
id: canvas-agent-node-controls
surface: plugins
category: plugins.agent-tools-and-node-controls
coverage:
primary:
- plugins.agent-canvas-tool
- plugins.node-canvas-commands
objective: Prove the registered Canvas agent tool crosses a real Gateway and protocol-compatible macOS node for every supported panel action.
successCriteria:
- The enabled Canvas plugin registers its agent tool and macOS node command policy in a real Gateway process.
- Present, hide, and navigate reach the connected node under their exact command names.
- Every node request preserves the action parameters, carries a positive remaining timeout no greater than the requested budget, and uses a unique UUID idempotency key.
- The local node returns command-specific acknowledgements that the tool reports to the agent.
docsRefs:
- docs/gateway/protocol.md
- docs/help/testing.md
codeRefs:
- extensions/canvas/index.ts
- extensions/canvas/src/tool.ts
- src/gateway/server-methods/nodes.invoke.ts
- test/e2e/qa-lab/plugins/canvas-agent-node.e2e.test.ts
execution:
kind: vitest
path: test/e2e/qa-lab/plugins/canvas-agent-node.e2e.test.ts
summary: Starts a real Gateway with Canvas enabled, resolves the registered agent tool, and acknowledges every forwarded command from a protocol-compatible macOS node.