@xemahq/contracts 0.45.0 → 0.46.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/.source-stamp.json +1 -1
- package/dist/authorization-facts/lib/facts-apply.d.ts +1 -3
- package/dist/authorization-facts/lib/facts-apply.d.ts.map +1 -1
- package/dist/authorization-facts/lib/facts-apply.js +2 -22
- package/dist/authorization-facts/lib/facts-apply.js.map +1 -1
- package/package.json +1 -1
package/dist/.source-stamp.json
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
export declare const FACTS_APPLY_MAX_TUPLES = 100;
|
|
3
2
|
export declare const FactsVersionSchema: z.ZodNumber;
|
|
4
3
|
export declare enum FactChangeKind {
|
|
5
4
|
Delta = "delta",
|
|
@@ -139,7 +138,6 @@ export declare const FactChangeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
139
138
|
version: z.ZodNumber;
|
|
140
139
|
}, z.core.$strict>], "kind">;
|
|
141
140
|
export type FactChange = z.infer<typeof FactChangeSchema>;
|
|
142
|
-
export declare function namedTupleCount(change: FactChange): number;
|
|
143
141
|
export declare const FactsApplyRequestSchema: z.ZodObject<{
|
|
144
142
|
orgId: z.ZodString;
|
|
145
143
|
biomeId: z.ZodString;
|
|
@@ -237,7 +235,7 @@ export declare enum FactsApplyRefusal {
|
|
|
237
235
|
TypeNotWritable = "type_not_writable",
|
|
238
236
|
RelationNotWritable = "relation_not_writable",
|
|
239
237
|
TenantMismatch = "tenant_mismatch",
|
|
240
|
-
|
|
238
|
+
SplitWouldWiden = "split_would_widen",
|
|
241
239
|
TupleNotAdmittedByModel = "tuple_not_admitted_by_model"
|
|
242
240
|
}
|
|
243
241
|
export declare const FactsApplyRefusalSchema: z.ZodEnum<typeof FactsApplyRefusal>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facts-apply.d.ts","sourceRoot":"","sources":["../../../src/authorization-facts/lib/facts-apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"facts-apply.d.ts","sourceRoot":"","sources":["../../../src/authorization-facts/lib/facts-apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA2DxB,eAAO,MAAM,kBAAkB,aAA8B,CAAC;AAe9D,oBAAY,cAAc;IACxB,KAAK,UAAU;IACf,YAAY,kBAAkB;IAC9B,YAAY,kBAAkB;CAC/B;AAED,eAAO,MAAM,oBAAoB,kCAA+B,CAAC;AAEjE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAa9B,CAAC;AAEL,eAAO,MAAM,wBAAwB;;;;;;;;;;kBAK1B,CAAC;AAEZ,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;kBAQ9B,CAAC;AAEZ,eAAO,MAAM,4BAA4B;;;;;;;kBAM9B,CAAC;AAEZ,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAI3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAM1D,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkChC,CAAC;AACL,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAGxE,oBAAY,iBAAiB;IAE3B,OAAO,YAAY;IAEnB,UAAU,eAAe;IAEzB,UAAU,eAAe;CAC1B;AAED,eAAO,MAAM,uBAAuB,qCAAkC,CAAC;AAEvE,eAAO,MAAM,sBAAsB;;;;;;;kBAOxB,CAAC;AACZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAMtE,eAAO,MAAM,wBAAwB;;;;;;;;;;;kBAM1B,CAAC;AACZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAM1E,oBAAY,iBAAiB;IAE3B,cAAc,oBAAoB;IAElC,eAAe,sBAAsB;IAErC,mBAAmB,0BAA0B;IAE7C,cAAc,oBAAoB;IAOlC,eAAe,sBAAsB;IAErC,uBAAuB,gCAAgC;CACxD;AAED,eAAO,MAAM,uBAAuB,qCAAkC,CAAC"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FactsApplyRefusalSchema = exports.FactsApplyRefusal = exports.FactsApplyResponseSchema = exports.FactChangeResultSchema = exports.FactChangeOutcomeSchema = exports.FactChangeOutcome = exports.FactsApplyRequestSchema = exports.FactChangeSchema = exports.DeleteObjectFactChangeSchema = exports.DesiredStateFactChangeSchema = exports.DesiredFactSubjectSchema = exports.DeltaFactChangeSchema = exports.FactChangeKindSchema = exports.FactChangeKind = exports.FactsVersionSchema =
|
|
4
|
-
exports.namedTupleCount = namedTupleCount;
|
|
3
|
+
exports.FactsApplyRefusalSchema = exports.FactsApplyRefusal = exports.FactsApplyResponseSchema = exports.FactChangeResultSchema = exports.FactChangeOutcomeSchema = exports.FactChangeOutcome = exports.FactsApplyRequestSchema = exports.FactChangeSchema = exports.DeleteObjectFactChangeSchema = exports.DesiredStateFactChangeSchema = exports.DesiredFactSubjectSchema = exports.DeltaFactChangeSchema = exports.FactChangeKindSchema = exports.FactChangeKind = exports.FactsVersionSchema = void 0;
|
|
5
4
|
const zod_1 = require("zod");
|
|
6
5
|
const fact_tuple_1 = require("./fact-tuple");
|
|
7
|
-
exports.FACTS_APPLY_MAX_TUPLES = 100;
|
|
8
6
|
exports.FactsVersionSchema = zod_1.z.number().int().positive();
|
|
9
7
|
var FactChangeKind;
|
|
10
8
|
(function (FactChangeKind) {
|
|
@@ -53,16 +51,6 @@ exports.FactChangeSchema = zod_1.z.discriminatedUnion('kind', [
|
|
|
53
51
|
exports.DesiredStateFactChangeSchema,
|
|
54
52
|
exports.DeleteObjectFactChangeSchema,
|
|
55
53
|
]);
|
|
56
|
-
function namedTupleCount(change) {
|
|
57
|
-
switch (change.kind) {
|
|
58
|
-
case FactChangeKind.Delta:
|
|
59
|
-
return change.writes.length + change.deletes.length;
|
|
60
|
-
case FactChangeKind.DesiredState:
|
|
61
|
-
return Object.values(change.relations).reduce((sum, subjects) => sum + subjects.length, 0);
|
|
62
|
-
case FactChangeKind.DeleteObject:
|
|
63
|
-
return 0;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
54
|
function objectKey(object) {
|
|
67
55
|
return `${object.type}:${object.id}`;
|
|
68
56
|
}
|
|
@@ -98,14 +86,6 @@ exports.FactsApplyRequestSchema = zod_1.z
|
|
|
98
86
|
}
|
|
99
87
|
}
|
|
100
88
|
});
|
|
101
|
-
const named = request.changes.reduce((s, c) => s + namedTupleCount(c), 0);
|
|
102
|
-
if (named > exports.FACTS_APPLY_MAX_TUPLES) {
|
|
103
|
-
ctx.addIssue({
|
|
104
|
-
code: 'custom',
|
|
105
|
-
path: ['changes'],
|
|
106
|
-
message: `the request names ${named} tuples; the limit is ${exports.FACTS_APPLY_MAX_TUPLES} and a request is refused, never split.`,
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
89
|
});
|
|
110
90
|
var FactChangeOutcome;
|
|
111
91
|
(function (FactChangeOutcome) {
|
|
@@ -134,7 +114,7 @@ var FactsApplyRefusal;
|
|
|
134
114
|
FactsApplyRefusal["TypeNotWritable"] = "type_not_writable";
|
|
135
115
|
FactsApplyRefusal["RelationNotWritable"] = "relation_not_writable";
|
|
136
116
|
FactsApplyRefusal["TenantMismatch"] = "tenant_mismatch";
|
|
137
|
-
FactsApplyRefusal["
|
|
117
|
+
FactsApplyRefusal["SplitWouldWiden"] = "split_would_widen";
|
|
138
118
|
FactsApplyRefusal["TupleNotAdmittedByModel"] = "tuple_not_admitted_by_model";
|
|
139
119
|
})(FactsApplyRefusal || (exports.FactsApplyRefusal = FactsApplyRefusal = {}));
|
|
140
120
|
exports.FactsApplyRefusalSchema = zod_1.z.nativeEnum(FactsApplyRefusal);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facts-apply.js","sourceRoot":"","sources":["../../../src/authorization-facts/lib/facts-apply.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"facts-apply.js","sourceRoot":"","sources":["../../../src/authorization-facts/lib/facts-apply.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xemahq/contracts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.46.0",
|
|
4
4
|
"description": "Consolidated Xema OS kernel wire contracts — pure types + zod schemas for the kernel protocol surfaces. One package, one npm scope, wildcard per-surface subpath exports. No framework deps; the one runtime dependency beside zod is the OpenFGA syntax transformer the authorization-module composer runs.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Neuralchowder Inc. <developer@xema.dev> (https://xema.dev)",
|