openxiangda-devkit-core 2.0.0-alpha.52 → 2.0.0-alpha.56

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 (46) hide show
  1. package/dist/application-services.d.ts +0 -5
  2. package/dist/application-services.d.ts.map +1 -1
  3. package/dist/application-services.js +0 -5
  4. package/dist/application-services.js.map +1 -1
  5. package/dist/compiler/ai-catalog.d.ts.map +1 -1
  6. package/dist/compiler/ai-catalog.js +76 -20
  7. package/dist/compiler/ai-catalog.js.map +1 -1
  8. package/dist/compiler/bundle.d.ts.map +1 -1
  9. package/dist/compiler/bundle.js +259 -60
  10. package/dist/compiler/bundle.js.map +1 -1
  11. package/dist/compiler/config.d.ts +32 -5
  12. package/dist/compiler/config.d.ts.map +1 -1
  13. package/dist/compiler/config.js +555 -46
  14. package/dist/compiler/config.js.map +1 -1
  15. package/dist/compiler/field-codec.d.ts +7 -0
  16. package/dist/compiler/field-codec.d.ts.map +1 -0
  17. package/dist/compiler/field-codec.js +124 -0
  18. package/dist/compiler/field-codec.js.map +1 -0
  19. package/dist/compiler/field-physical-plan.d.ts +9 -0
  20. package/dist/compiler/field-physical-plan.d.ts.map +1 -0
  21. package/dist/compiler/field-physical-plan.js +59 -0
  22. package/dist/compiler/field-physical-plan.js.map +1 -0
  23. package/dist/compiler/field-policy-path.d.ts +10 -0
  24. package/dist/compiler/field-policy-path.d.ts.map +1 -0
  25. package/dist/compiler/field-policy-path.js +264 -0
  26. package/dist/compiler/field-policy-path.js.map +1 -0
  27. package/dist/compiler/field-query-plan.d.ts +13 -0
  28. package/dist/compiler/field-query-plan.d.ts.map +1 -0
  29. package/dist/compiler/field-query-plan.js +122 -0
  30. package/dist/compiler/field-query-plan.js.map +1 -0
  31. package/dist/compiler/field-surface.d.ts +5 -5
  32. package/dist/compiler/field-surface.d.ts.map +1 -1
  33. package/dist/compiler/field-surface.js +41 -24
  34. package/dist/compiler/field-surface.js.map +1 -1
  35. package/dist/compiler/package-compiler.d.ts.map +1 -1
  36. package/dist/compiler/package-compiler.js +4 -1
  37. package/dist/compiler/package-compiler.js.map +1 -1
  38. package/dist/control-plane-client.d.ts +8 -30
  39. package/dist/control-plane-client.d.ts.map +1 -1
  40. package/dist/control-plane-client.js +6 -11
  41. package/dist/control-plane-client.js.map +1 -1
  42. package/dist/testing.d.ts +39 -0
  43. package/dist/testing.d.ts.map +1 -1
  44. package/dist/testing.js +169 -0
  45. package/dist/testing.js.map +1 -1
  46. package/package.json +3 -2
package/dist/testing.js CHANGED
@@ -19,6 +19,128 @@ export function currentUserFixture(options = {}) {
19
19
  isAppSuperAdmin: options.isAppSuperAdmin === true,
20
20
  };
21
21
  }
22
+ export function dataRecordEventFixture(options = {}) {
23
+ const eventType = options.eventType || "openxiangda.data.record.updated.v2";
24
+ const operation = eventType.endsWith(".created.v2")
25
+ ? "created"
26
+ : eventType.endsWith(".deleted.v2")
27
+ ? "deleted"
28
+ : eventType.endsWith(".date_due.v2")
29
+ ? "date_due"
30
+ : "updated";
31
+ const resourceCode = options.resourceCode || "instruments";
32
+ const recordId = options.recordId || "00000000-0000-4000-8000-000000000001";
33
+ const changedFields = normalized(options.changedFields || ["status"]);
34
+ return {
35
+ specversion: "1.0",
36
+ id: options.eventId || "00000000-0000-4000-8000-000000000010",
37
+ type: eventType,
38
+ source: `/applications/${options.appCode || "reference-app"}/data-resources/${resourceCode}`,
39
+ subject: `/records/${recordId}`,
40
+ time: options.time || "2026-08-24T00:00:00.000Z",
41
+ datacontenttype: "application/json",
42
+ dataschema: `openxiangda://events/openxiangda.data.record/${eventType.split(".").at(-1)}`,
43
+ tenantid: options.tenantId || "tenant-test",
44
+ appcode: options.appCode || "reference-app",
45
+ environment: options.environmentKey || "preproduction",
46
+ traceid: "trace-test",
47
+ schemaversion: "2.0.0",
48
+ data: {
49
+ resourceCode,
50
+ recordId,
51
+ operation,
52
+ revision: options.revision ?? 2,
53
+ changedFields,
54
+ changes: options.changes ||
55
+ Object.fromEntries(changedFields.map(field => [field, { before: "before", after: "after" }])),
56
+ projection: options.projection || {},
57
+ actor: { principalType: "user", subjectId: "user-test" },
58
+ cause: { eventId: null, subscriptionCode: null, depth: 0 },
59
+ capturePlanRevision: 1,
60
+ },
61
+ };
62
+ }
63
+ export function signedEventDeliveryFixture(input) {
64
+ const rawBody = JSON.stringify(input.event);
65
+ const timestamp = String(input.timestamp ?? Math.floor(Date.now() / 1000));
66
+ const signingKeyVersion = String(input.signingKeyVersion ?? 1);
67
+ const handlerManifestDigest = sha256Digest(input.handlerManifest);
68
+ const signature = createHmac('sha256', input.signingSecret)
69
+ .update(eventDeliverySignatureContentV2({
70
+ timestamp,
71
+ signingKeyVersion,
72
+ deliveryId: input.deliveryId,
73
+ eventId: input.event.id,
74
+ subscriptionCode: input.subscriptionCode,
75
+ handlerManifestDigest,
76
+ rawBody,
77
+ }))
78
+ .digest('hex');
79
+ return {
80
+ rawBody,
81
+ handlerManifestDigest,
82
+ headers: {
83
+ 'content-type': 'application/cloudevents+json; charset=utf-8',
84
+ 'x-openxiangda-event-id': input.event.id,
85
+ 'x-openxiangda-delivery-id': input.deliveryId,
86
+ 'x-openxiangda-subscription-code': input.subscriptionCode,
87
+ 'x-openxiangda-timestamp': timestamp,
88
+ 'x-openxiangda-signing-key-version': signingKeyVersion,
89
+ 'x-openxiangda-handler-manifest-digest': handlerManifestDigest,
90
+ 'x-openxiangda-signature': `v2=${signature}`,
91
+ },
92
+ };
93
+ }
94
+ export function eventMatchesSubscription(event, filter = {}) {
95
+ if (filter.resourceCodes?.length &&
96
+ !filter.resourceCodes.includes(event.data.resourceCode)) {
97
+ return false;
98
+ }
99
+ if (filter.subject?.equals !== undefined &&
100
+ event.subject !== filter.subject.equals) {
101
+ return false;
102
+ }
103
+ if (filter.subject?.prefix !== undefined &&
104
+ !String(event.subject || "").startsWith(filter.subject.prefix)) {
105
+ return false;
106
+ }
107
+ const changed = new Set(event.data.changedFields);
108
+ if (filter.changedFields?.anyOf?.length &&
109
+ !filter.changedFields.anyOf.some(field => changed.has(field))) {
110
+ return false;
111
+ }
112
+ if (filter.changedFields?.allOf?.length &&
113
+ !filter.changedFields.allOf.every(field => changed.has(field))) {
114
+ return false;
115
+ }
116
+ if (filter.changedFields?.noneOf?.some(field => changed.has(field))) {
117
+ return false;
118
+ }
119
+ if (filter.changes?.some(change => !eventChangeMatches(event.data, change))) {
120
+ return false;
121
+ }
122
+ return filter.where ? eventConditionMatches(event.data, filter.where) : true;
123
+ }
124
+ export function simulateEventSubscription(event, input) {
125
+ if (!eventMatchesSubscription(event, input.filter || {})) {
126
+ return { matched: false, event: null };
127
+ }
128
+ const fields = input.payload?.fields || [];
129
+ const projection = Object.fromEntries(fields
130
+ .filter(field => Object.prototype.hasOwnProperty.call(event.data.projection, field))
131
+ .map(field => [field, event.data.projection[field]]));
132
+ return {
133
+ matched: true,
134
+ event: {
135
+ ...event,
136
+ data: {
137
+ ...event.data,
138
+ changes: input.payload?.includeChanges === false ? {} : event.data.changes,
139
+ projection,
140
+ },
141
+ },
142
+ };
143
+ }
22
144
  export async function runPermissionMatrix(cases, authorize) {
23
145
  const results = [];
24
146
  for (const testCase of cases) {
@@ -43,4 +165,51 @@ function normalized(values) {
43
165
  return [...new Set(values.map(String).map(value => value.trim()).filter(Boolean))]
44
166
  .sort();
45
167
  }
168
+ function eventConditionMatches(data, condition) {
169
+ if ("change" in condition)
170
+ return eventChangeMatches(data, condition.change);
171
+ if ("all" in condition) {
172
+ return condition.all.every(item => eventConditionMatches(data, item));
173
+ }
174
+ if ("any" in condition) {
175
+ return condition.any.some(item => eventConditionMatches(data, item));
176
+ }
177
+ return !eventConditionMatches(data, condition.not);
178
+ }
179
+ function eventChangeMatches(data, filter) {
180
+ const change = data.changes[filter.field];
181
+ if (!change)
182
+ return false;
183
+ return ((!filter.before || eventPredicateMatches(change.before, filter.before)) &&
184
+ (!filter.after || eventPredicateMatches(change.after, filter.after)));
185
+ }
186
+ function eventPredicateMatches(value, predicate) {
187
+ if ("exists" in predicate)
188
+ return predicate.exists === (value !== undefined);
189
+ if ("eq" in predicate)
190
+ return canonicalEqual(value, predicate.eq);
191
+ if ("ne" in predicate)
192
+ return !canonicalEqual(value, predicate.ne);
193
+ if ("in" in predicate) {
194
+ return (predicate.in || []).some(item => canonicalEqual(value, item));
195
+ }
196
+ return !(predicate.notIn || []).some(item => canonicalEqual(value, item));
197
+ }
198
+ function canonicalEqual(left, right) {
199
+ return canonicalJsonValue(left) === canonicalJsonValue(right);
200
+ }
201
+ function canonicalJsonValue(value) {
202
+ if (Array.isArray(value)) {
203
+ return `[${value.map(canonicalJsonValue).join(",")}]`;
204
+ }
205
+ if (value && typeof value === "object") {
206
+ return `{${Object.entries(value)
207
+ .sort(([left], [right]) => left.localeCompare(right))
208
+ .map(([key, item]) => `${JSON.stringify(key)}:${canonicalJsonValue(item)}`)
209
+ .join(",")}}`;
210
+ }
211
+ return JSON.stringify(value);
212
+ }
213
+ import { eventDeliverySignatureContentV2, sha256Digest, } from "openxiangda-contracts";
214
+ import { createHmac } from 'node:crypto';
46
215
  //# sourceMappingURL=testing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAqCA,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IACzB;IAArB,YAAqB,OAAiC;QACpD,KAAK,CACH,WAAW,OAAO;aACf,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;aAChC,GAAG,CACF,MAAM,CAAC,EAAE,CACP,GAAG,MAAM,CAAC,IAAI,aAAa,MAAM,CAAC,QAAQ,WAAW,MAAM,CAAC,MAAM,EAAE,CACvE;aACA,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;QATiB,YAAO,GAAP,OAAO,CAA0B;QAUpD,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,MAAM,UAAU,kBAAkB,CAChC,UAAqC,EAAE;IAEvC,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,WAAW;QACrC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,eAAe;QAC3C,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,eAAe;QACzD,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAChE,eAAe,EAAE,UAAU,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;QAC1D,eAAe,EAAE,OAAO,CAAC,eAAe,KAAK,IAAI;KAClD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAoC,EACpC,SAAsC;IAEtC,MAAM,OAAO,GAA6B,EAAE,CAAC;IAC7C,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,MAAM;YACN,MAAM,EAAE,MAAM,KAAK,QAAQ,CAAC,QAAQ;SACrC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,KAAoC,EACpC,SAAsC;IAEtC,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC5D,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,MAAgB;IAClC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;SAC/E,IAAI,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openxiangda-devkit-core",
3
- "version": "2.0.0-alpha.52",
3
+ "version": "2.0.0-alpha.56",
4
4
  "description": "Framework-neutral OpenXiangda 2.0 workspace and control-plane use cases.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -25,8 +25,9 @@
25
25
  "README.md"
26
26
  ],
27
27
  "dependencies": {
28
+ "ajv": "8.20.0",
28
29
  "cron-parser": "5.4.0",
29
- "openxiangda-contracts": "2.0.0-alpha.39",
30
+ "openxiangda-contracts": "2.0.0-alpha.43",
30
31
  "esbuild": "0.28.2",
31
32
  "typescript": "5.9.3"
32
33
  },