@wix/himalaya-cli 0.1186.0 → 0.1188.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/dev-server/src/app-config.d.ts +1 -0
  2. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/dev-server/src/app-module.d.ts +2 -0
  3. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/sdk/sdk-types/src/capabilities.generated.d.ts +3 -0
  4. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/ts/src/define-app.d.ts +8 -0
  5. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/ts/src/site-shell.d.ts +10 -0
  6. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/core.mjs +4 -0
  7. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/sdui.mjs +1 -0
  8. package/dist/cli.mjs +1647 -719
  9. package/dist/preview-assets.generated.bin +0 -0
  10. package/guides/app-config.md +11 -1
  11. package/guides/capabilities.md +141 -0
  12. package/guides/himi-test.md +31 -0
  13. package/guides/index.json +7 -1
  14. package/guides/qa-builds.md +1 -1
  15. package/package.json +2 -2
  16. package/templates/beauty-salon/dev/index.ts +6 -3
  17. package/templates/beauty-salon/himalaya.content.json +2 -1
  18. package/templates/beauty-salon-owner/dev/index.ts +2 -1
  19. package/templates/beauty-salon-owner/himalaya.content.json +2 -1
  20. package/templates/branded-lite/dev/index.ts +10 -5
  21. package/templates/branded-lite/himalaya.content.json +2 -1
  22. package/templates/brandy/himalaya.content.json +2 -1
  23. package/templates/community-club/dev/index.ts +2 -1
  24. package/templates/community-club/himalaya.content.json +2 -1
  25. package/templates/community-club-owner/dev/index.ts +2 -1
  26. package/templates/community-club-owner/himalaya.content.json +2 -1
  27. package/templates/events-meetups/dev/index.ts +2 -1
  28. package/templates/events-meetups/himalaya.content.json +2 -1
  29. package/templates/events-meetups-owner/dev/index.ts +2 -1
  30. package/templates/events-meetups-owner/himalaya.content.json +2 -1
  31. package/templates/gym-fitness/dev/index.ts +8 -4
  32. package/templates/gym-fitness/himalaya.content.json +2 -1
  33. package/templates/gym-fitness-owner/dev/index.ts +2 -1
  34. package/templates/gym-fitness-owner/himalaya.content.json +2 -1
  35. package/templates/nonprofit-cause/dev/index.ts +4 -2
  36. package/templates/nonprofit-cause/himalaya.content.json +2 -1
  37. package/templates/nonprofit-cause-owner/dev/index.ts +2 -1
  38. package/templates/nonprofit-cause-owner/himalaya.content.json +2 -1
  39. package/templates/owner-lite/dev/index.ts +2 -1
  40. package/templates/owner-lite/himalaya.content.json +2 -1
  41. package/templates/podcast-creator/dev/index.ts +4 -2
  42. package/templates/podcast-creator/himalaya.content.json +2 -1
  43. package/templates/podcast-creator-owner/dev/index.ts +2 -1
  44. package/templates/podcast-creator-owner/himalaya.content.json +2 -1
  45. package/templates/portfolio-creative/dev/index.ts +4 -2
  46. package/templates/portfolio-creative/himalaya.content.json +2 -1
  47. package/templates/portfolio-creative-owner/dev/index.ts +2 -1
  48. package/templates/portfolio-creative-owner/himalaya.content.json +2 -1
  49. package/templates/restaurant/dev/index.ts +2 -1
  50. package/templates/restaurant/himalaya.content.json +2 -1
  51. package/templates/restaurant-owner/dev/index.ts +2 -1
  52. package/templates/restaurant-owner/himalaya.content.json +2 -1
  53. package/templates/retail-store/dev/index.ts +2 -1
  54. package/templates/retail-store/himalaya.content.json +2 -1
  55. package/templates/retail-store-owner/dev/index.ts +2 -1
  56. package/templates/retail-store-owner/himalaya.content.json +2 -1
  57. package/templates/yoga-studio/dev/index.ts +8 -4
  58. package/templates/yoga-studio/himalaya.content.json +2 -1
  59. package/templates/yoga-studio-owner/dev/index.ts +2 -1
  60. package/templates/yoga-studio-owner/himalaya.content.json +2 -1
@@ -72,6 +72,7 @@ export interface NavigationConfig {
72
72
  flagConfig: FlagConfig;
73
73
  push?: PushConfig;
74
74
  appLinkHosts?: string[];
75
+ permissionCopy?: Record<string, string>;
75
76
  control?: AppControl;
76
77
  useProdServe?: boolean;
77
78
  prodServeBaseUrl?: string;
@@ -188,6 +188,8 @@ export interface DerivedAppMeta {
188
188
  control?: import("@wix/himalaya/core").AppControl;
189
189
  /** Forwarded from AppConfig.appLinkHosts for the OTA app-config channel. */
190
190
  appLinkHosts?: string[];
191
+ /** Forwarded from AppConfig.permissionCopy — read by the dist contract (native usage strings). */
192
+ permissionCopy?: Record<string, string>;
191
193
  /** Forwarded from AppConfig.navigation.tabBar — RFC 0010 tab structure. */
192
194
  tabBar?: import("@wix/himalaya/core").TabBarConfig;
193
195
  /** Forwarded from AppConfig.navigation.drawer — RFC 0010 drawer structure. */
@@ -42,3 +42,6 @@ export declare const CAPABILITY_REGISTRY: {
42
42
  export type SdkCapability = "app_info" | "audio_record" | "base44" | "biometrics" | "browser_auth" | "calendar" | "calls" | "camera" | "clipboard" | "contacts" | "file_picker" | "files" | "godot" | "haptic" | "himi_apps" | "iap" | "keyboard" | "live_activity" | "local_database" | "location" | "media_playback" | "motion" | "on_device_ai" | "open_url" | "pdf" | "photos" | "presigned_upload" | "push" | "release_control" | "secure_storage" | "share" | "speaker_diarization" | "speech" | "system_intents" | "tasks" | "ui" | "wix_cashier";
43
43
  /** All `capability.<id>.<verb>` action ids, flattened (the worker-bridge wire vocabulary). */
44
44
  export declare const CAPABILITY_ACTION_IDS: readonly string[];
45
+ /** Capability id → the @himalaya/* package(s) a worker imports to reach it — every dispatch
46
+ * capability, plus bridge-backed ones whose binding builds or wraps its ids (wix_platform, webview). */
47
+ export declare const CAPABILITY_PACKAGES: Readonly<Record<string, readonly string[]>>;
@@ -225,6 +225,14 @@ export interface AppConfig {
225
225
  * omitted. Must satisfy `capabilities ⊆ capabilityEnvelope`.
226
226
  */
227
227
  capabilityEnvelope?: Capability[];
228
+ /**
229
+ * Per-capability permission prompt copy — the sentence the OS shows when the app asks for
230
+ * camera, location, photos, … (iOS usage strings). Served on app-config, so `himi dist` bakes
231
+ * it into an extensible shell's binary for the capabilities this app declares; a capability
232
+ * with no entry gets the catalog's generic sentence. App Review rejects vague copy, so say
233
+ * what THIS app does with it: `{ camera: "Scan a receipt to attach it to an expense." }`.
234
+ */
235
+ permissionCopy?: Partial<Record<Capability, string>>;
228
236
  /**
229
237
  * The ORIENTATION envelope — the widest set of interface orientations the
230
238
  * BINARY is built to permit, per device family (RFC 0041 orientation
@@ -66,6 +66,16 @@ export interface SiteShellConfig {
66
66
  * site's own cookie endpoint signs the WebView in). Set by the shell from its member binding;
67
67
  * a Base44 site always bridges. */
68
68
  sessionBridge?: boolean;
69
+ /** The site's own Members Area pages a member notification can open — My Orders and My Bookings
70
+ * — as paths relative to {@link origin}. They are never navigation rows (a signed-in utility,
71
+ * not a destination), so they live here rather than in {@link pages}; the site analyzer fills
72
+ * them from the pages it actually found. Absent ⇒ that notification opens the home page. */
73
+ memberPages?: SiteMemberPages;
74
+ }
75
+ /** Members Area pages, by what a notification is about. */
76
+ export interface SiteMemberPages {
77
+ orders?: string;
78
+ bookings?: string;
69
79
  }
70
80
  /** At most four site tabs; the rest belong in the drawer. Four, not the usual phone-bar five,
71
81
  * because every tab keeps its WebView warm (`keepAlive`) and the native keep-alive stores
@@ -13373,6 +13373,10 @@ function assertSiteShellConfig(site) {
13373
13373
  seen.add(page.id);
13374
13374
  sitePageUrl(site.origin, page.path);
13375
13375
  }
13376
+ for (const [key, path] of Object.entries(site.memberPages ?? {})) {
13377
+ if (typeof path !== "string" || !path) throw new Error(`site memberPages.${key} must be a path`);
13378
+ sitePageUrl(site.origin, path);
13379
+ }
13376
13380
  if (site.layout !== void 0 && !SITE_LAYOUTS.includes(site.layout)) {
13377
13381
  throw new Error(`site layout ${JSON.stringify(site.layout)} must be one of ${SITE_LAYOUTS.join(", ")}`);
13378
13382
  }
@@ -9071,6 +9071,7 @@ function deriveAppMeta(name, m, platforms = {}, provisioning = {}) {
9071
9071
  ...provisioning.installedVerticals ? { installedVerticals: provisioning.installedVerticals } : {},
9072
9072
  control: config.control,
9073
9073
  appLinkHosts: config.appLinkHosts,
9074
+ permissionCopy: config.permissionCopy,
9074
9075
  tabBar: config.navigation?.tabBar,
9075
9076
  drawer: config.navigation?.drawer,
9076
9077
  navKind: config.navigation?.navKind,