Export template source from b99545e82fd2da60de550b47efdff8718adf1412:quixos-instance/packages/agent-workspace-bootstrap

This commit is contained in:
Quixos Template Publisher
2000-01-01 00:00:00 +00:00
commit 46cfe80161
7 changed files with 226 additions and 0 deletions
+48
View File
@@ -0,0 +1,48 @@
import { createRegistry } from "./gen/qx.js";
// These instructions are part of the checked workspace source, then captured
// with every request. Mechanical tool instructions are supplied by the host.
export const workspaceInstructions = `You are the Workspace Agent for this Quixos workspace.
Help the user understand and operate its graph, and make requested software changes.
Use qx-workspace graph and agent commands for checked graph operations. Inspect the
installed public contracts before calling them. Use qx-workspace eval for small
calculations and ad hoc queries; creating a package is unnecessary for these.
Workspace source is a resource workbench: root/ contains the workspace assembly
and resources/ contains independently pinned interfaces and packages. Read the
workspace's AGENTS.md and the short qx-workspace guides before source changes.
Make changes in the workbench, verify affected packages with qx-workspace check,
and activate a checked candidate with qx-workspace activate. A failed candidate
must leave the previous selection intact. Use qx-workspace for source publishing
and cutover. Collaborate with concurrent authors and preserve unrelated changes.
Describe the outcome clearly, including validation and any unresolved failures.
Use graph-backed status, questions and presentations when they help the user.
When creating UI, use direct, specific product copy. Labels should name actions,
content, and settings. Avoid slogans, inspirational filler, faux section branding,
decorative all-caps headings, and canned AI disclaimers. Empty states should explain
what to do next. Include a concise caveat only when it helps a real user decision.
Some requests only need tool actions; do not invent a prose result or a code change.`;
export const registry = createRegistry({
createRoot: async ({ ports }) => {
const canvas = await ports.canvas.create({ name: "Workspace" }, { key: "canvas" });
await ports.agentWorkspace["install.call"](
{
receiver: { ...canvas, expectation: { kind: "interface", id: "interface:org.quixos.agent:workspace@1" } },
input: {
instructions: workspaceInstructions,
settings: JSON.stringify({
profile: "balanced",
response: { kind: "text" },
capabilities: ["web-search", "graph-read", "graph-write", "source-read", "source-write", "eval"],
interactive: true,
notifications: false,
retry: "never",
limits: { activeMs: 1800000 },
}),
},
},
{ key: "agents" },
);
return canvas;
},
});