Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
736582d3f9 | ||
|
|
a1b5c4c13e |
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"monorepoCommit": "1227e3672a5a24b7331567fc3f431e422e1513c1",
|
||||
"monorepoCommit": "ba8d4f92667f39bb02d542cb492b71a32ec914bf",
|
||||
"sourcePath": "quixos-instance/workspaces/todo"
|
||||
}
|
||||
|
||||
+16
-28
@@ -1,70 +1,58 @@
|
||||
quixos-lock fragment version 1 {
|
||||
interface Named source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-named.git";
|
||||
commit "1aa05d6b5b953126adcaa85c4a5f17d444246273";
|
||||
commit "046a719004a6dda537a5dc98ef60f55a43eba0e4";
|
||||
}
|
||||
interface TaskData source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-task-data.git";
|
||||
commit "67adb8a9f8d3c13126ed503a4ddc1bcf1153aef5";
|
||||
commit "2bce2096acbcfa4371b3d6968bed1ac8c8406180";
|
||||
}
|
||||
interface ProjectTasks source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-project-tasks.git";
|
||||
commit "0b4f9fecf2a367b207575bae6ec5114ea28f408a";
|
||||
commit "522f030dfd656ef788ae9a0b0b43b06144912042";
|
||||
}
|
||||
interface ProjectActions source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-project-actions.git";
|
||||
commit "2336dd32216641fb94361962d015008a82d0776f";
|
||||
commit "a5f3237e0eae6d5d9af70be7882b70fa1256b9b7";
|
||||
}
|
||||
interface TaskActions source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-task-actions.git";
|
||||
commit "a129c7a65aa4027d36a43f87c1f2e65afe066d1a";
|
||||
commit "3c1739caa67b7d1799cb39eb0f8923fd13ef22ce";
|
||||
}
|
||||
interface DisplayLabel source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-display-label.git";
|
||||
commit "4b98bf50002c4d4dad546503f22ba85b1f0862ba";
|
||||
commit "03cb4e32a1e8777450ef4de801433c5c6aa112a5";
|
||||
}
|
||||
interface TaskCount source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-task-count.git";
|
||||
commit "1e8315b0b56ccfc1c508a94eeb3c1b094d896634";
|
||||
commit "658a3ad87e5ee46087a71e9441bdeaebd419006c";
|
||||
}
|
||||
interface WebStudioFactory source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-factory.git";
|
||||
commit "53b6f25eea7188774b9b57017692732bdc88d25a";
|
||||
interface WebStudioCreateable source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-createable.git";
|
||||
commit "4795615d13a5cbe361293f6a719d4ba40eaa5abb";
|
||||
}
|
||||
interface WebStudioReactComponent source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-react-component.git";
|
||||
commit "6d5f16dcf346e10359bfc01699a3e55667a3d74f";
|
||||
}
|
||||
interface WebStudioReactSource source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-react-source.git";
|
||||
commit "00c334c53d9b79319b3691609ed7ed4a12265dfe";
|
||||
commit "b238cdcf1225454edf9353343e9fdbcd1cd880cc";
|
||||
}
|
||||
interface WebStudioHasReactComponent source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-has-react-component.git";
|
||||
commit "9881d0745a3c077e35a5b0cfadab351163122f6a";
|
||||
commit "3d836adf25e5c13d20b943d129f2a18971db1af5";
|
||||
}
|
||||
interface WebStudioCanvas source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-canvas.git";
|
||||
commit "ca6356c71cbf291a80325fccdca151e22e557156";
|
||||
commit "f3cb4cb1993f9ef6a35cdcb96558e835704992fa";
|
||||
}
|
||||
interface WebStudioCanvasPlacement source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-canvas-placement.git";
|
||||
commit "0f59d5df56def6a00ce1c7fc508c1ce23e745f27";
|
||||
commit "8dd3e248d9d8add9c9eeed3e6e0df543fa074b93";
|
||||
}
|
||||
interface WebStudioPlaceable source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-placeable.git";
|
||||
commit "9e03d6e68981afe9995e436c9eb1bd9d939386b7";
|
||||
commit "74bf405381439023d1abf55d7c7f0bc1796f075e";
|
||||
}
|
||||
interface WebStudioSearchable source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-searchable.git";
|
||||
commit "4790a36daabdd1bc643344433b35b2b5b5fa1741";
|
||||
}
|
||||
interface TagData source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-tag-data.git";
|
||||
commit "353491e12fd5ef16f4253817dc48178043e7cc40";
|
||||
}
|
||||
interface CompletionData source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-completion-data.git";
|
||||
commit "79c5046dfe5d4172af77e39f19fb572afb7cf84c";
|
||||
commit "7c50904e68a64184ce6e1a3555124135cc47ff4b";
|
||||
}
|
||||
}
|
||||
|
||||
+5
-5
@@ -1,22 +1,22 @@
|
||||
quixos-lock fragment version 1 {
|
||||
package TodoRuntime source {
|
||||
repository "https://repos.quixos.org/quixos-templates/package-todo-runtime.git";
|
||||
commit "b82124ee813fd2509a3f7202bbb355792d6ff386";
|
||||
commit "de042800aee6bf98ee158d3b69aaf11fcaa43159";
|
||||
}
|
||||
package ProjectRuntime source {
|
||||
repository "https://repos.quixos.org/quixos-templates/package-project-runtime.git";
|
||||
commit "e61efc1be8215c45dc2da95f3620b520751c9e6f";
|
||||
commit "f1b5c7863ebf32eea0a8d830261c1e9bfb0f7bdc";
|
||||
}
|
||||
package ProjectReactRuntime source {
|
||||
repository "https://repos.quixos.org/quixos-templates/package-project-react-runtime.git";
|
||||
commit "d6539111dc00b66d580721d1aa5e41193ee9c7dc";
|
||||
commit "8bb4475cc5d445de4609d9769e4e6be1efc8f608";
|
||||
}
|
||||
package TodoReactRuntime source {
|
||||
repository "https://repos.quixos.org/quixos-templates/package-todo-react-runtime.git";
|
||||
commit "f9ea633d76cbc8f00de52c77655ef73f32c5a214";
|
||||
commit "3768c84a464fe41c7c36af991152678cc6775bfc";
|
||||
}
|
||||
package WebStudioCanvasRuntime source {
|
||||
repository "https://repos.quixos.org/quixos-templates/package-canvas-runtime.git";
|
||||
commit "8df369c251f79982899feac700400fde2cd46526";
|
||||
commit "5f0e5c616a99eac0299df8d2fc6dcc275becfd5b";
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
quixos-lock version 1 {
|
||||
quixos source {
|
||||
repository "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos.git";
|
||||
commit "1227e3672a5a24b7331567fc3f431e422e1513c1";
|
||||
commit "ba8d4f92667f39bb02d542cb492b71a32ec914bf";
|
||||
}
|
||||
import "locks/interfaces.lock";
|
||||
import "locks/packages.lock";
|
||||
|
||||
+21
-71
@@ -1,7 +1,5 @@
|
||||
workspace Todo id "workspace:todo" revision "workspace:todo@capabilities-v1" commit "0000000000000000000000000000000000000001" {
|
||||
atom Project id "atom:project" doc "A named collection of tasks.";
|
||||
atom Tag id "atom:tag" doc "A shared task label with a name and color.";
|
||||
atom Completion id "atom:completion" doc "One recorded completion of a task.";
|
||||
atom Task id "atom:task" doc "A unit of work.";
|
||||
atom ProjectReactComponent id "atom:project-react-component" doc "A persisted Web Studio presentation of a Project.";
|
||||
atom TaskReactComponent id "atom:task-react-component" doc "A persisted Web Studio presentation of a Task.";
|
||||
@@ -10,15 +8,12 @@ workspace Todo id "workspace:todo" revision "workspace:todo@capabilities-v1" com
|
||||
|
||||
import interface Named;
|
||||
import interface TaskData;
|
||||
import interface TagData;
|
||||
import interface CompletionData;
|
||||
import interface ProjectTasks;
|
||||
import interface ProjectActions;
|
||||
import interface TaskActions;
|
||||
import interface DisplayLabel;
|
||||
import interface TaskCount;
|
||||
import interface WebStudioFactory;
|
||||
import interface WebStudioReactSource;
|
||||
import interface WebStudioCreateable;
|
||||
import interface WebStudioReactComponent;
|
||||
import interface WebStudioHasReactComponent;
|
||||
import interface WebStudioCanvas;
|
||||
@@ -67,9 +62,8 @@ workspace Todo id "workspace:todo" revision "workspace:todo@capabilities-v1" com
|
||||
bind canvas.disconnect to edge WebStudioCanvasPlacementEdge.canvas.disconnect;
|
||||
}
|
||||
|
||||
conform Project as WebStudioFactory<atom Project> id "conformance:todo:Project:WebStudioFactory" {
|
||||
bind create.call to package ProjectRuntime.newProject with { project to constructor Project; };
|
||||
}
|
||||
conform Project as WebStudioCreateable id "conformance:todo:Project:WebStudioCreateable" {
|
||||
}
|
||||
conform Project as WebStudioPlaceable id "conformance:todo:Project:WebStudioPlaceable" {
|
||||
|
||||
bind placements.resolve to edge WebStudioPlacementSubjectEdge.placements.resolve;
|
||||
@@ -98,18 +92,10 @@ workspace Todo id "workspace:todo" revision "workspace:todo@capabilities-v1" com
|
||||
conform Project as Named id "conformance:todo:Project:Named" {
|
||||
private state ProjectName id "slot:project:name" on Project : string policy optimistic-register default "Untitled project";
|
||||
|
||||
bind name to state ProjectName;
|
||||
bind name.get to state ProjectName.read;
|
||||
bind name.set to state ProjectName.write;
|
||||
}
|
||||
conform Project as ProjectTasks id "conformance:todo:Project:ProjectTasks" {
|
||||
private edge ProjectTags id "edge:project:tags" {
|
||||
atom Project projection tags id "projection:project:tags" many-unique;
|
||||
atom Tag projection catalogs id "projection:tag:catalogs" many-unique;
|
||||
}
|
||||
bind tags.resolve to edge ProjectTags.tags.resolve;
|
||||
bind tags.connect to edge ProjectTags.tags.connect;
|
||||
bind tags.disconnect to edge ProjectTags.tags.disconnect;
|
||||
bind tags.watch-start to edge ProjectTags.tags.watch-start;
|
||||
bind tags.watch-stop to edge ProjectTags.tags.watch-stop;
|
||||
private edge ProjectTaskEdge id "edge:project:tasks" {
|
||||
atom Project projection tasks id "projection:project:tasks" many-unique ordered;
|
||||
atom Task projection project id "projection:task:project" optional-one;
|
||||
@@ -118,12 +104,9 @@ workspace Todo id "workspace:todo" revision "workspace:todo@capabilities-v1" com
|
||||
bind tasks.resolve to edge ProjectTaskEdge.tasks.resolve;
|
||||
bind tasks.connect to edge ProjectTaskEdge.tasks.connect;
|
||||
bind tasks.disconnect to edge ProjectTaskEdge.tasks.disconnect;
|
||||
bind tasks.watch-start to edge ProjectTaskEdge.tasks.watch-start;
|
||||
bind tasks.watch-stop to edge ProjectTaskEdge.tasks.watch-stop;
|
||||
}
|
||||
conform Project as ProjectActions id "conformance:todo:Project:ProjectActions" {
|
||||
|
||||
bind addTag.call to package ProjectRuntime.addTag with { catalog to interface ProjectTasks; tag to constructor Tag; };
|
||||
bind addTask.call to package ProjectRuntime.addTask with {
|
||||
tasks to interface ProjectTasks;
|
||||
task to constructor Task;
|
||||
@@ -139,10 +122,9 @@ workspace Todo id "workspace:todo" revision "workspace:todo@capabilities-v1" com
|
||||
};
|
||||
bind count.watch-stop to package ProjectRuntime.taskCountWatchStop;
|
||||
}
|
||||
conform ProjectReactComponent as WebStudioReactSource id "conformance:todo:ProjectReactComponent:WebStudioReactSource" {
|
||||
conform ProjectReactComponent as WebStudioReactComponent id "conformance:todo:ProjectReactComponent:WebStudioReactComponent" {
|
||||
|
||||
bind source.get to package ProjectReactRuntime.sourceGet;
|
||||
}
|
||||
conform ProjectReactComponent as WebStudioReactComponent<record {named: interface-ref<Named>; tasks: interface-ref<ProjectTasks>;}> id "conformance:todo:ProjectReactComponent:WebStudioReactComponent" {
|
||||
bind props.get to package ProjectReactRuntime.propsGet with {
|
||||
named to interface Named via edge ProjectComponentEdge.subject;
|
||||
tasks to interface ProjectTasks via edge ProjectComponentEdge.subject;
|
||||
@@ -178,28 +160,6 @@ workspace Todo id "workspace:todo" revision "workspace:todo@capabilities-v1" com
|
||||
bind document.watch-stop to package TodoRuntime.searchDocumentWatchStop;
|
||||
}
|
||||
conform Task as TaskData id "conformance:todo:Task:TaskData" {
|
||||
private state EstimatedHours id "slot:task:estimated-hours" on Task : double policy optimistic-register default 0;
|
||||
private state RepeatDays id "slot:task:repeat-days" on Task : int32 policy optimistic-register default 0;
|
||||
private edge TaskTags id "edge:task:tags" {
|
||||
atom Task projection tags id "projection:task:tags" many-unique;
|
||||
atom Tag projection tasks id "projection:tag:tasks" many-unique;
|
||||
}
|
||||
private edge TaskCompletions id "edge:task:completions" {
|
||||
atom Task projection completions id "projection:task:completions" many-unique;
|
||||
atom Completion projection task id "projection:completion:task" optional-one;
|
||||
}
|
||||
bind estimatedHours to state EstimatedHours;
|
||||
bind repeatDays to state RepeatDays;
|
||||
bind tags.resolve to edge TaskTags.tags.resolve;
|
||||
bind tags.connect to edge TaskTags.tags.connect;
|
||||
bind tags.disconnect to edge TaskTags.tags.disconnect;
|
||||
bind tags.watch-start to edge TaskTags.tags.watch-start;
|
||||
bind tags.watch-stop to edge TaskTags.tags.watch-stop;
|
||||
bind completions.resolve to edge TaskCompletions.completions.resolve;
|
||||
bind completions.connect to edge TaskCompletions.completions.connect;
|
||||
bind completions.disconnect to edge TaskCompletions.completions.disconnect;
|
||||
bind completions.watch-start to edge TaskCompletions.completions.watch-start;
|
||||
bind completions.watch-stop to edge TaskCompletions.completions.watch-stop;
|
||||
private state TaskTitle id "slot:task:title" on Task : string policy optimistic-register default "Untitled task";
|
||||
private state TaskStatus id "slot:task:status" on Task : string policy optimistic-register default "OPEN";
|
||||
private state TaskPriority id "slot:task:priority" on Task : string policy optimistic-register default "NORMAL";
|
||||
@@ -207,17 +167,22 @@ workspace Todo id "workspace:todo" revision "workspace:todo@capabilities-v1" com
|
||||
private state TaskDueDate id "slot:task:due-date" on Task : string policy optimistic-register default "";
|
||||
private state TaskEnergy id "slot:task:energy" on Task : string policy optimistic-register default "MEDIUM";
|
||||
|
||||
bind title to state TaskTitle;
|
||||
bind status to state TaskStatus;
|
||||
bind priority to state TaskPriority;
|
||||
bind notes to state TaskNotes;
|
||||
bind dueDate to state TaskDueDate;
|
||||
bind energy to state TaskEnergy;
|
||||
bind title.get to state TaskTitle.read;
|
||||
bind title.set to state TaskTitle.write;
|
||||
bind status.get to state TaskStatus.read;
|
||||
bind status.set to state TaskStatus.write;
|
||||
bind priority.get to state TaskPriority.read;
|
||||
bind priority.set to state TaskPriority.write;
|
||||
bind notes.get to state TaskNotes.read;
|
||||
bind notes.set to state TaskNotes.write;
|
||||
bind dueDate.get to state TaskDueDate.read;
|
||||
bind dueDate.set to state TaskDueDate.write;
|
||||
bind energy.get to state TaskEnergy.read;
|
||||
bind energy.set to state TaskEnergy.write;
|
||||
}
|
||||
conform Task as TaskActions id "conformance:todo:Task:TaskActions" {
|
||||
|
||||
bind complete.call to package TodoRuntime.complete with {
|
||||
completion to constructor Completion;
|
||||
data to interface TaskData;
|
||||
};
|
||||
bind reopen.call to package TodoRuntime.reopen with {
|
||||
@@ -237,10 +202,9 @@ workspace Todo id "workspace:todo" revision "workspace:todo@capabilities-v1" com
|
||||
};
|
||||
bind label.watch-stop to package TodoRuntime.displayLabelWatchStop;
|
||||
}
|
||||
conform TaskReactComponent as WebStudioReactSource id "conformance:todo:TaskReactComponent:WebStudioReactSource" {
|
||||
conform TaskReactComponent as WebStudioReactComponent id "conformance:todo:TaskReactComponent:WebStudioReactComponent" {
|
||||
|
||||
bind source.get to package TodoReactRuntime.sourceGet;
|
||||
}
|
||||
conform TaskReactComponent as WebStudioReactComponent<record {data: interface-ref<TaskData>;}> id "conformance:todo:TaskReactComponent:WebStudioReactComponent" {
|
||||
bind props.get to package TodoReactRuntime.propsGet with {
|
||||
data to interface TaskData via edge TaskComponentEdge.subject;
|
||||
};
|
||||
@@ -250,20 +214,6 @@ workspace Todo id "workspace:todo" revision "workspace:todo@capabilities-v1" com
|
||||
bind props.watch-stop to package TodoReactRuntime.propsWatchStop;
|
||||
}
|
||||
|
||||
conform Tag as TagData id "conformance:tag:data" {
|
||||
private state Tagname id "slot:tag:name" on Tag : string policy optimistic-register default "New tag";
|
||||
bind name to state Tagname;
|
||||
private state Tagcolor id "slot:tag:color" on Tag : string policy optimistic-register default "#557a68";
|
||||
bind color to state Tagcolor;
|
||||
}
|
||||
conform Completion as CompletionData id "conformance:completion:data" {
|
||||
private state CompletioncompletedAt id "slot:completion:completedAt" on Completion : double policy optimistic-register default 0;
|
||||
bind completedAt to state CompletioncompletedAt;
|
||||
private state CompletionscheduledDate id "slot:completion:scheduledDate" on Completion : string policy optimistic-register default "";
|
||||
bind scheduledDate to state CompletionscheduledDate;
|
||||
}
|
||||
constructor Tag to ProjectRuntime.createTag with { data to interface TagData; };
|
||||
constructor Completion to TodoRuntime.createCompletion with { data to interface CompletionData; };
|
||||
constructor Project to ProjectRuntime.createProject;
|
||||
constructor Task to TodoRuntime.createTask with {
|
||||
data to interface TaskData;
|
||||
|
||||
Reference in New Issue
Block a user