@xemahq/contracts 0.29.0 → 0.31.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/biome/lib/biome-generated-index.d.ts +102 -0
- package/dist/biome/lib/biome-generated-index.d.ts.map +1 -1
- package/dist/biome-dependency/lib/biome-dependency-contract.d.ts +83 -0
- package/dist/biome-dependency/lib/biome-dependency-contract.d.ts.map +1 -1
- package/dist/biome-dependency/lib/biome-dependency-contract.js +79 -6
- package/dist/biome-dependency/lib/biome-dependency-contract.js.map +1 -1
- package/dist/biome-dependency/lib/peer-seam-table.d.ts +3 -1
- package/dist/biome-dependency/lib/peer-seam-table.d.ts.map +1 -1
- package/dist/biome-dependency/lib/peer-seam-table.js +19 -2
- package/dist/biome-dependency/lib/peer-seam-table.js.map +1 -1
- package/dist/distribution/lib/biome-closure.d.ts +40 -4
- package/dist/distribution/lib/biome-closure.d.ts.map +1 -1
- package/dist/distribution/lib/biome-closure.js +221 -42
- package/dist/distribution/lib/biome-closure.js.map +1 -1
- package/dist/distribution/lib/distribution-roots.d.ts +10 -3
- package/dist/distribution/lib/distribution-roots.d.ts.map +1 -1
- package/dist/distribution/lib/distribution-roots.js +15 -2
- package/dist/distribution/lib/distribution-roots.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
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { DeclaredProblemParams } from './problem-declared-params';
|
|
2
|
+
import { ProblemActionableBy, ProblemRetry, type ProblemDetails, type ProblemFieldIssue } from './problem-details';
|
|
2
3
|
export declare const XEMA_ERROR_BRAND = "@xemahq/kernel-contracts/http#XemaError";
|
|
3
4
|
export interface XemaErrorInit {
|
|
4
5
|
readonly code: string;
|
|
@@ -7,6 +8,9 @@ export interface XemaErrorInit {
|
|
|
7
8
|
readonly detail?: string;
|
|
8
9
|
readonly instance?: string;
|
|
9
10
|
readonly errors?: readonly ProblemFieldIssue[];
|
|
11
|
+
readonly actionableBy?: ProblemActionableBy;
|
|
12
|
+
readonly retry?: ProblemRetry;
|
|
13
|
+
readonly declaredParams?: DeclaredProblemParams;
|
|
10
14
|
readonly extensions?: Readonly<Record<string, unknown>>;
|
|
11
15
|
readonly cause?: unknown;
|
|
12
16
|
}
|
|
@@ -18,6 +22,10 @@ export declare class XemaError extends Error {
|
|
|
18
22
|
readonly detail: string;
|
|
19
23
|
readonly instance: string | undefined;
|
|
20
24
|
readonly errors: readonly ProblemFieldIssue[] | undefined;
|
|
25
|
+
readonly actionableBy: ProblemActionableBy | undefined;
|
|
26
|
+
readonly retry: ProblemRetry | undefined;
|
|
27
|
+
readonly params: DeclaredProblemParams['values'] | undefined;
|
|
28
|
+
readonly declaredParams: DeclaredProblemParams | undefined;
|
|
21
29
|
readonly extensions: Readonly<Record<string, unknown>> | undefined;
|
|
22
30
|
constructor(init: XemaErrorInit);
|
|
23
31
|
toProblemDetails(overrides?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xema-error.d.ts","sourceRoot":"","sources":["../../../src/http/lib/xema-error.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"xema-error.d.ts","sourceRoot":"","sources":["../../../src/http/lib/xema-error.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAEL,mBAAmB,EAKnB,YAAY,EAKZ,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AA2E3B,eAAO,MAAM,gBAAgB,4CAA4C,CAAC;AAG1E,MAAM,WAAW,aAAa;IAE5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAO/C,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAE5C,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAO9B,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAMhD,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAExD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,SAAU,SAAQ,KAAK;IAElC,QAAQ,CAAC,cAAc,6CAAoB;IAE3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAC1D,QAAQ,CAAC,YAAY,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,CAAC;IAEzC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;IAC7D,QAAQ,CAAC,cAAc,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;gBAEvD,IAAI,EAAE,aAAa;IAsF/B,gBAAgB,CAAC,SAAS,CAAC,EAAE;QAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KAC5B,GAAG,cAAc;CAsBnB;AAUD,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAW9D"}
|
|
@@ -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.31.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)",
|