@ankhorage/studio 5.6.0 → 5.8.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 (38) hide show
  1. package/README.md +1 -1
  2. package/apm/update.json +1 -1
  3. package/dist/bindingAuthoringContracts.d.ts +2 -0
  4. package/dist/bindingAuthoringContracts.d.ts.map +1 -1
  5. package/dist/bindingOperationModel.d.ts.map +1 -1
  6. package/dist/bindingOperationModel.js +5 -1
  7. package/dist/bindingOperationModel.js.map +1 -1
  8. package/dist/features/authoring-engine/adapters/outbound/resolveDataSchemaAuthoringStructure.d.ts +5 -0
  9. package/dist/features/authoring-engine/adapters/outbound/resolveDataSchemaAuthoringStructure.d.ts.map +1 -0
  10. package/dist/features/authoring-engine/adapters/outbound/resolveDataSchemaAuthoringStructure.js +96 -0
  11. package/dist/features/authoring-engine/adapters/outbound/resolveDataSchemaAuthoringStructure.js.map +1 -0
  12. package/dist/features/authoring-engine/adapters/outbound/resolveModuleAdminAuthoring.d.ts +8 -0
  13. package/dist/features/authoring-engine/adapters/outbound/resolveModuleAdminAuthoring.d.ts.map +1 -0
  14. package/dist/features/authoring-engine/adapters/outbound/resolveModuleAdminAuthoring.js +40 -0
  15. package/dist/features/authoring-engine/adapters/outbound/resolveModuleAdminAuthoring.js.map +1 -0
  16. package/dist/ui/admin/pages/ModuleDetailAdminPage.d.ts.map +1 -1
  17. package/dist/ui/admin/pages/ModuleDetailAdminPage.js +29 -18
  18. package/dist/ui/admin/pages/ModuleDetailAdminPage.js.map +1 -1
  19. package/dist/ui/admin/pages/bindings/BindingLiteralAuthoringEditor.d.ts +11 -0
  20. package/dist/ui/admin/pages/bindings/BindingLiteralAuthoringEditor.d.ts.map +1 -0
  21. package/dist/ui/admin/pages/bindings/BindingLiteralAuthoringEditor.js +23 -0
  22. package/dist/ui/admin/pages/bindings/BindingLiteralAuthoringEditor.js.map +1 -0
  23. package/dist/ui/admin/pages/bindings/EventBindingComposer.d.ts.map +1 -1
  24. package/dist/ui/admin/pages/bindings/EventBindingComposer.js +42 -3
  25. package/dist/ui/admin/pages/bindings/EventBindingComposer.js.map +1 -1
  26. package/dist/ui/admin/pages/bindings/bindingEditorModel.d.ts +8 -4
  27. package/dist/ui/admin/pages/bindings/bindingEditorModel.d.ts.map +1 -1
  28. package/dist/ui/admin/pages/bindings/bindingEditorModel.js +23 -31
  29. package/dist/ui/admin/pages/bindings/bindingEditorModel.js.map +1 -1
  30. package/dist/ui/admin/pages/bindings/createBindingLiteralDefaultValue.d.ts +5 -0
  31. package/dist/ui/admin/pages/bindings/createBindingLiteralDefaultValue.d.ts.map +1 -0
  32. package/dist/ui/admin/pages/bindings/createBindingLiteralDefaultValue.js +54 -0
  33. package/dist/ui/admin/pages/bindings/createBindingLiteralDefaultValue.js.map +1 -0
  34. package/package.json +1 -1
  35. package/dist/moduleAdminModel.d.ts +0 -25
  36. package/dist/moduleAdminModel.d.ts.map +0 -1
  37. package/dist/moduleAdminModel.js +0 -26
  38. package/dist/moduleAdminModel.js.map +0 -1
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  # @ankhorage/studio
5
5
 
6
- ![license: MIT](././paradox/badges/license.svg) ![npm: v5.6.0](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![docs: paradox](././paradox/badges/docs.svg)
6
+ ![license: MIT](././paradox/badges/license.svg) ![npm: v5.8.0](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![docs: paradox](././paradox/badges/docs.svg)
7
7
 
8
8
  Studio authoring package for Ankhorage apps
9
9
 
package/apm/update.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "protocolVersion": 1,
3
3
  "schemaVersion": 1,
4
- "owner": { "name": "@ankhorage/studio", "version": "5.6.0" },
4
+ "owner": { "name": "@ankhorage/studio", "version": "5.8.0" },
5
5
  "history": {
6
6
  "supported": [{ "sourceRange": ">=2.5.7 <3.0.0", "mode": "no-migration" }],
7
7
  "unsupported": [],
@@ -1,4 +1,5 @@
1
1
  import type { BindingOperationRef, UiBindableEventMeta, UiBindablePropMeta, UiBindableValueMeta } from '@ankhorage/contracts';
2
+ import type { AuthoringStructure } from './types/authoring-engine';
2
3
  export type StudioBindingCompatibility = 'compatible' | 'incompatible' | 'unknown';
3
4
  export interface StudioBindablePropOption {
4
5
  readonly name: string;
@@ -15,6 +16,7 @@ export interface StudioBindingInputFieldOption {
15
16
  readonly label: string;
16
17
  readonly value: UiBindableValueMeta;
17
18
  readonly required: boolean;
19
+ readonly authoring?: AuthoringStructure;
18
20
  }
19
21
  export interface StudioBindingResponsePathOption {
20
22
  readonly path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"bindingAuthoringContracts.d.ts","sourceRoot":"","sources":["../src/bindingAuthoringContracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,0BAA0B,GAAG,YAAY,GAAG,cAAc,GAAG,SAAS,CAAC;AAEnF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;CACnC;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;CACpC;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAC/D,QAAQ,CAAC,aAAa,EAAE,SAAS,+BAA+B,EAAE,CAAC;CACpE;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EACT,oBAAoB,GACpB,uBAAuB,GACvB,gBAAgB,GAChB,sBAAsB,GACtB,eAAe,GACf,mBAAmB,GACnB,uBAAuB,GACvB,eAAe,GACf,cAAc,CAAC;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB"}
1
+ {"version":3,"file":"bindingAuthoringContracts.d.ts","sourceRoot":"","sources":["../src/bindingAuthoringContracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,MAAM,MAAM,0BAA0B,GAAG,YAAY,GAAG,cAAc,GAAG,SAAS,CAAC;AAEnF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;CACnC;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;CACpC;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAC/D,QAAQ,CAAC,aAAa,EAAE,SAAS,+BAA+B,EAAE,CAAC;CACpE;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EACT,oBAAoB,GACpB,uBAAuB,GACvB,gBAAgB,GAChB,sBAAsB,GACtB,eAAe,GACf,mBAAmB,GACnB,uBAAuB,GACvB,eAAe,GACf,cAAc,CAAC;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"bindingOperationModel.d.ts","sourceRoot":"","sources":["../src/bindingOperationModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,qBAAqB,EACrB,mBAAmB,EAIpB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,KAAK,EACV,6BAA6B,EAC7B,4BAA4B,EAC7B,MAAM,6BAA6B,CAAC;AAGrC;;;GAGG;AACH,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,qBAAqB,GAC1B,SAAS,4BAA4B,EAAE,CAIzC;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,SAAS,4BAA4B,EAAE,EAChD,GAAG,EAAE,mBAAmB,GACvB,4BAA4B,GAAG,SAAS,CAE1C;AAsFD;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,aAAa,EACT,QAAQ,CACN,MAAM,CACJ,MAAM,EACN;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAC/E,CACF,GACD,SAAS,GACZ,SAAS,6BAA6B,EAAE,CAO1C"}
1
+ {"version":3,"file":"bindingOperationModel.d.ts","sourceRoot":"","sources":["../src/bindingOperationModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,qBAAqB,EACrB,mBAAmB,EAIpB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,KAAK,EACV,6BAA6B,EAC7B,4BAA4B,EAC7B,MAAM,6BAA6B,CAAC;AAIrC;;;GAGG;AACH,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,qBAAqB,GAC1B,SAAS,4BAA4B,EAAE,CAIzC;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,SAAS,4BAA4B,EAAE,EAChD,GAAG,EAAE,mBAAmB,GACvB,4BAA4B,GAAG,SAAS,CAE1C;AAyFD;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,aAAa,EACT,QAAQ,CACN,MAAM,CACJ,MAAM,EACN;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAC/E,CACF,GACD,SAAS,GACZ,SAAS,6BAA6B,EAAE,CAO1C"}
@@ -1,6 +1,7 @@
1
1
  import { findByKey } from '@ankhorage/utility/array';
2
2
  import { readOwnProperty } from '@ankhorage/utility/object';
3
3
  import { collectStudioResponsePaths, resolveStudioSchemaValueMeta } from './bindingSchemaModel';
4
+ import { resolveDataSchemaAuthoringStructure } from './features/authoring-engine/adapters/outbound/resolveDataSchemaAuthoringStructure';
4
5
  /***
5
6
  * Collect and alphabetically sort the API operations available for Studio binding authoring.
6
7
  * @todo Move binding operation catalog behavior under src/bindings/.
@@ -44,10 +45,12 @@ function collectApiOperations(api) {
44
45
  function collectOperationInputFields(api, operation) {
45
46
  const fields = new Map();
46
47
  for (const parameter of operation.request?.parameters ?? []) {
48
+ const schema = resolveSlotSchema(api, parameter);
47
49
  fields.set(parameter.name, {
48
50
  name: parameter.name,
49
51
  label: parameter.description ?? parameter.name,
50
- value: resolveStudioSchemaValueMeta(resolveSlotSchema(api, parameter), api.schemas),
52
+ value: resolveStudioSchemaValueMeta(schema, api.schemas),
53
+ authoring: resolveDataSchemaAuthoringStructure(schema, api.schemas),
51
54
  required: parameter.required ?? false,
52
55
  });
53
56
  }
@@ -59,6 +62,7 @@ function collectOperationInputFields(api, operation) {
59
62
  name,
60
63
  label: schema.title ?? name,
61
64
  value: resolveStudioSchemaValueMeta(schema, api.schemas),
65
+ authoring: resolveDataSchemaAuthoringStructure(schema, api.schemas),
62
66
  required: requestSchema?.required?.includes(name) ?? false,
63
67
  });
64
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bindingOperationModel.js","sourceRoot":"","sources":["../src/bindingOperationModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bindingOperationModel.js","sourceRoot":"","sources":["../src/bindingOperationModel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { DataSchema, DataSchemaRegistry } from '@ankhorage/contracts';
2
+ import type { AuthoringStructure } from '../../../../types/authoring-engine';
3
+ /*** Translate one Contracts DataSchema into Studio's neutral authoring structure without importing binding workflow policy. */
4
+ export declare function resolveDataSchemaAuthoringStructure(schema: DataSchema | undefined, schemas: DataSchemaRegistry | undefined, seen?: ReadonlySet<string>, path?: readonly string[]): AuthoringStructure;
5
+ //# sourceMappingURL=resolveDataSchemaAuthoringStructure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveDataSchemaAuthoringStructure.d.ts","sourceRoot":"","sources":["../../../../../src/features/authoring-engine/adapters/outbound/resolveDataSchemaAuthoringStructure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG3E,OAAO,KAAK,EAGV,kBAAkB,EACnB,MAAM,oCAAoC,CAAC;AAE5C,+HAA+H;AAC/H,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,UAAU,GAAG,SAAS,EAC9B,OAAO,EAAE,kBAAkB,GAAG,SAAS,EACvC,IAAI,GAAE,WAAW,CAAC,MAAM,CAAa,EACrC,IAAI,GAAE,SAAS,MAAM,EAAO,GAC3B,kBAAkB,CAsEpB"}
@@ -0,0 +1,96 @@
1
+ import { resolveSchemaReference, resolveSingleSchemaType } from '@ankhorage/utility/schema';
2
+ /*** Translate one Contracts DataSchema into Studio's neutral authoring structure without importing binding workflow policy. */
3
+ export function resolveDataSchemaAuthoringStructure(schema, schemas, seen = new Set(), path = []) {
4
+ const resolved = resolveSchemaReference(schema, schemas, seen);
5
+ if (!resolved || resolved.ref) {
6
+ return unsupportedDataSchema('unresolved-ref', 'Data schema reference could not be resolved.', path);
7
+ }
8
+ const finiteChoice = resolveFiniteChoice(resolved, path);
9
+ if (finiteChoice)
10
+ return finiteChoice;
11
+ const unsupportedComposition = resolveUnsupportedComposition(resolved, path);
12
+ if (unsupportedComposition)
13
+ return unsupportedComposition;
14
+ const scalarType = resolveSingleSchemaType(resolved.type);
15
+ const effectiveType = scalarType ??
16
+ (resolved.properties ? 'object' : undefined) ??
17
+ (resolved.items ? 'array' : undefined);
18
+ if (resolved.nullable === true && effectiveType !== 'null') {
19
+ return unsupportedDataSchema('nullable', 'Nullable DataSchema values require union authoring semantics.', path);
20
+ }
21
+ switch (effectiveType) {
22
+ case 'array':
23
+ return {
24
+ kind: 'ordered-list',
25
+ item: resolved.items
26
+ ? resolveDataSchemaAuthoringStructure(resolved.items, schemas, seen, [...path, '*'])
27
+ : unsupportedDataSchema('array-item', 'Array DataSchema is missing an item schema.', [
28
+ ...path,
29
+ '*',
30
+ ]),
31
+ };
32
+ case 'boolean':
33
+ case 'integer':
34
+ case 'null':
35
+ case 'number':
36
+ case 'string':
37
+ return { kind: 'scalar', scalarType: effectiveType };
38
+ case 'object':
39
+ if (resolved.additionalProperties) {
40
+ return unsupportedDataSchema('record', 'DataSchema additionalProperties requires value-map authoring semantics.', path);
41
+ }
42
+ return {
43
+ kind: 'object',
44
+ fields: Object.entries(resolved.properties ?? {}).map(([name, field]) => ({
45
+ name,
46
+ optional: resolved.required?.includes(name) !== true,
47
+ structure: resolveDataSchemaAuthoringStructure(field, schemas, seen, [...path, name]),
48
+ })),
49
+ };
50
+ default:
51
+ return unsupportedDataSchema('unknown', 'DataSchema does not declare a supported primitive, object, array, enum, or const shape.', path);
52
+ }
53
+ }
54
+ /*** Resolve DataSchema enum/const declarations into finite primitive choice semantics when lossless. */
55
+ function resolveFiniteChoice(schema, path) {
56
+ const values = schema.enum ?? (schema.const === undefined ? undefined : [schema.const]);
57
+ if (!values)
58
+ return undefined;
59
+ if (values.length === 0 || !values.every(isAuthoringPrimitive)) {
60
+ return unsupportedDataSchema(schema.enum ? 'enum' : 'const', 'DataSchema enum/const authoring supports primitive serializable values only.', path);
61
+ }
62
+ return { kind: 'choice', values };
63
+ }
64
+ /*** Reject DataSchema composition forms that require neutral union/intersection semantics not owned by WP4. */
65
+ function resolveUnsupportedComposition(schema, path) {
66
+ if (Array.isArray(schema.type) && schema.type.length > 1) {
67
+ return unsupportedDataSchema('type-union', 'DataSchema multi-type declarations require union authoring semantics.', path);
68
+ }
69
+ if (schema.oneOf && schema.oneOf.length > 0) {
70
+ return unsupportedDataSchema('oneOf', 'DataSchema oneOf requires union authoring semantics.', path);
71
+ }
72
+ if (schema.anyOf && schema.anyOf.length > 0) {
73
+ return unsupportedDataSchema('anyOf', 'DataSchema anyOf requires union authoring semantics.', path);
74
+ }
75
+ if (schema.allOf && schema.allOf.length > 0) {
76
+ return unsupportedDataSchema('allOf', 'DataSchema allOf requires schema-composition authoring semantics.', path);
77
+ }
78
+ return undefined;
79
+ }
80
+ /*** Check whether one serializable DataSchema literal fits the neutral primitive choice vocabulary. */
81
+ function isAuthoringPrimitive(value) {
82
+ return (value === null ||
83
+ typeof value === 'boolean' ||
84
+ typeof value === 'number' ||
85
+ typeof value === 'string');
86
+ }
87
+ /*** Preserve unsupported DataSchema semantics as an explicit neutral authoring diagnostic. */
88
+ function unsupportedDataSchema(sourceKind, message, path) {
89
+ const diagnostic = {
90
+ code: sourceKind === 'unresolved-ref' ? 'unresolved-reference' : 'unsupported-structure',
91
+ message,
92
+ path,
93
+ };
94
+ return { kind: 'unsupported', sourceKind, diagnostic };
95
+ }
96
+ //# sourceMappingURL=resolveDataSchemaAuthoringStructure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveDataSchemaAuthoringStructure.js","sourceRoot":"","sources":["../../../../../src/features/authoring-engine/adapters/outbound/resolveDataSchemaAuthoringStructure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { StudioModuleAdminContribution } from '../../../../moduleAdminContracts';
2
+ import type { AuthoringPresentationPolicy, AuthoringStructure } from '../../../../types/authoring-engine';
3
+ /*** Adapt one module-owned config-schema contribution into Studio's neutral Authoring Engine vocabulary. */
4
+ export declare function resolveModuleAdminAuthoring(contribution: StudioModuleAdminContribution): {
5
+ readonly structure: AuthoringStructure;
6
+ readonly policy: AuthoringPresentationPolicy;
7
+ };
8
+ //# sourceMappingURL=resolveModuleAdminAuthoring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveModuleAdminAuthoring.d.ts","sourceRoot":"","sources":["../../../../../src/features/authoring-engine/adapters/outbound/resolveModuleAdminAuthoring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAE9B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EACV,2BAA2B,EAC3B,kBAAkB,EACnB,MAAM,oCAAoC,CAAC;AAE5C,4GAA4G;AAC5G,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,6BAA6B,GAAG;IACxF,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;CAC9C,CAkBA"}
@@ -0,0 +1,40 @@
1
+ /*** Adapt one module-owned config-schema contribution into Studio's neutral Authoring Engine vocabulary. */
2
+ export function resolveModuleAdminAuthoring(contribution) {
3
+ return {
4
+ structure: {
5
+ kind: 'object',
6
+ fields: contribution.fields.map((field) => ({
7
+ name: field.key,
8
+ optional: !field.required,
9
+ structure: resolveModuleAdminFieldStructure(field),
10
+ })),
11
+ },
12
+ policy: {
13
+ label: contribution.title,
14
+ description: contribution.description,
15
+ fields: Object.fromEntries(contribution.fields.map((field) => [field.key, { label: field.label }])),
16
+ },
17
+ };
18
+ }
19
+ /*** Translate one exercised module control and fail closed for owner controls without central semantics. */
20
+ function resolveModuleAdminFieldStructure(field) {
21
+ if (field.control === 'text') {
22
+ return { kind: 'scalar', scalarType: 'string' };
23
+ }
24
+ if (field.control === 'string-list') {
25
+ return {
26
+ kind: 'ordered-list',
27
+ item: { kind: 'scalar', scalarType: 'string' },
28
+ };
29
+ }
30
+ return {
31
+ kind: 'unsupported',
32
+ sourceKind: `module-control:${field.control}`,
33
+ diagnostic: {
34
+ code: 'unsupported-structure',
35
+ message: `Module admin control "${field.control}" does not have a central Authoring Engine adapter.`,
36
+ path: [field.key],
37
+ },
38
+ };
39
+ }
40
+ //# sourceMappingURL=resolveModuleAdminAuthoring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveModuleAdminAuthoring.js","sourceRoot":"","sources":["../../../../../src/features/authoring-engine/adapters/outbound/resolveModuleAdminAuthoring.ts"],"names":[],"mappings":"AASA,4GAA4G;AAC5G,MAAM,UAAU,2BAA2B,CAAC,YAA2C;IAIrF,OAAO;QACL,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC1C,IAAI,EAAE,KAAK,CAAC,GAAG;gBACf,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ;gBACzB,SAAS,EAAE,gCAAgC,CAAC,KAAK,CAAC;aACnD,CAAC,CAAC;SACJ;QACD,MAAM,EAAE;YACN,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,MAAM,EAAE,MAAM,CAAC,WAAW,CACxB,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAU,CAAC,CACjF;SACF;KACF,CAAC;AACJ,CAAC;AAED,4GAA4G;AAC5G,SAAS,gCAAgC,CAAC,KAA6B;IACrE,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;IAClD,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QACpC,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE;SAC/C,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,kBAAkB,KAAK,CAAC,OAAO,EAAE;QAC7C,UAAU,EAAE;YACV,IAAI,EAAE,uBAAuB;YAC7B,OAAO,EAAE,yBAAyB,KAAK,CAAC,OAAO,qDAAqD;YACpG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;SAClB;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModuleDetailAdminPage.d.ts","sourceRoot":"","sources":["../../../../src/ui/admin/pages/ModuleDetailAdminPage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAqBhE,yHAAyH;AACzH,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,qBA0OvF"}
1
+ {"version":3,"file":"ModuleDetailAdminPage.d.ts","sourceRoot":"","sources":["../../../../src/ui/admin/pages/ModuleDetailAdminPage.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAqBhE,yHAAyH;AACzH,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,qBA+NvF"}
@@ -1,12 +1,16 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Button, ButtonGroup, Card, TextInput, Text } from '@ankhorage/zora';
2
+ import { isRecord } from '@ankhorage/utility/object';
3
+ import { Button, ButtonGroup, Card, Text } from '@ankhorage/zora';
3
4
  import { useRouter } from 'expo-router';
4
5
  import React, { useCallback, useEffect, useState } from 'react';
5
6
  import { ActivityIndicator, StyleSheet, View } from 'react-native';
6
7
  import { useStudio } from '../../../core/StudioContext';
8
+ import { AuthoringEditor } from '../../../features/authoring-engine/adapters/inbound/AuthoringEditor';
9
+ import { resolveModuleAdminAuthoring } from '../../../features/authoring-engine/adapters/outbound/resolveModuleAdminAuthoring';
10
+ import { applyAuthoringMutation } from '../../../features/authoring-engine/application/use-cases/applyAuthoringMutation';
11
+ import { deriveAuthoringModel } from '../../../features/authoring-engine/application/use-cases/deriveAuthoringModel';
7
12
  import { getProjectModule, installProjectModule, StudioModuleApiError, uninstallProjectModule, updateProjectModuleConfig, } from '../../../moduleAdminApi';
8
- import { createStudioModuleAdminDraft, parseStudioModuleAdminDraft, } from '../../../moduleAdminModel';
9
- import { AdminHeader, AdminScroll, Field, KeyValue } from '../adminPagePrimitives';
13
+ import { AdminHeader, AdminScroll, KeyValue } from '../adminPagePrimitives';
10
14
  import { ModuleAdminViewHost } from '../ModuleAdminViewHost';
11
15
  import { getStudioModuleAdminView } from '../moduleAdminViewRegistry';
12
16
  /*** Render lifecycle, package-owned administration, and fallback metadata-driven configuration for one Studio module. */
@@ -14,17 +18,15 @@ export function ModuleDetailAdminPage({ moduleId }) {
14
18
  const studio = useStudio();
15
19
  const router = useRouter();
16
20
  const [module, setModule] = useState(null);
17
- const [draft, setDraft] = useState({});
21
+ const [draft, setDraft] = useState(null);
18
22
  const [loading, setLoading] = useState(true);
19
23
  const [busy, setBusy] = useState(false);
20
24
  const [unknown, setUnknown] = useState(false);
21
25
  const [message, setMessage] = useState(null);
22
- /*** Store a freshly loaded module and derive its editable fallback admin draft. */
26
+ /*** Store a freshly loaded module and keep its owner-normalized config as the authoring draft. */
23
27
  const applyLoadedModule = useCallback((loaded) => {
24
28
  setModule(loaded);
25
- setDraft(loaded.admin
26
- ? createStudioModuleAdminDraft({ contribution: loaded.admin, config: loaded.config })
27
- : {});
29
+ setDraft(loaded.config);
28
30
  }, []);
29
31
  /*** Reload the selected module lifecycle/admin state and classify an unknown module id. */
30
32
  const reload = useCallback(async () => {
@@ -74,17 +76,22 @@ export function ModuleDetailAdminPage({ moduleId }) {
74
76
  setBusy(false);
75
77
  }
76
78
  }, [applyLoadedModule, moduleId, studio]);
77
- /*** Parse and persist the module's metadata-driven configuration draft through the Orchestrator lifecycle. */
79
+ /*** Apply one central authoring mutation to the module-owned configuration draft. */
80
+ const applyConfigMutation = useCallback((mutation) => {
81
+ const result = applyAuthoringMutation(draft, mutation);
82
+ if (!result.ok) {
83
+ setMessage(result.diagnostic.message);
84
+ return;
85
+ }
86
+ setDraft(result.value);
87
+ setMessage(null);
88
+ }, [draft]);
89
+ /*** Persist the neutral authoring draft through the existing Orchestrator module config lifecycle. */
78
90
  const saveConfig = useCallback(async () => {
79
91
  if (!moduleId || !module?.admin)
80
92
  return;
81
- const parsed = parseStudioModuleAdminDraft({
82
- contribution: module.admin,
83
- currentConfig: module.config,
84
- draft,
85
- });
86
- if (!parsed.ok) {
87
- setMessage(parsed.message);
93
+ if (!isRecord(draft)) {
94
+ setMessage('Module configuration must be an object before it can be saved.');
88
95
  return;
89
96
  }
90
97
  setBusy(true);
@@ -93,7 +100,7 @@ export function ModuleDetailAdminPage({ moduleId }) {
93
100
  const result = await updateProjectModuleConfig({
94
101
  projectId: studio.projectId,
95
102
  moduleId,
96
- config: parsed.config,
103
+ config: draft,
97
104
  });
98
105
  if (result.module)
99
106
  applyLoadedModule(result.module);
@@ -114,10 +121,14 @@ export function ModuleDetailAdminPage({ moduleId }) {
114
121
  return (_jsxs(AdminScroll, { children: [_jsx(AdminHeader, { title: "Unknown module", description: "This module ID is not registered and has no installed lifecycle state." }), message ? _jsx(Text, { color: "danger", children: message }) : null, _jsx(Button, { variant: "outline", onPress: () => router.replace('/ankh/modules'), children: "Back to modules" })] }));
115
122
  }
116
123
  const adminView = getStudioModuleAdminView(module.id);
124
+ const fallbackAuthoring = module.admin ? resolveModuleAdminAuthoring(module.admin) : null;
125
+ const fallbackModel = fallbackAuthoring
126
+ ? deriveAuthoringModel({ ...fallbackAuthoring, value: draft })
127
+ : null;
117
128
  return (_jsxs(AdminScroll, { children: [_jsx(AdminHeader, { title: module.name, description: module.description }), message ? (_jsx(Text, { color: "neutral", emphasis: "muted", variant: "bodySmall", children: message })) : null, _jsxs(Card, { title: "Lifecycle status", children: [_jsxs(View, { style: styles.statusGrid, children: [_jsx(KeyValue, { label: "Module ID", value: module.id }), _jsx(KeyValue, { label: "Available", value: module.available ? 'yes' : 'no' }), _jsx(KeyValue, { label: "Installed", value: module.installed ? 'yes' : 'no' }), _jsx(KeyValue, { label: "Pending removal", value: module.pendingRemoval ? 'yes' : 'no' }), _jsx(KeyValue, { label: "Dependents", value: module.dependents.length > 0 ? module.dependents.join(', ') : 'none' })] }), _jsxs(ButtonGroup, { orientation: "responsive", align: "start", children: [!module.installed && module.available ? (_jsx(Button, { loading: busy, onPress: () => void runLifecycle('install'), children: "Install" })) : null, module.installed && !module.pendingRemoval ? (_jsx(Button, { color: "danger", variant: "outline", loading: busy, disabled: module.dependents.length > 0, onPress: () => void runLifecycle('uninstall'), children: "Uninstall" })) : null] })] }), adminView && !module.installed ? (_jsx(Card, { title: module.admin?.title ?? 'Administration', description: module.admin?.description, children: _jsx(Text, { color: "neutral", emphasis: "muted", children: "Install the module before using its package-owned administration view." }) })) : adminView && module.pendingRemoval ? (_jsx(Card, { title: "Administration unavailable", children: _jsx(Text, { color: "neutral", emphasis: "muted", children: "This module is pending removal and cannot be administered." }) })) : adminView ? (_jsx(ModuleAdminViewHost, { moduleId: module.id, contribution: adminView })) : !module.admin ? (_jsx(Card, { title: module.adminError
118
129
  ? 'Administration contribution error'
119
130
  : 'No administration contribution', children: _jsx(Text, { color: "neutral", emphasis: "muted", children: module.adminError ??
120
- 'This module is lifecycle-only. It does not provide a fake configuration form.' }) })) : !module.installed ? (_jsx(Card, { title: module.admin.title, description: module.admin.description, children: _jsx(Text, { color: "neutral", emphasis: "muted", children: "Install the module before editing its package-owned configuration." }) })) : (_jsxs(Card, { title: module.admin.title, description: module.admin.description, children: [module.admin.fields.map((field) => (_jsxs(Field, { label: `${field.label}${field.required ? ' *' : ''}`, children: [_jsx(TextInput, { accessibilityLabel: field.label, value: draft[field.key] ?? '', multiline: field.control !== 'text' && field.control !== 'string-list', autoCapitalize: "none", onChangeText: (value) => setDraft((current) => ({ ...current, [field.key]: value })) }), field.control === 'string-list' ? (_jsx(Text, { color: "neutral", emphasis: "muted", variant: "caption", children: "Comma-separated values" })) : null, field.control !== 'text' && field.control !== 'string-list' ? (_jsx(Text, { color: "neutral", emphasis: "muted", variant: "caption", children: "JSON value" })) : null] }, field.key))), _jsx(Button, { loading: busy, onPress: () => void saveConfig(), children: "Save configuration" })] }))] }));
131
+ 'This module is lifecycle-only. It does not provide a fake configuration form.' }) })) : !module.installed ? (_jsx(Card, { title: module.admin.title, description: module.admin.description, children: _jsx(Text, { color: "neutral", emphasis: "muted", children: "Install the module before editing its package-owned configuration." }) })) : (_jsxs(Card, { title: module.admin.title, description: module.admin.description, children: [fallbackModel ? (_jsx(AuthoringEditor, { model: fallbackModel, onMutation: applyConfigMutation })) : null, _jsx(Button, { loading: busy, onPress: () => void saveConfig(), children: "Save configuration" })] }))] }));
121
132
  }
122
133
  /***
123
134
  * Normalize an unknown thrown value to a display message.
@@ -1 +1 @@
1
- {"version":3,"file":"ModuleDetailAdminPage.js","sourceRoot":"","sources":["../../../../src/ui/admin/pages/ModuleDetailAdminPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModuleDetailAdminPage.js","sourceRoot":"","sources":["../../../../src/ui/admin/pages/ModuleDetailAdminPage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { BindingValue } from '@ankhorage/contracts';
2
+ import type { AuthoringStructure } from '../../../../types/authoring-engine';
3
+ /*** Render one DataSchema-backed binding literal through the shared neutral Authoring Engine and emit typed canonical values. */
4
+ export declare function BindingLiteralAuthoringEditor(props: {
5
+ readonly label: string;
6
+ readonly required: boolean;
7
+ readonly structure: AuthoringStructure;
8
+ readonly value: BindingValue | undefined;
9
+ readonly onChange: (value: BindingValue | undefined) => void;
10
+ }): import("react").JSX.Element;
11
+ //# sourceMappingURL=BindingLiteralAuthoringEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BindingLiteralAuthoringEditor.d.ts","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/bindings/BindingLiteralAuthoringEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAKzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAM7E,iIAAiI;AACjI,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,KAAK,IAAI,CAAC;CAC9D,+BAqBA"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { AuthoringEditor } from '../../../../features/authoring-engine/adapters/inbound/AuthoringEditor';
3
+ import { applyAuthoringMutation } from '../../../../features/authoring-engine/application/use-cases/applyAuthoringMutation';
4
+ import { deriveAuthoringModel } from '../../../../features/authoring-engine/application/use-cases/deriveAuthoringModel';
5
+ /*** Render one DataSchema-backed binding literal through the shared neutral Authoring Engine and emit typed canonical values. */
6
+ export function BindingLiteralAuthoringEditor(props) {
7
+ const structure = {
8
+ kind: 'object',
9
+ fields: [{ name: 'value', optional: !props.required, structure: props.structure }],
10
+ };
11
+ const state = props.value === undefined ? {} : { value: props.value };
12
+ const model = deriveAuthoringModel({
13
+ structure,
14
+ value: state,
15
+ policy: { fields: { value: { label: props.label } } },
16
+ });
17
+ return (_jsx(AuthoringEditor, { model: model, onMutation: (mutation) => {
18
+ const result = applyAuthoringMutation(state, mutation);
19
+ if (result.ok)
20
+ props.onChange(result.value.value);
21
+ } }));
22
+ }
23
+ //# sourceMappingURL=BindingLiteralAuthoringEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BindingLiteralAuthoringEditor.js","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/bindings/BindingLiteralAuthoringEditor.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,wEAAwE,CAAC;AACzG,OAAO,EAAE,sBAAsB,EAAE,MAAM,oFAAoF,CAAC;AAC5H,OAAO,EAAE,oBAAoB,EAAE,MAAM,kFAAkF,CAAC;AAOxH,iIAAiI;AACjI,MAAM,UAAU,6BAA6B,CAAC,KAM7C;IACC,MAAM,SAAS,GAAuB;QACpC,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;KACnF,CAAC;IACF,MAAM,KAAK,GAAwB,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IAC3F,MAAM,KAAK,GAAG,oBAAoB,CAAC;QACjC,SAAS;QACT,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE;KACtD,CAAC,CAAC;IAEH,OAAO,CACL,KAAC,eAAe,IACd,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;YACvB,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAI,MAAM,CAAC,EAAE;gBAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC,GACD,CACH,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventBindingComposer.d.ts","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/bindings/EventBindingComposer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAK9E,OAAO,EAGL,KAAK,4BAA4B,EAClC,MAAM,mCAAmC,CAAC;AA0B3C,4IAA4I;AAC5I,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,SAAS,4BAA4B,EAAE,CAAC;IAC7D,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;CACjD,+BA6EA"}
1
+ {"version":3,"file":"EventBindingComposer.d.ts","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/bindings/EventBindingComposer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAK9E,OAAO,EAGL,KAAK,4BAA4B,EAClC,MAAM,mCAAmC,CAAC;AA8B3C,4IAA4I;AAC5I,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,SAAS,4BAA4B,EAAE,CAAC;IAC7D,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;CACjD,+BA6EA"}
@@ -6,7 +6,9 @@ import { createStudioActionInputFields, } from '../../../../bindingAuthoringMode
6
6
  import { ACTION_REGISTRY } from '../../../../index';
7
7
  import { Field } from '../../adminPagePrimitives';
8
8
  import { bindingAdminStyles } from './bindingAdminStyles';
9
- import { createStudioEventBinding, createStudioEventInputDrafts, createStudioOperationKey, findStudioOperationByKey, } from './bindingEditorModel';
9
+ import { createStudioEventBinding, createStudioEventInputDrafts, createStudioOperationKey, findStudioOperationByKey, formatStudioBindingLiteral, parseStudioBindingLiteral, } from './bindingEditorModel';
10
+ import { BindingLiteralAuthoringEditor } from './BindingLiteralAuthoringEditor';
11
+ import { createBindingLiteralDefaultValue } from './createBindingLiteralDefaultValue';
10
12
  const TARGET_OPTIONS = [
11
13
  { value: 'action', label: 'Action' },
12
14
  { value: 'operation', label: 'API operation' },
@@ -56,8 +58,45 @@ function EventInputDrafts(props) {
56
58
  return (_jsx(Text, { color: "neutral", emphasis: "muted", variant: "bodySmall", children: "This target has no declared inputs." }));
57
59
  }
58
60
  return (_jsxs(View, { style: bindingAdminStyles.stack, children: [props.fields.map((field) => {
59
- const draft = props.drafts[field.name] ?? { kind: 'literal', value: '' };
60
- return (_jsxs(View, { style: bindingAdminStyles.row, children: [_jsx(View, { style: bindingAdminStyles.grow, children: _jsx(Field, { label: `${field.label} · ${field.value.type}${field.required ? ' · required' : ''}`, children: _jsx(Select, { value: draft.kind, options: INPUT_SOURCE_OPTIONS, onValueChange: (kind) => props.onChange({ ...props.drafts, [field.name]: { ...draft, kind } }) }) }) }), _jsx(View, { style: bindingAdminStyles.grow, children: _jsx(Field, { label: draft.kind === 'event' ? 'Payload path' : 'Literal value', children: _jsx(TextInput, { value: draft.value, placeholder: draft.kind === 'event' ? 'values.name' : undefined, onChangeText: (value) => props.onChange({ ...props.drafts, [field.name]: { ...draft, value } }) }) }) })] }, field.name));
61
+ const draft = props.drafts[field.name] ?? {
62
+ kind: 'literal',
63
+ value: createBindingLiteralDefaultValue(field),
64
+ included: field.required,
65
+ };
66
+ return (_jsxs(View, { style: bindingAdminStyles.row, children: [_jsx(View, { style: bindingAdminStyles.grow, children: _jsx(Field, { label: `${field.label} · ${field.value.type}${field.required ? ' · required' : ''}`, children: _jsx(Select, { value: draft.kind, options: INPUT_SOURCE_OPTIONS, onValueChange: (kind) => props.onChange({
67
+ ...props.drafts,
68
+ [field.name]: kind === 'event'
69
+ ? {
70
+ kind,
71
+ value: props.eventFields.includes(field.name) ? field.name : '',
72
+ }
73
+ : {
74
+ kind,
75
+ value: createBindingLiteralDefaultValue(field),
76
+ included: true,
77
+ },
78
+ }) }) }) }), _jsx(View, { style: bindingAdminStyles.grow, children: draft.kind === 'event' ? (_jsx(Field, { label: "Payload path", children: _jsx(TextInput, { value: draft.value, placeholder: "values.name", onChangeText: (value) => props.onChange({
79
+ ...props.drafts,
80
+ [field.name]: { kind: 'event', value },
81
+ }) }) })) : field.authoring ? (_jsx(BindingLiteralAuthoringEditor, { label: "Literal value", required: field.required, structure: field.authoring, value: draft.value, onChange: (value) => props.onChange({
82
+ ...props.drafts,
83
+ [field.name]: {
84
+ kind: 'literal',
85
+ value,
86
+ included: value !== undefined,
87
+ },
88
+ }) })) : (_jsx(Field, { label: "Literal value", children: _jsx(TextInput, { value: !draft.included && !field.required
89
+ ? ''
90
+ : draft.value === undefined
91
+ ? ''
92
+ : formatStudioBindingLiteral(draft.value), onChangeText: (value) => props.onChange({
93
+ ...props.drafts,
94
+ [field.name]: {
95
+ kind: 'literal',
96
+ value: parseStudioBindingLiteral(value, field.value),
97
+ included: field.required || value !== '',
98
+ },
99
+ }) }) })) })] }, field.name));
61
100
  }), props.eventFields.length > 0 ? (_jsxs(Text, { color: "neutral", emphasis: "muted", variant: "bodySmall", children: ["Known payload paths: ", props.eventFields.join(', '), ". Nested paths may be entered manually."] })) : null] }));
62
101
  }
63
102
  //# sourceMappingURL=EventBindingComposer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventBindingComposer.js","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/bindings/EventBindingComposer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventBindingComposer.js","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/bindings/EventBindingComposer.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EACL,6BAA6B,GAG9B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,GAG1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAEtF,MAAM,cAAc,GAAG;IACrB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE;CACtC,CAAC;AACX,MAAM,oBAAoB,GAAoE;IAC5F,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE;IAC1C,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;CACvC,CAAC;AACF,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrE,KAAK,EAAE,MAAM,CAAC,IAAI;IAClB,KAAK,EAAE,MAAM,CAAC,KAAK;CACpB,CAAC,CAAC,CAAC;AAEJ,4IAA4I;AAC5I,MAAM,UAAU,oBAAoB,CAAC,KAIpC;IACC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAC/C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAyB,QAAQ,CAAC,CAAC;IAC/E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,UAAU,CAAC,CAAC;IACrF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAC9C,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CACvE,CAAC;IACF,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CACH,UAAU,KAAK,QAAQ;QACrB,CAAC,CAAC,6BAA6B,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;QAC3E,CAAC,CAAC,CAAC,iBAAiB,EAAE,WAAW,IAAI,EAAE,CAAC,EAC5C,CAAC,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,CAAC,CACzD,CAAC;IACF,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAChG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAkD,EAAE,CAAC,CAAC;IAE1F,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,CAAC,4BAA4B,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IAC/D,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAE1B,0FAA0F;IAC1F,MAAM,GAAG,GAAG,GAAG,EAAE;QACf,MAAM,MAAM,GACV,UAAU,KAAK,QAAQ;YACrB,CAAC,CAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAY;YACjD,CAAC,CAAC,iBAAiB;gBACjB,CAAC,CAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,CAAC,SAAS,EAAY;gBAC1E,CAAC,CAAC,IAAI,CAAC;QACb,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,KAAK,CAAC,wBAAwB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,aACnC,MAAC,IAAI,IAAC,KAAK,EAAE,kBAAkB,CAAC,GAAG,aACjC,KAAC,IAAI,IAAC,KAAK,EAAE,kBAAkB,CAAC,IAAI,YAClC,KAAC,KAAK,IAAC,KAAK,EAAC,aAAa,YACxB,KAAC,MAAM,IAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,GAAI,GAC9E,GACH,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,kBAAkB,CAAC,IAAI,YACjC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,CACzB,KAAC,KAAK,IAAC,KAAK,EAAC,QAAQ,YACnB,KAAC,MAAM,IAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,GAAI,GAC9E,CACT,CAAC,CAAC,CAAC,CACF,KAAC,KAAK,IAAC,KAAK,EAAC,WAAW,YACtB,KAAC,MAAM,IACL,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oCACtC,KAAK,EAAE,wBAAwB,CAAC,SAAS,CAAC,SAAS,CAAC;oCACpD,KAAK,EAAE,SAAS,CAAC,KAAK;iCACvB,CAAC,CAAC,EACH,aAAa,EAAE,eAAe,GAC9B,GACI,CACT,GACI,IACF,EACN,UAAU,KAAK,WAAW,IAAI,iBAAiB,CAAC,CAAC,CAAC,CACjD,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,EAAC,OAAO,EAAC,WAAW,YACvD,iBAAiB,CAAC,QAAQ,GACtB,CACR,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,gBAAgB,IACf,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EACnD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,GACnB,EACF,KAAC,MAAM,IAAC,QAAQ,EAAE,UAAU,KAAK,WAAW,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,GAAG,4BAEvE,IACJ,CACR,CAAC;AACJ,CAAC;AAED,kHAAkH;AAClH,SAAS,gBAAgB,CAAC,KAKzB;IACC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,CACL,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,EAAC,OAAO,EAAC,WAAW,oDAEnD,CACR,CAAC;IACJ,CAAC;IAED,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,aAClC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI;oBACxC,IAAI,EAAE,SAAkB;oBACxB,KAAK,EAAE,gCAAgC,CAAC,KAAK,CAAC;oBAC9C,QAAQ,EAAE,KAAK,CAAC,QAAQ;iBACzB,CAAC;gBACF,OAAO,CACL,MAAC,IAAI,IAAkB,KAAK,EAAE,kBAAkB,CAAC,GAAG,aAClD,KAAC,IAAI,IAAC,KAAK,EAAE,kBAAkB,CAAC,IAAI,YAClC,KAAC,KAAK,IACJ,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,YAEnF,KAAC,MAAM,IACL,KAAK,EAAE,KAAK,CAAC,IAAI,EACjB,OAAO,EAAE,oBAAoB,EAC7B,aAAa,EAAE,CAAC,IAAgC,EAAE,EAAE,CAClD,KAAK,CAAC,QAAQ,CAAC;wCACb,GAAG,KAAK,CAAC,MAAM;wCACf,CAAC,KAAK,CAAC,IAAI,CAAC,EACV,IAAI,KAAK,OAAO;4CACd,CAAC,CAAC;gDACE,IAAI;gDACJ,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;6CAChE;4CACH,CAAC,CAAC;gDACE,IAAI;gDACJ,KAAK,EAAE,gCAAgC,CAAC,KAAK,CAAC;gDAC9C,QAAQ,EAAE,IAAI;6CACf;qCACR,CAAC,GAEJ,GACI,GACH,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,kBAAkB,CAAC,IAAI,YACjC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CACxB,KAAC,KAAK,IAAC,KAAK,EAAC,cAAc,YACzB,KAAC,SAAS,IACR,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,WAAW,EAAC,aAAa,EACzB,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CACtB,KAAK,CAAC,QAAQ,CAAC;wCACb,GAAG,KAAK,CAAC,MAAM;wCACf,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;qCACvC,CAAC,GAEJ,GACI,CACT,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CACpB,KAAC,6BAA6B,IAC5B,KAAK,EAAC,eAAe,EACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,KAAK,CAAC,QAAQ,CAAC;oCACb,GAAG,KAAK,CAAC,MAAM;oCACf,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;wCACZ,IAAI,EAAE,SAAS;wCACf,KAAK;wCACL,QAAQ,EAAE,KAAK,KAAK,SAAS;qCAC9B;iCACF,CAAC,GAEJ,CACH,CAAC,CAAC,CAAC,CACF,KAAC,KAAK,IAAC,KAAK,EAAC,eAAe,YAC1B,KAAC,SAAS,IACR,KAAK,EACH,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ;wCAChC,CAAC,CAAC,EAAE;wCACJ,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS;4CACzB,CAAC,CAAC,EAAE;4CACJ,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,EAE/C,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CACtB,KAAK,CAAC,QAAQ,CAAC;wCACb,GAAG,KAAK,CAAC,MAAM;wCACf,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;4CACZ,IAAI,EAAE,SAAS;4CACf,KAAK,EAAE,yBAAyB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;4CACpD,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,KAAK,EAAE;yCACzC;qCACF,CAAC,GAEJ,GACI,CACT,GACI,KAjFE,KAAK,CAAC,IAAI,CAkFd,CACR,CAAC;YACJ,CAAC,CAAC,EACD,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC9B,MAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,EAAC,OAAO,EAAC,WAAW,sCAClC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,+CAC7C,CACR,CAAC,CAAC,CAAC,IAAI,IACH,CACR,CAAC;AACJ,CAAC"}
@@ -20,11 +20,15 @@ export declare function createStudioEventBinding(args: {
20
20
  readonly fields: readonly StudioBindingInputFieldOption[];
21
21
  readonly drafts: Readonly<Record<string, StudioEventInputDraft>>;
22
22
  }): EventBinding;
23
- export interface StudioEventInputDraft {
24
- readonly kind: StudioEventInputSourceKind;
23
+ export type StudioEventInputDraft = {
24
+ readonly kind: 'event';
25
25
  readonly value: string;
26
- }
27
- /*** Initialize event-input drafts by matching operation input fields to same-path event payload fields, falling back to empty literals. */
26
+ } | {
27
+ readonly kind: 'literal';
28
+ readonly value: BindingValue | undefined;
29
+ readonly included: boolean;
30
+ };
31
+ /*** Initialize event-input drafts by matching operation input fields to same-path event payload fields, otherwise keeping optional literals omitted until authored. */
28
32
  export declare function createStudioEventInputDrafts(fields: readonly StudioBindingInputFieldOption[], eventFields: readonly UiComponentEventPayloadFieldMeta[]): Readonly<Record<string, StudioEventInputDraft>>;
29
33
  /*** Parse one binding-editor text input according to the declared binding value metadata and Studio fallback semantics. */
30
34
  export declare function parseStudioBindingLiteral(input: string, meta: UiBindableValueMeta): BindingValue;
@@ -1 +1 @@
1
- {"version":3,"file":"bindingEditorModel.d.ts","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/bindings/bindingEditorModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,gCAAgC,EACjC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EACV,6BAA6B,EAC7B,4BAA4B,EAC7B,MAAM,mCAAmC,CAAC;AAE3C,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,0BAA0B,GAAG,OAAO,GAAG,SAAS,CAAC;AAE7D,eAAO,MAAM,6BAA6B,EAAE,SAAS;IACnD,KAAK,EAAE,uBAAuB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf,EAKA,CAAC;AAEF,iHAAiH;AACjH,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,uBAAuB,EAC7B,KAAK,EAAE,mBAAmB,EAC1B,UAAU,EAAE,SAAS,4BAA4B,EAAE,GAClD,WAAW,CASb;AAED,wGAAwG;AACxG,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,QAAQ,CAAC,MAAM,EACX;QAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAClD;QAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,4BAA4B,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC;IAClG,QAAQ,CAAC,MAAM,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAC1D,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC;CAClE,GAAG,YAAY,CAGf;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,2IAA2I;AAC3I,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,SAAS,6BAA6B,EAAE,EAChD,WAAW,EAAE,SAAS,gCAAgC,EAAE,GACvD,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAYjD;AAED,2HAA2H;AAC3H,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAAG,YAAY,CAWhG;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAEtE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,mBAAmB,GAAG,MAAM,CAG/E;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,SAAS,4BAA4B,EAAE,EACnD,GAAG,EAAE,MAAM,GACV,4BAA4B,GAAG,SAAS,CAE1C"}
1
+ {"version":3,"file":"bindingEditorModel.d.ts","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/bindings/bindingEditorModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,gCAAgC,EACjC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EACV,6BAA6B,EAC7B,4BAA4B,EAC7B,MAAM,mCAAmC,CAAC;AAG3C,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,0BAA0B,GAAG,OAAO,GAAG,SAAS,CAAC;AAE7D,eAAO,MAAM,6BAA6B,EAAE,SAAS;IACnD,KAAK,EAAE,uBAAuB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf,EAKA,CAAC;AAEF,iHAAiH;AACjH,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,uBAAuB,EAC7B,KAAK,EAAE,mBAAmB,EAC1B,UAAU,EAAE,SAAS,4BAA4B,EAAE,GAClD,WAAW,CASb;AAED,wGAAwG;AACxG,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,QAAQ,CAAC,MAAM,EACX;QAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAClD;QAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,4BAA4B,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC;IAClG,QAAQ,CAAC,MAAM,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAC1D,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC;CAClE,GAAG,YAAY,CAGf;AAED,MAAM,MAAM,qBAAqB,GAC7B;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEN,uKAAuK;AACvK,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,SAAS,6BAA6B,EAAE,EAChD,WAAW,EAAE,SAAS,gCAAgC,EAAE,GACvD,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAYjD;AAED,2HAA2H;AAC3H,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAAG,YAAY,CAWhG;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAEtE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,mBAAmB,GAAG,MAAM,CAG/E;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,SAAS,4BAA4B,EAAE,EACnD,GAAG,EAAE,MAAM,GACV,4BAA4B,GAAG,SAAS,CAE1C"}
@@ -1,3 +1,4 @@
1
+ import { createBindingLiteralDefaultValue } from './createBindingLiteralDefaultValue';
1
2
  export const STUDIO_BINDING_SOURCE_OPTIONS = [
2
3
  { value: 'literal', label: 'Literal' },
3
4
  { value: 'state', label: 'State' },
@@ -22,17 +23,19 @@ export function createStudioEventBinding(args) {
22
23
  const input = createStudioEventInputMap(args.fields, args.drafts);
23
24
  return { target: args.target, ...(Object.keys(input).length > 0 ? { input } : {}) };
24
25
  }
25
- /*** Initialize event-input drafts by matching operation input fields to same-path event payload fields, falling back to empty literals. */
26
+ /*** Initialize event-input drafts by matching operation input fields to same-path event payload fields, otherwise keeping optional literals omitted until authored. */
26
27
  export function createStudioEventInputDrafts(fields, eventFields) {
27
- return Object.fromEntries(fields.map((field) => {
28
+ return fields.reduce((drafts, field) => {
28
29
  const matchingEventField = eventFields.find((candidate) => candidate.path === field.name);
29
- return [
30
- field.name,
31
- matchingEventField
32
- ? { kind: 'event', value: matchingEventField.path }
33
- : { kind: 'literal', value: '' },
34
- ];
35
- }));
30
+ const draft = matchingEventField
31
+ ? { kind: 'event', value: matchingEventField.path }
32
+ : {
33
+ kind: 'literal',
34
+ value: createBindingLiteralDefaultValue(field),
35
+ included: field.required,
36
+ };
37
+ return { ...drafts, [field.name]: draft };
38
+ }, {});
36
39
  }
37
40
  /*** Parse one binding-editor text input according to the declared binding value metadata and Studio fallback semantics. */
38
41
  export function parseStudioBindingLiteral(input, meta) {
@@ -71,36 +74,25 @@ export function createStudioOperationKey(operation) {
71
74
  export function findStudioOperationByKey(operations, key) {
72
75
  return operations.find((option) => createStudioOperationKey(option.operation) === key);
73
76
  }
74
- /*** Convert event-input drafts into the canonical binding input map, omitting empty optional inputs. */
77
+ /*** Convert event-input drafts into the canonical binding input map, omitting untouched optional literal inputs. */
75
78
  function createStudioEventInputMap(fields, drafts) {
76
79
  return Object.fromEntries(fields.flatMap((field) => {
77
80
  const draft = drafts[field.name];
78
- if (!draft || (!draft.value && !field.required))
81
+ if (!draft)
82
+ return [];
83
+ if (draft.kind === 'event') {
84
+ if (!draft.value && !field.required)
85
+ return [];
86
+ return [[field.name, { kind: 'source', source: { kind: 'event', path: draft.value } }]];
87
+ }
88
+ if (draft.value === undefined || (!draft.included && !field.required))
79
89
  return [];
80
- return [
81
- [
82
- field.name,
83
- draft.kind === 'event'
84
- ? { kind: 'source', source: { kind: 'event', path: draft.value } }
85
- : {
86
- kind: 'literal',
87
- value: parseStudioBindingLiteral(draft.value, field.value),
88
- },
89
- ],
90
- ];
90
+ return [[field.name, { kind: 'literal', value: draft.value }]];
91
91
  }));
92
92
  }
93
93
  /*** Create the empty/default binding value associated with one Studio binding metadata type. */
94
94
  function createDefaultBindingValue(meta) {
95
- if (meta.type === 'boolean')
96
- return false;
97
- if (meta.type === 'number')
98
- return 0;
99
- if (meta.type === 'array')
100
- return [];
101
- if (meta.type === 'object' || meta.type === 'record' || meta.type === 'imageAsset')
102
- return {};
103
- return '';
95
+ return createBindingLiteralDefaultValue({ value: meta });
104
96
  }
105
97
  /***
106
98
  * Parse JSON and return it only when an injected/value guard accepts the structured value, otherwise return a caller fallback.
@@ -1 +1 @@
1
- {"version":3,"file":"bindingEditorModel.js","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/bindings/bindingEditorModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bindingEditorModel.js","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/bindings/bindingEditorModel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { BindingValue } from '@ankhorage/contracts';
2
+ import type { StudioBindingInputFieldOption } from '../../../../bindingAuthoringModel';
3
+ /*** Create a deterministic typed literal value for one binding input from neutral authoring semantics, falling back to bindable metadata. */
4
+ export declare function createBindingLiteralDefaultValue(field: Pick<StudioBindingInputFieldOption, 'authoring' | 'value'>): BindingValue;
5
+ //# sourceMappingURL=createBindingLiteralDefaultValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createBindingLiteralDefaultValue.d.ts","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/bindings/createBindingLiteralDefaultValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,sBAAsB,CAAC;AAE9E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAGvF,6IAA6I;AAC7I,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,IAAI,CAAC,6BAA6B,EAAE,WAAW,GAAG,OAAO,CAAC,GAChE,YAAY,CAOd"}
@@ -0,0 +1,54 @@
1
+ /*** Create a deterministic typed literal value for one binding input from neutral authoring semantics, falling back to bindable metadata. */
2
+ export function createBindingLiteralDefaultValue(field) {
3
+ const authoredDefault = field.authoring
4
+ ? createDefaultAuthoringValue(field.authoring)
5
+ : undefined;
6
+ return authoredDefault !== undefined
7
+ ? authoredDefault
8
+ : createBindableMetaDefaultValue(field.value);
9
+ }
10
+ /*** Build the minimum value needed to render required neutral authoring nodes without guessing unsupported structures. */
11
+ function createDefaultAuthoringValue(structure) {
12
+ switch (structure.kind) {
13
+ case 'choice':
14
+ return structure.values[0];
15
+ case 'object':
16
+ return Object.fromEntries(structure.fields.flatMap((field) => {
17
+ if (field.optional)
18
+ return [];
19
+ const value = createDefaultAuthoringValue(field.structure);
20
+ return value === undefined ? [] : [[field.name, value]];
21
+ }));
22
+ case 'ordered-list':
23
+ return [];
24
+ case 'scalar':
25
+ return createDefaultScalarValue(structure.scalarType);
26
+ case 'set':
27
+ return {};
28
+ case 'unsupported':
29
+ return undefined;
30
+ }
31
+ }
32
+ /*** Build the deterministic empty value for one supported neutral scalar type. */
33
+ function createDefaultScalarValue(scalarType) {
34
+ if (scalarType === 'boolean')
35
+ return false;
36
+ if (scalarType === 'integer' || scalarType === 'number')
37
+ return 0;
38
+ if (scalarType === 'null')
39
+ return null;
40
+ return '';
41
+ }
42
+ /*** Preserve the existing binding defaults for non-DataSchema action inputs and unsupported neutral structures. */
43
+ function createBindableMetaDefaultValue(meta) {
44
+ if (meta.type === 'boolean')
45
+ return false;
46
+ if (meta.type === 'number')
47
+ return 0;
48
+ if (meta.type === 'array')
49
+ return [];
50
+ if (meta.type === 'object' || meta.type === 'record' || meta.type === 'imageAsset')
51
+ return {};
52
+ return '';
53
+ }
54
+ //# sourceMappingURL=createBindingLiteralDefaultValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createBindingLiteralDefaultValue.js","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/bindings/createBindingLiteralDefaultValue.ts"],"names":[],"mappings":"AAKA,6IAA6I;AAC7I,MAAM,UAAU,gCAAgC,CAC9C,KAAiE;IAEjE,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS;QACrC,CAAC,CAAC,2BAA2B,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9C,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,eAAe,KAAK,SAAS;QAClC,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,8BAA8B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC;AAED,0HAA0H;AAC1H,SAAS,2BAA2B,CAAC,SAA6B;IAChE,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7B,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,WAAW,CACvB,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjC,IAAI,KAAK,CAAC,QAAQ;oBAAE,OAAO,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,2BAA2B,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC3D,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YAC1D,CAAC,CAAC,CACH,CAAC;QACJ,KAAK,cAAc;YACjB,OAAO,EAAE,CAAC;QACZ,KAAK,QAAQ;YACX,OAAO,wBAAwB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACxD,KAAK,KAAK;YACR,OAAO,EAAE,CAAC;QACZ,KAAK,aAAa;YAChB,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,SAAS,wBAAwB,CAC/B,UAAkF;IAElF,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IAClE,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,mHAAmH;AACnH,SAAS,8BAA8B,CAAC,IAAyB;IAC/D,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IACrC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,EAAE,CAAC;IACrC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,EAAE,CAAC;IAC9F,OAAO,EAAE,CAAC;AACZ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ankhorage/studio",
3
- "version": "5.6.0",
3
+ "version": "5.8.0",
4
4
  "description": "Studio authoring package for Ankhorage apps",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/ankhorage/studio#readme",
@@ -1,25 +0,0 @@
1
- import type { StudioModuleAdminContribution } from './moduleAdminContracts';
2
- export type StudioModuleAdminDraft = Record<string, string>;
3
- export type StudioModuleAdminDraftResult = {
4
- readonly ok: true;
5
- readonly config: Record<string, unknown>;
6
- } | {
7
- readonly ok: false;
8
- readonly message: string;
9
- };
10
- /***
11
- * Project a Studio contribution schema through the canonical generic form-draft utility.
12
- */
13
- export declare function createStudioModuleAdminDraft(args: {
14
- readonly contribution: StudioModuleAdminContribution;
15
- readonly config: unknown;
16
- }): StudioModuleAdminDraft;
17
- /***
18
- * Parse a Studio contribution draft through the canonical generic form-draft utility.
19
- */
20
- export declare function parseStudioModuleAdminDraft(args: {
21
- readonly contribution: StudioModuleAdminContribution;
22
- readonly currentConfig: unknown;
23
- readonly draft: StudioModuleAdminDraft;
24
- }): StudioModuleAdminDraftResult;
25
- //# sourceMappingURL=moduleAdminModel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"moduleAdminModel.d.ts","sourceRoot":"","sources":["../src/moduleAdminModel.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAE5E,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5D,MAAM,MAAM,4BAA4B,GACpC;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC/D;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,QAAQ,CAAC,YAAY,EAAE,6BAA6B,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,GAAG,sBAAsB,CAEzB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAChD,QAAQ,CAAC,YAAY,EAAE,6BAA6B,CAAC;IACrD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;CACxC,GAAG,4BAA4B,CAO/B"}
@@ -1,26 +0,0 @@
1
- import { createFormDraft, parseFormDraft } from '@ankhorage/utility/form';
2
- /***
3
- * Project a Studio contribution schema through the canonical generic form-draft utility.
4
- */
5
- export function createStudioModuleAdminDraft(args) {
6
- return createFormDraft(toFormDraftFields(args.contribution), args.config);
7
- }
8
- /***
9
- * Parse a Studio contribution draft through the canonical generic form-draft utility.
10
- */
11
- export function parseStudioModuleAdminDraft(args) {
12
- const result = parseFormDraft({
13
- fields: toFormDraftFields(args.contribution),
14
- currentValues: args.currentConfig,
15
- draft: args.draft,
16
- });
17
- return result.ok ? { ok: true, config: result.values } : { ok: false, message: result.message };
18
- }
19
- /*** Translate open Studio control identifiers into the canonical generic form controls. */
20
- function toFormDraftFields(contribution) {
21
- return contribution.fields.map((field) => ({
22
- ...field,
23
- control: field.control === 'text' || field.control === 'string-list' ? field.control : 'json',
24
- }));
25
- }
26
- //# sourceMappingURL=moduleAdminModel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"moduleAdminModel.js","sourceRoot":"","sources":["../src/moduleAdminModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAuB,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAU/F;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,IAG5C;IACC,OAAO,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAI3C;IACC,MAAM,MAAM,GAAG,cAAc,CAAC;QAC5B,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC;QAC5C,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;AAClG,CAAC;AAED,2FAA2F;AAC3F,SAAS,iBAAiB,CAAC,YAA2C;IACpE,OAAO,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzC,GAAG,KAAK;QACR,OAAO,EAAE,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;KAC9F,CAAC,CAAC,CAAC;AACN,CAAC"}