@ankhorage/studio 5.6.0 → 5.7.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.
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.7.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.7.0" },
5
5
  "history": {
6
6
  "supported": [{ "sourceRange": ">=2.5.7 <3.0.0", "mode": "no-migration" }],
7
7
  "unsupported": [],
@@ -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":";AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,GAE5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,yHAAyH;AACzH,MAAM,UAAU,qBAAqB,CAAC,EAAE,QAAQ,EAAwC;IACtF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA2B,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAyB,EAAE,CAAC,CAAC;IAC/D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAE5D,mFAAmF;IACnF,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,MAAyB,EAAE,EAAE;QAClE,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,QAAQ,CACN,MAAM,CAAC,KAAK;YACV,CAAC,CAAC,4BAA4B,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YACrF,CAAC,CAAC,EAAE,CACP,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,2FAA2F;IAC3F,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC;YACH,iBAAiB,CAAC,MAAM,gBAAgB,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YACrF,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,YAAY,oBAAoB,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;YAC1E,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,EAAE,CAAC,iBAAiB,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAEpD,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,MAAM,EAAE,CAAC;IAChB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,mHAAmH;IACnH,MAAM,YAAY,GAAG,WAAW,CAC9B,KAAK,EAAE,SAAkC,EAAE,EAAE;QAC3C,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,MAAM,GACV,SAAS,KAAK,SAAS;gBACrB,CAAC,CAAC,MAAM,oBAAoB,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;gBACvE,CAAC,CAAC,MAAM,sBAAsB,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC9E,IAAI,MAAM,CAAC,MAAM;gBAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACpD,UAAU,CACR,MAAM,CAAC,OAAO;gBACZ,CAAC,CAAC,8EAA8E;gBAChF,CAAC,CAAC,UAAU,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,GAAG,CACnE,CAAC;YACF,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,EACD,CAAC,iBAAiB,EAAE,QAAQ,EAAE,MAAM,CAAC,CACtC,CAAC;IAEF,8GAA8G;IAC9G,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACxC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,KAAK;YAAE,OAAO;QACxC,MAAM,MAAM,GAAG,2BAA2B,CAAC;YACzC,YAAY,EAAE,MAAM,CAAC,KAAK;YAC1B,aAAa,EAAE,MAAM,CAAC,MAAM;YAC5B,KAAK;SACN,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC;gBAC7C,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ;gBACR,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM;gBAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACpD,UAAU,CAAC,gEAAgE,CAAC,CAAC;YAC7E,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IAEzD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,KAAC,WAAW,cACV,KAAC,iBAAiB,IAAC,kBAAkB,EAAC,gBAAgB,GAAG,GAC7C,CACf,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,OAAO,CACL,MAAC,WAAW,eACV,KAAC,WAAW,IACV,KAAK,EAAC,gBAAgB,EACtB,WAAW,EAAC,wEAAwE,GACpF,EACD,OAAO,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,OAAO,GAAQ,CAAC,CAAC,CAAC,IAAI,EACvD,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,gCAE/D,IACG,CACf,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEtD,OAAO,CACL,MAAC,WAAW,eACV,KAAC,WAAW,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,GAAI,EACnE,OAAO,CAAC,CAAC,CAAC,CACT,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,EAAC,OAAO,EAAC,WAAW,YACvD,OAAO,GACH,CACR,CAAC,CAAC,CAAC,IAAI,EACR,MAAC,IAAI,IAAC,KAAK,EAAC,kBAAkB,aAC5B,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,UAAU,aAC5B,KAAC,QAAQ,IAAC,KAAK,EAAC,WAAW,EAAC,KAAK,EAAE,MAAM,CAAC,EAAE,GAAI,EAChD,KAAC,QAAQ,IAAC,KAAK,EAAC,WAAW,EAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAI,EACtE,KAAC,QAAQ,IAAC,KAAK,EAAC,WAAW,EAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAI,EACtE,KAAC,QAAQ,IAAC,KAAK,EAAC,iBAAiB,EAAC,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAI,EACjF,KAAC,QAAQ,IACP,KAAK,EAAC,YAAY,EAClB,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAC3E,IACG,EACP,MAAC,WAAW,IAAC,WAAW,EAAC,YAAY,EAAC,KAAK,EAAC,OAAO,aAChD,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CACvC,KAAC,MAAM,IAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,YAAY,CAAC,SAAS,CAAC,wBAEzD,CACV,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAC5C,KAAC,MAAM,IACL,KAAK,EAAC,QAAQ,EACd,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,IAAI,EACb,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EACtC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,YAAY,CAAC,WAAW,CAAC,0BAGtC,CACV,CAAC,CAAC,CAAC,IAAI,IACI,IACT,EAEN,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAChC,KAAC,IAAI,IACH,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,IAAI,gBAAgB,EAC9C,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,YAEtC,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,uFAE/B,GACF,CACR,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CACvC,KAAC,IAAI,IAAC,KAAK,EAAC,4BAA4B,YACtC,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,2EAE/B,GACF,CACR,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CACd,KAAC,mBAAmB,IAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,GAAI,CACtE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAClB,KAAC,IAAI,IACH,KAAK,EACH,MAAM,CAAC,UAAU;oBACf,CAAC,CAAC,mCAAmC;oBACrC,CAAC,CAAC,gCAAgC,YAGtC,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,YACnC,MAAM,CAAC,UAAU;wBAChB,+EAA+E,GAC5E,GACF,CACR,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CACtB,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,YACpE,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,mFAE/B,GACF,CACR,CAAC,CAAC,CAAC,CACF,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,aACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAClC,MAAC,KAAK,IAAiB,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,aACzE,KAAC,SAAS,IACR,kBAAkB,EAAE,KAAK,CAAC,KAAK,EAC/B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAC7B,SAAS,EAAE,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,aAAa,EACtE,cAAc,EAAC,MAAM,EACrB,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CACtB,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAE7D,EACD,KAAK,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,CACjC,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,EAAC,OAAO,EAAC,SAAS,uCAEjD,CACR,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,CAC7D,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,EAAC,OAAO,EAAC,SAAS,2BAEjD,CACR,CAAC,CAAC,CAAC,IAAI,KAnBE,KAAK,CAAC,GAAG,CAoBb,CACT,CAAC,EACF,KAAC,MAAM,IAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,UAAU,EAAE,mCAE9C,IACJ,CACR,IACW,CACf,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,UAAU,EAAE;QACV,GAAG,EAAE,CAAC;KACP;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"ModuleDetailAdminPage.js","sourceRoot":"","sources":["../../../../src/ui/admin/pages/ModuleDetailAdminPage.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ankhorage/studio",
3
- "version": "5.6.0",
3
+ "version": "5.7.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"}