openxiangda-contracts 2.82.0 → 2.84.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 (78) hide show
  1. package/dist/data-query-validation.d.ts +1 -2
  2. package/dist/data-query-validation.d.ts.map +1 -1
  3. package/dist/data-query-validation.js +2 -22
  4. package/dist/data-query-validation.js.map +1 -1
  5. package/dist/event-worker-effect.d.ts +2 -0
  6. package/dist/event-worker-effect.d.ts.map +1 -0
  7. package/dist/event-worker-effect.js +2 -0
  8. package/dist/event-worker-effect.js.map +1 -0
  9. package/dist/index.d.ts +1 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +1 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/native-compiler/compiler.d.ts.map +1 -1
  14. package/dist/native-compiler/compiler.js +42 -13
  15. package/dist/native-compiler/compiler.js.map +1 -1
  16. package/dist/native-compiler/data-query-operators.d.ts +3 -0
  17. package/dist/native-compiler/data-query-operators.d.ts.map +1 -0
  18. package/dist/native-compiler/data-query-operators.js +23 -0
  19. package/dist/native-compiler/data-query-operators.js.map +1 -0
  20. package/dist/native-compiler/event-action.d.ts +6 -2
  21. package/dist/native-compiler/event-action.d.ts.map +1 -1
  22. package/dist/native-compiler/event-action.js +7 -1
  23. package/dist/native-compiler/event-action.js.map +1 -1
  24. package/dist/native-compiler/event-worker-effect.d.ts +76 -0
  25. package/dist/native-compiler/event-worker-effect.d.ts.map +1 -0
  26. package/dist/native-compiler/event-worker-effect.js +208 -0
  27. package/dist/native-compiler/event-worker-effect.js.map +1 -0
  28. package/dist/native-compiler/index.cjs +4 -3
  29. package/dist/native-compiler/index.d.ts +1 -0
  30. package/dist/native-compiler/index.d.ts.map +1 -1
  31. package/dist/native-compiler/index.js +4 -3
  32. package/dist/native-compiler/user-candidates.d.ts.map +1 -1
  33. package/dist/native-compiler/user-candidates.js +2 -1
  34. package/dist/native-compiler/user-candidates.js.map +1 -1
  35. package/dist/native-compiler/workflow-authoring.d.ts.map +1 -1
  36. package/dist/native-compiler/workflow-authoring.js +2 -0
  37. package/dist/native-compiler/workflow-authoring.js.map +1 -1
  38. package/dist/native-compiler/workflow-conditional-assignment-schema.d.ts +662 -0
  39. package/dist/native-compiler/workflow-conditional-assignment-schema.d.ts.map +1 -0
  40. package/dist/native-compiler/workflow-conditional-assignment-schema.js +21 -0
  41. package/dist/native-compiler/workflow-conditional-assignment-schema.js.map +1 -0
  42. package/dist/native-compiler/workflow-conditional-assignment.d.ts +14 -667
  43. package/dist/native-compiler/workflow-conditional-assignment.d.ts.map +1 -1
  44. package/dist/native-compiler/workflow-conditional-assignment.js +31 -19
  45. package/dist/native-compiler/workflow-conditional-assignment.js.map +1 -1
  46. package/dist/native-compiler/workflow-expression-schema.d.ts +29 -0
  47. package/dist/native-compiler/workflow-expression-schema.d.ts.map +1 -0
  48. package/dist/native-compiler/workflow-expression-schema.js +31 -0
  49. package/dist/native-compiler/workflow-expression-schema.js.map +1 -0
  50. package/dist/native-compiler/workflow-launch-preflight.d.ts.map +1 -1
  51. package/dist/native-compiler/workflow-launch-preflight.js +6 -1
  52. package/dist/native-compiler/workflow-launch-preflight.js.map +1 -1
  53. package/dist/native-compiler/workflow-schema.d.ts +909 -276
  54. package/dist/native-compiler/workflow-schema.d.ts.map +1 -1
  55. package/dist/native-compiler/workflow-schema.js +5 -98
  56. package/dist/native-compiler/workflow-schema.js.map +1 -1
  57. package/dist/native-compiler/workflow-source-sync.d.ts.map +1 -1
  58. package/dist/native-compiler/workflow-source-sync.js +5 -1
  59. package/dist/native-compiler/workflow-source-sync.js.map +1 -1
  60. package/dist/native-compiler/workflow-standard-binding-schema.d.ts +304 -0
  61. package/dist/native-compiler/workflow-standard-binding-schema.d.ts.map +1 -0
  62. package/dist/native-compiler/workflow-standard-binding-schema.js +75 -0
  63. package/dist/native-compiler/workflow-standard-binding-schema.js.map +1 -0
  64. package/dist/native-version.d.ts +2 -0
  65. package/dist/native-version.d.ts.map +1 -1
  66. package/dist/native-version.js +2 -0
  67. package/dist/native-version.js.map +1 -1
  68. package/dist/native.d.ts +3 -2
  69. package/dist/native.d.ts.map +1 -1
  70. package/dist/native.js.map +1 -1
  71. package/dist/schemas.d.ts +1361 -316
  72. package/dist/schemas.d.ts.map +1 -1
  73. package/dist/schemas.js +41 -13
  74. package/dist/schemas.js.map +1 -1
  75. package/dist/types.d.ts +7 -4
  76. package/dist/types.d.ts.map +1 -1
  77. package/dist/types.js.map +1 -1
  78. package/package.json +1 -1
@@ -0,0 +1,3 @@
1
+ export declare const DATA_QUERY_OPERATORS: Set<string>;
2
+ export declare const DATA_QUERY_EMPTY_OPERATORS: Set<string>;
3
+ //# sourceMappingURL=data-query-operators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-query-operators.d.ts","sourceRoot":"","sources":["../../src/native-compiler/data-query-operators.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,aAoB/B,CAAC;AAEH,eAAO,MAAM,0BAA0B,aAAqC,CAAC"}
@@ -0,0 +1,23 @@
1
+ export const DATA_QUERY_OPERATORS = new Set([
2
+ 'eq',
3
+ 'neq',
4
+ 'gt',
5
+ 'gte',
6
+ 'lt',
7
+ 'lte',
8
+ 'contains',
9
+ 'startsWith',
10
+ 'endsWith',
11
+ 'in',
12
+ 'between',
13
+ 'has',
14
+ 'hasAny',
15
+ 'hasAll',
16
+ 'overlaps',
17
+ 'containedBy',
18
+ 'jsonContains',
19
+ 'isEmpty',
20
+ 'isNotEmpty',
21
+ ]);
22
+ export const DATA_QUERY_EMPTY_OPERATORS = new Set(['isEmpty', 'isNotEmpty']);
23
+ //# sourceMappingURL=data-query-operators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-query-operators.js","sourceRoot":"","sources":["../../src/native-compiler/data-query-operators.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IAC1C,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,KAAK;IACL,UAAU;IACV,YAAY;IACZ,UAAU;IACV,IAAI;IACJ,SAAS;IACT,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,aAAa;IACb,cAAc;IACd,SAAS;IACT,YAAY;CACb,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { EventWorkerEffectPlan } from './event-worker-effect.js';
1
2
  import type { NativeEventActionPlan } from '../native.js';
2
3
  import type { EventSubscriptionPayload } from '../types.js';
3
4
  export declare class NativeEventActionContractError extends Error {
@@ -6,8 +7,11 @@ export declare class NativeEventActionContractError extends Error {
6
7
  constructor(pointer: string, message: string);
7
8
  }
8
9
  /** The shared compiler owns action authority and capture dependencies. */
9
- export declare function compileNativeEventAction(subscription: Record<string, any>, resources: readonly Record<string, any>[], pointer?: string): {
10
- execution: NativeEventActionPlan;
10
+ export declare function compileNativeEventAction(subscription: Record<string, any>, resources: readonly Record<string, any>[], pointer?: string, context?: {
11
+ emitEventTypes: string[];
12
+ workflowResources: string[];
13
+ }): {
14
+ execution: NativeEventActionPlan | EventWorkerEffectPlan;
11
15
  payload: EventSubscriptionPayload;
12
16
  } | undefined;
13
17
  //# sourceMappingURL=event-action.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-action.d.ts","sourceRoot":"","sources":["../../src/native-compiler/event-action.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D,qBAAa,8BAA+B,SAAQ,KAAK;IAE3C,QAAQ,CAAC,OAAO,EAAE,MAAM;IADpC,QAAQ,CAAC,IAAI,iCAAiC;gBACzB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CACtD;AAED,0EAA0E;AAC1E,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,SAAS,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EACzC,OAAO,SAA0B,GAChC;IAAE,SAAS,EAAE,qBAAqB,CAAC;IAAC,OAAO,EAAE,wBAAwB,CAAA;CAAE,GAAG,SAAS,CAuFrF"}
1
+ {"version":3,"file":"event-action.d.ts","sourceRoot":"","sources":["../../src/native-compiler/event-action.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D,qBAAa,8BAA+B,SAAQ,KAAK;IAE3C,QAAQ,CAAC,OAAO,EAAE,MAAM;IADpC,QAAQ,CAAC,IAAI,iCAAiC;gBACzB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CACtD;AAED,0EAA0E;AAC1E,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,SAAS,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EACzC,OAAO,SAA0B,EACjC,OAAO,CAAC,EAAE;IAAE,cAAc,EAAE,MAAM,EAAE,CAAC;IAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAAE,GAClE;IAAE,SAAS,EAAE,qBAAqB,GAAG,qBAAqB,CAAC;IAAC,OAAO,EAAE,wBAAwB,CAAA;CAAE,GAAG,SAAS,CA2F7G"}
@@ -1,3 +1,4 @@
1
+ import { compileEventWorkerEffect } from './event-worker-effect.js';
1
2
  import { sha256Digest } from '../canonical.js';
2
3
  export class NativeEventActionContractError extends Error {
3
4
  pointer;
@@ -8,9 +9,14 @@ export class NativeEventActionContractError extends Error {
8
9
  }
9
10
  }
10
11
  /** The shared compiler owns action authority and capture dependencies. */
11
- export function compileNativeEventAction(subscription, resources, pointer = '/events/subscriptions') {
12
+ export function compileNativeEventAction(subscription, resources, pointer = '/events/subscriptions', context) {
12
13
  if (subscription.execution === undefined)
13
14
  return;
15
+ if (subscription.execution?.kind === 'worker-effect') {
16
+ if (subscription.platformAccess)
17
+ throw new NativeEventActionContractError(`${pointer}/platformAccess`, 'Worker effect grants cannot be combined with other runtime capabilities');
18
+ return { execution: compileEventWorkerEffect(subscription.execution, resources, context?.emitEventTypes || [], context?.workflowResources || [], `${pointer}/execution`), payload: subscription.payload };
19
+ }
14
20
  const fail = (path, message) => {
15
21
  throw new NativeEventActionContractError(`${pointer}${path}`, message);
16
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"event-action.js","sourceRoot":"","sources":["../../src/native-compiler/event-action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-action.js","sourceRoot":"","sources":["../../src/native-compiler/event-action.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import type { DataQuery, DataTransactionGuard, DataTransactionOperation, DataTransactionResult } from '../types.js';
2
+ export interface EventWorkerResourceGrant {
3
+ resourceCode: string;
4
+ readFields: string[];
5
+ writeOperations: Array<'create' | 'update'>;
6
+ writeFields: string[];
7
+ }
8
+ export interface EventWorkerEffectDeclaration {
9
+ kind: 'worker-effect';
10
+ version: 1;
11
+ resources: EventWorkerResourceGrant[];
12
+ emitEventTypes: string[];
13
+ maxOperations: number;
14
+ maxGuards: number;
15
+ maxQueryRecords: number;
16
+ maxIntentsPerEvent: number;
17
+ }
18
+ export interface EventWorkerEffectPlan extends EventWorkerEffectDeclaration {
19
+ resourceDigests: Record<string, string>;
20
+ digest: string;
21
+ }
22
+ export interface EventWorkerMutationPlan {
23
+ operations: DataTransactionOperation[];
24
+ guards: DataTransactionGuard[];
25
+ }
26
+ export interface EventWorkerEffectScope {
27
+ tenantId: string;
28
+ appCode: string;
29
+ environmentKey: string;
30
+ subscriptionCode: string;
31
+ eventId: string;
32
+ deliveryId: string;
33
+ claimToken: string;
34
+ }
35
+ export type EventWorkerEffectCommand = EventWorkerEffectScope & {
36
+ schemaVersion: 'openxiangda.event-worker-effect-command/v1';
37
+ } & ({
38
+ action: 'query';
39
+ resourceCode: string;
40
+ query: DataQuery;
41
+ } | {
42
+ action: 'prepare';
43
+ intentKey: string;
44
+ plan: EventWorkerMutationPlan;
45
+ } | {
46
+ action: 'commit';
47
+ intentKey: string;
48
+ planDigest: string;
49
+ } | {
50
+ action: 'resolve';
51
+ intentKey: string;
52
+ });
53
+ export interface EventWorkerEffectReceipt {
54
+ schemaVersion: 'openxiangda.event-worker-effect-receipt/v1';
55
+ intentKey: string;
56
+ planDigest: string;
57
+ eventId: string;
58
+ deliveryId: string;
59
+ status: 'prepared' | 'succeeded' | 'rejected';
60
+ replayed: boolean;
61
+ errorCode?: string;
62
+ appVersionId: string;
63
+ headRevision: number;
64
+ result: DataTransactionResult | null;
65
+ }
66
+ export declare class EventWorkerEffectContractError extends Error {
67
+ readonly code: string;
68
+ readonly pointer: string;
69
+ constructor(code: string, pointer: string);
70
+ }
71
+ /** Single compiler/SDK/platform authority validator; no application-defined identities. */
72
+ export declare function compileEventWorkerEffect(raw: unknown, resources: readonly Record<string, any>[], emitTypes: readonly string[], workflowResources?: readonly string[], pointer?: string): EventWorkerEffectPlan;
73
+ export declare function validateEventWorkerQuery(plan: EventWorkerEffectPlan, resourceCode: string, input: DataQuery): DataQuery;
74
+ export declare function validateEventWorkerMutationPlan(plan: EventWorkerEffectPlan, raw: EventWorkerMutationPlan): EventWorkerMutationPlan;
75
+ export declare function eventWorkerEffectSignatureContent(command: EventWorkerEffectCommand, timestamp: string): string;
76
+ //# sourceMappingURL=event-worker-effect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-worker-effect.d.ts","sourceRoot":"","sources":["../../src/native-compiler/event-worker-effect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,208 @@
1
+ import { DATA_QUERY_OPERATORS } from './data-query-operators.js';
2
+ import { sha256Digest } from '../canonical.js';
3
+ export class EventWorkerEffectContractError extends Error {
4
+ code;
5
+ pointer;
6
+ constructor(code, pointer) {
7
+ super(code);
8
+ this.code = code;
9
+ this.pointer = pointer;
10
+ }
11
+ }
12
+ const fail = (pointer, code = 'EVENT_WORKER_EFFECT_INVALID') => { throw new EventWorkerEffectContractError(code, pointer); };
13
+ const object = (value, keys, pointer) => {
14
+ if (!value || typeof value !== 'object' || Array.isArray(value) || Object.keys(value).some(key => !keys.includes(key)))
15
+ fail(pointer);
16
+ return value;
17
+ };
18
+ const uuid = (value) => typeof value === 'string' && /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(value);
19
+ const integer = (value, min, max, pointer) => {
20
+ if (typeof value !== 'number' || !Number.isSafeInteger(value) || value < min || value > max)
21
+ fail(pointer);
22
+ return value;
23
+ };
24
+ const strings = (value, max, pointer) => {
25
+ if (!Array.isArray(value) || value.length > max || value.some(item => typeof item !== 'string' || !item || item.length > 255) || new Set(value).size !== value.length)
26
+ fail(pointer);
27
+ return [...value].sort();
28
+ };
29
+ const bounded = (value, max, pointer) => { if (typeof value !== 'string' || !value || value.length > max || value.trim() !== value)
30
+ fail(pointer); };
31
+ const jsonBytes = (value, pointer) => {
32
+ let serialized;
33
+ try {
34
+ serialized = JSON.stringify(value);
35
+ }
36
+ catch {
37
+ fail(pointer);
38
+ }
39
+ if (!serialized || Buffer.byteLength(serialized) > 65536)
40
+ fail(pointer, 'EVENT_WORKER_EFFECT_SIZE_EXCEEDED');
41
+ };
42
+ /** Single compiler/SDK/platform authority validator; no application-defined identities. */
43
+ export function compileEventWorkerEffect(raw, resources, emitTypes, workflowResources = [], pointer = '/execution') {
44
+ const value = object(raw, ['kind', 'version', 'resources', 'emitEventTypes', 'maxOperations', 'maxGuards', 'maxQueryRecords', 'maxIntentsPerEvent'], pointer);
45
+ if (value.kind !== 'worker-effect' || value.version !== 1 || !Array.isArray(value.resources) || !value.resources.length || value.resources.length > 16)
46
+ fail(pointer);
47
+ const byCode = new Map(resources.map(resource => [resource.code, resource]));
48
+ const used = new Set();
49
+ const resourceDigests = {};
50
+ const grants = value.resources.map((entry, index) => {
51
+ const p = `${pointer}/resources/${index}`, grant = object(entry, ['resourceCode', 'readFields', 'writeOperations', 'writeFields'], p);
52
+ const resource = byCode.get(grant.resourceCode);
53
+ if (!resource || used.has(grant.resourceCode))
54
+ fail(p, 'EVENT_WORKER_EFFECT_RESOURCE_INVALID');
55
+ used.add(grant.resourceCode);
56
+ const fields = new Map((resource.schema?.fields || []).map((field) => [field.code, field]));
57
+ const readFields = strings(grant.readFields, 64, `${p}/readFields`), writeFields = strings(grant.writeFields, 64, `${p}/writeFields`);
58
+ const writeOperations = strings(grant.writeOperations, 2, `${p}/writeOperations`);
59
+ if (writeOperations.some(operation => !['create', 'update'].includes(operation)) || Boolean(writeOperations.length) !== Boolean(writeFields.length))
60
+ fail(p);
61
+ if (!readFields.length || readFields.some(field => !['id', 'revision', 'created_at'].includes(field) && !fields.has(field)))
62
+ fail(`${p}/readFields`, 'EVENT_WORKER_EFFECT_FIELD_INVALID');
63
+ if (writeFields.some(field => !fields.has(field) || fields.get(field).type === 'serial-number' || ['id', 'revision', 'tenant_id', 'app_code', 'environment_key', 'created_at', 'created_by', 'updated_at', 'updated_by'].includes(field)))
64
+ fail(`${p}/writeFields`, 'EVENT_WORKER_EFFECT_FIELD_INVALID');
65
+ if (writeOperations.length && workflowResources.includes(grant.resourceCode))
66
+ fail(p, 'EVENT_WORKER_EFFECT_WORKFLOW_RESOURCE_FORBIDDEN');
67
+ resourceDigests[grant.resourceCode] = sha256Digest(resource);
68
+ return { resourceCode: grant.resourceCode, readFields, writeFields, writeOperations: writeOperations };
69
+ }).sort((a, b) => a.resourceCode.localeCompare(b.resourceCode));
70
+ const eventTypes = strings(value.emitEventTypes, 16, `${pointer}/emitEventTypes`);
71
+ if (eventTypes.some(type => !emitTypes.includes(type) || type.startsWith('openxiangda.')))
72
+ fail(`${pointer}/emitEventTypes`, 'EVENT_WORKER_EFFECT_EVENT_INVALID');
73
+ const plan = { kind: 'worker-effect', version: 1, resources: grants, emitEventTypes: eventTypes, resourceDigests,
74
+ maxOperations: integer(value.maxOperations, 1, 8, `${pointer}/maxOperations`), maxGuards: integer(value.maxGuards, 1, 24, `${pointer}/maxGuards`),
75
+ maxQueryRecords: integer(value.maxQueryRecords, 1, 500, `${pointer}/maxQueryRecords`), maxIntentsPerEvent: integer(value.maxIntentsPerEvent, 1, 100, `${pointer}/maxIntentsPerEvent`) };
76
+ jsonBytes(plan, pointer);
77
+ return { ...plan, digest: sha256Digest(plan) };
78
+ }
79
+ function grantFor(plan, code, pointer) {
80
+ const grant = plan.resources.find(resource => resource.resourceCode === code);
81
+ if (!grant)
82
+ fail(pointer, 'EVENT_WORKER_EFFECT_RESOURCE_FORBIDDEN');
83
+ return grant;
84
+ }
85
+ function whereFields(value, allowed, pointer, depth = 0) {
86
+ if (depth > 12)
87
+ fail(pointer);
88
+ const where = object(value, ['field', 'operator', 'value', 'path', 'and', 'or', 'not'], pointer);
89
+ if (where.field !== undefined) {
90
+ if (!DATA_QUERY_OPERATORS.has(where.operator) || (where.path !== undefined && (typeof where.path !== 'string' || !/^(value|label|snapshot\.[A-Za-z][A-Za-z0-9_]{0,62}|[A-Za-z][A-Za-z0-9_]{0,62})$/.test(where.path))))
91
+ fail(pointer);
92
+ if (!allowed.includes(where.field))
93
+ fail(pointer, 'EVENT_WORKER_EFFECT_FIELD_FORBIDDEN');
94
+ if (where.and !== undefined || where.or !== undefined || where.not !== undefined)
95
+ fail(pointer);
96
+ return;
97
+ }
98
+ const keys = Object.keys(where);
99
+ if (keys.length !== 1)
100
+ fail(pointer);
101
+ if (where.not !== undefined)
102
+ return whereFields(where.not, allowed, `${pointer}/not`, depth + 1);
103
+ const kind = where.and !== undefined ? 'and' : 'or', items = where[kind];
104
+ if (!Array.isArray(items) || !items.length || items.length > 100)
105
+ fail(pointer);
106
+ items.forEach((item, index) => whereFields(item, allowed, `${pointer}/${kind}/${index}`, depth + 1));
107
+ }
108
+ export function validateEventWorkerQuery(plan, resourceCode, input) {
109
+ const value = object(input, ['schemaVersion', 'select', 'where', 'order', 'limit', 'offset'], '/query');
110
+ if (value.schemaVersion !== 'openxiangda.data-query/v2')
111
+ fail('/query');
112
+ const grant = grantFor(plan, resourceCode, '/resourceCode'), selected = strings(value.select, 64, '/query/select');
113
+ if (!selected.length || selected.some(field => !grant.readFields.includes(field)))
114
+ fail('/query/select', 'EVENT_WORKER_EFFECT_FIELD_FORBIDDEN');
115
+ integer(value.limit, 1, plan.maxQueryRecords, '/query/limit');
116
+ integer(value.offset ?? 0, 0, 10000, '/query/offset');
117
+ if (value.where !== undefined)
118
+ whereFields(value.where, grant.readFields, '/query/where');
119
+ if (value.order !== undefined) {
120
+ if (!Array.isArray(value.order) || value.order.length > 8)
121
+ fail('/query/order');
122
+ value.order.forEach((entry, index) => {
123
+ const order = object(entry, ['field', 'direction'], `/query/order/${index}`);
124
+ if (!grant.readFields.includes(order.field) || !['asc', 'desc'].includes(order.direction))
125
+ fail('/query/order', 'EVENT_WORKER_EFFECT_FIELD_FORBIDDEN');
126
+ });
127
+ }
128
+ jsonBytes(input, '/query');
129
+ return input;
130
+ }
131
+ export function validateEventWorkerMutationPlan(plan, raw) {
132
+ const input = object(raw, ['guards', 'operations'], '/plan');
133
+ jsonBytes(input, '/plan');
134
+ if (!Array.isArray(input.operations) || !input.operations.length || input.operations.length > plan.maxOperations || !Array.isArray(input.guards) || !input.guards.length || input.guards.length > plan.maxGuards)
135
+ fail('/plan');
136
+ input.operations.forEach((entry, index) => {
137
+ const p = `/plan/operations/${index}`, operation = object(entry, ['operation', 'resourceCode', 'id', 'expectedRevision', 'data', 'eventType', 'subject'], p);
138
+ if (operation.operation === 'emitEvent') {
139
+ if (operation.resourceCode !== undefined || operation.id !== undefined || operation.expectedRevision !== undefined || !plan.emitEventTypes.includes(operation.eventType))
140
+ fail(p, 'EVENT_WORKER_EFFECT_EVENT_INVALID');
141
+ if (operation.subject !== undefined)
142
+ bounded(operation.subject, 255, `${p}/subject`);
143
+ object(operation.data, Object.keys(operation.data || {}), `${p}/data`);
144
+ return;
145
+ }
146
+ if (!['create', 'update'].includes(operation.operation) || operation.eventType !== undefined || operation.subject !== undefined)
147
+ fail(p);
148
+ const grant = grantFor(plan, operation.resourceCode, p);
149
+ if (!grant.writeOperations.includes(operation.operation))
150
+ fail(p, 'EVENT_WORKER_EFFECT_OPERATION_FORBIDDEN');
151
+ const data = object(operation.data, grant.writeFields, `${p}/data`);
152
+ if (!Object.keys(data).length)
153
+ fail(`${p}/data`);
154
+ if (operation.operation === 'update') {
155
+ if (!uuid(operation.id))
156
+ fail(`${p}/id`);
157
+ integer(operation.expectedRevision, 1, Number.MAX_SAFE_INTEGER, `${p}/expectedRevision`);
158
+ }
159
+ else if (operation.id !== undefined || operation.expectedRevision !== undefined)
160
+ fail(p);
161
+ });
162
+ input.guards.forEach((entry, index) => {
163
+ const p = `/plan/guards/${index}`, rawGuard = entry, keys = rawGuard?.kind === 'record-set-match' ? ['kind', 'resourceCode', 'errorCode', 'records', 'where'] : ['kind', 'resourceCode', 'errorCode', 'id', 'assertions', 'lockKey', 'where'];
164
+ const guard = object(entry, keys, p);
165
+ if (!['query-empty', 'record-match', 'record-assert', 'record-exists', 'record-set-match'].includes(guard.kind))
166
+ fail(p, 'EVENT_WORKER_EFFECT_GUARD_FORBIDDEN');
167
+ const grant = grantFor(plan, guard.resourceCode, p);
168
+ bounded(guard.errorCode, 128, `${p}/errorCode`);
169
+ if (guard.kind === 'record-set-match') {
170
+ if (!Array.isArray(guard.records) || guard.records.length > 500 || new Set(guard.records.map((row) => row?.id)).size !== guard.records.length)
171
+ fail(p);
172
+ guard.records.forEach((raw) => { const row = object(raw, ['id', 'expectedRevision'], p); if (!uuid(row.id))
173
+ fail(p); integer(row.expectedRevision, 1, Number.MAX_SAFE_INTEGER, p); });
174
+ if (guard.where !== undefined)
175
+ whereFields(guard.where, grant.readFields, `${p}/where`);
176
+ return;
177
+ }
178
+ bounded(guard.lockKey, 255, `${p}/lockKey`);
179
+ if (guard.kind === 'query-empty') {
180
+ if (guard.id !== undefined || guard.assertions !== undefined)
181
+ fail(p);
182
+ whereFields(guard.where, grant.readFields, `${p}/where`);
183
+ return;
184
+ }
185
+ if (!uuid(guard.id) || guard.where !== undefined)
186
+ fail(p);
187
+ if (guard.kind === 'record-exists') {
188
+ if (guard.assertions !== undefined)
189
+ fail(p);
190
+ return;
191
+ }
192
+ if (!Array.isArray(guard.assertions) || !guard.assertions.length || guard.assertions.length > 32)
193
+ fail(p);
194
+ guard.assertions.forEach((raw) => {
195
+ const assertion = object(raw, ['kind', 'field', 'operator', 'value', 'path', 'leftField', 'rightField'], p);
196
+ if (!['value', 'field', 'database-now'].includes(assertion.kind))
197
+ fail(p);
198
+ const fields = assertion.kind === 'field' ? [assertion.leftField, assertion.rightField] : [assertion.field];
199
+ if (fields.some(field => !grant.readFields.includes(field)))
200
+ fail(p, 'EVENT_WORKER_EFFECT_FIELD_FORBIDDEN');
201
+ });
202
+ });
203
+ return raw;
204
+ }
205
+ export function eventWorkerEffectSignatureContent(command, timestamp) {
206
+ return [command.schemaVersion, timestamp, sha256Digest(command)].join('\n');
207
+ }
208
+ //# sourceMappingURL=event-worker-effect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-worker-effect.js","sourceRoot":"","sources":["../../src/native-compiler/event-worker-effect.ts"],"names":[],"mappings":"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"}