@beehexa/hexasync-template-engine 2608.21.2 → 2610.3.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 (69) hide show
  1. package/dist/capabilityPolicy.d.ts +29 -0
  2. package/dist/capabilityPolicy.d.ts.map +1 -0
  3. package/dist/capabilityPolicy.js +46 -0
  4. package/dist/capabilityPolicy.js.map +1 -0
  5. package/dist/compositeFlow.d.ts +23 -0
  6. package/dist/compositeFlow.d.ts.map +1 -0
  7. package/dist/compositeFlow.js +350 -0
  8. package/dist/compositeFlow.js.map +1 -0
  9. package/dist/connectionEditing.d.ts +124 -0
  10. package/dist/connectionEditing.d.ts.map +1 -0
  11. package/dist/connectionEditing.js +122 -0
  12. package/dist/connectionEditing.js.map +1 -0
  13. package/dist/editDiagnostics.d.ts +80 -0
  14. package/dist/editDiagnostics.d.ts.map +1 -0
  15. package/dist/editDiagnostics.js +130 -0
  16. package/dist/editDiagnostics.js.map +1 -0
  17. package/dist/extensionRegistry.d.ts +31 -0
  18. package/dist/extensionRegistry.d.ts.map +1 -0
  19. package/dist/extensionRegistry.js +48 -0
  20. package/dist/extensionRegistry.js.map +1 -0
  21. package/dist/index.d.ts +17 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +17 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/layout.d.ts +414 -0
  26. package/dist/layout.d.ts.map +1 -0
  27. package/dist/layout.js +460 -0
  28. package/dist/layout.js.map +1 -0
  29. package/dist/nodeExtensions.d.ts +17 -0
  30. package/dist/nodeExtensions.d.ts.map +1 -0
  31. package/dist/nodeExtensions.js +39 -0
  32. package/dist/nodeExtensions.js.map +1 -0
  33. package/dist/nodeResolution.d.ts +29 -0
  34. package/dist/nodeResolution.d.ts.map +1 -0
  35. package/dist/nodeResolution.js +77 -0
  36. package/dist/nodeResolution.js.map +1 -0
  37. package/dist/presentationOverlay.d.ts +29 -0
  38. package/dist/presentationOverlay.d.ts.map +1 -0
  39. package/dist/presentationOverlay.js +128 -0
  40. package/dist/presentationOverlay.js.map +1 -0
  41. package/dist/presentationReconciliation.d.ts +59 -0
  42. package/dist/presentationReconciliation.d.ts.map +1 -0
  43. package/dist/presentationReconciliation.js +54 -0
  44. package/dist/presentationReconciliation.js.map +1 -0
  45. package/dist/presentationStorage.d.ts +168 -0
  46. package/dist/presentationStorage.d.ts.map +1 -0
  47. package/dist/presentationStorage.js +405 -0
  48. package/dist/presentationStorage.js.map +1 -0
  49. package/dist/semanticTransactions.d.ts +107 -0
  50. package/dist/semanticTransactions.d.ts.map +1 -0
  51. package/dist/semanticTransactions.js +86 -0
  52. package/dist/semanticTransactions.js.map +1 -0
  53. package/dist/stepFormEditing.d.ts +47 -0
  54. package/dist/stepFormEditing.d.ts.map +1 -0
  55. package/dist/stepFormEditing.js +259 -0
  56. package/dist/stepFormEditing.js.map +1 -0
  57. package/dist/themeStyles.d.ts +26 -0
  58. package/dist/themeStyles.d.ts.map +1 -0
  59. package/dist/themeStyles.js +71 -0
  60. package/dist/themeStyles.js.map +1 -0
  61. package/dist/visualResources.d.ts +30 -0
  62. package/dist/visualResources.d.ts.map +1 -0
  63. package/dist/visualResources.js +89 -0
  64. package/dist/visualResources.js.map +1 -0
  65. package/dist/vnextFlow.d.ts +57 -0
  66. package/dist/vnextFlow.d.ts.map +1 -0
  67. package/dist/vnextFlow.js +333 -0
  68. package/dist/vnextFlow.js.map +1 -0
  69. package/package.json +16 -12
@@ -0,0 +1,122 @@
1
+ import { locateYamlScalar } from '@beehexa/hexasync-template-index';
2
+ const diagnostic = (code, message, route, extra = {}) => Object.freeze({
3
+ code, severity: 'error', message, ...(route ? { routeId: route.id, sourceRange: route.sourceRange } : {}), ...extra,
4
+ });
5
+ export function previewReconnect(input) {
6
+ const diagnostics = [];
7
+ const authorized = input.sourceKind === 'step-workflow' && input.capabilities.semanticEdit === true && input.capabilities.connectionEdit === true;
8
+ if (!authorized)
9
+ diagnostics.push(diagnostic('CONNECTION_EDIT_NOT_AUTHORIZED', input.sourceKind === 'relationship-projection'
10
+ ? 'Relationship projections are read-only and cannot be reconnected.' : 'Reconnect requires semanticEdit and connectionEdit capabilities.', input.route));
11
+ if (!input.routeKeys.includes(input.route.routeKey))
12
+ diagnostics.push(diagnostic('CONNECTION_ROUTE_KEY_INVALID', `Route key '${input.route.routeKey}' is not available.`, input.route));
13
+ if (!input.route.ownerDialect || !input.route.routeFamily || !input.route.sourcePath)
14
+ diagnostics.push(diagnostic('CONNECTION_PROVENANCE_INVALID', 'Route provenance is incomplete.', input.route));
15
+ if (![input.route.id, input.route.sourceNodeId, input.route.sourcePortId, input.candidate.targetNodeId, input.candidate.targetPortId].every(value => value.trim().length > 0))
16
+ diagnostics.push(diagnostic("CONNECTION_IDENTITY_INVALID", "Route, source, and target identities must be nonblank.", input.route));
17
+ if (!input.knownNodeIds.includes(input.candidate.targetNodeId))
18
+ diagnostics.push(diagnostic('CONNECTION_TARGET_MISSING', `Target node '${input.candidate.targetNodeId}' does not exist.`, input.route));
19
+ if (!input.knownPortIds?.includes(input.candidate.targetPortId))
20
+ diagnostics.push(diagnostic("CONNECTION_TARGET_PORT_MISSING", 'The target port does not exist.', input.route));
21
+ else if (!input.compatibleTargetPortIds?.includes(input.candidate.targetPortId))
22
+ diagnostics.push(diagnostic("CONNECTION_TARGET_PORT_INCOMPATIBLE", 'The target port is not compatible with this route.', input.route));
23
+ const status = !authorized ? 'read-only' : diagnostics.length === 0 ? 'valid' : 'invalid';
24
+ return Object.freeze({ status, canCommit: status === 'valid', revision: input.revision, routeKey: input.route.routeKey,
25
+ route: input.route, candidate: input.candidate, diagnostics: Object.freeze(diagnostics) });
26
+ }
27
+ export function commitReconnect(input) {
28
+ const { preview } = input;
29
+ if (preview.revision !== input.expectedRevision)
30
+ return Object.freeze({ status: 'rejected', diagnostics: Object.freeze([diagnostic('CONNECTION_REVISION_STALE', 'The workflow changed after this reconnect was previewed.', preview.route, { expectedRevision: input.expectedRevision, actualRevision: preview.revision })]) });
31
+ if (!preview.canCommit || preview.status !== 'valid')
32
+ return Object.freeze({ status: 'rejected', diagnostics: preview.diagnostics.length
33
+ ? preview.diagnostics : Object.freeze([diagnostic('CONNECTION_PREVIEW_INVALID', 'Only a valid reconnect preview can be committed.', preview.route)]) });
34
+ const intent = Object.freeze({ kind: 'connection.reconnect', revision: preview.revision,
35
+ routeId: preview.route.id, routeKey: preview.routeKey, sourceNodeId: preview.route.sourceNodeId,
36
+ targetNodeId: preview.candidate.targetNodeId, targetPortId: preview.candidate.targetPortId,
37
+ ownerDialect: preview.route.ownerDialect, routeFamily: preview.route.routeFamily, sourcePath: preview.route.sourcePath });
38
+ let result;
39
+ try {
40
+ result = input.adapter.applyConnectionIntent(intent);
41
+ }
42
+ catch (error) {
43
+ return Object.freeze({ status: 'rejected', diagnostics: Object.freeze([diagnostic('CONNECTION_ADAPTER_FAILED', error instanceof Error ? error.message : 'The source adapter failed.', preview.route)]) });
44
+ }
45
+ if (result.status === 'rejected')
46
+ return Object.freeze({ ...result, diagnostics: Object.freeze([...result.diagnostics]) });
47
+ if (input.expectedAcceptedRevision !== undefined ? result.revision !== input.expectedAcceptedRevision : result.revision === preview.revision)
48
+ return Object.freeze({ status: 'rejected', diagnostics: Object.freeze([diagnostic('CONNECTION_ADAPTER_REVISION_INVALID', 'The accepted source must have a new revision.', preview.route, { expectedRevision: input.expectedAcceptedRevision ?? preview.revision, actualRevision: result.revision })]) });
49
+ let validation;
50
+ try {
51
+ validation = input.adapter.validateAcceptedSource(result);
52
+ }
53
+ catch (error) {
54
+ return Object.freeze({ status: 'rejected', diagnostics: Object.freeze([diagnostic('CONNECTION_PATCH_VALIDATION_FAILED', error instanceof Error ? error.message : 'Source patch validation failed.', preview.route)]) });
55
+ }
56
+ if (validation.status !== 'accepted' || !validation.saveAllowed || validation.source !== result.source)
57
+ return Object.freeze({ status: 'rejected', diagnostics: validation.diagnostics.length ? validation.diagnostics : Object.freeze([diagnostic('CONNECTION_PATCH_VALIDATION_FAILED', 'The source patch did not pass validation.', preview.route)]) });
58
+ try {
59
+ return Object.freeze({ ...result, diagnostics: Object.freeze([...result.diagnostics]), graph: input.adapter.reproject(result.source) });
60
+ }
61
+ catch (error) {
62
+ return Object.freeze({ status: 'rejected', diagnostics: Object.freeze([diagnostic('CONNECTION_REPROJECT_FAILED', error instanceof Error ? error.message : 'Reprojection failed.', preview.route)]) });
63
+ }
64
+ }
65
+ const FEATURES = ['comments', 'aliases', 'scalarStyle', 'ordering', 'unknownFields'];
66
+ const pathSegments = (path) => {
67
+ if (!path.startsWith('$.'))
68
+ return undefined;
69
+ const out = [], expression = /(?:^|\.)([^.[\]]+)|\[(\d+)\]/g, body = path.slice(2);
70
+ let consumed = 0;
71
+ for (const match of body.matchAll(expression)) {
72
+ if (match.index !== consumed)
73
+ return undefined;
74
+ out.push(match[1] ?? Number(match[2]));
75
+ consumed = match.index + match[0].length;
76
+ }
77
+ return consumed === body.length && out.length ? out : undefined;
78
+ };
79
+ const scalarText = (original, value) => {
80
+ if (/[\n\r\u0000-\u001f]/.test(value))
81
+ return undefined;
82
+ if (original.startsWith("'"))
83
+ return `'${value.replaceAll("'", "''")}'`;
84
+ if (original.startsWith('"'))
85
+ return JSON.stringify(value);
86
+ return /^[A-Za-z_./-][A-Za-z0-9_./-]*$/.test(value) && !/^(?:null|true|false|~|[-+]?\.(?:inf|nan)|-)$/.test(value.toLowerCase()) ? value : undefined;
87
+ };
88
+ const applyCstPatch = (source, patch) => {
89
+ const path = pathSegments(patch.path);
90
+ if (!path)
91
+ return undefined;
92
+ const located = locateYamlScalar(source, path);
93
+ if (!located)
94
+ return undefined;
95
+ const replacement = scalarText(source.slice(located.start, located.end), patch.value);
96
+ return replacement === undefined ? undefined : source.slice(0, located.start) + replacement + source.slice(located.end);
97
+ };
98
+ export function validateYamlSemanticPatch(input) {
99
+ const lost = FEATURES.filter(feature => !input.preservation[feature]);
100
+ if (input.patch.kind !== 'yaml-cst.replace-scalar' || lost.length)
101
+ return Object.freeze({ status: 'blocked', saveAllowed: false,
102
+ diagnostics: Object.freeze([diagnostic('YAML_SOURCE_PRESERVATION_LOSS', 'A lossless CST-preserving edit was not proven.', undefined, { lost: Object.freeze(lost.length ? lost : [...FEATURES]) })]) });
103
+ const source = applyCstPatch(input.source, input.patch);
104
+ if (source === undefined)
105
+ return Object.freeze({ status: 'blocked', saveAllowed: false,
106
+ diagnostics: Object.freeze([diagnostic('YAML_CST_PATCH_UNSUPPORTED', 'The scalar cannot be replaced without changing its source representation.')]) });
107
+ let compiled;
108
+ try {
109
+ compiled = input.compile(source);
110
+ }
111
+ catch (error) {
112
+ return Object.freeze({ status: 'blocked', saveAllowed: false,
113
+ diagnostics: Object.freeze([diagnostic('YAML_COMPILER_REJECTED', error instanceof Error ? error.message : 'The backend compiler rejected the patch.')]) });
114
+ }
115
+ if (!compiled.ok)
116
+ return Object.freeze({ status: 'blocked', saveAllowed: false, diagnostics: Object.freeze(compiled.diagnostics?.length
117
+ ? [...compiled.diagnostics] : [diagnostic('YAML_COMPILER_REJECTED', 'The backend compiler rejected the patch.')]) });
118
+ if (compiled.observedValue !== input.patch.value)
119
+ return Object.freeze({ status: 'blocked', saveAllowed: false, diagnostics: Object.freeze([diagnostic('YAML_COMPILER_SEMANTIC_MISMATCH', 'The compiler did not observe the requested connection target.')]) });
120
+ return Object.freeze({ status: 'accepted', saveAllowed: true, source, compiledRoutes: Object.freeze([...(compiled.routes ?? [])]), diagnostics: Object.freeze([]) });
121
+ }
122
+ //# sourceMappingURL=connectionEditing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectionEditing.js","sourceRoot":"","sources":["../src/connectionEditing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AA+CpE,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,OAAe,EAAE,KAAuB,EAAE,KAAK,GAAkC,EAAE,EAAwB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5J,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK;CACpH,CAAC,CAAC;AAEH,MAAM,UAAU,gBAAgB,CAAC,KAA4B;IAC3D,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,KAAK,eAAe,IAAI,KAAK,CAAC,YAAY,CAAC,YAAY,KAAK,IAAI,IAAI,KAAK,CAAC,YAAY,CAAC,cAAc,KAAK,IAAI,CAAC;IAClJ,IAAI,CAAC,UAAU;QAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,gCAAgC,EAAE,KAAK,CAAC,UAAU,KAAK,yBAAyB;YAC3H,CAAC,CAAC,mEAAmE,CAAC,CAAC,CAAC,kEAAkE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5J,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,8BAA8B,EAAE,cAAc,KAAK,CAAC,KAAK,CAAC,QAAQ,qBAAqB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACxL,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU;QAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,+BAA+B,EAAE,iCAAiC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACpM,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,6BAA6B,EAAE,wDAAwD,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAClT,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,2BAA2B,EAAE,gBAAgB,KAAK,CAAC,SAAS,CAAC,YAAY,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACxM,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,gCAAgC,EAAE,iCAAiC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;SAC3K,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,qCAAqC,EAAE,oDAAoD,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACxN,MAAM,MAAM,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1F,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;QACpH,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAC/F,CAAC;AAKD,MAAM,UAAU,eAAe,CAAQ,KAAkC;IACvE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,gBAAgB;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAChI,2BAA2B,EAAE,0DAA0D,EAAE,OAAO,CAAC,KAAK,EACtG,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,cAAc,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvF,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;gBACtI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,4BAA4B,EAAE,kDAAkD,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1J,MAAM,MAAM,GAA8B,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAChH,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY;QAC/F,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,YAAY;QAC1F,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5H,IAAI,MAA+B,CAAC;IACpC,IAAI,CAAC;QAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAC3E,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,2BAA2B,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5M,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3H,IAAI,KAAK,CAAC,wBAAwB,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,qCAAqC,EAAE,+CAA+C,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,wBAAwB,IAAI,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvb,IAAI,UAAqC,CAAC;IAC1C,IAAI,CAAC;QAAC,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,oCAAoC,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1N,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,oCAAoC,EAAE,2CAA2C,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1V,IAAI,CAAC;QAAC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAAC,CAAC;IAChJ,OAAO,KAAK,EAAE,CAAC;QAAC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAAC,CAAC;AAC1N,CAAC;AAMD,MAAM,QAAQ,GAAmC,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;AACrH,MAAM,YAAY,GAAG,CAAC,IAAY,EAA4C,EAAE;IAC9E,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,MAAM,GAAG,GAAwB,EAAE,EAAE,UAAU,GAAG,+BAA+B,EAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAAC,IAAI,QAAQ,GAAG,CAAC,CAAC;IAC1H,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAAC,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAAC,CAAC;IACpL,OAAO,QAAQ,KAAK,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC,CAAC;AACF,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAE,KAAa,EAAsB,EAAE;IACzE,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACxD,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;IACxE,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3D,OAAO,gCAAgC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvJ,CAAC,CAAC;AACF,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,KAAkB,EAAsB,EAAE;IAC/E,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAAC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IACnE,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAAC,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/E,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACtF,OAAO,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC1H,CAAC,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,KAAqC;IAC7E,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtE,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,yBAAyB,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK;YAC7H,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,+BAA+B,EAAE,gDAAgD,EAAE,SAAS,EACjI,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK;YACpF,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,4BAA4B,EAAE,2EAA2E,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzJ,IAAI,QAAwB,CAAC;IAC7B,IAAI,CAAC;QAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK;YACpH,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,wBAAwB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAAC,CAAC;IAC/J,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM;gBACrI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,wBAAwB,EAAE,0CAA0C,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvH,IAAI,QAAQ,CAAC,aAAa,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,iCAAiC,EAAE,+DAA+D,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAChQ,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvK,CAAC"}
@@ -0,0 +1,80 @@
1
+ export type DiagnosticOrigin = 'form' | 'route' | 'adapter' | 'source';
2
+ export type DiagnosticSeverity = 'error' | 'warning' | 'information';
3
+ export interface SourcePosition {
4
+ readonly line: number;
5
+ readonly character: number;
6
+ }
7
+ export interface SourceRange {
8
+ readonly uri: string;
9
+ readonly start: SourcePosition;
10
+ readonly end: SourcePosition;
11
+ }
12
+ export interface DiagnosticAttachment {
13
+ readonly nodeId?: string;
14
+ readonly portId?: string;
15
+ readonly edgeId?: string;
16
+ readonly sourceRange?: SourceRange;
17
+ }
18
+ export type SafeDiagnosticValue = null | boolean | number | string | readonly SafeDiagnosticValue[] | {
19
+ readonly [key: string]: SafeDiagnosticValue;
20
+ };
21
+ export interface EditDiagnostic extends DiagnosticAttachment {
22
+ readonly origin: DiagnosticOrigin;
23
+ readonly code: string;
24
+ readonly severity: DiagnosticSeverity;
25
+ readonly message: string;
26
+ readonly safeData?: Readonly<Record<string, SafeDiagnosticValue>>;
27
+ }
28
+ export interface FailureInput {
29
+ readonly origin: DiagnosticOrigin;
30
+ readonly code: string;
31
+ readonly severity: DiagnosticSeverity;
32
+ readonly message: string;
33
+ readonly attachment?: DiagnosticAttachment;
34
+ readonly safeData?: Readonly<Record<string, SafeDiagnosticValue>>;
35
+ readonly unsafeData?: unknown;
36
+ readonly stagedEdit?: unknown;
37
+ }
38
+ export interface RejectedSave<StagedEdit = unknown> {
39
+ readonly status: 'rejected';
40
+ readonly saveAllowed: false;
41
+ readonly saveSucceeded: false;
42
+ readonly stagedEdit: StagedEdit;
43
+ readonly diagnostics: readonly EditDiagnostic[];
44
+ }
45
+ export interface DiagnosticNavigation {
46
+ readonly kind: 'diagnostic.navigate';
47
+ readonly graphRevision: string | number;
48
+ readonly diagnosticCode: string;
49
+ readonly graph: Readonly<{
50
+ nodeId?: string;
51
+ portId?: string;
52
+ edgeId?: string;
53
+ select: true;
54
+ focus: true;
55
+ }> | null;
56
+ readonly source: Readonly<{
57
+ uri: string;
58
+ range: Readonly<{
59
+ start: SourcePosition;
60
+ end: SourcePosition;
61
+ }>;
62
+ reveal: true;
63
+ }> | null;
64
+ }
65
+ type Row = Readonly<Record<string, unknown>>;
66
+ export declare function reportFailure(input: FailureInput): EditDiagnostic;
67
+ export declare function rejectStagedEdit<StagedEdit>(input: Readonly<{
68
+ stagedEdit: StagedEdit;
69
+ failure: FailureInput;
70
+ }>): RejectedSave<StagedEdit>;
71
+ export declare function finalizeSave<StagedEdit>(input: Readonly<{
72
+ adapterResult: Row;
73
+ stagedEdit: StagedEdit;
74
+ }>): RejectedSave<StagedEdit>;
75
+ export declare function activate(input: Readonly<{
76
+ diagnostic: EditDiagnostic;
77
+ graphRevision: string | number;
78
+ }>): DiagnosticNavigation;
79
+ export {};
80
+ //# sourceMappingURL=editDiagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editDiagnostics.d.ts","sourceRoot":"","sources":["../src/editDiagnostics.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AACvE,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,aAAa,CAAC;AACrE,MAAM,WAAW,cAAc;IAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AACrF,MAAM,WAAW,WAAW;IAAG,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAA;CAAE;AACnH,MAAM,WAAW,oBAAoB;IAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CAAE;AAC1J,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,mBAAmB,EAAE,GAAG;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAAA;CAAE,CAAC;AACtJ,MAAM,WAAW,cAAe,SAAQ,oBAAoB;IAC1D,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1H,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;CACnE;AACD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1H,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC9G,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC9D;AACD,MAAM,WAAW,YAAY,CAAC,UAAU,GAAG,OAAO;IAChD,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC;IACxF,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,cAAc,EAAE,CAAC;CAClF;AACD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAC/G,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,IAAI,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;IAClH,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,QAAQ,CAAC;YAAE,KAAK,EAAE,cAAc,CAAC;YAAC,GAAG,EAAE,cAAc,CAAA;SAAE,CAAC,CAAC;QAAC,MAAM,EAAE,IAAI,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;CAClI;AACD,KAAK,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAmE7C,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,cAAc,CAEjE;AACD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAGzI;AACD,wBAAgB,YAAY,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC;IAAE,aAAa,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAWlI;AACD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAAE,UAAU,EAAE,cAAc,CAAC;IAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC,GAAG,oBAAoB,CAU9H"}
@@ -0,0 +1,130 @@
1
+ const ORIGINS = new Set(['form', 'route', 'adapter', 'source']);
2
+ const SEVERITIES = new Set(['error', 'warning', 'information']);
3
+ const ownData = (value, key) => {
4
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
5
+ return descriptor && 'value' in descriptor ? descriptor.value : undefined;
6
+ };
7
+ const safeText = (value) => typeof value === 'string' && value.trim().length > 0 ? value : undefined;
8
+ const sanitize = (value, ancestors = new WeakSet()) => {
9
+ if (value === null || typeof value === 'string' || typeof value === 'boolean')
10
+ return value;
11
+ if (typeof value === 'number')
12
+ return Number.isFinite(value) ? value : undefined;
13
+ if (typeof value !== 'object' || ancestors.has(value))
14
+ return undefined;
15
+ const prototype = Object.getPrototypeOf(value);
16
+ if (!Array.isArray(value) && prototype !== Object.prototype && prototype !== null)
17
+ return undefined;
18
+ ancestors.add(value);
19
+ if (Array.isArray(value)) {
20
+ const copy = [];
21
+ for (let index = 0; index < value.length; index += 1) {
22
+ const descriptor = Object.getOwnPropertyDescriptor(value, String(index));
23
+ if (!descriptor || !('value' in descriptor)) {
24
+ ancestors.delete(value);
25
+ return undefined;
26
+ }
27
+ const child = sanitize(descriptor.value, ancestors);
28
+ if (child === undefined) {
29
+ ancestors.delete(value);
30
+ return undefined;
31
+ }
32
+ copy.push(child);
33
+ }
34
+ ancestors.delete(value);
35
+ return Object.freeze(copy);
36
+ }
37
+ const copy = Object.create(null);
38
+ for (const key of Object.keys(value)) {
39
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
40
+ if (!descriptor || !('value' in descriptor)) {
41
+ ancestors.delete(value);
42
+ return undefined;
43
+ }
44
+ const child = sanitize(descriptor.value, ancestors);
45
+ if (child === undefined) {
46
+ ancestors.delete(value);
47
+ return undefined;
48
+ }
49
+ copy[key] = child;
50
+ }
51
+ ancestors.delete(value);
52
+ return Object.freeze(copy);
53
+ };
54
+ const positionOf = (value) => {
55
+ if (value === null || typeof value !== 'object')
56
+ return undefined;
57
+ const line = ownData(value, 'line'), character = ownData(value, 'character');
58
+ return Number.isInteger(line) && Number(line) >= 0 && Number.isInteger(character) && Number(character) >= 0
59
+ ? Object.freeze({ line: Number(line), character: Number(character) }) : undefined;
60
+ };
61
+ const rangeOf = (value) => {
62
+ if (value === null || typeof value !== 'object')
63
+ return undefined;
64
+ const uri = safeText(ownData(value, 'uri')), start = positionOf(ownData(value, 'start')), end = positionOf(ownData(value, 'end'));
65
+ return uri && start && end ? Object.freeze({ uri, start, end }) : undefined;
66
+ };
67
+ const normalized = (value, nestedAttachment = false) => {
68
+ if (value === null || typeof value !== 'object')
69
+ return undefined;
70
+ const origin = ownData(value, 'origin'), severity = ownData(value, 'severity');
71
+ const code = safeText(ownData(value, 'code')), message = safeText(ownData(value, 'message'));
72
+ if (!ORIGINS.has(origin) || !SEVERITIES.has(severity) || !code || !message)
73
+ return undefined;
74
+ const attachmentValue = nestedAttachment ? ownData(value, 'attachment') : value;
75
+ const attachment = attachmentValue !== null && typeof attachmentValue === 'object' ? attachmentValue : {};
76
+ const nodeId = safeText(ownData(attachment, 'nodeId')), portId = safeText(ownData(attachment, 'portId'));
77
+ const edgeId = safeText(ownData(attachment, 'edgeId')), sourceRange = rangeOf(ownData(attachment, 'sourceRange'));
78
+ const safeDataValue = sanitize(ownData(value, 'safeData'));
79
+ const safeData = safeDataValue !== null && typeof safeDataValue === 'object' && !Array.isArray(safeDataValue)
80
+ ? safeDataValue : undefined;
81
+ return Object.freeze({ origin: origin, code, severity: severity, message,
82
+ ...(nodeId ? { nodeId } : {}), ...(portId ? { portId } : {}), ...(edgeId ? { edgeId } : {}),
83
+ ...(sourceRange ? { sourceRange } : {}), ...(safeData ? { safeData } : {}) });
84
+ };
85
+ const malformedDiagnostic = () => Object.freeze({ origin: 'adapter', code: 'ADAPTER_DIAGNOSTIC_MALFORMED',
86
+ severity: 'error', message: 'The adapter returned an invalid diagnostic.' });
87
+ export function reportFailure(input) {
88
+ try {
89
+ return normalized(input, true) ?? malformedDiagnostic();
90
+ }
91
+ catch {
92
+ return malformedDiagnostic();
93
+ }
94
+ }
95
+ export function rejectStagedEdit(input) {
96
+ return Object.freeze({ status: 'rejected', saveAllowed: false, saveSucceeded: false, stagedEdit: input.stagedEdit,
97
+ diagnostics: Object.freeze([reportFailure(input.failure)]) });
98
+ }
99
+ export function finalizeSave(input) {
100
+ let raw = [];
101
+ try {
102
+ const diagnostics = ownData(input.adapterResult, 'diagnostics');
103
+ if (Array.isArray(diagnostics))
104
+ raw = diagnostics;
105
+ }
106
+ catch {
107
+ raw = [undefined];
108
+ }
109
+ const diagnostics = raw.map(value => { try {
110
+ return normalized(value) ?? malformedDiagnostic();
111
+ }
112
+ catch {
113
+ return malformedDiagnostic();
114
+ } });
115
+ return Object.freeze({ status: 'rejected', saveAllowed: false, saveSucceeded: false, stagedEdit: input.stagedEdit,
116
+ diagnostics: Object.freeze(diagnostics) });
117
+ }
118
+ export function activate(input) {
119
+ if ((typeof input.graphRevision === 'string' && input.graphRevision.trim().length === 0)
120
+ || (typeof input.graphRevision !== 'string' && !Number.isFinite(input.graphRevision)))
121
+ throw new TypeError('graphRevision must be nonblank.');
122
+ const diagnostic = normalized(input.diagnostic) ?? malformedDiagnostic();
123
+ const hasGraph = diagnostic.nodeId !== undefined || diagnostic.portId !== undefined || diagnostic.edgeId !== undefined;
124
+ return Object.freeze({ kind: 'diagnostic.navigate', graphRevision: input.graphRevision, diagnosticCode: diagnostic.code,
125
+ graph: hasGraph ? Object.freeze({ ...(diagnostic.nodeId ? { nodeId: diagnostic.nodeId } : {}),
126
+ ...(diagnostic.portId ? { portId: diagnostic.portId } : {}), ...(diagnostic.edgeId ? { edgeId: diagnostic.edgeId } : {}), select: true, focus: true }) : null,
127
+ source: diagnostic.sourceRange ? Object.freeze({ uri: diagnostic.sourceRange.uri,
128
+ range: Object.freeze({ start: diagnostic.sourceRange.start, end: diagnostic.sourceRange.end }), reveal: true }) : null });
129
+ }
130
+ //# sourceMappingURL=editDiagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editDiagnostics.js","sourceRoot":"","sources":["../src/editDiagnostics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ export type ExtensionKind = 'component' | 'form' | 'icon' | 'shape' | 'expressionProvider' | 'theme' | 'policy';
2
+ export type ContractVersionKind = 'model' | 'adapter' | 'renderer';
3
+ export interface ExtensionRegistration {
4
+ readonly kind: ExtensionKind;
5
+ readonly id: string;
6
+ readonly value: unknown;
7
+ readonly compatibleWith?: Partial<Readonly<Record<ContractVersionKind, string>>>;
8
+ }
9
+ export interface ExtensionDiagnostic {
10
+ readonly severity: 'error';
11
+ readonly code: 'DUPLICATE_EXTENSION_ID' | 'INCOMPATIBLE_EXTENSION_VERSION' | 'INVALID_EXTENSION_REGISTRATION' | 'INVALID_EXTENSION_VALUE';
12
+ readonly extensionKind: ExtensionKind;
13
+ readonly extensionId: string;
14
+ readonly message: string;
15
+ readonly versionKind?: ContractVersionKind;
16
+ readonly expectedVersion?: string;
17
+ readonly actualVersion?: string;
18
+ }
19
+ export interface ExtensionRegistry {
20
+ readonly resolve: (kind: ExtensionKind, id: string) => unknown;
21
+ readonly list: () => readonly ExtensionRegistration[];
22
+ }
23
+ export declare class ExtensionRegistryBootstrapError extends Error {
24
+ readonly diagnostics: readonly ExtensionDiagnostic[];
25
+ constructor(diagnostics: readonly ExtensionDiagnostic[]);
26
+ }
27
+ export declare function bootstrapExtensionRegistry(input: {
28
+ readonly versions: Readonly<Record<ContractVersionKind, string>>;
29
+ readonly registrations: readonly ExtensionRegistration[];
30
+ }): ExtensionRegistry;
31
+ //# sourceMappingURL=extensionRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensionRegistry.d.ts","sourceRoot":"","sources":["../src/extensionRegistry.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,oBAAoB,GAAG,OAAO,GAAG,QAAQ,CAAC;AAChH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;AAEnE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;CAClF;AACD,MAAM,WAAW,mBAAmB;IAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,wBAAwB,GAAG,gCAAgC,GAAG,gCAAgC,GAAG,yBAAyB,CAAC;IAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE;AAC7Z,MAAM,WAAW,iBAAiB;IAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,SAAS,qBAAqB,EAAE,CAAA;CAAE;AAE5J,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,QAAQ,CAAC,WAAW,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACrD,YAAY,WAAW,EAAE,SAAS,mBAAmB,EAAE,EAA+M;CACvQ;AAYD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC;IAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,qBAAqB,EAAE,CAAA;CAAE,GAAG,iBAAiB,CAgBnM"}
@@ -0,0 +1,48 @@
1
+ export class ExtensionRegistryBootstrapError extends Error {
2
+ diagnostics;
3
+ constructor(diagnostics) { super('Extension registry bootstrap failed.'); this.name = 'ExtensionRegistryBootstrapError'; this.diagnostics = Object.freeze(diagnostics.map(item => Object.freeze({ ...item }))); Object.freeze(this); }
4
+ }
5
+ const snapshotValue = (value, seen = new WeakMap()) => {
6
+ if (value === null || typeof value !== 'object')
7
+ return value;
8
+ if (seen.has(value))
9
+ return seen.get(value);
10
+ if (!Array.isArray(value) && Object.getPrototypeOf(value) !== Object.prototype && Object.getPrototypeOf(value) !== null)
11
+ throw new TypeError('Extension values must be functions or recursively plain objects and arrays.');
12
+ const copy = Array.isArray(value) ? [] : {};
13
+ seen.set(value, copy);
14
+ for (const key of Reflect.ownKeys(value))
15
+ copy[key] = snapshotValue(value[key], seen);
16
+ return Object.freeze(copy);
17
+ };
18
+ export function bootstrapExtensionRegistry(input) {
19
+ const diagnostics = [];
20
+ const seen = new Set();
21
+ input.registrations.forEach(registration => {
22
+ const key = `${registration.kind}:${registration.id}`;
23
+ if (!['component', 'form', 'icon', 'shape', 'expressionProvider', 'theme', 'policy'].includes(registration.kind) || !/^[A-Za-z][A-Za-z0-9._-]*$/.test(registration.id))
24
+ diagnostics.push({ severity: 'error', code: 'INVALID_EXTENSION_REGISTRATION', extensionKind: registration.kind, extensionId: registration.id, message: `Extension '${registration.id}' has an invalid kind or ID.` });
25
+ if (seen.has(key))
26
+ diagnostics.push({ severity: 'error', code: 'DUPLICATE_EXTENSION_ID', extensionKind: registration.kind, extensionId: registration.id, message: `Extension '${registration.id}' is a duplicate ${registration.kind} registration.` });
27
+ seen.add(key);
28
+ Object.keys(registration.compatibleWith ?? {}).forEach(versionKind => {
29
+ const expectedVersion = registration.compatibleWith?.[versionKind];
30
+ const actualVersion = input.versions[versionKind];
31
+ if (expectedVersion !== undefined && expectedVersion !== actualVersion)
32
+ diagnostics.push({ severity: 'error', code: 'INCOMPATIBLE_EXTENSION_VERSION', extensionKind: registration.kind, extensionId: registration.id, versionKind, expectedVersion, actualVersion, message: `Extension '${registration.id}' requires ${versionKind} ${expectedVersion}, but host provides ${actualVersion}.` });
33
+ });
34
+ });
35
+ const entries = input.registrations.map(item => { try {
36
+ return Object.freeze({ ...item, compatibleWith: item.compatibleWith === undefined ? undefined : snapshotValue(item.compatibleWith), value: snapshotValue(item.value) });
37
+ }
38
+ catch {
39
+ diagnostics.push({ severity: 'error', code: 'INVALID_EXTENSION_VALUE', extensionKind: item.kind, extensionId: item.id, message: `Extension '${item.id}' has a mutable or unsupported value.` });
40
+ return undefined;
41
+ } }).filter((item) => item !== undefined).sort((left, right) => { const a = `${left.kind}:${left.id}`; const b = `${right.kind}:${right.id}`; return a < b ? -1 : a > b ? 1 : 0; });
42
+ if (diagnostics.length > 0)
43
+ throw new ExtensionRegistryBootstrapError(diagnostics);
44
+ const published = Object.freeze(entries);
45
+ const byKey = new Map(entries.map(item => [`${item.kind}:${item.id}`, item.value]));
46
+ return Object.freeze({ resolve: (kind, id) => byKey.get(`${kind}:${id}`), list: () => published });
47
+ }
48
+ //# sourceMappingURL=extensionRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensionRegistry.js","sourceRoot":"","sources":["../src/extensionRegistry.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -62,5 +62,22 @@ export * as validate from '@beehexa/hexasync-template-validate';
62
62
  export * as context from '@beehexa/hexasync-template-context';
63
63
  export * as workerFlow from '@beehexa/hexasync-template-worker-flow';
64
64
  export * as frontendFlow from '@beehexa/hexasync-template-frontend-flow';
65
+ export * as profileFlow from '@beehexa/hexasync-workflow-profile-flow';
65
66
  export * as reportModel from '@beehexa/hexasync-template-report-model';
67
+ export * as vnextFlow from './vnextFlow.js';
68
+ export * as compositeFlow from './compositeFlow.js';
69
+ export * as extensionRegistry from './extensionRegistry.js';
70
+ export * as nodeResolution from './nodeResolution.js';
71
+ export * as visualResources from './visualResources.js';
72
+ export * as nodeExtensions from './nodeExtensions.js';
73
+ export * as themeStyles from './themeStyles.js';
74
+ export * as layout from './layout.js';
75
+ export * as capabilityPolicy from './capabilityPolicy.js';
76
+ export * as formEditing from './stepFormEditing.js';
77
+ export * as connectionEditing from './connectionEditing.js';
78
+ export * as editDiagnostics from './editDiagnostics.js';
79
+ export * as semanticTransactions from './semanticTransactions.js';
80
+ export * as presentationOverlay from './presentationOverlay.js';
81
+ export * as presentationStorage from './presentationStorage.js';
82
+ export * as presentationReconciliation from './presentationReconciliation.js';
66
83
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;AAC1D,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;AAC1D,OAAO,KAAK,MAAM,MAAM,mCAAmC,CAAC;AAC5D,OAAO,KAAK,MAAM,MAAM,mCAAmC,CAAC;AAC5D,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;AAC1D,OAAO,KAAK,OAAO,MAAM,oCAAoC,CAAC;AAC9D,OAAO,KAAK,QAAQ,MAAM,qCAAqC,CAAC;AAGhE,OAAO,KAAK,OAAO,MAAM,oCAAoC,CAAC;AAC9D,OAAO,KAAK,UAAU,MAAM,wCAAwC,CAAC;AACrE,OAAO,KAAK,YAAY,MAAM,0CAA0C,CAAC;AACzE,OAAO,KAAK,WAAW,MAAM,yCAAyC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;AAC1D,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;AAC1D,OAAO,KAAK,MAAM,MAAM,mCAAmC,CAAC;AAC5D,OAAO,KAAK,MAAM,MAAM,mCAAmC,CAAC;AAC5D,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;AAC1D,OAAO,KAAK,OAAO,MAAM,oCAAoC,CAAC;AAC9D,OAAO,KAAK,QAAQ,MAAM,qCAAqC,CAAC;AAGhE,OAAO,KAAK,OAAO,MAAM,oCAAoC,CAAC;AAC9D,OAAO,KAAK,UAAU,MAAM,wCAAwC,CAAC;AACrE,OAAO,KAAK,YAAY,MAAM,0CAA0C,CAAC;AACzE,OAAO,KAAK,WAAW,MAAM,yCAAyC,CAAC;AACvE,OAAO,KAAK,WAAW,MAAM,yCAAyC,CAAC;AACvE,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,oBAAoB,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,0BAA0B,MAAM,iCAAiC,CAAC"}
package/dist/index.js CHANGED
@@ -64,5 +64,22 @@ export * as validate from '@beehexa/hexasync-template-validate';
64
64
  export * as context from '@beehexa/hexasync-template-context';
65
65
  export * as workerFlow from '@beehexa/hexasync-template-worker-flow';
66
66
  export * as frontendFlow from '@beehexa/hexasync-template-frontend-flow';
67
+ export * as profileFlow from '@beehexa/hexasync-workflow-profile-flow';
67
68
  export * as reportModel from '@beehexa/hexasync-template-report-model';
69
+ export * as vnextFlow from './vnextFlow.js';
70
+ export * as compositeFlow from './compositeFlow.js';
71
+ export * as extensionRegistry from './extensionRegistry.js';
72
+ export * as nodeResolution from './nodeResolution.js';
73
+ export * as visualResources from './visualResources.js';
74
+ export * as nodeExtensions from './nodeExtensions.js';
75
+ export * as themeStyles from './themeStyles.js';
76
+ export * as layout from './layout.js';
77
+ export * as capabilityPolicy from './capabilityPolicy.js';
78
+ export * as formEditing from './stepFormEditing.js';
79
+ export * as connectionEditing from './connectionEditing.js';
80
+ export * as editDiagnostics from './editDiagnostics.js';
81
+ export * as semanticTransactions from './semanticTransactions.js';
82
+ export * as presentationOverlay from './presentationOverlay.js';
83
+ export * as presentationStorage from './presentationStorage.js';
84
+ export * as presentationReconciliation from './presentationReconciliation.js';
68
85
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;AAC1D,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;AAC1D,OAAO,KAAK,MAAM,MAAM,mCAAmC,CAAC;AAC5D,OAAO,KAAK,MAAM,MAAM,mCAAmC,CAAC;AAC5D,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;AAC1D,OAAO,KAAK,OAAO,MAAM,oCAAoC,CAAC;AAC9D,OAAO,KAAK,QAAQ,MAAM,qCAAqC,CAAC;AAChE,kHAAkH;AAClH,mDAAmD;AACnD,OAAO,KAAK,OAAO,MAAM,oCAAoC,CAAC;AAC9D,OAAO,KAAK,UAAU,MAAM,wCAAwC,CAAC;AACrE,OAAO,KAAK,YAAY,MAAM,0CAA0C,CAAC;AACzE,OAAO,KAAK,WAAW,MAAM,yCAAyC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;AAC1D,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;AAC1D,OAAO,KAAK,MAAM,MAAM,mCAAmC,CAAC;AAC5D,OAAO,KAAK,MAAM,MAAM,mCAAmC,CAAC;AAC5D,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;AAC1D,OAAO,KAAK,OAAO,MAAM,oCAAoC,CAAC;AAC9D,OAAO,KAAK,QAAQ,MAAM,qCAAqC,CAAC;AAChE,kHAAkH;AAClH,mDAAmD;AACnD,OAAO,KAAK,OAAO,MAAM,oCAAoC,CAAC;AAC9D,OAAO,KAAK,UAAU,MAAM,wCAAwC,CAAC;AACrE,OAAO,KAAK,YAAY,MAAM,0CAA0C,CAAC;AACzE,OAAO,KAAK,WAAW,MAAM,yCAAyC,CAAC;AACvE,OAAO,KAAK,WAAW,MAAM,yCAAyC,CAAC;AACvE,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,oBAAoB,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,0BAA0B,MAAM,iCAAiC,CAAC"}