@xemahq/contracts 0.28.0 → 0.30.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 +2 -2
- package/dist/distribution/index.d.ts +2 -0
- package/dist/distribution/index.d.ts.map +1 -1
- package/dist/distribution/index.js +2 -0
- package/dist/distribution/index.js.map +1 -1
- package/dist/distribution/lib/biome-closure.d.ts +136 -0
- package/dist/distribution/lib/biome-closure.d.ts.map +1 -0
- package/dist/distribution/lib/biome-closure.js +440 -0
- package/dist/distribution/lib/biome-closure.js.map +1 -0
- package/dist/distribution/lib/distribution-lock.d.ts +16 -1
- package/dist/distribution/lib/distribution-lock.d.ts.map +1 -1
- package/dist/distribution/lib/distribution-lock.js +63 -2
- package/dist/distribution/lib/distribution-lock.js.map +1 -1
- package/dist/distribution/lib/distribution-roots.d.ts +28 -0
- package/dist/distribution/lib/distribution-roots.d.ts.map +1 -0
- package/dist/distribution/lib/distribution-roots.js +45 -0
- package/dist/distribution/lib/distribution-roots.js.map +1 -0
- package/dist/distribution/lib/distribution.d.ts +4 -1
- package/dist/distribution/lib/distribution.d.ts.map +1 -1
- package/dist/distribution/lib/distribution.js +41 -1
- package/dist/distribution/lib/distribution.js.map +1 -1
- package/dist/http/index.d.ts +2 -0
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/index.js +2 -0
- package/dist/http/index.js.map +1 -1
- package/dist/http/lib/problem-declared-params.d.ts +13 -0
- package/dist/http/lib/problem-declared-params.d.ts.map +1 -0
- package/dist/http/lib/problem-declared-params.js +58 -0
- package/dist/http/lib/problem-declared-params.js.map +1 -0
- package/dist/http/lib/problem-definition.d.ts +58 -0
- package/dist/http/lib/problem-definition.d.ts.map +1 -0
- package/dist/http/lib/problem-definition.js +145 -0
- package/dist/http/lib/problem-definition.js.map +1 -0
- package/dist/http/lib/problem-details.d.ts +41 -0
- package/dist/http/lib/problem-details.d.ts.map +1 -1
- package/dist/http/lib/problem-details.js +71 -1
- package/dist/http/lib/problem-details.js.map +1 -1
- package/dist/http/lib/problem-disposition.d.ts +8 -0
- package/dist/http/lib/problem-disposition.d.ts.map +1 -0
- package/dist/http/lib/problem-disposition.js +48 -0
- package/dist/http/lib/problem-disposition.js.map +1 -0
- package/dist/http/lib/xema-error.d.ts +9 -1
- package/dist/http/lib/xema-error.d.ts.map +1 -1
- package/dist/http/lib/xema-error.js +38 -2
- package/dist/http/lib/xema-error.js.map +1 -1
- package/package.json +1 -1
|
@@ -12,6 +12,10 @@ class XemaError extends Error {
|
|
|
12
12
|
detail;
|
|
13
13
|
instance;
|
|
14
14
|
errors;
|
|
15
|
+
actionableBy;
|
|
16
|
+
retry;
|
|
17
|
+
params;
|
|
18
|
+
declaredParams;
|
|
15
19
|
extensions;
|
|
16
20
|
constructor(init) {
|
|
17
21
|
const detail = init.detail ?? init.title;
|
|
@@ -29,6 +33,17 @@ class XemaError extends Error {
|
|
|
29
33
|
'is not one.');
|
|
30
34
|
}
|
|
31
35
|
(0, problem_details_1.assertNoReservedExtensionMembers)(init.extensions);
|
|
36
|
+
assertWellFormed('errors', problem_details_1.ProblemFieldIssueSchema.array(), init.errors);
|
|
37
|
+
assertWellFormed('actionableBy', problem_details_1.ProblemActionableBySchema, init.actionableBy);
|
|
38
|
+
assertWellFormed('retry', problem_details_1.ProblemRetrySchema, init.retry);
|
|
39
|
+
const paramsDefect = (0, problem_details_1.problemParamsDefect)({
|
|
40
|
+
code: init.code,
|
|
41
|
+
params: init.declaredParams,
|
|
42
|
+
errors: init.errors,
|
|
43
|
+
});
|
|
44
|
+
if (paramsDefect !== undefined) {
|
|
45
|
+
throw new problem_details_1.ProblemDetailsError(problem_details_1.ProblemDetailsRefusal.Malformed, `XemaError ${init.code}: ${paramsDefect}.`, 'params');
|
|
46
|
+
}
|
|
32
47
|
this.name = new.target.name;
|
|
33
48
|
this.code = init.code;
|
|
34
49
|
this.title = init.title;
|
|
@@ -36,6 +51,10 @@ class XemaError extends Error {
|
|
|
36
51
|
this.detail = detail;
|
|
37
52
|
this.instance = init.instance;
|
|
38
53
|
this.errors = init.errors === undefined ? undefined : [...init.errors];
|
|
54
|
+
this.actionableBy = init.actionableBy;
|
|
55
|
+
this.retry = init.retry;
|
|
56
|
+
this.declaredParams = init.declaredParams;
|
|
57
|
+
this.params = init.declaredParams?.values;
|
|
39
58
|
this.extensions = init.extensions;
|
|
40
59
|
Object.setPrototypeOf(this, new.target.prototype);
|
|
41
60
|
}
|
|
@@ -51,9 +70,14 @@ class XemaError extends Error {
|
|
|
51
70
|
? {}
|
|
52
71
|
: { traceId: overrides.traceId }),
|
|
53
72
|
...(this.errors === undefined ? {} : { errors: this.errors }),
|
|
54
|
-
...(this.
|
|
73
|
+
...(this.actionableBy === undefined
|
|
74
|
+
? {}
|
|
75
|
+
: { actionableBy: this.actionableBy }),
|
|
76
|
+
...(this.retry === undefined ? {} : { retry: this.retry }),
|
|
77
|
+
...(this.declaredParams === undefined
|
|
55
78
|
? {}
|
|
56
|
-
: {
|
|
79
|
+
: { params: this.declaredParams }),
|
|
80
|
+
...(this.extensions === undefined ? {} : { extensions: this.extensions }),
|
|
57
81
|
});
|
|
58
82
|
}
|
|
59
83
|
}
|
|
@@ -68,4 +92,16 @@ function isXemaError(value) {
|
|
|
68
92
|
typeof candidate.title === 'string' &&
|
|
69
93
|
typeof candidate.status === 'number');
|
|
70
94
|
}
|
|
95
|
+
function assertWellFormed(member, schema, value) {
|
|
96
|
+
if (value === undefined) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
const parsed = schema.safeParse(value);
|
|
100
|
+
if (!parsed.success) {
|
|
101
|
+
const reasons = parsed.error.issues
|
|
102
|
+
.map((issue) => `${[member, ...issue.path.map(String)].join('.')}: ${issue.message}`)
|
|
103
|
+
.join('; ');
|
|
104
|
+
throw new problem_details_1.ProblemDetailsError(problem_details_1.ProblemDetailsRefusal.Malformed, `XemaError ${member} is malformed — ${reasons}`, member);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
71
107
|
//# sourceMappingURL=xema-error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xema-error.js","sourceRoot":"","sources":["../../../src/http/lib/xema-error.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"xema-error.js","sourceRoot":"","sources":["../../../src/http/lib/xema-error.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.30.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/runtime deps.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Neuralchowder Inc. <developer@xema.dev> (https://xema.dev)",
|