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

This commit is contained in:
Quixos Template Publisher
2000-01-01 00:00:00 +00:00
commit 35e44541b7
7 changed files with 226 additions and 0 deletions
+4
View File
@@ -0,0 +1,4 @@
{
"monorepoCommit": "be30143a326d5d7d7b0cbabea5bc5ac0301ef5b9",
"sourcePath": "quixos-instance/packages/agent-workspace-bootstrap"
}
Generated
+108
View File
@@ -0,0 +1,108 @@
{
"nodes": {
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"helpers": {
"flake": false,
"locked": {
"lastModified": 1790852599,
"narHash": "sha256-MdNtZpcsoguLPSCpAy9Naz6fkVPrftbZQbz1Aj7Zm9A=",
"ref": "refs/tags/quixos-reachability/91679e8cc82133093cb0b4f9e519cbb39a5bba4f",
"rev": "91679e8cc82133093cb0b4f9e519cbb39a5bba4f",
"revCount": 54,
"type": "git",
"url": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-nix-helpers.git"
},
"original": {
"ref": "refs/tags/quixos-reachability/91679e8cc82133093cb0b4f9e519cbb39a5bba4f",
"rev": "91679e8cc82133093cb0b4f9e519cbb39a5bba4f",
"type": "git",
"url": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-nix-helpers.git"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1783776592,
"narHash": "sha256-UgCQzxeWI75XM8G+hPrPh+MKzEPjG3SpAj7dtqSbksA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e7a3ca8092b61ff85b6a45bf863ea2b2d6a661b3",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"protocol": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1791261504,
"narHash": "sha256-QSk9DWR7n5KL6cMHzmSKKXNIyaFA0s8Nu+wXjhhlENI=",
"ref": "refs/tags/quixos-reachability/5b44c8154dc038efd87cf1cbdd2c00b66bfd4f87",
"rev": "5b44c8154dc038efd87cf1cbdd2c00b66bfd4f87",
"revCount": 184,
"type": "git",
"url": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-protocol.git"
},
"original": {
"ref": "refs/tags/quixos-reachability/5b44c8154dc038efd87cf1cbdd2c00b66bfd4f87",
"rev": "5b44c8154dc038efd87cf1cbdd2c00b66bfd4f87",
"type": "git",
"url": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-protocol.git"
}
},
"root": {
"inputs": {
"flake-utils": [
"protocol",
"flake-utils"
],
"helpers": "helpers",
"nixpkgs": [
"protocol",
"nixpkgs"
],
"protocol": "protocol"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}
+37
View File
@@ -0,0 +1,37 @@
{
inputs.protocol.url = "git+https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-protocol.git?ref=refs/tags/quixos-reachability/5b44c8154dc038efd87cf1cbdd2c00b66bfd4f87&rev=5b44c8154dc038efd87cf1cbdd2c00b66bfd4f87";
inputs.nixpkgs.follows = "protocol/nixpkgs";
inputs.flake-utils.follows = "protocol/flake-utils";
inputs.helpers = {
url = "git+https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-nix-helpers.git?ref=refs/tags/quixos-reachability/91679e8cc82133093cb0b4f9e519cbb39a5bba4f&rev=91679e8cc82133093cb0b4f9e519cbb39a5bba4f";
flake = false;
};
outputs =
{
nixpkgs,
flake-utils,
helpers,
...
}:
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = import nixpkgs { inherit system; };
camino = import (helpers + "/quixos-package-helpers.nix");
in
{
quixosPackages.checkedArtifacts =
context:
let
pkgs = camino.packageSet { inherit nixpkgs system context; };
in
camino.mkCaminoTypeScriptPackage {
inherit pkgs context;
src = ./.;
targets = [ "server" ];
entry = "src/server.ts";
};
devShells.default = camino.mkCaminoYarnShell { inherit pkgs; };
}
);
}
+12
View File
@@ -0,0 +1,12 @@
symbol JavaScript id "target:org.quixos.execution.javascript@1";
import interface WebStudioCanvas;
import interface WebStudioCanvasPlacement;
import interface WebStudioPlaceable;
import interface AgentWorkspace;
external atom WebStudioCanvas id "atom:org.quixos.web-studio:canvas";
package AgentWorkspaceBootstrap id "package:org.quixos.agent:workspace-bootstrap" revision "package:org.quixos.agent:workspace-bootstrap@1" {
function createRoot id "agent:workspace:create-root" : unit -> atom-ref<WebStudioCanvas> execution transaction targets [server] requires {
creation canvas id "canvas" : WebStudioCanvas input record {name:string;};
interface agentWorkspace id "agent-workspace" : AgentWorkspace using [install.call] from input;
};
}
+7
View File
@@ -0,0 +1,7 @@
quixos-lock version 1 {
quixos source { repository "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos.git"; commit "be30143a326d5d7d7b0cbabea5bc5ac0301ef5b9"; }
interface WebStudioCanvas source { repository "https://repos.quixos.org/quixos-studio/interface-web-studio-canvas.git"; commit "fb076e2d0d48080f76b88b2ffa4edeb4c37a7342"; }
interface WebStudioCanvasPlacement source { repository "https://repos.quixos.org/quixos-studio/interface-web-studio-canvas-placement.git"; commit "8bee874e37700fc860f066f11946efc82a1f521d"; }
interface WebStudioPlaceable source { repository "https://repos.quixos.org/quixos-studio/interface-web-studio-placeable.git"; commit "a998ebd982f7b61946156a0fa7038bc1295c3afc"; }
interface AgentWorkspace source { repository "https://repos.quixos.org/quixos-studio/interface-agent-workspace.git"; commit "6b6fca52d9d9f22dbc8af6b9d59577809f5eeea5"; }
}
+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;
},
});
+10
View File
@@ -0,0 +1,10 @@
{
"compilerOptions": {
"strict": true,
"target": "ES2024",
"module": "NodeNext",
"moduleResolution": "NodeNext",
"noEmit": true
},
"include": ["src/**/*.ts"]
}