@ankhorage/studio 2.4.10 → 2.5.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 (62) hide show
  1. package/README.md +1 -1
  2. package/dist/deriveExternalApiIdFromUrl.d.ts +4 -0
  3. package/dist/deriveExternalApiIdFromUrl.d.ts.map +1 -0
  4. package/dist/deriveExternalApiIdFromUrl.js +33 -0
  5. package/dist/deriveExternalApiIdFromUrl.js.map +1 -0
  6. package/dist/externalApiApi.d.ts +5 -1
  7. package/dist/externalApiApi.d.ts.map +1 -1
  8. package/dist/externalApiApi.js +18 -0
  9. package/dist/externalApiApi.js.map +1 -1
  10. package/dist/externalApiAuthoringContracts.d.ts +18 -0
  11. package/dist/externalApiAuthoringContracts.d.ts.map +1 -1
  12. package/dist/host/apis/studioExternalApiService.d.ts +5 -1
  13. package/dist/host/apis/studioExternalApiService.d.ts.map +1 -1
  14. package/dist/host/apis/studioExternalApiService.js +78 -0
  15. package/dist/host/apis/studioExternalApiService.js.map +1 -1
  16. package/dist/host/http/apiRoutes.d.ts +1 -1
  17. package/dist/host/http/apiRoutes.d.ts.map +1 -1
  18. package/dist/host/http/apiRoutes.js +34 -1
  19. package/dist/host/http/apiRoutes.js.map +1 -1
  20. package/dist/removeExternalApi.d.ts +8 -0
  21. package/dist/removeExternalApi.d.ts.map +1 -0
  22. package/dist/removeExternalApi.js +9 -0
  23. package/dist/removeExternalApi.js.map +1 -0
  24. package/dist/ui/StudioInsertDialog.js +2 -2
  25. package/dist/ui/StudioInsertDialog.js.map +1 -1
  26. package/dist/ui/admin/AnkhAdminShell.d.ts +1 -1
  27. package/dist/ui/admin/AnkhAdminShell.d.ts.map +1 -1
  28. package/dist/ui/admin/AnkhAdminShell.js +3 -3
  29. package/dist/ui/admin/AnkhAdminShell.js.map +1 -1
  30. package/dist/ui/admin/pages/ApiCatalogCard.d.ts +7 -3
  31. package/dist/ui/admin/pages/ApiCatalogCard.d.ts.map +1 -1
  32. package/dist/ui/admin/pages/ApiCatalogCard.js +38 -5
  33. package/dist/ui/admin/pages/ApiCatalogCard.js.map +1 -1
  34. package/dist/ui/admin/pages/ApisAdminPage.d.ts +1 -1
  35. package/dist/ui/admin/pages/ApisAdminPage.d.ts.map +1 -1
  36. package/dist/ui/admin/pages/ApisAdminPage.js +88 -9
  37. package/dist/ui/admin/pages/ApisAdminPage.js.map +1 -1
  38. package/dist/ui/admin/pages/ExternalApiConnectCard.d.ts +12 -2
  39. package/dist/ui/admin/pages/ExternalApiConnectCard.d.ts.map +1 -1
  40. package/dist/ui/admin/pages/ExternalApiConnectCard.js +35 -31
  41. package/dist/ui/admin/pages/ExternalApiConnectCard.js.map +1 -1
  42. package/dist/ui/admin/pages/ExternalApiEditCard.d.ts +13 -0
  43. package/dist/ui/admin/pages/ExternalApiEditCard.d.ts.map +1 -0
  44. package/dist/ui/admin/pages/ExternalApiEditCard.js +103 -0
  45. package/dist/ui/admin/pages/ExternalApiEditCard.js.map +1 -0
  46. package/dist/ui/admin/pages/ManualRestApiCard.d.ts +9 -2
  47. package/dist/ui/admin/pages/ManualRestApiCard.d.ts.map +1 -1
  48. package/dist/ui/admin/pages/ManualRestApiCard.js +24 -20
  49. package/dist/ui/admin/pages/ManualRestApiCard.js.map +1 -1
  50. package/dist/ui/admin/pages/MediaAdminPage.js +2 -2
  51. package/dist/ui/admin/pages/MediaAdminPage.js.map +1 -1
  52. package/dist/ui/admin/pages/ModuleDetailAdminPage.js +2 -2
  53. package/dist/ui/admin/pages/ModuleDetailAdminPage.js.map +1 -1
  54. package/dist/ui/admin/pages/ScreensAdminPage.js +2 -2
  55. package/dist/ui/admin/pages/ScreensAdminPage.js.map +1 -1
  56. package/dist/ui/admin/pages/ThemeColorsAdminPage.js +2 -2
  57. package/dist/ui/admin/pages/ThemeColorsAdminPage.js.map +1 -1
  58. package/dist/ui/admin/pages/bindings/EventBindingComposer.js +2 -2
  59. package/dist/ui/admin/pages/bindings/EventBindingComposer.js.map +1 -1
  60. package/dist/ui/admin/pages/bindings/PropertyBindingEditor.js +3 -3
  61. package/dist/ui/admin/pages/bindings/PropertyBindingEditor.js.map +1 -1
  62. package/package.json +7 -7
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  # @ankhorage/studio
5
5
 
6
- ![license: MIT](././paradox/badges/license.svg) ![npm: v2.4.8](././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: v2.4.10](././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
  Standalone Studio authoring package for Ankhorage apps.
9
9
 
@@ -0,0 +1,4 @@
1
+ import type { ExternalApiIdResult } from './normalizeExternalApiId';
2
+ /*** Derive the canonical external API id from an HTTP(S) URL while ignoring scheme, query, and fragment. */
3
+ export declare function deriveExternalApiIdFromUrl(value: string): ExternalApiIdResult;
4
+ //# sourceMappingURL=deriveExternalApiIdFromUrl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deriveExternalApiIdFromUrl.d.ts","sourceRoot":"","sources":["../src/deriveExternalApiIdFromUrl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGpE,4GAA4G;AAC5G,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAW7E"}
@@ -0,0 +1,33 @@
1
+ import { normalizeExternalApiId } from './normalizeExternalApiId';
2
+ /*** Derive the canonical external API id from an HTTP(S) URL while ignoring scheme, query, and fragment. */
3
+ export function deriveExternalApiIdFromUrl(value) {
4
+ const parsed = parseExternalApiUrl(value);
5
+ if (!parsed) {
6
+ return {
7
+ ok: false,
8
+ message: 'Enter a valid HTTP or HTTPS API URL.',
9
+ };
10
+ }
11
+ const path = decodePathname(parsed.pathname).split('/').filter(Boolean).join('-');
12
+ return normalizeExternalApiId(path ? `${parsed.host}-${path}` : parsed.host);
13
+ }
14
+ /*** Parse a user-entered external API URL and accept only HTTP(S) service locations. */
15
+ function parseExternalApiUrl(value) {
16
+ try {
17
+ const parsed = new URL(value.trim());
18
+ return parsed.protocol === 'http:' || parsed.protocol === 'https:' ? parsed : null;
19
+ }
20
+ catch {
21
+ return null;
22
+ }
23
+ }
24
+ /*** Decode a URL pathname for human-stable identifier normalization while tolerating malformed escapes. */
25
+ function decodePathname(pathname) {
26
+ try {
27
+ return decodeURIComponent(pathname);
28
+ }
29
+ catch {
30
+ return pathname;
31
+ }
32
+ }
33
+ //# sourceMappingURL=deriveExternalApiIdFromUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deriveExternalApiIdFromUrl.js","sourceRoot":"","sources":["../src/deriveExternalApiIdFromUrl.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,4GAA4G;AAC5G,MAAM,UAAU,0BAA0B,CAAC,KAAa;IACtD,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,sCAAsC;SAChD,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClF,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC/E,CAAC;AAED,wFAAwF;AACxF,SAAS,mBAAmB,CAAC,KAAa;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACrC,OAAO,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACrF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,2GAA2G;AAC3G,SAAS,cAAc,CAAC,QAAgB;IACtC,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ExternalApiConnectRequest, ExternalApiConnectResult, ExternalApiOperationTestRequest, ExternalApiOperationTestResult, ManualRestApiRequest } from './externalApiAuthoringContracts';
1
+ import type { ExternalApiConnectRequest, ExternalApiConnectResult, ExternalApiMutationResult, ExternalApiOperationTestRequest, ExternalApiOperationTestResult, ExternalApiRemoveRequest, ManualRestApiRequest, ManualRestApiSettingsRequest } from './externalApiAuthoringContracts';
2
2
  /***
3
3
  * Ask the Studio host to discover and connect an external API definition.
4
4
  * @todo Move External API HTTP access from the source root into the external-apis package-edge adapter.
@@ -9,6 +9,10 @@ export declare function connectExternalApi(projectId: string, request: ExternalA
9
9
  * @todo Move External API HTTP access from the source root into the external-apis package-edge adapter.
10
10
  */
11
11
  export declare function createManualRestApi(projectId: string, request: ManualRestApiRequest): Promise<ExternalApiConnectResult>;
12
+ /*** Update editable settings on one existing manually authored canonical REST API. */
13
+ export declare function updateManualRestApi(projectId: string, request: ManualRestApiSettingsRequest): Promise<ExternalApiMutationResult>;
14
+ /*** Remove one existing canonical external API definition from the Studio project. */
15
+ export declare function removeExternalApiConnection(projectId: string, request: ExternalApiRemoveRequest): Promise<ExternalApiMutationResult>;
12
16
  /***
13
17
  * Execute one authored external API operation through the Studio host test endpoint.
14
18
  * @todo Move External API operation testing into the external-apis application responsibility.
@@ -1 +1 @@
1
- {"version":3,"file":"externalApiApi.d.ts","sourceRoot":"","sources":["../src/externalApiApi.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EAExB,+BAA+B,EAC/B,8BAA8B,EAC9B,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AAiBzC;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,wBAAwB,CAAC,CAEnC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,wBAAwB,CAAC,CAEnC;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,8BAA8B,CAAC,CAEzC"}
1
+ {"version":3,"file":"externalApiApi.d.ts","sourceRoot":"","sources":["../src/externalApiApi.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EAExB,yBAAyB,EACzB,+BAA+B,EAC/B,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,EACpB,4BAA4B,EAC7B,MAAM,iCAAiC,CAAC;AAiBzC;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,wBAAwB,CAAC,CAEnC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,wBAAwB,CAAC,CAEnC;AAED,sFAAsF;AACtF,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,yBAAyB,CAAC,CAEpC;AAED,sFAAsF;AACtF,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,yBAAyB,CAAC,CAEpC;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,8BAA8B,CAAC,CAEzC"}
@@ -26,6 +26,14 @@ export function connectExternalApi(projectId, request) {
26
26
  export function createManualRestApi(projectId, request) {
27
27
  return requestResult(projectId, 'manual-rest', request, parseConnectResult);
28
28
  }
29
+ /*** Update editable settings on one existing manually authored canonical REST API. */
30
+ export function updateManualRestApi(projectId, request) {
31
+ return requestResult(projectId, 'manual-rest-settings', request, parseMutationResult);
32
+ }
33
+ /*** Remove one existing canonical external API definition from the Studio project. */
34
+ export function removeExternalApiConnection(projectId, request) {
35
+ return requestResult(projectId, 'remove', request, parseMutationResult);
36
+ }
29
37
  /***
30
38
  * Execute one authored external API operation through the Studio host test endpoint.
31
39
  * @todo Move External API operation testing into the external-apis application responsibility.
@@ -82,6 +90,16 @@ function parseConnectResult(value) {
82
90
  attempts,
83
91
  };
84
92
  }
93
+ /*** Validate and normalize a canonical external API settings update or removal result. */
94
+ function parseMutationResult(value) {
95
+ const record = requireResultRecord(value);
96
+ const diagnostics = parseDiagnostics(record.diagnostics);
97
+ if (!record.ok)
98
+ return { ok: false, diagnostics };
99
+ if (typeof record.apiId !== 'string')
100
+ throw invalidResponse();
101
+ return { ok: true, apiId: record.apiId, diagnostics };
102
+ }
85
103
  /*** Validate and normalize the result of testing one external API operation. */
86
104
  function parseTestResult(value) {
87
105
  const record = requireResultRecord(value);
@@ -1 +1 @@
1
- {"version":3,"file":"externalApiApi.js","sourceRoot":"","sources":["../src/externalApiApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"externalApiApi.js","sourceRoot":"","sources":["../src/externalApiApi.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,16 @@ export interface ExternalApiConnectRequest {
8
8
  readonly description?: string;
9
9
  readonly credential?: CredentialRef;
10
10
  }
11
+ export interface ManualRestApiSettingsRequest {
12
+ readonly apiId: string;
13
+ readonly baseUrl: string;
14
+ readonly name?: string;
15
+ readonly description?: string;
16
+ readonly credential?: CredentialRef;
17
+ }
18
+ export interface ExternalApiRemoveRequest {
19
+ readonly apiId: string;
20
+ }
11
21
  export interface ManualRestApiRequest {
12
22
  readonly apiId: string;
13
23
  readonly baseUrl: string;
@@ -37,6 +47,14 @@ export type ExternalApiConnectResult = {
37
47
  readonly attempts: readonly ExternalApiDiscoveryAttempt[];
38
48
  readonly diagnostics: readonly DataSourceDiagnostic[];
39
49
  };
50
+ export type ExternalApiMutationResult = {
51
+ readonly ok: true;
52
+ readonly apiId: string;
53
+ readonly diagnostics: readonly DataSourceDiagnostic[];
54
+ } | {
55
+ readonly ok: false;
56
+ readonly diagnostics: readonly DataSourceDiagnostic[];
57
+ };
40
58
  export interface ExternalApiOperationTestRequest {
41
59
  readonly apiId: string;
42
60
  readonly endpointId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"externalApiAuthoringContracts.d.ts","sourceRoot":"","sources":["../src/externalApiAuthoringContracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"externalApiAuthoringContracts.d.ts","sourceRoot":"","sources":["../src/externalApiAuthoringContracts.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type EndpointTestFetch, type ExternalApiFetch } from '@ankhorage/data-sources';
2
- import type { ExternalApiConnectRequest, ExternalApiConnectResult, ExternalApiOperationTestRequest, ExternalApiOperationTestResult, ManualRestApiRequest } from '../../externalApiAuthoringContracts';
2
+ import type { ExternalApiConnectRequest, ExternalApiConnectResult, ExternalApiMutationResult, ExternalApiOperationTestRequest, ExternalApiOperationTestResult, ExternalApiRemoveRequest, ManualRestApiRequest, ManualRestApiSettingsRequest } from '../../externalApiAuthoringContracts';
3
3
  import type { ProjectManager } from '../orchestrator/projectManager';
4
4
  import type { ProjectSecretService } from '../secrets/projectSecretService';
5
5
  export declare class StudioExternalApiService {
@@ -21,6 +21,10 @@ export declare class StudioExternalApiService {
21
21
  connect(projectId: string, request: ExternalApiConnectRequest): Promise<ExternalApiConnectResult>;
22
22
  /*** Create and persist a manually authored REST API definition for a Studio project. */
23
23
  createManualRest(projectId: string, request: ManualRestApiRequest): Promise<ExternalApiConnectResult>;
24
+ /*** Update editable metadata and base URL on one manually authored REST API while preserving its canonical operations. */
25
+ updateManualRestSettings(projectId: string, request: ManualRestApiSettingsRequest): Promise<ExternalApiMutationResult>;
26
+ /*** Remove exactly one existing external API from canonical manifest state. */
27
+ remove(projectId: string, request: ExternalApiRemoveRequest): Promise<ExternalApiMutationResult>;
24
28
  /*** Execute one authored external API operation against the project's current manifest and credential resolver. */
25
29
  testOperation(projectId: string, request: ExternalApiOperationTestRequest): Promise<ExternalApiOperationTestResult>;
26
30
  /*** Run OpenAPI discovery through the service's trusted discovery transport. */
@@ -1 +1 @@
1
- {"version":3,"file":"studioExternalApiService.d.ts","sourceRoot":"","sources":["../../../src/host/apis/studioExternalApiService.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAGtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACxB,+BAA+B,EAC/B,8BAA8B,EAC9B,oBAAoB,EACrB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAa5E,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0B;IACzD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAwC;IAEvE;;;OAGG;gBACS,OAAO,EAAE;QACnB,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,oBAAoB,GAAG,wBAAwB,CAAC,CAAC;QAC/F,QAAQ,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC;QAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC;QAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;KAChE;IAOD,gHAAgH;IAC1G,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,wBAAwB,CAAC;IAYpC,wFAAwF;IAClF,gBAAgB,CACpB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,wBAAwB,CAAC;IA6BpC,mHAAmH;IAC7G,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,8BAA8B,CAAC;IAqB1C,gFAAgF;IAChF,OAAO,CAAC,eAAe;IAWvB,4FAA4F;YAC9E,cAAc;IAuB5B,sGAAsG;YACxF,OAAO;CAqBtB"}
1
+ {"version":3,"file":"studioExternalApiService.d.ts","sourceRoot":"","sources":["../../../src/host/apis/studioExternalApiService.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAGtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,+BAA+B,EAC/B,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,EACpB,4BAA4B,EAC7B,MAAM,qCAAqC,CAAC;AAI7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAa5E,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0B;IACzD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAwC;IAEvE;;;OAGG;gBACS,OAAO,EAAE;QACnB,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,oBAAoB,GAAG,wBAAwB,CAAC,CAAC;QAC/F,QAAQ,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC;QAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC;QAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;KAChE;IAOD,gHAAgH;IAC1G,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,wBAAwB,CAAC;IAYpC,wFAAwF;IAClF,gBAAgB,CACpB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,wBAAwB,CAAC;IA6BpC,0HAA0H;IACpH,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,yBAAyB,CAAC;IA2BrC,+EAA+E;IACzE,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,yBAAyB,CAAC;IAoBrC,mHAAmH;IAC7G,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,8BAA8B,CAAC;IAqB1C,gFAAgF;IAChF,OAAO,CAAC,eAAe;IAWvB,4FAA4F;YAC9E,cAAc;IAuB5B,sGAAsG;YACxF,OAAO;CAqBtB"}
@@ -1,5 +1,6 @@
1
1
  import { createManualRestApi, discoverOpenApi, introspectGraphQlApi, testEndpoint, } from '@ankhorage/data-sources';
2
2
  import { normalizeExternalApiId } from '../../normalizeExternalApiId';
3
+ import { removeExternalApi } from '../../removeExternalApi';
3
4
  import { upsertExternalApi } from '../../upsertExternalApi';
4
5
  import { createProjectEndpointCredentialResolver } from './createProjectEndpointCredentialResolver';
5
6
  import { createTrustedEndpointTestFetch } from './createTrustedEndpointTestFetch';
@@ -65,6 +66,51 @@ export class StudioExternalApiService {
65
66
  ? this.persist(projectId, result.data, [], result.diagnostics ?? [])
66
67
  : { ok: false, attempts: [], diagnostics: result.diagnostics };
67
68
  }
69
+ /*** Update editable metadata and base URL on one manually authored REST API while preserving its canonical operations. */
70
+ async updateManualRestSettings(projectId, request) {
71
+ const manifest = await this.projectManager.getProjectManifest(projectId);
72
+ const api = manifest.infra.apis?.find((candidate) => candidate.id === request.apiId);
73
+ if (!api)
74
+ return missingApiMutationResult(request.apiId);
75
+ if (api.origin !== 'external' || api.protocol !== 'rest' || api.openApi) {
76
+ return invalidMutationResult('Only manually authored external REST APIs can update settings without rediscovery.');
77
+ }
78
+ const baseUrl = normalizeExternalApiUrl(request.baseUrl);
79
+ if (!baseUrl)
80
+ return invalidMutationResult('Enter a valid HTTP or HTTPS API URL.');
81
+ const updated = {
82
+ ...api,
83
+ baseUrl,
84
+ name: clean(request.name),
85
+ description: clean(request.description),
86
+ credential: request.credential,
87
+ };
88
+ const upsert = upsertExternalApi(manifest.infra.apis ?? [], updated);
89
+ await this.projectManager.persistProjectManifest({
90
+ projectId,
91
+ manifest: { ...manifest, infra: { ...manifest.infra, apis: upsert.apis } },
92
+ });
93
+ return { ok: true, apiId: updated.id, diagnostics: [] };
94
+ }
95
+ /*** Remove exactly one existing external API from canonical manifest state. */
96
+ async remove(projectId, request) {
97
+ const apiId = request.apiId.trim();
98
+ if (!apiId)
99
+ return invalidMutationResult('API ID is required.');
100
+ const manifest = await this.projectManager.getProjectManifest(projectId);
101
+ const api = manifest.infra.apis?.find((candidate) => candidate.id === apiId);
102
+ if (!api)
103
+ return missingApiMutationResult(apiId);
104
+ if (api.origin !== 'external') {
105
+ return invalidMutationResult('Only connected external APIs can be removed from this catalog.');
106
+ }
107
+ const removal = removeExternalApi(manifest.infra.apis ?? [], apiId);
108
+ await this.projectManager.persistProjectManifest({
109
+ projectId,
110
+ manifest: { ...manifest, infra: { ...manifest.infra, apis: removal.apis } },
111
+ });
112
+ return { ok: true, apiId, diagnostics: [] };
113
+ }
68
114
  /*** Execute one authored external API operation against the project's current manifest and credential resolver. */
69
115
  async testOperation(projectId, request) {
70
116
  const manifest = await this.projectManager.getProjectManifest(projectId);
@@ -142,6 +188,27 @@ function invalidResult(message) {
142
188
  diagnostics: [{ code: 'invalid-config', message, severity: 'error' }],
143
189
  };
144
190
  }
191
+ /*** Create an external-API mutation failure returned for invalid edit or removal configuration. */
192
+ function invalidMutationResult(message) {
193
+ return {
194
+ ok: false,
195
+ diagnostics: [{ code: 'invalid-config', message, severity: 'error' }],
196
+ };
197
+ }
198
+ /*** Create the external-API mutation failure returned when the requested canonical API does not exist. */
199
+ function missingApiMutationResult(apiId) {
200
+ return {
201
+ ok: false,
202
+ diagnostics: [
203
+ {
204
+ code: 'missing-api',
205
+ apiId,
206
+ message: `API '${apiId}' could not be found.`,
207
+ severity: 'error',
208
+ },
209
+ ],
210
+ };
211
+ }
145
212
  /*** Create the operation-test failure returned when a configured API is not an external API. */
146
213
  function unsupportedTestApiResult(apiId) {
147
214
  return {
@@ -170,6 +237,17 @@ function missingApiResult(apiId) {
170
237
  ],
171
238
  };
172
239
  }
240
+ /*** Normalize and validate an editable manual REST base URL before canonical persistence. */
241
+ function normalizeExternalApiUrl(value) {
242
+ const normalized = value.trim();
243
+ try {
244
+ const parsed = new URL(normalized);
245
+ return parsed.protocol === 'http:' || parsed.protocol === 'https:' ? normalized : null;
246
+ }
247
+ catch {
248
+ return null;
249
+ }
250
+ }
173
251
  /***
174
252
  * Trim an optional string and normalize blank values to undefined.
175
253
  * @utility @ankhorage/utility/value
@@ -1 +1 @@
1
- {"version":3,"file":"studioExternalApiService.js","sourceRoot":"","sources":["../../../src/host/apis/studioExternalApiService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"studioExternalApiService.js","sourceRoot":"","sources":["../../../src/host/apis/studioExternalApiService.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { FastifyInstance } from 'fastify';
2
2
  import { StudioExternalApiService } from '../apis/studioExternalApiService';
3
3
  import type { ProjectManager } from '../orchestrator/projectManager';
4
4
  /***
5
- * Register Studio external-API connect/manual/test HTTP adapters around the external API service.
5
+ * Register Studio external-API connect/manual/settings/remove/test HTTP adapters around the external API service.
6
6
  * @todo Keep this Fastify adapter at the host edge while moving reusable parsing/response primitives to their shared owners.
7
7
  */
8
8
  export declare function registerProjectApiRoutes(fastify: FastifyInstance, options: {
@@ -1 +1 @@
1
- {"version":3,"file":"apiRoutes.d.ts","sourceRoot":"","sources":["../../../src/host/http/apiRoutes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;AAO7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGrE;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE;IACP,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,wBAAwB,CAAC;CAC7C,GACA,IAAI,CA+BN"}
1
+ {"version":3,"file":"apiRoutes.d.ts","sourceRoot":"","sources":["../../../src/host/http/apiRoutes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;AAS7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGrE;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE;IACP,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,wBAAwB,CAAC;CAC7C,GACA,IAAI,CA6CN"}
@@ -1,7 +1,7 @@
1
1
  import { StudioExternalApiService } from '../apis/studioExternalApiService';
2
2
  import { ProjectSecretService } from '../secrets/projectSecretService';
3
3
  /***
4
- * Register Studio external-API connect/manual/test HTTP adapters around the external API service.
4
+ * Register Studio external-API connect/manual/settings/remove/test HTTP adapters around the external API service.
5
5
  * @todo Keep this Fastify adapter at the host edge while moving reusable parsing/response primitives to their shared owners.
6
6
  */
7
7
  export function registerProjectApiRoutes(fastify, options) {
@@ -27,6 +27,20 @@ export function registerProjectApiRoutes(fastify, options) {
27
27
  return invalidPayload(reply, 'Manual REST API payload is invalid.');
28
28
  return sendResult(reply, await service.createManualRest(readProjectId(request), body));
29
29
  });
30
+ /*** Validate and update settings on one manually authored REST API without replacing its operations. */
31
+ fastify.post('/api/projects/:id/apis/manual-rest-settings', async (request, reply) => {
32
+ const body = readManualRestSettingsRequest(request.body);
33
+ if (!body)
34
+ return invalidPayload(reply, 'Manual REST API settings payload is invalid.');
35
+ return sendResult(reply, await service.updateManualRestSettings(readProjectId(request), body));
36
+ });
37
+ /*** Validate and remove one canonical external API. */
38
+ fastify.post('/api/projects/:id/apis/remove', async (request, reply) => {
39
+ const body = readRemoveRequest(request.body);
40
+ if (!body)
41
+ return invalidPayload(reply, 'External API removal payload is invalid.');
42
+ return sendResult(reply, await service.remove(readProjectId(request), body));
43
+ });
30
44
  /*** Validate and execute one authored external API operation test. */
31
45
  fastify.post('/api/projects/:id/apis/test', async (request, reply) => {
32
46
  const body = readOperationTestRequest(request.body);
@@ -53,6 +67,7 @@ function sendResult(reply, result) {
53
67
  function invalidPayload(reply, message) {
54
68
  return reply.status(400).send({
55
69
  ok: false,
70
+ attempts: [],
56
71
  diagnostics: [{ code: 'invalid-config', message, severity: 'error' }],
57
72
  });
58
73
  }
@@ -75,6 +90,24 @@ function readConnectRequest(value) {
75
90
  credential: readCredential(record.credential),
76
91
  };
77
92
  }
93
+ /*** Parse editable settings for one existing manually authored REST API. */
94
+ function readManualRestSettingsRequest(value) {
95
+ const record = readRecord(value);
96
+ if (!record || typeof record.apiId !== 'string' || typeof record.baseUrl !== 'string')
97
+ return null;
98
+ return {
99
+ apiId: record.apiId,
100
+ baseUrl: record.baseUrl,
101
+ name: readString(record.name),
102
+ description: readString(record.description),
103
+ credential: readCredential(record.credential),
104
+ };
105
+ }
106
+ /*** Parse an unknown external API removal payload into the canonical Studio authoring contract. */
107
+ function readRemoveRequest(value) {
108
+ const record = readRecord(value);
109
+ return record && typeof record.apiId === 'string' ? { apiId: record.apiId } : null;
110
+ }
78
111
  /*** Parse an unknown manual REST payload into the external-API authoring contract. */
79
112
  function readManualRestRequest(value) {
80
113
  const record = readRecord(value);
@@ -1 +1 @@
1
- {"version":3,"file":"apiRoutes.js","sourceRoot":"","sources":["../../../src/host/http/apiRoutes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apiRoutes.js","sourceRoot":"","sources":["../../../src/host/http/apiRoutes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ApiDefinitionList } from '@ankhorage/contracts/data';
2
+ export interface ExternalApiRemovalResult {
3
+ readonly apis: ApiDefinitionList;
4
+ readonly removed: boolean;
5
+ }
6
+ /*** Remove exactly one canonical API id from an API definition list without affecting similarly named entries. */
7
+ export declare function removeExternalApi(apis: ApiDefinitionList, apiId: string): ExternalApiRemovalResult;
8
+ //# sourceMappingURL=removeExternalApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeExternalApi.d.ts","sourceRoot":"","sources":["../src/removeExternalApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,kHAAkH;AAClH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,MAAM,GACZ,wBAAwB,CAM1B"}
@@ -0,0 +1,9 @@
1
+ /*** Remove exactly one canonical API id from an API definition list without affecting similarly named entries. */
2
+ export function removeExternalApi(apis, apiId) {
3
+ const next = apis.filter((api) => api.id !== apiId);
4
+ return {
5
+ apis: next,
6
+ removed: next.length !== apis.length,
7
+ };
8
+ }
9
+ //# sourceMappingURL=removeExternalApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeExternalApi.js","sourceRoot":"","sources":["../src/removeExternalApi.ts"],"names":[],"mappings":"AAOA,kHAAkH;AAClH,MAAM,UAAU,iBAAiB,CAC/B,IAAuB,EACvB,KAAa;IAEb,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;IACpD,OAAO;QACL,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;KACrC,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Button, Input, ListRow, ListSection, Modal, Stack } from '@ankhorage/zora';
2
+ import { Button, TextInput, ListRow, ListSection, Modal, Stack } from '@ankhorage/zora';
3
3
  import React from 'react';
4
4
  import { ScrollView } from 'react-native';
5
5
  import { getInsertCatalogCategoryLabel } from '../index';
@@ -14,7 +14,7 @@ export function StudioInsertDialog(props) {
14
14
  entries: filterInsertCatalogEntries(props.entries, query),
15
15
  getCategoryLabel: getInsertCatalogCategoryLabel,
16
16
  });
17
- return (_jsx(Modal, { closeOnBackdrop: true, description: "Choose a component or recipe for the current canvas context.", footer: _jsx(Button, { color: "neutral", variant: "ghost", onPress: props.onDismiss, children: "Cancel" }), onDismiss: props.onDismiss, title: "Insert", visible: props.visible, width: "wide", children: _jsxs(Stack, { gap: "m", children: [_jsx(Input, { accessibilityLabel: "Search insert catalog", onChangeText: setQuery, placeholder: "Search components and recipes", value: query }), _jsx(ScrollView, { style: { maxHeight: 520 }, children: _jsx(Stack, { gap: "l", children: groups.map((group) => (_jsx(ListSection, { title: group.label, children: group.entries.map((entry) => {
17
+ return (_jsx(Modal, { closeOnBackdrop: true, description: "Choose a component or recipe for the current canvas context.", footer: _jsx(Button, { color: "neutral", variant: "ghost", onPress: props.onDismiss, children: "Cancel" }), onDismiss: props.onDismiss, title: "Insert", visible: props.visible, width: "wide", children: _jsxs(Stack, { gap: "m", children: [_jsx(TextInput, { accessibilityLabel: "Search insert catalog", onChangeText: setQuery, placeholder: "Search components and recipes", value: query }), _jsx(ScrollView, { style: { maxHeight: 520 }, children: _jsx(Stack, { gap: "l", children: groups.map((group) => (_jsx(ListSection, { title: group.label, children: group.entries.map((entry) => {
18
18
  const placementHint = getPlacementHint({
19
19
  entry,
20
20
  rootNode: props.rootNode,
@@ -1 +1 @@
1
- {"version":3,"file":"StudioInsertDialog.js","sourceRoot":"","sources":["../../src/ui/StudioInsertDialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StudioInsertDialog.js","sourceRoot":"","sources":["../../src/ui/StudioInsertDialog.tsx"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ export interface AnkhAdminShellProps {
3
3
  readonly children?: React.ReactNode;
4
4
  }
5
5
  /***
6
- * Compose the Studio administration app bar, responsive navigation drawer/sidebar, and routed page content.
6
+ * Compose the Studio administration app bar, responsive navigation modal/sidebar, and routed page content.
7
7
  * @todo Keep this as package-wide admin UI composition; route construction/availability/active-state policy belongs to the routes domain and reusable responsive primitives belong to ZORA.
8
8
  */
9
9
  export declare function AnkhAdminShell({ children }: AnkhAdminShellProps): React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"AnkhAdminShell.d.ts","sourceRoot":"","sources":["../../../src/ui/admin/AnkhAdminShell.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAmBxC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACrC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,mBAAmB,qBA8F/D"}
1
+ {"version":3,"file":"AnkhAdminShell.d.ts","sourceRoot":"","sources":["../../../src/ui/admin/AnkhAdminShell.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAmBxC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACrC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,mBAAmB,qBA6F/D"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { AppBar, Drawer, IconButton, Show, SidebarLayout, Text, useZoraTheme, } from '@ankhorage/zora';
2
+ import { AppBar, IconButton, Modal, Show, SidebarLayout, Text, useZoraTheme, } from '@ankhorage/zora';
3
3
  import { Slot, usePathname, useRouter } from 'expo-router';
4
4
  import React, { useState } from 'react';
5
5
  import { Pressable, ScrollView, StyleSheet, View } from 'react-native';
@@ -8,7 +8,7 @@ import { useStudio } from '../../core/StudioContext';
8
8
  import { createStudioAdminRoutePath, getStudioAdminRouteDefinition, isStudioAdminRouteActive, isStudioAdminRouteAvailable, resolveStudioAdminActiveRouteId, resolveStudioModuleId, resolveStudioScreenId, STUDIO_ADMIN_ROUTE_REGISTRY, } from '../../studioAdminRouteModel';
9
9
  const COMPACT_VISIBILITY = { base: true, lg: false };
10
10
  /***
11
- * Compose the Studio administration app bar, responsive navigation drawer/sidebar, and routed page content.
11
+ * Compose the Studio administration app bar, responsive navigation modal/sidebar, and routed page content.
12
12
  * @todo Keep this as package-wide admin UI composition; route construction/availability/active-state policy belongs to the routes domain and reusable responsive primitives belong to ZORA.
13
13
  */
14
14
  export function AnkhAdminShell({ children }) {
@@ -41,7 +41,7 @@ export function AnkhAdminShell({ children }) {
41
41
  };
42
42
  const nav = (_jsx(AdminNavigation, { activeRouteId: activeRouteId, selectedNodeId: studio.selectedNodeId, screenId: contextualScreenId, moduleId: contextualModuleId, onRoutePress: openRoute }));
43
43
  const content = _jsx(View, { style: styles.contentOnly, children: children ?? _jsx(Slot, {}) });
44
- return (_jsxs(SafeAreaView, { style: [styles.shell, { backgroundColor: theme.colors.background }], children: [_jsx(AppBar, { title: activeDefinition.label, subtitle: activeDefinition.description, leading: _jsx(IconButton, { icon: { name: 'arrow-back-outline' }, label: "Back to app", variant: "ghost", color: "neutral", onPress: goBackToApp }), actions: _jsx(Show, { when: COMPACT_VISIBILITY, children: _jsx(IconButton, { icon: { name: 'menu-outline' }, label: "Open administration navigation", variant: "ghost", color: "neutral", onPress: () => setDrawerOpen(true) }) }) }), _jsx(Show, { when: COMPACT_VISIBILITY, children: _jsx(Drawer, { visible: drawerOpen, position: "left", title: "Administration", closeOnBackdrop: true, onDismiss: () => setDrawerOpen(false), children: nav }) }), _jsx(View, { style: styles.body, children: _jsx(Show, { when: COMPACT_VISIBILITY, fallback: _jsx(SidebarLayout, { sidebar: nav, sidebarWidth: 260, sizing: "fill", children: content }), children: content }) })] }));
44
+ return (_jsxs(SafeAreaView, { style: [styles.shell, { backgroundColor: theme.colors.background }], children: [_jsx(AppBar, { title: activeDefinition.label, subtitle: activeDefinition.description, leading: _jsx(IconButton, { icon: { name: 'arrow-back-outline' }, label: "Back to app", variant: "ghost", color: "neutral", onPress: goBackToApp }), actions: _jsx(Show, { when: COMPACT_VISIBILITY, children: _jsx(IconButton, { icon: { name: 'menu-outline' }, label: "Open administration navigation", variant: "ghost", color: "neutral", onPress: () => setDrawerOpen(true) }) }) }), _jsx(Show, { when: COMPACT_VISIBILITY, children: _jsx(Modal, { visible: drawerOpen, title: "Administration", closeOnBackdrop: true, onDismiss: () => setDrawerOpen(false), children: nav }) }), _jsx(View, { style: styles.body, children: _jsx(Show, { when: COMPACT_VISIBILITY, fallback: _jsx(SidebarLayout, { sidebar: nav, sidebarWidth: 260, sizing: "fill", children: content }), children: content }) })] }));
45
45
  }
46
46
  /*** Render navigation entries from the Studio admin-route registry using current availability and hierarchy state. */
47
47
  function AdminNavigation(props) {