Repository navigation
v0.1.0
Compatibility
Initial 0.1.x minor line: N-1 is not applicable because no previous minor has been published.
-
Plugin API (#27): a plugin that checks
ctx.featuressends no forms orresultitems to a console before this release, which would report them as malformed; plugins that ignoremetaare unaffected. -
Plugin API, routes and manifest files (#26): plugins registered for api 1 with a single
<tool>.jsonand a plain"api": 1load unchanged;/p/<tool>/...routes keep working beside the new/p/<tool>@<hash>/...refs. Consoles before this release refuseapiMin/apiMaxkeys and ignore<tool>@<version>.jsonfiles (they fail the tool-id check), so a tool that needs both should keep writing<tool>.json.
Fixed
- Plugin discovery scans files that start with a
#!line (CLI entry files) instead of marking the plugin "cannot be read"; a file that cannot be scanned is now named in the reason. The stripped line ends at any JavaScript line terminator (LF, CR, U+2028, U+2029), so an import after a CR-terminated#!is still checked.
Added
-
host.ui.button(label, onClick, {tone?, disabled?})(api 1, additive): abutton.btnwithtype="button"and theprimaryordangermodifier.host.ui.noticewith toneerrnow usesrole="alert"so errors are announced assertively; other tones keeprole="status"(#43). -
host.ui.visual(api 1, additive): Mermaid diagrams in asandbox="allow-scripts"frame with its own CSP (noconnect-src), lazy and reused per panel, falling back to the source text on error, over 20 KB or after 5 s; comparison cards; tables throughui.table; before/after with text or asset sides. Mermaid is vendored from@mermaid-js/tiny12.2.0 (2.8 MB) with a hash manifest andscripts/vendor-mermaid.ts --check(#29). -
host.ui.review(api 1, additive): text, prose and diff review with range selection by pointer or keyboard, anchors withlineRange,textQuoteand (diffs)diffHunk/side, placement by hash then unique quote, an unplaced strip and chunked rendering up to 20,000 lines. Contract typesReviewSelector,ReviewAnchor,ReviewThread,ReviewDoc; conformancereviewProblems; shared cases intest/fixtures/review/ship with the package (#28). -
Inbox choice answers and results (#27):
ctx.features(inbox.form,inbox.result,action.meta); verbformwith 1-4 choice questions, an "Other" text, a review step and drafts kept across a refused answer; aresultgroup withseenreceipts after the body end was in view for 1 s in a focused window, and "Mark all read";action(input, meta)with the verified identity;verbFormProblemsand feature checks in conformance. -
Staged plugin upgrades (#26):
apiMin/apiMaxranges, versioned registrationsplugins/<tool>@<version>.json(newest loadable wins), a re-scan at most every 5 s that serves a new registration to pages opened after it while open pages keep their load until restart, andscripts/install-release.tsfor immutableconsole/releases/<version>-<commit>/installs withcurrentandpreviouslinks. -
Plugin assets (api 1, additive): optional
provider.asset({id}), served at a session-gatedGET /p/<tool>/asset?id=with a type allowlist (SVG as attachment only), nosniff, a 32 MB default cap and same-origin framing; shell CSP gainsframe-src 'self';host.ui.img,host.ui.frameandhost.ui.linkaccept only this plugin's asset ids or panels; conformance checksassetanswers (#24). -
host.ui.table,host.ui.barsandhost.ui.spark(api 1, additive): a sortable text table with an exportedTableColumntype, horizontal bars with target markers and a small line, built as shell SVG with token colors, text equivalents and bounded input (500 rows, 12 columns, 50 bars, 365 points);tableColumnProblemsin conformance (#23). -
acon serve(H1): resident console with--host,--portand--origin, authenticated by Cloudflare Access JWT (RS256 against the team JWKS) or a bearer token file. It refuses a non-loopback bind without auth, binds confirm tokens to the verified identity, answers 204 on/healthzand has no idle exit. A Dockerfile runs it as non-root with a/datavolume and a health check (#20). -
acon install <name|https URL|dir>,--listand--force: pet and asset packages downloaded separately, verified against the sha256 index at assets.entelecheia.ai (ACON_ASSETS_INDEXoverrides), https only, streaming size caps, staged and installed with one rename (#17). -
Space Flat/Room/3D views: CSS room camera, opt-in on-demand vendored Three.js, projected keyboard controls, bounded embedded GLB models and Room fallbacks (#14).
-
Optional Space area: public plugin scenes, keyed actors/cards and a text roster, fact-driven motion, separately installed image packs and a CSS fallback; pack/pet image validation is shared and asset reads require a session (#13).
-
Pet and Mini, moved from agent-hub: Codex v2 pet packages from local folders drawn as CSS sprites whose pose follows the inbox, a compact
#/local/miniview with one-step answers, and a pop-out through Picture-in-Picture or a popup;GET /pets/<id>/sheetbehind the session (#12). -
Repeatable UI checks across phone, tablet and desktop widths, both themes and 200% text; rem type tokens, discoverable scrolling tabs and inline status chips on phones (#7).
-
host.uipanel kit with text-only elements, forms, keyboard-navigable rows and a shared detail template; documented public CSS classes and tokens (#5). -
acon ui(H0): loopback console with a one-time link, session cookie, strict CSP and idle exit after 5 minutes. -
Plugin discovery from
$AGENTHUB_HOME/console/plugins/<tool>.jsonwith module hash and permission checks;acon pluginslists the result. -
Console plugin contract api 1 (
@staix/agent-console/contract) with inbox, search, structured previews and undo, plus a conformance suite (@staix/agent-console/conformance). -
Verb reasons (
reason: "optional" | "required") asked inline and sent asreason; plugin palette commands (manifest.commands) that run throughaction(); a conformance check that inboxatstays stable;onSnapshotskips unchanged polls (#6). -
Confirm tokens for destructive actions: single use, 60 s, bound to session, tool and input.
-
Shell: unified inbox with keyboard triage, peek sheet, command palette, confirm dialog, undo toast, System area, light and dark themes, tablet and phone layouts.
Install
npm i -g @staix/agent-console@0.1.0
Published to npm with provenance through GitHub OIDC trusted publishing. The validated tarball (SHA-256 71e90500a07317909c9a66f36801cb52d764ae2d85f9748e51c8f5242baa7022) and its manifest (tag, commit, SHA-256) from this run are attached.