From ec604045df85ae6d3f1d5dd9bc179eb13769539f Mon Sep 17 00:00:00 2001 From: "Timothy J. Aveni" Date: Sat, 5 Sep 2026 18:43:41 -0700 Subject: [PATCH] Adopt standalone package manifest and dependency lock --- package.json | 2 +- package.qx | 17 ++++++++++------- quixos.lock | 12 +++++++++++- src/project-react.impl.ts | 12 +++++------- yarn-project.nix | 2 +- yarn.lock | 8 ++++---- 6 files changed, 32 insertions(+), 21 deletions(-) diff --git a/package.json b/package.json index 4e9d053..5724b47 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@quixos/camino-package-runtime": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=c15a8a51fa90ce73516acc085e0e1545c263020b", + "@quixos/camino-package-runtime": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=a998690446ecf647e3af78e369492c1a3663b66d", "react": "^18.3.1" }, "devDependencies": { diff --git a/package.qx b/package.qx index affed9a..e536f58 100644 --- a/package.qx +++ b/package.qx @@ -1,15 +1,18 @@ -package ProjectReactRuntime id "package:project-react-runtime" revision "package:project-react-runtime@1" { +import interface Named; +import interface ProjectTasks; +external atom ProjectReactComponent id "atom:project-react-component"; +external atom Project id "atom:project"; + +package ProjectReactRuntime id "package:project-react-runtime" revision "package:project-react-runtime@1" { constructor createComponent id "export:project-react-runtime:create-component" constructs ProjectReactComponent : atom-ref; operation sourceGet id "export:project-react-runtime:source-get" : unit -> string mode call receiver atom ProjectReactComponent; operation propsGet id "export:project-react-runtime:props-get" : unit -> message "org.quixos.web-studio.ReactProps" mode call receiver atom ProjectReactComponent requires { - edge subject id "port:project-react:subject" : exactly-one atom Project [resolve]; - state name id "port:project-react:name" : string [read]; - edge tasks id "port:project-react:tasks" : many-unique atom Task [resolve]; + interface named id "port:project-react:named" : Named; + interface tasks id "port:project-react:tasks" : ProjectTasks; }; operation propsWatch id "export:project-react-runtime:props-watch" : unit -> watch-handle mode watch-start emits message "org.quixos.web-studio.ReactProps" receiver atom ProjectReactComponent requires { - edge subject id "port:project-react:subject" : exactly-one atom Project [resolve]; - state name id "port:project-react:name" : string [read]; - edge tasks id "port:project-react:tasks" : many-unique atom Task [resolve]; + interface named id "port:project-react:named" : Named; + interface tasks id "port:project-react:tasks" : ProjectTasks; }; operation propsWatchStop id "export:project-react-runtime:props-watch-stop" : watch-handle -> unit mode watch-stop receiver atom ProjectReactComponent; } diff --git a/quixos.lock b/quixos.lock index 36eeeb7..866aa4a 100644 --- a/quixos.lock +++ b/quixos.lock @@ -1,6 +1,16 @@ quixos-lock version 1 { quixos source { repository "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos.git"; - commit "059a6d747fc1e988320d5c785fdde688c9a29127"; + commit "9c3ab572ecfbc83785038c3d9f174516df15d63f"; + } + + interface Named source { + repository "https://repos.quixos.org/qxw-02737044acbb57a5-source/interface-named.git"; + commit "14be607ed250f8c3ce1633558573fc1449f6f2a1"; + } + + interface ProjectTasks source { + repository "https://repos.quixos.org/qxw-02737044acbb57a5-source/interface-project-tasks.git"; + commit "2590966c1f95da08126f1cb830be7dcc6dc715d9"; } } diff --git a/src/project-react.impl.ts b/src/project-react.impl.ts index 3393123..141cb95 100644 --- a/src/project-react.impl.ts +++ b/src/project-react.impl.ts @@ -11,15 +11,13 @@ export const source = async () => await fs.readFile(componentSourcePath, "utf8") export const createComponent = (context: RuntimeContext) => context.objectId; export const props = derived(async (context: RuntimeContext) => { - const projects = await context.edge("port:project-react:subject").resolve(); - if (projects.length !== 1) { - throw new Error(`Project component ${context.objectId} has ${projects.length} subjects`); - } + const named = context.interface("port:project-react:named"); + const tasks = context.interface("port:project-react:tasks"); return { - project_id: projects[0], + project_id: named.objectId, component_id: context.objectId, - name: await context.state("port:project-react:name").live(), - tasks: await context.edge("port:project-react:tasks").resolve(), + name: await named.live("operation:named:name:get"), + tasks: await tasks.invoke("operation:project-tasks:tasks:resolve"), }; }); diff --git a/yarn-project.nix b/yarn-project.nix index c542db8..2c0d24f 100644 --- a/yarn-project.nix +++ b/yarn-project.nix @@ -161,7 +161,7 @@ cacheEntries = { "@connectrpc/connect@npm:2.1.2" = { filename = "@connectrpc-connect-npm-2.1.2-ab34825de3-4e15000890.zip"; hash = "sha512-ThUACJAjt1Lv1E+pQKWuHh+gDhvrxLoM7ScruTWSDYw7hbd0UOZErUQruMqaJ1sMFxNviWuo7/A2F4Ex2wHWFQ=="; }; "@esbuild/linux-arm64@npm:0.25.12" = { filename = "@esbuild-linux-arm64-npm-0.25.12-a5aaa0e70e-10c0.zip"; hash = "sha512-tm9zhnNR4GZv4A+Sgbt9jdCJ0iGlzvYxGCaxaScbhFH14mX7QWJRYaCvFCZB1dseApmaq6mNwbilL0wJnbB8tw=="; }; "@esbuild/linux-x64@npm:0.25.12" = { filename = "@esbuild-linux-x64-npm-0.25.12-07c7c22cce-10c0.zip"; hash = "sha512-U2QGT8ZIZN8q2WPSFDC32+sZGKgp49gvnHzIf/vKVR4xIzjcgBbjAIKI+FqfGBmGBWu8eCpS7lR9JDXdUHOFkw=="; }; -"@quixos/camino-package-runtime@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=c15a8a51fa90ce73516acc085e0e1545c263020b" = { filename = "@quixos-camino-package-runtime-https-1933d5cf75-fcf741ed90.zip"; hash = "sha512-/PdB7ZD1dE2BCEoFS8kzlYM9JBIDFKrjCo1tCTwmqg/0mtAsovcvOZ4ipvNf46LROM8/roVUBzuEccgaEV3beA=="; }; +"@quixos/camino-package-runtime@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=a998690446ecf647e3af78e369492c1a3663b66d" = { filename = "@quixos-camino-package-runtime-https-683bcbf33c-c90d5d5c53.zip"; hash = "sha512-yQ1dXFMR2k+xbkka2rrhsAcrQFZlJAZEYM0hqwGzdV5RJ+fhQEh3BEgoPiL2yxrxulU4zg/jsj8BTBFRp1feyg=="; }; "@types/node@npm:24.13.3" = { filename = "@types-node-npm-24.13.3-b512a0bbeb-a5bc08f49b.zip"; hash = "sha512-pbwI9JuVgdzcqQ4CzXcZejx5mECAdmSULlzVFhpVPU0q6AZPfjKUQQ10jX0Ji1wYSL5/pQwG8pxBk6sWvk5Z6w=="; }; "@types/prop-types@npm:15.7.15" = { filename = "@types-prop-types-npm-15.7.15-cefe16a1fa-b59aad1ad1.zip"; hash = "sha512-tZqtGtGb8XM89ST9TmGBlsbHaQ9I7nCjJ+tFCkKquOigY/vlnKClcBrr4tktWCKSwPuEXqV0dPahX2mUsOJgsg=="; }; "@types/react@npm:18.3.31" = { filename = "@types-react-npm-18.3.31-d376eb19a5-44180549dd.zip"; hash = "sha512-RBgFSd0EX1Nuzs0545qs34KOdq3BxKkLEy9FPiPMNwxGSNkQKuQBFy69j9ixl3qQGjniFOU+x3FxsnUUtYjBeQ=="; }; diff --git a/yarn.lock b/yarn.lock index 13b7632..2854146 100644 --- a/yarn.lock +++ b/yarn.lock @@ -213,14 +213,14 @@ __metadata: languageName: node linkType: hard -"@quixos/camino-package-runtime@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=c15a8a51fa90ce73516acc085e0e1545c263020b": +"@quixos/camino-package-runtime@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=a998690446ecf647e3af78e369492c1a3663b66d": version: 0.1.0 - resolution: "@quixos/camino-package-runtime@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=c15a8a51fa90ce73516acc085e0e1545c263020b" + resolution: "@quixos/camino-package-runtime@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=a998690446ecf647e3af78e369492c1a3663b66d" dependencies: "@bufbuild/protobuf": "npm:^2.12.1" "@connectrpc/connect": "npm:^2.1.2" "@connectrpc/connect-node": "npm:^2.1.2" - checksum: 10c0/fcf741ed90f5744d81084a054bc93395833d24120314aae30a8d6d093c26aa0ff49ad02ca2f72f399e22a6f35fe3a2d138cf3fae8554073b8471c81a115ddb78 + checksum: 10c0/c90d5d5c5311da4fb16e491adabae1b0072b40566524064460cd21ab01b3755e5127e7e14048770448283e22f6cb1af1ba5538ce0fe3b23f014c1151a757deca languageName: node linkType: hard @@ -228,7 +228,7 @@ __metadata: version: 0.0.0-use.local resolution: "@quixos/project-react-runtime@workspace:." dependencies: - "@quixos/camino-package-runtime": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=c15a8a51fa90ce73516acc085e0e1545c263020b" + "@quixos/camino-package-runtime": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=a998690446ecf647e3af78e369492c1a3663b66d" "@types/node": "npm:^24" "@types/react": "npm:^18.3.12" esbuild: "npm:^0.25.12"