Add an official Canvas API to open local files in the Qoder editor

Hi Qoder team,

I’m building an interactive .canvas.tsx knowledge graph using qoder/canvas. Each graph node references a local workspace file, and I want an
“Open in IDE” button that opens the selected file directly in Qoder’s editor.

Canvas currently exposes useCanvasAction() and useCanvasActionRequest(), but there does not appear to be a documented or supported action for
opening local files. Approaches using acquireVsCodeApi, custom postMessage events, file://, vscode://, and qoder:// links either do nothing or
are treated as external web links.

Could Qoder add an official API such as:

import { useCanvasActionRequest } from “qoder/canvas”;

const requestAction = useCanvasActionRequest();

await requestAction({
type: “qoder.canvas.openFile”,
path: “plugin/example.md”,
line: 42,
column: 1,
});

Alternatively, a dedicated API would be even clearer:

import { useOpenFile } from “qoder/canvas”;

const openFile = useOpenFile();

await openFile({
path: “plugin/example.md”,
line: 42,
column: 1,
preview: false,
});

Suggested behavior:

  • Accept workspace-relative and absolute paths.
  • Resolve relative paths against the Canvas target file or workspace root.
  • Open the file in the existing Qoder editor window.
  • Optionally support line and column navigation.
  • Return an acknowledged result so Canvas can show success or failure accurately.
  • Enforce workspace trust and require confirmation for files outside the active workspace.
  • Remain unavailable or restricted for published/shared canvases where local paths would be unsafe.

Use case: interactive architecture maps, knowledge graphs, code-review reports, dependency explorers, and dashboards where clicking an item
should navigate directly to its source file.

At present, the fallback is copying the absolute path and asking users to press Ctrl+P, which interrupts the workflow. A supported host action
would make Canvas much more useful as an interactive development interface.

Thank you!