@xemahq/contracts 0.78.0 → 0.79.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/authorization-facts/lib/facts-apply.d.ts +1 -0
- package/dist/authorization-facts/lib/facts-apply.d.ts.map +1 -1
- package/dist/authorization-facts/lib/facts-apply.js +1 -0
- package/dist/authorization-facts/lib/facts-apply.js.map +1 -1
- package/dist/authorization-facts/lib/facts-writer-authority.d.ts +12 -1
- package/dist/authorization-facts/lib/facts-writer-authority.d.ts.map +1 -1
- package/dist/authorization-facts/lib/facts-writer-authority.js +69 -5
- package/dist/authorization-facts/lib/facts-writer-authority.js.map +1 -1
- package/dist/authorization-module/lib/authorization-composition-error.d.ts +1 -0
- package/dist/authorization-module/lib/authorization-composition-error.d.ts.map +1 -1
- package/dist/authorization-module/lib/authorization-composition-error.js +1 -0
- package/dist/authorization-module/lib/authorization-composition-error.js.map +1 -1
- package/dist/authorization-module/lib/platform-authorization-modules.d.ts.map +1 -1
- package/dist/authorization-module/lib/platform-authorization-modules.js +1 -0
- package/dist/authorization-module/lib/platform-authorization-modules.js.map +1 -1
- package/dist/authorization-module/server/compose-authorization-base.d.ts.map +1 -1
- package/dist/authorization-module/server/compose-authorization-base.js +30 -0
- package/dist/authorization-module/server/compose-authorization-base.js.map +1 -1
- package/dist/biome/lib/biome-component.d.ts +14 -0
- package/dist/biome/lib/biome-component.d.ts.map +1 -1
- package/dist/biome/lib/biome-component.js +37 -5
- package/dist/biome/lib/biome-component.js.map +1 -1
- package/dist/biome/lib/biome-generated-index.d.ts +75 -1
- package/dist/biome/lib/biome-generated-index.d.ts.map +1 -1
- package/dist/biome/lib/biome-generated-index.js +14 -0
- package/dist/biome/lib/biome-generated-index.js.map +1 -1
- package/dist/biome/lib/biome-manifest.d.ts +24 -0
- package/dist/biome/lib/biome-manifest.d.ts.map +1 -1
- package/dist/biome/xema-biome.schema.json +48 -0
- package/dist/connector/index.d.ts +1 -0
- package/dist/connector/index.d.ts.map +1 -1
- package/dist/connector/index.js +1 -0
- package/dist/connector/index.js.map +1 -1
- package/dist/connector/lib/connector-adapter-contribution.d.ts +1 -0
- package/dist/connector/lib/connector-adapter-contribution.d.ts.map +1 -1
- package/dist/connector/lib/connector-descriptor.d.ts +4 -0
- package/dist/connector/lib/connector-descriptor.d.ts.map +1 -1
- package/dist/connector/lib/connector-descriptor.js +2 -0
- package/dist/connector/lib/connector-descriptor.js.map +1 -1
- package/dist/connector/lib/connector-operation-exposure.d.ts +8 -0
- package/dist/connector/lib/connector-operation-exposure.d.ts.map +1 -0
- package/dist/connector/lib/connector-operation-exposure.js +12 -0
- package/dist/connector/lib/connector-operation-exposure.js.map +1 -0
- package/dist/contribution/lib/contribution-kind.d.ts +1 -0
- package/dist/contribution/lib/contribution-kind.d.ts.map +1 -1
- package/dist/contribution/lib/contribution-kind.js +1 -0
- package/dist/contribution/lib/contribution-kind.js.map +1 -1
- package/dist/distribution/lib/kernel-contract-source-paths.d.ts +1 -1
- package/dist/distribution/lib/kernel-contract-source-paths.d.ts.map +1 -1
- package/dist/distribution/lib/kernel-contract-source-paths.js +1 -1
- package/dist/distribution/lib/kernel-contract-source-paths.js.map +1 -1
- package/dist/edition-protocol/edition-contract.schema.json +1 -1
- package/dist/edition-protocol/edition-protocol.json +1 -1
- package/dist/edition-protocol/lib/edition-protocol.js +2 -2
- package/dist/setting/index.d.ts +10 -0
- package/dist/setting/index.d.ts.map +1 -0
- package/dist/setting/index.js +26 -0
- package/dist/setting/index.js.map +1 -0
- package/dist/setting/lib/setting-constraints.d.ts +32 -0
- package/dist/setting/lib/setting-constraints.d.ts.map +1 -0
- package/dist/setting/lib/setting-constraints.js +27 -0
- package/dist/setting/lib/setting-constraints.js.map +1 -0
- package/dist/setting/lib/setting-definition.d.ts +70 -0
- package/dist/setting/lib/setting-definition.d.ts.map +1 -0
- package/dist/setting/lib/setting-definition.js +144 -0
- package/dist/setting/lib/setting-definition.js.map +1 -0
- package/dist/setting/lib/setting-duration.d.ts +3 -0
- package/dist/setting/lib/setting-duration.d.ts.map +1 -0
- package/dist/setting/lib/setting-duration.js +39 -0
- package/dist/setting/lib/setting-duration.js.map +1 -0
- package/dist/setting/lib/setting-enums.d.ts +27 -0
- package/dist/setting/lib/setting-enums.d.ts.map +1 -0
- package/dist/setting/lib/setting-enums.js +34 -0
- package/dist/setting/lib/setting-enums.js.map +1 -0
- package/dist/setting/lib/setting-key.d.ts +19 -0
- package/dist/setting/lib/setting-key.d.ts.map +1 -0
- package/dist/setting/lib/setting-key.js +70 -0
- package/dist/setting/lib/setting-key.js.map +1 -0
- package/dist/setting/lib/setting-merge.d.ts +7 -0
- package/dist/setting/lib/setting-merge.d.ts.map +1 -0
- package/dist/setting/lib/setting-merge.js +36 -0
- package/dist/setting/lib/setting-merge.js.map +1 -0
- package/dist/setting/lib/setting-resolve.d.ts +11 -0
- package/dist/setting/lib/setting-resolve.d.ts.map +1 -0
- package/dist/setting/lib/setting-resolve.js +39 -0
- package/dist/setting/lib/setting-resolve.js.map +1 -0
- package/dist/setting/lib/setting-revision.d.ts +5 -0
- package/dist/setting/lib/setting-revision.d.ts.map +1 -0
- package/dist/setting/lib/setting-revision.js +68 -0
- package/dist/setting/lib/setting-revision.js.map +1 -0
- package/dist/setting/lib/setting-value.d.ts +5 -0
- package/dist/setting/lib/setting-value.d.ts.map +1 -0
- package/dist/setting/lib/setting-value.js +57 -0
- package/dist/setting/lib/setting-value.js.map +1 -0
- package/dist/space/index.d.ts +0 -1
- package/dist/space/index.d.ts.map +1 -1
- package/dist/space/index.js +0 -1
- package/dist/space/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/space/lib/scoped-setting.d.ts +0 -28
- package/dist/space/lib/scoped-setting.d.ts.map +0 -1
- package/dist/space/lib/scoped-setting.js +0 -60
- package/dist/space/lib/scoped-setting.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setting-duration.js","sourceRoot":"","sources":["../../../src/setting/lib/setting-duration.ts"],"names":[],"mappings":";;AAWA,0DAmBC;AAGD,4DAkBC;AA9CD,MAAM,YAAY,GAAG,wDAAwD,CAAC;AAE9E,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,MAAM,eAAe,GAAG,KAAK,CAAC;AAE9B,SAAgB,uBAAuB,CAAC,GAAW;IACjD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CACb,IAAI,GAAG,2FAA2F,CACnG,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3D,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CACtC,CAAC;IACF,MAAM,KAAK,GACT,IAAK,GAAG,eAAe;QACvB,KAAM,GAAG,gBAAgB;QACzB,OAAQ,GAAG,kBAAkB;QAC7B,OAAQ,CAAC;IACX,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,oBAAoB,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAGD,SAAgB,wBAAwB,CAAC,YAAoB;IAC3D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CACb,GAAG,YAAY,iDAAiD,CACjE,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,eAAe,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,eAAe,CAAC,GAAG,gBAAgB,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,CAAC,YAAY,GAAG,gBAAgB,CAAC,GAAG,kBAAkB,CACvD,CAAC;IACF,MAAM,OAAO,GAAG,YAAY,GAAG,kBAAkB,CAAC;IAClD,MAAM,IAAI,GACR,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrC,OAAO,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { type SpaceKindSubset } from "../../space";
|
|
3
|
+
export declare enum SettingValueType {
|
|
4
|
+
Boolean = "boolean",
|
|
5
|
+
Integer = "integer",
|
|
6
|
+
Duration = "duration",
|
|
7
|
+
Enum = "enum"
|
|
8
|
+
}
|
|
9
|
+
export declare const SettingValueTypeSchema: z.ZodEnum<typeof SettingValueType>;
|
|
10
|
+
export declare enum SettingMerge {
|
|
11
|
+
Nearest = "nearest",
|
|
12
|
+
Tighten = "tighten"
|
|
13
|
+
}
|
|
14
|
+
export declare const SettingMergeSchema: z.ZodEnum<typeof SettingMerge>;
|
|
15
|
+
export declare enum SettingTighterDirection {
|
|
16
|
+
Lower = "lower",
|
|
17
|
+
Higher = "higher"
|
|
18
|
+
}
|
|
19
|
+
export declare const SettingTighterDirectionSchema: z.ZodEnum<typeof SettingTighterDirection>;
|
|
20
|
+
export declare const SETTING_SPACE_KINDS: SpaceKindSubset;
|
|
21
|
+
export declare const SETTING_REGISTRY = "The scoped-setting registry";
|
|
22
|
+
export declare enum SettingOwnership {
|
|
23
|
+
OrgOnly = "org-only",
|
|
24
|
+
ProjectOverridable = "project-overridable",
|
|
25
|
+
ProjectOnly = "project-only"
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=setting-enums.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setting-enums.d.ts","sourceRoot":"","sources":["../../../src/setting/lib/setting-enums.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAA8B,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAS/E,oBAAY,gBAAgB;IAC1B,OAAO,YAAY;IACnB,OAAO,YAAY;IAEnB,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd;AACD,eAAO,MAAM,sBAAsB,oCAAiC,CAAC;AASrE,oBAAY,YAAY;IACtB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AACD,eAAO,MAAM,kBAAkB,gCAA6B,CAAC;AAG7D,oBAAY,uBAAuB;IACjC,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AACD,eAAO,MAAM,6BAA6B,2CAEzC,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,eAGjC,CAAC;AAGF,eAAO,MAAM,gBAAgB,gCAAgC,CAAC;AAG9D,oBAAY,gBAAgB;IAC1B,OAAO,aAAa;IACpB,kBAAkB,wBAAwB;IAC1C,WAAW,iBAAiB;CAC7B"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SettingOwnership = exports.SETTING_REGISTRY = exports.SETTING_SPACE_KINDS = exports.SettingTighterDirectionSchema = exports.SettingTighterDirection = exports.SettingMergeSchema = exports.SettingMerge = exports.SettingValueTypeSchema = exports.SettingValueType = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const space_1 = require("../../space");
|
|
6
|
+
var SettingValueType;
|
|
7
|
+
(function (SettingValueType) {
|
|
8
|
+
SettingValueType["Boolean"] = "boolean";
|
|
9
|
+
SettingValueType["Integer"] = "integer";
|
|
10
|
+
SettingValueType["Duration"] = "duration";
|
|
11
|
+
SettingValueType["Enum"] = "enum";
|
|
12
|
+
})(SettingValueType || (exports.SettingValueType = SettingValueType = {}));
|
|
13
|
+
exports.SettingValueTypeSchema = zod_1.z.nativeEnum(SettingValueType);
|
|
14
|
+
var SettingMerge;
|
|
15
|
+
(function (SettingMerge) {
|
|
16
|
+
SettingMerge["Nearest"] = "nearest";
|
|
17
|
+
SettingMerge["Tighten"] = "tighten";
|
|
18
|
+
})(SettingMerge || (exports.SettingMerge = SettingMerge = {}));
|
|
19
|
+
exports.SettingMergeSchema = zod_1.z.nativeEnum(SettingMerge);
|
|
20
|
+
var SettingTighterDirection;
|
|
21
|
+
(function (SettingTighterDirection) {
|
|
22
|
+
SettingTighterDirection["Lower"] = "lower";
|
|
23
|
+
SettingTighterDirection["Higher"] = "higher";
|
|
24
|
+
})(SettingTighterDirection || (exports.SettingTighterDirection = SettingTighterDirection = {}));
|
|
25
|
+
exports.SettingTighterDirectionSchema = zod_1.z.nativeEnum(SettingTighterDirection);
|
|
26
|
+
exports.SETTING_SPACE_KINDS = (0, space_1.spaceKindSubset)(space_1.SpaceKind.Org, space_1.SpaceKind.Project);
|
|
27
|
+
exports.SETTING_REGISTRY = "The scoped-setting registry";
|
|
28
|
+
var SettingOwnership;
|
|
29
|
+
(function (SettingOwnership) {
|
|
30
|
+
SettingOwnership["OrgOnly"] = "org-only";
|
|
31
|
+
SettingOwnership["ProjectOverridable"] = "project-overridable";
|
|
32
|
+
SettingOwnership["ProjectOnly"] = "project-only";
|
|
33
|
+
})(SettingOwnership || (exports.SettingOwnership = SettingOwnership = {}));
|
|
34
|
+
//# sourceMappingURL=setting-enums.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setting-enums.js","sourceRoot":"","sources":["../../../src/setting/lib/setting-enums.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,uCAA+E;AAS/E,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;IAEnB,yCAAqB,CAAA;IACrB,iCAAa,CAAA;AACf,CAAC,EANW,gBAAgB,gCAAhB,gBAAgB,QAM3B;AACY,QAAA,sBAAsB,GAAG,OAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;AASrE,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;AACrB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AACY,QAAA,kBAAkB,GAAG,OAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AAG7D,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,0CAAe,CAAA;IACf,4CAAiB,CAAA;AACnB,CAAC,EAHW,uBAAuB,uCAAvB,uBAAuB,QAGlC;AACY,QAAA,6BAA6B,GAAG,OAAC,CAAC,UAAU,CACvD,uBAAuB,CACxB,CAAC;AAGW,QAAA,mBAAmB,GAAoB,IAAA,uBAAe,EACjE,iBAAS,CAAC,GAAG,EACb,iBAAS,CAAC,OAAO,CAClB,CAAC;AAGW,QAAA,gBAAgB,GAAG,6BAA6B,CAAC;AAG9D,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,wCAAoB,CAAA;IACpB,8DAA0C,CAAA;IAC1C,gDAA4B,CAAA;AAC9B,CAAC,EAJW,gBAAgB,gCAAhB,gBAAgB,QAI3B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const SETTING_NAME_PATTERN: RegExp;
|
|
3
|
+
export declare const SETTING_NAME_MAX_LENGTH = 96;
|
|
4
|
+
export declare const SETTING_KEY_NAMESPACE_SEPARATOR = ":";
|
|
5
|
+
export declare const SETTING_KEY_MAJOR_SEPARATOR = "@";
|
|
6
|
+
export declare const SettingNameSchema: z.ZodString;
|
|
7
|
+
export declare const SettingMajorSchema: z.ZodNumber;
|
|
8
|
+
export declare const SettingNamespaceSchema: z.ZodString;
|
|
9
|
+
export interface SettingKeyParts {
|
|
10
|
+
readonly namespace: string;
|
|
11
|
+
readonly name: string;
|
|
12
|
+
readonly major: number;
|
|
13
|
+
}
|
|
14
|
+
export declare const SettingKeyPartsSchema: z.ZodType<SettingKeyParts>;
|
|
15
|
+
export declare function formatSettingKey(parts: SettingKeyParts): string;
|
|
16
|
+
export declare function parseSettingKey(raw: string): SettingKeyParts;
|
|
17
|
+
export declare const SettingKeySchema: z.ZodString;
|
|
18
|
+
export declare function assertSettingDeclaredBy(key: string, declaringBiomeId: string): SettingKeyParts;
|
|
19
|
+
//# sourceMappingURL=setting-key.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setting-key.d.ts","sourceRoot":"","sources":["../../../src/setting/lib/setting-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,oBAAoB,QAA6C,CAAC;AAC/E,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,+BAA+B,MAAM,CAAC;AACnD,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C,eAAO,MAAM,iBAAiB,aAM3B,CAAC;AAEJ,eAAO,MAAM,kBAAkB,aAA0B,CAAC;AAE1D,eAAO,MAAM,sBAAsB,aAE2C,CAAC;AAE/E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,qBAAqB,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAMlD,CAAC;AAEZ,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAG/D;AAKD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAoB5D;AAED,eAAO,MAAM,gBAAgB,aAS3B,CAAC;AAMH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,gBAAgB,EAAE,MAAM,GACvB,eAAe,CAUjB"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SettingKeySchema = exports.SettingKeyPartsSchema = exports.SettingNamespaceSchema = exports.SettingMajorSchema = exports.SettingNameSchema = exports.SETTING_KEY_MAJOR_SEPARATOR = exports.SETTING_KEY_NAMESPACE_SEPARATOR = exports.SETTING_NAME_MAX_LENGTH = exports.SETTING_NAME_PATTERN = void 0;
|
|
4
|
+
exports.formatSettingKey = formatSettingKey;
|
|
5
|
+
exports.parseSettingKey = parseSettingKey;
|
|
6
|
+
exports.assertSettingDeclaredBy = assertSettingDeclaredBy;
|
|
7
|
+
const zod_1 = require("zod");
|
|
8
|
+
const contribution_1 = require("../../contribution");
|
|
9
|
+
exports.SETTING_NAME_PATTERN = /^[a-z][a-z0-9-]*(?:\.[a-z][a-z0-9-]*)*$/u;
|
|
10
|
+
exports.SETTING_NAME_MAX_LENGTH = 96;
|
|
11
|
+
exports.SETTING_KEY_NAMESPACE_SEPARATOR = ":";
|
|
12
|
+
exports.SETTING_KEY_MAJOR_SEPARATOR = "@";
|
|
13
|
+
exports.SettingNameSchema = zod_1.z
|
|
14
|
+
.string()
|
|
15
|
+
.max(exports.SETTING_NAME_MAX_LENGTH)
|
|
16
|
+
.regex(exports.SETTING_NAME_PATTERN, 'A setting name is lower-kebab segments joined by dots, e.g. "self-answer-allowed"; it never carries a namespace or a major.');
|
|
17
|
+
exports.SettingMajorSchema = zod_1.z.number().int().min(1);
|
|
18
|
+
exports.SettingNamespaceSchema = zod_1.z
|
|
19
|
+
.string()
|
|
20
|
+
.regex(contribution_1.CONTRIBUTION_NAMESPACE_PATTERN, "A setting namespace is a biome id.");
|
|
21
|
+
exports.SettingKeyPartsSchema = zod_1.z
|
|
22
|
+
.object({
|
|
23
|
+
namespace: exports.SettingNamespaceSchema,
|
|
24
|
+
name: exports.SettingNameSchema,
|
|
25
|
+
major: exports.SettingMajorSchema,
|
|
26
|
+
})
|
|
27
|
+
.strict();
|
|
28
|
+
function formatSettingKey(parts) {
|
|
29
|
+
const parsed = exports.SettingKeyPartsSchema.parse(parts);
|
|
30
|
+
return `${parsed.namespace}${exports.SETTING_KEY_NAMESPACE_SEPARATOR}${parsed.name}${exports.SETTING_KEY_MAJOR_SEPARATOR}${parsed.major}`;
|
|
31
|
+
}
|
|
32
|
+
const KEY_SHAPE = /^([^:@]+):([^:@]+)@(\d+)$/u;
|
|
33
|
+
function parseSettingKey(raw) {
|
|
34
|
+
const match = KEY_SHAPE.exec(raw);
|
|
35
|
+
if (match === null) {
|
|
36
|
+
throw new Error(`"${raw}" is not a setting key; expected "<namespace>:<name>@<major>".`);
|
|
37
|
+
}
|
|
38
|
+
const parsed = exports.SettingKeyPartsSchema.safeParse({
|
|
39
|
+
namespace: match[1],
|
|
40
|
+
name: match[2],
|
|
41
|
+
major: Number(match[3]),
|
|
42
|
+
});
|
|
43
|
+
if (!parsed.success) {
|
|
44
|
+
throw new Error(`"${raw}" is not a legal setting key: ${parsed.error.issues
|
|
45
|
+
.map((issue) => `${issue.path.join(".")}: ${issue.message}`)
|
|
46
|
+
.join("; ")}`);
|
|
47
|
+
}
|
|
48
|
+
return parsed.data;
|
|
49
|
+
}
|
|
50
|
+
exports.SettingKeySchema = zod_1.z.string().superRefine((raw, ctx) => {
|
|
51
|
+
try {
|
|
52
|
+
parseSettingKey(raw);
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
ctx.addIssue({
|
|
56
|
+
code: "custom",
|
|
57
|
+
message: error instanceof Error ? error.message : String(error),
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
function assertSettingDeclaredBy(key, declaringBiomeId) {
|
|
62
|
+
const parts = parseSettingKey(key);
|
|
63
|
+
if (parts.namespace !== declaringBiomeId) {
|
|
64
|
+
throw new Error(`Setting "${key}" names namespace "${parts.namespace}", but it is declared by ` +
|
|
65
|
+
`"${declaringBiomeId}". The namespace is stamped from the contribution owner, ` +
|
|
66
|
+
`never authored.`);
|
|
67
|
+
}
|
|
68
|
+
return parts;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=setting-key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setting-key.js","sourceRoot":"","sources":["../../../src/setting/lib/setting-key.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ParameterCombine } from "../../declared-parameter";
|
|
2
|
+
import type { EffectiveValue } from "../../declared-parameter";
|
|
3
|
+
import type { SettingValue } from "./setting-constraints";
|
|
4
|
+
import type { SettingDefinition } from "./setting-definition";
|
|
5
|
+
export declare function settingCombine(def: SettingDefinition): ParameterCombine<SettingValue> | undefined;
|
|
6
|
+
export declare function tightenWith(def: SettingDefinition, effective: Pick<EffectiveValue<SettingValue>, "effectiveValue">, requested: SettingValue): SettingValue;
|
|
7
|
+
//# sourceMappingURL=setting-merge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setting-merge.d.ts","sourceRoot":"","sources":["../../../src/setting/lib/setting-merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAc9D,wBAAgB,cAAc,CAC5B,GAAG,EAAE,iBAAiB,GACrB,gBAAgB,CAAC,YAAY,CAAC,GAAG,SAAS,CAqB5C;AAMD,wBAAgB,WAAW,CACzB,GAAG,EAAE,iBAAiB,EACtB,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC,EAC/D,SAAS,EAAE,YAAY,GACtB,YAAY,CAYd"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.settingCombine = settingCombine;
|
|
4
|
+
exports.tightenWith = tightenWith;
|
|
5
|
+
const setting_enums_1 = require("./setting-enums");
|
|
6
|
+
const setting_value_1 = require("./setting-value");
|
|
7
|
+
function settingCombine(def) {
|
|
8
|
+
if (def.merge === setting_enums_1.SettingMerge.Nearest)
|
|
9
|
+
return undefined;
|
|
10
|
+
switch (def.valueType) {
|
|
11
|
+
case setting_enums_1.SettingValueType.Boolean: {
|
|
12
|
+
const tighterIs = def.tighter;
|
|
13
|
+
return (a, b) => (a === tighterIs ? a : b);
|
|
14
|
+
}
|
|
15
|
+
case setting_enums_1.SettingValueType.Integer:
|
|
16
|
+
case setting_enums_1.SettingValueType.Duration: {
|
|
17
|
+
const lower = def.tighter === setting_enums_1.SettingTighterDirection.Lower;
|
|
18
|
+
return (a, b) => lower
|
|
19
|
+
? Math.min(a, b)
|
|
20
|
+
: Math.max(a, b);
|
|
21
|
+
}
|
|
22
|
+
case setting_enums_1.SettingValueType.Enum: {
|
|
23
|
+
const order = def.constraints.values;
|
|
24
|
+
return (a, b) => order.indexOf(a) <= order.indexOf(b) ? a : b;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function tightenWith(def, effective, requested) {
|
|
29
|
+
const combine = settingCombine(def);
|
|
30
|
+
if (combine === undefined) {
|
|
31
|
+
throw new Error(`tightenWith applies to a "tighten" setting; this one is "${def.merge}".`);
|
|
32
|
+
}
|
|
33
|
+
const schema = (0, setting_value_1.settingAtRestValueSchema)(def);
|
|
34
|
+
return combine(schema.parse(effective.effectiveValue), schema.parse(requested));
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=setting-merge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setting-merge.js","sourceRoot":"","sources":["../../../src/setting/lib/setting-merge.ts"],"names":[],"mappings":";;AAiBA,wCAuBC;AAMD,kCAgBC;AA1DD,mDAIyB;AACzB,mDAA2D;AAQ3D,SAAgB,cAAc,CAC5B,GAAsB;IAEtB,IAAI,GAAG,CAAC,KAAK,KAAK,4BAAY,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IACzD,QAAQ,GAAG,CAAC,SAAS,EAAE,CAAC;QACtB,KAAK,gCAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9B,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC;YAC9B,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,KAAK,gCAAgB,CAAC,OAAO,CAAC;QAC9B,KAAK,gCAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,KAAK,uCAAuB,CAAC,KAAK,CAAC;YAC5D,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,KAAK;gBACH,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAW,EAAE,CAAW,CAAC;gBACpC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAW,EAAE,CAAW,CAAC,CAAC;QAC3C,CAAC;QACD,KAAK,gCAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;YACrC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,KAAK,CAAC,OAAO,CAAC,CAAW,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;AACH,CAAC;AAMD,SAAgB,WAAW,CACzB,GAAsB,EACtB,SAA+D,EAC/D,SAAuB;IAEvB,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,4DAA4D,GAAG,CAAC,KAAK,IAAI,CAC1E,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,IAAA,wCAAwB,EAAC,GAAG,CAAC,CAAC;IAC7C,OAAO,OAAO,CACZ,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,EACtC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CACxB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type EffectiveValue, type ParameterScopeRef } from "../../declared-parameter";
|
|
2
|
+
import { type SpaceKind } from "../../space";
|
|
3
|
+
import type { SettingValue } from "./setting-constraints";
|
|
4
|
+
import { type StampedSettingDefinition } from "./setting-definition";
|
|
5
|
+
export interface SettingChainEntry {
|
|
6
|
+
readonly spaceKind: SpaceKind;
|
|
7
|
+
readonly scope: ParameterScopeRef;
|
|
8
|
+
readonly value?: SettingValue;
|
|
9
|
+
}
|
|
10
|
+
export declare function resolveSetting(def: StampedSettingDefinition, chain: readonly SettingChainEntry[]): EffectiveValue<SettingValue>;
|
|
11
|
+
//# sourceMappingURL=setting-resolve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setting-resolve.d.ts","sourceRoot":"","sources":["../../../src/setting/lib/setting-resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EAEnB,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,sBAAsB,CAAC;AAM9B,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;CAC/B;AAQD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,wBAAwB,EAC7B,KAAK,EAAE,SAAS,iBAAiB,EAAE,GAClC,cAAc,CAAC,YAAY,CAAC,CAwC9B"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveSetting = resolveSetting;
|
|
4
|
+
const declared_parameter_1 = require("../../declared-parameter");
|
|
5
|
+
const space_1 = require("../../space");
|
|
6
|
+
const setting_definition_1 = require("./setting-definition");
|
|
7
|
+
const setting_enums_1 = require("./setting-enums");
|
|
8
|
+
const setting_merge_1 = require("./setting-merge");
|
|
9
|
+
const setting_value_1 = require("./setting-value");
|
|
10
|
+
function resolveSetting(def, chain) {
|
|
11
|
+
const schema = (0, setting_value_1.settingAtRestValueSchema)(def);
|
|
12
|
+
const seen = new Set();
|
|
13
|
+
const admitted = [];
|
|
14
|
+
for (const entry of chain) {
|
|
15
|
+
(0, space_1.spaceKindRank)(entry.spaceKind);
|
|
16
|
+
if (seen.has(entry.spaceKind)) {
|
|
17
|
+
throw new Error(`Setting "${def.key}" chain has two rungs at "${entry.spaceKind}".`);
|
|
18
|
+
}
|
|
19
|
+
seen.add(entry.spaceKind);
|
|
20
|
+
const admits = (0, setting_definition_1.mayDeclareAt)(def, entry.spaceKind);
|
|
21
|
+
if (entry.value === undefined && !admits)
|
|
22
|
+
continue;
|
|
23
|
+
(0, space_1.assertSpaceKindAdmissible)(setting_enums_1.SETTING_REGISTRY, entry.spaceKind, new Set(def.declarableAt));
|
|
24
|
+
if (entry.value !== undefined)
|
|
25
|
+
schema.parse(entry.value);
|
|
26
|
+
admitted.push(entry);
|
|
27
|
+
}
|
|
28
|
+
admitted.sort((a, b) => (0, space_1.spaceKindRank)(a.spaceKind) - (0, space_1.spaceKindRank)(b.spaceKind));
|
|
29
|
+
const parameterChain = admitted.map((entry) => entry.value === undefined
|
|
30
|
+
? { scope: entry.scope }
|
|
31
|
+
: { scope: entry.scope, value: entry.value });
|
|
32
|
+
const combine = (0, setting_merge_1.settingCombine)(def);
|
|
33
|
+
return (0, declared_parameter_1.resolveDeclaredParameter)({
|
|
34
|
+
key: def.key,
|
|
35
|
+
platformDefault: (0, setting_definition_1.settingDefaultValue)(def),
|
|
36
|
+
...(combine === undefined ? {} : { combine }),
|
|
37
|
+
}, parameterChain);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=setting-resolve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setting-resolve.js","sourceRoot":"","sources":["../../../src/setting/lib/setting-resolve.ts"],"names":[],"mappings":";;AAkCA,wCA2CC;AA7ED,iEAKkC;AAClC,uCAIqB;AAErB,6DAI8B;AAC9B,mDAAmD;AACnD,mDAAiD;AACjD,mDAA2D;AAe3D,SAAgB,cAAc,CAC5B,GAA6B,EAC7B,KAAmC;IAEnC,MAAM,MAAM,GAAG,IAAA,wCAAwB,EAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAa,CAAC;IAClC,MAAM,QAAQ,GAAwB,EAAE,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAA,qBAAa,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,YAAY,GAAG,CAAC,GAAG,6BAA6B,KAAK,CAAC,SAAS,IAAI,CACpE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAA,iCAAY,EAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM;YAAE,SAAS;QACnD,IAAA,iCAAyB,EACvB,gCAAgB,EAChB,KAAK,CAAC,SAAS,EACf,IAAI,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAC1B,CAAC;QACF,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,QAAQ,CAAC,IAAI,CACX,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAA,qBAAa,EAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAA,qBAAa,EAAC,CAAC,CAAC,SAAS,CAAC,CAClE,CAAC;IACF,MAAM,cAAc,GAAwC,QAAQ,CAAC,GAAG,CACtE,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,KAAK,KAAK,SAAS;QACvB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;QACxB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CACjD,CAAC;IACF,MAAM,OAAO,GAAG,IAAA,8BAAc,EAAC,GAAG,CAAC,CAAC;IACpC,OAAO,IAAA,6CAAwB,EAC7B;QACE,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,eAAe,EAAE,IAAA,wCAAmB,EAAC,GAAG,CAAC;QACzC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;KAC9C,EACD,cAAc,CACf,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { SettingDefinition } from "./setting-definition";
|
|
2
|
+
export declare function settingRevisionIncompatibilities(prev: SettingDefinition, next: SettingDefinition): readonly string[];
|
|
3
|
+
export declare function isCompatibleRevision(prev: SettingDefinition, next: SettingDefinition): boolean;
|
|
4
|
+
export declare function assertCompatibleRevision(prev: SettingDefinition, next: SettingDefinition): void;
|
|
5
|
+
//# sourceMappingURL=setting-revision.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setting-revision.d.ts","sourceRoot":"","sources":["../../../src/setting/lib/setting-revision.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAS9D,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,iBAAiB,GACtB,SAAS,MAAM,EAAE,CAiDnB;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAET;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,iBAAiB,GACtB,IAAI,CAQN"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.settingRevisionIncompatibilities = settingRevisionIncompatibilities;
|
|
4
|
+
exports.isCompatibleRevision = isCompatibleRevision;
|
|
5
|
+
exports.assertCompatibleRevision = assertCompatibleRevision;
|
|
6
|
+
const setting_enums_1 = require("./setting-enums");
|
|
7
|
+
function settingRevisionIncompatibilities(prev, next) {
|
|
8
|
+
if (prev.name !== next.name || prev.major !== next.major) {
|
|
9
|
+
return [
|
|
10
|
+
"name and major identify the definition; a different pair is a different setting",
|
|
11
|
+
];
|
|
12
|
+
}
|
|
13
|
+
const out = [];
|
|
14
|
+
if (prev.valueType !== next.valueType)
|
|
15
|
+
out.push("valueType changed");
|
|
16
|
+
if (prev.merge !== next.merge)
|
|
17
|
+
out.push("merge changed");
|
|
18
|
+
if (prev.tighter !== next.tighter)
|
|
19
|
+
out.push("tighter changed");
|
|
20
|
+
const prevTiers = [...prev.declarableAt].sort().join(",");
|
|
21
|
+
const nextTiers = [...next.declarableAt].sort().join(",");
|
|
22
|
+
if (prevTiers !== nextTiers)
|
|
23
|
+
out.push("declarableAt changed");
|
|
24
|
+
if (out.length > 0)
|
|
25
|
+
return out;
|
|
26
|
+
switch (prev.valueType) {
|
|
27
|
+
case setting_enums_1.SettingValueType.Boolean:
|
|
28
|
+
break;
|
|
29
|
+
case setting_enums_1.SettingValueType.Integer:
|
|
30
|
+
if (next.valueType === setting_enums_1.SettingValueType.Integer) {
|
|
31
|
+
if (next.constraints.min > prev.constraints.min)
|
|
32
|
+
out.push("min was raised");
|
|
33
|
+
if (next.constraints.max < prev.constraints.max)
|
|
34
|
+
out.push("max was lowered");
|
|
35
|
+
}
|
|
36
|
+
break;
|
|
37
|
+
case setting_enums_1.SettingValueType.Duration:
|
|
38
|
+
if (next.valueType === setting_enums_1.SettingValueType.Duration) {
|
|
39
|
+
if (next.constraints.minSeconds > prev.constraints.minSeconds) {
|
|
40
|
+
out.push("minSeconds was raised");
|
|
41
|
+
}
|
|
42
|
+
if (next.constraints.maxSeconds < prev.constraints.maxSeconds) {
|
|
43
|
+
out.push("maxSeconds was lowered");
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
break;
|
|
47
|
+
case setting_enums_1.SettingValueType.Enum:
|
|
48
|
+
if (next.valueType === setting_enums_1.SettingValueType.Enum) {
|
|
49
|
+
const kept = prev.constraints.values.every((value, index) => next.constraints.values[index] === value);
|
|
50
|
+
if (!kept) {
|
|
51
|
+
out.push("enum members may only be appended at the loose end, in order");
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
return out;
|
|
57
|
+
}
|
|
58
|
+
function isCompatibleRevision(prev, next) {
|
|
59
|
+
return settingRevisionIncompatibilities(prev, next).length === 0;
|
|
60
|
+
}
|
|
61
|
+
function assertCompatibleRevision(prev, next) {
|
|
62
|
+
const problems = settingRevisionIncompatibilities(prev, next);
|
|
63
|
+
if (problems.length > 0) {
|
|
64
|
+
throw new Error(`Setting "${prev.name}@${prev.major}" revision is not additive: ${problems.join("; ")}. ` +
|
|
65
|
+
`Publish it as @${prev.major + 1}.`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=setting-revision.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setting-revision.js","sourceRoot":"","sources":["../../../src/setting/lib/setting-revision.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { SettingValue, SettingValueShape } from "./setting-constraints";
|
|
3
|
+
export declare function settingValueSchema(shape: SettingValueShape): z.ZodType<SettingValue, unknown>;
|
|
4
|
+
export declare function settingAtRestValueSchema(shape: SettingValueShape): z.ZodType<SettingValue>;
|
|
5
|
+
//# sourceMappingURL=setting-value.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setting-value.d.ts","sourceRoot":"","sources":["../../../src/setting/lib/setting-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AA8B7E,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,iBAAiB,GACvB,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAuBlC;AAGD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,iBAAiB,GACvB,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAEzB"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.settingValueSchema = settingValueSchema;
|
|
4
|
+
exports.settingAtRestValueSchema = settingAtRestValueSchema;
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const setting_duration_1 = require("./setting-duration");
|
|
7
|
+
const setting_enums_1 = require("./setting-enums");
|
|
8
|
+
function atRestSchema(shape) {
|
|
9
|
+
switch (shape.valueType) {
|
|
10
|
+
case setting_enums_1.SettingValueType.Boolean:
|
|
11
|
+
return zod_1.z.boolean();
|
|
12
|
+
case setting_enums_1.SettingValueType.Integer:
|
|
13
|
+
return zod_1.z
|
|
14
|
+
.number()
|
|
15
|
+
.int()
|
|
16
|
+
.min(shape.constraints.min)
|
|
17
|
+
.max(shape.constraints.max);
|
|
18
|
+
case setting_enums_1.SettingValueType.Duration:
|
|
19
|
+
return zod_1.z
|
|
20
|
+
.number()
|
|
21
|
+
.int()
|
|
22
|
+
.min(shape.constraints.minSeconds)
|
|
23
|
+
.max(shape.constraints.maxSeconds);
|
|
24
|
+
case setting_enums_1.SettingValueType.Enum:
|
|
25
|
+
return zod_1.z.enum(shape.constraints.values);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function settingValueSchema(shape) {
|
|
29
|
+
const rest = atRestSchema(shape);
|
|
30
|
+
if (shape.valueType !== setting_enums_1.SettingValueType.Duration)
|
|
31
|
+
return rest;
|
|
32
|
+
return zod_1.z.string().transform((raw, ctx) => {
|
|
33
|
+
let seconds;
|
|
34
|
+
try {
|
|
35
|
+
seconds = (0, setting_duration_1.parseIsoDurationSeconds)(raw);
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
ctx.addIssue({
|
|
39
|
+
code: "custom",
|
|
40
|
+
message: error instanceof Error ? error.message : String(error),
|
|
41
|
+
});
|
|
42
|
+
return zod_1.z.NEVER;
|
|
43
|
+
}
|
|
44
|
+
const checked = rest.safeParse(seconds);
|
|
45
|
+
if (!checked.success) {
|
|
46
|
+
for (const issue of checked.error.issues) {
|
|
47
|
+
ctx.addIssue({ code: "custom", message: issue.message });
|
|
48
|
+
}
|
|
49
|
+
return zod_1.z.NEVER;
|
|
50
|
+
}
|
|
51
|
+
return checked.data;
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function settingAtRestValueSchema(shape) {
|
|
55
|
+
return atRestSchema(shape);
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=setting-value.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setting-value.js","sourceRoot":"","sources":["../../../src/setting/lib/setting-value.ts"],"names":[],"mappings":";;AAgCA,gDAyBC;AAGD,4DAIC;AAhED,6BAAwB;AAGxB,yDAA6D;AAC7D,mDAAmD;AAEnD,SAAS,YAAY,CAAC,KAAwB;IAC5C,QAAQ,KAAK,CAAC,SAAS,EAAE,CAAC;QACxB,KAAK,gCAAgB,CAAC,OAAO;YAC3B,OAAO,OAAC,CAAC,OAAO,EAAE,CAAC;QACrB,KAAK,gCAAgB,CAAC,OAAO;YAC3B,OAAO,OAAC;iBACL,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC;iBAC1B,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAChC,KAAK,gCAAgB,CAAC,QAAQ;YAC5B,OAAO,OAAC;iBACL,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC;iBACjC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACvC,KAAK,gCAAgB,CAAC,IAAI;YACxB,OAAO,OAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAA+B,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAOD,SAAgB,kBAAkB,CAChC,KAAwB;IAExB,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,SAAS,KAAK,gCAAgB,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC/D,OAAO,OAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,GAAG,EAAgB,EAAE;QACrD,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,IAAA,0CAAuB,EAAC,GAAG,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAChE,CAAC,CAAC;YACH,OAAO,OAAC,CAAC,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACzC,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO,OAAC,CAAC,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC;AAGD,SAAgB,wBAAwB,CACtC,KAAwB;IAExB,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC"}
|
package/dist/space/index.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ export * from './lib/space';
|
|
|
2
2
|
export * from './lib/space-classification';
|
|
3
3
|
export * from './lib/space-kind-rank';
|
|
4
4
|
export * from './lib/scoped-resolution';
|
|
5
|
-
export * from './lib/scoped-setting';
|
|
6
5
|
export * from './lib/space-promotion';
|
|
7
6
|
export * from './lib/space-ref-parser';
|
|
8
7
|
export * from './lib/space-traversal';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/space/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/space/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC"}
|
package/dist/space/index.js
CHANGED
|
@@ -18,7 +18,6 @@ __exportStar(require("./lib/space"), exports);
|
|
|
18
18
|
__exportStar(require("./lib/space-classification"), exports);
|
|
19
19
|
__exportStar(require("./lib/space-kind-rank"), exports);
|
|
20
20
|
__exportStar(require("./lib/scoped-resolution"), exports);
|
|
21
|
-
__exportStar(require("./lib/scoped-setting"), exports);
|
|
22
21
|
__exportStar(require("./lib/space-promotion"), exports);
|
|
23
22
|
__exportStar(require("./lib/space-ref-parser"), exports);
|
|
24
23
|
__exportStar(require("./lib/space-traversal"), exports);
|
package/dist/space/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/space/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6DAA2C;AAC3C,wDAAsC;AACtC,0DAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/space/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6DAA2C;AAC3C,wDAAsC;AACtC,0DAAwC;AACxC,wDAAsC;AACtC,yDAAuC;AACvC,wDAAsC;AACtC,wDAAsC;AACtC,+DAA6C;AAC7C,+DAA6C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xemahq/contracts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.79.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)",
|
|
@@ -57,6 +57,6 @@
|
|
|
57
57
|
"test:authorization-models": "node scripts/run-authorization-model-tests.mjs"
|
|
58
58
|
},
|
|
59
59
|
"xemaRelease": {
|
|
60
|
-
"sourceDigest": "sha256:
|
|
60
|
+
"sourceDigest": "sha256:937e78c91eeff50e1986077333756cf056f1710de8c4fd9ffc5f76f1c965b082"
|
|
61
61
|
}
|
|
62
62
|
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { type ScopedResolution } from './scoped-resolution';
|
|
3
|
-
import { SpaceKind } from './space';
|
|
4
|
-
export declare const SCOPED_SETTING_KEY_PATTERN: RegExp;
|
|
5
|
-
export declare const ScopedSettingKeySchema: z.ZodString;
|
|
6
|
-
export declare enum ScopedSettingOwnership {
|
|
7
|
-
OrgOnly = "org-only",
|
|
8
|
-
ProjectOverridable = "project-overridable",
|
|
9
|
-
ProjectOnly = "project-only",
|
|
10
|
-
Other = "other"
|
|
11
|
-
}
|
|
12
|
-
export interface ScopedSettingDefinition<TValue = unknown> {
|
|
13
|
-
readonly key: string;
|
|
14
|
-
readonly schema: z.ZodType<TValue>;
|
|
15
|
-
readonly declarableAt: readonly SpaceKind[];
|
|
16
|
-
}
|
|
17
|
-
export declare const ScopedSettingDefinitionSchema: z.ZodObject<{
|
|
18
|
-
key: z.ZodString;
|
|
19
|
-
declarableAt: z.ZodArray<z.ZodEnum<typeof SpaceKind>>;
|
|
20
|
-
}, z.core.$strict>;
|
|
21
|
-
export declare function mayDeclareAt(definition: Pick<ScopedSettingDefinition, 'declarableAt'>, tier: SpaceKind): boolean;
|
|
22
|
-
export declare function scopedSettingOwnership(definition: Pick<ScopedSettingDefinition, 'declarableAt'>): ScopedSettingOwnership;
|
|
23
|
-
export interface ScopedSettingDeclaration<TValue = unknown> {
|
|
24
|
-
readonly ownerSpaceKind: SpaceKind;
|
|
25
|
-
readonly value: TValue;
|
|
26
|
-
}
|
|
27
|
-
export declare function resolveScopedSetting<TValue>(definition: Pick<ScopedSettingDefinition<TValue>, 'declarableAt'>, declarations: readonly ScopedSettingDeclaration<TValue>[]): ScopedResolution<TValue> | undefined;
|
|
28
|
-
//# sourceMappingURL=scoped-setting.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scoped-setting.d.ts","sourceRoot":"","sources":["../../../src/space/lib/scoped-setting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,SAAS,EAAmB,MAAM,SAAS,CAAC;AA8DrD,eAAO,MAAM,0BAA0B,QACK,CAAC;AAE7C,eAAO,MAAM,sBAAsB,aAKhC,CAAC;AAGJ,oBAAY,sBAAsB;IAChC,OAAO,aAAa;IACpB,kBAAkB,wBAAwB;IAC1C,WAAW,iBAAiB;IAE5B,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,uBAAuB,CAAC,MAAM,GAAG,OAAO;IACvD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAKnC,QAAQ,CAAC,YAAY,EAAE,SAAS,SAAS,EAAE,CAAC;CAC7C;AAED,eAAO,MAAM,6BAA6B;;;kBAW/B,CAAC;AASZ,wBAAgB,YAAY,CAC1B,UAAU,EAAE,IAAI,CAAC,uBAAuB,EAAE,cAAc,CAAC,EACzD,IAAI,EAAE,SAAS,GACd,OAAO,CAET;AASD,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,IAAI,CAAC,uBAAuB,EAAE,cAAc,CAAC,GACxD,sBAAsB,CAUxB;AAGD,MAAM,WAAW,wBAAwB,CAAC,MAAM,GAAG,OAAO;IACxD,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAWD,wBAAgB,oBAAoB,CAAC,MAAM,EACzC,UAAU,EAAE,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,EACjE,YAAY,EAAE,SAAS,wBAAwB,CAAC,MAAM,CAAC,EAAE,GACxD,gBAAgB,CAAC,MAAM,CAAC,GAAG,SAAS,CAuBtC"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ScopedSettingDefinitionSchema = exports.ScopedSettingOwnership = exports.ScopedSettingKeySchema = exports.SCOPED_SETTING_KEY_PATTERN = void 0;
|
|
4
|
-
exports.mayDeclareAt = mayDeclareAt;
|
|
5
|
-
exports.scopedSettingOwnership = scopedSettingOwnership;
|
|
6
|
-
exports.resolveScopedSetting = resolveScopedSetting;
|
|
7
|
-
const zod_1 = require("zod");
|
|
8
|
-
const scoped_resolution_1 = require("./scoped-resolution");
|
|
9
|
-
const space_1 = require("./space");
|
|
10
|
-
const space_kind_rank_1 = require("./space-kind-rank");
|
|
11
|
-
exports.SCOPED_SETTING_KEY_PATTERN = /^[a-z][a-z0-9-]*(?:\.[a-z][a-z0-9-]*)+$/u;
|
|
12
|
-
exports.ScopedSettingKeySchema = zod_1.z
|
|
13
|
-
.string()
|
|
14
|
-
.regex(exports.SCOPED_SETTING_KEY_PATTERN, 'A setting key is dotted lower-kebab, e.g. "xema.llm.default-strategy".');
|
|
15
|
-
var ScopedSettingOwnership;
|
|
16
|
-
(function (ScopedSettingOwnership) {
|
|
17
|
-
ScopedSettingOwnership["OrgOnly"] = "org-only";
|
|
18
|
-
ScopedSettingOwnership["ProjectOverridable"] = "project-overridable";
|
|
19
|
-
ScopedSettingOwnership["ProjectOnly"] = "project-only";
|
|
20
|
-
ScopedSettingOwnership["Other"] = "other";
|
|
21
|
-
})(ScopedSettingOwnership || (exports.ScopedSettingOwnership = ScopedSettingOwnership = {}));
|
|
22
|
-
exports.ScopedSettingDefinitionSchema = zod_1.z
|
|
23
|
-
.object({
|
|
24
|
-
key: exports.ScopedSettingKeySchema,
|
|
25
|
-
declarableAt: zod_1.z
|
|
26
|
-
.array(space_1.SpaceKindSchema)
|
|
27
|
-
.min(1, 'A scoped setting must be declarable somewhere.')
|
|
28
|
-
.refine((kinds) => new Set(kinds).size === kinds.length, 'A tier may appear at most once in `declarableAt`.'),
|
|
29
|
-
})
|
|
30
|
-
.strict();
|
|
31
|
-
function mayDeclareAt(definition, tier) {
|
|
32
|
-
return definition.declarableAt.includes(tier);
|
|
33
|
-
}
|
|
34
|
-
function scopedSettingOwnership(definition) {
|
|
35
|
-
const tiers = new Set(definition.declarableAt);
|
|
36
|
-
const org = tiers.has(space_1.SpaceKind.Org);
|
|
37
|
-
const project = tiers.has(space_1.SpaceKind.Project);
|
|
38
|
-
if (tiers.size === 1 && org)
|
|
39
|
-
return ScopedSettingOwnership.OrgOnly;
|
|
40
|
-
if (tiers.size === 1 && project)
|
|
41
|
-
return ScopedSettingOwnership.ProjectOnly;
|
|
42
|
-
if (tiers.size === 2 && org && project) {
|
|
43
|
-
return ScopedSettingOwnership.ProjectOverridable;
|
|
44
|
-
}
|
|
45
|
-
return ScopedSettingOwnership.Other;
|
|
46
|
-
}
|
|
47
|
-
function resolveScopedSetting(definition, declarations) {
|
|
48
|
-
for (const declaration of declarations) {
|
|
49
|
-
if (!mayDeclareAt(definition, declaration.ownerSpaceKind)) {
|
|
50
|
-
throw new Error(`A value was declared at "${declaration.ownerSpaceKind}", which this ` +
|
|
51
|
-
`setting does not admit (declarable at: ${definition.declarableAt.join(', ')}).`);
|
|
52
|
-
}
|
|
53
|
-
(0, space_kind_rank_1.spaceKindRank)(declaration.ownerSpaceKind);
|
|
54
|
-
}
|
|
55
|
-
return (0, scoped_resolution_1.resolveScopedCandidate)(declarations.map((declaration) => ({
|
|
56
|
-
ownerSpaceKind: declaration.ownerSpaceKind,
|
|
57
|
-
value: declaration.value,
|
|
58
|
-
})), () => 0);
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=scoped-setting.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scoped-setting.js","sourceRoot":"","sources":["../../../src/space/lib/scoped-setting.ts"],"names":[],"mappings":";;;AAmHA,oCAKC;AASD,wDAYC;AAiBD,oDA0BC;AAxLD,6BAAwB;AAExB,2DAAoF;AACpF,mCAAqD;AACrD,uDAAkD;AA6DrC,QAAA,0BAA0B,GACrC,0CAA0C,CAAC;AAEhC,QAAA,sBAAsB,GAAG,OAAC;KACpC,MAAM,EAAE;KACR,KAAK,CACJ,kCAA0B,EAC1B,wEAAwE,CACzE,CAAC;AAGJ,IAAY,sBAMX;AAND,WAAY,sBAAsB;IAChC,8CAAoB,CAAA;IACpB,oEAA0C,CAAA;IAC1C,sDAA4B,CAAA;IAE5B,yCAAe,CAAA;AACjB,CAAC,EANW,sBAAsB,sCAAtB,sBAAsB,QAMjC;AAaY,QAAA,6BAA6B,GAAG,OAAC;KAC3C,MAAM,CAAC;IACN,GAAG,EAAE,8BAAsB;IAC3B,YAAY,EAAE,OAAC;SACZ,KAAK,CAAC,uBAAe,CAAC;SACtB,GAAG,CAAC,CAAC,EAAE,gDAAgD,CAAC;SACxD,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,EAC/C,mDAAmD,CACpD;CACJ,CAAC;KACD,MAAM,EAAE,CAAC;AASZ,SAAgB,YAAY,CAC1B,UAAyD,EACzD,IAAe;IAEf,OAAO,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC;AASD,SAAgB,sBAAsB,CACpC,UAAyD;IAEzD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,iBAAS,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,iBAAS,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG;QAAE,OAAO,sBAAsB,CAAC,OAAO,CAAC;IACnE,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,OAAO;QAAE,OAAO,sBAAsB,CAAC,WAAW,CAAC;IAC3E,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;QACvC,OAAO,sBAAsB,CAAC,kBAAkB,CAAC;IACnD,CAAC;IACD,OAAO,sBAAsB,CAAC,KAAK,CAAC;AACtC,CAAC;AAiBD,SAAgB,oBAAoB,CAClC,UAAiE,EACjE,YAAyD;IAEzD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CACb,4BAA4B,WAAW,CAAC,cAAc,gBAAgB;gBACpE,0CAA0C,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACnF,CAAC;QACJ,CAAC;QAGD,IAAA,+BAAa,EAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,IAAA,0CAAsB,EAC3B,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACjC,cAAc,EAAE,WAAW,CAAC,cAAc;QAC1C,KAAK,EAAE,WAAW,CAAC,KAAK;KACzB,CAAC,CAAC,EAKH,GAAG,EAAE,CAAC,CAAC,CACR,CAAC;AACJ,CAAC"}
|