From 04311fa2cc7b782f32bd5c84748a8eae5fae1c98 Mon Sep 17 00:00:00 2001 From: "Timothy J. Aveni" Date: Sat, 5 Sep 2026 18:43:38 -0700 Subject: [PATCH] Adopt standalone package manifest and dependency lock --- package.json | 2 +- package.qx | 15 ++++++++++----- quixos.lock | 12 +++++++++++- src/project.impl.ts | 9 +++++++-- yarn-project.nix | 2 +- yarn.lock | 8 ++++---- 6 files changed, 34 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index c658548..72dffc2 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" }, "devDependencies": { "@types/node": "^24", diff --git a/package.qx b/package.qx index a11da54..731b7e5 100644 --- a/package.qx +++ b/package.qx @@ -1,4 +1,9 @@ -package ProjectRuntime id "package:project-runtime" revision "package:project-runtime@1" { +import interface Named; +import interface ProjectTasks; +external atom Project id "atom:project"; +external atom Task id "atom:task"; + +package ProjectRuntime id "package:project-runtime" revision "package:project-runtime@1" { constructor createProject id "export:project-runtime:create-project" constructs Project : unit; operation addTask id "export:project-runtime:add-task" : string -> atom-ref mode call receiver atom Project requires { edge tasks id "port:project-actions:tasks" : many-unique atom Task [connect]; @@ -12,12 +17,12 @@ package ProjectRuntime id "package:project-runtime" revision "package:project-ru }; operation taskCountWatchStop id "export:project-runtime:task-count-watch-stop" : watch-handle -> unit mode watch-stop receiver atom Project; operation searchDocumentGet id "export:project-runtime:search-document-get" : unit -> message "org.quixos.web-studio.SearchDocument" mode call receiver atom Project requires { - state name id "port:project-search:name" : string [read]; - edge tasks id "port:project-search:tasks" : many-unique atom Task [resolve]; + interface named id "port:project-search:named" : Named; + interface tasks id "port:project-search:tasks" : ProjectTasks; }; operation searchDocumentWatch id "export:project-runtime:search-document-watch" : unit -> watch-handle mode watch-start emits message "org.quixos.web-studio.SearchDocument" receiver atom Project requires { - state name id "port:project-search:name" : string [read]; - edge tasks id "port:project-search:tasks" : many-unique atom Task [resolve]; + interface named id "port:project-search:named" : Named; + interface tasks id "port:project-search:tasks" : ProjectTasks; }; operation searchDocumentWatchStop id "export:project-runtime:search-document-watch-stop" : watch-handle -> unit mode watch-stop receiver atom Project; } 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.impl.ts b/src/project.impl.ts index adb6a37..a4912b8 100644 --- a/src/project.impl.ts +++ b/src/project.impl.ts @@ -23,9 +23,14 @@ export const taskCount = derived(async (context) => export const searchDocument = derived(async (context) => { const [name, tasks] = await Promise.all([ - context.state("port:project-search:name").get(), - context.edge("port:project-search:tasks").resolve(), + context.interface("port:project-search:named") + .invoke("operation:named:name:get"), + context.interface("port:project-search:tasks") + .invoke("operation:project-tasks:tasks:resolve"), ]); + if (typeof name !== "string" || !Array.isArray(tasks)) { + throw new Error("Project search dependencies returned invalid values"); + } const count = tasks.length; return { title: name || "Untitled project", diff --git a/yarn-project.nix b/yarn-project.nix index bd14085..dedc160 100644 --- a/yarn-project.nix +++ b/yarn-project.nix @@ -159,7 +159,7 @@ cacheEntries = { "@bufbuild/protobuf@npm:2.12.1" = { filename = "@bufbuild-protobuf-npm-2.12.1-d8afb467b3-2d40cfe4ec.zip"; hash = "sha512-LUDP5Ow7sOPwarLih3HcXcVm6qywVfvok9dWIbBAfQJy1I9ApJCtR97YOe1UFRThr3G7E68CSzrjbvDFbVbdqQ=="; }; "@connectrpc/connect-node@npm:2.1.2" = { filename = "@connectrpc-connect-node-npm-2.1.2-021434d5d5-ba8b0c9384.zip"; hash = "sha512-uosMk4TDgps3eqeoJtwM1Qpgk1J9LscBRgSRKDYzbqlgSitazqQrEEd/i+RWnknd7WbKD8d/X1sCcDXgKeE+qQ=="; }; "@connectrpc/connect@npm:2.1.2" = { filename = "@connectrpc-connect-npm-2.1.2-ab34825de3-4e15000890.zip"; hash = "sha512-ThUACJAjt1Lv1E+pQKWuHh+gDhvrxLoM7ScruTWSDYw7hbd0UOZErUQruMqaJ1sMFxNviWuo7/A2F4Ex2wHWFQ=="; }; -"@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=="; }; "@typescript/typescript-linux-arm64@npm:7.0.2" = { filename = "@typescript-typescript-linux-arm64-npm-7.0.2-9cacfc53a0-10c0.zip"; hash = "sha512-s4c7nGT/lQIw6x0IfrL0b3ECy/D0g7UoDLdiIWJoM6EGXk5N/dmXdxUdA8Cr3hV/3nO2BYKTQ6Ai8/zGhiSQ3A=="; }; "@typescript/typescript-linux-x64@npm:7.0.2" = { filename = "@typescript-typescript-linux-x64-npm-7.0.2-8dd7ff8d24-10c0.zip"; hash = "sha512-k9EUK5CZ3OOPnyslp8SAAonHJpnpPmlaulppI/NmFyCzNs3UN/TLPUkyQia3KIxgbyTzKoXI5L5fl8Uj9bJ7Cg=="; }; diff --git a/yarn.lock b/yarn.lock index 30fd815..52be113 100644 --- a/yarn.lock +++ b/yarn.lock @@ -31,14 +31,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 @@ -46,7 +46,7 @@ __metadata: version: 0.0.0-use.local resolution: "@quixos/project-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" typescript: "npm:^7.0.2" bin: