openxiangda-contracts 2.47.0 → 2.69.1

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 (177) hide show
  1. package/dist/ai.d.ts +1 -1
  2. package/dist/ai.d.ts.map +1 -1
  3. package/dist/ai.js +4 -3
  4. package/dist/ai.js.map +1 -1
  5. package/dist/browser.d.ts +13 -0
  6. package/dist/browser.d.ts.map +1 -1
  7. package/dist/browser.js +13 -0
  8. package/dist/browser.js.map +1 -1
  9. package/dist/concurrency.d.ts +3 -3
  10. package/dist/concurrency.d.ts.map +1 -1
  11. package/dist/data-field-validation.d.ts.map +1 -1
  12. package/dist/data-field-validation.js +17 -2
  13. package/dist/data-field-validation.js.map +1 -1
  14. package/dist/field-value-schemas.d.ts +1 -1
  15. package/dist/index.d.ts +17 -0
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +17 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/native-compiler/actor-authority.d.ts +11 -0
  20. package/dist/native-compiler/actor-authority.d.ts.map +1 -0
  21. package/dist/native-compiler/actor-authority.js +56 -0
  22. package/dist/native-compiler/actor-authority.js.map +1 -0
  23. package/dist/native-compiler/artifact-capacity.d.ts +12 -0
  24. package/dist/native-compiler/artifact-capacity.d.ts.map +1 -0
  25. package/dist/native-compiler/artifact-capacity.js +34 -0
  26. package/dist/native-compiler/artifact-capacity.js.map +1 -0
  27. package/dist/native-compiler/authenticated-public-read.d.ts +18 -0
  28. package/dist/native-compiler/authenticated-public-read.d.ts.map +1 -0
  29. package/dist/native-compiler/authenticated-public-read.js +79 -0
  30. package/dist/native-compiler/authenticated-public-read.js.map +1 -0
  31. package/dist/native-compiler/compiler.d.ts +3 -22
  32. package/dist/native-compiler/compiler.d.ts.map +1 -1
  33. package/dist/native-compiler/compiler.js +441 -59
  34. package/dist/native-compiler/compiler.js.map +1 -1
  35. package/dist/native-compiler/data-business-command.d.ts +44 -0
  36. package/dist/native-compiler/data-business-command.d.ts.map +1 -0
  37. package/dist/native-compiler/data-business-command.js +88 -0
  38. package/dist/native-compiler/data-business-command.js.map +1 -0
  39. package/dist/native-compiler/data-capacity.d.ts +14 -3
  40. package/dist/native-compiler/data-capacity.d.ts.map +1 -1
  41. package/dist/native-compiler/data-capacity.js +11 -3
  42. package/dist/native-compiler/data-capacity.js.map +1 -1
  43. package/dist/native-compiler/data-field.d.ts +24 -0
  44. package/dist/native-compiler/data-field.d.ts.map +1 -1
  45. package/dist/native-compiler/data-field.js +23 -2
  46. package/dist/native-compiler/data-field.js.map +1 -1
  47. package/dist/native-compiler/data-surface.d.ts +1 -1
  48. package/dist/native-compiler/data-surface.d.ts.map +1 -1
  49. package/dist/native-compiler/data-surface.js +2 -0
  50. package/dist/native-compiler/data-surface.js.map +1 -1
  51. package/dist/native-compiler/date-event-projection.d.ts +13 -0
  52. package/dist/native-compiler/date-event-projection.d.ts.map +1 -0
  53. package/dist/native-compiler/date-event-projection.js +71 -0
  54. package/dist/native-compiler/date-event-projection.js.map +1 -0
  55. package/dist/native-compiler/declaration-capacity.d.ts +60 -0
  56. package/dist/native-compiler/declaration-capacity.d.ts.map +1 -0
  57. package/dist/native-compiler/declaration-capacity.js +32 -0
  58. package/dist/native-compiler/declaration-capacity.js.map +1 -0
  59. package/dist/native-compiler/development-backend.d.ts +84 -0
  60. package/dist/native-compiler/development-backend.d.ts.map +1 -0
  61. package/dist/native-compiler/development-backend.js +77 -0
  62. package/dist/native-compiler/development-backend.js.map +1 -0
  63. package/dist/native-compiler/development-configuration.d.ts +65 -0
  64. package/dist/native-compiler/development-configuration.d.ts.map +1 -0
  65. package/dist/native-compiler/development-configuration.js +143 -0
  66. package/dist/native-compiler/development-configuration.js.map +1 -0
  67. package/dist/native-compiler/index.cjs +6 -6
  68. package/dist/native-compiler/index.d.ts +22 -0
  69. package/dist/native-compiler/index.d.ts.map +1 -1
  70. package/dist/native-compiler/index.js +6 -6
  71. package/dist/native-compiler/managed-concurrency.js +2 -2
  72. package/dist/native-compiler/managed-concurrency.js.map +1 -1
  73. package/dist/native-compiler/record-set-guard.d.ts +5 -0
  74. package/dist/native-compiler/record-set-guard.d.ts.map +1 -0
  75. package/dist/native-compiler/record-set-guard.js +27 -0
  76. package/dist/native-compiler/record-set-guard.js.map +1 -0
  77. package/dist/native-compiler/resource-view.d.ts +4 -0
  78. package/dist/native-compiler/resource-view.d.ts.map +1 -0
  79. package/dist/native-compiler/resource-view.js +20 -0
  80. package/dist/native-compiler/resource-view.js.map +1 -0
  81. package/dist/native-compiler/unique-keys.d.ts +21 -0
  82. package/dist/native-compiler/unique-keys.d.ts.map +1 -1
  83. package/dist/native-compiler/unique-keys.js +17 -3
  84. package/dist/native-compiler/unique-keys.js.map +1 -1
  85. package/dist/native-compiler/user-candidates.d.ts +80 -0
  86. package/dist/native-compiler/user-candidates.d.ts.map +1 -0
  87. package/dist/native-compiler/user-candidates.js +197 -0
  88. package/dist/native-compiler/user-candidates.js.map +1 -0
  89. package/dist/native-compiler/workflow-approval-empty.d.ts +28 -0
  90. package/dist/native-compiler/workflow-approval-empty.d.ts.map +1 -0
  91. package/dist/native-compiler/workflow-approval-empty.js +34 -0
  92. package/dist/native-compiler/workflow-approval-empty.js.map +1 -0
  93. package/dist/native-compiler/workflow-approved-delegation.d.ts +39 -0
  94. package/dist/native-compiler/workflow-approved-delegation.d.ts.map +1 -0
  95. package/dist/native-compiler/workflow-approved-delegation.js +94 -0
  96. package/dist/native-compiler/workflow-approved-delegation.js.map +1 -0
  97. package/dist/native-compiler/workflow-business-command.d.ts +108 -0
  98. package/dist/native-compiler/workflow-business-command.d.ts.map +1 -0
  99. package/dist/native-compiler/workflow-business-command.js +62 -0
  100. package/dist/native-compiler/workflow-business-command.js.map +1 -0
  101. package/dist/native-compiler/workflow-completion-deadline.d.ts +41 -0
  102. package/dist/native-compiler/workflow-completion-deadline.d.ts.map +1 -0
  103. package/dist/native-compiler/workflow-completion-deadline.js +40 -0
  104. package/dist/native-compiler/workflow-completion-deadline.js.map +1 -0
  105. package/dist/native-compiler/workflow-correction.d.ts +16 -0
  106. package/dist/native-compiler/workflow-correction.d.ts.map +1 -0
  107. package/dist/native-compiler/workflow-correction.js +42 -0
  108. package/dist/native-compiler/workflow-correction.js.map +1 -0
  109. package/dist/native-compiler/workflow-delegation-administration.d.ts +73 -0
  110. package/dist/native-compiler/workflow-delegation-administration.d.ts.map +1 -1
  111. package/dist/native-compiler/workflow-delegation-administration.js +6 -4
  112. package/dist/native-compiler/workflow-delegation-administration.js.map +1 -1
  113. package/dist/native-compiler/workflow-graph.d.ts +21 -2
  114. package/dist/native-compiler/workflow-graph.d.ts.map +1 -1
  115. package/dist/native-compiler/workflow-graph.js +20 -3
  116. package/dist/native-compiler/workflow-graph.js.map +1 -1
  117. package/dist/native-compiler/workflow-initiator-approval.d.ts +32 -0
  118. package/dist/native-compiler/workflow-initiator-approval.d.ts.map +1 -0
  119. package/dist/native-compiler/workflow-initiator-approval.js +45 -0
  120. package/dist/native-compiler/workflow-initiator-approval.js.map +1 -0
  121. package/dist/native-compiler/workflow-instance-policy.d.ts +2 -0
  122. package/dist/native-compiler/workflow-instance-policy.d.ts.map +1 -1
  123. package/dist/native-compiler/workflow-instance-policy.js +9 -4
  124. package/dist/native-compiler/workflow-instance-policy.js.map +1 -1
  125. package/dist/native-compiler/workflow-launch-preflight.d.ts +22 -0
  126. package/dist/native-compiler/workflow-launch-preflight.d.ts.map +1 -0
  127. package/dist/native-compiler/workflow-launch-preflight.js +30 -0
  128. package/dist/native-compiler/workflow-launch-preflight.js.map +1 -0
  129. package/dist/native-compiler/workflow-native-stage.d.ts +69 -0
  130. package/dist/native-compiler/workflow-native-stage.d.ts.map +1 -0
  131. package/dist/native-compiler/workflow-native-stage.js +42 -0
  132. package/dist/native-compiler/workflow-native-stage.js.map +1 -0
  133. package/dist/native-compiler/workflow-node-administration.d.ts +11 -1
  134. package/dist/native-compiler/workflow-node-administration.d.ts.map +1 -1
  135. package/dist/native-compiler/workflow-node-administration.js +25 -5
  136. package/dist/native-compiler/workflow-node-administration.js.map +1 -1
  137. package/dist/native-compiler/workflow-owned-subject.d.ts +60 -0
  138. package/dist/native-compiler/workflow-owned-subject.d.ts.map +1 -0
  139. package/dist/native-compiler/workflow-owned-subject.js +69 -0
  140. package/dist/native-compiler/workflow-owned-subject.js.map +1 -0
  141. package/dist/native-compiler/workflow-rejection-notification.d.ts +31 -0
  142. package/dist/native-compiler/workflow-rejection-notification.d.ts.map +1 -0
  143. package/dist/native-compiler/workflow-rejection-notification.js +47 -0
  144. package/dist/native-compiler/workflow-rejection-notification.js.map +1 -0
  145. package/dist/native-compiler/workflow-role-union.d.ts +31 -0
  146. package/dist/native-compiler/workflow-role-union.d.ts.map +1 -0
  147. package/dist/native-compiler/workflow-role-union.js +38 -0
  148. package/dist/native-compiler/workflow-role-union.js.map +1 -0
  149. package/dist/native-compiler/workflow-task-page.d.ts +10 -3
  150. package/dist/native-compiler/workflow-task-page.d.ts.map +1 -1
  151. package/dist/native-compiler/workflow-task-page.js +5 -3
  152. package/dist/native-compiler/workflow-task-page.js.map +1 -1
  153. package/dist/native-version.d.ts +36 -1
  154. package/dist/native-version.d.ts.map +1 -1
  155. package/dist/native-version.js +36 -1
  156. package/dist/native-version.js.map +1 -1
  157. package/dist/native.d.ts +24 -2
  158. package/dist/native.d.ts.map +1 -1
  159. package/dist/native.js.map +1 -1
  160. package/dist/references.d.ts +2 -0
  161. package/dist/references.d.ts.map +1 -1
  162. package/dist/schemas.d.ts +10118 -5656
  163. package/dist/schemas.d.ts.map +1 -1
  164. package/dist/schemas.js +379 -17
  165. package/dist/schemas.js.map +1 -1
  166. package/dist/surface.d.ts +4 -2
  167. package/dist/surface.d.ts.map +1 -1
  168. package/dist/surface.js +1 -19
  169. package/dist/surface.js.map +1 -1
  170. package/dist/types.d.ts +371 -13
  171. package/dist/types.d.ts.map +1 -1
  172. package/dist/types.js +6 -2
  173. package/dist/types.js.map +1 -1
  174. package/dist/validation.d.ts.map +1 -1
  175. package/dist/validation.js +61 -2
  176. package/dist/validation.js.map +1 -1
  177. package/package.json +1 -1
@@ -0,0 +1,143 @@
1
+ import { canonicalJson, sha256Digest } from "../canonical.js";
2
+ import { OPENXIANGDA_CONTRACT_VERSION } from "../native-version.js";
3
+ export const DEVELOPMENT_CONFIGURATION_SCHEMA = "openxiangda.development-configuration/v1";
4
+ export const DEVELOPMENT_CONFIGURATION_MANIFEST_SCHEMA = "openxiangda.development-configuration-manifest/v1";
5
+ export const DEVELOPMENT_CONFIGURATION_FEATURE = "application.development-configuration";
6
+ export const DEVELOPMENT_CONFIGURATION_ENDPOINT = "/openxiangda-api/v2/applications/{appCode}/dev-sessions/configuration";
7
+ export class DevelopmentConfigurationContractError extends Error {
8
+ code;
9
+ pointer;
10
+ status = 400;
11
+ data;
12
+ constructor(code, pointer) {
13
+ super(code);
14
+ this.code = code;
15
+ this.pointer = pointer;
16
+ this.data = { pointer };
17
+ }
18
+ }
19
+ function fail(pointer) {
20
+ throw new DevelopmentConfigurationContractError("OPENXIANGDA_CONNECTED_DEV_CONFIGURATION_INVALID", pointer);
21
+ }
22
+ export function assertDevelopmentConfigurationManifest(value) {
23
+ if (!value || typeof value !== "object" || Array.isArray(value))
24
+ fail("/packageManifest");
25
+ const m = value;
26
+ const keys = [
27
+ "schemaVersion",
28
+ "appCode",
29
+ "version",
30
+ "configDigest",
31
+ "contractDigest",
32
+ "source",
33
+ "toolchain",
34
+ "artifacts",
35
+ ];
36
+ if (Object.keys(m).some((key) => !keys.includes(key)) ||
37
+ m.schemaVersion !== DEVELOPMENT_CONFIGURATION_MANIFEST_SCHEMA ||
38
+ typeof m.appCode !== "string" ||
39
+ !/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/.test(m.appCode) ||
40
+ !/^[a-f0-9]{64}$/.test(m.configDigest) ||
41
+ !/^[a-f0-9]{64}$/.test(m.contractDigest) ||
42
+ m.version !== `development-${m.configDigest}`)
43
+ fail("/packageManifest");
44
+ if (!m.source ||
45
+ typeof m.source !== "object" ||
46
+ Array.isArray(m.source) ||
47
+ Object.keys(m.source).some((key) => !["repository", "commit", "dirty"].includes(key)) ||
48
+ ![null, "string"].includes(m.source.repository === null ? null : typeof m.source.repository) ||
49
+ (m.source.repository !== null &&
50
+ (m.source.repository.length > 1024 ||
51
+ /[\r\n\0]/.test(m.source.repository))) ||
52
+ (m.source.commit !== null &&
53
+ (typeof m.source.commit !== "string" ||
54
+ !/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/.test(m.source.commit))) ||
55
+ typeof m.source.dirty !== "boolean")
56
+ fail("/packageManifest/source");
57
+ if (!m.toolchain ||
58
+ Object.keys(m.toolchain).some((key) => !["version", "contractVersion"].includes(key)) ||
59
+ typeof m.toolchain.version !== "string" ||
60
+ !/^[A-Za-z0-9][A-Za-z0-9.+_-]{0,127}$/.test(m.toolchain.version) ||
61
+ m.toolchain.contractVersion !== OPENXIANGDA_CONTRACT_VERSION)
62
+ fail("/packageManifest/toolchain");
63
+ const artifacts = [
64
+ { kind: "config", digest: m.configDigest, mediaType: "application/json" },
65
+ {
66
+ kind: "contracts",
67
+ digest: m.contractDigest,
68
+ mediaType: "application/json",
69
+ },
70
+ ];
71
+ if (canonicalJson(m.artifacts) !== canonicalJson(artifacts))
72
+ fail("/packageManifest/artifacts");
73
+ return m;
74
+ }
75
+ export function createDevelopmentConfigurationManifest(appCode, input) {
76
+ return assertDevelopmentConfigurationManifest({
77
+ schemaVersion: DEVELOPMENT_CONFIGURATION_MANIFEST_SCHEMA,
78
+ appCode,
79
+ version: `development-${input.configDigest}`,
80
+ configDigest: input.configDigest,
81
+ contractDigest: input.contractDigest,
82
+ source: { ...input.source },
83
+ toolchain: {
84
+ version: input.toolchainVersion,
85
+ contractVersion: OPENXIANGDA_CONTRACT_VERSION,
86
+ },
87
+ artifacts: [
88
+ {
89
+ kind: "config",
90
+ digest: input.configDigest,
91
+ mediaType: "application/json",
92
+ },
93
+ {
94
+ kind: "contracts",
95
+ digest: input.contractDigest,
96
+ mediaType: "application/json",
97
+ },
98
+ ],
99
+ });
100
+ }
101
+ export function developmentConfigurationKey(manifest, expectedHeadRevision) {
102
+ if (!Number.isSafeInteger(expectedHeadRevision) || expectedHeadRevision < 1)
103
+ fail("/expectedHeadRevision");
104
+ return `development:${sha256Digest({ manifest, expectedHeadRevision })}`;
105
+ }
106
+ export function assertDevelopmentConfigurationResult(value, appCode, input) {
107
+ if (!value || typeof value !== "object" || Array.isArray(value))
108
+ fail("/result");
109
+ const r = value;
110
+ const keys = [
111
+ "schemaVersion",
112
+ "appCode",
113
+ "environmentKey",
114
+ "environmentId",
115
+ "appVersionId",
116
+ "configurationRunId",
117
+ "headRevision",
118
+ "configDigest",
119
+ "contractDigest",
120
+ "reused",
121
+ "runtimeArtifactsDeployed",
122
+ "backendEventsAvailable",
123
+ ];
124
+ const uuid = /^[a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/i;
125
+ if (Object.keys(r).some((key) => !keys.includes(key)) ||
126
+ r.schemaVersion !== DEVELOPMENT_CONFIGURATION_SCHEMA ||
127
+ r.appCode !== appCode ||
128
+ r.environmentKey !== "preproduction" ||
129
+ r.configDigest !== input.configDigest ||
130
+ r.contractDigest !== input.contractDigest ||
131
+ !uuid.test(r.environmentId) ||
132
+ !uuid.test(r.appVersionId) ||
133
+ !uuid.test(r.configurationRunId) ||
134
+ typeof r.reused !== "boolean" ||
135
+ !Number.isSafeInteger(r.headRevision) ||
136
+ r.headRevision < 1 ||
137
+ (!r.reused && r.headRevision !== input.expectedHeadRevision + 1) ||
138
+ r.runtimeArtifactsDeployed !== false ||
139
+ r.backendEventsAvailable !== false)
140
+ fail("/result");
141
+ return r;
142
+ }
143
+ //# sourceMappingURL=development-configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"development-configuration.js","sourceRoot":"","sources":["../../src/native-compiler/development-configuration.ts"],"names":[],"mappings":"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"}