githolon 0.103.18 → 0.104.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/dev-server.mjs
CHANGED
|
@@ -2640,8 +2640,8 @@ function resolveGatewayOperation(spec, opName, method) {
|
|
|
2640
2640
|
|
|
2641
2641
|
// ../cloud/cloudflare-shell/src/kernel-registry.generated.ts
|
|
2642
2642
|
var DEPLOYED_KERNELS = [
|
|
2643
|
-
{ prefix: "
|
|
2644
|
-
{ prefix: "
|
|
2643
|
+
{ prefix: "7d3fcc35", hash: "7d3fcc3501bef23849493026e10ce75b3ef3d1400f789181d03f4a3b0b5b1fdb", version: "kernel-7d3fcc35", note: "production (this candidate)", features: ["compoundKeys", "capturedReads", "invariantGate", "surfacedMerge", "fieldProvenance", "nullSemantics", "attestedReads", "conflictSnapshots", "ownedAudience", "temporalEnum"] },
|
|
2644
|
+
{ prefix: "0ae2f9ba", hash: "0ae2f9ba0fa5ec2eccb798fdcb99f46a82d76c03d851a9fc62eed47ffc25c394", version: "kernel-0ae2f9ba", note: "test-mint (this candidate) \u2014 feature-equivalent to production", features: ["compoundKeys", "capturedReads", "invariantGate", "surfacedMerge", "fieldProvenance", "nullSemantics", "attestedReads", "conflictSnapshots", "ownedAudience", "temporalEnum"] }
|
|
2645
2645
|
];
|
|
2646
2646
|
|
|
2647
2647
|
// ../cloud/cloudflare-shell/src/staged-intents.ts
|
|
Binary file
|
|
Binary file
|
package/dist/full-cli.mjs
CHANGED
|
@@ -727,6 +727,18 @@ function aggregate(id, fields, opts) {
|
|
|
727
727
|
);
|
|
728
728
|
}
|
|
729
729
|
const { stored, hasMany: hasMany2 } = partitionFields(fields);
|
|
730
|
+
if (opts?.fulfils !== void 0) {
|
|
731
|
+
const decl = opts.fulfils;
|
|
732
|
+
for (const reserved of [decl.name, decl.blockedField]) {
|
|
733
|
+
if (stored[reserved] !== void 0) {
|
|
734
|
+
throw new Error(
|
|
735
|
+
`aggregate '${id}': field '${reserved}' collides with the fulfilment '${decl.name}' (it owns '${decl.name}' + '${decl.blockedField}') \u2014 rename your field`
|
|
736
|
+
);
|
|
737
|
+
}
|
|
738
|
+
}
|
|
739
|
+
stored[decl.name] = t.enum(decl.tiers).merge(Lww).optional();
|
|
740
|
+
stored[decl.blockedField] = t.string().merge(Lww).optional();
|
|
741
|
+
}
|
|
730
742
|
for (const [name, field] of Object.entries(stored)) {
|
|
731
743
|
const fref = field.foreignRef;
|
|
732
744
|
if (fref === void 0) continue;
|
|
@@ -824,6 +836,12 @@ function aggregate(id, fields, opts) {
|
|
|
824
836
|
const metaFields = Object.entries(stored).filter(([, f]) => f.isMeta === true).map(([name]) => name).sort();
|
|
825
837
|
const fromBirthFields = Object.entries(stored).filter(([, f]) => f.isFromBirth === true).map(([name]) => name).sort();
|
|
826
838
|
const userInvariant = opts?.invariant;
|
|
839
|
+
const fulfils = opts?.fulfils;
|
|
840
|
+
const afterFulfilment = fulfils !== void 0 ? (snapshot2) => {
|
|
841
|
+
const verdict = fulfils.invariant(snapshot2);
|
|
842
|
+
if ("reject" in verdict) return { reject: `${id}: ${verdict.reject}` };
|
|
843
|
+
return userInvariant !== void 0 ? userInvariant(snapshot2) : { accept: true };
|
|
844
|
+
} : userInvariant;
|
|
827
845
|
const composedInvariant = fromBirthFields.length > 0 ? (snapshot2) => {
|
|
828
846
|
for (const name of fromBirthFields) {
|
|
829
847
|
const v = snapshot2[name];
|
|
@@ -831,13 +849,14 @@ function aggregate(id, fields, opts) {
|
|
|
831
849
|
return { reject: `${id}.${name} is fromBirth() \u2014 every ${id} must carry it from creation (the plan left it unset)` };
|
|
832
850
|
}
|
|
833
851
|
}
|
|
834
|
-
return
|
|
835
|
-
} :
|
|
852
|
+
return afterFulfilment !== void 0 ? afterFulfilment(snapshot2) : { accept: true };
|
|
853
|
+
} : afterFulfilment;
|
|
836
854
|
const base = {
|
|
837
855
|
id,
|
|
838
856
|
fields: stored,
|
|
839
857
|
hasMany: hasMany2,
|
|
840
858
|
__isAggregateHandle: true,
|
|
859
|
+
...opts?.fulfils !== void 0 ? { fulfilment: opts.fulfils } : {},
|
|
841
860
|
...composedInvariant !== void 0 ? { hasInvariant: true, invariant: composedInvariant } : {},
|
|
842
861
|
...fromBirthFields.length > 0 ? { fromBirthFields } : {},
|
|
843
862
|
// VALUE-FREE INVARIANT (nomosFlowGate rule 4a): when the ONLY invariant is the synthesized
|
|
@@ -953,6 +972,7 @@ var init_aggregate = __esm({
|
|
|
953
972
|
"use strict";
|
|
954
973
|
init_fields();
|
|
955
974
|
init_contract();
|
|
975
|
+
init_drivers();
|
|
956
976
|
READ_CAP_NAME_RE = /^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$/;
|
|
957
977
|
OWNER_FIELD = "__nomos_owner_principal_7c1f5e";
|
|
958
978
|
OWNED_READ_RELATION = "nomos_internal_owned_reader_7c1f5e";
|
|
@@ -7017,7 +7037,8 @@ ${String(commit).toLowerCase()}`;
|
|
|
7017
7037
|
try {
|
|
7018
7038
|
const outcome = await offerDirective("nomos", "promoteDomain", prepared.payload, {
|
|
7019
7039
|
actor: connectionPrincipal,
|
|
7020
|
-
returnCreated: false
|
|
7040
|
+
returnCreated: false,
|
|
7041
|
+
domainHash: String(currentLawInner()?.["nomos"] ?? "")
|
|
7021
7042
|
});
|
|
7022
7043
|
const head = typeof outcome === "string" ? outcome : String(outcome?.head ?? "");
|
|
7023
7044
|
const readiness2 = await prepareDomainReady(domain, candidateHash);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "githolon",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.104.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "githolon — the Nomos developer CLI: Rails-style generators for @githolon/dsl domains + the package compiler. Kernel-independent.",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@bjorn3/browser_wasi_shim": "0.4.2",
|
|
32
32
|
"@bufbuild/protobuf": "^2.13.0",
|
|
33
|
-
"@githolon/dsl": "^0.
|
|
33
|
+
"@githolon/dsl": "^0.104.0",
|
|
34
34
|
"isomorphic-git": "^1.38.4",
|
|
35
35
|
"tsx": "^4.19.2"
|
|
36
36
|
},
|