@ankhorage/studio 2.0.24 → 2.0.26

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 (37) hide show
  1. package/dist/app/CreateCategoriesScreen.d.ts.map +1 -1
  2. package/dist/app/CreateCategoriesScreen.js +2 -2
  3. package/dist/app/CreateCategoriesScreen.js.map +1 -1
  4. package/dist/app/CreateCategoryTemplatesScreen.d.ts.map +1 -1
  5. package/dist/app/CreateCategoryTemplatesScreen.js +3 -2
  6. package/dist/app/CreateCategoryTemplatesScreen.js.map +1 -1
  7. package/dist/app/CreateProjectFromTemplateScreen.d.ts.map +1 -1
  8. package/dist/app/CreateProjectFromTemplateScreen.js +4 -3
  9. package/dist/app/CreateProjectFromTemplateScreen.js.map +1 -1
  10. package/dist/app/ProjectDetailScreen.d.ts.map +1 -1
  11. package/dist/app/ProjectDetailScreen.js +4 -3
  12. package/dist/app/ProjectDetailScreen.js.map +1 -1
  13. package/dist/app/ProjectsOverviewScreen.d.ts.map +1 -1
  14. package/dist/app/ProjectsOverviewScreen.js +4 -4
  15. package/dist/app/ProjectsOverviewScreen.js.map +1 -1
  16. package/dist/app/StudioApp.d.ts.map +1 -1
  17. package/dist/app/StudioApp.js +4 -3
  18. package/dist/app/StudioApp.js.map +1 -1
  19. package/dist/app/workspace/navigation.d.ts +7 -0
  20. package/dist/app/workspace/navigation.d.ts.map +1 -1
  21. package/dist/app/workspace/navigation.js +12 -0
  22. package/dist/app/workspace/navigation.js.map +1 -1
  23. package/dist/app/workspace/workspaceRouter.d.ts +8 -0
  24. package/dist/app/workspace/workspaceRouter.d.ts.map +1 -0
  25. package/dist/app/workspace/workspaceRouter.js +18 -0
  26. package/dist/app/workspace/workspaceRouter.js.map +1 -0
  27. package/dist/host/media/projectBundledMediaService.d.ts +1 -0
  28. package/dist/host/media/projectBundledMediaService.d.ts.map +1 -1
  29. package/dist/host/media/projectBundledMediaService.js +3 -2
  30. package/dist/host/media/projectBundledMediaService.js.map +1 -1
  31. package/dist/host/orchestrator/projectCreationSource.d.ts +1 -0
  32. package/dist/host/orchestrator/projectCreationSource.d.ts.map +1 -1
  33. package/dist/host/templates/index.d.ts +2 -0
  34. package/dist/host/templates/index.d.ts.map +1 -1
  35. package/dist/host/templates/index.js +6 -1
  36. package/dist/host/templates/index.js.map +1 -1
  37. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"CreateCategoriesScreen.d.ts","sourceRoot":"","sources":["../../src/app/CreateCategoriesScreen.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAejD,wBAAgB,sBAAsB,sBAgDrC"}
1
+ {"version":3,"file":"CreateCategoriesScreen.d.ts","sourceRoot":"","sources":["../../src/app/CreateCategoriesScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAgBjD,wBAAgB,sBAAsB,sBAkDrC"}
@@ -1,14 +1,14 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { router } from 'expo-router';
3
2
  import React, { useMemo, useState } from 'react';
4
3
  import { View } from 'react-native';
5
4
  import { useTemplateCatalog } from '../hooks/useTemplateCatalog';
6
5
  import { filterAndSortTemplates } from '../workspaceSearch';
7
6
  import { CategoryCard, EmptyState, LoadingState, SearchResults, styles, ThemedWorkspaceTextInput, WorkspaceScreen, } from './workspace/WorkspacePrimitives';
7
+ import { pushWorkspaceRoute } from './workspace/workspaceRouter';
8
8
  export function CreateCategoriesScreen() {
9
9
  const { catalog, isLoading, error, refresh } = useTemplateCatalog();
10
10
  const [searchQuery, setSearchQuery] = useState('');
11
11
  const results = useMemo(() => (searchQuery.trim() ? filterAndSortTemplates(catalog, searchQuery) : []), [catalog, searchQuery]);
12
- return (_jsxs(WorkspaceScreen, { title: "New Project", subtitle: "Choose a category first.", children: [_jsx(View, { style: styles.toolbar, children: _jsx(ThemedWorkspaceTextInput, { value: searchQuery, onChangeText: setSearchQuery, placeholder: "Search templates globally", accessibilityLabel: "Search templates globally" }) }), isLoading ? (_jsx(LoadingState, { label: "Loading template catalog" })) : error ? (_jsx(EmptyState, { title: "Catalog load failed", detail: error, actionLabel: "Retry", onAction: refresh })) : searchQuery.trim() ? (_jsx(SearchResults, { query: searchQuery, results: results, onClear: () => setSearchQuery(''), onPress: (template) => router.push(`/create/${template.category}/${template.slug}`) })) : (_jsx(View, { style: styles.categoryGrid, children: catalog.categories.map((category) => (_jsx(CategoryCard, { category: category, onPress: () => router.push(`/create/${category.id}`) }, category.id))) }))] }));
12
+ return (_jsxs(WorkspaceScreen, { title: "New Project", subtitle: "Choose a category first.", children: [_jsx(View, { style: styles.toolbar, children: _jsx(ThemedWorkspaceTextInput, { value: searchQuery, onChangeText: setSearchQuery, placeholder: "Search templates globally", accessibilityLabel: "Search templates globally" }) }), isLoading ? (_jsx(LoadingState, { label: "Loading template catalog" })) : error ? (_jsx(EmptyState, { title: "Catalog load failed", detail: error, actionLabel: "Retry", onAction: refresh })) : searchQuery.trim() ? (_jsx(SearchResults, { query: searchQuery, results: results, onClear: () => setSearchQuery(''), onPress: (template) => pushWorkspaceRoute(`/create/${template.category}/${template.slug}`) })) : (_jsx(View, { style: styles.categoryGrid, children: catalog.categories.map((category) => (_jsx(CategoryCard, { category: category, onPress: () => pushWorkspaceRoute(`/create/${category.id}`) }, category.id))) }))] }));
13
13
  }
14
14
  //# sourceMappingURL=CreateCategoriesScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateCategoriesScreen.js","sourceRoot":"","sources":["../../src/app/CreateCategoriesScreen.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,aAAa,EACb,MAAM,EACN,wBAAwB,EACxB,eAAe,GAChB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,UAAU,sBAAsB;IACpC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,kBAAkB,EAAE,CAAC;IACpE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC9E,CAAC,OAAO,EAAE,WAAW,CAAC,CACvB,CAAC;IAEF,OAAO,CACL,MAAC,eAAe,IAAC,KAAK,EAAC,aAAa,EAAC,QAAQ,EAAC,0BAA0B,aACtE,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO,YACzB,KAAC,wBAAwB,IACvB,KAAK,EAAE,WAAW,EAClB,YAAY,EAAE,cAAc,EAC5B,WAAW,EAAC,2BAA2B,EACvC,kBAAkB,EAAC,2BAA2B,GAC9C,GACG,EAEN,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,YAAY,IAAC,KAAK,EAAC,0BAA0B,GAAG,CAClD,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACV,KAAC,UAAU,IACT,KAAK,EAAC,qBAAqB,EAC3B,MAAM,EAAE,KAAK,EACb,WAAW,EAAC,OAAO,EACnB,QAAQ,EAAE,OAAO,GACjB,CACH,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CACvB,KAAC,aAAa,IACZ,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,EACjC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,GACnF,CACH,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,YAAY,YAC7B,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACpC,KAAC,YAAY,IAEX,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,EAAE,EAAE,CAAC,IAF/C,QAAQ,CAAC,EAAE,CAGhB,CACH,CAAC,GACG,CACR,IACe,CACnB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"CreateCategoriesScreen.js","sourceRoot":"","sources":["../../src/app/CreateCategoriesScreen.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,aAAa,EACb,MAAM,EACN,wBAAwB,EACxB,eAAe,GAChB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,MAAM,UAAU,sBAAsB;IACpC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,kBAAkB,EAAE,CAAC;IACpE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC9E,CAAC,OAAO,EAAE,WAAW,CAAC,CACvB,CAAC;IAEF,OAAO,CACL,MAAC,eAAe,IAAC,KAAK,EAAC,aAAa,EAAC,QAAQ,EAAC,0BAA0B,aACtE,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO,YACzB,KAAC,wBAAwB,IACvB,KAAK,EAAE,WAAW,EAClB,YAAY,EAAE,cAAc,EAC5B,WAAW,EAAC,2BAA2B,EACvC,kBAAkB,EAAC,2BAA2B,GAC9C,GACG,EAEN,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,YAAY,IAAC,KAAK,EAAC,0BAA0B,GAAG,CAClD,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACV,KAAC,UAAU,IACT,KAAK,EAAC,qBAAqB,EAC3B,MAAM,EAAE,KAAK,EACb,WAAW,EAAC,OAAO,EACnB,QAAQ,EAAE,OAAO,GACjB,CACH,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CACvB,KAAC,aAAa,IACZ,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,EACjC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CACpB,kBAAkB,CAAC,WAAW,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,GAErE,CACH,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,YAAY,YAC7B,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACpC,KAAC,YAAY,IAEX,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,WAAW,QAAQ,CAAC,EAAE,EAAE,CAAC,IAFtD,QAAQ,CAAC,EAAE,CAGhB,CACH,CAAC,GACG,CACR,IACe,CACnB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreateCategoryTemplatesScreen.d.ts","sourceRoot":"","sources":["../../src/app/CreateCategoryTemplatesScreen.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,wBAAgB,6BAA6B,sBA2C5C"}
1
+ {"version":3,"file":"CreateCategoryTemplatesScreen.d.ts","sourceRoot":"","sources":["../../src/app/CreateCategoryTemplatesScreen.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,wBAAgB,6BAA6B,sBA2C5C"}
@@ -1,15 +1,16 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { router, useLocalSearchParams } from 'expo-router';
2
+ import { useLocalSearchParams } from 'expo-router';
3
3
  import React from 'react';
4
4
  import { View } from 'react-native';
5
5
  import { useTemplateCatalog } from '../hooks/useTemplateCatalog';
6
6
  import { EmptyState, LoadingState, styles, TemplateCard, WorkspaceScreen, } from './workspace/WorkspacePrimitives';
7
7
  import { resolveWorkspaceCategoryParam } from './workspace/routeParams';
8
+ import { pushWorkspaceRoute, replaceWorkspaceRoute } from './workspace/workspaceRouter';
8
9
  export function CreateCategoryTemplatesScreen() {
9
10
  const { category, categoryParam } = useCategoryRouteParams();
10
11
  const { catalog, isLoading, error, refresh } = useTemplateCatalog();
11
12
  const selected = category ? catalog.categories.find((entry) => entry.id === category) : undefined;
12
- return (_jsx(WorkspaceScreen, { title: selected?.label ?? 'Templates', subtitle: categoryParam, children: isLoading ? (_jsx(LoadingState, { label: "Loading templates" })) : error ? (_jsx(EmptyState, { title: "Catalog load failed", detail: error, actionLabel: "Retry", onAction: refresh })) : !selected ? (_jsx(EmptyState, { title: "Category not found", detail: `The requested template category "${categoryParam}" is not available.`, actionLabel: "Back to categories", onAction: () => router.replace('/create') })) : selected.templates.length === 0 ? (_jsx(EmptyState, { title: "No templates in this category", detail: "Choose a different category.", actionLabel: "Back to categories", onAction: () => router.push('/create') })) : (_jsx(View, { style: styles.templateGrid, children: selected.templates.map((template) => (_jsx(TemplateCard, { template: template, onPress: () => router.push(`/create/${category}/${template.slug}`) }, template.id))) })) }));
13
+ return (_jsx(WorkspaceScreen, { title: selected?.label ?? 'Templates', subtitle: categoryParam, children: isLoading ? (_jsx(LoadingState, { label: "Loading templates" })) : error ? (_jsx(EmptyState, { title: "Catalog load failed", detail: error, actionLabel: "Retry", onAction: refresh })) : !selected ? (_jsx(EmptyState, { title: "Category not found", detail: `The requested template category "${categoryParam}" is not available.`, actionLabel: "Back to categories", onAction: () => replaceWorkspaceRoute('/create') })) : selected.templates.length === 0 ? (_jsx(EmptyState, { title: "No templates in this category", detail: "Choose a different category.", actionLabel: "Back to categories", onAction: () => pushWorkspaceRoute('/create') })) : (_jsx(View, { style: styles.templateGrid, children: selected.templates.map((template) => (_jsx(TemplateCard, { template: template, onPress: () => pushWorkspaceRoute(`/create/${category}/${template.slug}`) }, template.id))) })) }));
13
14
  }
14
15
  function useCategoryRouteParams() {
15
16
  const params = useLocalSearchParams();
@@ -1 +1 @@
1
- {"version":3,"file":"CreateCategoryTemplatesScreen.js","sourceRoot":"","sources":["../../src/app/CreateCategoryTemplatesScreen.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EACL,UAAU,EACV,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,eAAe,GAChB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAExE,MAAM,UAAU,6BAA6B;IAC3C,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAC7D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,kBAAkB,EAAE,CAAC;IACpE,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAElG,OAAO,CACL,KAAC,eAAe,IAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,WAAW,EAAE,QAAQ,EAAE,aAAa,YAC5E,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,YAAY,IAAC,KAAK,EAAC,mBAAmB,GAAG,CAC3C,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACV,KAAC,UAAU,IACT,KAAK,EAAC,qBAAqB,EAC3B,MAAM,EAAE,KAAK,EACb,WAAW,EAAC,OAAO,EACnB,QAAQ,EAAE,OAAO,GACjB,CACH,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CACd,KAAC,UAAU,IACT,KAAK,EAAC,oBAAoB,EAC1B,MAAM,EAAE,oCAAoC,aAAa,qBAAqB,EAC9E,WAAW,EAAC,oBAAoB,EAChC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GACzC,CACH,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACpC,KAAC,UAAU,IACT,KAAK,EAAC,+BAA+B,EACrC,MAAM,EAAC,8BAA8B,EACrC,WAAW,EAAC,oBAAoB,EAChC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GACtC,CACH,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,YAAY,YAC7B,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACpC,KAAC,YAAY,IAEX,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,IAF7D,QAAQ,CAAC,EAAE,CAGhB,CACH,CAAC,GACG,CACR,GACe,CACnB,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,MAAM,GAAG,oBAAoB,EAAyB,CAAC;IAC7D,OAAO,6BAA6B,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,UAAU,CAAC,KAAoC;IACtD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;AACjE,CAAC"}
1
+ {"version":3,"file":"CreateCategoryTemplatesScreen.js","sourceRoot":"","sources":["../../src/app/CreateCategoryTemplatesScreen.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EACL,UAAU,EACV,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,eAAe,GAChB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAExF,MAAM,UAAU,6BAA6B;IAC3C,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAC7D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,kBAAkB,EAAE,CAAC;IACpE,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAElG,OAAO,CACL,KAAC,eAAe,IAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,WAAW,EAAE,QAAQ,EAAE,aAAa,YAC5E,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,YAAY,IAAC,KAAK,EAAC,mBAAmB,GAAG,CAC3C,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACV,KAAC,UAAU,IACT,KAAK,EAAC,qBAAqB,EAC3B,MAAM,EAAE,KAAK,EACb,WAAW,EAAC,OAAO,EACnB,QAAQ,EAAE,OAAO,GACjB,CACH,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CACd,KAAC,UAAU,IACT,KAAK,EAAC,oBAAoB,EAC1B,MAAM,EAAE,oCAAoC,aAAa,qBAAqB,EAC9E,WAAW,EAAC,oBAAoB,EAChC,QAAQ,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,GAChD,CACH,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACpC,KAAC,UAAU,IACT,KAAK,EAAC,+BAA+B,EACrC,MAAM,EAAC,8BAA8B,EACrC,WAAW,EAAC,oBAAoB,EAChC,QAAQ,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAC7C,CACH,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,YAAY,YAC7B,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACpC,KAAC,YAAY,IAEX,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,WAAW,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,IAFpE,QAAQ,CAAC,EAAE,CAGhB,CACH,CAAC,GACG,CACR,GACe,CACnB,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,MAAM,GAAG,oBAAoB,EAAyB,CAAC;IAC7D,OAAO,6BAA6B,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,UAAU,CAAC,KAAoC;IACtD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;AACjE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreateProjectFromTemplateScreen.d.ts","sourceRoot":"","sources":["../../src/app/CreateProjectFromTemplateScreen.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAmBjD,wBAAgB,+BAA+B,sBA6H9C"}
1
+ {"version":3,"file":"CreateProjectFromTemplateScreen.d.ts","sourceRoot":"","sources":["../../src/app/CreateProjectFromTemplateScreen.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAoBjD,wBAAgB,+BAA+B,sBA6H9C"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Heading, Text } from '@ankhorage/zora';
3
- import { router, useLocalSearchParams } from 'expo-router';
3
+ import { useLocalSearchParams } from 'expo-router';
4
4
  import React, { useMemo, useState } from 'react';
5
5
  import { View } from 'react-native';
6
6
  import { ProjectCreationError, useProjects } from '../hooks/useProjects';
@@ -8,6 +8,7 @@ import { useTemplateCatalog } from '../hooks/useTemplateCatalog';
8
8
  import { EmptyState, InlineMessage, LoadingState, MetadataRows, PrimaryAction, SecondaryAction, styles, ThemedWorkspaceTextInput, WorkspaceScreen, } from './workspace/WorkspacePrimitives';
9
9
  import { resolveCreateProjectFormState } from './workspace/createProjectFormState';
10
10
  import { resolveWorkspaceCategoryParam } from './workspace/routeParams';
11
+ import { replaceWorkspaceRoute } from './workspace/workspaceRouter';
11
12
  export function CreateProjectFromTemplateScreen() {
12
13
  const { category, categoryParam, slug } = useTemplateRouteParams();
13
14
  const { catalog, isLoading, error, refresh } = useTemplateCatalog();
@@ -38,7 +39,7 @@ export function CreateProjectFromTemplateScreen() {
38
39
  slug: template.slug,
39
40
  name: projectName,
40
41
  });
41
- router.replace(`/projects/${result.id}`);
42
+ replaceWorkspaceRoute(`/projects/${result.id}`);
42
43
  }
43
44
  catch (caught) {
44
45
  console.error(caught);
@@ -48,7 +49,7 @@ export function CreateProjectFromTemplateScreen() {
48
49
  setIsCreating(false);
49
50
  }
50
51
  }
51
- return (_jsx(WorkspaceScreen, { title: "Create Project", subtitle: selectedCategory?.label ?? categoryParam, children: isLoading ? (_jsx(LoadingState, { label: "Loading template" })) : error ? (_jsx(EmptyState, { title: "Catalog load failed", detail: error, actionLabel: "Retry", onAction: refresh })) : !selectedCategory ? (_jsx(EmptyState, { title: "Category not found", detail: `The requested template category "${categoryParam}" is not available.`, actionLabel: "Back to categories", onAction: () => router.replace('/create') })) : !template ? (_jsx(EmptyState, { title: "Template not found", detail: "The selected template is not available.", actionLabel: "Back to templates", onAction: () => router.replace(`/create/${selectedCategory.id}`) })) : (_jsxs(View, { style: styles.createLayout, children: [_jsxs(View, { style: styles.detailPanel, children: [_jsx(Text, { color: "neutral", emphasis: "muted", variant: "caption", children: "Template" }), _jsx(Heading, { level: 2, text: template.name }), _jsxs(Text, { color: "neutral", emphasis: "muted", children: ["#", template.slug] })] }), _jsxs(View, { style: styles.lifecyclePanel, children: [_jsx(Heading, { level: 3, text: "Project" }), _jsxs(View, { style: styles.fieldGroup, children: [_jsx(Text, { weight: "semiBold", children: "Project name" }), _jsx(ThemedWorkspaceTextInput, { value: projectName, onChangeText: setProjectName, placeholder: "Release Monitor", accessibilityLabel: "Project name" })] }), _jsx(MetadataRows, { rows: [['Project ID', formState.derivedProjectId || 'Derived from project name']] }), projectsLoading ? (_jsx(InlineMessage, { tone: "info", text: "Loading existing projects." })) : null, projectsError ? (_jsxs(View, { style: styles.actionStack, children: [_jsx(InlineMessage, { tone: "error", text: projectsError }), _jsx(SecondaryAction, { label: "Retry projects", onPress: refreshProjects })] })) : null, formState.validation?.ok === false && projectName.trim() ? (_jsx(InlineMessage, { tone: "error", text: formState.validation.reason.message })) : null, submitError ? _jsx(InlineMessage, { tone: "error", text: submitError }) : null, _jsx(PrimaryAction, { iconName: "checkmark-outline", label: isCreating ? 'Creating' : 'Create project', disabled: !formState.canCreate, onPress: () => void handleCreate() })] })] })) }));
52
+ return (_jsx(WorkspaceScreen, { title: "Create Project", subtitle: selectedCategory?.label ?? categoryParam, children: isLoading ? (_jsx(LoadingState, { label: "Loading template" })) : error ? (_jsx(EmptyState, { title: "Catalog load failed", detail: error, actionLabel: "Retry", onAction: refresh })) : !selectedCategory ? (_jsx(EmptyState, { title: "Category not found", detail: `The requested template category "${categoryParam}" is not available.`, actionLabel: "Back to categories", onAction: () => replaceWorkspaceRoute('/create') })) : !template ? (_jsx(EmptyState, { title: "Template not found", detail: "The selected template is not available.", actionLabel: "Back to templates", onAction: () => replaceWorkspaceRoute(`/create/${selectedCategory.id}`) })) : (_jsxs(View, { style: styles.createLayout, children: [_jsxs(View, { style: styles.detailPanel, children: [_jsx(Text, { color: "neutral", emphasis: "muted", variant: "caption", children: "Template" }), _jsx(Heading, { level: 2, text: template.name }), _jsxs(Text, { color: "neutral", emphasis: "muted", children: ["#", template.slug] })] }), _jsxs(View, { style: styles.lifecyclePanel, children: [_jsx(Heading, { level: 3, text: "Project" }), _jsxs(View, { style: styles.fieldGroup, children: [_jsx(Text, { weight: "semiBold", children: "Project name" }), _jsx(ThemedWorkspaceTextInput, { value: projectName, onChangeText: setProjectName, placeholder: "Release Monitor", accessibilityLabel: "Project name" })] }), _jsx(MetadataRows, { rows: [['Project ID', formState.derivedProjectId || 'Derived from project name']] }), projectsLoading ? (_jsx(InlineMessage, { tone: "info", text: "Loading existing projects." })) : null, projectsError ? (_jsxs(View, { style: styles.actionStack, children: [_jsx(InlineMessage, { tone: "error", text: projectsError }), _jsx(SecondaryAction, { label: "Retry projects", onPress: refreshProjects })] })) : null, formState.validation?.ok === false && projectName.trim() ? (_jsx(InlineMessage, { tone: "error", text: formState.validation.reason.message })) : null, submitError ? _jsx(InlineMessage, { tone: "error", text: submitError }) : null, _jsx(PrimaryAction, { iconName: "checkmark-outline", label: isCreating ? 'Creating' : 'Create project', disabled: !formState.canCreate, onPress: () => void handleCreate() })] })] })) }));
52
53
  }
53
54
  /*** Resolve the category and standalone template slug from the Expo Router params. */
54
55
  function useTemplateRouteParams() {
@@ -1 +1 @@
1
- {"version":3,"file":"CreateProjectFromTemplateScreen.js","sourceRoot":"","sources":["../../src/app/CreateProjectFromTemplateScreen.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CreateProjectFromTemplateScreen.js","sourceRoot":"","sources":["../../src/app/CreateProjectFromTemplateScreen.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectDetailScreen.d.ts","sourceRoot":"","sources":["../../src/app/ProjectDetailScreen.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAiBxC,wBAAgB,mBAAmB,sBA8KlC"}
1
+ {"version":3,"file":"ProjectDetailScreen.d.ts","sourceRoot":"","sources":["../../src/app/ProjectDetailScreen.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAkBxC,wBAAgB,mBAAmB,sBA8KlC"}
@@ -1,11 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Heading, Text } from '@ankhorage/zora';
3
- import { router, useLocalSearchParams } from 'expo-router';
3
+ import { useLocalSearchParams } from 'expo-router';
4
4
  import React, { useState } from 'react';
5
5
  import { Alert, Linking, View } from 'react-native';
6
6
  import { useProjects } from '../hooks/useProjects';
7
7
  import { confirmDelete, openProjectUrl } from '../workspacePlatform';
8
8
  import { EmptyState, formatCategory, formatDate, InlineMessage, LifecycleAction, LoadingState, MetadataRows, styles, WorkspaceScreen, } from './workspace/WorkspacePrimitives';
9
+ import { replaceWorkspaceRoute } from './workspace/workspaceRouter';
9
10
  export function ProjectDetailScreen() {
10
11
  const { projectId } = useProjectRouteParams();
11
12
  const { projects, isLoading, error, refresh, deleteProject, syncProject, installProjectPackages, upProjectInfrastructure, launchProject, } = useProjects();
@@ -50,12 +51,12 @@ export function ProjectDetailScreen() {
50
51
  confirmDelete(project.name, () => {
51
52
  void runAction('Delete project', async () => {
52
53
  await deleteProject(project.id);
53
- router.replace('/');
54
+ replaceWorkspaceRoute('/');
54
55
  return `Deleted ${project.name}.`;
55
56
  });
56
57
  }, Alert.alert);
57
58
  };
58
- return (_jsx(WorkspaceScreen, { title: "Project Detail", subtitle: projectId, children: isLoading ? (_jsx(LoadingState, { label: "Loading project" })) : error ? (_jsx(EmptyState, { title: "Host connection failed", detail: error, actionLabel: "Retry", onAction: refresh })) : !project ? (_jsx(EmptyState, { title: "Project not found", detail: "The requested project is not available in this workspace.", actionLabel: "Back to projects", onAction: () => router.replace('/') })) : (_jsxs(View, { style: styles.detailLayout, children: [_jsxs(View, { style: styles.detailPanel, children: [_jsx(View, { style: [
59
+ return (_jsx(WorkspaceScreen, { title: "Project Detail", subtitle: projectId, children: isLoading ? (_jsx(LoadingState, { label: "Loading project" })) : error ? (_jsx(EmptyState, { title: "Host connection failed", detail: error, actionLabel: "Retry", onAction: refresh })) : !project ? (_jsx(EmptyState, { title: "Project not found", detail: "The requested project is not available in this workspace.", actionLabel: "Back to projects", onAction: () => replaceWorkspaceRoute('/') })) : (_jsxs(View, { style: styles.detailLayout, children: [_jsxs(View, { style: styles.detailPanel, children: [_jsx(View, { style: [
59
60
  styles.themeStripe,
60
61
  { backgroundColor: project.activeTheme.light.primaryColor },
61
62
  ] }), _jsxs(View, { style: styles.nameSlugRow, children: [_jsx(Heading, { level: 2, text: project.name }), _jsxs(Text, { color: "neutral", emphasis: "muted", variant: "caption", children: ["#", project.id] })] }), _jsx(MetadataRows, { rows: [
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectDetailScreen.js","sourceRoot":"","sources":["../../src/app/ProjectDetailScreen.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProjectDetailScreen.js","sourceRoot":"","sources":["../../src/app/ProjectDetailScreen.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectsOverviewScreen.d.ts","sourceRoot":"","sources":["../../src/app/ProjectsOverviewScreen.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAiBjD,wBAAgB,sBAAsB,sBAyErC"}
1
+ {"version":3,"file":"ProjectsOverviewScreen.d.ts","sourceRoot":"","sources":["../../src/app/ProjectsOverviewScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAkBjD,wBAAgB,sBAAsB,sBAyErC"}
@@ -1,10 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { router } from 'expo-router';
3
2
  import React, { useMemo, useState } from 'react';
4
3
  import { View } from 'react-native';
5
4
  import { useProjects } from '../hooks/useProjects';
6
5
  import { filterAndSortProjects } from '../workspaceSearch';
7
6
  import { EmptyState, LoadingState, PrimaryAction, ProjectOverviewCard, SegmentedControl, styles, ThemedWorkspaceTextInput, WorkspaceScreen, } from './workspace/WorkspacePrimitives';
7
+ import { pushWorkspaceRoute } from './workspace/workspaceRouter';
8
8
  export function ProjectsOverviewScreen() {
9
9
  const { projects, isLoading, error, refresh } = useProjects();
10
10
  const [searchQuery, setSearchQuery] = useState('');
@@ -13,15 +13,15 @@ export function ProjectsOverviewScreen() {
13
13
  return (_jsxs(WorkspaceScreen, { title: "Projects", subtitle: "Choose a workspace project.", children: [_jsxs(View, { style: styles.toolbar, children: [_jsx(ThemedWorkspaceTextInput, { value: searchQuery, onChangeText: setSearchQuery, placeholder: "Search projects", accessibilityLabel: "Search projects" }), _jsx(SegmentedControl, { value: sort, options: [
14
14
  { label: 'Updated', value: 'updated-desc' },
15
15
  { label: 'Name', value: 'name-asc' },
16
- ], onChange: (value) => setSort(value) }), _jsx(PrimaryAction, { iconName: "add-outline", label: "New project", onPress: () => router.push('/create') })] }), isLoading ? (_jsx(LoadingState, { label: "Loading projects" })) : error ? (_jsx(EmptyState, { title: "Host connection failed", detail: error, actionLabel: "Retry", onAction: refresh })) : filteredProjects.length === 0 ? (_jsx(EmptyState, { title: searchQuery.trim() ? 'No matching projects' : 'No projects yet', detail: searchQuery.trim()
16
+ ], onChange: (value) => setSort(value) }), _jsx(PrimaryAction, { iconName: "add-outline", label: "New project", onPress: () => pushWorkspaceRoute('/create') })] }), isLoading ? (_jsx(LoadingState, { label: "Loading projects" })) : error ? (_jsx(EmptyState, { title: "Host connection failed", detail: error, actionLabel: "Retry", onAction: refresh })) : filteredProjects.length === 0 ? (_jsx(EmptyState, { title: searchQuery.trim() ? 'No matching projects' : 'No projects yet', detail: searchQuery.trim()
17
17
  ? 'Clear search or choose a different project query.'
18
18
  : 'Create the first generated app for this workspace.', actionLabel: searchQuery.trim() ? 'Clear search' : 'New project', onAction: () => {
19
19
  if (searchQuery.trim()) {
20
20
  setSearchQuery('');
21
21
  }
22
22
  else {
23
- router.push('/create');
23
+ pushWorkspaceRoute('/create');
24
24
  }
25
- } })) : (_jsx(View, { style: styles.projectGrid, children: filteredProjects.map((project) => (_jsx(ProjectOverviewCard, { project: project, onPress: () => router.push(`/projects/${project.id}`) }, project.id))) }))] }));
25
+ } })) : (_jsx(View, { style: styles.projectGrid, children: filteredProjects.map((project) => (_jsx(ProjectOverviewCard, { project: project, onPress: () => pushWorkspaceRoute(`/projects/${project.id}`) }, project.id))) }))] }));
26
26
  }
27
27
  //# sourceMappingURL=ProjectsOverviewScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectsOverviewScreen.js","sourceRoot":"","sources":["../../src/app/ProjectsOverviewScreen.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProjectsOverviewScreen.js","sourceRoot":"","sources":["../../src/app/ProjectsOverviewScreen.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"StudioApp.d.ts","sourceRoot":"","sources":["../../src/app/StudioApp.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAMxC,wBAAgB,SAAS,sBAQxB"}
1
+ {"version":3,"file":"StudioApp.d.ts","sourceRoot":"","sources":["../../src/app/StudioApp.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAOxC,wBAAgB,SAAS,sBAQxB"}
@@ -6,6 +6,7 @@ import React, { useState } from 'react';
6
6
  import { Pressable, StyleSheet, View } from 'react-native';
7
7
  import { SafeAreaProvider, SafeAreaView } from 'react-native-safe-area-context';
8
8
  import { resolveWorkspaceParentPath } from './workspace/navigation';
9
+ import { goBackFromWorkspaceRoute, replaceWorkspaceRoute } from './workspace/workspaceRouter';
9
10
  export function StudioApp() {
10
11
  return (_jsx(SafeAreaProvider, { children: _jsx(ZoraProvider, { initialMode: "dark", children: _jsx(StudioAppRootContent, {}) }) }));
11
12
  }
@@ -17,10 +18,10 @@ function StudioAppRootContent() {
17
18
  if (!parentPath)
18
19
  return;
19
20
  if (router.canGoBack()) {
20
- router.back();
21
+ goBackFromWorkspaceRoute();
21
22
  return;
22
23
  }
23
- router.replace(parentPath);
24
+ replaceWorkspaceRoute(parentPath);
24
25
  }
25
26
  return (_jsxs(View, { style: [styles.root, { backgroundColor: theme.colors.background }], children: [_jsxs(SafeAreaView, { edges: ['top', 'left', 'right'], style: [
26
27
  styles.appBar,
@@ -30,7 +31,7 @@ function StudioAppRootContent() {
30
31
  function AppBarBrand() {
31
32
  const { theme } = useZoraTheme();
32
33
  const [focused, setFocused] = useState(false);
33
- return (_jsxs(Pressable, { onPress: () => router.replace('/'), onFocus: () => setFocused(true), onBlur: () => setFocused(false), accessibilityRole: "button", accessibilityLabel: "Go to projects", style: [styles.brand, { borderColor: focused ? theme.colors.primary : 'transparent' }], children: [_jsx(Icon, { name: "cube-outline", provider: "Ionicons", size: 22, color: "primary" }), _jsx(Text, { weight: "semiBold", children: "Ankh Studio" })] }));
34
+ return (_jsxs(Pressable, { onPress: () => replaceWorkspaceRoute('/'), onFocus: () => setFocused(true), onBlur: () => setFocused(false), accessibilityRole: "button", accessibilityLabel: "Go to projects", style: [styles.brand, { borderColor: focused ? theme.colors.primary : 'transparent' }], children: [_jsx(Icon, { name: "cube-outline", provider: "Ionicons", size: 22, color: "primary" }), _jsx(Text, { weight: "semiBold", children: "Ankh Studio" })] }));
34
35
  }
35
36
  function IconButton(props) {
36
37
  const { theme } = useZoraTheme();
@@ -1 +1 @@
1
- {"version":3,"file":"StudioApp.js","sourceRoot":"","sources":["../../src/app/StudioApp.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StudioApp.js","sourceRoot":"","sources":["../../src/app/StudioApp.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,9 @@
1
+ interface FocusableWorkspaceElement {
2
+ blur: () => void;
3
+ }
4
+ /*** Move focus out of an outgoing web route before Expo Router hides it from assistive technology. */
5
+ export declare function releaseWorkspaceFocus(activeElement?: FocusableWorkspaceElement | null): void;
6
+ /*** Resolve the active Workspace route's canonical parent fallback. */
1
7
  export declare function resolveWorkspaceParentPath(pathname: string): string | null;
8
+ export {};
2
9
  //# sourceMappingURL=navigation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/app/workspace/navigation.ts"],"names":[],"mappings":"AAAA,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAa1E"}
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/app/workspace/navigation.ts"],"names":[],"mappings":"AAAA,UAAU,yBAAyB;IACjC,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,sGAAsG;AACtG,wBAAgB,qBAAqB,CACnC,aAAa,GAAE,yBAAyB,GAAG,IAAmC,GAC7E,IAAI,CAEN;AAED,uEAAuE;AACvE,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAa1E"}
@@ -1,3 +1,8 @@
1
+ /*** Move focus out of an outgoing web route before Expo Router hides it from assistive technology. */
2
+ export function releaseWorkspaceFocus(activeElement = getFocusedWorkspaceElement()) {
3
+ activeElement?.blur();
4
+ }
5
+ /*** Resolve the active Workspace route's canonical parent fallback. */
1
6
  export function resolveWorkspaceParentPath(pathname) {
2
7
  const normalized = normalizePathname(pathname);
3
8
  if (normalized === '/')
@@ -20,4 +25,11 @@ function normalizePathname(pathname) {
20
25
  return '/';
21
26
  return `/${trimmed.replace(/^\/+|\/+$/g, '')}`;
22
27
  }
28
+ /*** Read the currently focused HTML element when Studio runs on the web. */
29
+ function getFocusedWorkspaceElement() {
30
+ if (typeof document === 'undefined')
31
+ return null;
32
+ const { activeElement } = document;
33
+ return activeElement instanceof HTMLElement ? activeElement : null;
34
+ }
23
35
  //# sourceMappingURL=navigation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../src/app/workspace/navigation.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,0BAA0B,CAAC,QAAgB;IACzD,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAE/C,IAAI,UAAU,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IACzC,IAAI,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,GAAG,CAAC;IAEpD,MAAM,WAAW,GAAG,oCAAoC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1E,IAAI,CAAC,WAAW;QAAE,OAAO,GAAG,CAAC;IAE7B,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,WAAW,CAAC;IAC7C,IAAI,QAAQ,IAAI,UAAU;QAAE,OAAO,WAAW,QAAQ,EAAE,CAAC;IACzD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB;IACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,GAAG,CAAC;IAC5C,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../src/app/workspace/navigation.ts"],"names":[],"mappings":"AAIA,sGAAsG;AACtG,MAAM,UAAU,qBAAqB,CACnC,gBAAkD,0BAA0B,EAAE;IAE9E,aAAa,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,0BAA0B,CAAC,QAAgB;IACzD,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAE/C,IAAI,UAAU,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IACzC,IAAI,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,GAAG,CAAC;IAEpD,MAAM,WAAW,GAAG,oCAAoC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1E,IAAI,CAAC,WAAW;QAAE,OAAO,GAAG,CAAC;IAE7B,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,WAAW,CAAC;IAC7C,IAAI,QAAQ,IAAI,UAAU;QAAE,OAAO,WAAW,QAAQ,EAAE,CAAC;IACzD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB;IACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,GAAG,CAAC;IAC5C,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC;AACjD,CAAC;AAED,4EAA4E;AAC5E,SAAS,0BAA0B;IACjC,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAEjD,MAAM,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC;IACnC,OAAO,aAAa,YAAY,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;AACrE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { type Href } from 'expo-router';
2
+ /*** Navigate forward after releasing browser focus from the outgoing Workspace route. */
3
+ export declare function pushWorkspaceRoute(href: Href): void;
4
+ /*** Replace the current route after releasing browser focus from the outgoing Workspace route. */
5
+ export declare function replaceWorkspaceRoute(href: Href): void;
6
+ /*** Return to the preceding route after releasing browser focus from the outgoing Workspace route. */
7
+ export declare function goBackFromWorkspaceRoute(): void;
8
+ //# sourceMappingURL=workspaceRouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaceRouter.d.ts","sourceRoot":"","sources":["../../../src/app/workspace/workspaceRouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAU,MAAM,aAAa,CAAC;AAIhD,yFAAyF;AACzF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAGnD;AAED,kGAAkG;AAClG,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAGtD;AAED,sGAAsG;AACtG,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C"}
@@ -0,0 +1,18 @@
1
+ import { router } from 'expo-router';
2
+ import { releaseWorkspaceFocus } from './navigation';
3
+ /*** Navigate forward after releasing browser focus from the outgoing Workspace route. */
4
+ export function pushWorkspaceRoute(href) {
5
+ releaseWorkspaceFocus();
6
+ router.push(href);
7
+ }
8
+ /*** Replace the current route after releasing browser focus from the outgoing Workspace route. */
9
+ export function replaceWorkspaceRoute(href) {
10
+ releaseWorkspaceFocus();
11
+ router.replace(href);
12
+ }
13
+ /*** Return to the preceding route after releasing browser focus from the outgoing Workspace route. */
14
+ export function goBackFromWorkspaceRoute() {
15
+ releaseWorkspaceFocus();
16
+ router.back();
17
+ }
18
+ //# sourceMappingURL=workspaceRouter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaceRouter.js","sourceRoot":"","sources":["../../../src/app/workspace/workspaceRouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,yFAAyF;AACzF,MAAM,UAAU,kBAAkB,CAAC,IAAU;IAC3C,qBAAqB,EAAE,CAAC;IACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,qBAAqB,CAAC,IAAU;IAC9C,qBAAqB,EAAE,CAAC;IACxB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,wBAAwB;IACtC,qBAAqB,EAAE,CAAC;IACxB,MAAM,CAAC,IAAI,EAAE,CAAC;AAChB,CAAC"}
@@ -2,6 +2,7 @@ import type { MediaAsset, MediaAssetKind, MediaBundledSource } from '@ankhorage/
2
2
  export interface ProjectBundledMediaInput {
3
3
  readonly assetId: string;
4
4
  readonly name: string;
5
+ readonly fileName?: string;
5
6
  readonly kind: MediaAssetKind;
6
7
  readonly body: Uint8Array;
7
8
  readonly contentType?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"projectBundledMediaService.d.ts","sourceRoot":"","sources":["../../../src/host/media/projectBundledMediaService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAQ3F,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,0GAA0G;AAC1G,qBAAa,0BAA0B;IAEzB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAD1C,0EAA0E;gBAC7C,aAAa,EAAE,MAAM;IAElD,wGAAwG;IAClG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,UAAU,CAAC;IAuBrF,qFAAqF;IAC/E,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CAK3E;AAED,2EAA2E;AAC3E,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzF"}
1
+ {"version":3,"file":"projectBundledMediaService.d.ts","sourceRoot":"","sources":["../../../src/host/media/projectBundledMediaService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAQ3F,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,0GAA0G;AAC1G,qBAAa,0BAA0B;IAEzB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAD1C,0EAA0E;gBAC7C,aAAa,EAAE,MAAM;IAElD,wGAAwG;IAClG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,UAAU,CAAC;IAwBrF,qFAAqF;IAC/E,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CAK3E;AAED,2EAA2E;AAC3E,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzF"}
@@ -13,7 +13,8 @@ export class ProjectBundledMediaService {
13
13
  /*** Write one bundled authoring asset, regenerate its registry, and return canonical media metadata. */
14
14
  async bundle(projectId, input) {
15
15
  const projectPath = getProjectPath(this.workspaceRoot, projectId);
16
- const bundledPath = createBundledAuthoringMediaPath(input.assetId, input.name);
16
+ const fileName = input.fileName ?? input.name;
17
+ const bundledPath = createBundledAuthoringMediaPath(input.assetId, fileName);
17
18
  await writeProjectAuthoringAsset(projectPath, bundledPath, input.body);
18
19
  await syncProjectBundledMediaRegistry(projectPath);
19
20
  return {
@@ -23,7 +24,7 @@ export class ProjectBundledMediaService {
23
24
  source: { kind: 'bundled', path: bundledPath },
24
25
  contentType: input.contentType,
25
26
  metadata: {
26
- originalFileName: input.name,
27
+ originalFileName: fileName,
27
28
  sizeBytes: input.sizeBytes ?? input.body.byteLength,
28
29
  width: input.width,
29
30
  height: input.height,
@@ -1 +1 @@
1
- {"version":3,"file":"projectBundledMediaService.js","sourceRoot":"","sources":["../../../src/host/media/projectBundledMediaService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAc5E,0GAA0G;AAC1G,MAAM,OAAO,0BAA0B;IAER;IAD7B,0EAA0E;IAC1E,YAA6B,aAAqB;QAArB,kBAAa,GAAb,aAAa,CAAQ;IAAG,CAAC;IAEtD,wGAAwG;IACxG,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,KAA+B;QAC7D,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAClE,MAAM,WAAW,GAAG,+BAA+B,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/E,MAAM,0BAA0B,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,+BAA+B,CAAC,WAAW,CAAC,CAAC;QAEnD,OAAO;YACL,EAAE,EAAE,KAAK,CAAC,OAAO;YACjB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE;YAC9C,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,QAAQ,EAAE;gBACR,gBAAgB,EAAE,KAAK,CAAC,IAAI;gBAC5B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU;gBACnD,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF,CAAC;IACJ,CAAC;IAED,qFAAqF;IACrF,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,MAA0B;QACxD,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAClE,MAAM,2BAA2B,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,+BAA+B,CAAC,WAAW,CAAC,CAAC;IACrD,CAAC;CACF;AAED,2EAA2E;AAC3E,MAAM,UAAU,+BAA+B,CAAC,OAAe,EAAE,QAAgB;IAC/E,OAAO,oBAAoB,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;AAC5G,CAAC"}
1
+ {"version":3,"file":"projectBundledMediaService.js","sourceRoot":"","sources":["../../../src/host/media/projectBundledMediaService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAe5E,0GAA0G;AAC1G,MAAM,OAAO,0BAA0B;IAER;IAD7B,0EAA0E;IAC1E,YAA6B,aAAqB;QAArB,kBAAa,GAAb,aAAa,CAAQ;IAAG,CAAC;IAEtD,wGAAwG;IACxG,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,KAA+B;QAC7D,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC;QAC9C,MAAM,WAAW,GAAG,+BAA+B,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,0BAA0B,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,+BAA+B,CAAC,WAAW,CAAC,CAAC;QAEnD,OAAO;YACL,EAAE,EAAE,KAAK,CAAC,OAAO;YACjB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE;YAC9C,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,QAAQ,EAAE;gBACR,gBAAgB,EAAE,QAAQ;gBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU;gBACnD,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF,CAAC;IACJ,CAAC;IAED,qFAAqF;IACrF,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,MAA0B;QACxD,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAClE,MAAM,2BAA2B,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,+BAA+B,CAAC,WAAW,CAAC,CAAC;IACrD,CAAC;CACF;AAED,2EAA2E;AAC3E,MAAM,UAAU,+BAA+B,CAAC,OAAe,EAAE,QAAgB;IAC/E,OAAO,oBAAoB,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;AAC5G,CAAC"}
@@ -2,6 +2,7 @@ import type { AppManifest, MediaAssetKind } from '@ankhorage/contracts';
2
2
  export interface ProjectCreationAsset {
3
3
  readonly assetId: string;
4
4
  readonly name: string;
5
+ readonly fileName?: string;
5
6
  readonly kind: MediaAssetKind;
6
7
  readonly body: Uint8Array;
7
8
  readonly contentType?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"projectCreationSource.d.ts","sourceRoot":"","sources":["../../../src/host/orchestrator/projectCreationSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAExE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAClD"}
1
+ {"version":3,"file":"projectCreationSource.d.ts","sourceRoot":"","sources":["../../../src/host/orchestrator/projectCreationSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAExE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAClD"}
@@ -15,4 +15,6 @@ export declare function getTemplateCatalog(): TemplateCatalog;
15
15
  * @todo Move portable-template source resolution beside the templates/projects application boundary rather than owning it under host.
16
16
  */
17
17
  export declare function getProjectTemplateSource(selection: ProjectTemplateSelection): Promise<ProjectCreationSource>;
18
+ /*** Extract the packaged file name used when materializing a template image into a generated project. */
19
+ export declare function getTemplateImageFileName(targetPath: string): string;
18
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/host/templates/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,sBAAsB,CAAC;AAQpE,OAAO,KAAK,EAAE,eAAe,EAA2B,MAAM,gCAAgC,CAAC;AAC/F,OAAO,KAAK,EAEV,qBAAqB,EACtB,MAAM,uCAAuC,CAAC;AAE/C,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAKD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAoBpD;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,wBAAwB,GAClC,OAAO,CAAC,qBAAqB,CAAC,CAUhC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/host/templates/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,sBAAsB,CAAC;AAQpE,OAAO,KAAK,EAAE,eAAe,EAA2B,MAAM,gCAAgC,CAAC;AAC/F,OAAO,KAAK,EAEV,qBAAqB,EACtB,MAAM,uCAAuC,CAAC;AAE/C,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAKD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAoBpD;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,wBAAwB,GAClC,OAAO,CAAC,qBAAqB,CAAC,CAUhC;AAuCD,yGAAyG;AACzG,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEnE"}
@@ -1,6 +1,6 @@
1
1
  import { promises as fs } from 'node:fs';
2
2
  import { createRequire } from 'node:module';
3
- import { dirname, join } from 'node:path';
3
+ import { basename, dirname, join } from 'node:path';
4
4
  import { CATEGORY_PRESETS, createTemplateArtifact, listTemplates, } from '@ankhorage/templates';
5
5
  const require = createRequire(import.meta.url);
6
6
  const TEMPLATES_PACKAGE_ROOT = dirname(require.resolve('@ankhorage/templates/package.json'));
@@ -58,6 +58,7 @@ async function readTemplateImageAsset(mediaAssets, asset) {
58
58
  return {
59
59
  assetId: media.id,
60
60
  name: media.name,
61
+ fileName: getTemplateImageFileName(asset.targetPath),
61
62
  kind: media.kind,
62
63
  body,
63
64
  contentType: asset.contentType ?? media.contentType,
@@ -67,4 +68,8 @@ async function readTemplateImageAsset(mediaAssets, asset) {
67
68
  durationMs: media.metadata?.durationMs,
68
69
  };
69
70
  }
71
+ /*** Extract the packaged file name used when materializing a template image into a generated project. */
72
+ export function getTemplateImageFileName(targetPath) {
73
+ return basename(targetPath);
74
+ }
70
75
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/host/templates/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/host/templates/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ankhorage/studio",
3
- "version": "2.0.24",
3
+ "version": "2.0.26",
4
4
  "description": "Studio authoring package for Ankhorage apps",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/ankhorage/studio#readme",
@@ -226,7 +226,7 @@
226
226
  "@ankhorage/supabase-auth": "^1.2.7",
227
227
  "@ankhorage/supabase-storage": "^0.2.0",
228
228
  "@ankhorage/supabase-vault": "^0.2.5",
229
- "@ankhorage/templates": "^9.1.3",
229
+ "@ankhorage/templates": "^9.1.4",
230
230
  "@ankhorage/utility": "^0.3.0",
231
231
  "@ankhorage/zora": "^4.0.0",
232
232
  "@ankhorage/zora-chess": "^0.1.2",