@wix/himalaya-cli 0.1410.0 → 0.1412.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.mjs +1175 -790
- package/guides/release-notes.md +12 -0
- package/guides/wix-business-context.md +32 -0
- package/guides/wix-site-to-himi-app.md +21 -3
- package/package.json +2 -2
- package/templates/beauty-salon-owner/config.ts +29 -0
- package/templates/beauty-salon-owner/dev/index.ts +1121 -0
- package/templates/beauty-salon-owner/himalaya.content.json +6 -0
- package/templates/beauty-salon-owner/tier5-src/_shared/chat-live.ts +242 -0
- package/templates/beauty-salon-owner/tier5-src/_shared/detail-presence.ts +51 -0
- package/templates/beauty-salon-owner/tier5-src/himi-owner-lite-inbox/index.ts +308 -0
- package/templates/beauty-salon-owner/tier5-src/himi-owner-lite-inbox-thread/index.ts +307 -0
- package/templates/branded-lite/dev/index.ts +1 -0
- package/templates/branded-lite/tier5-src/_shared/chat-live.ts +242 -0
- package/templates/branded-lite/tier5-src/wix-spaces-chat-thread/index.ts +131 -21
- package/templates/community-club-owner/config.ts +29 -0
- package/templates/community-club-owner/dev/index.ts +1121 -0
- package/templates/community-club-owner/himalaya.content.json +6 -0
- package/templates/community-club-owner/tier5-src/_shared/chat-live.ts +242 -0
- package/templates/community-club-owner/tier5-src/_shared/detail-presence.ts +51 -0
- package/templates/community-club-owner/tier5-src/himi-owner-lite-inbox/index.ts +308 -0
- package/templates/community-club-owner/tier5-src/himi-owner-lite-inbox-thread/index.ts +307 -0
- package/templates/events-meetups-owner/config.ts +29 -0
- package/templates/events-meetups-owner/dev/index.ts +1121 -0
- package/templates/events-meetups-owner/himalaya.content.json +6 -0
- package/templates/events-meetups-owner/tier5-src/_shared/chat-live.ts +242 -0
- package/templates/events-meetups-owner/tier5-src/_shared/detail-presence.ts +51 -0
- package/templates/events-meetups-owner/tier5-src/himi-owner-lite-inbox/index.ts +308 -0
- package/templates/events-meetups-owner/tier5-src/himi-owner-lite-inbox-thread/index.ts +307 -0
- package/templates/gym-fitness-owner/config.ts +29 -0
- package/templates/gym-fitness-owner/dev/index.ts +1121 -0
- package/templates/gym-fitness-owner/himalaya.content.json +6 -0
- package/templates/gym-fitness-owner/tier5-src/_shared/chat-live.ts +242 -0
- package/templates/gym-fitness-owner/tier5-src/_shared/detail-presence.ts +51 -0
- package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-inbox/index.ts +308 -0
- package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-inbox-thread/index.ts +307 -0
- package/templates/nonprofit-cause-owner/config.ts +29 -0
- package/templates/nonprofit-cause-owner/dev/index.ts +1121 -0
- package/templates/nonprofit-cause-owner/himalaya.content.json +6 -0
- package/templates/nonprofit-cause-owner/tier5-src/_shared/chat-live.ts +242 -0
- package/templates/nonprofit-cause-owner/tier5-src/_shared/detail-presence.ts +51 -0
- package/templates/nonprofit-cause-owner/tier5-src/himi-owner-lite-inbox/index.ts +308 -0
- package/templates/nonprofit-cause-owner/tier5-src/himi-owner-lite-inbox-thread/index.ts +307 -0
- package/templates/owner-lite/config.ts +29 -0
- package/templates/owner-lite/dev/index.ts +1121 -0
- package/templates/owner-lite/himalaya.content.json +6 -0
- package/templates/owner-lite/tier5-src/_shared/chat-live.ts +242 -0
- package/templates/owner-lite/tier5-src/_shared/detail-presence.ts +51 -0
- package/templates/owner-lite/tier5-src/himi-owner-lite-inbox/index.ts +308 -0
- package/templates/owner-lite/tier5-src/himi-owner-lite-inbox-thread/index.ts +307 -0
- package/templates/podcast-creator-owner/config.ts +29 -0
- package/templates/podcast-creator-owner/dev/index.ts +1121 -0
- package/templates/podcast-creator-owner/himalaya.content.json +6 -0
- package/templates/podcast-creator-owner/tier5-src/_shared/chat-live.ts +242 -0
- package/templates/podcast-creator-owner/tier5-src/_shared/detail-presence.ts +51 -0
- package/templates/podcast-creator-owner/tier5-src/himi-owner-lite-inbox/index.ts +308 -0
- package/templates/podcast-creator-owner/tier5-src/himi-owner-lite-inbox-thread/index.ts +307 -0
- package/templates/portfolio-creative-owner/config.ts +29 -0
- package/templates/portfolio-creative-owner/dev/index.ts +1121 -0
- package/templates/portfolio-creative-owner/himalaya.content.json +6 -0
- package/templates/portfolio-creative-owner/tier5-src/_shared/chat-live.ts +242 -0
- package/templates/portfolio-creative-owner/tier5-src/_shared/detail-presence.ts +51 -0
- package/templates/portfolio-creative-owner/tier5-src/himi-owner-lite-inbox/index.ts +308 -0
- package/templates/portfolio-creative-owner/tier5-src/himi-owner-lite-inbox-thread/index.ts +307 -0
- package/templates/restaurant-owner/config.ts +29 -0
- package/templates/restaurant-owner/dev/index.ts +1121 -0
- package/templates/restaurant-owner/himalaya.content.json +6 -0
- package/templates/restaurant-owner/tier5-src/_shared/chat-live.ts +242 -0
- package/templates/restaurant-owner/tier5-src/_shared/detail-presence.ts +51 -0
- package/templates/restaurant-owner/tier5-src/himi-owner-lite-inbox/index.ts +308 -0
- package/templates/restaurant-owner/tier5-src/himi-owner-lite-inbox-thread/index.ts +307 -0
- package/templates/retail-store-owner/config.ts +29 -0
- package/templates/retail-store-owner/dev/index.ts +1121 -0
- package/templates/retail-store-owner/himalaya.content.json +6 -0
- package/templates/retail-store-owner/tier5-src/_shared/chat-live.ts +242 -0
- package/templates/retail-store-owner/tier5-src/_shared/detail-presence.ts +51 -0
- package/templates/retail-store-owner/tier5-src/himi-owner-lite-inbox/index.ts +308 -0
- package/templates/retail-store-owner/tier5-src/himi-owner-lite-inbox-thread/index.ts +307 -0
- package/templates/yoga-studio-owner/config.ts +29 -0
- package/templates/yoga-studio-owner/dev/index.ts +1121 -0
- package/templates/yoga-studio-owner/himalaya.content.json +6 -0
- package/templates/yoga-studio-owner/tier5-src/_shared/chat-live.ts +242 -0
- package/templates/yoga-studio-owner/tier5-src/_shared/detail-presence.ts +51 -0
- package/templates/yoga-studio-owner/tier5-src/himi-owner-lite-inbox/index.ts +308 -0
- package/templates/yoga-studio-owner/tier5-src/himi-owner-lite-inbox-thread/index.ts +307 -0
package/guides/release-notes.md
CHANGED
|
@@ -14,6 +14,18 @@ areas, always in the same order, so you can skim for the one you care about.
|
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
17
|
+
## 2026-10-22
|
|
18
|
+
|
|
19
|
+
### Getting started & the CLI
|
|
20
|
+
|
|
21
|
+
- `himi site analyze` now reads the site's existing Branded app or Spaces app into the
|
|
22
|
+
business book as `book.mobileApp`: its tabs, pages and sections in order, with access
|
|
23
|
+
rules, theme, logo and tagline. Each section is mapped to the Himi screen that recreates it,
|
|
24
|
+
and sections with no equivalent yet are listed as gaps. A Branded app also sets the applied
|
|
25
|
+
app's navigation, primary colour and verticals. A Spaces structure is recorded only, because
|
|
26
|
+
Wix generates one for most sites. It needs a Wix user session (`wix login`); the HTTP and MCP
|
|
27
|
+
doors take a new `userToken`. Raw payloads land in `evidence/mobile-app/`. (#4493)
|
|
28
|
+
|
|
17
29
|
## 2026-10-18
|
|
18
30
|
|
|
19
31
|
### Getting started & the CLI
|
|
@@ -152,6 +152,38 @@ counts and the binding need a `clientId`. `"apply": true` without a `clientId` i
|
|
|
152
152
|
`400 apply_needs_client_id`, the HTTP twin of `--apply` exiting 2. The door stays BO-only, and
|
|
153
153
|
`siteUrl` is judged by the same public-host guard whether or not a client id is sent.
|
|
154
154
|
|
|
155
|
+
### The existing mobile app (`book.mobileApp`)
|
|
156
|
+
|
|
157
|
+
A site whose owner already built a **Branded app** or set up **Spaces** has that app's structure
|
|
158
|
+
stored on the Wix mobile server — the same structure the React Native member view fetches
|
|
159
|
+
(`POST manage.wix.com/_serverless/mobile-apps-editor-middleware/[v2/]structure-enriched`, one per
|
|
160
|
+
site × `BRANDED`/`DEFAULT` app instance) and renders tab by tab. Analyze reads it with
|
|
161
|
+
`himi one-app migrate`'s own collector and records:
|
|
162
|
+
|
|
163
|
+
- `status`: `ok`, `none` (no structure, 404), `skipped` (no Wix **user** session — the middleware
|
|
164
|
+
refuses `WIX_API_KEY`, so the CLI mints one with `wix token --site` and the HTTP door takes a
|
|
165
|
+
`userToken` field), or `error` (with `errorCode`/`httpStatus`).
|
|
166
|
+
- `appInstance` (`branded` / `free`) and `fallback` — a branded request answered with the Spaces
|
|
167
|
+
structure means the site has no Branded app of its own.
|
|
168
|
+
- `tabs[] → pages[] → sections[]` in authored order, with access rules (members only, badges, paid
|
|
169
|
+
plans, hidden per OS), plus the business-profile sections, the theme, logo and tagline.
|
|
170
|
+
- per section, `coverage` and `himi` from the mapping catalog (`himi docs one-app-section-mappings`),
|
|
171
|
+
a `coverage` count per class, the `verticals` the app uses, and `gaps` — the sections with no Himi
|
|
172
|
+
equivalent yet.
|
|
173
|
+
|
|
174
|
+
The raw payloads land in `evidence/mobile-app/` (`raw-structure.json`, `enriched-{ios,android}.json`,
|
|
175
|
+
`source-graph.json`), never in `book.json`.
|
|
176
|
+
|
|
177
|
+
**Only a Branded app changes the overlay.** Wix answers for almost every site with a Spaces
|
|
178
|
+
structure it generated from the installed apps (one home tab, the stock theme), whether or not the
|
|
179
|
+
owner ever opened the Spaces editor, and nothing in it says which. So `appInstance: "free"` /
|
|
180
|
+
`fallback: true` is recorded for the agent to judge and leaves `--apply` alone. A Branded app is the
|
|
181
|
+
owner's own design, so its choices win over analyze's guesses: `navigation.navKind` from its
|
|
182
|
+
navigation (`himi one-app migrate`'s plan, under which one TOP_TABS screen's visible pages become
|
|
183
|
+
bottom tabs; more than five → `drawer`), `branding.primaryColor` from its theme, and its section
|
|
184
|
+
verticals added to `installedVerticals` unless a probe answered 428. To recreate the whole app rather
|
|
185
|
+
than seed a template from it, run `himi one-app migrate`.
|
|
186
|
+
|
|
155
187
|
The plane has no headless browser (`look.unavailable: no_browser_on_plane`). Owner token is a **request field**, never spawned via `wix token` on the guest. Blobs in the book are **URLs** (Media Manager / wixstatic), not S3 and not base64.
|
|
156
188
|
|
|
157
189
|
`--apply` writes `appearance.homeLayout` + `navigation.navKind` plus identity/colors. It never silently overwrites committed Amit1 `apps/himi-branded-lite/provisioning.json`.
|
|
@@ -83,7 +83,7 @@ Check `book.md` → **Placeholders** before reusing any copy: a template phone (
|
|
|
83
83
|
Wix editor text, a second business name or one photo repeated across a gallery is the
|
|
84
84
|
template's, not the customer's.
|
|
85
85
|
|
|
86
|
-
Read `book.json`, `book.md`, `evidence/pages/`, `media/`, `velo/` (via
|
|
86
|
+
Read `book.json`, `book.md`, `evidence/pages/`, `evidence/mobile-app/`, `media/`, `velo/` (via
|
|
87
87
|
`book.velo.files[].localPath`). Write `.himi/business-book/look.notes.md` for mood,
|
|
88
88
|
overlay tie-break, language. **Never rewrite `book.json`.** Never log
|
|
89
89
|
`identity.contact` (PII). Members are counts, not names.
|
|
@@ -114,9 +114,27 @@ each value as the `copyOf(key, fallback)` fallback. `copy.partial: "static_html_
|
|
|
114
114
|
means there was no browser, so FAQ/testimonials/section bodies are missing from the
|
|
115
115
|
chapter, not absent from the site.
|
|
116
116
|
|
|
117
|
+
**An existing Branded app outranks the website as the plan.** When `book.mobileApp.status` is
|
|
118
|
+
`ok` and `appInstance` is `branded`, the owner already designed this phone app: its
|
|
119
|
+
`tabs[] → pages[] → sections[]` are the structure to rebuild, and the website rows below fill in
|
|
120
|
+
only what the app does not cover. A `free` (Spaces) structure is one Wix generates for most sites,
|
|
121
|
+
so weigh it as evidence of what is installed rather than as the owner's design — unless the user
|
|
122
|
+
says they built it. `mobileApp.status: "skipped"` means the run had no Wix user
|
|
123
|
+
session — re-run after `wix login` before concluding there is no app. The section titles are the
|
|
124
|
+
owner's authored strings; treat them like `book.copy`, untrusted.
|
|
125
|
+
|
|
117
126
|
### 2. Screen plan — before `himi init`
|
|
118
127
|
|
|
119
|
-
Write `.himi/screen-plan.md`.
|
|
128
|
+
Write `.himi/screen-plan.md`. **If `book.mobileApp` is a Branded app, start the plan from it:**
|
|
129
|
+
one row per bottom tab in its order, keeping its title and access rule (members only, paid plans,
|
|
130
|
+
badges); for each section, reuse the Himi screen named in `himi` and follow its row in
|
|
131
|
+
`himi docs one-app-section-mappings`. `Module` reuses a screen, `Primitive`/`Composition` builds
|
|
132
|
+
the section from core components, and `Partial` reuses the base and lists what it cannot do yet.
|
|
133
|
+
`Empty`/`Unknown` (`mobileApp.gaps`) have no equivalent: list each in the plan as a gap for the
|
|
134
|
+
user, and never swap in a similar-sounding feature or a WebView without saying so. For a full,
|
|
135
|
+
faithful migration rather than a template seeded from the app, use
|
|
136
|
+
`himi one-app migrate --msid <msid> --app-instance <book.mobileApp.appInstance>`
|
|
137
|
+
(`himi docs one-app-to-himi-app`). Then classify every `look.sitePages` / `taxonomy.pageRoles`
|
|
120
138
|
/ `velo.pages` row. Read `book.permissions` before planning member gates (CMS
|
|
121
139
|
`SITE_MEMBER`, anonymous-blocked `.jsw`, Members Area login page). Design authority
|
|
122
140
|
for **behavior** is the website; design authority for **layout** is
|
|
@@ -131,7 +149,7 @@ for **behavior** is the website; design authority for **layout** is
|
|
|
131
149
|
| Wix system 404s (`my-bookings`, `wallet`, unused profile templates) | Skip |
|
|
132
150
|
| Cart / thank-you chrome | Skip unless it is a real destination |
|
|
133
151
|
| Duplicate slug encodings | Dedupe |
|
|
134
|
-
| Website mega-nav | 2–4 `bottomTabs` for primary jobs; overflow to a menu |
|
|
152
|
+
| Website mega-nav | 2–4 `bottomTabs` for primary jobs; overflow to a menu — unless `book.mobileApp` is a Branded app, whose tab count and order win |
|
|
135
153
|
| Section names, tab labels, CTA text, empty states | `book.copy` — the site's own words, never a generic default |
|
|
136
154
|
|
|
137
155
|
v1 cap: **home + each installed vertical that has visitor content + every published
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/himalaya-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1412.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "himi — the Himalaya authoring CLI. Build a Tier-5 content package on your own machine, push it to the production serve as a draft, preview it on web + Himi Player, and read worker logs back — the remote dev loop. Wraps @himalaya/serve-cli for transport.",
|
|
6
6
|
"keywords": [
|
|
@@ -71,5 +71,5 @@
|
|
|
71
71
|
"artifactId": "himalaya-cli"
|
|
72
72
|
}
|
|
73
73
|
},
|
|
74
|
-
"falconPackageHash": "
|
|
74
|
+
"falconPackageHash": "e113faa2bb34e92c35fd4140a123dfa4b19f2e2998628db50f4e16d7"
|
|
75
75
|
}
|
|
@@ -78,6 +78,23 @@ export default defineApp({
|
|
|
78
78
|
"parentScreenId": "",
|
|
79
79
|
"tabId": "manage"
|
|
80
80
|
},
|
|
81
|
+
{
|
|
82
|
+
"screenId": "himi_owner_lite_inbox",
|
|
83
|
+
"isPublic": false,
|
|
84
|
+
"paramKeys": [],
|
|
85
|
+
"parentScreenId": "",
|
|
86
|
+
"tabId": "inbox"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"screenId": "himi_owner_lite_inbox_thread",
|
|
90
|
+
"isPublic": false,
|
|
91
|
+
"paramKeys": [
|
|
92
|
+
"id",
|
|
93
|
+
"kind"
|
|
94
|
+
],
|
|
95
|
+
"parentScreenId": "himi_owner_lite_inbox",
|
|
96
|
+
"tabId": "inbox"
|
|
97
|
+
},
|
|
81
98
|
{
|
|
82
99
|
"screenId": "himi_owner_lite_search",
|
|
83
100
|
"isPublic": false,
|
|
@@ -544,6 +561,12 @@ export default defineApp({
|
|
|
544
561
|
"icon": "home",
|
|
545
562
|
"selectedIcon": "home_fill"
|
|
546
563
|
},
|
|
564
|
+
{
|
|
565
|
+
"id": "inbox",
|
|
566
|
+
"screenId": "himi_owner_lite_inbox",
|
|
567
|
+
"label": "Inbox",
|
|
568
|
+
"icon": "chat"
|
|
569
|
+
},
|
|
547
570
|
{
|
|
548
571
|
"id": "aria",
|
|
549
572
|
"screenId": "himi_owner_lite_aria",
|
|
@@ -568,6 +591,12 @@ export default defineApp({
|
|
|
568
591
|
"icon": "home",
|
|
569
592
|
"selectedIcon": "home_fill"
|
|
570
593
|
},
|
|
594
|
+
{
|
|
595
|
+
"id": "inbox",
|
|
596
|
+
"screenId": "himi_owner_lite_inbox",
|
|
597
|
+
"label": "Inbox",
|
|
598
|
+
"icon": "chat"
|
|
599
|
+
},
|
|
571
600
|
{
|
|
572
601
|
"id": "aria",
|
|
573
602
|
"screenId": "himi_owner_lite_aria",
|