@ankhorage/studio 8.0.6 → 8.0.7

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: v8.0.6](././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) ![paradox: canonical](././paradox/badges/docs.svg)
6
+ ![license: MIT](././paradox/badges/license.svg) ![npm: v8.0.7](././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) ![paradox: canonical](././paradox/badges/docs.svg)
7
7
 
8
8
  Studio authoring package for Ankhorage apps
9
9
 
@@ -68,6 +68,5 @@ import {
68
68
  - [updateNodeInTree sequence](././paradox/diagrams/sequences/update-node-in-tree.mmd)
69
69
  - [upsertStudioMediaAsset sequence](././paradox/diagrams/sequences/upsert-studio-media-asset.mmd)
70
70
  - [upsertStudioPropBinding sequence](././paradox/diagrams/sequences/upsert-studio-prop-binding.mmd)
71
- - [validateInsertRecipe sequence](././paradox/diagrams/sequences/validate-insert-recipe.mmd)
72
71
  - [validateNodePlacement sequence](././paradox/diagrams/sequences/validate-node-placement.mmd)
73
72
  - [validateProjectCreationInput sequence](././paradox/diagrams/sequences/validate-project-creation-input.mmd)
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": "8.0.6" },
4
+ "owner": { "name": "@ankhorage/studio", "version": "8.0.7" },
5
5
  "history": {
6
6
  "supported": [{ "sourceRange": ">=0.0.0", "mode": "no-migration" }],
7
7
  "unsupported": [],
@@ -1 +1 @@
1
- {"version":3,"file":"layoutGenerator.d.ts","sourceRoot":"","sources":["../../../src/host/layout/layoutGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAkC,MAAM,sBAAsB,CAAC;AAExF,OAAO,EACL,KAAK,eAAe,EAIrB,MAAM,kCAAkC,CAAC;AAS1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAsCxD,MAAM,WAAW,iCAAiC;IAChD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B;AA4LD;;;GAGG;AACH,qBAAa,yBAAyB;IACpC,MAAM,CAAC,QAAQ,CAAC,eAAe,OAAO;IAEtC;;OAEG;IACH,aAAa,CACX,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,WAAW,EACrB,SAAS,EAAE,cAAc,EAAE,EAC3B,OAAO,GAAE,iCAAsC,GAC9C,aAAa,EAAE;IAyPlB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAsFjC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA+D5B;;OAEG;IACH,OAAO,CAAC,2BAA2B;CAuFpC"}
1
+ {"version":3,"file":"layoutGenerator.d.ts","sourceRoot":"","sources":["../../../src/host/layout/layoutGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAkC,MAAM,sBAAsB,CAAC;AAExF,OAAO,EACL,KAAK,eAAe,EAIrB,MAAM,kCAAkC,CAAC;AAS1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAuCxD,MAAM,WAAW,iCAAiC;IAChD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B;AA4LD;;;GAGG;AACH,qBAAa,yBAAyB;IACpC,MAAM,CAAC,QAAQ,CAAC,eAAe,OAAO;IAEtC;;OAEG;IACH,aAAa,CACX,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,WAAW,EACrB,SAAS,EAAE,cAAc,EAAE,EAC3B,OAAO,GAAE,iCAAsC,GAC9C,aAAa,EAAE;IA4PlB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAsFjC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA+D5B;;OAEG;IACH,OAAO,CAAC,2BAA2B;CAuFpC"}
@@ -6,6 +6,7 @@ import { resolveAuthLayoutPlan, } from './auth/resolveAuthLayoutPlan';
6
6
  import { composeGeneratedImports } from './generatedImportComposer';
7
7
  import { createNavigatorGenerationBindings } from './navigator/createNavigatorGenerationBindings';
8
8
  import { generateNavigatorLayoutFiles } from './navigator/generateNavigatorLayoutFiles';
9
+ import { projectGeneratedRoute } from './navigator/projectGeneratedRoute';
9
10
  import { getAuthAdapterTs, getAuthFormTs, getAuthNavigationTs, getAuthOAuthCallbackTsx, getAuthOAuthCompletionTs, getAuthOAuthRuntimeTs, getAuthOAuthStateTs, getAuthScreenControllerTs, getAuthScreenRuntimeTsx, getAuthScreenTsx, getAuthSessionTs, getIndexRedirectRouteTsx, getRootLayoutImportRequirements, getRootLayoutTsx, getRootShellImportRequirements, getRootShellTsx, getRuntimeShellImportRequirements, getRuntimeShellTsx, getScreenTsx, getSignOutScreenTsx, getStudioAppHeaderImportRequirements, getStudioAppHeaderTsx, getStudioShellImportRequirements, getStudioShellTsx, } from './templates';
10
11
  import { routeNameToHref } from './templates/utils/routes';
11
12
  /***
@@ -253,18 +254,21 @@ export class GeneratedAppFileGenerator {
253
254
  content: getStudioAdminLayoutTsx(),
254
255
  }, ...createStudioAdminRouteGeneratedFiles(appRootRel));
255
256
  };
256
- const walk = (node, currentRel) => {
257
+ const walk = (node, currentRel, currentPublicPath) => {
257
258
  if (!Array.isArray(node.routes))
258
259
  return;
259
260
  node.routes.forEach((route) => {
260
- const segment = route.name;
261
- const nextRel = currentRel ? path.join(currentRel, segment) : segment;
261
+ const projection = projectGeneratedRoute({
262
+ parentModulePath: currentRel,
263
+ parentPublicPath: currentPublicPath,
264
+ route,
265
+ });
262
266
  if (route.navigator) {
263
- walk(route.navigator, nextRel);
267
+ walk(route.navigator, projection.modulePath, projection.publicPath);
264
268
  return;
265
269
  }
266
- const fileName = `${route.path === '/' ? 'index' : path.basename(nextRel)}.tsx`;
267
- const dirRel = path.dirname(nextRel);
270
+ const fileName = `${route.path === '/' ? 'index' : path.basename(projection.modulePath)}.tsx`;
271
+ const dirRel = path.dirname(projection.modulePath);
268
272
  const targetDirRel = dirRel === '.' ? '' : dirRel;
269
273
  const targetPath = toPortablePath(path.join(appRootRel, targetDirRel, fileName));
270
274
  if (authLayoutPlan.enabled && authScreenPlansByPath.has(targetPath)) {
@@ -363,9 +367,9 @@ export class GeneratedAppFileGenerator {
363
367
  content: this.getGeneratedAuthFileContent(generatedAuthFile, authLayoutPlan, manifest, targets, zoraRuntimeImports.entrypoint),
364
368
  });
365
369
  }
366
- walk(authLayoutPlan.appNavigator, '(app)');
370
+ walk(authLayoutPlan.appNavigator, '(app)', '/');
367
371
  if (authLayoutPlan.authNavigator.routes.length > 0) {
368
- walk(authLayoutPlan.authNavigator, '(auth)');
372
+ walk(authLayoutPlan.authNavigator, '(auth)', '/');
369
373
  }
370
374
  }
371
375
  else {
@@ -374,7 +378,7 @@ export class GeneratedAppFileGenerator {
374
378
  content: this.getRootLayoutContent(manifest, mutations, includeStudio, resolvedRuntimePlan, zoraRuntimeImports),
375
379
  });
376
380
  addStudioAdminRouteFiles();
377
- walk(manifest.navigator, '(app)');
381
+ walk(manifest.navigator, '(app)', '/');
378
382
  }
379
383
  return files;
380
384
  }
@@ -1 +1 @@
1
- {"version":3,"file":"layoutGenerator.js","sourceRoot":"","sources":["../../../src/host/layout/layoutGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layoutGenerator.js","sourceRoot":"","sources":["../../../src/host/layout/layoutGenerator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createNavigatorGenerationBindings.d.ts","sourceRoot":"","sources":["../../../../src/host/layout/navigator/createNavigatorGenerationBindings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAmB,MAAM,sBAAsB,CAAC;AACxF,OAAO,KAAK,EACV,2BAA2B,EAE5B,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAOvE,UAAU,yBAAyB;IACjC,SAAS,EAAE,aAAa,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,sCAAsC;IAC9C,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,SAAS,yBAAyB,EAAE,CAAC;CAC7C;AAED,UAAU,gCAAgC;IACxC,QAAQ,EAAE,2BAA2B,CAAC;IACtC,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAED,qGAAqG;AACrG,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,sCAAsC,GAC5C,gCAAgC,CA2DlC"}
1
+ {"version":3,"file":"createNavigatorGenerationBindings.d.ts","sourceRoot":"","sources":["../../../../src/host/layout/navigator/createNavigatorGenerationBindings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAmB,MAAM,sBAAsB,CAAC;AACxF,OAAO,KAAK,EACV,2BAA2B,EAE5B,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAQvE,UAAU,yBAAyB;IACjC,SAAS,EAAE,aAAa,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,sCAAsC;IAC9C,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,SAAS,yBAAyB,EAAE,CAAC;CAC7C;AAED,UAAU,gCAAgC;IACxC,QAAQ,EAAE,2BAA2B,CAAC;IACtC,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAED,qGAAqG;AACrG,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,sCAAsC,GAC5C,gCAAgC,CA2DlC"}
@@ -1,4 +1,5 @@
1
1
  import { escapeStringLiteral } from '../utils/escapeStringLiteral';
2
+ import { projectGeneratedRoute } from './projectGeneratedRoute';
2
3
  const GUARD_BINDINGS_MODULE = '@/generated/navigatorGuardBindings';
3
4
  const ICON_BINDINGS_MODULE = '@/generated/navigatorIconBindings';
4
5
  const SCREEN_BINDINGS_MODULE = '@/generated/navigatorScreenBindings';
@@ -90,18 +91,22 @@ function collectLayoutScreenIds(roots) {
90
91
  /*** Map each routed screen ID to its first deterministic Studio-generated route module. */
91
92
  function collectScreenModules(roots) {
92
93
  const modules = new Map();
93
- const visit = (navigator, directory) => {
94
+ const visit = (navigator, directory, publicPath) => {
94
95
  for (const route of navigator.routes) {
95
- const routePath = `${directory}/${route.name}`;
96
+ const projection = projectGeneratedRoute({
97
+ parentModulePath: directory,
98
+ parentPublicPath: publicPath,
99
+ route,
100
+ });
96
101
  if (route.screenId && !modules.has(route.screenId)) {
97
- modules.set(route.screenId, toSourceAlias(routePath));
102
+ modules.set(route.screenId, toSourceAlias(projection.modulePath));
98
103
  }
99
104
  if (route.navigator)
100
- visit(route.navigator, routePath);
105
+ visit(route.navigator, projection.modulePath, projection.publicPath);
101
106
  }
102
107
  };
103
108
  for (const root of roots)
104
- visit(root.navigator, root.rootDirectory);
109
+ visit(root.navigator, root.rootDirectory, '/');
105
110
  return modules;
106
111
  }
107
112
  /*** Bind only auth partition guards whose behavior is already established by the root shell. */
@@ -1 +1 @@
1
- {"version":3,"file":"createNavigatorGenerationBindings.js","sourceRoot":"","sources":["../../../../src/host/layout/navigator/createNavigatorGenerationBindings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createNavigatorGenerationBindings.js","sourceRoot":"","sources":["../../../../src/host/layout/navigator/createNavigatorGenerationBindings.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generateNavigatorLayoutFiles.d.ts","sourceRoot":"","sources":["../../../../src/host/layout/navigator/generateNavigatorLayoutFiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAEV,2BAA2B,EAC3B,aAAa,EAEd,MAAM,gCAAgC,CAAC;AAKxC,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,iCAAiC;IACzC,SAAS,EAAE,aAAa,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,2BAA2B,CAAC;IACtC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,qHAAqH;AACrH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,iCAAiC,GACvC,wBAAwB,EAAE,CA0B5B"}
1
+ {"version":3,"file":"generateNavigatorLayoutFiles.d.ts","sourceRoot":"","sources":["../../../../src/host/layout/navigator/generateNavigatorLayoutFiles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAEV,2BAA2B,EAC3B,aAAa,EAEd,MAAM,gCAAgC,CAAC;AAOxC,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,iCAAiC;IACzC,SAAS,EAAE,aAAa,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,2BAA2B,CAAC;IACtC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,qHAAqH;AACrH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,iCAAiC,GACvC,wBAAwB,EAAE,CAiC5B"}
@@ -1,6 +1,8 @@
1
+ import path from 'node:path';
1
2
  import { EXPO_PLATFORM } from '@ankhorage/expo-runtime/platform';
2
3
  import { createNavigatorPlan, generateNavigator } from '@ankhorage/navigator';
3
4
  import { parseSemanticVersion } from '@ankhorage/utility/semver';
5
+ import { projectGeneratedRoute } from './projectGeneratedRoute';
4
6
  /*** Generate Navigator-owned layouts for enabled targets while leaving root-shell and screen ownership in Studio. */
5
7
  export function generateNavigatorLayoutFiles(input) {
6
8
  const platforms = enabledPlatforms(input.targets);
@@ -24,7 +26,105 @@ export function generateNavigatorLayoutFiles(input) {
24
26
  output.push({ path: platformPath(file.path, generated.platform), content: file.contents });
25
27
  }
26
28
  }
27
- return output.sort((left, right) => left.path.localeCompare(right.path));
29
+ return [
30
+ ...relocateNavigatorLayoutFiles(output, input.navigator, input.rootDirectory),
31
+ ...generateEscapedRouteBoundaryLayouts(input.navigator, input.rootDirectory, input.externalHeaderVisible === true),
32
+ ].sort((left, right) => left.path.localeCompare(right.path));
33
+ }
34
+ /*** Add a direct-child Stack boundary when absolute child URLs escape their manifest Stack's module directory. */
35
+ function generateEscapedRouteBoundaryLayouts(navigator, parentModulePath, externalHeaderVisible, parentPublicPath = '/') {
36
+ return navigator.routes.flatMap((route) => {
37
+ if (!route.navigator)
38
+ return [];
39
+ const projection = projectGeneratedRoute({ parentModulePath, parentPublicPath, route });
40
+ const nestedLayouts = generateEscapedRouteBoundaryLayouts(route.navigator, projection.modulePath, externalHeaderVisible, projection.publicPath);
41
+ if (route.navigator.type !== 'stack')
42
+ return nestedLayouts;
43
+ const children = route.navigator.routes.map((child) => projectGeneratedRoute({
44
+ parentModulePath: projection.modulePath,
45
+ parentPublicPath: projection.publicPath,
46
+ route: child,
47
+ }));
48
+ const escaped = children.some((child) => path.posix.relative(projection.modulePath, child.modulePath).startsWith('../'));
49
+ if (!escaped)
50
+ return nestedLayouts;
51
+ const boundaryDirectory = path.posix.dirname(projection.modulePath);
52
+ const names = uniqueDirectChildNames(boundaryDirectory, children.map((child) => child.modulePath));
53
+ const initialManifestChild = route.navigator.routes.find(({ name }) => route.navigator?.initialRouteName === name);
54
+ const initialChildIndex = initialManifestChild
55
+ ? route.navigator.routes.indexOf(initialManifestChild)
56
+ : -1;
57
+ const initialChild = children.at(initialChildIndex);
58
+ const initialRouteName = childNameForModule(boundaryDirectory, initialChild?.modulePath ?? children[0]?.modulePath);
59
+ if (!initialRouteName || names.length === 0)
60
+ return nestedLayouts;
61
+ return [
62
+ ...nestedLayouts,
63
+ {
64
+ path: path.posix.join(boundaryDirectory, '_layout.tsx'),
65
+ content: getEscapedRouteBoundaryLayout({
66
+ externalHeaderVisible,
67
+ initialRouteName,
68
+ names,
69
+ }),
70
+ },
71
+ ];
72
+ });
73
+ }
74
+ /*** Collapse nested route modules to the direct child names permitted by Native Stack registration. */
75
+ function uniqueDirectChildNames(boundaryDirectory, modulePaths) {
76
+ return [
77
+ ...new Set(modulePaths.map((modulePath) => childNameForModule(boundaryDirectory, modulePath))),
78
+ ].filter((name) => Boolean(name));
79
+ }
80
+ /*** Resolve one generated route module to its owning boundary Stack child name. */
81
+ function childNameForModule(boundaryDirectory, modulePath) {
82
+ if (!modulePath)
83
+ return undefined;
84
+ const [name] = path.posix.relative(boundaryDirectory, modulePath).split('/');
85
+ return name && name !== '..' ? name : undefined;
86
+ }
87
+ /*** Render the physical Stack boundary required to navigate an absolute child route from a nested manifest Stack. */
88
+ function getEscapedRouteBoundaryLayout(args) {
89
+ const screenOptions = args.externalHeaderVisible ? ' screenOptions={{ headerShown: false }}' : '';
90
+ const screens = args.names
91
+ .map((name) => ` <Stack.Screen name=${JSON.stringify(name)} />`)
92
+ .join('\n');
93
+ return `import { Stack } from 'expo-router';
94
+
95
+ export default function NavigatorBoundaryLayout() {
96
+ return (
97
+ <Stack initialRouteName=${JSON.stringify(args.initialRouteName)}${screenOptions}>
98
+ ${screens}
99
+ </Stack>
100
+ );
101
+ }
102
+ `;
103
+ }
104
+ /*** Move Navigator's name-based nested layouts to the shared Expo Router module projection. */
105
+ function relocateNavigatorLayoutFiles(files, navigator, rootDirectory) {
106
+ const directories = new Map();
107
+ collectNavigatorLayoutDirectories(navigator, rootDirectory, rootDirectory, '/', directories);
108
+ return files.map((file) => {
109
+ const directory = directories.get(path.posix.dirname(file.path));
110
+ return directory
111
+ ? { ...file, path: path.posix.join(directory, path.posix.basename(file.path)) }
112
+ : file;
113
+ });
114
+ }
115
+ /*** Map each owner-generated nested layout directory from Navigator names to Studio's canonical route modules. */
116
+ function collectNavigatorLayoutDirectories(navigator, sourceDirectory, destinationDirectory, parentPublicPath, directories) {
117
+ directories.set(sourceDirectory, destinationDirectory);
118
+ for (const route of navigator.routes) {
119
+ if (!route.navigator)
120
+ continue;
121
+ const projection = projectGeneratedRoute({
122
+ parentModulePath: destinationDirectory,
123
+ parentPublicPath,
124
+ route,
125
+ });
126
+ collectNavigatorLayoutDirectories(route.navigator, path.posix.join(sourceDirectory, route.name), projection.modulePath, projection.publicPath, directories);
127
+ }
28
128
  }
29
129
  /*** Resolve enabled targets with Web first so its source remains the universal fallback file. */
30
130
  function enabledPlatforms(targets) {
@@ -46,7 +146,7 @@ function generatePlatformLayouts(input, platform) {
46
146
  const navigator = input.externalHeaderVisible
47
147
  ? withExternalHeaderOwnership(input.navigator)
48
148
  : input.navigator;
49
- const plan = createNavigatorPlan(withGeneratedRoutePaths(navigator), {
149
+ const plan = createNavigatorPlan(withGeneratedRoutePaths(navigator, input.rootDirectory), {
50
150
  platform,
51
151
  expoRouterVersion: resolveExactVersion(EXPO_PLATFORM.navigation.expoRouter.version),
52
152
  });
@@ -100,38 +200,42 @@ function withExternalHeaderOwnership(navigator) {
100
200
  routes,
101
201
  };
102
202
  }
103
- /*** Project Studio-owned public route paths into the navigator slice required by headless tabs. */
104
- function withGeneratedRoutePaths(navigator, parentPath = '/') {
203
+ /*** Project Studio-owned routes through the shared module, URL, and Navigator path policy. */
204
+ function withGeneratedRoutePaths(navigator, parentModulePath, parentPublicPath = '/') {
205
+ const projectedRoutes = navigator.routes.flatMap((route) => {
206
+ const projection = projectGeneratedRoute({
207
+ parentModulePath,
208
+ parentPublicPath,
209
+ route,
210
+ });
211
+ const relativeModulePath = path.posix.relative(parentModulePath, projection.modulePath);
212
+ if (relativeModulePath.startsWith('../'))
213
+ return [];
214
+ const navigatorName = route.navigator && /^\(.*\)$/u.test(route.name)
215
+ ? route.name
216
+ : path.posix.basename(projection.modulePath);
217
+ return [
218
+ {
219
+ originalName: route.name,
220
+ route: {
221
+ ...route,
222
+ name: navigatorName,
223
+ path: projection.navigatorPath,
224
+ ...(route.navigator
225
+ ? {
226
+ navigator: withGeneratedRoutePaths(route.navigator, projection.modulePath, projection.publicPath),
227
+ }
228
+ : {}),
229
+ },
230
+ },
231
+ ];
232
+ });
105
233
  return {
106
234
  ...navigator,
107
- routes: navigator.routes.map((route) => {
108
- const publicPath = resolvePublicRoutePath(parentPath, route.name, route.path);
109
- return {
110
- ...route,
111
- path: publicPath,
112
- ...(route.navigator
113
- ? { navigator: withGeneratedRoutePaths(route.navigator, publicPath) }
114
- : {}),
115
- };
116
- }),
235
+ initialRouteName: projectedRoutes.find((projected) => projected.originalName === navigator.initialRouteName)?.route.name,
236
+ routes: projectedRoutes.map((projected) => projected.route),
117
237
  };
118
238
  }
119
- /*** Resolve one safe route segment to its canonical public path while omitting groups and index. */
120
- function resolvePublicRoutePath(parentPath, routeName, authoredPath) {
121
- if (authoredPath?.startsWith('/'))
122
- return authoredPath || '/';
123
- const parentSegments = parentPath.split('/').filter(Boolean);
124
- const authoredSegments = authoredPath?.split('/').filter(Boolean);
125
- const routeSegments = authoredSegments ?? [routeName];
126
- const publicSegments = routeSegments.flatMap((segment) => {
127
- if (segment === 'index' || /^\(.*\)$/u.test(segment))
128
- return [];
129
- const dynamic = /^\[([^\]]+)\]$/u.exec(segment)?.[1];
130
- return [dynamic ? `:${dynamic.replace(/^\.\.\./u, '')}` : segment];
131
- });
132
- const resolved = [...parentSegments, ...publicSegments].join('/');
133
- return resolved.length === 0 ? '/' : `/${resolved}`;
134
- }
135
239
  /*** Read the concrete semantic version from Expo Runtime's package range. */
136
240
  function resolveExactVersion(versionRange) {
137
241
  const normalized = versionRange.startsWith('>=')
@@ -1 +1 @@
1
- {"version":3,"file":"generateNavigatorLayoutFiles.js","sourceRoot":"","sources":["../../../../src/host/layout/navigator/generateNavigatorLayoutFiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateNavigatorLayoutFiles.js","sourceRoot":"","sources":["../../../../src/host/layout/navigator/generateNavigatorLayoutFiles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { RouteDefinition } from '@ankhorage/contracts';
2
+ interface ProjectGeneratedRouteInput {
3
+ readonly parentModulePath: string;
4
+ readonly parentPublicPath: string;
5
+ readonly route: RouteDefinition;
6
+ }
7
+ interface GeneratedRouteProjection {
8
+ readonly modulePath: string;
9
+ readonly navigatorPath: string;
10
+ readonly publicPath: string;
11
+ }
12
+ /*** Project one manifest route into its Expo Router module and public path without making route groups URL segments. */
13
+ export declare function projectGeneratedRoute(input: ProjectGeneratedRouteInput): GeneratedRouteProjection;
14
+ export {};
15
+ //# sourceMappingURL=projectGeneratedRoute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectGeneratedRoute.d.ts","sourceRoot":"","sources":["../../../../src/host/layout/navigator/projectGeneratedRoute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,UAAU,0BAA0B;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;CACjC;AAED,UAAU,wBAAwB;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,wHAAwH;AACxH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,GAAG,wBAAwB,CAgBjG"}
@@ -0,0 +1,40 @@
1
+ import path from 'path';
2
+ /*** Project one manifest route into its Expo Router module and public path without making route groups URL segments. */
3
+ export function projectGeneratedRoute(input) {
4
+ const publicPath = resolvePublicPath(input.parentPublicPath, input.route);
5
+ const relativePublicPath = path.posix.relative(trimSlashes(input.parentPublicPath), trimSlashes(publicPath));
6
+ const groupPath = isRouteGroup(input.route.name) ? [input.route.name] : [];
7
+ const publicPathSegments = relativePublicPath.length === 0 ? [] : [relativePublicPath];
8
+ const modulePath = input.route.navigator
9
+ ? path.posix.join(input.parentModulePath, ...groupPath, ...publicPathSegments)
10
+ : path.posix.join(input.parentModulePath, ...groupPath, ...(publicPathSegments.length === 0 ? ['index'] : publicPathSegments));
11
+ return { modulePath, navigatorPath: toNavigatorPath(publicPath), publicPath };
12
+ }
13
+ /*** Resolve a route's canonical public URL from its parent URL and authored route path. */
14
+ function resolvePublicPath(parentPublicPath, route) {
15
+ if (route.path?.startsWith('/'))
16
+ return route.path || '/';
17
+ const routeSegments = (route.path ?? route.name)
18
+ .split('/')
19
+ .filter((segment) => segment !== 'index' && !isRouteGroup(segment));
20
+ const parentSegments = parentPublicPath.split('/').filter(Boolean);
21
+ const segments = [...parentSegments, ...routeSegments];
22
+ return segments.length === 0 ? '/' : `/${segments.join('/')}`;
23
+ }
24
+ /*** Strip leading and trailing slashes before calculating a relative Expo Router module path. */
25
+ function trimSlashes(value) {
26
+ return value.replace(/^\/+|\/+$/gu, '');
27
+ }
28
+ /*** Identify Expo Router group syntax, which owns module structure but no public URL segment. */
29
+ function isRouteGroup(segment) {
30
+ return /^\(.*\)$/u.test(segment);
31
+ }
32
+ /** Translate Expo Router dynamic segments into Navigator's portable route-pattern syntax. */
33
+ function toNavigatorPath(publicPath) {
34
+ const segments = publicPath.split('/').map((segment) => {
35
+ const dynamic = /^\[([^\]]+)\]$/u.exec(segment)?.[1];
36
+ return dynamic ? `:${dynamic.replace(/^\.\.\./u, '')}` : segment;
37
+ });
38
+ return segments.join('/');
39
+ }
40
+ //# sourceMappingURL=projectGeneratedRoute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectGeneratedRoute.js","sourceRoot":"","sources":["../../../../src/host/layout/navigator/projectGeneratedRoute.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeShell.d.ts","sourceRoot":"","sources":["../../../../src/host/layout/templates/runtimeShell.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAE7E,0EAA0E;AAC1E,wBAAgB,iCAAiC,CAC/C,aAAa,EAAE,OAAO,EACtB,cAAc,EAAE,iBAAiB,GAAG,6BAA6B,EACjE,sCAAsC,EAAE,OAAO,GAC9C,0BAA0B,EAAE,CAiE9B;AAED,8GAA8G;AAC9G,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,sCAAsC,EAAE,OAAO,CAAC;IACzD,QAAQ,CAAC,cAAc,EAAE,iBAAiB,GAAG,6BAA6B,CAAC;CAC5E,GAAG,MAAM,CA2HT"}
1
+ {"version":3,"file":"runtimeShell.d.ts","sourceRoot":"","sources":["../../../../src/host/layout/templates/runtimeShell.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAE7E,0EAA0E;AAC1E,wBAAgB,iCAAiC,CAC/C,aAAa,EAAE,OAAO,EACtB,cAAc,EAAE,iBAAiB,GAAG,6BAA6B,EACjE,sCAAsC,EAAE,OAAO,GAC9C,0BAA0B,EAAE,CA8E9B;AAED,8GAA8G;AAC9G,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,sCAAsC,EAAE,OAAO,CAAC;IACzD,QAAQ,CAAC,cAAc,EAAE,iBAAiB,GAAG,6BAA6B,CAAC;CAC5E,GAAG,MAAM,CAkLT"}
@@ -1,7 +1,13 @@
1
1
  /*** Describe imports owned by the generated Runtime composition shell. */
2
2
  export function getRuntimeShellImportRequirements(includeStudio, zoraEntrypoint, useStoredAuthSessionCredentialResolver) {
3
3
  return [
4
- { source: '@ankhorage/contracts', namedImports: [{ imported: 'AppManifest', typeOnly: true }] },
4
+ {
5
+ source: '@ankhorage/contracts',
6
+ namedImports: [
7
+ { imported: 'AppManifest', typeOnly: true },
8
+ { imported: 'DataSourceDiagnostic', typeOnly: true },
9
+ ],
10
+ },
5
11
  {
6
12
  source: 'react',
7
13
  namedImports: [{ imported: 'ReactNode', typeOnly: true }, { imported: 'useMemo' }],
@@ -15,7 +21,14 @@ export function getRuntimeShellImportRequirements(includeStudio, zoraEntrypoint,
15
21
  { imported: 'RuntimeRendererConfigProvider' },
16
22
  ],
17
23
  },
18
- { source: zoraEntrypoint, namedImports: [{ imported: 'useZoraTheme' }] },
24
+ {
25
+ source: zoraEntrypoint,
26
+ namedImports: [{ imported: 'useZoraTheme' }, { imported: 'ZORA_COMPONENT_META' }],
27
+ },
28
+ {
29
+ source: '@ankhorage/utility/object',
30
+ namedImports: [{ imported: 'readOwnProperty' }],
31
+ },
19
32
  {
20
33
  source: '@ankhorage/expo-runtime/bundled-media',
21
34
  namedImports: [{ imported: 'createExpoBundledMediaResolver' }],
@@ -61,15 +74,15 @@ export function getRuntimeShellImportRequirements(includeStudio, zoraEntrypoint,
61
74
  source: 'expo-router',
62
75
  namedImports: [{ imported: 'Href', typeOnly: true }, { imported: 'useRouter' }],
63
76
  },
64
- { source: 'react-native', namedImports: [{ imported: 'Alert' }] },
65
77
  ]),
78
+ { source: 'react-native', namedImports: [{ imported: 'Alert' }, { imported: 'Platform' }] },
66
79
  ];
67
80
  }
68
81
  /*** Generate Runtime capability, API, registry, media, and renderer composition for one app configuration. */
69
82
  export function getRuntimeShellTsx(args) {
70
83
  const { imports, includeStudio, runtimeModuleDeclarations, useStoredAuthSessionCredentialResolver, zoraEntrypoint, } = args;
71
84
  const runtimeCredentialResolver = useStoredAuthSessionCredentialResolver
72
- ? '\n credentialResolver: resolveRuntimeOperationCredential,'
85
+ ? '\n credentialResolver: resolveRuntimeOperationCredential,'
73
86
  : '';
74
87
  const capabilityExecutor = includeStudio
75
88
  ? `useStudioRuntimeCapabilityExecutor({
@@ -85,7 +98,13 @@ function useGeneratedRuntimeCapabilityExecutor() {
85
98
  const executeCapability = useMemo(
86
99
  () =>
87
100
  createGeneratedRuntimeCapabilityExecutor({
88
- alert: (message) => Alert.alert(message),
101
+ alert: (message) => {
102
+ if (Platform.OS === 'web') {
103
+ globalThis.alert(message);
104
+ return;
105
+ }
106
+ Alert.alert(message);
107
+ },
89
108
  navigate: (input) => {
90
109
  const { params, route } = input as { route: string; params?: Record<string, string> };
91
110
  const { resolvedPath, unusedParams } = resolveExpoRuntimeRoutePath(route, params);
@@ -122,6 +141,45 @@ ${runtimeModuleDeclarations?.trim() ?? ''}
122
141
  ${includeStudio ? 'export { bundledMediaRegistry };\n' : ''}const bundledMediaResolver = createExpoBundledMediaResolver(bundledMediaRegistry);
123
142
  ${includeStudio ? 'export ' : ''}const runtimeComponentRegistry = APP_COMPONENT_REGISTRY;
124
143
 
144
+ /** Resolve the published ZORA event identity only when it satisfies Runtime's capability-ID contract. */
145
+ function resolveZoraRuntimeEventCapability({
146
+ eventName,
147
+ node,
148
+ }: {
149
+ eventName: string;
150
+ node: { type: string };
151
+ }) {
152
+ const component = readOwnProperty<(typeof ZORA_COMPONENT_META)[string]>(
153
+ ZORA_COMPONENT_META,
154
+ node.type,
155
+ );
156
+ const event = component?.events
157
+ ? readOwnProperty<(typeof component.events)[string]>(component.events, eventName)
158
+ : undefined;
159
+ const eventType = event?.eventType;
160
+ return isRuntimeCapabilityId(eventType) ? eventType : undefined;
161
+ }
162
+
163
+ /** Validate the current Runtime capability-ID shape at the ZORA metadata boundary. */
164
+ function isRuntimeCapabilityId(value: unknown): value is \`\${string}.\${string}\` {
165
+ return typeof value === 'string' && /^[^.]+\\.[^.]+$/u.test(value);
166
+ }
167
+
168
+ /** Present Runtime action diagnostics rather than leaving failed interactions as silent no-ops. */
169
+ function reportRuntimeDiagnostics(diagnostics: readonly DataSourceDiagnostic[]) {
170
+ const messages = diagnostics
171
+ .filter((diagnostic) => diagnostic.severity === 'error')
172
+ .map((diagnostic) => diagnostic.message);
173
+ if (messages.length === 0) return;
174
+
175
+ const message = messages.join('\\n');
176
+ if (Platform.OS === 'web') {
177
+ globalThis.alert(\`Action unavailable\\n\\n\${message}\`);
178
+ return;
179
+ }
180
+ Alert.alert('Action unavailable', message);
181
+ }
182
+
125
183
  export function GeneratedRuntimeShell({
126
184
  children,
127
185
  runtimeManifest,
@@ -131,23 +189,33 @@ export function GeneratedRuntimeShell({
131
189
  }) {${includeStudio ? '\n const { setMode } = useZoraTheme();' : ''}
132
190
  const runtimeCapabilityExecutor = ${capabilityExecutor};
133
191
  const executeApplicationCapability = runtimeCapabilityExecutor.executeCapability;
192
+ const apiCapabilityExecutor = useMemo(
193
+ () =>
194
+ createRuntimeApiCapabilityExecutor({
195
+ apis: runtimeManifest.infra.apis ?? {},
196
+ fetch: runtimeApiFetch,${runtimeCredentialResolver}
197
+ }),
198
+ [runtimeManifest.infra.apis],
199
+ );
134
200
  const executeCapability = useMemo(
135
201
  () =>
136
202
  composeRuntimeCapabilityExecutor({
137
- apiCapabilityExecutor: createRuntimeApiCapabilityExecutor({
138
- apis: runtimeManifest.infra.apis ?? {},
139
- fetch: runtimeApiFetch,${runtimeCredentialResolver}
140
- }),
141
- capabilityExecutor: executeApplicationCapability,
203
+ apiCapabilityExecutor,
204
+ capabilityExecutor: (args) =>
205
+ args.capability.startsWith('api.')
206
+ ? apiCapabilityExecutor(args)
207
+ : executeApplicationCapability(args),
142
208
  }),
143
- [executeApplicationCapability, runtimeManifest.infra.apis],
209
+ [apiCapabilityExecutor, executeApplicationCapability],
144
210
  );
145
211
  const generatedRuntimeConfig = useMemo(
146
212
  () => ({
147
213
  executeCapability,
148
214
  registry: runtimeComponentRegistry,
149
215
  mediaAssets: runtimeManifest.media?.assets,
216
+ onDiagnostics: reportRuntimeDiagnostics,
150
217
  resolveMediaAsset: bundledMediaResolver,
218
+ resolveEventCapability: resolveZoraRuntimeEventCapability,
151
219
  }),
152
220
  [executeCapability, runtimeManifest.media?.assets],
153
221
  );
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeShell.js","sourceRoot":"","sources":["../../../../src/host/layout/templates/runtimeShell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtimeShell.js","sourceRoot":"","sources":["../../../../src/host/layout/templates/runtimeShell.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useStudioRuntimeCapabilityExecutor.d.ts","sourceRoot":"","sources":["../../src/runtime/useStudioRuntimeCapabilityExecutor.ts"],"names":[],"mappings":"AAWA,UAAU,iBAAiB;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,IAAI,EAAE;IACvD,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;CAClE;;EAiBA"}
1
+ {"version":3,"file":"useStudioRuntimeCapabilityExecutor.d.ts","sourceRoot":"","sources":["../../src/runtime/useStudioRuntimeCapabilityExecutor.ts"],"names":[],"mappings":"AAYA,UAAU,iBAAiB;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,IAAI,EAAE;IACvD,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;CAClE;;EAkBA"}
@@ -1,6 +1,7 @@
1
+ import { resolveExpoRuntimeRoutePath } from '@ankhorage/expo-runtime/capability-bridge';
1
2
  import { useRouter } from 'expo-router';
2
3
  import { useMemo } from 'react';
3
- import { Alert } from 'react-native';
4
+ import { Alert, Platform } from 'react-native';
4
5
  import { createStudioRuntimeCapabilityExecutor } from './executeStudioRuntimeCapabilityAsync.js';
5
6
  /***
6
7
  * Expose Studio's runtime-host capability executor to generated Studio applications.
@@ -9,13 +10,22 @@ export function useStudioRuntimeCapabilityExecutor(args) {
9
10
  const router = useRouter();
10
11
  const { setThemeMode } = args;
11
12
  const executeCapability = useMemo(() => createStudioRuntimeCapabilityExecutor({
12
- alert: (message) => Alert.alert(message),
13
+ alert: showRuntimeAlert,
13
14
  navigate: (input) => {
14
15
  const { params, route } = input;
15
- router.navigate({ params, pathname: route });
16
+ const { resolvedPath, unusedParams } = resolveExpoRuntimeRoutePath(route, params);
17
+ router.navigate({ params: unusedParams, pathname: resolvedPath });
16
18
  },
17
19
  setThemeMode: (input) => setThemeMode(input.mode),
18
20
  }), [router, setThemeMode]);
19
21
  return { executeCapability };
20
22
  }
23
+ /*** Present Runtime alerts through the browser dialog host on Web and React Native on native targets. */
24
+ function showRuntimeAlert(message) {
25
+ if (Platform.OS === 'web') {
26
+ globalThis.alert(message);
27
+ return;
28
+ }
29
+ Alert.alert(message);
30
+ }
21
31
  //# sourceMappingURL=useStudioRuntimeCapabilityExecutor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useStudioRuntimeCapabilityExecutor.js","sourceRoot":"","sources":["../../src/runtime/useStudioRuntimeCapabilityExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,qCAAqC,EAAE,MAAM,0CAA0C,CAAC;AAWjG;;GAEG;AACH,MAAM,UAAU,kCAAkC,CAAC,IAElD;IACC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC9B,MAAM,iBAAiB,GAAG,OAAO,CAC/B,GAAG,EAAE,CACH,qCAAqC,CAAC;QACpC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;QACxC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAA+B,CAAC;YAC1D,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAE,KAA2B,CAAC,IAAI,CAAC;KACzE,CAAC,EACJ,CAAC,MAAM,EAAE,YAAY,CAAC,CACvB,CAAC;IAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"useStudioRuntimeCapabilityExecutor.js","sourceRoot":"","sources":["../../src/runtime/useStudioRuntimeCapabilityExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,qCAAqC,EAAE,MAAM,0CAA0C,CAAC;AAWjG;;GAEG;AACH,MAAM,UAAU,kCAAkC,CAAC,IAElD;IACC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC9B,MAAM,iBAAiB,GAAG,OAAO,CAC/B,GAAG,EAAE,CACH,qCAAqC,CAAC;QACpC,KAAK,EAAE,gBAAgB;QACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAA+B,CAAC;YAC1D,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,2BAA2B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAClF,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAE,KAA2B,CAAC,IAAI,CAAC;KACzE,CAAC,EACJ,CAAC,MAAM,EAAE,YAAY,CAAC,CACvB,CAAC;IAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC/B,CAAC;AAED,yGAAyG;AACzG,SAAS,gBAAgB,CAAC,OAAe;IACvC,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QAC1B,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ankhorage/studio",
3
- "version": "8.0.6",
3
+ "version": "8.0.7",
4
4
  "description": "Studio authoring package for Ankhorage apps",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/ankhorage/studio#readme",
@@ -304,14 +304,14 @@
304
304
  "@ankhorage/permissions": "^0.3.9",
305
305
  "@ankhorage/react-native-reanimated-dnd-web": "^0.4.4",
306
306
  "@ankhorage/repository": "^0.6.13",
307
- "@ankhorage/runtime": "^5.1.2",
307
+ "@ankhorage/runtime": "^5.1.3",
308
308
  "@ankhorage/supabase": "^0.5.14",
309
309
  "@ankhorage/storage": "^0.2.2",
310
310
  "@ankhorage/storage-supabase": "^1.0.0",
311
311
  "@ankhorage/surface": "^9.4.12",
312
312
  "@ankhorage/secrets": "^0.3.1",
313
313
  "@ankhorage/secrets-supabase-vault": "^1.0.0",
314
- "@ankhorage/templates": "^12.3.2",
314
+ "@ankhorage/templates": "^12.4.1",
315
315
  "@ankhorage/utility": "^1.10.0",
316
316
  "@ankhorage/zora": "^25.10.0",
317
317
  "@fastify/cors": "^11.3.1",