@xemahq/contracts 0.26.0 → 0.28.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.
Files changed (61) hide show
  1. package/dist/.source-stamp.json +2 -2
  2. package/dist/biome/index.d.ts +1 -0
  3. package/dist/biome/index.d.ts.map +1 -1
  4. package/dist/biome/index.js +1 -0
  5. package/dist/biome/index.js.map +1 -1
  6. package/dist/biome/lib/biome-component-process-facts.d.ts +11 -0
  7. package/dist/biome/lib/biome-component-process-facts.d.ts.map +1 -0
  8. package/dist/biome/lib/biome-component-process-facts.js +25 -0
  9. package/dist/biome/lib/biome-component-process-facts.js.map +1 -0
  10. package/dist/biome/lib/biome-component-vocabulary.d.ts +0 -6
  11. package/dist/biome/lib/biome-component-vocabulary.d.ts.map +1 -1
  12. package/dist/biome/lib/biome-component-vocabulary.js +1 -8
  13. package/dist/biome/lib/biome-component-vocabulary.js.map +1 -1
  14. package/dist/biome/lib/biome-component.d.ts +114 -5
  15. package/dist/biome/lib/biome-component.d.ts.map +1 -1
  16. package/dist/biome/lib/biome-component.js +16 -24
  17. package/dist/biome/lib/biome-component.js.map +1 -1
  18. package/dist/biome/lib/biome-manifest.d.ts +240 -6
  19. package/dist/biome/lib/biome-manifest.d.ts.map +1 -1
  20. package/dist/biome/xema-biome.schema.json +296 -14
  21. package/dist/biome-dependency/index.d.ts +1 -0
  22. package/dist/biome-dependency/index.d.ts.map +1 -1
  23. package/dist/biome-dependency/index.js +1 -0
  24. package/dist/biome-dependency/index.js.map +1 -1
  25. package/dist/biome-dependency/lib/peer-seam-table.d.ts +52 -0
  26. package/dist/biome-dependency/lib/peer-seam-table.d.ts.map +1 -0
  27. package/dist/biome-dependency/lib/peer-seam-table.js +131 -0
  28. package/dist/biome-dependency/lib/peer-seam-table.js.map +1 -0
  29. package/dist/distribution/lib/distribution-lock.d.ts +49 -5
  30. package/dist/distribution/lib/distribution-lock.d.ts.map +1 -1
  31. package/dist/distribution/lib/distribution-lock.js +187 -9
  32. package/dist/distribution/lib/distribution-lock.js.map +1 -1
  33. package/dist/distribution/lib/image-lock.d.ts +2 -1
  34. package/dist/distribution/lib/image-lock.d.ts.map +1 -1
  35. package/dist/distribution/lib/image-lock.js +1 -0
  36. package/dist/distribution/lib/image-lock.js.map +1 -1
  37. package/dist/process-topology/index.d.ts +1 -0
  38. package/dist/process-topology/index.d.ts.map +1 -1
  39. package/dist/process-topology/index.js +1 -0
  40. package/dist/process-topology/index.js.map +1 -1
  41. package/dist/process-topology/lib/composed-process-contract.d.ts +26 -0
  42. package/dist/process-topology/lib/composed-process-contract.d.ts.map +1 -0
  43. package/dist/process-topology/lib/composed-process-contract.js +46 -0
  44. package/dist/process-topology/lib/composed-process-contract.js.map +1 -0
  45. package/dist/process-topology/lib/process-topology.d.ts +23 -0
  46. package/dist/process-topology/lib/process-topology.d.ts.map +1 -1
  47. package/dist/process-topology/lib/process-topology.js +68 -1
  48. package/dist/process-topology/lib/process-topology.js.map +1 -1
  49. package/dist/process-topology/lib/resolve-process-topology.d.ts +29 -12
  50. package/dist/process-topology/lib/resolve-process-topology.d.ts.map +1 -1
  51. package/dist/process-topology/lib/resolve-process-topology.js +134 -86
  52. package/dist/process-topology/lib/resolve-process-topology.js.map +1 -1
  53. package/dist/resource-requirement/index.d.ts +2 -0
  54. package/dist/resource-requirement/index.d.ts.map +1 -0
  55. package/dist/resource-requirement/index.js +18 -0
  56. package/dist/resource-requirement/index.js.map +1 -0
  57. package/dist/resource-requirement/lib/resource-requirement.d.ts +59 -0
  58. package/dist/resource-requirement/lib/resource-requirement.d.ts.map +1 -0
  59. package/dist/resource-requirement/lib/resource-requirement.js +116 -0
  60. package/dist/resource-requirement/lib/resource-requirement.js.map +1 -0
  61. package/package.json +1 -1
@@ -362,6 +362,65 @@
362
362
  "maxLength": 63,
363
363
  "pattern": "^[a-z_][a-z0-9_-]*$"
364
364
  }
365
+ },
366
+ "resources": {
367
+ "type": "array",
368
+ "items": {
369
+ "type": "object",
370
+ "properties": {
371
+ "kind": {
372
+ "type": "string",
373
+ "maxLength": 128,
374
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*(?:\\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*)+$"
375
+ },
376
+ "logicalName": {
377
+ "type": "string",
378
+ "maxLength": 63,
379
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
380
+ },
381
+ "scope": {
382
+ "type": "string",
383
+ "enum": [
384
+ "system",
385
+ "org"
386
+ ]
387
+ },
388
+ "inclusion": {
389
+ "type": "string",
390
+ "enum": [
391
+ "required",
392
+ "optional"
393
+ ]
394
+ },
395
+ "whyNotOrgScoped": {
396
+ "type": "string"
397
+ }
398
+ },
399
+ "required": [
400
+ "kind",
401
+ "logicalName",
402
+ "scope",
403
+ "inclusion"
404
+ ],
405
+ "additionalProperties": false
406
+ }
407
+ },
408
+ "providesResources": {
409
+ "type": "array",
410
+ "items": {
411
+ "type": "object",
412
+ "properties": {
413
+ "kind": {
414
+ "type": "string",
415
+ "maxLength": 128,
416
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*(?:\\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*)+$"
417
+ }
418
+ },
419
+ "required": [
420
+ "kind"
421
+ ],
422
+ "additionalProperties": false
423
+ }
365
424
  }
366
425
  },
367
426
  "required": [
@@ -396,6 +455,65 @@
396
455
  "type": "string",
397
456
  "minLength": 1
398
457
  }
458
+ },
459
+ "resources": {
460
+ "type": "array",
461
+ "items": {
462
+ "type": "object",
463
+ "properties": {
464
+ "kind": {
465
+ "type": "string",
466
+ "maxLength": 128,
467
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*(?:\\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*)+$"
468
+ },
469
+ "logicalName": {
470
+ "type": "string",
471
+ "maxLength": 63,
472
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
473
+ },
474
+ "scope": {
475
+ "type": "string",
476
+ "enum": [
477
+ "system",
478
+ "org"
479
+ ]
480
+ },
481
+ "inclusion": {
482
+ "type": "string",
483
+ "enum": [
484
+ "required",
485
+ "optional"
486
+ ]
487
+ },
488
+ "whyNotOrgScoped": {
489
+ "type": "string"
490
+ }
491
+ },
492
+ "required": [
493
+ "kind",
494
+ "logicalName",
495
+ "scope",
496
+ "inclusion"
497
+ ],
498
+ "additionalProperties": false
499
+ }
500
+ },
501
+ "providesResources": {
502
+ "type": "array",
503
+ "items": {
504
+ "type": "object",
505
+ "properties": {
506
+ "kind": {
507
+ "type": "string",
508
+ "maxLength": 128,
509
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*(?:\\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*)+$"
510
+ }
511
+ },
512
+ "required": [
513
+ "kind"
514
+ ],
515
+ "additionalProperties": false
516
+ }
399
517
  }
400
518
  },
401
519
  "required": [
@@ -463,13 +581,36 @@
463
581
  "optional"
464
582
  ]
465
583
  },
466
- "compositionTrustClass": {
467
- "type": "string",
468
- "enum": [
469
- "custody",
470
- "platform",
471
- "untrusted"
472
- ]
584
+ "processFacts": {
585
+ "type": "object",
586
+ "properties": {
587
+ "exclusive": {
588
+ "type": "object",
589
+ "properties": {
590
+ "reason": {
591
+ "type": "string",
592
+ "minLength": 20
593
+ }
594
+ },
595
+ "required": [
596
+ "reason"
597
+ ],
598
+ "additionalProperties": false
599
+ },
600
+ "credentialCustody": {
601
+ "type": "boolean",
602
+ "const": true
603
+ },
604
+ "foreignCodeExecution": {
605
+ "type": "boolean",
606
+ "const": true
607
+ },
608
+ "governedEgressEdge": {
609
+ "type": "boolean",
610
+ "const": true
611
+ }
612
+ },
613
+ "additionalProperties": false
473
614
  },
474
615
  "executionModes": {
475
616
  "minItems": 1,
@@ -1705,6 +1846,65 @@
1705
1846
  "maxLength": 63,
1706
1847
  "pattern": "^[a-z_][a-z0-9_-]*$"
1707
1848
  }
1849
+ },
1850
+ "resources": {
1851
+ "type": "array",
1852
+ "items": {
1853
+ "type": "object",
1854
+ "properties": {
1855
+ "kind": {
1856
+ "type": "string",
1857
+ "maxLength": 128,
1858
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*(?:\\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*)+$"
1859
+ },
1860
+ "logicalName": {
1861
+ "type": "string",
1862
+ "maxLength": 63,
1863
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
1864
+ },
1865
+ "scope": {
1866
+ "type": "string",
1867
+ "enum": [
1868
+ "system",
1869
+ "org"
1870
+ ]
1871
+ },
1872
+ "inclusion": {
1873
+ "type": "string",
1874
+ "enum": [
1875
+ "required",
1876
+ "optional"
1877
+ ]
1878
+ },
1879
+ "whyNotOrgScoped": {
1880
+ "type": "string"
1881
+ }
1882
+ },
1883
+ "required": [
1884
+ "kind",
1885
+ "logicalName",
1886
+ "scope",
1887
+ "inclusion"
1888
+ ],
1889
+ "additionalProperties": false
1890
+ }
1891
+ },
1892
+ "providesResources": {
1893
+ "type": "array",
1894
+ "items": {
1895
+ "type": "object",
1896
+ "properties": {
1897
+ "kind": {
1898
+ "type": "string",
1899
+ "maxLength": 128,
1900
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*(?:\\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*)+$"
1901
+ }
1902
+ },
1903
+ "required": [
1904
+ "kind"
1905
+ ],
1906
+ "additionalProperties": false
1907
+ }
1708
1908
  }
1709
1909
  },
1710
1910
  "required": [
@@ -1739,6 +1939,65 @@
1739
1939
  "type": "string",
1740
1940
  "minLength": 1
1741
1941
  }
1942
+ },
1943
+ "resources": {
1944
+ "type": "array",
1945
+ "items": {
1946
+ "type": "object",
1947
+ "properties": {
1948
+ "kind": {
1949
+ "type": "string",
1950
+ "maxLength": 128,
1951
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*(?:\\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*)+$"
1952
+ },
1953
+ "logicalName": {
1954
+ "type": "string",
1955
+ "maxLength": 63,
1956
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
1957
+ },
1958
+ "scope": {
1959
+ "type": "string",
1960
+ "enum": [
1961
+ "system",
1962
+ "org"
1963
+ ]
1964
+ },
1965
+ "inclusion": {
1966
+ "type": "string",
1967
+ "enum": [
1968
+ "required",
1969
+ "optional"
1970
+ ]
1971
+ },
1972
+ "whyNotOrgScoped": {
1973
+ "type": "string"
1974
+ }
1975
+ },
1976
+ "required": [
1977
+ "kind",
1978
+ "logicalName",
1979
+ "scope",
1980
+ "inclusion"
1981
+ ],
1982
+ "additionalProperties": false
1983
+ }
1984
+ },
1985
+ "providesResources": {
1986
+ "type": "array",
1987
+ "items": {
1988
+ "type": "object",
1989
+ "properties": {
1990
+ "kind": {
1991
+ "type": "string",
1992
+ "maxLength": 128,
1993
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*(?:\\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*)+$"
1994
+ }
1995
+ },
1996
+ "required": [
1997
+ "kind"
1998
+ ],
1999
+ "additionalProperties": false
2000
+ }
1742
2001
  }
1743
2002
  },
1744
2003
  "required": [
@@ -1806,13 +2065,36 @@
1806
2065
  "optional"
1807
2066
  ]
1808
2067
  },
1809
- "compositionTrustClass": {
1810
- "type": "string",
1811
- "enum": [
1812
- "custody",
1813
- "platform",
1814
- "untrusted"
1815
- ]
2068
+ "processFacts": {
2069
+ "type": "object",
2070
+ "properties": {
2071
+ "exclusive": {
2072
+ "type": "object",
2073
+ "properties": {
2074
+ "reason": {
2075
+ "type": "string",
2076
+ "minLength": 20
2077
+ }
2078
+ },
2079
+ "required": [
2080
+ "reason"
2081
+ ],
2082
+ "additionalProperties": false
2083
+ },
2084
+ "credentialCustody": {
2085
+ "type": "boolean",
2086
+ "const": true
2087
+ },
2088
+ "foreignCodeExecution": {
2089
+ "type": "boolean",
2090
+ "const": true
2091
+ },
2092
+ "governedEgressEdge": {
2093
+ "type": "boolean",
2094
+ "const": true
2095
+ }
2096
+ },
2097
+ "additionalProperties": false
1816
2098
  },
1817
2099
  "executionModes": {
1818
2100
  "minItems": 1,
@@ -1,3 +1,4 @@
1
1
  export * from './lib/biome-dependency-contract';
2
2
  export * from './lib/service-peer-contract';
3
+ export * from './lib/peer-seam-table';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/biome-dependency/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/biome-dependency/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC"}
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./lib/biome-dependency-contract"), exports);
18
18
  __exportStar(require("./lib/service-peer-contract"), exports);
19
+ __exportStar(require("./lib/peer-seam-table"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/biome-dependency/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kEAAgD;AAChD,8DAA4C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/biome-dependency/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kEAAgD;AAChD,8DAA4C;AAC5C,wDAAsC"}
@@ -0,0 +1,52 @@
1
+ import { PeerLifecycle, PeerRelationship } from './biome-dependency-contract';
2
+ export declare const PEER_SEAM_TABLE_VERSION: 1;
3
+ export declare enum PeerSeamOptionMeaning {
4
+ Optional = "optional",
5
+ Lifecycle = "lifecycle",
6
+ Relationship = "relationship",
7
+ DynamicPeer = "dynamic-peer",
8
+ Client = "client",
9
+ Ingests = "ingests"
10
+ }
11
+ export interface PeerSeamOption {
12
+ readonly argument: number;
13
+ readonly path: readonly string[];
14
+ readonly meaning: PeerSeamOptionMeaning;
15
+ readonly required?: true;
16
+ }
17
+ export interface PeerSeamTarget {
18
+ readonly argument: number;
19
+ readonly property?: string;
20
+ }
21
+ export interface PeerCallSeam {
22
+ readonly kind: 'call';
23
+ readonly id: string;
24
+ readonly module: string;
25
+ readonly exportName: string;
26
+ readonly relationship: Exclude<PeerRelationship, PeerRelationship.ContributionOwner>;
27
+ readonly lifecycle: PeerLifecycle;
28
+ readonly target: PeerSeamTarget;
29
+ readonly options: readonly PeerSeamOption[];
30
+ }
31
+ export interface PeerFacilitySeam {
32
+ readonly kind: 'facility';
33
+ readonly id: string;
34
+ readonly module: string;
35
+ readonly exportName: string;
36
+ readonly relationship: Exclude<PeerRelationship, PeerRelationship.ContributionOwner>;
37
+ readonly lifecycle: PeerLifecycle;
38
+ readonly serviceName: string;
39
+ }
40
+ export interface PeerProvidesSeam {
41
+ readonly kind: 'provides';
42
+ readonly id: string;
43
+ readonly module: string;
44
+ readonly exportName: string;
45
+ readonly member: string;
46
+ readonly options: readonly PeerSeamOption[];
47
+ }
48
+ export type PeerSeam = PeerCallSeam | PeerFacilitySeam | PeerProvidesSeam;
49
+ export declare const PEER_SEAM_TABLE: readonly PeerSeam[];
50
+ export declare const CONTRIBUTION_FACT_SEAM: "biome-index/contribution-fact";
51
+ export declare const BIOME_DELIVERY_SERVICE: "biome-host-api";
52
+ //# sourceMappingURL=peer-seam-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peer-seam-table.d.ts","sourceRoot":"","sources":["../../../src/biome-dependency/lib/peer-seam-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAsB9E,eAAO,MAAM,uBAAuB,EAAG,CAAU,CAAC;AAGlD,oBAAY,qBAAqB;IAE/B,QAAQ,aAAa;IAErB,SAAS,cAAc;IAEvB,YAAY,iBAAiB;IAE7B,WAAW,iBAAiB;IAE5B,MAAM,WAAW;IAEjB,OAAO,YAAY;CACpB;AAGD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IAExC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;CAC1B;AAGD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAGD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAC5B,gBAAgB,EAChB,gBAAgB,CAAC,iBAAiB,CACnC,CAAC;IACF,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;CAC7C;AAGD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAC5B,gBAAgB,EAChB,gBAAgB,CAAC,iBAAiB,CACnC,CAAC;IACF,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAGD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;CAC7C;AAED,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAI1E,eAAO,MAAM,eAAe,EAAE,SAAS,QAAQ,EAkHf,CAAC;AAGjC,eAAO,MAAM,sBAAsB,EAAG,+BAAwC,CAAC;AAG/E,eAAO,MAAM,sBAAsB,EAAG,gBAAyB,CAAC"}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BIOME_DELIVERY_SERVICE = exports.CONTRIBUTION_FACT_SEAM = exports.PEER_SEAM_TABLE = exports.PeerSeamOptionMeaning = exports.PEER_SEAM_TABLE_VERSION = void 0;
4
+ const biome_dependency_contract_1 = require("./biome-dependency-contract");
5
+ exports.PEER_SEAM_TABLE_VERSION = 1;
6
+ var PeerSeamOptionMeaning;
7
+ (function (PeerSeamOptionMeaning) {
8
+ PeerSeamOptionMeaning["Optional"] = "optional";
9
+ PeerSeamOptionMeaning["Lifecycle"] = "lifecycle";
10
+ PeerSeamOptionMeaning["Relationship"] = "relationship";
11
+ PeerSeamOptionMeaning["DynamicPeer"] = "dynamic-peer";
12
+ PeerSeamOptionMeaning["Client"] = "client";
13
+ PeerSeamOptionMeaning["Ingests"] = "ingests";
14
+ })(PeerSeamOptionMeaning || (exports.PeerSeamOptionMeaning = PeerSeamOptionMeaning = {}));
15
+ const SERVICE_REGISTRY_NEST = '@xemahq/service-registry-nest';
16
+ exports.PEER_SEAM_TABLE = Object.freeze([
17
+ {
18
+ kind: 'call',
19
+ id: 'service-registry-nest/configurePeerClient',
20
+ module: SERVICE_REGISTRY_NEST,
21
+ exportName: 'configurePeerClient',
22
+ relationship: biome_dependency_contract_1.PeerRelationship.ServicePeer,
23
+ lifecycle: biome_dependency_contract_1.PeerLifecycle.Runtime,
24
+ target: { argument: 0, property: 'peer' },
25
+ options: [
26
+ {
27
+ argument: 0,
28
+ path: ['client'],
29
+ meaning: PeerSeamOptionMeaning.Client,
30
+ required: true,
31
+ },
32
+ {
33
+ argument: 0,
34
+ path: ['optional'],
35
+ meaning: PeerSeamOptionMeaning.Optional,
36
+ },
37
+ {
38
+ argument: 0,
39
+ path: ['lifecycle'],
40
+ meaning: PeerSeamOptionMeaning.Lifecycle,
41
+ },
42
+ ],
43
+ },
44
+ {
45
+ kind: 'call',
46
+ id: 'service-registry-nest/resolveHttpUrl',
47
+ module: SERVICE_REGISTRY_NEST,
48
+ exportName: 'resolveHttpUrl',
49
+ relationship: biome_dependency_contract_1.PeerRelationship.ServicePeer,
50
+ lifecycle: biome_dependency_contract_1.PeerLifecycle.Runtime,
51
+ target: { argument: 1 },
52
+ options: [
53
+ {
54
+ argument: 2,
55
+ path: ['dynamicPeer'],
56
+ meaning: PeerSeamOptionMeaning.DynamicPeer,
57
+ },
58
+ ],
59
+ },
60
+ {
61
+ kind: 'call',
62
+ id: 'service-registry-nest/resolveHttpUrlEagerly',
63
+ module: SERVICE_REGISTRY_NEST,
64
+ exportName: 'resolveHttpUrlEagerly',
65
+ relationship: biome_dependency_contract_1.PeerRelationship.ServicePeer,
66
+ lifecycle: biome_dependency_contract_1.PeerLifecycle.Startup,
67
+ target: { argument: 1 },
68
+ options: [
69
+ {
70
+ argument: 2,
71
+ path: ['peer', 'relationship'],
72
+ meaning: PeerSeamOptionMeaning.Relationship,
73
+ },
74
+ ],
75
+ },
76
+ {
77
+ kind: 'call',
78
+ id: 'service-registry-nest/InjectService',
79
+ module: SERVICE_REGISTRY_NEST,
80
+ exportName: 'InjectService',
81
+ relationship: biome_dependency_contract_1.PeerRelationship.ServicePeer,
82
+ lifecycle: biome_dependency_contract_1.PeerLifecycle.Startup,
83
+ target: { argument: 0 },
84
+ options: [],
85
+ },
86
+ {
87
+ kind: 'facility',
88
+ id: 'xema-service-nest/XemaServiceModule',
89
+ module: '@xemahq/xema-service-nest',
90
+ exportName: 'XemaServiceModule',
91
+ relationship: biome_dependency_contract_1.PeerRelationship.ServicePeer,
92
+ lifecycle: biome_dependency_contract_1.PeerLifecycle.Startup,
93
+ serviceName: 'identity-api',
94
+ },
95
+ {
96
+ kind: 'facility',
97
+ id: 'biome-database-nest/BiomeDatabaseModule',
98
+ module: '@xemahq/biome-database-nest',
99
+ exportName: 'BiomeDatabaseModule',
100
+ relationship: biome_dependency_contract_1.PeerRelationship.DatabasePool,
101
+ lifecycle: biome_dependency_contract_1.PeerLifecycle.Startup,
102
+ serviceName: 'org-database-pool-api',
103
+ },
104
+ {
105
+ kind: 'facility',
106
+ id: 'event-hub-client/EventHubModule',
107
+ module: '@xemahq/event-hub-client',
108
+ exportName: 'EventHubModule',
109
+ relationship: biome_dependency_contract_1.PeerRelationship.EventPlane,
110
+ lifecycle: biome_dependency_contract_1.PeerLifecycle.Startup,
111
+ serviceName: 'event-hub-api',
112
+ },
113
+ {
114
+ kind: 'provides',
115
+ id: 'contribution-sync-nest/ContributionSyncModule',
116
+ module: '@xemahq/contribution-sync-nest',
117
+ exportName: 'ContributionSyncModule',
118
+ member: 'forRootAsync',
119
+ options: [
120
+ {
121
+ argument: 0,
122
+ path: ['ingests'],
123
+ meaning: PeerSeamOptionMeaning.Ingests,
124
+ required: true,
125
+ },
126
+ ],
127
+ },
128
+ ]);
129
+ exports.CONTRIBUTION_FACT_SEAM = 'biome-index/contribution-fact';
130
+ exports.BIOME_DELIVERY_SERVICE = 'biome-host-api';
131
+ //# sourceMappingURL=peer-seam-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peer-seam-table.js","sourceRoot":"","sources":["../../../src/biome-dependency/lib/peer-seam-table.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
- import { type PostgresExtensionName, type BiomeTier, type BiomeTarget, type BiomeOrigin, type BiomeAudience, type BiomeBundleSourceSpec } from '../../biome';
2
+ import { BiomeScalingMode, type BiomeComponentProcessFacts, type PostgresExtensionName, type BiomeTier, type BiomeTarget, type BiomeOrigin, type BiomeAudience, type BiomeBundleSourceSpec } from '../../biome';
3
+ import { type ResourceInclusion, type ResourceKindRef, type ResourceLogicalName, type ResourceScope } from '../../resource-requirement';
3
4
  import { type PlatformServiceTier } from './distribution';
4
5
  import { type BiomeInstallPolicy, type BiomeLaunchMode } from './install-policy';
5
6
  import { type PlatformServiceSourceIdentity } from './platform-service-source-index';
@@ -28,6 +29,23 @@ export interface LockedServiceDependency {
28
29
  owner: ServiceOwnerIdentity;
29
30
  }
30
31
  export declare const LockedServiceDependencySchema: z.ZodType<LockedServiceDependency>;
32
+ export interface LockedResourceProvider {
33
+ biomeId: string;
34
+ serviceName: string;
35
+ }
36
+ export declare const LockedResourceProviderSchema: z.ZodType<LockedResourceProvider>;
37
+ export interface LockedServiceResource {
38
+ consumerService: string;
39
+ kind: ResourceKindRef;
40
+ logicalName: ResourceLogicalName;
41
+ scope: ResourceScope;
42
+ inclusion: ResourceInclusion;
43
+ provider: LockedResourceProvider;
44
+ }
45
+ export declare const LockedServiceResourceSchema: z.ZodType<LockedServiceResource>;
46
+ export declare function compareLockedServiceResources(a: Pick<LockedServiceResource, 'consumerService' | 'kind' | 'logicalName'>, b: Pick<LockedServiceResource, 'consumerService' | 'kind' | 'logicalName'>): number;
47
+ export declare const LockedServiceResourcesSchema: z.ZodType<readonly LockedServiceResource[]>;
48
+ export declare function parseLockedServiceResources(raw: unknown): readonly LockedServiceResource[];
31
49
  export interface LockedHostModule {
32
50
  componentKey: string;
33
51
  artifactPath: string;
@@ -70,6 +88,8 @@ export interface LockedBiome {
70
88
  hostModules: readonly LockedHostModule[];
71
89
  bundleSource?: BiomeBundleSourceSpec;
72
90
  serviceDependencies: readonly LockedServiceDependency[];
91
+ serviceResources?: readonly LockedServiceResource[];
92
+ serviceProcessFacts?: Readonly<Record<string, LockedServiceProcessFacts>>;
73
93
  imageDigest?: string;
74
94
  displayName: string;
75
95
  packageName: string | null;
@@ -88,10 +108,25 @@ export interface LockedBiomeDisplay {
88
108
  summary?: string;
89
109
  accent?: string;
90
110
  }
91
- export type LockedBiomeV3 = Omit<LockedBiome, 'bundleSource'>;
111
+ export type LockedBiomeV3 = Omit<LockedBiome, 'bundleSource' | 'serviceResources' | 'serviceProcessFacts'>;
92
112
  export type LockedBiomeV2 = Omit<LockedBiomeV3, 'serviceDatabaseExtensions' | 'source'> & {
93
113
  source?: LockedBiomeSourceV2;
94
114
  };
115
+ export interface LockedServiceProcessFacts {
116
+ scalingMode: BiomeScalingMode;
117
+ processFacts?: BiomeComponentProcessFacts;
118
+ }
119
+ export declare const LockedServiceProcessFactsSchema: z.ZodObject<{
120
+ scalingMode: z.ZodEnum<typeof BiomeScalingMode>;
121
+ processFacts: z.ZodOptional<z.ZodObject<{
122
+ exclusive: z.ZodOptional<z.ZodObject<{
123
+ reason: z.ZodString;
124
+ }, z.core.$strict>>;
125
+ credentialCustody: z.ZodOptional<z.ZodLiteral<true>>;
126
+ foreignCodeExecution: z.ZodOptional<z.ZodLiteral<true>>;
127
+ governedEgressEdge: z.ZodOptional<z.ZodLiteral<true>>;
128
+ }, z.core.$strict>>;
129
+ }, z.core.$strict>;
95
130
  export declare const LockedBiomeV2Schema: z.ZodType<LockedBiomeV2>;
96
131
  export declare const LockedBiomeV3Schema: z.ZodType<LockedBiomeV3>;
97
132
  export declare const LockedBiomeSchema: z.ZodType<LockedBiome>;
@@ -134,15 +169,24 @@ export interface DistributionLockV4 extends DistributionLockBody {
134
169
  biomes: readonly LockedBiome[];
135
170
  }
136
171
  export type DistributionLock = DistributionLockV2 | DistributionLockV3 | DistributionLockV4;
172
+ declare const distributionLockReadView: unique symbol;
173
+ export type DistributionLockReadView = DistributionLock & {
174
+ readonly [distributionLockReadView]: true;
175
+ };
176
+ export type DistributionLockWriterInput = DistributionLockBody & {
177
+ readonly biomes: readonly LockedBiome[];
178
+ readonly [distributionLockReadView]?: never;
179
+ };
137
180
  export declare const DistributionLockV2Schema: z.ZodType<DistributionLockV2>;
138
181
  export declare const DistributionLockV3Schema: z.ZodType<DistributionLockV3>;
139
182
  export declare const DistributionLockV4Schema: z.ZodType<DistributionLockV4>;
140
183
  export declare const DistributionLockSchema: z.ZodType<DistributionLock>;
184
+ export declare const DistributionLockReaderSchema: z.ZodType<DistributionLock>;
141
185
  export declare function distributionLockSchemaVersionFor(body: Pick<DistributionLockBody, never> & {
142
186
  readonly biomes: readonly LockedBiome[];
143
187
  }): DistributionLockSchemaVersion;
144
- export declare function sealDistributionLock(body: DistributionLockBody & {
145
- readonly biomes: readonly LockedBiome[];
146
- }): DistributionLock;
188
+ export declare function sealDistributionLock(body: DistributionLockWriterInput): DistributionLock;
147
189
  export declare function parseDistributionLock(raw: unknown): DistributionLock;
190
+ export declare function parseDistributionLockForReading(raw: unknown): DistributionLockReadView;
191
+ export {};
148
192
  //# sourceMappingURL=distribution-lock.d.ts.map