@xemahq/contracts 0.5.0 → 0.7.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.
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "algorithm": "sha256/len-framed-v1",
3
- "hash": "6e6481dcc57460f6c9f9d06334c68a535bc0b95f5af7d6867558c6c00b561d80",
4
- "fileCount": 514
3
+ "hash": "6dd1fc61af526dcbe627bbde3197d58bdbde23fffabebffb75e00a266bcda1c7",
4
+ "fileCount": 516
5
5
  }
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { type OwnerQualifiedRevisionTarget } from '../../revision-target';
3
- import { type OwnerSpaceRef, type SpaceKind } from '../../space';
3
+ import { type OwnerSpaceRef, type ScopedResolution, type SpaceKind } from '../../space';
4
4
  export declare const RESOURCE_ROLE_PATTERN: RegExp;
5
5
  export declare const RESOURCE_ROLE_QUALIFIER_PATTERN: RegExp;
6
6
  export interface ResourceRoleKey {
@@ -32,4 +32,5 @@ export interface RankedResourceRoleBinding {
32
32
  readonly binding: ResourceRoleBinding;
33
33
  }
34
34
  export declare function resolveResourceRoleBinding(candidates: readonly RankedResourceRoleBinding[], roleKey: ResourceRoleKey): ResourceRoleBinding | undefined;
35
+ export declare function resolveResourceRoleBindingResolution(candidates: readonly RankedResourceRoleBinding[], roleKey: ResourceRoleKey): ScopedResolution<ResourceRoleBinding> | undefined;
35
36
  //# sourceMappingURL=resource-role-binding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource-role-binding.d.ts","sourceRoot":"","sources":["../../../src/resource-role/lib/resource-role-binding.ts"],"names":[],"mappings":"AAiIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,OAAO,EAGL,KAAK,4BAA4B,EAClC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,SAAS,EAEf,MAAM,aAAa,CAAC;AAGrB,eAAO,MAAM,qBAAqB,QAA4B,CAAC;AAU/D,eAAO,MAAM,+BAA+B,QAA4B,CAAC;AAkCzE,MAAM,WAAW,eAAe;IAE9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IActB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAmBD,eAAO,MAAM,qBAAqB,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAMT,CAAC;AASrD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAKlE;AAqBD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAuBnE;AAgBD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,kCAAkC,EAAE,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAO1E,CAAC;AAkBd,MAAM,MAAM,kBAAkB,GAC1B,4BAA4B,GAC5B,4BAA4B,CAAC;AAEjC,eAAO,MAAM,wBAAwB,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAGhC,CAAC;AAGpC,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,kBAAkB,GACzB,MAAM,IAAI,4BAA4B,CAExC;AASD,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAIjF;AAGD,MAAM,WAAW,mBAAmB;IAElC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAMlC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;CACrC;AAED,eAAO,MAAM,yBAAyB,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CA2BpB,CAAC;AASlD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;CACvC;AAiGD,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,SAAS,yBAAyB,EAAE,EAChD,OAAO,EAAE,eAAe,GACvB,mBAAmB,GAAG,SAAS,CA2BjC"}
1
+ {"version":3,"file":"resource-role-binding.d.ts","sourceRoot":"","sources":["../../../src/resource-role/lib/resource-role-binding.ts"],"names":[],"mappings":"AAiIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,OAAO,EAGL,KAAK,4BAA4B,EAClC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,aAAa,EAGlB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AAGrB,eAAO,MAAM,qBAAqB,QAA4B,CAAC;AAU/D,eAAO,MAAM,+BAA+B,QAA4B,CAAC;AAkCzE,MAAM,WAAW,eAAe;IAE9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IActB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAmBD,eAAO,MAAM,qBAAqB,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAMT,CAAC;AASrD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAKlE;AAqBD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAuBnE;AAgBD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,kCAAkC,EAAE,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAO1E,CAAC;AAkBd,MAAM,MAAM,kBAAkB,GAC1B,4BAA4B,GAC5B,4BAA4B,CAAC;AAEjC,eAAO,MAAM,wBAAwB,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAGhC,CAAC;AAGpC,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,kBAAkB,GACzB,MAAM,IAAI,4BAA4B,CAExC;AASD,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAIjF;AAGD,MAAM,WAAW,mBAAmB;IAElC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAMlC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;CACrC;AAED,eAAO,MAAM,yBAAyB,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CA2BpB,CAAC;AASlD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;CACvC;AAiGD,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,SAAS,yBAAyB,EAAE,EAChD,OAAO,EAAE,eAAe,GACvB,mBAAmB,GAAG,SAAS,CAEjC;AAgBD,wBAAgB,oCAAoC,CAClD,UAAU,EAAE,SAAS,yBAAyB,EAAE,EAChD,OAAO,EAAE,eAAe,GACvB,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAYnD"}
@@ -6,6 +6,7 @@ exports.parseResourceRoleKey = parseResourceRoleKey;
6
6
  exports.isRevisionRoleTarget = isRevisionRoleTarget;
7
7
  exports.resourceRoleTargetResourceKind = resourceRoleTargetResourceKind;
8
8
  exports.resolveResourceRoleBinding = resolveResourceRoleBinding;
9
+ exports.resolveResourceRoleBindingResolution = resolveResourceRoleBindingResolution;
9
10
  const zod_1 = require("zod");
10
11
  const revision_target_1 = require("../../revision-target");
11
12
  const space_1 = require("../../space");
@@ -97,22 +98,12 @@ function roleKeySpecificityRank(candidate, wanted) {
97
98
  : undefined;
98
99
  }
99
100
  function resolveResourceRoleBinding(candidates, roleKey) {
100
- let winner;
101
- let bestSpecificity = Number.POSITIVE_INFINITY;
102
- let bestTier = Number.POSITIVE_INFINITY;
103
- for (const candidate of candidates) {
104
- const specificity = roleKeySpecificityRank(candidate.binding.roleKey, roleKey);
105
- if (specificity === undefined)
106
- continue;
107
- const tier = (0, space_1.spaceKindRank)(candidate.ownerSpaceKind);
108
- if (specificity > bestSpecificity)
109
- continue;
110
- if (specificity < bestSpecificity || tier < bestTier) {
111
- winner = candidate;
112
- bestSpecificity = specificity;
113
- bestTier = tier;
114
- }
115
- }
116
- return winner?.binding;
101
+ return resolveResourceRoleBindingResolution(candidates, roleKey)?.value;
102
+ }
103
+ function resolveResourceRoleBindingResolution(candidates, roleKey) {
104
+ return (0, space_1.resolveScopedCandidate)(candidates.map((candidate) => ({
105
+ ownerSpaceKind: candidate.ownerSpaceKind,
106
+ value: candidate.binding,
107
+ })), (binding) => roleKeySpecificityRank(binding.roleKey, roleKey));
117
108
  }
118
109
  //# sourceMappingURL=resource-role-binding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource-role-binding.js","sourceRoot":"","sources":["../../../src/resource-role/lib/resource-role-binding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-role-binding.js","sourceRoot":"","sources":["../../../src/resource-role/lib/resource-role-binding.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  export * from './lib/space';
2
2
  export * from './lib/space-classification';
3
3
  export * from './lib/space-kind-rank';
4
+ export * from './lib/scoped-resolution';
5
+ export * from './lib/scoped-setting';
4
6
  export * from './lib/space-promotion';
5
7
  export * from './lib/space-ref-parser';
6
8
  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,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,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,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC"}
@@ -17,6 +17,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./lib/space"), exports);
18
18
  __exportStar(require("./lib/space-classification"), exports);
19
19
  __exportStar(require("./lib/space-kind-rank"), exports);
20
+ __exportStar(require("./lib/scoped-resolution"), exports);
21
+ __exportStar(require("./lib/scoped-setting"), exports);
20
22
  __exportStar(require("./lib/space-promotion"), exports);
21
23
  __exportStar(require("./lib/space-ref-parser"), exports);
22
24
  __exportStar(require("./lib/space-traversal"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/space/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6DAA2C;AAC3C,wDAAsC;AACtC,wDAAsC;AACtC,yDAAuC;AACvC,wDAAsC;AACtC,wDAAsC;AACtC,+DAA6C;AAC7C,+DAA6C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/space/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6DAA2C;AAC3C,wDAAsC;AACtC,0DAAwC;AACxC,uDAAqC;AACrC,wDAAsC;AACtC,yDAAuC;AACvC,wDAAsC;AACtC,wDAAsC;AACtC,+DAA6C;AAC7C,+DAA6C"}
@@ -0,0 +1,15 @@
1
+ import type { SpaceKind } from './space';
2
+ export interface ScopedCandidate<TValue> {
3
+ readonly ownerSpaceKind: SpaceKind;
4
+ readonly value: TValue;
5
+ }
6
+ export interface ScopedResolution<TValue> {
7
+ readonly value: TValue;
8
+ readonly ownerSpaceKind: SpaceKind;
9
+ readonly specificity: number;
10
+ readonly consideredCount: number;
11
+ readonly answeredCount: number;
12
+ }
13
+ export type ScopedSpecificityRanker<TValue> = (value: TValue) => number | undefined;
14
+ export declare function resolveScopedCandidate<TValue>(candidates: readonly ScopedCandidate<TValue>[], rankSpecificity: ScopedSpecificityRanker<TValue>): ScopedResolution<TValue> | undefined;
15
+ //# sourceMappingURL=scoped-resolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scoped-resolution.d.ts","sourceRoot":"","sources":["../../../src/space/lib/scoped-resolution.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AA8CzC,MAAM,WAAW,eAAe,CAAC,MAAM;IAErC,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAMD,MAAM,WAAW,gBAAgB,CAAC,MAAM;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC;IAEnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IASjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AASD,MAAM,MAAM,uBAAuB,CAAC,MAAM,IAAI,CAC5C,KAAK,EAAE,MAAM,KACV,MAAM,GAAG,SAAS,CAAC;AAQxB,wBAAgB,sBAAsB,CAAC,MAAM,EAC3C,UAAU,EAAE,SAAS,eAAe,CAAC,MAAM,CAAC,EAAE,EAC9C,eAAe,EAAE,uBAAuB,CAAC,MAAM,CAAC,GAC/C,gBAAgB,CAAC,MAAM,CAAC,GAAG,SAAS,CA8BtC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveScopedCandidate = resolveScopedCandidate;
4
+ const space_kind_rank_1 = require("./space-kind-rank");
5
+ function resolveScopedCandidate(candidates, rankSpecificity) {
6
+ let winner;
7
+ let bestSpecificity = Number.POSITIVE_INFINITY;
8
+ let bestTier = Number.POSITIVE_INFINITY;
9
+ let answered = 0;
10
+ for (const candidate of candidates) {
11
+ const specificity = rankSpecificity(candidate.value);
12
+ if (specificity === undefined)
13
+ continue;
14
+ answered += 1;
15
+ const tier = (0, space_kind_rank_1.spaceKindRank)(candidate.ownerSpaceKind);
16
+ if (specificity > bestSpecificity)
17
+ continue;
18
+ if (specificity < bestSpecificity || tier < bestTier) {
19
+ winner = candidate;
20
+ bestSpecificity = specificity;
21
+ bestTier = tier;
22
+ }
23
+ }
24
+ if (winner === undefined)
25
+ return undefined;
26
+ return {
27
+ value: winner.value,
28
+ ownerSpaceKind: winner.ownerSpaceKind,
29
+ specificity: bestSpecificity,
30
+ consideredCount: candidates.length,
31
+ answeredCount: answered,
32
+ };
33
+ }
34
+ //# sourceMappingURL=scoped-resolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scoped-resolution.js","sourceRoot":"","sources":["../../../src/space/lib/scoped-resolution.ts"],"names":[],"mappings":";;AA8FA,wDAiCC;AA/HD,uDAAkD;AA8FlD,SAAgB,sBAAsB,CACpC,UAA8C,EAC9C,eAAgD;IAEhD,IAAI,MAA2C,CAAC;IAChD,IAAI,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAC/C,IAAI,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACxC,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,WAAW,KAAK,SAAS;YAAE,SAAS;QACxC,QAAQ,IAAI,CAAC,CAAC;QAId,MAAM,IAAI,GAAG,IAAA,+BAAa,EAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACrD,IAAI,WAAW,GAAG,eAAe;YAAE,SAAS;QAC5C,IAAI,WAAW,GAAG,eAAe,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;YACrD,MAAM,GAAG,SAAS,CAAC;YACnB,eAAe,GAAG,WAAW,CAAC;YAC9B,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,WAAW,EAAE,eAAe;QAC5B,eAAe,EAAE,UAAU,CAAC,MAAM;QAClC,aAAa,EAAE,QAAQ;KACxB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,28 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,60 @@
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
@@ -0,0 +1 @@
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xemahq/contracts",
3
- "version": "0.5.0",
3
+ "version": "0.7.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)",