Compare commits

..
10 changed files with 475 additions and 18 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
{
"monorepoCommit": "99b2868b7e974441744657b35049f5baae4a499b",
"monorepoCommit": "1227e3672a5a24b7331567fc3f431e422e1513c1",
"sourcePath": "quixos-instance/packages/project-runtime"
}
+2
View File
@@ -11,3 +11,5 @@ exports: { export_id: "export:project-runtime:task-count-watch-stop" runtime_sym
exports: { export_id: "export:project-runtime:search-document-get" runtime_symbol: "searchDocumentGet" }
exports: { export_id: "export:project-runtime:search-document-watch" runtime_symbol: "searchDocumentWatch" }
exports: { export_id: "export:project-runtime:search-document-watch-stop" runtime_symbol: "searchDocumentWatchStop" }
exports: { export_id: "create-tag" runtime_symbol: "createTag" }
exports: { export_id: "add-tag" runtime_symbol: "addTag" }
+1 -1
View File
@@ -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=cd2b04dc8c2daeea633bf8ecdd31d20fdc41f2ab"
"@quixos/camino-package-runtime": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=86933aa97f3ea386a4c5cfeb28386fd8d2722075"
},
"devDependencies": {
"@types/node": "^24",
+9
View File
@@ -1,3 +1,5 @@
import interface TagData;
external atom Tag id "atom:tag";
import interface Named;
import interface ProjectTasks;
external atom Project id "atom:project";
@@ -28,4 +30,11 @@ package ProjectRuntime id "package:project-runtime" revision "package:project-ru
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;
constructor createTag id "create-tag" constructs Tag : string requires {
interface data id "tag-data" : TagData;
};
operation addTag id "add-tag" : string -> atom-ref<Tag> mode call receiver atom Project requires {
interface catalog id "catalog" : ProjectTasks;
constructor tag id "tag-constructor" : Tag input string;
};
}
+7 -3
View File
@@ -1,14 +1,18 @@
quixos-lock version 1 {
quixos source {
repository "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos.git";
commit "99b2868b7e974441744657b35049f5baae4a499b";
commit "1227e3672a5a24b7331567fc3f431e422e1513c1";
}
interface Named source {
repository "https://repos.quixos.org/quixos-templates/interface-named.git";
commit "07765f61c3803fd73253020bfbb40e1fffaf5ec9";
commit "1aa05d6b5b953126adcaa85c4a5f17d444246273";
}
interface ProjectTasks source {
repository "https://repos.quixos.org/quixos-templates/interface-project-tasks.git";
commit "1a7eddbce430f17c5817f83d680d3ffc783a071a";
commit "0b4f9fecf2a367b207575bae6ec5114ea28f408a";
}
interface TagData source {
repository "https://repos.quixos.org/quixos-templates/interface-tag-data.git";
commit "353491e12fd5ef16f4253817dc48178043e7cc40";
}
}
+437 -8
View File
File diff suppressed because one or more lines are too long
+10
View File
@@ -1,6 +1,16 @@
import type { Contexts } from "./gen/qx.js";
export const createProject = ({ objectId }: Contexts["createProject"]) => objectId;
export const createTag = async ({ ports, input, objectId }: Contexts["createTag"]) => {
await ports.data["name.set"](input.trim() || "New tag");
return objectId;
};
export const addTag = async ({ ports, input }: Contexts["addTag"]) => {
if (!input.trim()) throw new Error("Enter a tag name");
const tag = await ports.tag.construct(input.trim());
await ports.catalog["tags.connect"](tag);
return tag;
};
export const addTask = async ({ input, ports }: Contexts["addTask"]) => {
const task = await ports.task.construct(input.trim() || "Untitled task");
await ports.tasks["tasks.connect"](task);
+3
View File
@@ -1,6 +1,7 @@
// Generated by qx-scaffold-v1
import { servePackageRuntime } from "@quixos/camino-package-runtime";
import { createRuntime } from "./gen/qx.js";
import { addTag, createTag } from "./project.impl.js";
import { handler as impl0 } from "./impl/createProject.js";
import { handler as impl1 } from "./impl/addTask.js";
import { handler as impl2 } from "./impl/taskCountGet.js";
@@ -11,6 +12,8 @@ import { handler as impl6 } from "./impl/searchDocumentWatch.js";
import { handler as impl7 } from "./impl/searchDocumentWatchStop.js";
servePackageRuntime(
createRuntime({
addTag,
createTag,
newProject: ({ ports }) => ports.project.construct(),
createProject: impl0,
addTask: impl1,
+1 -1
View File
@@ -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=cd2b04dc8c2daeea633bf8ecdd31d20fdc41f2ab" = { filename = "@quixos-camino-package-runtime-https-99aa94a9bf-7872db96f5.zip"; hash = "sha512-eHLblvUv7jzGJ45p9j7PY5UsK74OeyZp2Z36rC5ki0BlGUXgCHAzeJ6YvaWov64433kSLJT9NjkocOgUacVvZg=="; };
"@quixos/camino-package-runtime@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=86933aa97f3ea386a4c5cfeb28386fd8d2722075" = { filename = "@quixos-camino-package-runtime-https-af3a6c1cce-afad508367.zip"; hash = "sha512-r61Qg2cI8jRSzUs4m5vOZl92VMkd/eQB0KedVjGLAkpnhg5dt1FAVptjUOcs746empJUj/HEIau5rq0a+hyRhA=="; };
"@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=="; };
+4 -4
View File
@@ -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=cd2b04dc8c2daeea633bf8ecdd31d20fdc41f2ab":
"@quixos/camino-package-runtime@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=86933aa97f3ea386a4c5cfeb28386fd8d2722075":
version: 0.1.0
resolution: "@quixos/camino-package-runtime@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=cd2b04dc8c2daeea633bf8ecdd31d20fdc41f2ab"
resolution: "@quixos/camino-package-runtime@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=86933aa97f3ea386a4c5cfeb28386fd8d2722075"
dependencies:
"@bufbuild/protobuf": "npm:^2.12.1"
"@connectrpc/connect": "npm:^2.1.2"
"@connectrpc/connect-node": "npm:^2.1.2"
checksum: 10c0/7872db96f52fee3cc6278e69f63ecf63952c2bbe0e7b2669d99dfaac2e648b40651945e0087033789e98bda5a8bfae38df79122c94fd36392870e81469c56f66
checksum: 10c0/afad50836708f23452cd4b389b9bce665f7654c91dfde401d0a79d56318b024a67860e5db75140569b6350e72cef8e9e9a92548ff1c421abb9aead1afa1c9184
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=cd2b04dc8c2daeea633bf8ecdd31d20fdc41f2ab"
"@quixos/camino-package-runtime": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=86933aa97f3ea386a4c5cfeb28386fd8d2722075"
"@types/node": "npm:^24"
typescript: "npm:^7.0.2"
bin: