Compare commits
2 Commits
e39f6c5718
...
ea79276292
| Author | SHA1 | Date | |
|---|---|---|---|
| ea79276292 | |||
| f3ea74dcde |
+2
-2
@@ -8,7 +8,7 @@ built, what has become obsolete, and what we should not forget from old Quixos.
|
|||||||
|
|
||||||
### Quixos Protocol
|
### Quixos Protocol
|
||||||
|
|
||||||
Implemented in `quixos-instance/quixos-protocol`.
|
Implemented in `quixos-protocol`.
|
||||||
|
|
||||||
- Shared protobuf ownership for Camino, orch, package descriptors, and future
|
- Shared protobuf ownership for Camino, orch, package descriptors, and future
|
||||||
package runtime clients.
|
package runtime clients.
|
||||||
@@ -665,7 +665,7 @@ sanitized generated modules with embedded metadata for reversibility.
|
|||||||
Shared protobuf source lives in:
|
Shared protobuf source lives in:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
quixos-instance/quixos-protocol
|
quixos-protocol
|
||||||
proto/camino/*.proto
|
proto/camino/*.proto
|
||||||
proto/quixos/*.proto
|
proto/quixos/*.proto
|
||||||
generated TS bindings
|
generated TS bindings
|
||||||
|
|||||||
@@ -12,7 +12,14 @@
|
|||||||
"name": "camino-package-runtime",
|
"name": "camino-package-runtime",
|
||||||
"enabled": false,
|
"enabled": false,
|
||||||
"path": "quixos-instance/packages/camino-package-runtime",
|
"path": "quixos-instance/packages/camino-package-runtime",
|
||||||
"remote": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos-packages/camino-package-runtime.git",
|
"remote": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git",
|
||||||
|
"ref": "refs/heads/exported"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "quixos-protocol",
|
||||||
|
"enabled": false,
|
||||||
|
"path": "quixos-protocol",
|
||||||
|
"remote": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-protocol.git",
|
||||||
"ref": "refs/heads/exported"
|
"ref": "refs/heads/exported"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
];
|
];
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
runHook preBuild
|
runHook preBuild
|
||||||
export QUIXOS_PROTO_PATH="${pkgs.protobuf}/include:$PWD/../quixos-protocol/proto''${QUIXOS_PROTO_PATH:+:$QUIXOS_PROTO_PATH}"
|
export QUIXOS_PROTO_PATH="${pkgs.protobuf}/include:$PWD/../../quixos-protocol/proto''${QUIXOS_PROTO_PATH:+:$QUIXOS_PROTO_PATH}"
|
||||||
npm run build
|
npm run build
|
||||||
${lib.concatStringsSep "\n" (lib.mapAttrsToList bundleEntrypoint entrypoints)}
|
${lib.concatStringsSep "\n" (lib.mapAttrsToList bundleEntrypoint entrypoints)}
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
@@ -54,7 +54,7 @@
|
|||||||
runHook preInstall
|
runHook preInstall
|
||||||
mkdir -p "$out"
|
mkdir -p "$out"
|
||||||
${lib.concatStringsSep "\n" (lib.mapAttrsToList installEntrypoint entrypoints)}
|
${lib.concatStringsSep "\n" (lib.mapAttrsToList installEntrypoint entrypoints)}
|
||||||
cp --reflink=auto --recursive ../quixos-protocol/proto "$out/proto"
|
cp --reflink=auto --recursive ../../quixos-protocol/proto "$out/proto"
|
||||||
cp package.json "$out/package.json"
|
cp package.json "$out/package.json"
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
@@ -115,7 +115,7 @@
|
|||||||
PS1="[qx:camino-orch] $PS1"
|
PS1="[qx:camino-orch] $PS1"
|
||||||
fi
|
fi
|
||||||
export CAMINO_ORCH_DEV_ROOT="$PWD/.var"
|
export CAMINO_ORCH_DEV_ROOT="$PWD/.var"
|
||||||
export QUIXOS_PROTO_PATH="${pkgs.protobuf}/include:$PWD/../quixos-protocol/proto''${QUIXOS_PROTO_PATH:+:$QUIXOS_PROTO_PATH}"
|
export QUIXOS_PROTO_PATH="${pkgs.protobuf}/include:$PWD/../../quixos-protocol/proto''${QUIXOS_PROTO_PATH:+:$QUIXOS_PROTO_PATH}"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "npm run generate && tsc -p tsconfig.build.json",
|
"build": "npm run generate && tsc -p tsconfig.build.json",
|
||||||
"generate": "rm -rf src/gen && mkdir -p src/gen && protoc --plugin=protoc-gen-es=./node_modules/.bin/protoc-gen-es --es_out=src/gen --es_opt=target=ts,import_extension=js --proto_path=../quixos-protocol/proto --proto_path=$QUIXOS_PROTO_PATH ../quixos-protocol/proto/quixos/refs.proto ../quixos-protocol/proto/quixos/package.proto ../quixos-protocol/proto/quixos/orch.proto ../quixos-protocol/proto/quixos/runtime.proto ../quixos-protocol/proto/camino/schema.proto ../quixos-protocol/proto/camino/api.proto",
|
"generate": "rm -rf src/gen && mkdir -p src/gen && protoc --plugin=protoc-gen-es=./node_modules/.bin/protoc-gen-es --es_out=src/gen --es_opt=target=ts,import_extension=js --proto_path=../../quixos-protocol/proto --proto_path=$QUIXOS_PROTO_PATH ../../quixos-protocol/proto/quixos/refs.proto ../../quixos-protocol/proto/quixos/package.proto ../../quixos-protocol/proto/quixos/orch.proto ../../quixos-protocol/proto/quixos/runtime.proto ../../quixos-protocol/proto/camino/schema.proto ../../quixos-protocol/proto/camino/api.proto",
|
||||||
"start": "npm run build && node --enable-source-maps dist/src/orch-server.js",
|
"start": "npm run build && node --enable-source-maps dist/src/orch-server.js",
|
||||||
"test": "npm run build && node --test dist/test/*.test.js",
|
"test": "npm run build && node --test dist/test/*.test.js",
|
||||||
"typecheck": "npm run generate && tsc --noEmit"
|
"typecheck": "npm run generate && tsc --noEmit"
|
||||||
|
|||||||
@@ -28,8 +28,8 @@ const protoPaths = () => {
|
|||||||
.split(path.delimiter)
|
.split(path.delimiter)
|
||||||
.map((entry) => entry.trim())
|
.map((entry) => entry.trim())
|
||||||
.filter(Boolean),
|
.filter(Boolean),
|
||||||
path.resolve(process.cwd(), "../quixos-protocol/proto"),
|
path.resolve(process.cwd(), "../../quixos-protocol/proto"),
|
||||||
path.resolve(process.cwd(), "quixos-instance/quixos-protocol/proto"),
|
path.resolve(process.cwd(), "quixos-protocol/proto"),
|
||||||
];
|
];
|
||||||
return [...new Set(candidates)].filter((candidate) =>
|
return [...new Set(candidates)].filter((candidate) =>
|
||||||
fs.existsSync(path.join(candidate, "quixos/package.proto")),
|
fs.existsSync(path.join(candidate, "quixos/package.proto")),
|
||||||
|
|||||||
@@ -47,7 +47,7 @@
|
|||||||
];
|
];
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
runHook preBuild
|
runHook preBuild
|
||||||
export QUIXOS_PROTO_PATH="${pkgs.protobuf}/include:$PWD/../quixos-protocol/proto''${QUIXOS_PROTO_PATH:+:$QUIXOS_PROTO_PATH}"
|
export QUIXOS_PROTO_PATH="${pkgs.protobuf}/include:$PWD/../../quixos-protocol/proto''${QUIXOS_PROTO_PATH:+:$QUIXOS_PROTO_PATH}"
|
||||||
npm run build
|
npm run build
|
||||||
${lib.concatStringsSep "\n" (lib.mapAttrsToList bundleEntrypoint entrypoints)}
|
${lib.concatStringsSep "\n" (lib.mapAttrsToList bundleEntrypoint entrypoints)}
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
@@ -56,7 +56,7 @@
|
|||||||
runHook preInstall
|
runHook preInstall
|
||||||
mkdir -p "$out"
|
mkdir -p "$out"
|
||||||
${lib.concatStringsSep "\n" (lib.mapAttrsToList installEntrypoint entrypoints)}
|
${lib.concatStringsSep "\n" (lib.mapAttrsToList installEntrypoint entrypoints)}
|
||||||
cp --reflink=auto --recursive ../quixos-protocol/proto "$out/proto"
|
cp --reflink=auto --recursive ../../quixos-protocol/proto "$out/proto"
|
||||||
cp package.json "$out/package.json"
|
cp package.json "$out/package.json"
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
@@ -158,7 +158,7 @@
|
|||||||
PS1="[qx:camino] $PS1"
|
PS1="[qx:camino] $PS1"
|
||||||
fi
|
fi
|
||||||
export CAMINO_DEV_ROOT="$PWD/.var"
|
export CAMINO_DEV_ROOT="$PWD/.var"
|
||||||
export QUIXOS_PROTO_PATH="${pkgs.protobuf}/include:$PWD/../quixos-protocol/proto''${QUIXOS_PROTO_PATH:+:$QUIXOS_PROTO_PATH}"
|
export QUIXOS_PROTO_PATH="${pkgs.protobuf}/include:$PWD/../../quixos-protocol/proto''${QUIXOS_PROTO_PATH:+:$QUIXOS_PROTO_PATH}"
|
||||||
export CAMINO_PROTO_PATH="$QUIXOS_PROTO_PATH''${CAMINO_PROTO_PATH:+:$CAMINO_PROTO_PATH}"
|
export CAMINO_PROTO_PATH="$QUIXOS_PROTO_PATH''${CAMINO_PROTO_PATH:+:$CAMINO_PROTO_PATH}"
|
||||||
export CAMINO_DATABASE_URL="$(${camino-db-url}/bin/camino-db-url)"
|
export CAMINO_DATABASE_URL="$(${camino-db-url}/bin/camino-db-url)"
|
||||||
'';
|
'';
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "npm run generate && tsc -p tsconfig.build.json",
|
"build": "npm run generate && tsc -p tsconfig.build.json",
|
||||||
"generate": "rm -rf src/gen && mkdir -p src/gen && protoc --plugin=protoc-gen-es=./node_modules/.bin/protoc-gen-es --es_out=src/gen --es_opt=target=ts,import_extension=js --proto_path=../quixos-protocol/proto --proto_path=$QUIXOS_PROTO_PATH ../quixos-protocol/proto/quixos/refs.proto ../quixos-protocol/proto/quixos/package.proto ../quixos-protocol/proto/quixos/orch.proto ../quixos-protocol/proto/camino/schema.proto ../quixos-protocol/proto/camino/api.proto",
|
"generate": "rm -rf src/gen && mkdir -p src/gen && protoc --plugin=protoc-gen-es=./node_modules/.bin/protoc-gen-es --es_out=src/gen --es_opt=target=ts,import_extension=js --proto_path=../../quixos-protocol/proto --proto_path=$QUIXOS_PROTO_PATH ../../quixos-protocol/proto/quixos/refs.proto ../../quixos-protocol/proto/quixos/package.proto ../../quixos-protocol/proto/quixos/orch.proto ../../quixos-protocol/proto/camino/schema.proto ../../quixos-protocol/proto/camino/api.proto",
|
||||||
"start": "npm run build && node --enable-source-maps dist/src/server.js",
|
"start": "npm run build && node --enable-source-maps dist/src/server.js",
|
||||||
"schema:todo": "npm run build && node --enable-source-maps dist/src/schema-compile.js ../schemas/quixos.todo.Task/schema.camino.proto",
|
"schema:todo": "npm run build && node --enable-source-maps dist/src/schema-compile.js ../schemas/quixos.todo.Task/schema.camino.proto",
|
||||||
"test": "npm run build && node --test dist/test/*.test.js",
|
"test": "npm run build && node --test dist/test/*.test.js",
|
||||||
|
|||||||
@@ -544,8 +544,8 @@ export const compileCaminoSchema = async (
|
|||||||
.map((entry) => path.resolve(entry));
|
.map((entry) => path.resolve(entry));
|
||||||
const includeDirs = [
|
const includeDirs = [
|
||||||
path.dirname(absoluteSourceFile),
|
path.dirname(absoluteSourceFile),
|
||||||
path.resolve("../quixos-protocol/proto"),
|
path.resolve("../../quixos-protocol/proto"),
|
||||||
path.resolve("quixos-instance/quixos-protocol/proto"),
|
path.resolve("quixos-protocol/proto"),
|
||||||
path.resolve("proto"),
|
path.resolve("proto"),
|
||||||
...envIncludeDirs,
|
...envIncludeDirs,
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -138,8 +138,8 @@ const protoPaths = () => {
|
|||||||
.split(path.delimiter)
|
.split(path.delimiter)
|
||||||
.map((entry) => entry.trim())
|
.map((entry) => entry.trim())
|
||||||
.filter(Boolean),
|
.filter(Boolean),
|
||||||
path.resolve(process.cwd(), "../quixos-protocol/proto"),
|
path.resolve(process.cwd(), "../../quixos-protocol/proto"),
|
||||||
path.resolve(process.cwd(), "quixos-instance/quixos-protocol/proto"),
|
path.resolve(process.cwd(), "quixos-protocol/proto"),
|
||||||
];
|
];
|
||||||
return [...new Set(candidates)].filter((candidate) =>
|
return [...new Set(candidates)].filter((candidate) =>
|
||||||
fs.existsSync(path.join(candidate, "quixos/package.proto")),
|
fs.existsSync(path.join(candidate, "quixos/package.proto")),
|
||||||
|
|||||||
+2
-2
@@ -74,11 +74,11 @@
|
|||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"path": "../../quixos-protocol",
|
"path": "../../../quixos-protocol",
|
||||||
"type": "path"
|
"type": "path"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"path": "../../quixos-protocol",
|
"path": "../../../quixos-protocol",
|
||||||
"type": "path"
|
"type": "path"
|
||||||
},
|
},
|
||||||
"parent": []
|
"parent": []
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
quixos-protocol.url = "path:../../quixos-protocol";
|
quixos-protocol.url = "path:../../../quixos-protocol";
|
||||||
quixosNixHelpers = {
|
quixosNixHelpers = {
|
||||||
url = "git+https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-nix-helpers.git?rev=8dde1f6b82197e5c508ad4260e258ffecc7828a9";
|
url = "git+https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-nix-helpers.git?rev=8dde1f6b82197e5c508ad4260e258ffecc7828a9";
|
||||||
flake = false;
|
flake = false;
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
pkgs.protobuf
|
pkgs.protobuf
|
||||||
];
|
];
|
||||||
devShellHook = { pkgs, ... }: ''
|
devShellHook = { pkgs, ... }: ''
|
||||||
export QUIXOS_PROTO_PATH="${pkgs.protobuf}/include:$PWD/../../quixos-protocol/proto''${QUIXOS_PROTO_PATH:+:$QUIXOS_PROTO_PATH}"
|
export QUIXOS_PROTO_PATH="${pkgs.protobuf}/include:$PWD/../../../quixos-protocol/proto''${QUIXOS_PROTO_PATH:+:$QUIXOS_PROTO_PATH}"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -174,11 +174,11 @@
|
|||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"path": "../../quixos-protocol",
|
"path": "../../../quixos-protocol",
|
||||||
"type": "path"
|
"type": "path"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"path": "../../quixos-protocol",
|
"path": "../../../quixos-protocol",
|
||||||
"type": "path"
|
"type": "path"
|
||||||
},
|
},
|
||||||
"parent": [
|
"parent": [
|
||||||
|
|||||||
@@ -50,7 +50,7 @@
|
|||||||
];
|
];
|
||||||
devShellHook = { pkgs, ... }: ''
|
devShellHook = { pkgs, ... }: ''
|
||||||
export QUIXOS_TODO_TASK_SCHEMA="$PWD/../../schemas/quixos.todo.Task/schema.camino.proto"
|
export QUIXOS_TODO_TASK_SCHEMA="$PWD/../../schemas/quixos.todo.Task/schema.camino.proto"
|
||||||
export QUIXOS_PROTO_PATH="${pkgs.protobuf}/include:$PWD/../../quixos-protocol/proto:$PWD/../../schemas/quixos.todo.Task''${QUIXOS_PROTO_PATH:+:$QUIXOS_PROTO_PATH}"
|
export QUIXOS_PROTO_PATH="${pkgs.protobuf}/include:$PWD/../../../quixos-protocol/proto:$PWD/../../schemas/quixos.todo.Task''${QUIXOS_PROTO_PATH:+:$QUIXOS_PROTO_PATH}"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-2
@@ -28,8 +28,7 @@ const protoPaths = () => {
|
|||||||
.map((entry) => entry.trim())
|
.map((entry) => entry.trim())
|
||||||
.filter(Boolean),
|
.filter(Boolean),
|
||||||
path.resolve(process.cwd(), "proto"),
|
path.resolve(process.cwd(), "proto"),
|
||||||
path.resolve(process.cwd(), "../quixos-protocol/proto"),
|
path.resolve(process.cwd(), "quixos-protocol/proto"),
|
||||||
path.resolve(process.cwd(), "quixos-instance/quixos-protocol/proto"),
|
|
||||||
];
|
];
|
||||||
return [...new Set(candidates)].filter((candidate) =>
|
return [...new Set(candidates)].filter((candidate) =>
|
||||||
fs.existsSync(path.join(candidate, "quixos/package.proto")),
|
fs.existsSync(path.join(candidate, "quixos/package.proto")),
|
||||||
Reference in New Issue
Block a user