@wix/himalaya-cli 0.1030.0 → 0.1032.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/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/dev-server/src/app-config.d.ts +7 -0
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/dev-server/src/wix-gateway.d.ts +32 -0
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/dev-server/src/wix-gateway.rules.d.ts +2 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/ts/src/define-app.d.ts +7 -0
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/genie-chat/src/index.d.ts +64 -0
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-genie-chat.mjs +41 -1
- package/dist/cli.mjs +386 -132
- package/dist/preview-assets.generated.bin +0 -0
- package/guides/mobile-ux.md +3 -2
- package/guides/qa-builds.md +22 -13
- package/guides/sdk-reference.json +50 -2
- package/package.json +2 -2
- package/templates/beauty-salon/tier5-src/_shared/owner-load-error.ts +7 -1
- package/templates/beauty-salon-owner/config.ts +1 -1
- package/templates/beauty-salon-owner/dev/index.ts +247 -9
- package/templates/beauty-salon-owner/tier5-src/_shared/aria-attachments.ts +179 -0
- package/templates/beauty-salon-owner/tier5-src/_shared/aria-chat.ts +405 -20
- package/templates/beauty-salon-owner/tier5-src/_shared/owner-bookings.ts +20 -0
- package/templates/beauty-salon-owner/tier5-src/_shared/owner-load-error.ts +7 -1
- package/templates/beauty-salon-owner/tier5-src/himi-owner-lite-aria/index.ts +40 -1
- package/templates/beauty-salon-owner/tier5-src/himi-owner-lite-home/index.ts +2 -12
- package/templates/beauty-salon-owner/tier5-src/himi-owner-lite-manage/index.ts +10 -4
- package/templates/branded-lite/tier5-src/_shared/owner-load-error.ts +7 -1
- package/templates/community-club/tier5-src/_shared/owner-load-error.ts +7 -1
- package/templates/community-club-owner/config.ts +1 -1
- package/templates/community-club-owner/dev/index.ts +247 -9
- package/templates/community-club-owner/tier5-src/_shared/aria-attachments.ts +179 -0
- package/templates/community-club-owner/tier5-src/_shared/aria-chat.ts +405 -20
- package/templates/community-club-owner/tier5-src/_shared/owner-bookings.ts +20 -0
- package/templates/community-club-owner/tier5-src/_shared/owner-load-error.ts +7 -1
- package/templates/community-club-owner/tier5-src/himi-owner-lite-aria/index.ts +40 -1
- package/templates/community-club-owner/tier5-src/himi-owner-lite-home/index.ts +2 -12
- package/templates/community-club-owner/tier5-src/himi-owner-lite-manage/index.ts +10 -4
- package/templates/events-meetups/tier5-src/_shared/owner-load-error.ts +7 -1
- package/templates/events-meetups-owner/config.ts +1 -1
- package/templates/events-meetups-owner/dev/index.ts +247 -9
- package/templates/events-meetups-owner/tier5-src/_shared/aria-attachments.ts +179 -0
- package/templates/events-meetups-owner/tier5-src/_shared/aria-chat.ts +405 -20
- package/templates/events-meetups-owner/tier5-src/_shared/owner-bookings.ts +20 -0
- package/templates/events-meetups-owner/tier5-src/_shared/owner-load-error.ts +7 -1
- package/templates/events-meetups-owner/tier5-src/himi-owner-lite-aria/index.ts +40 -1
- package/templates/events-meetups-owner/tier5-src/himi-owner-lite-home/index.ts +2 -12
- package/templates/events-meetups-owner/tier5-src/himi-owner-lite-manage/index.ts +10 -4
- package/templates/gym-fitness/tier5-src/_shared/owner-load-error.ts +7 -1
- package/templates/gym-fitness-owner/config.ts +1 -1
- package/templates/gym-fitness-owner/dev/index.ts +247 -9
- package/templates/gym-fitness-owner/tier5-src/_shared/aria-attachments.ts +179 -0
- package/templates/gym-fitness-owner/tier5-src/_shared/aria-chat.ts +405 -20
- package/templates/gym-fitness-owner/tier5-src/_shared/owner-bookings.ts +20 -0
- package/templates/gym-fitness-owner/tier5-src/_shared/owner-load-error.ts +7 -1
- package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-aria/index.ts +40 -1
- package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-home/index.ts +2 -12
- package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-manage/index.ts +10 -4
- package/templates/himi-chat/tier5-src/_shared/owner-load-error.ts +7 -1
- package/templates/nonprofit-cause/tier5-src/_shared/owner-load-error.ts +7 -1
- package/templates/nonprofit-cause-owner/config.ts +1 -1
- package/templates/nonprofit-cause-owner/dev/index.ts +247 -9
- package/templates/nonprofit-cause-owner/tier5-src/_shared/aria-attachments.ts +179 -0
- package/templates/nonprofit-cause-owner/tier5-src/_shared/aria-chat.ts +405 -20
- package/templates/nonprofit-cause-owner/tier5-src/_shared/owner-bookings.ts +20 -0
- package/templates/nonprofit-cause-owner/tier5-src/_shared/owner-load-error.ts +7 -1
- package/templates/nonprofit-cause-owner/tier5-src/himi-owner-lite-aria/index.ts +40 -1
- package/templates/nonprofit-cause-owner/tier5-src/himi-owner-lite-home/index.ts +2 -12
- package/templates/nonprofit-cause-owner/tier5-src/himi-owner-lite-manage/index.ts +10 -4
- package/templates/owner-lite/config.ts +1 -1
- package/templates/owner-lite/dev/index.ts +247 -9
- package/templates/owner-lite/tier5-src/_shared/aria-attachments.ts +179 -0
- package/templates/owner-lite/tier5-src/_shared/aria-chat.ts +405 -20
- package/templates/owner-lite/tier5-src/_shared/owner-bookings.ts +20 -0
- package/templates/owner-lite/tier5-src/_shared/owner-load-error.ts +7 -1
- package/templates/owner-lite/tier5-src/himi-owner-lite-aria/index.ts +40 -1
- package/templates/owner-lite/tier5-src/himi-owner-lite-home/index.ts +2 -12
- package/templates/owner-lite/tier5-src/himi-owner-lite-manage/index.ts +10 -4
- package/templates/podcast-creator/tier5-src/_shared/owner-load-error.ts +7 -1
- package/templates/podcast-creator-owner/config.ts +1 -1
- package/templates/podcast-creator-owner/dev/index.ts +247 -9
- package/templates/podcast-creator-owner/tier5-src/_shared/aria-attachments.ts +179 -0
- package/templates/podcast-creator-owner/tier5-src/_shared/aria-chat.ts +405 -20
- package/templates/podcast-creator-owner/tier5-src/_shared/owner-bookings.ts +20 -0
- package/templates/podcast-creator-owner/tier5-src/_shared/owner-load-error.ts +7 -1
- package/templates/podcast-creator-owner/tier5-src/himi-owner-lite-aria/index.ts +40 -1
- package/templates/podcast-creator-owner/tier5-src/himi-owner-lite-home/index.ts +2 -12
- package/templates/podcast-creator-owner/tier5-src/himi-owner-lite-manage/index.ts +10 -4
- package/templates/portfolio-creative/tier5-src/_shared/owner-load-error.ts +7 -1
- package/templates/portfolio-creative-owner/config.ts +1 -1
- package/templates/portfolio-creative-owner/dev/index.ts +247 -9
- package/templates/portfolio-creative-owner/tier5-src/_shared/aria-attachments.ts +179 -0
- package/templates/portfolio-creative-owner/tier5-src/_shared/aria-chat.ts +405 -20
- package/templates/portfolio-creative-owner/tier5-src/_shared/owner-bookings.ts +20 -0
- package/templates/portfolio-creative-owner/tier5-src/_shared/owner-load-error.ts +7 -1
- package/templates/portfolio-creative-owner/tier5-src/himi-owner-lite-aria/index.ts +40 -1
- package/templates/portfolio-creative-owner/tier5-src/himi-owner-lite-home/index.ts +2 -12
- package/templates/portfolio-creative-owner/tier5-src/himi-owner-lite-manage/index.ts +10 -4
- package/templates/restaurant/tier5-src/_shared/owner-load-error.ts +7 -1
- package/templates/restaurant-owner/config.ts +1 -1
- package/templates/restaurant-owner/dev/index.ts +247 -9
- package/templates/restaurant-owner/tier5-src/_shared/aria-attachments.ts +179 -0
- package/templates/restaurant-owner/tier5-src/_shared/aria-chat.ts +405 -20
- package/templates/restaurant-owner/tier5-src/_shared/owner-bookings.ts +20 -0
- package/templates/restaurant-owner/tier5-src/_shared/owner-load-error.ts +7 -1
- package/templates/restaurant-owner/tier5-src/himi-owner-lite-aria/index.ts +40 -1
- package/templates/restaurant-owner/tier5-src/himi-owner-lite-home/index.ts +2 -12
- package/templates/restaurant-owner/tier5-src/himi-owner-lite-manage/index.ts +10 -4
- package/templates/retail-store/tier5-src/_shared/owner-load-error.ts +7 -1
- package/templates/retail-store-owner/config.ts +1 -1
- package/templates/retail-store-owner/dev/index.ts +247 -9
- package/templates/retail-store-owner/tier5-src/_shared/aria-attachments.ts +179 -0
- package/templates/retail-store-owner/tier5-src/_shared/aria-chat.ts +405 -20
- package/templates/retail-store-owner/tier5-src/_shared/owner-bookings.ts +20 -0
- package/templates/retail-store-owner/tier5-src/_shared/owner-load-error.ts +7 -1
- package/templates/retail-store-owner/tier5-src/himi-owner-lite-aria/index.ts +40 -1
- package/templates/retail-store-owner/tier5-src/himi-owner-lite-home/index.ts +2 -12
- package/templates/retail-store-owner/tier5-src/himi-owner-lite-manage/index.ts +10 -4
- package/templates/surface-showcase/dev/index.ts +1 -1
- package/templates/yoga-studio/tier5-src/_shared/owner-load-error.ts +7 -1
- package/templates/yoga-studio-owner/config.ts +1 -1
- package/templates/yoga-studio-owner/dev/index.ts +247 -9
- package/templates/yoga-studio-owner/tier5-src/_shared/aria-attachments.ts +179 -0
- package/templates/yoga-studio-owner/tier5-src/_shared/aria-chat.ts +405 -20
- package/templates/yoga-studio-owner/tier5-src/_shared/owner-bookings.ts +20 -0
- package/templates/yoga-studio-owner/tier5-src/_shared/owner-load-error.ts +7 -1
- package/templates/yoga-studio-owner/tier5-src/himi-owner-lite-aria/index.ts +40 -1
- package/templates/yoga-studio-owner/tier5-src/himi-owner-lite-home/index.ts +2 -12
- package/templates/yoga-studio-owner/tier5-src/himi-owner-lite-manage/index.ts +10 -4
|
Binary file
|
package/guides/mobile-ux.md
CHANGED
|
@@ -199,8 +199,9 @@ tried in this order:
|
|
|
199
199
|
`--width`/`--device` records nothing on purpose: without one the PNG viewport is the headless
|
|
200
200
|
browser's desktop default, and writing that down would manufacture the very expanded render the
|
|
201
201
|
marker exists to prove. Recording never fails or slows a render — if the file cannot be written
|
|
202
|
-
the render still succeeds, and the paths below still apply. `.himi/` is gitignored
|
|
203
|
-
|
|
202
|
+
the render still succeeds, and the paths below still apply. `.himi/` is gitignored (`himi init`
|
|
203
|
+
writes that rule into the package's `.gitignore`; add it yourself to a package made another way),
|
|
204
|
+
so this is evidence about your checkout rather than something a pull request carries.
|
|
204
205
|
|
|
205
206
|
- Or name two pixel widths in the document, spanning compact → wider,
|
|
206
207
|
**each spelled as a width on itself**, within about 400 characters of each other so they read as
|
package/guides/qa-builds.md
CHANGED
|
@@ -958,10 +958,12 @@ Two details that are easy to get wrong, both verified against a real baked seed
|
|
|
958
958
|
|
|
959
959
|
Known edges, stated rather than implied: `seed-data.json` (entity snapshots) is **not** release
|
|
960
960
|
content — it comes from the app's source module, so the pool copies it when the checkout has the
|
|
961
|
-
app and otherwise ships `{}`, and those screens show empty states until the first sync. The
|
|
962
|
-
|
|
963
|
-
is
|
|
964
|
-
|
|
961
|
+
app and otherwise ships `{}`, and those screens show empty states until the first sync. The widget
|
|
962
|
+
snapshots are single-slot per app with no release id, so a pinned release gets whatever is live;
|
|
963
|
+
the icon is too, but only for an older release published before releases kept their own icon —
|
|
964
|
+
every later one, draft included, bakes its own content-addressed copy. On that live-slot path the envelope hashes the live bytes
|
|
965
|
+
against the manifest's `iconHash`/per-widget `contentEtag` and **warns** on drift while still
|
|
966
|
+
baking the live asset.
|
|
965
967
|
|
|
966
968
|
## The install link
|
|
967
969
|
|
|
@@ -999,11 +1001,16 @@ is live; the envelope hashes the live bytes against the manifest's `iconHash`/pe
|
|
|
999
1001
|
`identity.appName`, `native.androidApplicationId`, `native.urlScheme` and `native.appLinkHost`
|
|
1000
1002
|
with unchecked `as String`, so a missing one fails during configure with no mention of branding —
|
|
1001
1003
|
a test pins that the projection always emits all four.
|
|
1002
|
-
- **
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1004
|
+
- **Which icon does the build get?** The pinned release's **own**, draft or live. Publish keeps a
|
|
1005
|
+
content-addressed copy of the launcher icon under the release's `iconHash`, and both
|
|
1006
|
+
`/v1/dist/contract` and `/v1/dist/seed` read that copy first — so a QA build of an approved
|
|
1007
|
+
**draft** carries the customer's icon without promoting anything live. Only an older release,
|
|
1008
|
+
published before that copy existed, falls back to the app's single live icon slot (`putIcon`), and
|
|
1009
|
+
the seed then warns if the live icon is not the one the release recorded.
|
|
1010
|
+
- **No icon at all?** When neither the release nor the live slot has one, the served contract's
|
|
1011
|
+
`appIconPath` is empty — which `prepare:customer` rejects on purpose. The pool fills it from the
|
|
1012
|
+
shell's own committed `provisioning.json`, so the build degrades to the shell's artwork instead
|
|
1013
|
+
of failing over branding.
|
|
1007
1014
|
|
|
1008
1015
|
## Where the baked seed comes from
|
|
1009
1016
|
|
|
@@ -1034,10 +1041,12 @@ Two honest edges:
|
|
|
1034
1041
|
never served over OTA — it is a build-time input from the app's own source module. The pool copies
|
|
1035
1042
|
it when this checkout happens to have the app, else ships `{}` and those screens show empty states
|
|
1036
1043
|
until the first sync.
|
|
1037
|
-
- **The
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1044
|
+
- **The widget snapshots are single-slot per app** (`put/getWidget`) with no release id, so a
|
|
1045
|
+
pinned release cannot read "its own" copy — it gets whatever is live. The icon reads the
|
|
1046
|
+
release's own content-addressed copy (under `iconHash`) first and falls back to the single live
|
|
1047
|
+
slot (`put/getIcon`) only for an older release published before that copy existed. On a live-slot read the endpoint
|
|
1048
|
+
hashes the bytes against the manifest's `iconHash` / per-widget `contentEtag` and **warns** when
|
|
1049
|
+
they differ; the build still bakes the live asset, but the drift is in the log.
|
|
1041
1050
|
|
|
1042
1051
|
Source-built seeding remains the fallback for the Falcon `[dist]` path, which has no job token and
|
|
1043
1052
|
therefore no seed endpoint to call.
|
|
@@ -16748,7 +16748,25 @@
|
|
|
16748
16748
|
"name": "ConversationMessage",
|
|
16749
16749
|
"kind": "interface",
|
|
16750
16750
|
"jsdoc": "",
|
|
16751
|
-
"decl": "export interface ConversationMessage {\n id?: string;\n content?: string;\n role?: MessageRole;\n createdDate?: string;\n status?: MessageStatus;\n /** Client tools this assistant turn asks the CALLER to run — see `FunctionCall`. */\n functionCalls?: FunctionCall[];\n}"
|
|
16751
|
+
"decl": "export interface ConversationMessage {\n id?: string;\n content?: string;\n role?: MessageRole;\n createdDate?: string;\n status?: MessageStatus;\n /** Files the owner attached to this turn, as the service stored them. */\n attachments?: Attachment[];\n /** Client tools this assistant turn asks the CALLER to run — see `FunctionCall`. */\n functionCalls?: FunctionCall[];\n}"
|
|
16752
|
+
},
|
|
16753
|
+
{
|
|
16754
|
+
"name": "Attachment",
|
|
16755
|
+
"kind": "interface",
|
|
16756
|
+
"jsdoc": "/** A file on a message — the service's `Attachment` entity.\n *\n * `url` is the service's own REFERENCE to an uploaded file\n * (`genie-upload://<id>`, see `genieUploadRef`), not a fetchable address: no\n * route that resolves it to a download url is published, so a client can name a\n * sent attachment but not show it again from the server's copy. `viewUrl` is\n * whatever preview the SENDING client chose to store, and is not trusted to\n * resolve anywhere else. */",
|
|
16757
|
+
"decl": "export interface Attachment {\n /** Original file name including extension. The service caps it at 255. */\n fileName: string;\n /** e.g. `\"image/jpeg\"`. The service caps it at 100. */\n mimeType: string;\n url?: string;\n viewUrl?: string;\n}"
|
|
16758
|
+
},
|
|
16759
|
+
{
|
|
16760
|
+
"name": "CreateFileUploadResponse",
|
|
16761
|
+
"kind": "interface",
|
|
16762
|
+
"jsdoc": "/** The mint of an upload: where to send the bytes, and the record's id. */",
|
|
16763
|
+
"decl": "export interface CreateFileUploadResponse { upload?: { uploadUrl?: string; id?: string } }"
|
|
16764
|
+
},
|
|
16765
|
+
{
|
|
16766
|
+
"name": "CreateFileUploadOptions",
|
|
16767
|
+
"kind": "interface",
|
|
16768
|
+
"jsdoc": "",
|
|
16769
|
+
"decl": "export interface CreateFileUploadOptions {\n /** The same client-declared scoping flag every other chat-service request\n * takes. Omitted unless given — the dashboard sends it only when its own\n * account-scoping gate is on. */\n enforceAccountScopedConversations?: boolean;\n}"
|
|
16752
16770
|
},
|
|
16753
16771
|
{
|
|
16754
16772
|
"name": "FunctionCall",
|
|
@@ -16820,7 +16838,7 @@
|
|
|
16820
16838
|
"name": "SendMessageOptions",
|
|
16821
16839
|
"kind": "interface",
|
|
16822
16840
|
"jsdoc": "/** Optional wire flags on `sendMessage`. `communicationMode` /\n * `enableRealtimeEvents` were in the original captured payload; only POLLING is\n * verified end-to-end. The rest were added from the 2026-09-19 re-capture. */",
|
|
16823
|
-
"decl": "export interface SendMessageOptions {\n communicationMode?: CommunicationMode;\n enableRealtimeEvents?: boolean;\n metadata?: UserMessageMetadata;\n /** The dashboard sends `true`. Optional: verified to answer either way. */\n enforceAccountScopedConversations?: boolean;\n /** Tag the turn with the same origin the conversation was created under. */\n origin?: string;\n}"
|
|
16841
|
+
"decl": "export interface SendMessageOptions {\n communicationMode?: CommunicationMode;\n enableRealtimeEvents?: boolean;\n metadata?: UserMessageMetadata;\n /** The dashboard sends `true`. Optional: verified to answer either way. */\n enforceAccountScopedConversations?: boolean;\n /** Tag the turn with the same origin the conversation was created under. */\n origin?: string;\n /** Files already UPLOADED (see `createFileUpload`) to store with the turn.\n * Rides step 1 only — the trigger names the stored turn, which carries them. */\n attachments?: Attachment[];\n}"
|
|
16824
16842
|
},
|
|
16825
16843
|
{
|
|
16826
16844
|
"name": "ConversationUserMessageResponse",
|
|
@@ -16870,6 +16888,30 @@
|
|
|
16870
16888
|
"jsdoc": "/** Ask the service to abandon the assistant reply it is generating for\n * `userMessageId` — the \"stop\" a chat surface puts beside a reply in progress.\n *\n * Addressed by USER message, not by conversation: the thing being abandoned is\n * one turn, and the id comes from that turn's own send response\n * (`userMessageIdOf`). There is no route that looks it up afterwards, so a\n * caller that did not keep it cannot abort.\n *\n * Resolving means the service ACCEPTED the abort, not that generation had not\n * already finished — a reply that was already written still lands in the\n * transcript. Rejecting means the turn is still running: treat it as \"could\n * not stop\", never as \"stopped\". */",
|
|
16871
16889
|
"decl": "export function abortAssistantMessageGeneration(userMessageId: string): Promise<AbortAssistantMessageGenerationResponse>;"
|
|
16872
16890
|
},
|
|
16891
|
+
{
|
|
16892
|
+
"name": "createFileUpload",
|
|
16893
|
+
"kind": "function",
|
|
16894
|
+
"jsdoc": "/** Mint an upload for one file: a pre-signed url to send its bytes to, and the\n * id the message will reference it by (`genieUploadRef`).\n *\n * Only the MINT goes through the chat-service; the bytes go straight to\n * `upload.uploadUrl` (see the file header). Resolving is not proof the file\n * exists — nothing is stored until those bytes land, so a caller must not\n * attach the reference before its upload has succeeded. */",
|
|
16895
|
+
"decl": "export function createFileUpload(\n fileName: string,\n mimeType: string,\n opts: CreateFileUploadOptions = {},\n): Promise<CreateFileUploadResponse>;"
|
|
16896
|
+
},
|
|
16897
|
+
{
|
|
16898
|
+
"name": "GENIE_UPLOAD_SCHEME",
|
|
16899
|
+
"kind": "const",
|
|
16900
|
+
"jsdoc": "/** The scheme every first-party creator uses to reference an uploaded file from\n * a message attachment. */",
|
|
16901
|
+
"decl": "export const GENIE_UPLOAD_SCHEME = \"genie-upload://\";"
|
|
16902
|
+
},
|
|
16903
|
+
{
|
|
16904
|
+
"name": "genieUploadRef",
|
|
16905
|
+
"kind": "function",
|
|
16906
|
+
"jsdoc": "/** `genie-upload://<id>`, or \"\" for no id — never a reference to nothing. */",
|
|
16907
|
+
"decl": "export function genieUploadRef(id: string | undefined): string;"
|
|
16908
|
+
},
|
|
16909
|
+
{
|
|
16910
|
+
"name": "uploadTargetUrl",
|
|
16911
|
+
"kind": "function",
|
|
16912
|
+
"jsdoc": "/** Where the bytes actually go: `uploadUrl` with `path` and `acl=private` set.\n *\n * Mirrors the Media Platform browser uploader every first-party client relies\n * on. The service rewrites the storage key itself, so `path` is advisory; it is\n * sent anyway, for parity with the clients whose uploads are known to work.\n *\n * String surgery rather than `new URL`, because the worker runtimes (JSContext,\n * Hermes, QuickJS) do not all ship the URL constructor — and MERGED rather than\n * appended, because the signed url may already carry a query, and a second `?`\n * would corrupt the signature it carries. An existing `path` / `acl` is\n * replaced rather than duplicated; everything else, the fragment included, is\n * kept byte for byte. */",
|
|
16913
|
+
"decl": "export function uploadTargetUrl(uploadUrl: string, fileName: string): string;"
|
|
16914
|
+
},
|
|
16873
16915
|
{
|
|
16874
16916
|
"name": "getConversationMessages",
|
|
16875
16917
|
"kind": "function",
|
|
@@ -16906,6 +16948,12 @@
|
|
|
16906
16948
|
"jsdoc": "/** A message's text. `content` is normally a string, but can arrive as an object\n * carrying `text`; anything else is stringified rather than dropped. */",
|
|
16907
16949
|
"decl": "export function messageText(m: ConversationMessage | null | undefined): string;"
|
|
16908
16950
|
},
|
|
16951
|
+
{
|
|
16952
|
+
"name": "attachmentsOf",
|
|
16953
|
+
"kind": "function",
|
|
16954
|
+
"jsdoc": "/** A message's attachments that name a file, in order. Anything that is not an\n * object with a non-empty `fileName` is dropped rather than rendered as a blank\n * entry — the list is display-only, so a malformed row has nothing to show. */",
|
|
16955
|
+
"decl": "export function attachmentsOf(m: ConversationMessage | null | undefined): Attachment[];"
|
|
16956
|
+
},
|
|
16909
16957
|
{
|
|
16910
16958
|
"name": "lastAssistantMessage",
|
|
16911
16959
|
"kind": "function",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/himalaya-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1032.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": [
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"artifactId": "himalaya-cli"
|
|
66
66
|
}
|
|
67
67
|
},
|
|
68
|
-
"falconPackageHash": "
|
|
68
|
+
"falconPackageHash": "5af127baf2b3845fd3e463154eecf88bb68a58849427ab3778d5627a"
|
|
69
69
|
}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { copyParam } from "./himi-copy.js";
|
|
2
2
|
|
|
3
|
-
/** Host-owned preview input. Absent on native and older hosts.
|
|
3
|
+
/** Host-owned preview input. Absent on native and older hosts.
|
|
4
|
+
*
|
|
5
|
+
* `"sample"` — the built-in demo records; `"live"` — the viewer's own business over the
|
|
6
|
+
* owner rung; `"fixtures"` — a DEV web host over a sealed hermetic gateway, where
|
|
7
|
+
* the dev fixtures are the sample data. `"fixtures"` is neither live nor demo, so a
|
|
8
|
+
* worker READS through the bridge as it does on a device; it is still a preview host
|
|
9
|
+
* (`isOwnerPreviewHost`), so failure copy may name the web preview. */
|
|
4
10
|
function ownerPreviewMode(): unknown {
|
|
5
11
|
return (globalThis as unknown as { himalaya?: { input?: Record<string, unknown> } }).himalaya?.input?.__himiOwnerPreview;
|
|
6
12
|
}
|
|
@@ -37,7 +37,7 @@ export default defineApp({
|
|
|
37
37
|
actions: "http://localhost:8190/v1/actions",
|
|
38
38
|
sync: "http://localhost:8190/v1/sync",
|
|
39
39
|
},
|
|
40
|
-
capabilities: ["live_activity","push","share","secure_storage","open_url","local_database","clipboard","ui"],
|
|
40
|
+
capabilities: ["live_activity","push","share","secure_storage","open_url","local_database","clipboard","ui","camera","presigned_upload"],
|
|
41
41
|
designTokensPath: "./tokens.json",
|
|
42
42
|
navigation: {
|
|
43
43
|
"navKind": "responsive",
|
|
@@ -50387,7 +50387,7 @@ const SCREENS = runtimeSetting({
|
|
|
50387
50387
|
"itemsPath": "$service:himiOwnerLiteManage.recents",
|
|
50388
50388
|
"items": [
|
|
50389
50389
|
{
|
|
50390
|
-
"id": "",
|
|
50390
|
+
"id": "himi_owner_lite.manage.recent.$item.id",
|
|
50391
50391
|
"body": {
|
|
50392
50392
|
"package": "himalaya",
|
|
50393
50393
|
"type": "VStack",
|
|
@@ -50532,7 +50532,7 @@ const SCREENS = runtimeSetting({
|
|
|
50532
50532
|
"spacing": 14,
|
|
50533
50533
|
"children": [
|
|
50534
50534
|
{
|
|
50535
|
-
"id": "",
|
|
50535
|
+
"id": "himi_owner_lite.manage.recent.create.$item.id",
|
|
50536
50536
|
"body": {
|
|
50537
50537
|
"package": "himalaya",
|
|
50538
50538
|
"type": "Text",
|
|
@@ -50557,7 +50557,7 @@ const SCREENS = runtimeSetting({
|
|
|
50557
50557
|
}
|
|
50558
50558
|
},
|
|
50559
50559
|
{
|
|
50560
|
-
"id": "",
|
|
50560
|
+
"id": "himi_owner_lite.manage.recent.handoff.$item.id",
|
|
50561
50561
|
"body": {
|
|
50562
50562
|
"package": "himalaya",
|
|
50563
50563
|
"type": "Text",
|
|
@@ -50693,7 +50693,7 @@ const SCREENS = runtimeSetting({
|
|
|
50693
50693
|
"itemsPath": "$item.areas",
|
|
50694
50694
|
"items": [
|
|
50695
50695
|
{
|
|
50696
|
-
"id": "",
|
|
50696
|
+
"id": "himi_owner_lite.manage.area.$item.id",
|
|
50697
50697
|
"body": {
|
|
50698
50698
|
"package": "himalaya",
|
|
50699
50699
|
"type": "VStack",
|
|
@@ -50838,7 +50838,7 @@ const SCREENS = runtimeSetting({
|
|
|
50838
50838
|
"spacing": 14,
|
|
50839
50839
|
"children": [
|
|
50840
50840
|
{
|
|
50841
|
-
"id": "",
|
|
50841
|
+
"id": "himi_owner_lite.manage.area.create.$item.id",
|
|
50842
50842
|
"body": {
|
|
50843
50843
|
"package": "himalaya",
|
|
50844
50844
|
"type": "Text",
|
|
@@ -50863,7 +50863,7 @@ const SCREENS = runtimeSetting({
|
|
|
50863
50863
|
}
|
|
50864
50864
|
},
|
|
50865
50865
|
{
|
|
50866
|
-
"id": "",
|
|
50866
|
+
"id": "himi_owner_lite.manage.area.handoff.$item.id",
|
|
50867
50867
|
"body": {
|
|
50868
50868
|
"package": "himalaya",
|
|
50869
50869
|
"type": "Text",
|
|
@@ -51643,7 +51643,7 @@ const SCREENS = runtimeSetting({
|
|
|
51643
51643
|
"props": {
|
|
51644
51644
|
"items": [
|
|
51645
51645
|
{
|
|
51646
|
-
"id": "",
|
|
51646
|
+
"id": "ol_drawer_nav.$item.id",
|
|
51647
51647
|
"body": {
|
|
51648
51648
|
"package": "himalaya",
|
|
51649
51649
|
"type": "ListItem",
|
|
@@ -51695,7 +51695,7 @@ const SCREENS = runtimeSetting({
|
|
|
51695
51695
|
"props": {
|
|
51696
51696
|
"items": [
|
|
51697
51697
|
{
|
|
51698
|
-
"id": "",
|
|
51698
|
+
"id": "ol_drawer_attention.$item.id",
|
|
51699
51699
|
"body": {
|
|
51700
51700
|
"package": "himalaya",
|
|
51701
51701
|
"type": "ListItem",
|
|
@@ -55256,6 +55256,45 @@ const SCREENS = runtimeSetting({
|
|
|
55256
55256
|
}
|
|
55257
55257
|
}
|
|
55258
55258
|
},
|
|
55259
|
+
{
|
|
55260
|
+
"id": "himi_owner_lite_aria.msg_attach_$item.id",
|
|
55261
|
+
"body": {
|
|
55262
|
+
"package": "himalaya",
|
|
55263
|
+
"type": "HStack",
|
|
55264
|
+
"props": {
|
|
55265
|
+
"spacing": 0,
|
|
55266
|
+
"children": [
|
|
55267
|
+
{
|
|
55268
|
+
"id": "",
|
|
55269
|
+
"body": {
|
|
55270
|
+
"package": "himalaya",
|
|
55271
|
+
"type": "Spacer",
|
|
55272
|
+
"props": {}
|
|
55273
|
+
},
|
|
55274
|
+
"modifiers": {
|
|
55275
|
+
"hiddenPath": "$item.notUser"
|
|
55276
|
+
}
|
|
55277
|
+
},
|
|
55278
|
+
{
|
|
55279
|
+
"id": "",
|
|
55280
|
+
"body": {
|
|
55281
|
+
"package": "himalaya",
|
|
55282
|
+
"type": "Text",
|
|
55283
|
+
"props": {
|
|
55284
|
+
"text": "$item.attachText",
|
|
55285
|
+
"style": "footnote",
|
|
55286
|
+
"color": "textSecondary",
|
|
55287
|
+
"maxLines": 3
|
|
55288
|
+
}
|
|
55289
|
+
}
|
|
55290
|
+
}
|
|
55291
|
+
]
|
|
55292
|
+
}
|
|
55293
|
+
},
|
|
55294
|
+
"modifiers": {
|
|
55295
|
+
"hiddenPath": "$item.attachHidden"
|
|
55296
|
+
}
|
|
55297
|
+
},
|
|
55259
55298
|
{
|
|
55260
55299
|
"id": "himi_owner_lite_aria.msg_$item.id.link1",
|
|
55261
55300
|
"body": {
|
|
@@ -58836,6 +58875,203 @@ const SCREENS = runtimeSetting({
|
|
|
58836
58875
|
}
|
|
58837
58876
|
}
|
|
58838
58877
|
},
|
|
58878
|
+
{
|
|
58879
|
+
"id": "himi_owner_lite_aria.attachments.bound",
|
|
58880
|
+
"body": {
|
|
58881
|
+
"package": "himalaya",
|
|
58882
|
+
"type": "LazyList",
|
|
58883
|
+
"props": {
|
|
58884
|
+
"itemsPath": "$service:himiOwnerLiteAria.attachments",
|
|
58885
|
+
"horizontal": true,
|
|
58886
|
+
"spacing": 8,
|
|
58887
|
+
"items": [
|
|
58888
|
+
{
|
|
58889
|
+
"id": "himi_owner_lite_aria.attachment_$item.id",
|
|
58890
|
+
"body": {
|
|
58891
|
+
"package": "himalaya",
|
|
58892
|
+
"type": "VStack",
|
|
58893
|
+
"props": {
|
|
58894
|
+
"spacing": 4,
|
|
58895
|
+
"children": [
|
|
58896
|
+
{
|
|
58897
|
+
"id": "himi_owner_lite_aria.attachment_thumb_$item.id",
|
|
58898
|
+
"body": {
|
|
58899
|
+
"package": "himalaya",
|
|
58900
|
+
"type": "Image",
|
|
58901
|
+
"props": {
|
|
58902
|
+
"url": "$item.thumbUrl",
|
|
58903
|
+
"width": 72,
|
|
58904
|
+
"height": 72,
|
|
58905
|
+
"contentMode": "fill",
|
|
58906
|
+
"shape": "rounded",
|
|
58907
|
+
"contentDescription": "$item.name"
|
|
58908
|
+
}
|
|
58909
|
+
},
|
|
58910
|
+
"modifiers": {
|
|
58911
|
+
"hiddenPath": "$item.thumbHidden"
|
|
58912
|
+
}
|
|
58913
|
+
},
|
|
58914
|
+
{
|
|
58915
|
+
"id": "",
|
|
58916
|
+
"body": {
|
|
58917
|
+
"package": "himalaya",
|
|
58918
|
+
"type": "Text",
|
|
58919
|
+
"props": {
|
|
58920
|
+
"text": "$item.statusText",
|
|
58921
|
+
"style": "caption",
|
|
58922
|
+
"color": "textSecondary",
|
|
58923
|
+
"maxLines": 2
|
|
58924
|
+
}
|
|
58925
|
+
},
|
|
58926
|
+
"modifiers": {
|
|
58927
|
+
"hiddenPath": "$item.statusHidden"
|
|
58928
|
+
}
|
|
58929
|
+
},
|
|
58930
|
+
{
|
|
58931
|
+
"id": "",
|
|
58932
|
+
"body": {
|
|
58933
|
+
"package": "himalaya",
|
|
58934
|
+
"type": "HStack",
|
|
58935
|
+
"props": {
|
|
58936
|
+
"spacing": 8,
|
|
58937
|
+
"children": [
|
|
58938
|
+
{
|
|
58939
|
+
"id": "himi_owner_lite_aria.attachment_retry_$item.id",
|
|
58940
|
+
"body": {
|
|
58941
|
+
"package": "himalaya",
|
|
58942
|
+
"type": "Text",
|
|
58943
|
+
"props": {
|
|
58944
|
+
"text": "Retry",
|
|
58945
|
+
"style": "caption",
|
|
58946
|
+
"color": "accentPrimary",
|
|
58947
|
+
"maxLines": 1
|
|
58948
|
+
}
|
|
58949
|
+
},
|
|
58950
|
+
"modifiers": {
|
|
58951
|
+
"onTap": {
|
|
58952
|
+
"actionId": "tier5.himiOwnerLiteAria.retryAttachment",
|
|
58953
|
+
"params": {
|
|
58954
|
+
"id": "$item.id"
|
|
58955
|
+
}
|
|
58956
|
+
},
|
|
58957
|
+
"hiddenPath": "$item.retryHidden"
|
|
58958
|
+
}
|
|
58959
|
+
},
|
|
58960
|
+
{
|
|
58961
|
+
"id": "himi_owner_lite_aria.attachment_remove_$item.id",
|
|
58962
|
+
"body": {
|
|
58963
|
+
"package": "himalaya",
|
|
58964
|
+
"type": "Icon",
|
|
58965
|
+
"props": {
|
|
58966
|
+
"name": "close",
|
|
58967
|
+
"size": 14,
|
|
58968
|
+
"tint": "textSecondary"
|
|
58969
|
+
}
|
|
58970
|
+
},
|
|
58971
|
+
"modifiers": {
|
|
58972
|
+
"onTap": {
|
|
58973
|
+
"actionId": "tier5.himiOwnerLiteAria.removeAttachment",
|
|
58974
|
+
"params": {
|
|
58975
|
+
"id": "$item.id"
|
|
58976
|
+
}
|
|
58977
|
+
},
|
|
58978
|
+
"accessibilityLabel": "Remove photo"
|
|
58979
|
+
}
|
|
58980
|
+
}
|
|
58981
|
+
]
|
|
58982
|
+
}
|
|
58983
|
+
}
|
|
58984
|
+
}
|
|
58985
|
+
]
|
|
58986
|
+
}
|
|
58987
|
+
},
|
|
58988
|
+
"modifiers": {
|
|
58989
|
+
"width": 72
|
|
58990
|
+
}
|
|
58991
|
+
}
|
|
58992
|
+
]
|
|
58993
|
+
}
|
|
58994
|
+
},
|
|
58995
|
+
"modifiers": {
|
|
58996
|
+
"hiddenPath": "$service:himiOwnerLiteAria.attachmentsHidden",
|
|
58997
|
+
"padding": {
|
|
58998
|
+
"leading": 0,
|
|
58999
|
+
"trailing": 0,
|
|
59000
|
+
"top": 8,
|
|
59001
|
+
"bottom": 0
|
|
59002
|
+
}
|
|
59003
|
+
}
|
|
59004
|
+
},
|
|
59005
|
+
{
|
|
59006
|
+
"id": "",
|
|
59007
|
+
"body": {
|
|
59008
|
+
"package": "himalaya",
|
|
59009
|
+
"type": "HStack",
|
|
59010
|
+
"props": {
|
|
59011
|
+
"spacing": 16,
|
|
59012
|
+
"children": [
|
|
59013
|
+
{
|
|
59014
|
+
"id": "himi_owner_lite_aria.attach.library",
|
|
59015
|
+
"body": {
|
|
59016
|
+
"package": "himalaya",
|
|
59017
|
+
"type": "Icon",
|
|
59018
|
+
"props": {
|
|
59019
|
+
"name": "image",
|
|
59020
|
+
"size": 22,
|
|
59021
|
+
"tint": "accentPrimary"
|
|
59022
|
+
}
|
|
59023
|
+
},
|
|
59024
|
+
"modifiers": {
|
|
59025
|
+
"onTap": {
|
|
59026
|
+
"actionId": "tier5.himiOwnerLiteAria.attach",
|
|
59027
|
+
"params": {
|
|
59028
|
+
"source": "library"
|
|
59029
|
+
}
|
|
59030
|
+
},
|
|
59031
|
+
"accessibilityLabel": "Add a photo"
|
|
59032
|
+
}
|
|
59033
|
+
},
|
|
59034
|
+
{
|
|
59035
|
+
"id": "himi_owner_lite_aria.attach.camera",
|
|
59036
|
+
"body": {
|
|
59037
|
+
"package": "himalaya",
|
|
59038
|
+
"type": "Icon",
|
|
59039
|
+
"props": {
|
|
59040
|
+
"name": "camera",
|
|
59041
|
+
"size": 22,
|
|
59042
|
+
"tint": "accentPrimary"
|
|
59043
|
+
}
|
|
59044
|
+
},
|
|
59045
|
+
"modifiers": {
|
|
59046
|
+
"onTap": {
|
|
59047
|
+
"actionId": "tier5.himiOwnerLiteAria.attach",
|
|
59048
|
+
"params": {
|
|
59049
|
+
"source": "camera"
|
|
59050
|
+
}
|
|
59051
|
+
},
|
|
59052
|
+
"accessibilityLabel": "Take a photo"
|
|
59053
|
+
}
|
|
59054
|
+
},
|
|
59055
|
+
{
|
|
59056
|
+
"id": "",
|
|
59057
|
+
"body": {
|
|
59058
|
+
"package": "himalaya",
|
|
59059
|
+
"type": "Spacer",
|
|
59060
|
+
"props": {}
|
|
59061
|
+
}
|
|
59062
|
+
}
|
|
59063
|
+
]
|
|
59064
|
+
}
|
|
59065
|
+
},
|
|
59066
|
+
"modifiers": {
|
|
59067
|
+
"padding": {
|
|
59068
|
+
"leading": 0,
|
|
59069
|
+
"trailing": 0,
|
|
59070
|
+
"top": 8,
|
|
59071
|
+
"bottom": 0
|
|
59072
|
+
}
|
|
59073
|
+
}
|
|
59074
|
+
},
|
|
58839
59075
|
{
|
|
58840
59076
|
"id": "form_aria",
|
|
58841
59077
|
"body": {
|
|
@@ -58921,7 +59157,9 @@ const SCREENS = runtimeSetting({
|
|
|
58921
59157
|
"wix_api",
|
|
58922
59158
|
"open_url",
|
|
58923
59159
|
"clipboard",
|
|
58924
|
-
"ui"
|
|
59160
|
+
"ui",
|
|
59161
|
+
"camera",
|
|
59162
|
+
"presigned_upload"
|
|
58925
59163
|
],
|
|
58926
59164
|
"minBinaryVersion": "0.1.0",
|
|
58927
59165
|
"bundleVersion": "0.0.1"
|