Web Runner

Run the same AppC in an independent site.

The public Web Runner package mounts verified AppCs into an isolated runtime origin while the publisher site keeps its own UI and authority.

Pre-release toolchain.

The public @application-console/* packages are release-qualified but have not completed their first npm registry publication. The commands below are the stable candidate contract and become directly installable after the npm bootstrap release.

Recommended two-origin deployment

https://www.example.com       # publisher UI
https://runtime.example.com   # static AppC runtime host

Embed with npm

import { createAppcRunner } from "@application-console/web-runner";

const runner = createAppcRunner("#app", {
  runtimeVersion: "0.1.0",
  availableCapabilities: ["runtime", "storage"],
  runtimeOrigin: "https://runtime.example.com"
});

await runner.load("/apps/example.appc");

Runtime host allowlist

VITE_APPC_RUNNER_ORIGINS=https://www.example.com,https://tools.example.com

The static runtime host validates the requested parent origin against the configured deployment allowlist and the embedding document referrer.

Inputs

The runner accepts HTTPS URLs, File/Blob, ArrayBuffer and Uint8Array. It verifies package integrity and compatibility before mount.

No-framework sites

Use the published @application-console/web-runner/browser entrypoint, which self-registers the <appc-embed> custom element. A plain-HTML deployment example ships in the npm package under examples/plain-html/.

Desktop-only required capabilities fail compatibility in Web Runner rather than silently receiving browser or native authority.