openxiangda-contracts 2.25.0 → 2.27.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 (44) hide show
  1. package/README.md +1 -1
  2. package/dist/browser.d.ts +1 -0
  3. package/dist/browser.d.ts.map +1 -1
  4. package/dist/browser.js +1 -0
  5. package/dist/browser.js.map +1 -1
  6. package/dist/cli.d.ts +38 -0
  7. package/dist/cli.d.ts.map +1 -0
  8. package/dist/cli.js +11 -0
  9. package/dist/cli.js.map +1 -0
  10. package/dist/index.d.ts +2 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +2 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/native-compiler/compiler.d.ts.map +1 -1
  15. package/dist/native-compiler/compiler.js +9 -1
  16. package/dist/native-compiler/compiler.js.map +1 -1
  17. package/dist/native-compiler/index.cjs +4 -4
  18. package/dist/native-compiler/index.d.ts +1 -0
  19. package/dist/native-compiler/index.d.ts.map +1 -1
  20. package/dist/native-compiler/index.js +4 -4
  21. package/dist/native-compiler/unique-keys.d.ts +102 -0
  22. package/dist/native-compiler/unique-keys.d.ts.map +1 -0
  23. package/dist/native-compiler/unique-keys.js +112 -0
  24. package/dist/native-compiler/unique-keys.js.map +1 -0
  25. package/dist/native-version.d.ts +1 -0
  26. package/dist/native-version.d.ts.map +1 -1
  27. package/dist/native-version.js +1 -0
  28. package/dist/native-version.js.map +1 -1
  29. package/dist/schemas.d.ts +189 -797
  30. package/dist/schemas.d.ts.map +1 -1
  31. package/dist/schemas.js +12 -280
  32. package/dist/schemas.js.map +1 -1
  33. package/dist/types.d.ts +21 -6
  34. package/dist/types.d.ts.map +1 -1
  35. package/dist/types.js +2 -5
  36. package/dist/types.js.map +1 -1
  37. package/dist/validation.d.ts.map +1 -1
  38. package/dist/validation.js +9 -0
  39. package/dist/validation.js.map +1 -1
  40. package/package.json +1 -1
  41. package/dist/studio.d.ts +0 -140
  42. package/dist/studio.d.ts.map +0 -1
  43. package/dist/studio.js +0 -23
  44. package/dist/studio.js.map +0 -1
@@ -0,0 +1,102 @@
1
+ import type { DataUniqueKey } from '../types.js';
2
+ export declare const NATIVE_UNIQUE_KEY_NORMALIZERS: readonly ["exact-v1", "nfkc-space-v1", "nfkc-upper-ascii-v1"];
3
+ export declare const NATIVE_UNIQUE_KEY_MAX_BYTES = 256;
4
+ export declare class NativeUniqueKeyContractError extends Error {
5
+ readonly pointer: string;
6
+ readonly reason: string;
7
+ readonly code = "NATIVE_UNIQUE_KEY_INVALID";
8
+ constructor(pointer: string, reason: string);
9
+ }
10
+ type Field = {
11
+ code: string;
12
+ type: string;
13
+ options?: readonly {
14
+ value: string;
15
+ }[];
16
+ };
17
+ /** Pure, shared declaration validation. Database expressions own enforcement. */
18
+ export declare function parseNativeUniqueKeys(value: unknown, fields: readonly Field[], pointer?: string): DataUniqueKey[] | undefined;
19
+ export declare const nativeUniqueKeysJsonSchema: {
20
+ type: string;
21
+ maxItems: number;
22
+ items: {
23
+ type: string;
24
+ additionalProperties: boolean;
25
+ required: string[];
26
+ properties: {
27
+ code: {
28
+ type: string;
29
+ maxLength: number;
30
+ pattern: string;
31
+ };
32
+ fields: {
33
+ type: string;
34
+ minItems: number;
35
+ maxItems: number;
36
+ uniqueItems: boolean;
37
+ items: {
38
+ type: string;
39
+ additionalProperties: boolean;
40
+ required: string[];
41
+ properties: {
42
+ fieldCode: {
43
+ type: string;
44
+ pattern: string;
45
+ };
46
+ normalizer: {
47
+ enum: ("exact-v1" | "nfkc-space-v1" | "nfkc-upper-ascii-v1")[];
48
+ };
49
+ };
50
+ };
51
+ };
52
+ when: {
53
+ type: string;
54
+ maxItems: number;
55
+ uniqueItems: boolean;
56
+ items: {
57
+ oneOf: ({
58
+ type: string;
59
+ additionalProperties: boolean;
60
+ required: string[];
61
+ properties: {
62
+ fieldCode: {
63
+ type: string;
64
+ pattern: string;
65
+ };
66
+ operator: {
67
+ enum: string[];
68
+ };
69
+ values?: never;
70
+ };
71
+ } | {
72
+ type: string;
73
+ additionalProperties: boolean;
74
+ required: string[];
75
+ properties: {
76
+ fieldCode: {
77
+ type: string;
78
+ pattern: string;
79
+ };
80
+ operator: {
81
+ enum: string[];
82
+ };
83
+ values: {
84
+ type: string;
85
+ minItems: number;
86
+ maxItems: number;
87
+ uniqueItems: boolean;
88
+ items: {
89
+ type: string;
90
+ minLength: number;
91
+ maxLength: number;
92
+ };
93
+ };
94
+ };
95
+ })[];
96
+ };
97
+ };
98
+ };
99
+ };
100
+ };
101
+ export {};
102
+ //# sourceMappingURL=unique-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unique-keys.d.ts","sourceRoot":"","sources":["../../src/native-compiler/unique-keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAmD,MAAM,aAAa,CAAC;AAElG,eAAO,MAAM,6BAA6B,+DAAgE,CAAC;AAC3G,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C,qBAAa,4BAA6B,SAAQ,KAAK;IAEzC,QAAQ,CAAC,OAAO,EAAE,MAAM;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM;IAD7D,QAAQ,CAAC,IAAI,+BAA+B;gBACvB,OAAO,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM;CAG9D;AAED,KAAK,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,CAAC;AASpF,iFAAiF;AACjF,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,OAAO,SAAgB,GACtB,aAAa,EAAE,GAAG,SAAS,CA0D7B;AAGD,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBtC,CAAC"}
@@ -0,0 +1,112 @@
1
+ export const NATIVE_UNIQUE_KEY_NORMALIZERS = ['exact-v1', 'nfkc-space-v1', 'nfkc-upper-ascii-v1'];
2
+ export const NATIVE_UNIQUE_KEY_MAX_BYTES = 256;
3
+ export class NativeUniqueKeyContractError extends Error {
4
+ pointer;
5
+ reason;
6
+ code = 'NATIVE_UNIQUE_KEY_INVALID';
7
+ constructor(pointer, reason) {
8
+ super(`条件唯一键声明无效:${reason}(${pointer})`);
9
+ this.pointer = pointer;
10
+ this.reason = reason;
11
+ }
12
+ }
13
+ const record = (value) => Boolean(value && typeof value === 'object' && !Array.isArray(value));
14
+ const fail = (pointer, reason) => { throw new NativeUniqueKeyContractError(pointer, reason); };
15
+ const compare = (a, b) => a < b ? -1 : a > b ? 1 : 0;
16
+ const exactKeys = (value, keys, path) => {
17
+ if (Object.keys(value).some(key => !keys.includes(key)))
18
+ fail(path, '不支持未知属性');
19
+ };
20
+ /** Pure, shared declaration validation. Database expressions own enforcement. */
21
+ export function parseNativeUniqueKeys(value, fields, pointer = '/uniqueKeys') {
22
+ if (value === undefined)
23
+ return undefined;
24
+ if (!Array.isArray(value) || value.length > 8)
25
+ return fail(pointer, '每资源最多 8 条规则');
26
+ const byCode = new Map(fields.map(field => [field.code, field]));
27
+ const codes = new Set();
28
+ return value.map((rule, index) => {
29
+ const path = `${pointer}/${index}`;
30
+ if (!record(rule))
31
+ return fail(path, '规则必须是对象');
32
+ exactKeys(rule, ['code', 'fields', 'when'], path);
33
+ if (typeof rule.code !== 'string' || !/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/.test(rule.code) ||
34
+ rule.code.length > 20 || codes.has(rule.code))
35
+ return fail(`${path}/code`, '需要不重复且不超过 20 字符的 lower-kebab-case 标识');
36
+ codes.add(rule.code);
37
+ if (!Array.isArray(rule.fields) || rule.fields.length < 1 || rule.fields.length > 4)
38
+ return fail(`${path}/fields`, '必须选择 1 到 4 个字段');
39
+ const seenFields = new Set();
40
+ const keys = rule.fields.map((key, keyIndex) => {
41
+ const keyPath = `${path}/fields/${keyIndex}`;
42
+ if (!record(key))
43
+ return fail(keyPath, '字段必须是对象');
44
+ exactKeys(key, ['fieldCode', 'normalizer'], keyPath);
45
+ const field = byCode.get(key.fieldCode);
46
+ if (!field || !['text.short', 'uuid', 'option.single', 'resource-ref.single'].includes(field.type) || seenFields.has(key.fieldCode))
47
+ return fail(`${keyPath}/fieldCode`, '需要不重复的短文本、UUID、单选或单记录引用字段');
48
+ seenFields.add(key.fieldCode);
49
+ const normalizer = key.normalizer === undefined ? 'exact-v1' : key.normalizer;
50
+ if (!NATIVE_UNIQUE_KEY_NORMALIZERS.includes(normalizer) ||
51
+ (field.type !== 'text.short' && normalizer !== 'exact-v1'))
52
+ return fail(`${keyPath}/normalizer`, '归一化方式不支持或与字段类型不符');
53
+ return { fieldCode: field.code, normalizer };
54
+ }).sort((a, b) => compare(a.fieldCode, b.fieldCode));
55
+ const predicates = rule.when === undefined ? [] : rule.when;
56
+ if (!Array.isArray(predicates) || predicates.length > 4)
57
+ return fail(`${path}/when`, '最多 4 个合取条件');
58
+ const seenConditions = new Set();
59
+ const when = predicates.map((raw, conditionIndex) => {
60
+ const conditionPath = `${path}/when/${conditionIndex}`;
61
+ if (!record(raw))
62
+ return fail(conditionPath, '条件必须是对象');
63
+ const field = byCode.get(raw.fieldCode);
64
+ if (!field)
65
+ return fail(`${conditionPath}/fieldCode`, '字段不存在');
66
+ let condition;
67
+ if (raw.operator === 'empty' || raw.operator === 'nonempty') {
68
+ exactKeys(raw, ['fieldCode', 'operator'], conditionPath);
69
+ if (field.type !== 'text.short')
70
+ return fail(conditionPath, '空值条件仅支持短文本');
71
+ condition = { fieldCode: field.code, operator: raw.operator };
72
+ }
73
+ else if (raw.operator === 'in' || raw.operator === 'notIn') {
74
+ exactKeys(raw, ['fieldCode', 'operator', 'values'], conditionPath);
75
+ const allowed = new Set((field.options ?? []).map(option => option.value));
76
+ if (field.type !== 'option.single' || !Array.isArray(raw.values) || raw.values.length < 1 || raw.values.length > 16 ||
77
+ raw.values.some((item) => typeof item !== 'string' || item.length < 1 || item.length > 128 || !allowed.has(item)) || new Set(raw.values).size !== raw.values.length)
78
+ return fail(conditionPath, '集合条件需要 1 到 16 个不重复的已声明单选值');
79
+ condition = { fieldCode: field.code, operator: raw.operator, values: [...raw.values].sort(compare) };
80
+ }
81
+ else
82
+ return fail(`${conditionPath}/operator`, '只支持 empty、nonempty、in 和 notIn');
83
+ const identity = JSON.stringify(condition);
84
+ if (seenConditions.has(identity))
85
+ return fail(conditionPath, '条件不能重复');
86
+ seenConditions.add(identity);
87
+ return condition;
88
+ }).sort((a, b) => compare(JSON.stringify(a), JSON.stringify(b)));
89
+ return { code: rule.code, fields: keys, when };
90
+ }).sort((a, b) => compare(a.code, b.code));
91
+ }
92
+ const fieldCode = { type: 'string', pattern: '^[A-Za-z_][A-Za-z0-9_]{0,62}$' };
93
+ export const nativeUniqueKeysJsonSchema = {
94
+ type: 'array', maxItems: 8,
95
+ items: {
96
+ type: 'object', additionalProperties: false, required: ['code', 'fields'],
97
+ properties: {
98
+ code: { type: 'string', maxLength: 20, pattern: '^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$' },
99
+ fields: { type: 'array', minItems: 1, maxItems: 4, uniqueItems: true,
100
+ items: { type: 'object', additionalProperties: false, required: ['fieldCode'],
101
+ properties: { fieldCode, normalizer: { enum: [...NATIVE_UNIQUE_KEY_NORMALIZERS] } } } },
102
+ when: { type: 'array', maxItems: 4, uniqueItems: true, items: { oneOf: [
103
+ { type: 'object', additionalProperties: false, required: ['fieldCode', 'operator'],
104
+ properties: { fieldCode, operator: { enum: ['empty', 'nonempty'] } } },
105
+ { type: 'object', additionalProperties: false, required: ['fieldCode', 'operator', 'values'],
106
+ properties: { fieldCode, operator: { enum: ['in', 'notIn'] },
107
+ values: { type: 'array', minItems: 1, maxItems: 16, uniqueItems: true, items: { type: 'string', minLength: 1, maxLength: 128 } } } },
108
+ ] } },
109
+ },
110
+ },
111
+ };
112
+ //# sourceMappingURL=unique-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unique-keys.js","sourceRoot":"","sources":["../../src/native-compiler/unique-keys.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export declare const PLATFORM_CAPABILITY_CONTRACT_VERSIONS: {
14
14
  readonly "data.managed-files": "1.1.0";
15
15
  readonly "data.decimal-reservations": "1.1.0";
16
16
  readonly "data.decimal-reservation-lifecycle": "1.0.0";
17
+ readonly "data.unique-keys": "1.0.0";
17
18
  readonly "workflow.named-input-sources": "1.0.0";
18
19
  readonly "directory-v2": "1.0.0";
19
20
  readonly "events-v2": "1.0.0";
@@ -1 +1 @@
1
- {"version":3,"file":"native-version.d.ts","sourceRoot":"","sources":["../src/native-version.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,eAAO,MAAM,qCAAqC,EAAG,UAAmB,CAAC;AAEzE,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BxC,CAAC"}
1
+ {"version":3,"file":"native-version.d.ts","sourceRoot":"","sources":["../src/native-version.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,eAAO,MAAM,qCAAqC,EAAG,UAAmB,CAAC;AAEzE,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BxC,CAAC"}
@@ -14,6 +14,7 @@ export const PLATFORM_CAPABILITY_CONTRACT_VERSIONS = {
14
14
  "data.managed-files": "1.1.0",
15
15
  "data.decimal-reservations": "1.1.0",
16
16
  "data.decimal-reservation-lifecycle": "1.0.0",
17
+ "data.unique-keys": "1.0.0",
17
18
  "workflow.named-input-sources": "1.0.0",
18
19
  "directory-v2": "1.0.0",
19
20
  "events-v2": "1.0.0",
@@ -1 +1 @@
1
- {"version":3,"file":"native-version.js","sourceRoot":"","sources":["../src/native-version.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,MAAM,CAAC,MAAM,qCAAqC,GAAG,UAAmB,CAAC;AAEzE,MAAM,CAAC,MAAM,qCAAqC,GAAG;IACnD,sBAAsB,EAAE,OAAO;IAC/B,4BAA4B,EAAE,OAAO;IACrC,yBAAyB,EAAE,OAAO;IAClC,yBAAyB,EAAE,OAAO;IAClC,8BAA8B,EAAE,OAAO;IACvC,kCAAkC,EAAE,OAAO;IAC3C,+BAA+B,EAAE,OAAO;IACxC,aAAa,EAAE,OAAO;IACtB,yBAAyB,EAAE,OAAO;IAClC,wBAAwB,EAAE,OAAO;IACjC,oBAAoB,EAAE,OAAO;IAC7B,2BAA2B,EAAE,OAAO;IACpC,oCAAoC,EAAE,OAAO;IAC7C,8BAA8B,EAAE,OAAO;IACvC,cAAc,EAAE,OAAO;IACvB,WAAW,EAAE,OAAO;IACpB,yBAAyB,EAAE,OAAO;IAClC,uBAAuB,EAAE,OAAO;IAChC,4BAA4B,EAAE,OAAO;IACrC,oBAAoB,EAAE,OAAO;IAC7B,uCAAuC,EAAE,OAAO;IAChD,kCAAkC,EAAE,OAAO;IAC3C,8BAA8B,EAAE,OAAO;IACvC,qBAAqB,EAAE,OAAO;IAC9B,0CAA0C,EAAE,OAAO;IACnD,uCAAuC,EAAE,OAAO;CACxC,CAAC"}
1
+ {"version":3,"file":"native-version.js","sourceRoot":"","sources":["../src/native-version.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,MAAM,CAAC,MAAM,qCAAqC,GAAG,UAAmB,CAAC;AAEzE,MAAM,CAAC,MAAM,qCAAqC,GAAG;IACnD,sBAAsB,EAAE,OAAO;IAC/B,4BAA4B,EAAE,OAAO;IACrC,yBAAyB,EAAE,OAAO;IAClC,yBAAyB,EAAE,OAAO;IAClC,8BAA8B,EAAE,OAAO;IACvC,kCAAkC,EAAE,OAAO;IAC3C,+BAA+B,EAAE,OAAO;IACxC,aAAa,EAAE,OAAO;IACtB,yBAAyB,EAAE,OAAO;IAClC,wBAAwB,EAAE,OAAO;IACjC,oBAAoB,EAAE,OAAO;IAC7B,2BAA2B,EAAE,OAAO;IACpC,oCAAoC,EAAE,OAAO;IAC7C,kBAAkB,EAAE,OAAO;IAC3B,8BAA8B,EAAE,OAAO;IACvC,cAAc,EAAE,OAAO;IACvB,WAAW,EAAE,OAAO;IACpB,yBAAyB,EAAE,OAAO;IAClC,uBAAuB,EAAE,OAAO;IAChC,4BAA4B,EAAE,OAAO;IACrC,oBAAoB,EAAE,OAAO;IAC7B,uCAAuC,EAAE,OAAO;IAChD,kCAAkC,EAAE,OAAO;IAC3C,8BAA8B,EAAE,OAAO;IACvC,qBAAqB,EAAE,OAAO;IAC9B,0CAA0C,EAAE,OAAO;IACnD,uCAAuC,EAAE,OAAO;CACxC,CAAC"}