@rubytech/create-maxy 1.0.796 → 1.0.797
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/package.json +1 -1
- package/payload/platform/plugins/admin/PLUGIN.md +4 -0
- package/payload/platform/plugins/admin/hooks/pre-tool-use.sh +9 -5
- package/payload/platform/plugins/admin/mcp/dist/index.js +54 -18
- package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/docs/references/settings.md +6 -0
- package/payload/platform/scripts/logs-read.sh +17 -12
- package/payload/platform/templates/agents/admin/IDENTITY.md +6 -0
- package/payload/server/public/assets/{admin-StzFnTQB.js → admin-Cz8hUAqx.js} +1 -1
- package/payload/server/public/assets/{graph-BOKpKqLw.js → graph-CBu0rtrP.js} +1 -1
- package/payload/server/public/assets/{page-DItB4skl.js → page-BNM63zsb.js} +1 -1
- package/payload/server/public/graph.html +2 -2
- package/payload/server/public/index.html +2 -2
- package/payload/server/server.js +17 -6
|
@@ -16,8 +16,10 @@
|
|
|
16
16
|
# logs-read.sh --tail [type] [lines] Tail most recent file of type
|
|
17
17
|
# logs-read.sh --grep <sessionKey> [type] Legacy grep across log files
|
|
18
18
|
#
|
|
19
|
-
# Types:
|
|
20
|
-
#
|
|
19
|
+
# Types: agent-stream (canonical, per-conversation tool-use/tool-result archive;
|
|
20
|
+
# `system` is kept as a backwards-compatible alias), session, error,
|
|
21
|
+
# heartbeat, public, server, mcp, vnc, review
|
|
22
|
+
# For per-conversation types (agent-stream/system/session/error/public): conversationId is
|
|
21
23
|
# required in the first mode. For platform-scoped types (server/vnc/review/
|
|
22
24
|
# heartbeat): conversationId is ignored.
|
|
23
25
|
#
|
|
@@ -93,9 +95,12 @@ account_suffix() {
|
|
|
93
95
|
|
|
94
96
|
# --- Prefix map (mirrors MCP tool exactly) ---
|
|
95
97
|
# Per-conversation types: stream log + its siblings (stderr, sse, public).
|
|
98
|
+
# Task 850 — `agent-stream` is the canonical name for the per-conversation
|
|
99
|
+
# tool-use/tool-result archive; `system` is kept as a backwards-compatible
|
|
100
|
+
# alias.
|
|
96
101
|
prefix_for_type() {
|
|
97
102
|
case "$1" in
|
|
98
|
-
system)
|
|
103
|
+
agent-stream|system) echo "claude-agent-stream-" ;;
|
|
99
104
|
error) echo "claude-agent-stderr-" ;;
|
|
100
105
|
session) echo "sse-events-" ;;
|
|
101
106
|
public) echo "public-agent-stream-" ;;
|
|
@@ -107,13 +112,13 @@ prefix_for_type() {
|
|
|
107
112
|
# Which types are per-conversation (the first mode's convId argument applies)
|
|
108
113
|
is_per_conversation_type() {
|
|
109
114
|
case "$1" in
|
|
110
|
-
system|error|session|public) return 0 ;;
|
|
115
|
+
agent-stream|system|error|session|public) return 0 ;;
|
|
111
116
|
*) return 1 ;;
|
|
112
117
|
esac
|
|
113
118
|
}
|
|
114
119
|
|
|
115
|
-
SEARCH_TYPES="
|
|
116
|
-
VALID_TYPES="system, session, error, heartbeat, public, server, mcp, vnc, review"
|
|
120
|
+
SEARCH_TYPES="agent-stream error session public server mcp vnc review"
|
|
121
|
+
VALID_TYPES="agent-stream, system, session, error, heartbeat, public, server, mcp, vnc, review"
|
|
117
122
|
|
|
118
123
|
usage() {
|
|
119
124
|
cat >&2 <<EOF
|
|
@@ -123,9 +128,9 @@ Usage:
|
|
|
123
128
|
logs-read.sh --grep <sessionKey> [type] Legacy grep across log files
|
|
124
129
|
|
|
125
130
|
Types: $VALID_TYPES
|
|
126
|
-
Default type:
|
|
131
|
+
Default type: agent-stream | Default lines: 50
|
|
127
132
|
|
|
128
|
-
Per-conversation types (system, session, error, public) require conversationId
|
|
133
|
+
Per-conversation types (agent-stream, system, session, error, public) require conversationId
|
|
129
134
|
in the first mode — the log file is named {prefix}-{conversationId}.log.
|
|
130
135
|
Platform-scoped types (server, vnc, review, heartbeat) ignore conversationId.
|
|
131
136
|
EOF
|
|
@@ -135,7 +140,7 @@ EOF
|
|
|
135
140
|
validate_type() {
|
|
136
141
|
local t="$1"
|
|
137
142
|
case "$t" in
|
|
138
|
-
system|session|error|heartbeat|public|server|mcp|vnc|review) return 0 ;;
|
|
143
|
+
agent-stream|system|session|error|heartbeat|public|server|mcp|vnc|review) return 0 ;;
|
|
139
144
|
*) echo "Error: invalid type '$t'. Valid types: $VALID_TYPES" >&2; exit 2 ;;
|
|
140
145
|
esac
|
|
141
146
|
}
|
|
@@ -161,7 +166,7 @@ validate_type() {
|
|
|
161
166
|
# - platform/plugins/admin/mcp/src/index.ts (conversationId branch)
|
|
162
167
|
per_conversation_mode() {
|
|
163
168
|
local conv_id="$1"
|
|
164
|
-
local filter_type="${2:-
|
|
169
|
+
local filter_type="${2:-agent-stream}"
|
|
165
170
|
|
|
166
171
|
if [[ -z "$conv_id" ]]; then
|
|
167
172
|
echo "Error: conversationId cannot be empty" >&2
|
|
@@ -362,7 +367,7 @@ grep_mode() {
|
|
|
362
367
|
}
|
|
363
368
|
|
|
364
369
|
tail_mode() {
|
|
365
|
-
local log_type="${1:-
|
|
370
|
+
local log_type="${1:-agent-stream}"
|
|
366
371
|
local lines="${2:-50}"
|
|
367
372
|
|
|
368
373
|
validate_type "$log_type"
|
|
@@ -462,7 +467,7 @@ fi
|
|
|
462
467
|
case "$1" in
|
|
463
468
|
--tail)
|
|
464
469
|
shift
|
|
465
|
-
tail_mode "${1:-
|
|
470
|
+
tail_mode "${1:-agent-stream}" "${2:-50}"
|
|
466
471
|
;;
|
|
467
472
|
--grep)
|
|
468
473
|
shift
|
|
@@ -202,6 +202,12 @@ The owner can manage who has admin access to this account through conversation.
|
|
|
202
202
|
|
|
203
203
|
Only the owner (or any current admin) can manage admins. Role is a label only — "owner" marks the original creator, "admin" marks subsequent additions. No capability differences are enforced.
|
|
204
204
|
|
|
205
|
+
**Three-store admin auth invariant.** Admin identity lives in three places that must stay in lockstep: `account.json` `admins[]` (account-level role), `users.json` (device-level PIN auth — the source of truth at login time), Neo4j `:AdminUser` + `:Person` + `OWNS` + `ADMIN_OF` (display + graph identity). `admin-add` writes all three; `admin-update-pin` writes `users.json` only (the other stores carry no PIN). Any leg failing makes the tool return `is_error: true` with a `[admin-auth-store] action=… userId=… result=fail store=…` line in `server.log` naming exactly which leg failed and what was already written. When you see such a line, treat the admin record as half-written and tell the owner — manual reconciliation may be needed.
|
|
206
|
+
|
|
207
|
+
**Never `Edit` or `Write` `account.json` directly.** All account-level mutations — `tier`, `outputStyle`, `thinkingView`, `effort`, `enabledPlugins`, `admins[]`, agent settings — go through the dedicated MCP tools: `account-update`, `plugin-toggle-enabled`, `admin-add`, `admin-remove`. The pre-tool-use hook denies direct `Edit`/`Write` on `account.json` server-side; this rule is the LLM-visible explanation. `tier` and `purchasedPlugins` specifically derive from a Rubytech-signed entitlement payload — the disk value of `account.json.tier` is ignored on commercial installs, so a hand-edit is silently void.
|
|
208
|
+
|
|
209
|
+
**`admin-add` retries — re-pass any user-stated PIN.** If `admin-add` returns an error (tier cap reached, PIN collision) and the owner resolves the blocker (upgrade tier, remove an existing admin), the retried `admin-add` MUST re-pass the PIN the owner originally stated as the `pin` parameter. Omitting `pin` on the retry auto-generates a different 4-digit PIN — silently substituting what the owner asked for. The resulting `admin-update-pin` correction loop is exactly the failure mode that hid the Adam Mackay incident from the recovery agent.
|
|
210
|
+
|
|
205
211
|
## Plugin and Account Management
|
|
206
212
|
|
|
207
213
|
Plugin installation, removal, and account settings changes are managed via conversation. Load the relevant skill via `plugin-read` (find its path in the manifest under `admin`).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as e,t}from"./chunk-DD-I1_y5.js";import{a as n,i as r,n as i,o as a,r as o,t as s}from"./jsx-runtime-DJER3a7U.js";import{A as c,C as l,D as u,E as d,M as f,N as p,O as m,P as h,S as g,T as _,a as v,b as y,c as b,d as x,f as S,g as C,h as w,i as T,j as E,k as D,l as O,m as k,n as A,o as j,p as M,r as N,s as P,t as ee,u as te,v as F,w as I,x as ne,y as re}from"./useVoiceRecorder-D_8P7xJU.js";import{a as ie,i as ae,r as oe,t as se}from"./page-DItB4skl.js";import{i as L,n as ce,r as le}from"./page-DM19J3ur.js";import{a as ue,i as de,l as fe,n as pe,o as me,r as he,s as ge}from"./useAdminFetch-iYCQ9lT0.js";import{t as _e}from"./Checkbox-BruL6MSR.js";var ve=r(),ye=o(`archive`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]),be=o(`asterisk`,[[`path`,{d:`M12 6v12`,key:`1vza4d`}],[`path`,{d:`M17.196 9 6.804 15`,key:`1ah31z`}],[`path`,{d:`m6.804 9 10.392 6`,key:`1b6pxd`}]]),xe=o(`bold`,[[`path`,{d:`M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8`,key:`mg9rjx`}]]),Se=o(`bot-off`,[[`path`,{d:`M13.67 8H18a2 2 0 0 1 2 2v4.33`,key:`7az073`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M22 22 2 2`,key:`1r8tn9`}],[`path`,{d:`M8 8H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 1.414-.586`,key:`s09a7a`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}],[`path`,{d:`M9.67 4H12v2.33`,key:`110xot`}]]),Ce=o(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),we=o(`box`,[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]),Te=o(`calendar-days`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,key:`1hopcy`}],[`path`,{d:`M3 10h18`,key:`8toen8`}],[`path`,{d:`M8 14h.01`,key:`6423bh`}],[`path`,{d:`M12 14h.01`,key:`1etili`}],[`path`,{d:`M16 14h.01`,key:`1gbofw`}],[`path`,{d:`M8 18h.01`,key:`lrp35t`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}],[`path`,{d:`M16 18h.01`,key:`kzsmim`}]]),Ee=o(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),De=o(`circle-check-big`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),Oe=o(`circle-plus`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),R=o(`clipboard-list`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`M12 11h4`,key:`1jrz19`}],[`path`,{d:`M12 16h4`,key:`n85exb`}],[`path`,{d:`M8 11h.01`,key:`1dfujw`}],[`path`,{d:`M8 16h.01`,key:`18s6g9`}]]),ke=o(`clipboard-plus`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`M9 14h6`,key:`159ibu`}],[`path`,{d:`M12 17v-6`,key:`1y8rbf`}]]),Ae=o(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),z=o(`code-xml`,[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]]),je=o(`database-zap`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 15 21.84`,key:`14ibmq`}],[`path`,{d:`M21 5V8`,key:`1marbg`}],[`path`,{d:`M21 12L18 17H22L19 22`,key:`zafso`}],[`path`,{d:`M3 12A9 3 0 0 0 14.59 14.87`,key:`1y4wr8`}]]),Me=o(`database-search`,[[`path`,{d:`M21 11.693V5`,key:`175m1t`}],[`path`,{d:`m22 22-1.875-1.875`,key:`13zax7`}],[`path`,{d:`M3 12a9 3 0 0 0 8.697 2.998`,key:`151u9p`}],[`path`,{d:`M3 5v14a9 3 0 0 0 9.28 2.999`,key:`q2rs2p`}],[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}]]),Ne=o(`dot`,[[`circle`,{cx:`12.1`,cy:`12.1`,r:`1`,key:`18d7e5`}]]),Pe=o(`ellipsis-vertical`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}]]),Fe=o(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),Ie=o(`file-archive`,[[`path`,{d:`M13.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v11.5`,key:`4pqfef`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M8 12v-1`,key:`1ej8lb`}],[`path`,{d:`M8 18v-2`,key:`qcmpov`}],[`path`,{d:`M8 7V6`,key:`1nbb54`}],[`circle`,{cx:`8`,cy:`20`,r:`2`,key:`ckkr5m`}]]),Le=o(`file-down`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M12 18v-6`,key:`17g6i2`}],[`path`,{d:`m9 15 3 3 3-3`,key:`1npd3o`}]]),Re=o(`file-exclamation-point`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),ze=o(`file-image`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`circle`,{cx:`10`,cy:`12`,r:`2`,key:`737tya`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`,key:`wt3hpn`}]]),Be=o(`file-pen-line`,[[`path`,{d:`m18.226 5.226-2.52-2.52A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.351`,key:`1k2beg`}],[`path`,{d:`M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`,key:`2t3380`}],[`path`,{d:`M8 18h1`,key:`13wk12`}]]),Ve=o(`file-plus-corner`,[[`path`,{d:`M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35`,key:`17jvcc`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 19h6`,key:`bvotb8`}],[`path`,{d:`M17 16v6`,key:`18yu1i`}]]),He=o(`git-branch`,[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]),Ue=o(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),We=o(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),Ge=o(`italic`,[[`line`,{x1:`19`,x2:`10`,y1:`4`,y2:`4`,key:`15jd3p`}],[`line`,{x1:`14`,x2:`5`,y1:`20`,y2:`20`,key:`bu0au3`}],[`line`,{x1:`15`,x2:`9`,y1:`4`,y2:`20`,key:`uljnxc`}]]),Ke=o(`lightbulb-off`,[[`path`,{d:`M16.8 11.2c.8-.9 1.2-2 1.2-3.2a6 6 0 0 0-9.3-5`,key:`1fkcox`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M6.3 6.3a4.67 4.67 0 0 0 1.2 5.2c.7.7 1.3 1.5 1.5 2.5`,key:`10m8kw`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),qe=o(`lightbulb`,[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`,key:`1gvzjb`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),Je=o(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),Ye=o(`list-todo`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`rect`,{x:`3`,y:`4`,width:`6`,height:`6`,rx:`1`,key:`cif1o7`}]]),Xe=o(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),Ze=o(`loader`,[[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m16.2 7.8 2.9-2.9`,key:`r700ao`}],[`path`,{d:`M18 12h4`,key:`wj9ykh`}],[`path`,{d:`m16.2 16.2 2.9 2.9`,key:`1bxg5t`}],[`path`,{d:`M12 18v4`,key:`jadmvz`}],[`path`,{d:`m4.9 19.1 2.9-2.9`,key:`bwix9q`}],[`path`,{d:`M2 12h4`,key:`j09sii`}],[`path`,{d:`m4.9 4.9 2.9 2.9`,key:`giyufr`}]]),Qe=o(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),$e=o(`message-square-plus`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M12 8v6`,key:`1ib9pf`}],[`path`,{d:`M9 11h6`,key:`1fldmi`}]]),et=o(`messages-square`,[[`path`,{d:`M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z`,key:`1n2ejm`}],[`path`,{d:`M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1`,key:`1qfcsi`}]]),tt=o(`message-square`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}]]),nt=o(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),rt=o(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),it=o(`monitor-smartphone`,[[`path`,{d:`M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8`,key:`10dyio`}],[`path`,{d:`M10 19v-3.96 3.15`,key:`1irgej`}],[`path`,{d:`M7 19h5`,key:`qswx4l`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`12`,rx:`2`,key:`1egngj`}]]),at=o(`panel-left-close`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m16 15-3-3 3-3`,key:`14y99z`}]]),ot=o(`panel-left-open`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m14 9 3 3-3 3`,key:`8010ee`}]]),st=o(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),ct=o(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),lt=o(`scroll-text`,[[`path`,{d:`M15 12h-5`,key:`r7krc0`}],[`path`,{d:`M15 8h-5`,key:`1khuty`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`,key:`zz82l3`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`,key:`1ph1d7`}]]),ut=o(`sparkle`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}]]),dt=o(`square-arrow-down-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`m16 8-8 8`,key:`166keh`}],[`path`,{d:`M16 16H8V8`,key:`1w2ppm`}]]),ft=o(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),pt=o(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),mt=o(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),ht=o(`user-plus`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`,key:`1bvyxn`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]),gt=o(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),_t=o(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]),vt=o(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]),B=e(a(),1);function yt(){(0,B.useEffect)(()=>{function e(e){e.data?.type===`vnc-clipboard`&&typeof e.data.text==`string`&&ne(e.data.text)}window.addEventListener(`message`,e);let t=null;return typeof BroadcastChannel<`u`&&(t=new BroadcastChannel(`maxy-vnc-clipboard`),t.onmessage=e=>{typeof e.data==`string`&&ne(e.data)}),()=>{window.removeEventListener(`message`,e),t?.close()}},[])}function bt(e){if(e<60)return`${e}s`;let t=Math.floor(e/60),n=e%60;return n>0?`${t}m ${n}s`:`${t}m`}function xt(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function St(){let[e,t]=(0,B.useState)(0),n=(0,B.useRef)(0),r=(0,B.useRef)(0),i=(0,B.useRef)(null),[a,o]=(0,B.useState)(0),s=(0,B.useRef)(0),c=(0,B.useRef)(null),l=(0,B.useRef)(null);return{elapsedSeconds:e,sessionElapsed:a,sessionTurnStart:l,pausedElapsedRef:r,startElapsedTimer:(0,B.useCallback)((e=0)=>{l.current=Date.now(),c.current=setInterval(()=>{let e=s.current+(Date.now()-(l.current??Date.now()));o(Math.floor(e/1e3))},1e3),n.current=e,t(e),i.current=setInterval(()=>{n.current+=1,t(n.current)},1e3)},[]),stopElapsedTimer:(0,B.useCallback)(e=>{i.current&&=(clearInterval(i.current),null),c.current&&=(clearInterval(c.current),null),l.current&&(s.current+=Date.now()-l.current,l.current=null,o(Math.floor(s.current/1e3))),r.current=n.current;let t=n.current;e(e=>{let n=[...e].map((e,t)=>({m:e,i:t})).reverse().find(({m:e})=>e.role===`maxy`)?.i;if(n===void 0)return e;let r=[...e];return r[n]={...r[n],elapsedSeconds:t},r})},[]),resetTimerState:(0,B.useCallback)(()=>{s.current=0,o(0)},[])}}var Ct=`image/jpeg,image/png,image/gif,image/webp,application/pdf,text/plain,text/markdown,text/csv,text/html,text/calendar,application/zip,application/x-zip-compressed`,wt=new Set(Ct.split(`,`)),Tt=20*1024*1024,Et=new Set([`action-list`,`document-editor`,`rich-content-editor`,`grid-editor`]);function Dt(e){switch(e){case`expanded`:return!0;case`collapsed`:return!1;default:return}}function Ot(){let[e,t]=(0,B.useState)(`loading`),[n,r]=(0,B.useState)(``),[i,a]=(0,B.useState)(``),[o,s]=(0,B.useState)(``),[c,l]=(0,B.useState)(``),[u,d]=(0,B.useState)(!1),[f,p]=(0,B.useState)(!1),[m,h]=(0,B.useState)(!1),[g,_]=(0,B.useState)(!1),[v,y]=(0,B.useState)(!1),[b,x]=(0,B.useState)(null),[S,C]=(0,B.useState)(null),[w,T]=(0,B.useState)(void 0),[E,D]=(0,B.useState)(void 0),[O,k]=(0,B.useState)(null),[A,j]=(0,B.useState)(void 0),[M,N]=(0,B.useState)(null),[P,ee]=(0,B.useState)(null),[te,F]=(0,B.useState)([]),[I,ne]=(0,B.useState)(!1),[re,ie]=(0,B.useState)(void 0),ae=(0,B.useRef)(void 0),oe=(0,B.useRef)(null),se=(0,B.useRef)(null),L=(0,B.useRef)(null);(0,B.useEffect)(()=>{async function e(){let e=null;try{e=sessionStorage.getItem(`maxy-admin-session-key`)}catch{}if(!e)return!1;try{let n=await fetch(`/api/admin/session?session_key=${encodeURIComponent(e)}`);if(n.status===401){try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}return!1}if(!n.ok)return!1;let r=await n.json();x(r.session_key),ee(r.conversationId??null),T(r.onboardingComplete),D(r.businessName),k(r.role??null),j(r.userName===void 0?null:r.userName),N(r.avatar??null);let i=Dt(r.thinkingView);return ae.current=i,ie(i),t(`chat`),!0}catch(e){return console.error(`[admin] session restore failed:`,e),!1}}async function n(r=2){try{let i=await fetch(`/api/health`);if(!i.ok){if(r>0)return await new Promise(e=>setTimeout(e,1500)),n(r-1);console.error(`[admin] health check returned ${i.status} after retries`),t(`set-pin`);return}let a=await i.json();if(!a.pin_configured){t(`set-pin`);return}if(a.onboarding_complete===!1){t(`onboarding-choice`);return}if(!a.claude_authenticated){t(`connect-claude`);return}if(await e())return;t(`enter-pin`)}catch(e){if(r>0)return await new Promise(e=>setTimeout(e,1500)),n(r-1);console.error(`[admin] health check failed:`,e),t(`set-pin`)}}n()},[]),(0,B.useEffect)(()=>{e===`chat`&&fetch(`/api/admin/claude-info`).then(e=>{if(e.ok)return e.json()}).then(e=>{e&&C(e)}).catch(()=>{})},[e]),(0,B.useEffect)(()=>{if(e!==`chat`)return;let n=setInterval(async()=>{try{let e=await fetch(`/api/health`);if(!e.ok)return;let n=await e.json();(n.auth_status===`dead`||n.auth_status===`missing`)&&t(`connect-claude`)}catch{}},300*1e3);return()=>clearInterval(n)},[e]),(0,B.useEffect)(()=>{e===`connect-claude`&&fetch(`/api/health`).then(e=>e.ok?e.json():null).then(e=>{e?.claude_authenticated&&t(`enter-pin`)}).catch(()=>{})},[e]);async function ce(e,n){p(!0);try{let i=await fetch(`/api/admin/session`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:e,...n?{accountId:n}:{}})});if(!i.ok){l((await i.json().catch(()=>({}))).error||`Invalid PIN`);return}let o=await i.json();if(o.accounts&&!o.session_key){console.log(`[admin] account picker shown: userId=${o.userId} accountCount=${o.accounts.length}`),F(o.accounts),t(`account-picker`);return}x(o.session_key),ee(o.conversationId??null),T(o.onboardingComplete??!0),D(o.businessName),k(o.role??null),j(o.userName===void 0?null:o.userName),N(o.avatar??null);let s=Dt(o.thinkingView);if(ae.current=s,ie(s),n)try{sessionStorage.setItem(`maxy-account-id`,n)}catch{}try{sessionStorage.setItem(`maxy-admin-session-key`,o.session_key)}catch{}r(``),a(``),t(`chat`)}catch(e){console.error(`[admin] connection error:`,e),l(`Could not connect.`)}finally{p(!1),ne(!1)}}let le=(0,B.useCallback)(async e=>{if(e.preventDefault(),f)return;l(``);let s=o.trim();if(!s){l(`Please enter your name.`);return}if(n.length<4){l(`PIN must be at least 4 characters.`);return}if(n!==i){l(`PINs do not match.`);return}let c=n;p(!0);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:c,name:s})});if(!e.ok){let n=await e.json().catch(()=>({}));if(e.status===409){console.log(`[admin] PIN already configured — re-checking health`);try{let e=await fetch(`/api/health`);if(e.ok){let r=await e.json();r.pin_configured&&r.claude_authenticated?t(`enter-pin`):r.pin_configured?t(`connect-claude`):l(n.error||`Failed to set PIN.`)}else t(`enter-pin`)}catch{t(`enter-pin`)}return}l(n.error||`Failed to set PIN.`);return}let n=await fetch(`/api/health`),i=n.ok?await n.json():null;if(i?.onboarding_complete===!1){r(``),a(``),t(`onboarding-choice`);return}if(i?.claude_authenticated){await ce(c);return}r(``),a(``),t(`onboarding-choice`)}catch(e){console.error(`[admin] connection error:`,e),l(`Could not connect.`)}finally{p(!1)}},[n,i,f,o]),ue=(0,B.useCallback)(async e=>{e.preventDefault(),l(``),await ce(n)},[n]),de=(0,B.useCallback)(async()=>{y(!0),await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`logout`})}),x(null),k(null),j(void 0),N(null);try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}t(`connect-claude`)},[]),fe=(0,B.useCallback)(()=>{x(null),k(null),j(void 0),N(null);try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}r(``),a(``),l(``),t(`enter-pin`)},[]);return{appState:e,setAppState:t,pin:n,setPin:r,confirmPin:i,setConfirmPin:a,operatorName:o,setOperatorName:s,pinError:c,setPinError:l,showPin:u,setShowPin:d,pinLoading:f,authPolling:m,setAuthPolling:h,authLoading:g,setAuthLoading:_,disconnecting:v,sessionKey:b,setSessionKey:x,claudeInfo:S,setClaudeInfo:C,onboardingComplete:w,setOnboardingComplete:T,businessName:E,role:O,userName:A,userAvatar:M,conversationId:P,setConversationId:ee,accounts:te,accountPickerLoading:I,expandAll:re,setExpandAll:ie,expandAllDefaultRef:ae,pinInputRef:oe,confirmPinInputRef:se,setPinFormRef:L,handleSetPin:le,handleLogin:ue,handleAccountSelect:(0,B.useCallback)(async e=>{ne(!0),l(``),await ce(n,e)},[n]),handleDisconnect:de,handleLogout:fe,handleChangePin:(0,B.useCallback)(async()=>{if(!n){l(`Enter your current PIN first.`);return}p(!0),l(``);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({currentPin:n})});if(!e.ok){l((await e.json().catch(()=>({error:`Incorrect PIN.`}))).error||`Incorrect PIN.`);return}r(``),a(``),l(``),t(`set-pin`)}catch(e){console.error(`[admin-auth] change pin failed:`,e),l(e instanceof Error?e.message:String(e))}finally{p(!1)}},[n])}}var kt={active:!1,heldMessage:null,existingTopic:null,confidence:0};function At(){let[e,t]=(0,B.useState)(kt),n=(0,B.useRef)(!1);return{offer:e,handleOfferEvent:(0,B.useCallback)((e,n,r)=>{t({active:!0,heldMessage:e,existingTopic:n,confidence:r})},[]),consumeOffer:(0,B.useCallback)(r=>{if(!e.active||!e.heldMessage||n.current)return null;n.current=!0;let i={heldMessage:e.heldMessage,action:r};return t(kt),setTimeout(()=>{n.current=!1},0),i},[e]),dismissAndGetHeldMessage:(0,B.useCallback)(()=>{if(!e.active||!e.heldMessage)return null;let n=e.heldMessage;return t(kt),n},[e])}}var jt=`maxy-admin-draft`,Mt=`maxy-admin-session-key`,Nt=[500,1e3,2e3,4e3,8e3,1e4,1e4],Pt=3e4;function Ft(e){if(e instanceof TypeError){let t=e.message||``;return/network|failed to fetch|load failed/i.test(t)}return!1}async function It(){let e=Date.now()+Pt;for(let t=0;t<Nt.length;t++){let n=Nt[t];if(await new Promise(e=>setTimeout(e,n)),Date.now()>e)return!1;try{if((await fetch(`/api/health`,{cache:`no-store`,signal:AbortSignal.timeout(3e3)})).ok)return!0}catch{}}return!1}function Lt(e){let{sessionKey:t,setSessionKey:n,setAppState:r,setConversationId:i,startElapsedTimer:a,stopElapsedTimer:o,resetTimerState:s,pausedElapsedRef:c,expandAllDefaultRef:l,setExpandAll:u,getPendingFiles:d,clearPendingFiles:f,inputRef:p}=e,[m,h]=(0,B.useState)([]),[g,_]=(0,B.useState)(()=>{try{return localStorage.getItem(jt)??``}catch{return``}}),v=(0,B.useRef)(null),[b,x]=(0,B.useState)(!1),[S,C]=(0,B.useState)([]),w=(0,B.useRef)([]),[T,E]=(0,B.useState)(!1),[D,O]=(0,B.useState)(!1),k=(0,B.useRef)(!1),[A,j]=(0,B.useState)(0),[M,N]=(0,B.useState)(!1),P=(0,B.useRef)(null),ee=(0,B.useRef)(()=>{}),[te,F]=(0,B.useState)(new Set),I=At();function ne(e){w.current=e,C(e)}(0,B.useEffect)(()=>(v.current=setTimeout(()=>{try{g?localStorage.setItem(jt,g):localStorage.removeItem(jt)}catch{}},300),()=>{v.current&&clearTimeout(v.current)}),[g]);function re(){v.current&&clearTimeout(v.current);try{localStorage.removeItem(jt)}catch{}}function ie(e){P.current?.abort(),N(e),t&&fetch(`/api/admin/chat/cancel`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({session_key:t})}).catch(()=>{})}async function ae(e){if(b||!t)return;N(!1),a(),x(!0);let s=new AbortController;P.current=s,h([{role:`maxy`,events:[],timestamp:Date.now()}]);try{let a=await fetch(`/api/admin/chat`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({message:e,session_key:t}),signal:s.signal});if(!a.ok){if(a.status===401){(await a.json().catch(()=>({}))).error===`auth_expired`?r(`connect-claude`):(n(null),r(`enter-pin`));return}let e=await a.json().catch(()=>({}));throw Error(typeof e.error==`string`?e.error:`Request failed (${a.status})`)}let o=!1;for await(let e of y(a)){if(e.type===`session_reset`){k.current=!0,P.current?.abort();break}if(e.type===`server_shutdown`){o=!0,h(e=>{let t=[...e];return t[0]?.role===`maxy`&&(t[0]={...t[0],events:[...t[0].events??[],{type:`text`,content:`Server is restarting — reconnect will happen automatically.`}]}),t});continue}if(e.type===`conversation_attributed`){let t=e.conversationId;typeof t==`string`&&t.length>0&&i(t);continue}if(e.type===`session_expired`){h(e=>{let t=[...e];return t[0]?.role===`maxy`&&(t[0]={...t[0],events:[...t[0].events??[],{type:`text`,content:`This conversation can no longer be resumed — its history is gone. The next message will start a fresh exchange under the same conversation thread.`}]}),t});continue}if(e.type===`done`||e.type===`session_init`)continue;let t=e;h(e=>{let n=[...e];return n[0]?.role===`maxy`&&(n[0]={...n[0],events:[...n[0].events??[],t]}),n})}o&&It()}catch(e){if(!(e instanceof DOMException&&e.name===`AbortError`)){console.error(`[chat] admin sendMessage failed:`,e);let t=e instanceof Error?e.message:String(e),n=Ft(e);h(e=>{let r=[...e],i=r[0];if(i?.role===`maxy`){let e=n?`Server is restarting — reconnect will happen automatically.`:`Error: ${t}`;r[0]={...i,events:[...i.events??[],{type:`text`,content:e}]}}else r.push({role:`maxy`,events:[{type:`text`,content:`Error: ${t}`}],timestamp:Date.now()});return r}),n&&It()}}finally{o(h),x(!1),k.current?(k.current=!1,oe()):p.current?.focus()}}function oe(){h([]),O(!1),s(),F(new Set),u(l.current),ne([]),_(``),re(),f(),N(!1),j(e=>e+1)}function se(e){F(new Set(e))}async function L(){if(b||T||!t){console.warn(`[chat] startNewConversation blocked: streaming=${b} compacting=${T} sessionKey=${!!t}`);return}oe();try{let e=await fetch(`/api/admin/sessions/new?session_key=${encodeURIComponent(t)}`,{method:`POST`});if(e.ok){let t=await e.json();if(t.session_key){n(t.session_key);try{sessionStorage.setItem(Mt,t.session_key)}catch{}pe(t.session_key,`chat`)}t.conversationId&&i(t.conversationId)}else console.error(`[chat] new conversation failed: ${e.status}`),h([{role:`maxy`,events:[{type:`text`,content:`Could not start a new conversation. Please try again.`}],timestamp:Date.now()}])}catch(e){console.error(`[chat] new conversation failed:`,e),h([{role:`maxy`,events:[{type:`text`,content:`Could not start a new conversation. Please try again.`}],timestamp:Date.now()}])}}function ce(e,n,r,i){try{let e=JSON.parse(r);if(e._lifecycle&&t){fetch(`/api/admin/chat`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({message:r,session_key:t})}).catch(()=>{});return}if(e.action===`save`)return}catch{}Et.has(i??``)||F(t=>new Set(t).add(`${e}_${n}`)),ue(i?JSON.stringify({_componentDone:!0,component:i,payload:r}):r,void 0,void 0,!0)}let le=(0,B.useMemo)(()=>{let e=new Set(te),t=[];for(let e=0;e<m.length;e++){let n=m[e];if(!(n.role!==`maxy`||!n.events))for(let e=0;e<n.events.length;e++){let r=n.events[e];r.type===`component`&&r.name===`browser-viewer`&&t.push({key:`${n.timestamp}_${e}`})}}for(let n=0;n<t.length-1;n++)e.add(t[n].key);return e},[m,te]);async function ue(e,s,l,u,g){if(!e&&(s??d()).length===0&&!M||b||!t)return;if(I.offer.active&&!g){let t=I.dismissAndGetHeldMessage();if(t)return ne([...w.current,{text:e,files:s??[],timestamp:l??Date.now()}]),ue(t,void 0,void 0,!0,{topicChangeAction:`continue`,heldMessage:t})}let v=M;N(!1),O(!1);let S=s??[...d()],C=S.map(e=>({attachmentId:``,filename:e.name,mimeType:e.type})),T={role:`admin`,content:e,attachments:C.length>0?C:void 0,timestamp:l??Date.now(),hidden:u||void 0},E=m.length;h(e=>[...e,T]),_(``),re(),s||f(),a(v?c.current:0),x(!0);let D=new AbortController;P.current=D;let A={role:`maxy`,events:[],timestamp:Date.now()};h(e=>[...e,A]);let j=E+1;try{let a,o={},s=l?new Date(l).toISOString():void 0;if(S.length>0){let n=new FormData;n.append(`message`,e),n.append(`session_key`,t),s&&n.append(`timestamp`,s);for(let e of S)n.append(`attachments`,e);a=n}else a=JSON.stringify({message:e,session_key:t,...s&&{timestamp:s},...g&&{topicChangeAction:g.topicChangeAction,heldMessage:g.heldMessage}}),o={"Content-Type":`application/json`};let c=await fetch(`/api/admin/chat`,{method:`POST`,headers:o,body:a,signal:D.signal});if(!c.ok){if(c.status===401){(await c.json().catch(()=>({}))).error===`auth_expired`?r(`connect-claude`):(n(null),r(`enter-pin`));return}let e=await c.json().catch(()=>({}));throw Error(typeof e.error==`string`?e.error:`Request failed (${c.status})`)}let u=!1;for await(let e of y(c)){if(e.type===`session_reset`){k.current=!0;continue}if(e.type===`topic_change_offer`){I.handleOfferEvent(e.heldMessage,e.existingTopic,e.confidence);continue}if(e.type===`conversation_attributed`){let t=e.conversationId;typeof t==`string`&&t.length>0&&i(t);continue}if(e.type===`session_expired`){h(e=>{let t=[...e],n=t[j];return n&&n.role===`maxy`&&(t[j]={...n,events:[...n.events??[],{type:`text`,content:`This conversation can no longer be resumed — its history is gone. The next message will start a fresh exchange under the same conversation thread.`}]}),t});continue}if(e.type===`server_shutdown`){u=!0,h(e=>{let t=[...e],n=t[j];return n&&n.role===`maxy`&&(t[j]={...n,events:[...n.events??[],{type:`text`,content:`Server is restarting — reconnect will happen automatically.`}]}),t});continue}if(e.type===`done`||e.type===`session_init`)continue;let t=e;h(e=>{let n=[...e],r=n[j];if(r&&r.role===`maxy`){let i=r.events??[];if(t.type===`component`&&i.some(e=>e.type===`component`&&e.name===t.name&&JSON.stringify(e.data)===JSON.stringify(t.data)))return e;n[j]={...r,events:[...i,t]}}return n})}u&&It()}catch(e){if(!(e instanceof DOMException&&e.name===`AbortError`)){console.error(`[chat] admin sendMessage failed:`,e);let t=e instanceof Error?e.message:String(e),n=Ft(e);h(e=>{let r=[...e],i=r[j];if(i&&i.role===`maxy`){let e=n?`Server is restarting — reconnect will happen automatically.`:`Error: ${t}`;r[j]={...i,events:[...i.events??[],{type:`text`,content:e}]}}return r}),n&&It()}}finally{if(o(h),x(!1),k.current)k.current=!1,oe();else{let e=w.current;if(e.length>0){let[t,...n]=e;ne(n),ee.current(t.text,t.files,t.timestamp)}else p.current?.focus()}}}ee.current=ue;let de=(0,B.useCallback)(async()=>{if(!(!t||b||T)){E(!0);try{let e=await fetch(`/api/admin/compact`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({session_key:t})});for await(let t of y(e))if(t.type===`status`&&t.message){let e=t.message;h(t=>{let n=[...t],r=n[n.length-1];return r?.role===`maxy`&&(n[n.length-1]={...r,events:[...r.events??[],{type:`status`,message:e}]}),n})}else t.type===`done`&&t.ok&&O(!0)}finally{E(!1)}}},[t,b,T]);async function fe(){let e=I.consumeOffer(`fresh`);e&&(await L(),ee.current(e.heldMessage))}function me(){let e=I.consumeOffer(`continue`);e&&ue(e.heldMessage,void 0,void 0,!0,{topicChangeAction:`continue`,heldMessage:e.heldMessage})}return{messages:m,setMessages:h,input:g,setInput:_,isStreaming:b,messageQueue:S,messageQueueRef:w,setQueue:ne,isCompacting:T,conversationCompacted:D,greetingGeneration:A,wasPaused:M,sendMessageRef:ee,submittedComponents:te,effectiveSubmitted:le,stopStreaming:ie,sendSystemPrompt:ae,sendMessage:ue,resetConversation:oe,startNewConversation:L,seedSubmittedComponents:se,handleComponentSubmit:ce,handleCompactNow:de,topicChangeOffer:I.offer,handleTopicFreshStart:fe,handleTopicContinue:me}}function Rt(){let[e,t]=(0,B.useState)([]),[n,r]=(0,B.useState)(!1),[i,a]=(0,B.useState)(null),o=(0,B.useRef)(null),s=(0,B.useCallback)(e=>{a(null);let n=e.find(e=>!wt.has(e.type));if(n){a(`Unsupported file type: "${n.type}". Supported: images, PDF, plain text, markdown, CSV, calendar, zip.`);return}let r=e.find(e=>e.size>Tt);if(r){a(`"${r.name}" exceeds the 20 MB limit.`);return}t(t=>[...t,...e].slice(0,5))},[]);return{pendingFiles:e,setPendingFiles:t,isDragOver:n,attachError:i,setAttachError:a,fileInputRef:o,addFiles:s,clearFiles:(0,B.useCallback)(()=>{t([]),a(null)},[]),removeFile:(0,B.useCallback)(e=>{t(t=>t.filter((t,n)=>n!==e))},[]),onDragOver:(0,B.useCallback)(e=>{e.preventDefault(),r(!0)},[]),onDragLeave:(0,B.useCallback)(()=>{r(!1)},[]),onDrop:(0,B.useCallback)(e=>{e.preventDefault(),r(!1),s([...e.dataTransfer.files])},[s])}}var V=s();function zt({inputRef:e,value:t,onChange:n,onComplete:r,showPin:i,autoFocus:a}){let o=(0,B.useRef)([]);function s(e,r){r.key===`Backspace`?(r.preventDefault(),t[e]?n(t.slice(0,e)+t.slice(e+1)):e>0&&(n(t.slice(0,e-1)+t.slice(e)),o.current[e-1]?.focus())):r.key===`ArrowLeft`&&e>0?o.current[e-1]?.focus():r.key===`ArrowRight`&&e<5?o.current[e+1]?.focus():r.key===`Enter`&&(r.preventDefault(),r.currentTarget.form?.requestSubmit())}function c(e,i){let a=i.nativeEvent.data;if(!a||!/^\d$/.test(a))return;let s=t.split(``);for(s[e]=a;s.length<e;)s.push(``);let c=s.join(``).replace(/\D/g,``).slice(0,6);n(c),c.length===6?r?.(c):e<5&&o.current[e+1]?.focus()}function l(e){e.preventDefault();let t=e.clipboardData.getData(`text`).replace(/\D/g,``).slice(0,6);t&&(n(t),t.length===6?r?.(t):o.current[t.length]?.focus())}return(0,V.jsx)(`div`,{className:`pin-field`,children:Array.from({length:6}).map((n,r)=>(0,V.jsx)(`input`,{ref:t=>{o.current[r]=t,r===0&&e&&(e.current=t)},type:`text`,inputMode:`numeric`,className:`pin-box${t[r]?` pin-box-filled`:``}`,value:t[r]?i?t[r]:`•`:``,onKeyDown:e=>s(r,e),onInput:e=>c(r,e),onPaste:l,onFocus:e=>e.target.select(),autoFocus:a&&r===0,autoComplete:`off`,maxLength:1,"aria-label":`PIN digit ${r+1}`},r))})}function Bt(e){let{pin:t,setPin:n,confirmPin:r,setConfirmPin:i,showPin:a,setShowPin:o,pinLoading:s,pinError:c,pinInputRef:l,confirmPinInputRef:u,setPinFormRef:d,onSubmit:f,operatorName:p,setOperatorName:m}=e;return(0,V.jsx)(`div`,{className:`connect-page`,children:(0,V.jsxs)(`div`,{className:`connect-content`,children:[(0,V.jsx)(`img`,{src:re,alt:C.productName,className:`connect-logo connect-logo--maxy`}),!C.logoContainsName&&(0,V.jsxs)(`h1`,{className:`connect-title`,children:[`Welcome to `,C.productName]}),(0,V.jsxs)(`p`,{className:`connect-subtitle`,children:[`Tell `,C.productName,` who you are, then choose a PIN.`]}),(0,V.jsxs)(`form`,{ref:d,onSubmit:f,className:`connect-pin-form`,children:[(0,V.jsxs)(`div`,{className:`pin-input-row`,children:[(0,V.jsx)(`input`,{type:`text`,className:`connect-name-input`,placeholder:`Your full name`,value:p,onChange:e=>m(e.target.value),autoComplete:`name`,autoFocus:!0,required:!0,"aria-label":`Your full name`}),(0,V.jsx)(`div`,{style:{width:38,flexShrink:0},"aria-hidden":`true`})]}),(0,V.jsxs)(`div`,{className:`pin-input-row`,children:[(0,V.jsx)(zt,{inputRef:l,value:t,onChange:n,onComplete:()=>u.current?.focus(),showPin:a}),(0,V.jsx)(`div`,{style:{width:38,flexShrink:0},"aria-hidden":`true`})]}),(0,V.jsxs)(`div`,{className:`pin-input-row`,children:[(0,V.jsx)(zt,{inputRef:u,value:r,onChange:i,onComplete:()=>{},showPin:a}),(0,V.jsx)(w,{variant:`send`,type:`submit`,disabled:!t||!r||!p.trim(),loading:s,"aria-label":`Set PIN`,children:(0,V.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,V.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,V.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,V.jsx)(_e,{checked:a,onChange:()=>o(e=>!e),label:`Show PIN`})]}),c&&(0,V.jsx)(`p`,{className:`admin-pin-error`,children:c})]})})}function Vt(e){let{pin:t,setPin:n,showPin:r,setShowPin:i,pinLoading:a,pinError:o,pinInputRef:s,onSubmit:c,onChangePin:l}=e;return(0,V.jsx)(`div`,{className:`connect-page`,children:(0,V.jsxs)(`div`,{className:`connect-content`,children:[(0,V.jsx)(`img`,{src:re,alt:C.productName,className:`connect-logo connect-logo--maxy`}),!C.logoContainsName&&(0,V.jsx)(`h1`,{className:`connect-title`,children:C.productName}),(0,V.jsxs)(`form`,{onSubmit:c,className:`connect-pin-form`,children:[(0,V.jsxs)(`div`,{className:`pin-input-row`,children:[(0,V.jsx)(zt,{inputRef:s,value:t,onChange:n,onComplete:()=>{},showPin:r,autoFocus:!0}),(0,V.jsx)(w,{variant:`send`,type:`submit`,disabled:!t,loading:a,children:(0,V.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,V.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,V.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,V.jsxs)(`div`,{className:`pin-options`,children:[(0,V.jsx)(_e,{checked:r,onChange:()=>i(e=>!e),label:`Show PIN`}),(0,V.jsx)(w,{type:`button`,variant:`ghost`,onClick:l,children:`Change PIN`})]})]}),o&&(0,V.jsx)(`p`,{className:`admin-pin-error`,children:o})]})})}function Ht(e){let{accounts:t,loading:n,error:r,onSelect:i}=e;return(0,V.jsx)(`div`,{className:`connect-page`,children:(0,V.jsxs)(`div`,{className:`connect-content`,children:[(0,V.jsx)(`img`,{src:re,alt:C.productName,className:`connect-logo connect-logo--maxy`}),!C.logoContainsName&&(0,V.jsx)(`h1`,{className:`connect-title`,children:C.productName}),(0,V.jsx)(`p`,{className:`connect-subtitle`,children:`Select an account`}),(0,V.jsx)(`div`,{className:`account-picker-list`,children:t.map(e=>(0,V.jsxs)(`button`,{className:`account-picker-card`,onClick:()=>i(e.accountId),disabled:n,type:`button`,children:[(0,V.jsx)(`span`,{className:`account-picker-name`,children:e.businessName||e.accountId}),(0,V.jsx)(`span`,{className:`account-picker-role`,children:e.role}),n&&(0,V.jsx)(ge,{className:`account-picker-spinner`,size:16})]},e.accountId))}),r&&(0,V.jsx)(`p`,{className:`admin-pin-error`,children:r})]})})}function Ut(e){let{authPolling:t,setAuthPolling:n,authLoading:r,setAuthLoading:i,pinError:a,setPinError:o,setAppState:s}=e,[c,l]=(0,B.useState)(!1),[u,d]=(0,B.useState)(!1);async function f(){d(!0),o(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`launch-browser`})})).json();e.launched?l(!0):e.error&&o(e.error)}catch(e){console.error(`[admin] browser launch error:`,e),o(`Could not launch browser.`)}d(!1)}async function p(){i(!0),o(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`})).json();if(e.started){n(!0),l(!0),i(!1);for(let e=0;e<120;e++)if(await new Promise(e=>setTimeout(e,2e3)),(await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`wait`})})).json()).authenticated){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),s(`enter-pin`);return}o(`Timed out waiting for sign-in. Try again.`),n(!1)}else e.error&&o(e.error)}catch(e){console.error(`[admin] auth flow error:`,e),o(`Could not start auth flow.`)}i(!1)}async function m(){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),n(!1),o(``)}return t||c?(0,V.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100dvh`,overflow:`auto`},children:[(0,V.jsxs)(`header`,{className:`chat-header`,style:{paddingBottom:`12px`,flexShrink:0,position:`relative`,maxWidth:`680px`,width:`100%`,margin:`0 auto`,padding:`24px 20px 12px`},children:[t?(0,V.jsx)(`button`,{onClick:m,style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Cancel`,children:`✕`}):(0,V.jsx)(`button`,{onClick:()=>l(!1),style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Close browser`,children:`✕`}),(0,V.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`chat-logo`}),(0,V.jsx)(`h1`,{className:`chat-tagline`,children:`Connect Claude`}),(0,V.jsx)(`p`,{className:`chat-intro`,children:t?`Sign in and authorize in the browser below.`:`Open your email or prepare your accounts, then sign in.`}),!t&&(0,V.jsx)(`div`,{style:{marginTop:`12px`},children:(0,V.jsx)(w,{variant:`primary`,onClick:p,disabled:r,children:r?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`})})]}),(0,V.jsx)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,minHeight:0,gap:`10px`,padding:`0 0 16px`},children:(0,V.jsx)(`iframe`,{src:`/vnc-viewer.html`,style:{flex:1,width:`100%`,minHeight:0,border:`none`,background:`#111`,display:`block`},title:`Claude Sign-in`})}),a&&(0,V.jsx)(`p`,{className:`admin-pin-error`,style:{textAlign:`center`,padding:`0 20px 16px`},children:a})]}):(0,V.jsxs)(`div`,{className:`connect-page`,children:[(0,V.jsx)(`button`,{onClick:()=>s(`onboarding-choice`),style:{position:`fixed`,top:`16px`,left:`16px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Back to setup choice`,children:`← Back`}),(0,V.jsxs)(`div`,{className:`connect-content`,children:[(0,V.jsxs)(`div`,{className:`connect-logos`,children:[(0,V.jsx)(`div`,{className:`connect-logo-wrap`,children:(0,V.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`connect-logo`})}),(0,V.jsx)(`svg`,{className:`connect-arrow`,viewBox:`0 0 48 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:(0,V.jsx)(`path`,{d:`M0 12h44m0 0l-8-8m8 8l-8 8`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})}),(0,V.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,V.jsx)(`img`,{src:re,alt:C.productName,className:`connect-logo connect-logo--maxy`}),!C.logoContainsName&&(0,V.jsx)(`span`,{className:`connect-logo-label`,children:C.productName})]})]}),(0,V.jsxs)(`h1`,{className:`connect-title`,children:[`Connect Claude to power `,C.productName]}),(0,V.jsx)(`p`,{className:`connect-subtitle`,children:`Sign in with your Anthropic account to get started.`}),(0,V.jsx)(w,{variant:`primary`,onClick:p,disabled:r,children:r?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`}),(0,V.jsx)(`p`,{style:{marginTop:`6px`,fontSize:`11px`,color:`#999`,maxWidth:`300px`,textAlign:`center`,lineHeight:`1.4`},children:`First time? You may need to sign into your email and Anthropic account in the browser before connecting.`}),(0,V.jsx)(`button`,{onClick:f,disabled:u,style:{marginTop:`12px`,background:`none`,border:`none`,color:`var(--color-primary, #666)`,fontSize:`13px`,cursor:`pointer`,textDecoration:`underline`,textUnderlineOffset:`3px`},children:u?`Launching…`:`Open browser first`}),a&&(0,V.jsx)(`p`,{className:`admin-pin-error`,children:a})]})]})}function Wt({setAppState:e,setOnboardingComplete:t}){let[n,r]=(0,B.useState)(!1),[i,a]=(0,B.useState)(``);async function o(n){r(!0),a(``);try{let r=await fetch(`/api/onboarding/skip`,{method:`POST`,headers:n===`minimal`?{"Content-Type":`application/json`}:{},body:n===`minimal`?JSON.stringify({minimal:!0}):void 0});if(!r.ok){a((await r.json().catch(()=>({}))).error||`Failed to apply defaults.`);return}t(!0),e(`connect-claude`)}catch(e){console.error(`[admin] skip onboarding error:`,e),a(`Could not apply defaults.`)}finally{r(!1)}}function s(){e(`connect-claude`)}return(0,V.jsx)(`div`,{className:`connect-page`,children:(0,V.jsxs)(`div`,{className:`connect-content`,children:[(0,V.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,V.jsx)(`img`,{src:re,alt:C.productName,className:`connect-logo connect-logo--maxy`}),!C.logoContainsName&&(0,V.jsx)(`span`,{className:`connect-logo-label`,children:C.productName})]}),(0,V.jsx)(`h1`,{className:`connect-title`,children:`How would you like to get started?`}),(0,V.jsx)(`p`,{className:`connect-subtitle`,style:{fontSize:`0.8rem`,maxWidth:`320px`},children:`Defaults: core plugins only, auto-detected timezone, concise output style, and a minimal personality. No WiFi or optional plugins. Minimal also skips remote access, public-agent API key, and business profile.`}),(0,V.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`10px`,width:`100%`,maxWidth:`320px`,alignItems:`center`},children:[(0,V.jsx)(w,{variant:`primary`,onClick:()=>o(`default`),disabled:n,children:n?`Applying defaults…`:`Use defaults`}),(0,V.jsx)(`button`,{onClick:s,disabled:n,style:{background:`none`,border:`none`,padding:`8px`,cursor:`pointer`,fontSize:`0.95rem`,color:`var(--text-secondary, #666)`,textDecoration:`none`},children:`Guided setup`}),(0,V.jsx)(`button`,{onClick:()=>o(`minimal`),disabled:n,style:{background:`none`,border:`none`,padding:`8px`,cursor:`pointer`,fontSize:`0.95rem`,color:`var(--text-secondary, #666)`,textDecoration:`none`},children:`Minimal`})]}),(0,V.jsx)(`p`,{className:`connect-subtitle`,style:{marginTop:`12px`},children:`You can change any setting later through conversation.`}),i&&(0,V.jsx)(`p`,{className:`admin-pin-error`,children:i})]})})}function Gt({data:e,onSubmit:t,submitted:n}){let r=e,[i,a]=(0,B.useState)(`Submitted`);return r?.title?(0,V.jsx)(O,{submitted:n,submittedLabel:i,actions:[{label:r.rejectLabel??`Reject`,variant:`ghost`,onClick:()=>{n||(a(`Rejected`),t(r.rejectMessage??`Rejected: ${r.title}`))}},{label:r.confirmLabel??`Approve`,variant:`primary`,onClick:()=>{n||(a(`Approved`),t(r.confirmMessage??`Approved: ${r.title}`))}}],children:(0,V.jsxs)(`div`,{className:`confirm`,children:[(0,V.jsx)(`div`,{className:`confirm__title`,children:r.title}),r.description&&(0,V.jsx)(`div`,{className:`confirm__desc`,children:r.description}),r.items&&r.items.length>0&&(0,V.jsx)(`div`,{className:`confirm__items`,children:r.items.map((e,t)=>(0,V.jsxs)(`div`,{className:`confirm__item`,children:[(0,V.jsx)(`span`,{className:`confirm__item-label`,children:e.label}),(0,V.jsx)(`span`,{className:`confirm__item-value`,children:e.value})]},t))})]})}):null}function Kt({data:e,onSubmit:t,submitted:n}){let r=e,i=(0,B.useRef)(!1),a=!!(r?.title&&Array.isArray(r?.fields)&&r.fields.length>0),o=r?.actions&&r.actions.length>0;return(0,B.useEffect)(()=>{a&&!o&&!n&&!i.current&&(i.current=!0,t(``))},[a,o,n,t]),a?(0,V.jsx)(O,{submitted:n,submittedLabel:`Done`,actions:o?r.actions.map(e=>({label:e.label,variant:e.variant,onClick:()=>{n||t(e.message)}})):[],children:(0,V.jsxs)(`div`,{className:`info-card`,children:[(0,V.jsxs)(`div`,{className:`info-card__header`,children:[(0,V.jsx)(`div`,{className:`info-card__title`,children:r.title}),r.subtitle&&(0,V.jsx)(`div`,{className:`info-card__subtitle`,children:r.subtitle})]}),(0,V.jsx)(`div`,{className:`info-card__fields`,children:r.fields.map((e,t)=>(0,V.jsxs)(`div`,{className:`info-card__field`,children:[(0,V.jsx)(`span`,{className:`info-card__field-label`,children:e.label}),(0,V.jsx)(`span`,{className:`info-card__field-value${e.type===`status`?` info-card__field-value--status`:``}`,children:e.type===`link`?(0,V.jsx)(`a`,{href:e.value,target:`_blank`,rel:`noopener noreferrer`,children:e.value}):e.value})]},t))})]})}):null}function qt({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.items)?r.items:[],[a,o]=(0,B.useState)(new Set),[s,c]=(0,B.useState)(!1),[l,u]=(0,B.useState)(`Done`);if(i.length===0)return null;let d=n||s,f=(e,n)=>{d||a.has(e)||(o(t=>new Set(t).add(e)),t(n))};return(0,V.jsx)(O,{submitted:d,submittedLabel:l,actions:[{label:`Done`,variant:`primary`,onClick:()=>{d||(c(!0),u(`Done`),t(r?.doneMessage??`Done`))}}],children:(0,V.jsxs)(`div`,{className:`action-list`,children:[r?.title&&(0,V.jsx)(`div`,{className:`action-list__title`,children:r.title}),(0,V.jsx)(`div`,{className:`action-list__items`,children:i.map(e=>(0,V.jsxs)(`div`,{className:`action-list__item${a.has(e.id)?` action-list__item--acted`:``}`,children:[(0,V.jsxs)(`div`,{className:`action-list__item-info`,children:[(0,V.jsx)(`span`,{className:`action-list__item-label`,children:e.label}),e.description&&(0,V.jsx)(`span`,{className:`action-list__item-desc`,children:e.description})]}),(0,V.jsxs)(`div`,{className:`action-list__item-right`,children:[e.status&&(0,V.jsx)(`span`,{className:`action-list__item-status`,children:e.status}),(0,V.jsx)(`div`,{className:`action-list__item-actions`,children:e.actions.map((t,n)=>(0,V.jsx)(w,{variant:t.variant===`danger`?`danger`:t.variant===`ghost`?`ghost`:`primary`,size:`sm`,disabled:d||a.has(e.id),onClick:n=>{n.stopPropagation(),f(e.id,t.message)},children:t.label},n))})]})]},e.id))})]})})}function Jt({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.fields)?r.fields:[],[a,o]=(0,B.useState)({}),[s,c]=(0,B.useState)({}),[l,u]=(0,B.useState)({}),[d,f]=(0,B.useState)(`Submitted`);if((0,B.useEffect)(()=>{i.length!==0&&(o(e=>{let t={...e};return i.forEach(e=>{e.type!==`list`&&(e.name in t||(t[e.name]=e.defaultValue??(e.type===`checkbox`?!1:``)))}),t}),c(e=>{let t={...e};return i.forEach(e=>{e.type===`list`&&(e.name in t||(t[e.name]=Array.isArray(e.defaultValue)?e.defaultValue:[]))}),t}))},[i]),i.length===0)return null;let p=(e,t)=>{n||o(n=>({...n,[e]:t}))},m=i.filter(e=>e.required&&e.type!==`list`).every(e=>{let t=a[e.name];return e.type===`checkbox`?t===!0:typeof t==`string`&&t.trim()!==``}),h=()=>{if(!m||n)return;f(`Submitted`);let e=r?.submitMessage??`Form submitted: {{json}}`,i=JSON.stringify(a),o=e;for(let[e,t]of Object.entries(a))o=o.replace(`{{${e}}}`,()=>String(t));o=o.replace(`{{json}}`,()=>i),o=o.replace(`{{values}}`,()=>i),t(o)},g=e=>e.description?`${e.label} — ${e.description}`:e.label,_=e=>{let r=(l[e.name]??``).trim();!r||n||(c(t=>({...t,[e.name]:[...t[e.name]??[],r]})),u(t=>({...t,[e.name]:``})),e.addMessage&&t(e.addMessage.replace(`{{value}}`,r)))},v=(e,r)=>{n||(c(t=>({...t,[e.name]:(t[e.name]??[]).filter(e=>e!==r)})),e.removeMessage&&t(e.removeMessage.replace(`{{value}}`,r)))};return(0,V.jsx)(O,{submitted:n,submittedLabel:d,actions:[{label:r?.submitLabel??`Submit`,variant:`primary`,disabled:!m,onClick:h}],children:(0,V.jsxs)(`div`,{className:`form-input`,children:[r?.title&&(0,V.jsx)(`div`,{className:`form-input__title`,children:r.title}),r?.description&&(0,V.jsx)(`div`,{className:`form-input__desc`,children:r.description}),(0,V.jsx)(`div`,{className:`form-input__fields`,children:i.map(e=>(0,V.jsx)(`div`,{className:`form-input__field`,children:e.type===`checkbox`?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(_e,{checked:a[e.name]===!0,onChange:t=>p(e.name,t),label:e.label,disabled:n}),e.description&&(0,V.jsx)(`div`,{className:`form-input__field-desc`,children:e.description})]}):e.type===`list`?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`label`,{className:`form-input__label`,children:e.label}),e.description&&(0,V.jsx)(`div`,{className:`form-input__field-desc`,children:e.description}),(0,V.jsxs)(`div`,{className:`form-input__list`,children:[(s[e.name]??[]).map(t=>(0,V.jsxs)(`div`,{className:`form-input__list-item`,children:[(0,V.jsx)(`span`,{className:`form-input__list-item-text`,children:t}),(0,V.jsx)(`button`,{type:`button`,className:`form-input__list-item-remove`,onClick:()=>v(e,t),disabled:n,"aria-label":`Remove ${t}`,children:`×`})]},t)),(0,V.jsxs)(`div`,{className:`form-input__list-add`,children:[(0,V.jsx)(`input`,{className:`form-input__input`,type:`text`,placeholder:e.addPlaceholder??``,value:l[e.name]??``,onChange:t=>u(n=>({...n,[e.name]:t.target.value})),onKeyDown:t=>{t.key===`Enter`&&(t.preventDefault(),_(e))},disabled:n}),(0,V.jsx)(`button`,{type:`button`,className:`form-input__list-add-btn`,onClick:()=>_(e),disabled:n||!(l[e.name]??``).trim(),children:`Add`})]})]})]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`label`,{className:`form-input__label`,htmlFor:`form-${e.name}`,children:[e.label,e.required&&(0,V.jsx)(`span`,{className:`form-input__required`,children:`*`})]}),e.description&&(0,V.jsx)(`div`,{className:`form-input__field-desc`,children:e.description}),e.type===`textarea`?(0,V.jsx)(`textarea`,{id:`form-${e.name}`,className:`form-input__textarea`,placeholder:e.placeholder,value:a[e.name]??``,onChange:t=>p(e.name,t.target.value),disabled:n,rows:3}):e.type===`select`?(0,V.jsxs)(`select`,{id:`form-${e.name}`,className:`form-input__select`,value:a[e.name]??``,onChange:t=>p(e.name,t.target.value),disabled:n,children:[(0,V.jsx)(`option`,{value:``,children:e.placeholder??`Select...`}),e.options?.map(e=>(0,V.jsx)(`option`,{value:e.value,children:g(e)},e.value))]}):(0,V.jsx)(`input`,{id:`form-${e.name}`,className:`form-input__input`,type:e.type,placeholder:e.placeholder,value:a[e.name]??``,onChange:t=>p(e.name,t.target.value),disabled:n})]})},e.name))})]})})}var Yt={pending:`○`,active:`◉`,completed:`✓`,failed:`✗`,skipped:`–`};function Xt({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.steps)?r.steps:[],a=(0,B.useRef)(!1),o=i.length>0&&i.every(e=>e.status===`completed`||e.status===`failed`||e.status===`skipped`);return(0,B.useEffect)(()=>{o&&!n&&!a.current&&(a.current=!0,t(r?.completedMessage??`All steps completed`))},[o,n,t,r?.completedMessage]),i.length===0?null:(0,V.jsxs)(`div`,{className:`progress-tracker${n?` progress-tracker--submitted`:``}`,children:[r?.title&&(0,V.jsx)(`div`,{className:`progress-tracker__title`,children:r.title}),(0,V.jsx)(`div`,{className:`progress-tracker__steps`,children:i.map((e,t)=>(0,V.jsxs)(`div`,{className:`progress-tracker__step progress-tracker__step--${e.status}`,children:[(0,V.jsx)(`span`,{className:`progress-tracker__icon`,children:Yt[e.status]??`○`}),(0,V.jsxs)(`div`,{className:`progress-tracker__step-info`,children:[(0,V.jsx)(`span`,{className:`progress-tracker__step-label`,children:e.label}),e.description&&(0,V.jsx)(`span`,{className:`progress-tracker__step-desc`,children:e.description})]})]},t))})]})}function Zt({handlePopout:e,disabled:t=!1}){let n=(0,B.useCallback)(()=>{delete document.body.dataset.dragPopoutActive},[]);(0,B.useEffect)(()=>()=>n(),[n]);let r=(0,B.useCallback)(e=>{if(t){e.preventDefault();return}let n=e.target;if(n.closest(`.editor-base__actions`)||n.closest(`.browser-viewer__actions`)){e.preventDefault();return}if(!document.querySelector(`.chat-messages`)){e.preventDefault();return}e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,``),document.body.dataset.dragPopoutActive=`true`},[t,n]),i=(0,B.useCallback)(t=>{if(n(),t.clientX===0&&t.clientY===0)return;let r=document.querySelector(`.chat-messages`);if(!r)return;let i=r.getBoundingClientRect();(t.clientX<i.left||t.clientX>i.right||t.clientY<i.top||t.clientY>i.bottom)&&e()},[e,n]);return t?{draggable:!1,onDragStart:()=>{},onDragEnd:()=>{}}:{draggable:!0,onDragStart:r,onDragEnd:i}}function Qt({data:e,onSubmit:t,submitted:n,isStreaming:r}){yt();let{title:i}=e??{},[a,o]=(0,B.useState)(!1),[s,c]=(0,B.useState)(!1),[l,u]=(0,B.useState)(!1),d=(0,B.useRef)(null),f=(0,B.useRef)(null),p=i??C.productName,m=(0,B.useCallback)(()=>{f.current&&=(clearInterval(f.current),null),d.current&&!d.current.closed&&d.current.close(),d.current=null,c(!1)},[]),h=(0,B.useCallback)(()=>{o(!1),u(!1);let e=`/vnc-popout.html?title=${encodeURIComponent(p)}`,t=window.open(e,`maxy-vnc-popout`,`width=1024,height=768`);t&&(d.current=t,c(!0),f.current=setInterval(()=>{d.current?.closed&&(m(),u(!0))},500))},[p,m]),g=(0,B.useCallback)(()=>{m(),o(!1),u(!0)},[m]),_=(0,B.useCallback)(()=>{m(),u(!1)},[m]),v=(0,B.useCallback)(()=>{u(!1)},[]),y=(0,B.useCallback)(()=>{m(),u(!1),o(!0)},[m]),b=(0,B.useCallback)(()=>o(!1),[]);(0,B.useEffect)(()=>{if(!a)return;let e=e=>{e.key===`Escape`&&b()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[a,b]),(0,B.useEffect)(()=>()=>m(),[m]);let x=Zt({handlePopout:h,disabled:s||a});if(n)return null;let S=`/vnc-viewer.html`;return a?(0,V.jsxs)(`div`,{className:`browser-viewer-fullscreen`,children:[(0,V.jsxs)(`div`,{className:`browser-viewer-fullscreen__bar`,...x,children:[(0,V.jsx)(D,{className:`browser-viewer__icon`}),(0,V.jsx)(`span`,{className:`browser-viewer-fullscreen__title`,children:p}),(0,V.jsxs)(`div`,{className:`browser-viewer-fullscreen__actions`,children:[(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Fe,onClick:h,"aria-label":`Pop out`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:nt,onClick:b,"aria-label":`Exit full screen`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:rt,onClick:g,"aria-label":`Minimise`})]})]}),(0,V.jsx)(`iframe`,{src:S,className:`browser-viewer-fullscreen__iframe`,title:p})]}):s?(0,V.jsx)(`div`,{className:`browser-viewer browser-viewer--popout`,children:(0,V.jsxs)(`div`,{className:`browser-viewer__bar`,...x,children:[(0,V.jsx)(D,{className:`browser-viewer__icon`}),(0,V.jsx)(`span`,{className:`browser-viewer__title`,children:p}),(0,V.jsxs)(`div`,{className:`browser-viewer__actions`,children:[(0,V.jsx)(`span`,{className:`browser-viewer__popout-label`,children:`Popped out`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:dt,onClick:_,"aria-label":`Pop back in`})]})]})}):l?(0,V.jsxs)(`div`,{className:`browser-viewer browser-viewer--minimised`,onClick:v,role:`button`,tabIndex:0,onKeyDown:e=>e.key===`Enter`&&v(),children:[(0,V.jsxs)(`div`,{className:`browser-viewer__bar`,...x,children:[(0,V.jsx)(D,{className:`browser-viewer__icon`}),(0,V.jsx)(`span`,{className:`browser-viewer__title`,children:p}),(0,V.jsxs)(`div`,{className:`browser-viewer__actions`,onClick:e=>e.stopPropagation(),children:[(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Fe,onClick:h,"aria-label":`Pop out`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Qe,onClick:y,"aria-label":`Full screen`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:ct,onClick:v,"aria-label":`Expand`})]})]}),(0,V.jsx)(`iframe`,{src:S,className:`browser-viewer__iframe`,title:p,"aria-hidden":`true`})]}):(0,V.jsxs)(`div`,{className:`browser-viewer`,children:[(0,V.jsxs)(`div`,{className:`browser-viewer__bar`,...x,children:[(0,V.jsx)(D,{className:`browser-viewer__icon`}),i&&(0,V.jsx)(`span`,{className:`browser-viewer__title`,children:i}),(0,V.jsxs)(`div`,{className:`browser-viewer__actions`,children:[(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Fe,onClick:h,"aria-label":`Pop out`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Qe,onClick:y,"aria-label":`Full screen`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:rt,onClick:g,"aria-label":`Minimise`})]})]}),(0,V.jsx)(`iframe`,{src:S,className:`browser-viewer__iframe`,title:p})]})}var $t=t((e=>{var t=a();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useState,o=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),a=r[0].inst,l=r[1];return s(function(){a.value=n,a.getSnapshot=t,u(a)&&l({inst:a})},[e,n,t]),o(function(){return u(a)&&l({inst:a}),e(function(){u(a)&&l({inst:a})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),en=t(((e,t)=>{t.exports=$t()})),tn=en(),nn=e(n(),1);function rn(e){this.content=e}rn.prototype={constructor:rn,find:function(e){for(var t=0;t<this.content.length;t+=2)if(this.content[t]===e)return t;return-1},get:function(e){var t=this.find(e);return t==-1?void 0:this.content[t+1]},update:function(e,t,n){var r=n&&n!=e?this.remove(n):this,i=r.find(e),a=r.content.slice();return i==-1?a.push(n||e,t):(a[i+1]=t,n&&(a[i]=n)),new rn(a)},remove:function(e){var t=this.find(e);if(t==-1)return this;var n=this.content.slice();return n.splice(t,2),new rn(n)},addToStart:function(e,t){return new rn([e,t].concat(this.remove(e).content))},addToEnd:function(e,t){var n=this.remove(e).content.slice();return n.push(e,t),new rn(n)},addBefore:function(e,t,n){var r=this.remove(t),i=r.content.slice(),a=r.find(e);return i.splice(a==-1?i.length:a,0,t,n),new rn(i)},forEach:function(e){for(var t=0;t<this.content.length;t+=2)e(this.content[t],this.content[t+1])},prepend:function(e){return e=rn.from(e),e.size?new rn(e.content.concat(this.subtract(e).content)):this},append:function(e){return e=rn.from(e),e.size?new rn(this.subtract(e).content.concat(e.content)):this},subtract:function(e){var t=this;e=rn.from(e);for(var n=0;n<e.content.length;n+=2)t=t.remove(e.content[n]);return t},toObject:function(){var e={};return this.forEach(function(t,n){e[t]=n}),e},get size(){return this.content.length>>1}},rn.from=function(e){if(e instanceof rn)return e;var t=[];if(e)for(var n in e)t.push(n,e[n]);return new rn(t)};function an(e,t,n){for(let r=0;;r++){if(r==e.childCount||r==t.childCount)return e.childCount==t.childCount?null:n;let i=e.child(r),a=t.child(r);if(i==a){n+=i.nodeSize;continue}if(!i.sameMarkup(a))return n;if(i.isText&&i.text!=a.text){for(let e=0;i.text[e]==a.text[e];e++)n++;return n}if(i.content.size||a.content.size){let e=an(i.content,a.content,n+1);if(e!=null)return e}n+=i.nodeSize}}function on(e,t,n,r){for(let i=e.childCount,a=t.childCount;;){if(i==0||a==0)return i==a?null:{a:n,b:r};let o=e.child(--i),s=t.child(--a),c=o.nodeSize;if(o==s){n-=c,r-=c;continue}if(!o.sameMarkup(s))return{a:n,b:r};if(o.isText&&o.text!=s.text){let e=0,t=Math.min(o.text.length,s.text.length);for(;e<t&&o.text[o.text.length-e-1]==s.text[s.text.length-e-1];)e++,n--,r--;return{a:n,b:r}}if(o.content.size||s.content.size){let e=on(o.content,s.content,n-1,r-1);if(e)return e}n-=c,r-=c}}var H=class e{constructor(e,t){if(this.content=e,this.size=t||0,t==null)for(let t=0;t<e.length;t++)this.size+=e[t].nodeSize}nodesBetween(e,t,n,r=0,i){for(let a=0,o=0;o<t;a++){let s=this.content[a],c=o+s.nodeSize;if(c>e&&n(s,r+o,i||null,a)!==!1&&s.content.size){let i=o+1;s.nodesBetween(Math.max(0,e-i),Math.min(s.content.size,t-i),n,r+i)}o=c}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,t,n,r){let i=``,a=!0;return this.nodesBetween(e,t,(o,s)=>{let c=o.isText?o.text.slice(Math.max(e,s)-s,t-s):o.isLeaf?r?typeof r==`function`?r(o):r:o.type.spec.leafText?o.type.spec.leafText(o):``:``;o.isBlock&&(o.isLeaf&&c||o.isTextblock)&&n&&(a?a=!1:i+=n),i+=c},0),i}append(t){if(!t.size)return this;if(!this.size)return t;let n=this.lastChild,r=t.firstChild,i=this.content.slice(),a=0;for(n.isText&&n.sameMarkup(r)&&(i[i.length-1]=n.withText(n.text+r.text),a=1);a<t.content.length;a++)i.push(t.content[a]);return new e(i,this.size+t.size)}cut(t,n=this.size){if(t==0&&n==this.size)return this;let r=[],i=0;if(n>t)for(let e=0,a=0;a<n;e++){let o=this.content[e],s=a+o.nodeSize;s>t&&((a<t||s>n)&&(o=o.isText?o.cut(Math.max(0,t-a),Math.min(o.text.length,n-a)):o.cut(Math.max(0,t-a-1),Math.min(o.content.size,n-a-1))),r.push(o),i+=o.nodeSize),a=s}return new e(r,i)}cutByIndex(t,n){return t==n?e.empty:t==0&&n==this.content.length?this:new e(this.content.slice(t,n))}replaceChild(t,n){let r=this.content[t];if(r==n)return this;let i=this.content.slice(),a=this.size+n.nodeSize-r.nodeSize;return i[t]=n,new e(i,a)}addToStart(t){return new e([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new e(this.content.concat(t),this.size+t.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let t=0;t<this.content.length;t++)if(!this.content[t].eq(e.content[t]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(e){let t=this.content[e];if(!t)throw RangeError(`Index `+e+` out of range for `+this);return t}maybeChild(e){return this.content[e]||null}forEach(e){for(let t=0,n=0;t<this.content.length;t++){let r=this.content[t];e(r,n,t),n+=r.nodeSize}}findDiffStart(e,t=0){return an(this,e,t)}findDiffEnd(e,t=this.size,n=e.size){return on(this,e,t,n)}findIndex(e){if(e==0)return cn(0,e);if(e==this.size)return cn(this.content.length,e);if(e>this.size||e<0)throw RangeError(`Position ${e} outside of fragment (${this})`);for(let t=0,n=0;;t++){let r=this.child(t),i=n+r.nodeSize;if(i>=e)return i==e?cn(t+1,i):cn(t,n);n=i}}toString(){return`<`+this.toStringInner()+`>`}toStringInner(){return this.content.join(`, `)}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(t,n){if(!n)return e.empty;if(!Array.isArray(n))throw RangeError(`Invalid input for Fragment.fromJSON`);return new e(n.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return e.empty;let n,r=0;for(let e=0;e<t.length;e++){let i=t[e];r+=i.nodeSize,e&&i.isText&&t[e-1].sameMarkup(i)?(n||=t.slice(0,e),n[n.length-1]=i.withText(n[n.length-1].text+i.text)):n&&n.push(i)}return new e(n||t,r)}static from(t){if(!t)return e.empty;if(t instanceof e)return t;if(Array.isArray(t))return this.fromArray(t);if(t.attrs)return new e([t],t.nodeSize);throw RangeError(`Can not convert `+t+` to a Fragment`+(t.nodesBetween?` (looks like multiple versions of prosemirror-model were loaded)`:``))}};H.empty=new H([],0);var sn={index:0,offset:0};function cn(e,t){return sn.index=e,sn.offset=t,sn}function ln(e,t){if(e===t)return!0;if(!(e&&typeof e==`object`)||!(t&&typeof t==`object`))return!1;let n=Array.isArray(e);if(Array.isArray(t)!=n)return!1;if(n){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!ln(e[n],t[n]))return!1}else{for(let n in e)if(!(n in t)||!ln(e[n],t[n]))return!1;for(let n in t)if(!(n in e))return!1}return!0}var U=class e{constructor(e,t){this.type=e,this.attrs=t}addToSet(e){let t,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(this.eq(i))return e;if(this.type.excludes(i.type))t||=e.slice(0,r);else if(i.type.excludes(this.type))return e;else !n&&i.type.rank>this.type.rank&&(t||=e.slice(0,r),t.push(this),n=!0),t&&t.push(i)}return t||=e.slice(),n||t.push(this),t}removeFromSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return e.slice(0,t).concat(e.slice(t+1));return e}isInSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return!0;return!1}eq(e){return this==e||this.type==e.type&&ln(this.attrs,e.attrs)}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Mark.fromJSON`);let n=e.marks[t.type];if(!n)throw RangeError(`There is no mark type ${t.type} in this schema`);let r=n.create(t.attrs);return n.checkAttrs(r.attrs),r}static sameSet(e,t){if(e==t)return!0;if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}static setFrom(t){if(!t||Array.isArray(t)&&t.length==0)return e.none;if(t instanceof e)return[t];let n=t.slice();return n.sort((e,t)=>e.type.rank-t.type.rank),n}};U.none=[];var un=class extends Error{},W=class e{constructor(e,t,n){this.content=e,this.openStart=t,this.openEnd=n}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,n){let r=fn(this.content,t+this.openStart,n);return r&&new e(r,this.openStart,this.openEnd)}removeBetween(t,n){return new e(dn(this.content,t+this.openStart,n+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+`(`+this.openStart+`,`+this.openEnd+`)`}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(t,n){if(!n)return e.empty;let r=n.openStart||0,i=n.openEnd||0;if(typeof r!=`number`||typeof i!=`number`)throw RangeError(`Invalid input for Slice.fromJSON`);return new e(H.fromJSON(t,n.content),r,i)}static maxOpen(t,n=!0){let r=0,i=0;for(let e=t.firstChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.firstChild)r++;for(let e=t.lastChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.lastChild)i++;return new e(t,r,i)}};W.empty=new W(H.empty,0,0);function dn(e,t,n){let{index:r,offset:i}=e.findIndex(t),a=e.maybeChild(r),{index:o,offset:s}=e.findIndex(n);if(i==t||a.isText){if(s!=n&&!e.child(o).isText)throw RangeError(`Removing non-flat range`);return e.cut(0,t).append(e.cut(n))}if(r!=o)throw RangeError(`Removing non-flat range`);return e.replaceChild(r,a.copy(dn(a.content,t-i-1,n-i-1)))}function fn(e,t,n,r){let{index:i,offset:a}=e.findIndex(t),o=e.maybeChild(i);if(a==t||o.isText)return r&&!r.canReplace(i,i,n)?null:e.cut(0,t).append(n).append(e.cut(t));let s=fn(o.content,t-a-1,n,o);return s&&e.replaceChild(i,o.copy(s))}function pn(e,t,n){if(n.openStart>e.depth)throw new un(`Inserted content deeper than insertion position`);if(e.depth-n.openStart!=t.depth-n.openEnd)throw new un(`Inconsistent open depths`);return mn(e,t,n,0)}function mn(e,t,n,r){let i=e.index(r),a=e.node(r);if(i==t.index(r)&&r<e.depth-n.openStart){let o=mn(e,t,n,r+1);return a.copy(a.content.replaceChild(i,o))}else if(!n.content.size)return yn(a,xn(e,t,r));else if(!n.openStart&&!n.openEnd&&e.depth==r&&t.depth==r){let r=e.parent,i=r.content;return yn(r,i.cut(0,e.parentOffset).append(n.content).append(i.cut(t.parentOffset)))}else{let{start:i,end:o}=Sn(n,e);return yn(a,bn(e,i,o,t,r))}}function hn(e,t){if(!t.type.compatibleContent(e.type))throw new un(`Cannot join `+t.type.name+` onto `+e.type.name)}function gn(e,t,n){let r=e.node(n);return hn(r,t.node(n)),r}function _n(e,t){let n=t.length-1;n>=0&&e.isText&&e.sameMarkup(t[n])?t[n]=e.withText(t[n].text+e.text):t.push(e)}function vn(e,t,n,r){let i=(t||e).node(n),a=0,o=t?t.index(n):i.childCount;e&&(a=e.index(n),e.depth>n?a++:e.textOffset&&(_n(e.nodeAfter,r),a++));for(let e=a;e<o;e++)_n(i.child(e),r);t&&t.depth==n&&t.textOffset&&_n(t.nodeBefore,r)}function yn(e,t){return e.type.checkContent(t),e.copy(t)}function bn(e,t,n,r,i){let a=e.depth>i&&gn(e,t,i+1),o=r.depth>i&&gn(n,r,i+1),s=[];return vn(null,e,i,s),a&&o&&t.index(i)==n.index(i)?(hn(a,o),_n(yn(a,bn(e,t,n,r,i+1)),s)):(a&&_n(yn(a,xn(e,t,i+1)),s),vn(t,n,i,s),o&&_n(yn(o,xn(n,r,i+1)),s)),vn(r,null,i,s),new H(s)}function xn(e,t,n){let r=[];return vn(null,e,n,r),e.depth>n&&_n(yn(gn(e,t,n+1),xn(e,t,n+1)),r),vn(t,null,n,r),new H(r)}function Sn(e,t){let n=t.depth-e.openStart,r=t.node(n).copy(e.content);for(let e=n-1;e>=0;e--)r=t.node(e).copy(H.from(r));return{start:r.resolveNoCache(e.openStart+n),end:r.resolveNoCache(r.content.size-e.openEnd-n)}}var Cn=class e{constructor(e,t,n){this.pos=e,this.path=t,this.parentOffset=n,this.depth=t.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position before the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position after the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,t=this.index(this.depth);if(t==e.childCount)return null;let n=this.pos-this.path[this.path.length-1],r=e.child(t);return n?e.child(t).cut(n):r}get nodeBefore(){let e=this.index(this.depth),t=this.pos-this.path[this.path.length-1];return t?this.parent.child(e).cut(0,t):e==0?null:this.parent.child(e-1)}posAtIndex(e,t){t=this.resolveDepth(t);let n=this.path[t*3],r=t==0?0:this.path[t*3-1]+1;for(let t=0;t<e;t++)r+=n.child(t).nodeSize;return r}marks(){let e=this.parent,t=this.index();if(e.content.size==0)return U.none;if(this.textOffset)return e.child(t).marks;let n=e.maybeChild(t-1),r=e.maybeChild(t);if(!n){let e=n;n=r,r=e}let i=n.marks;for(var a=0;a<i.length;a++)i[a].type.spec.inclusive===!1&&(!r||!i[a].isInSet(r.marks))&&(i=i[a--].removeFromSet(i));return i}marksAcross(e){let t=this.parent.maybeChild(this.index());if(!t||!t.isInline)return null;let n=t.marks,r=e.parent.maybeChild(e.index());for(var i=0;i<n.length;i++)n[i].type.spec.inclusive===!1&&(!r||!n[i].isInSet(r.marks))&&(n=n[i--].removeFromSet(n));return n}sharedDepth(e){for(let t=this.depth;t>0;t--)if(this.start(t)<=e&&this.end(t)>=e)return t;return 0}blockRange(e=this,t){if(e.pos<this.pos)return e.blockRange(this);for(let n=this.depth-(this.parent.inlineContent||this.pos==e.pos?1:0);n>=0;n--)if(e.pos<=this.end(n)&&(!t||t(this.node(n))))return new Dn(this,e,n);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos<this.pos?e:this}toString(){let e=``;for(let t=1;t<=this.depth;t++)e+=(e?`/`:``)+this.node(t).type.name+`_`+this.index(t-1);return e+`:`+this.parentOffset}static resolve(t,n){if(!(n>=0&&n<=t.content.size))throw RangeError(`Position `+n+` out of range`);let r=[],i=0,a=n;for(let e=t;;){let{index:t,offset:n}=e.content.findIndex(a),o=a-n;if(r.push(e,t,i+n),!o||(e=e.child(t),e.isText))break;a=o-1,i+=n+1}return new e(n,r,a)}static resolveCached(t,n){let r=En.get(t);if(r)for(let e=0;e<r.elts.length;e++){let t=r.elts[e];if(t.pos==n)return t}else En.set(t,r=new wn);let i=r.elts[r.i]=e.resolve(t,n);return r.i=(r.i+1)%Tn,i}},wn=class{constructor(){this.elts=[],this.i=0}},Tn=12,En=new WeakMap,Dn=class{constructor(e,t,n){this.$from=e,this.$to=t,this.depth=n}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}},On=Object.create(null),kn=class e{constructor(e,t,n,r=U.none){this.type=e,this.attrs=t,this.marks=r,this.content=n||H.empty}get children(){return this.content.content}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(e){return this.content.child(e)}maybeChild(e){return this.content.maybeChild(e)}forEach(e){this.content.forEach(e)}nodesBetween(e,t,n,r=0){this.content.nodesBetween(e,t,n,r,this)}descendants(e){this.nodesBetween(0,this.content.size,e)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,``)}textBetween(e,t,n,r){return this.content.textBetween(e,t,n,r)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(e){return this==e||this.sameMarkup(e)&&this.content.eq(e.content)}sameMarkup(e){return this.hasMarkup(e.type,e.attrs,e.marks)}hasMarkup(e,t,n){return this.type==e&&ln(this.attrs,t||e.defaultAttrs||On)&&U.sameSet(this.marks,n||U.none)}copy(t=null){return t==this.content?this:new e(this.type,this.attrs,t,this.marks)}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.content,t)}cut(e,t=this.content.size){return e==0&&t==this.content.size?this:this.copy(this.content.cut(e,t))}slice(e,t=this.content.size,n=!1){if(e==t)return W.empty;let r=this.resolve(e),i=this.resolve(t),a=n?0:r.sharedDepth(t),o=r.start(a);return new W(r.node(a).content.cut(r.pos-o,i.pos-o),r.depth-a,i.depth-a)}replace(e,t,n){return pn(this.resolve(e),this.resolve(t),n)}nodeAt(e){for(let t=this;;){let{index:n,offset:r}=t.content.findIndex(e);if(t=t.maybeChild(n),!t)return null;if(r==e||t.isText)return t;e-=r+1}}childAfter(e){let{index:t,offset:n}=this.content.findIndex(e);return{node:this.content.maybeChild(t),index:t,offset:n}}childBefore(e){if(e==0)return{node:null,index:0,offset:0};let{index:t,offset:n}=this.content.findIndex(e);if(n<e)return{node:this.content.child(t),index:t,offset:n};let r=this.content.child(t-1);return{node:r,index:t-1,offset:n-r.nodeSize}}resolve(e){return Cn.resolveCached(this,e)}resolveNoCache(e){return Cn.resolve(this,e)}rangeHasMark(e,t,n){let r=!1;return t>e&&this.nodesBetween(e,t,e=>(n.isInSet(e.marks)&&(r=!0),!r)),r}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+=`(`+this.content.toStringInner()+`)`),jn(this.marks,e)}contentMatchAt(e){let t=this.type.contentMatch.matchFragment(this.content,0,e);if(!t)throw Error(`Called contentMatchAt on a node with invalid content`);return t}canReplace(e,t,n=H.empty,r=0,i=n.childCount){let a=this.contentMatchAt(e).matchFragment(n,r,i),o=a&&a.matchFragment(this.content,t);if(!o||!o.validEnd)return!1;for(let e=r;e<i;e++)if(!this.type.allowsMarks(n.child(e).marks))return!1;return!0}canReplaceWith(e,t,n,r){if(r&&!this.type.allowsMarks(r))return!1;let i=this.contentMatchAt(e).matchType(n),a=i&&i.matchFragment(this.content,t);return a?a.validEnd:!1}canAppend(e){return e.content.size?this.canReplace(this.childCount,this.childCount,e.content):this.type.compatibleContent(e.type)}check(){this.type.checkContent(this.content),this.type.checkAttrs(this.attrs);let e=U.none;for(let t=0;t<this.marks.length;t++){let n=this.marks[t];n.type.checkAttrs(n.attrs),e=n.addToSet(e)}if(!U.sameSet(e,this.marks))throw RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(e=>e.type.name)}`);this.content.forEach(e=>e.check())}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(e=>e.toJSON())),e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Node.fromJSON`);let n;if(t.marks){if(!Array.isArray(t.marks))throw RangeError(`Invalid mark data for Node.fromJSON`);n=t.marks.map(e.markFromJSON)}if(t.type==`text`){if(typeof t.text!=`string`)throw RangeError(`Invalid text node in JSON`);return e.text(t.text,n)}let r=H.fromJSON(e,t.content),i=e.nodeType(t.type).create(t.attrs,r,n);return i.type.checkAttrs(i.attrs),i}};kn.prototype.text=void 0;var An=class e extends kn{constructor(e,t,n,r){if(super(e,t,null,r),!n)throw RangeError(`Empty text nodes are not allowed`);this.text=n}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):jn(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,t){return this.text.slice(e,t)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.text,t)}withText(t){return t==this.text?this:new e(this.type,this.attrs,t,this.marks)}cut(e=0,t=this.text.length){return e==0&&t==this.text.length?this:this.withText(this.text.slice(e,t))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}};function jn(e,t){for(let n=e.length-1;n>=0;n--)t=e[n].type.name+`(`+t+`)`;return t}var Mn=class e{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(t,n){let r=new Nn(t,n);if(r.next==null)return e.empty;let i=Pn(r);r.next&&r.err(`Unexpected trailing text`);let a=Wn(Vn(i));return Gn(a,r),a}matchType(e){for(let t=0;t<this.next.length;t++)if(this.next[t].type==e)return this.next[t].next;return null}matchFragment(e,t=0,n=e.childCount){let r=this;for(let i=t;r&&i<n;i++)r=r.matchType(e.child(i).type);return r}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let e=0;e<this.next.length;e++){let{type:t}=this.next[e];if(!(t.isText||t.hasRequiredAttrs()))return t}return null}compatible(e){for(let t=0;t<this.next.length;t++)for(let n=0;n<e.next.length;n++)if(this.next[t].type==e.next[n].type)return!0;return!1}fillBefore(e,t=!1,n=0){let r=[this];function i(a,o){let s=a.matchFragment(e,n);if(s&&(!t||s.validEnd))return H.from(o.map(e=>e.createAndFill()));for(let e=0;e<a.next.length;e++){let{type:t,next:n}=a.next[e];if(!(t.isText||t.hasRequiredAttrs())&&r.indexOf(n)==-1){r.push(n);let e=i(n,o.concat(t));if(e)return e}}return null}return i(this,[])}findWrapping(e){for(let t=0;t<this.wrapCache.length;t+=2)if(this.wrapCache[t]==e)return this.wrapCache[t+1];let t=this.computeWrapping(e);return this.wrapCache.push(e,t),t}computeWrapping(e){let t=Object.create(null),n=[{match:this,type:null,via:null}];for(;n.length;){let r=n.shift(),i=r.match;if(i.matchType(e)){let e=[];for(let t=r;t.type;t=t.via)e.push(t.type);return e.reverse()}for(let e=0;e<i.next.length;e++){let{type:a,next:o}=i.next[e];!a.isLeaf&&!a.hasRequiredAttrs()&&!(a.name in t)&&(!r.type||o.validEnd)&&(n.push({match:a.contentMatch,type:a,via:r}),t[a.name]=!0)}}return null}get edgeCount(){return this.next.length}edge(e){if(e>=this.next.length)throw RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function t(n){e.push(n);for(let r=0;r<n.next.length;r++)e.indexOf(n.next[r].next)==-1&&t(n.next[r].next)}return t(this),e.map((t,n)=>{let r=n+(t.validEnd?`*`:` `)+` `;for(let n=0;n<t.next.length;n++)r+=(n?`, `:``)+t.next[n].type.name+`->`+e.indexOf(t.next[n].next);return r}).join(`
|
|
1
|
+
import{o as e,t}from"./chunk-DD-I1_y5.js";import{a as n,i as r,n as i,o as a,r as o,t as s}from"./jsx-runtime-DJER3a7U.js";import{A as c,C as l,D as u,E as d,M as f,N as p,O as m,P as h,S as g,T as _,a as v,b as y,c as b,d as x,f as S,g as C,h as w,i as T,j as E,k as D,l as O,m as k,n as A,o as j,p as M,r as N,s as P,t as ee,u as te,v as F,w as I,x as ne,y as re}from"./useVoiceRecorder-D_8P7xJU.js";import{a as ie,i as ae,r as oe,t as se}from"./page-BNM63zsb.js";import{i as L,n as ce,r as le}from"./page-DM19J3ur.js";import{a as ue,i as de,l as fe,n as pe,o as me,r as he,s as ge}from"./useAdminFetch-iYCQ9lT0.js";import{t as _e}from"./Checkbox-BruL6MSR.js";var ve=r(),ye=o(`archive`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]),be=o(`asterisk`,[[`path`,{d:`M12 6v12`,key:`1vza4d`}],[`path`,{d:`M17.196 9 6.804 15`,key:`1ah31z`}],[`path`,{d:`m6.804 9 10.392 6`,key:`1b6pxd`}]]),xe=o(`bold`,[[`path`,{d:`M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8`,key:`mg9rjx`}]]),Se=o(`bot-off`,[[`path`,{d:`M13.67 8H18a2 2 0 0 1 2 2v4.33`,key:`7az073`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M22 22 2 2`,key:`1r8tn9`}],[`path`,{d:`M8 8H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 1.414-.586`,key:`s09a7a`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}],[`path`,{d:`M9.67 4H12v2.33`,key:`110xot`}]]),Ce=o(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),we=o(`box`,[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]),Te=o(`calendar-days`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,key:`1hopcy`}],[`path`,{d:`M3 10h18`,key:`8toen8`}],[`path`,{d:`M8 14h.01`,key:`6423bh`}],[`path`,{d:`M12 14h.01`,key:`1etili`}],[`path`,{d:`M16 14h.01`,key:`1gbofw`}],[`path`,{d:`M8 18h.01`,key:`lrp35t`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}],[`path`,{d:`M16 18h.01`,key:`kzsmim`}]]),Ee=o(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),De=o(`circle-check-big`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),Oe=o(`circle-plus`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),R=o(`clipboard-list`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`M12 11h4`,key:`1jrz19`}],[`path`,{d:`M12 16h4`,key:`n85exb`}],[`path`,{d:`M8 11h.01`,key:`1dfujw`}],[`path`,{d:`M8 16h.01`,key:`18s6g9`}]]),ke=o(`clipboard-plus`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`M9 14h6`,key:`159ibu`}],[`path`,{d:`M12 17v-6`,key:`1y8rbf`}]]),Ae=o(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),z=o(`code-xml`,[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]]),je=o(`database-zap`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 15 21.84`,key:`14ibmq`}],[`path`,{d:`M21 5V8`,key:`1marbg`}],[`path`,{d:`M21 12L18 17H22L19 22`,key:`zafso`}],[`path`,{d:`M3 12A9 3 0 0 0 14.59 14.87`,key:`1y4wr8`}]]),Me=o(`database-search`,[[`path`,{d:`M21 11.693V5`,key:`175m1t`}],[`path`,{d:`m22 22-1.875-1.875`,key:`13zax7`}],[`path`,{d:`M3 12a9 3 0 0 0 8.697 2.998`,key:`151u9p`}],[`path`,{d:`M3 5v14a9 3 0 0 0 9.28 2.999`,key:`q2rs2p`}],[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}]]),Ne=o(`dot`,[[`circle`,{cx:`12.1`,cy:`12.1`,r:`1`,key:`18d7e5`}]]),Pe=o(`ellipsis-vertical`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}]]),Fe=o(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),Ie=o(`file-archive`,[[`path`,{d:`M13.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v11.5`,key:`4pqfef`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M8 12v-1`,key:`1ej8lb`}],[`path`,{d:`M8 18v-2`,key:`qcmpov`}],[`path`,{d:`M8 7V6`,key:`1nbb54`}],[`circle`,{cx:`8`,cy:`20`,r:`2`,key:`ckkr5m`}]]),Le=o(`file-down`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M12 18v-6`,key:`17g6i2`}],[`path`,{d:`m9 15 3 3 3-3`,key:`1npd3o`}]]),Re=o(`file-exclamation-point`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),ze=o(`file-image`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`circle`,{cx:`10`,cy:`12`,r:`2`,key:`737tya`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`,key:`wt3hpn`}]]),Be=o(`file-pen-line`,[[`path`,{d:`m18.226 5.226-2.52-2.52A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.351`,key:`1k2beg`}],[`path`,{d:`M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`,key:`2t3380`}],[`path`,{d:`M8 18h1`,key:`13wk12`}]]),Ve=o(`file-plus-corner`,[[`path`,{d:`M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35`,key:`17jvcc`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 19h6`,key:`bvotb8`}],[`path`,{d:`M17 16v6`,key:`18yu1i`}]]),He=o(`git-branch`,[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]),Ue=o(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),We=o(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),Ge=o(`italic`,[[`line`,{x1:`19`,x2:`10`,y1:`4`,y2:`4`,key:`15jd3p`}],[`line`,{x1:`14`,x2:`5`,y1:`20`,y2:`20`,key:`bu0au3`}],[`line`,{x1:`15`,x2:`9`,y1:`4`,y2:`20`,key:`uljnxc`}]]),Ke=o(`lightbulb-off`,[[`path`,{d:`M16.8 11.2c.8-.9 1.2-2 1.2-3.2a6 6 0 0 0-9.3-5`,key:`1fkcox`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M6.3 6.3a4.67 4.67 0 0 0 1.2 5.2c.7.7 1.3 1.5 1.5 2.5`,key:`10m8kw`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),qe=o(`lightbulb`,[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`,key:`1gvzjb`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),Je=o(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),Ye=o(`list-todo`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`rect`,{x:`3`,y:`4`,width:`6`,height:`6`,rx:`1`,key:`cif1o7`}]]),Xe=o(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),Ze=o(`loader`,[[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m16.2 7.8 2.9-2.9`,key:`r700ao`}],[`path`,{d:`M18 12h4`,key:`wj9ykh`}],[`path`,{d:`m16.2 16.2 2.9 2.9`,key:`1bxg5t`}],[`path`,{d:`M12 18v4`,key:`jadmvz`}],[`path`,{d:`m4.9 19.1 2.9-2.9`,key:`bwix9q`}],[`path`,{d:`M2 12h4`,key:`j09sii`}],[`path`,{d:`m4.9 4.9 2.9 2.9`,key:`giyufr`}]]),Qe=o(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),$e=o(`message-square-plus`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M12 8v6`,key:`1ib9pf`}],[`path`,{d:`M9 11h6`,key:`1fldmi`}]]),et=o(`messages-square`,[[`path`,{d:`M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z`,key:`1n2ejm`}],[`path`,{d:`M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1`,key:`1qfcsi`}]]),tt=o(`message-square`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}]]),nt=o(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),rt=o(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),it=o(`monitor-smartphone`,[[`path`,{d:`M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8`,key:`10dyio`}],[`path`,{d:`M10 19v-3.96 3.15`,key:`1irgej`}],[`path`,{d:`M7 19h5`,key:`qswx4l`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`12`,rx:`2`,key:`1egngj`}]]),at=o(`panel-left-close`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m16 15-3-3 3-3`,key:`14y99z`}]]),ot=o(`panel-left-open`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m14 9 3 3-3 3`,key:`8010ee`}]]),st=o(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),ct=o(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),lt=o(`scroll-text`,[[`path`,{d:`M15 12h-5`,key:`r7krc0`}],[`path`,{d:`M15 8h-5`,key:`1khuty`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`,key:`zz82l3`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`,key:`1ph1d7`}]]),ut=o(`sparkle`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}]]),dt=o(`square-arrow-down-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`m16 8-8 8`,key:`166keh`}],[`path`,{d:`M16 16H8V8`,key:`1w2ppm`}]]),ft=o(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),pt=o(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),mt=o(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),ht=o(`user-plus`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`,key:`1bvyxn`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]),gt=o(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),_t=o(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]),vt=o(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]),B=e(a(),1);function yt(){(0,B.useEffect)(()=>{function e(e){e.data?.type===`vnc-clipboard`&&typeof e.data.text==`string`&&ne(e.data.text)}window.addEventListener(`message`,e);let t=null;return typeof BroadcastChannel<`u`&&(t=new BroadcastChannel(`maxy-vnc-clipboard`),t.onmessage=e=>{typeof e.data==`string`&&ne(e.data)}),()=>{window.removeEventListener(`message`,e),t?.close()}},[])}function bt(e){if(e<60)return`${e}s`;let t=Math.floor(e/60),n=e%60;return n>0?`${t}m ${n}s`:`${t}m`}function xt(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function St(){let[e,t]=(0,B.useState)(0),n=(0,B.useRef)(0),r=(0,B.useRef)(0),i=(0,B.useRef)(null),[a,o]=(0,B.useState)(0),s=(0,B.useRef)(0),c=(0,B.useRef)(null),l=(0,B.useRef)(null);return{elapsedSeconds:e,sessionElapsed:a,sessionTurnStart:l,pausedElapsedRef:r,startElapsedTimer:(0,B.useCallback)((e=0)=>{l.current=Date.now(),c.current=setInterval(()=>{let e=s.current+(Date.now()-(l.current??Date.now()));o(Math.floor(e/1e3))},1e3),n.current=e,t(e),i.current=setInterval(()=>{n.current+=1,t(n.current)},1e3)},[]),stopElapsedTimer:(0,B.useCallback)(e=>{i.current&&=(clearInterval(i.current),null),c.current&&=(clearInterval(c.current),null),l.current&&(s.current+=Date.now()-l.current,l.current=null,o(Math.floor(s.current/1e3))),r.current=n.current;let t=n.current;e(e=>{let n=[...e].map((e,t)=>({m:e,i:t})).reverse().find(({m:e})=>e.role===`maxy`)?.i;if(n===void 0)return e;let r=[...e];return r[n]={...r[n],elapsedSeconds:t},r})},[]),resetTimerState:(0,B.useCallback)(()=>{s.current=0,o(0)},[])}}var Ct=`image/jpeg,image/png,image/gif,image/webp,application/pdf,text/plain,text/markdown,text/csv,text/html,text/calendar,application/zip,application/x-zip-compressed`,wt=new Set(Ct.split(`,`)),Tt=20*1024*1024,Et=new Set([`action-list`,`document-editor`,`rich-content-editor`,`grid-editor`]);function Dt(e){switch(e){case`expanded`:return!0;case`collapsed`:return!1;default:return}}function Ot(){let[e,t]=(0,B.useState)(`loading`),[n,r]=(0,B.useState)(``),[i,a]=(0,B.useState)(``),[o,s]=(0,B.useState)(``),[c,l]=(0,B.useState)(``),[u,d]=(0,B.useState)(!1),[f,p]=(0,B.useState)(!1),[m,h]=(0,B.useState)(!1),[g,_]=(0,B.useState)(!1),[v,y]=(0,B.useState)(!1),[b,x]=(0,B.useState)(null),[S,C]=(0,B.useState)(null),[w,T]=(0,B.useState)(void 0),[E,D]=(0,B.useState)(void 0),[O,k]=(0,B.useState)(null),[A,j]=(0,B.useState)(void 0),[M,N]=(0,B.useState)(null),[P,ee]=(0,B.useState)(null),[te,F]=(0,B.useState)([]),[I,ne]=(0,B.useState)(!1),[re,ie]=(0,B.useState)(void 0),ae=(0,B.useRef)(void 0),oe=(0,B.useRef)(null),se=(0,B.useRef)(null),L=(0,B.useRef)(null);(0,B.useEffect)(()=>{async function e(){let e=null;try{e=sessionStorage.getItem(`maxy-admin-session-key`)}catch{}if(!e)return!1;try{let n=await fetch(`/api/admin/session?session_key=${encodeURIComponent(e)}`);if(n.status===401){try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}return!1}if(!n.ok)return!1;let r=await n.json();x(r.session_key),ee(r.conversationId??null),T(r.onboardingComplete),D(r.businessName),k(r.role??null),j(r.userName===void 0?null:r.userName),N(r.avatar??null);let i=Dt(r.thinkingView);return ae.current=i,ie(i),t(`chat`),!0}catch(e){return console.error(`[admin] session restore failed:`,e),!1}}async function n(r=2){try{let i=await fetch(`/api/health`);if(!i.ok){if(r>0)return await new Promise(e=>setTimeout(e,1500)),n(r-1);console.error(`[admin] health check returned ${i.status} after retries`),t(`set-pin`);return}let a=await i.json();if(!a.pin_configured){t(`set-pin`);return}if(a.onboarding_complete===!1){t(`onboarding-choice`);return}if(!a.claude_authenticated){t(`connect-claude`);return}if(await e())return;t(`enter-pin`)}catch(e){if(r>0)return await new Promise(e=>setTimeout(e,1500)),n(r-1);console.error(`[admin] health check failed:`,e),t(`set-pin`)}}n()},[]),(0,B.useEffect)(()=>{e===`chat`&&fetch(`/api/admin/claude-info`).then(e=>{if(e.ok)return e.json()}).then(e=>{e&&C(e)}).catch(()=>{})},[e]),(0,B.useEffect)(()=>{if(e!==`chat`)return;let n=setInterval(async()=>{try{let e=await fetch(`/api/health`);if(!e.ok)return;let n=await e.json();(n.auth_status===`dead`||n.auth_status===`missing`)&&t(`connect-claude`)}catch{}},300*1e3);return()=>clearInterval(n)},[e]),(0,B.useEffect)(()=>{e===`connect-claude`&&fetch(`/api/health`).then(e=>e.ok?e.json():null).then(e=>{e?.claude_authenticated&&t(`enter-pin`)}).catch(()=>{})},[e]);async function ce(e,n){p(!0);try{let i=await fetch(`/api/admin/session`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:e,...n?{accountId:n}:{}})});if(!i.ok){l((await i.json().catch(()=>({}))).error||`Invalid PIN`);return}let o=await i.json();if(o.accounts&&!o.session_key){console.log(`[admin] account picker shown: userId=${o.userId} accountCount=${o.accounts.length}`),F(o.accounts),t(`account-picker`);return}x(o.session_key),ee(o.conversationId??null),T(o.onboardingComplete??!0),D(o.businessName),k(o.role??null),j(o.userName===void 0?null:o.userName),N(o.avatar??null);let s=Dt(o.thinkingView);if(ae.current=s,ie(s),n)try{sessionStorage.setItem(`maxy-account-id`,n)}catch{}try{sessionStorage.setItem(`maxy-admin-session-key`,o.session_key)}catch{}r(``),a(``),t(`chat`)}catch(e){console.error(`[admin] connection error:`,e),l(`Could not connect.`)}finally{p(!1),ne(!1)}}let le=(0,B.useCallback)(async e=>{if(e.preventDefault(),f)return;l(``);let s=o.trim();if(!s){l(`Please enter your name.`);return}if(n.length<4){l(`PIN must be at least 4 characters.`);return}if(n!==i){l(`PINs do not match.`);return}let c=n;p(!0);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:c,name:s})});if(!e.ok){let n=await e.json().catch(()=>({}));if(e.status===409){console.log(`[admin] PIN already configured — re-checking health`);try{let e=await fetch(`/api/health`);if(e.ok){let r=await e.json();r.pin_configured&&r.claude_authenticated?t(`enter-pin`):r.pin_configured?t(`connect-claude`):l(n.error||`Failed to set PIN.`)}else t(`enter-pin`)}catch{t(`enter-pin`)}return}l(n.error||`Failed to set PIN.`);return}let n=await fetch(`/api/health`),i=n.ok?await n.json():null;if(i?.onboarding_complete===!1){r(``),a(``),t(`onboarding-choice`);return}if(i?.claude_authenticated){await ce(c);return}r(``),a(``),t(`onboarding-choice`)}catch(e){console.error(`[admin] connection error:`,e),l(`Could not connect.`)}finally{p(!1)}},[n,i,f,o]),ue=(0,B.useCallback)(async e=>{e.preventDefault(),l(``),await ce(n)},[n]),de=(0,B.useCallback)(async()=>{y(!0),await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`logout`})}),x(null),k(null),j(void 0),N(null);try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}t(`connect-claude`)},[]),fe=(0,B.useCallback)(()=>{x(null),k(null),j(void 0),N(null);try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}r(``),a(``),l(``),t(`enter-pin`)},[]);return{appState:e,setAppState:t,pin:n,setPin:r,confirmPin:i,setConfirmPin:a,operatorName:o,setOperatorName:s,pinError:c,setPinError:l,showPin:u,setShowPin:d,pinLoading:f,authPolling:m,setAuthPolling:h,authLoading:g,setAuthLoading:_,disconnecting:v,sessionKey:b,setSessionKey:x,claudeInfo:S,setClaudeInfo:C,onboardingComplete:w,setOnboardingComplete:T,businessName:E,role:O,userName:A,userAvatar:M,conversationId:P,setConversationId:ee,accounts:te,accountPickerLoading:I,expandAll:re,setExpandAll:ie,expandAllDefaultRef:ae,pinInputRef:oe,confirmPinInputRef:se,setPinFormRef:L,handleSetPin:le,handleLogin:ue,handleAccountSelect:(0,B.useCallback)(async e=>{ne(!0),l(``),await ce(n,e)},[n]),handleDisconnect:de,handleLogout:fe,handleChangePin:(0,B.useCallback)(async()=>{if(!n){l(`Enter your current PIN first.`);return}p(!0),l(``);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({currentPin:n})});if(!e.ok){l((await e.json().catch(()=>({error:`Incorrect PIN.`}))).error||`Incorrect PIN.`);return}r(``),a(``),l(``),t(`set-pin`)}catch(e){console.error(`[admin-auth] change pin failed:`,e),l(e instanceof Error?e.message:String(e))}finally{p(!1)}},[n])}}var kt={active:!1,heldMessage:null,existingTopic:null,confidence:0};function At(){let[e,t]=(0,B.useState)(kt),n=(0,B.useRef)(!1);return{offer:e,handleOfferEvent:(0,B.useCallback)((e,n,r)=>{t({active:!0,heldMessage:e,existingTopic:n,confidence:r})},[]),consumeOffer:(0,B.useCallback)(r=>{if(!e.active||!e.heldMessage||n.current)return null;n.current=!0;let i={heldMessage:e.heldMessage,action:r};return t(kt),setTimeout(()=>{n.current=!1},0),i},[e]),dismissAndGetHeldMessage:(0,B.useCallback)(()=>{if(!e.active||!e.heldMessage)return null;let n=e.heldMessage;return t(kt),n},[e])}}var jt=`maxy-admin-draft`,Mt=`maxy-admin-session-key`,Nt=[500,1e3,2e3,4e3,8e3,1e4,1e4],Pt=3e4;function Ft(e){if(e instanceof TypeError){let t=e.message||``;return/network|failed to fetch|load failed/i.test(t)}return!1}async function It(){let e=Date.now()+Pt;for(let t=0;t<Nt.length;t++){let n=Nt[t];if(await new Promise(e=>setTimeout(e,n)),Date.now()>e)return!1;try{if((await fetch(`/api/health`,{cache:`no-store`,signal:AbortSignal.timeout(3e3)})).ok)return!0}catch{}}return!1}function Lt(e){let{sessionKey:t,setSessionKey:n,setAppState:r,setConversationId:i,startElapsedTimer:a,stopElapsedTimer:o,resetTimerState:s,pausedElapsedRef:c,expandAllDefaultRef:l,setExpandAll:u,getPendingFiles:d,clearPendingFiles:f,inputRef:p}=e,[m,h]=(0,B.useState)([]),[g,_]=(0,B.useState)(()=>{try{return localStorage.getItem(jt)??``}catch{return``}}),v=(0,B.useRef)(null),[b,x]=(0,B.useState)(!1),[S,C]=(0,B.useState)([]),w=(0,B.useRef)([]),[T,E]=(0,B.useState)(!1),[D,O]=(0,B.useState)(!1),k=(0,B.useRef)(!1),[A,j]=(0,B.useState)(0),[M,N]=(0,B.useState)(!1),P=(0,B.useRef)(null),ee=(0,B.useRef)(()=>{}),[te,F]=(0,B.useState)(new Set),I=At();function ne(e){w.current=e,C(e)}(0,B.useEffect)(()=>(v.current=setTimeout(()=>{try{g?localStorage.setItem(jt,g):localStorage.removeItem(jt)}catch{}},300),()=>{v.current&&clearTimeout(v.current)}),[g]);function re(){v.current&&clearTimeout(v.current);try{localStorage.removeItem(jt)}catch{}}function ie(e){P.current?.abort(),N(e),t&&fetch(`/api/admin/chat/cancel`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({session_key:t})}).catch(()=>{})}async function ae(e){if(b||!t)return;N(!1),a(),x(!0);let s=new AbortController;P.current=s,h([{role:`maxy`,events:[],timestamp:Date.now()}]);try{let a=await fetch(`/api/admin/chat`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({message:e,session_key:t}),signal:s.signal});if(!a.ok){if(a.status===401){(await a.json().catch(()=>({}))).error===`auth_expired`?r(`connect-claude`):(n(null),r(`enter-pin`));return}let e=await a.json().catch(()=>({}));throw Error(typeof e.error==`string`?e.error:`Request failed (${a.status})`)}let o=!1;for await(let e of y(a)){if(e.type===`session_reset`){k.current=!0,P.current?.abort();break}if(e.type===`server_shutdown`){o=!0,h(e=>{let t=[...e];return t[0]?.role===`maxy`&&(t[0]={...t[0],events:[...t[0].events??[],{type:`text`,content:`Server is restarting — reconnect will happen automatically.`}]}),t});continue}if(e.type===`conversation_attributed`){let t=e.conversationId;typeof t==`string`&&t.length>0&&i(t);continue}if(e.type===`session_expired`){h(e=>{let t=[...e];return t[0]?.role===`maxy`&&(t[0]={...t[0],events:[...t[0].events??[],{type:`text`,content:`This conversation can no longer be resumed — its history is gone. The next message will start a fresh exchange under the same conversation thread.`}]}),t});continue}if(e.type===`done`||e.type===`session_init`)continue;let t=e;h(e=>{let n=[...e];return n[0]?.role===`maxy`&&(n[0]={...n[0],events:[...n[0].events??[],t]}),n})}o&&It()}catch(e){if(!(e instanceof DOMException&&e.name===`AbortError`)){console.error(`[chat] admin sendMessage failed:`,e);let t=e instanceof Error?e.message:String(e),n=Ft(e);h(e=>{let r=[...e],i=r[0];if(i?.role===`maxy`){let e=n?`Server is restarting — reconnect will happen automatically.`:`Error: ${t}`;r[0]={...i,events:[...i.events??[],{type:`text`,content:e}]}}else r.push({role:`maxy`,events:[{type:`text`,content:`Error: ${t}`}],timestamp:Date.now()});return r}),n&&It()}}finally{o(h),x(!1),k.current?(k.current=!1,oe()):p.current?.focus()}}function oe(){h([]),O(!1),s(),F(new Set),u(l.current),ne([]),_(``),re(),f(),N(!1),j(e=>e+1)}function se(e){F(new Set(e))}async function L(){if(b||T||!t){console.warn(`[chat] startNewConversation blocked: streaming=${b} compacting=${T} sessionKey=${!!t}`);return}oe();try{let e=await fetch(`/api/admin/sessions/new?session_key=${encodeURIComponent(t)}`,{method:`POST`});if(e.ok){let t=await e.json();if(t.session_key){n(t.session_key);try{sessionStorage.setItem(Mt,t.session_key)}catch{}pe(t.session_key,`chat`)}t.conversationId&&i(t.conversationId)}else console.error(`[chat] new conversation failed: ${e.status}`),h([{role:`maxy`,events:[{type:`text`,content:`Could not start a new conversation. Please try again.`}],timestamp:Date.now()}])}catch(e){console.error(`[chat] new conversation failed:`,e),h([{role:`maxy`,events:[{type:`text`,content:`Could not start a new conversation. Please try again.`}],timestamp:Date.now()}])}}function ce(e,n,r,i){try{let e=JSON.parse(r);if(e._lifecycle&&t){fetch(`/api/admin/chat`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({message:r,session_key:t})}).catch(()=>{});return}if(e.action===`save`)return}catch{}Et.has(i??``)||F(t=>new Set(t).add(`${e}_${n}`)),ue(i?JSON.stringify({_componentDone:!0,component:i,payload:r}):r,void 0,void 0,!0)}let le=(0,B.useMemo)(()=>{let e=new Set(te),t=[];for(let e=0;e<m.length;e++){let n=m[e];if(!(n.role!==`maxy`||!n.events))for(let e=0;e<n.events.length;e++){let r=n.events[e];r.type===`component`&&r.name===`browser-viewer`&&t.push({key:`${n.timestamp}_${e}`})}}for(let n=0;n<t.length-1;n++)e.add(t[n].key);return e},[m,te]);async function ue(e,s,l,u,g){if(!e&&(s??d()).length===0&&!M||b||!t)return;if(I.offer.active&&!g){let t=I.dismissAndGetHeldMessage();if(t)return ne([...w.current,{text:e,files:s??[],timestamp:l??Date.now()}]),ue(t,void 0,void 0,!0,{topicChangeAction:`continue`,heldMessage:t})}let v=M;N(!1),O(!1);let S=s??[...d()],C=S.map(e=>({attachmentId:``,filename:e.name,mimeType:e.type})),T={role:`admin`,content:e,attachments:C.length>0?C:void 0,timestamp:l??Date.now(),hidden:u||void 0},E=m.length;h(e=>[...e,T]),_(``),re(),s||f(),a(v?c.current:0),x(!0);let D=new AbortController;P.current=D;let A={role:`maxy`,events:[],timestamp:Date.now()};h(e=>[...e,A]);let j=E+1;try{let a,o={},s=l?new Date(l).toISOString():void 0;if(S.length>0){let n=new FormData;n.append(`message`,e),n.append(`session_key`,t),s&&n.append(`timestamp`,s);for(let e of S)n.append(`attachments`,e);a=n}else a=JSON.stringify({message:e,session_key:t,...s&&{timestamp:s},...g&&{topicChangeAction:g.topicChangeAction,heldMessage:g.heldMessage}}),o={"Content-Type":`application/json`};let c=await fetch(`/api/admin/chat`,{method:`POST`,headers:o,body:a,signal:D.signal});if(!c.ok){if(c.status===401){(await c.json().catch(()=>({}))).error===`auth_expired`?r(`connect-claude`):(n(null),r(`enter-pin`));return}let e=await c.json().catch(()=>({}));throw Error(typeof e.error==`string`?e.error:`Request failed (${c.status})`)}let u=!1;for await(let e of y(c)){if(e.type===`session_reset`){k.current=!0;continue}if(e.type===`topic_change_offer`){I.handleOfferEvent(e.heldMessage,e.existingTopic,e.confidence);continue}if(e.type===`conversation_attributed`){let t=e.conversationId;typeof t==`string`&&t.length>0&&i(t);continue}if(e.type===`session_expired`){h(e=>{let t=[...e],n=t[j];return n&&n.role===`maxy`&&(t[j]={...n,events:[...n.events??[],{type:`text`,content:`This conversation can no longer be resumed — its history is gone. The next message will start a fresh exchange under the same conversation thread.`}]}),t});continue}if(e.type===`server_shutdown`){u=!0,h(e=>{let t=[...e],n=t[j];return n&&n.role===`maxy`&&(t[j]={...n,events:[...n.events??[],{type:`text`,content:`Server is restarting — reconnect will happen automatically.`}]}),t});continue}if(e.type===`done`||e.type===`session_init`)continue;let t=e;h(e=>{let n=[...e],r=n[j];if(r&&r.role===`maxy`){let i=r.events??[];if(t.type===`component`&&i.some(e=>e.type===`component`&&e.name===t.name&&JSON.stringify(e.data)===JSON.stringify(t.data)))return e;n[j]={...r,events:[...i,t]}}return n})}u&&It()}catch(e){if(!(e instanceof DOMException&&e.name===`AbortError`)){console.error(`[chat] admin sendMessage failed:`,e);let t=e instanceof Error?e.message:String(e),n=Ft(e);h(e=>{let r=[...e],i=r[j];if(i&&i.role===`maxy`){let e=n?`Server is restarting — reconnect will happen automatically.`:`Error: ${t}`;r[j]={...i,events:[...i.events??[],{type:`text`,content:e}]}}return r}),n&&It()}}finally{if(o(h),x(!1),k.current)k.current=!1,oe();else{let e=w.current;if(e.length>0){let[t,...n]=e;ne(n),ee.current(t.text,t.files,t.timestamp)}else p.current?.focus()}}}ee.current=ue;let de=(0,B.useCallback)(async()=>{if(!(!t||b||T)){E(!0);try{let e=await fetch(`/api/admin/compact`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({session_key:t})});for await(let t of y(e))if(t.type===`status`&&t.message){let e=t.message;h(t=>{let n=[...t],r=n[n.length-1];return r?.role===`maxy`&&(n[n.length-1]={...r,events:[...r.events??[],{type:`status`,message:e}]}),n})}else t.type===`done`&&t.ok&&O(!0)}finally{E(!1)}}},[t,b,T]);async function fe(){let e=I.consumeOffer(`fresh`);e&&(await L(),ee.current(e.heldMessage))}function me(){let e=I.consumeOffer(`continue`);e&&ue(e.heldMessage,void 0,void 0,!0,{topicChangeAction:`continue`,heldMessage:e.heldMessage})}return{messages:m,setMessages:h,input:g,setInput:_,isStreaming:b,messageQueue:S,messageQueueRef:w,setQueue:ne,isCompacting:T,conversationCompacted:D,greetingGeneration:A,wasPaused:M,sendMessageRef:ee,submittedComponents:te,effectiveSubmitted:le,stopStreaming:ie,sendSystemPrompt:ae,sendMessage:ue,resetConversation:oe,startNewConversation:L,seedSubmittedComponents:se,handleComponentSubmit:ce,handleCompactNow:de,topicChangeOffer:I.offer,handleTopicFreshStart:fe,handleTopicContinue:me}}function Rt(){let[e,t]=(0,B.useState)([]),[n,r]=(0,B.useState)(!1),[i,a]=(0,B.useState)(null),o=(0,B.useRef)(null),s=(0,B.useCallback)(e=>{a(null);let n=e.find(e=>!wt.has(e.type));if(n){a(`Unsupported file type: "${n.type}". Supported: images, PDF, plain text, markdown, CSV, calendar, zip.`);return}let r=e.find(e=>e.size>Tt);if(r){a(`"${r.name}" exceeds the 20 MB limit.`);return}t(t=>[...t,...e].slice(0,5))},[]);return{pendingFiles:e,setPendingFiles:t,isDragOver:n,attachError:i,setAttachError:a,fileInputRef:o,addFiles:s,clearFiles:(0,B.useCallback)(()=>{t([]),a(null)},[]),removeFile:(0,B.useCallback)(e=>{t(t=>t.filter((t,n)=>n!==e))},[]),onDragOver:(0,B.useCallback)(e=>{e.preventDefault(),r(!0)},[]),onDragLeave:(0,B.useCallback)(()=>{r(!1)},[]),onDrop:(0,B.useCallback)(e=>{e.preventDefault(),r(!1),s([...e.dataTransfer.files])},[s])}}var V=s();function zt({inputRef:e,value:t,onChange:n,onComplete:r,showPin:i,autoFocus:a}){let o=(0,B.useRef)([]);function s(e,r){r.key===`Backspace`?(r.preventDefault(),t[e]?n(t.slice(0,e)+t.slice(e+1)):e>0&&(n(t.slice(0,e-1)+t.slice(e)),o.current[e-1]?.focus())):r.key===`ArrowLeft`&&e>0?o.current[e-1]?.focus():r.key===`ArrowRight`&&e<5?o.current[e+1]?.focus():r.key===`Enter`&&(r.preventDefault(),r.currentTarget.form?.requestSubmit())}function c(e,i){let a=i.nativeEvent.data;if(!a||!/^\d$/.test(a))return;let s=t.split(``);for(s[e]=a;s.length<e;)s.push(``);let c=s.join(``).replace(/\D/g,``).slice(0,6);n(c),c.length===6?r?.(c):e<5&&o.current[e+1]?.focus()}function l(e){e.preventDefault();let t=e.clipboardData.getData(`text`).replace(/\D/g,``).slice(0,6);t&&(n(t),t.length===6?r?.(t):o.current[t.length]?.focus())}return(0,V.jsx)(`div`,{className:`pin-field`,children:Array.from({length:6}).map((n,r)=>(0,V.jsx)(`input`,{ref:t=>{o.current[r]=t,r===0&&e&&(e.current=t)},type:`text`,inputMode:`numeric`,className:`pin-box${t[r]?` pin-box-filled`:``}`,value:t[r]?i?t[r]:`•`:``,onKeyDown:e=>s(r,e),onInput:e=>c(r,e),onPaste:l,onFocus:e=>e.target.select(),autoFocus:a&&r===0,autoComplete:`off`,maxLength:1,"aria-label":`PIN digit ${r+1}`},r))})}function Bt(e){let{pin:t,setPin:n,confirmPin:r,setConfirmPin:i,showPin:a,setShowPin:o,pinLoading:s,pinError:c,pinInputRef:l,confirmPinInputRef:u,setPinFormRef:d,onSubmit:f,operatorName:p,setOperatorName:m}=e;return(0,V.jsx)(`div`,{className:`connect-page`,children:(0,V.jsxs)(`div`,{className:`connect-content`,children:[(0,V.jsx)(`img`,{src:re,alt:C.productName,className:`connect-logo connect-logo--maxy`}),!C.logoContainsName&&(0,V.jsxs)(`h1`,{className:`connect-title`,children:[`Welcome to `,C.productName]}),(0,V.jsxs)(`p`,{className:`connect-subtitle`,children:[`Tell `,C.productName,` who you are, then choose a PIN.`]}),(0,V.jsxs)(`form`,{ref:d,onSubmit:f,className:`connect-pin-form`,children:[(0,V.jsxs)(`div`,{className:`pin-input-row`,children:[(0,V.jsx)(`input`,{type:`text`,className:`connect-name-input`,placeholder:`Your full name`,value:p,onChange:e=>m(e.target.value),autoComplete:`name`,autoFocus:!0,required:!0,"aria-label":`Your full name`}),(0,V.jsx)(`div`,{style:{width:38,flexShrink:0},"aria-hidden":`true`})]}),(0,V.jsxs)(`div`,{className:`pin-input-row`,children:[(0,V.jsx)(zt,{inputRef:l,value:t,onChange:n,onComplete:()=>u.current?.focus(),showPin:a}),(0,V.jsx)(`div`,{style:{width:38,flexShrink:0},"aria-hidden":`true`})]}),(0,V.jsxs)(`div`,{className:`pin-input-row`,children:[(0,V.jsx)(zt,{inputRef:u,value:r,onChange:i,onComplete:()=>{},showPin:a}),(0,V.jsx)(w,{variant:`send`,type:`submit`,disabled:!t||!r||!p.trim(),loading:s,"aria-label":`Set PIN`,children:(0,V.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,V.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,V.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,V.jsx)(_e,{checked:a,onChange:()=>o(e=>!e),label:`Show PIN`})]}),c&&(0,V.jsx)(`p`,{className:`admin-pin-error`,children:c})]})})}function Vt(e){let{pin:t,setPin:n,showPin:r,setShowPin:i,pinLoading:a,pinError:o,pinInputRef:s,onSubmit:c,onChangePin:l}=e;return(0,V.jsx)(`div`,{className:`connect-page`,children:(0,V.jsxs)(`div`,{className:`connect-content`,children:[(0,V.jsx)(`img`,{src:re,alt:C.productName,className:`connect-logo connect-logo--maxy`}),!C.logoContainsName&&(0,V.jsx)(`h1`,{className:`connect-title`,children:C.productName}),(0,V.jsxs)(`form`,{onSubmit:c,className:`connect-pin-form`,children:[(0,V.jsxs)(`div`,{className:`pin-input-row`,children:[(0,V.jsx)(zt,{inputRef:s,value:t,onChange:n,onComplete:()=>{},showPin:r,autoFocus:!0}),(0,V.jsx)(w,{variant:`send`,type:`submit`,disabled:!t,loading:a,children:(0,V.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,V.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,V.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,V.jsxs)(`div`,{className:`pin-options`,children:[(0,V.jsx)(_e,{checked:r,onChange:()=>i(e=>!e),label:`Show PIN`}),(0,V.jsx)(w,{type:`button`,variant:`ghost`,onClick:l,children:`Change PIN`})]})]}),o&&(0,V.jsx)(`p`,{className:`admin-pin-error`,children:o})]})})}function Ht(e){let{accounts:t,loading:n,error:r,onSelect:i}=e;return(0,V.jsx)(`div`,{className:`connect-page`,children:(0,V.jsxs)(`div`,{className:`connect-content`,children:[(0,V.jsx)(`img`,{src:re,alt:C.productName,className:`connect-logo connect-logo--maxy`}),!C.logoContainsName&&(0,V.jsx)(`h1`,{className:`connect-title`,children:C.productName}),(0,V.jsx)(`p`,{className:`connect-subtitle`,children:`Select an account`}),(0,V.jsx)(`div`,{className:`account-picker-list`,children:t.map(e=>(0,V.jsxs)(`button`,{className:`account-picker-card`,onClick:()=>i(e.accountId),disabled:n,type:`button`,children:[(0,V.jsx)(`span`,{className:`account-picker-name`,children:e.businessName||e.accountId}),(0,V.jsx)(`span`,{className:`account-picker-role`,children:e.role}),n&&(0,V.jsx)(ge,{className:`account-picker-spinner`,size:16})]},e.accountId))}),r&&(0,V.jsx)(`p`,{className:`admin-pin-error`,children:r})]})})}function Ut(e){let{authPolling:t,setAuthPolling:n,authLoading:r,setAuthLoading:i,pinError:a,setPinError:o,setAppState:s}=e,[c,l]=(0,B.useState)(!1),[u,d]=(0,B.useState)(!1);async function f(){d(!0),o(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`launch-browser`})})).json();e.launched?l(!0):e.error&&o(e.error)}catch(e){console.error(`[admin] browser launch error:`,e),o(`Could not launch browser.`)}d(!1)}async function p(){i(!0),o(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`})).json();if(e.started){n(!0),l(!0),i(!1);for(let e=0;e<120;e++)if(await new Promise(e=>setTimeout(e,2e3)),(await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`wait`})})).json()).authenticated){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),s(`enter-pin`);return}o(`Timed out waiting for sign-in. Try again.`),n(!1)}else e.error&&o(e.error)}catch(e){console.error(`[admin] auth flow error:`,e),o(`Could not start auth flow.`)}i(!1)}async function m(){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),n(!1),o(``)}return t||c?(0,V.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100dvh`,overflow:`auto`},children:[(0,V.jsxs)(`header`,{className:`chat-header`,style:{paddingBottom:`12px`,flexShrink:0,position:`relative`,maxWidth:`680px`,width:`100%`,margin:`0 auto`,padding:`24px 20px 12px`},children:[t?(0,V.jsx)(`button`,{onClick:m,style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Cancel`,children:`✕`}):(0,V.jsx)(`button`,{onClick:()=>l(!1),style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Close browser`,children:`✕`}),(0,V.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`chat-logo`}),(0,V.jsx)(`h1`,{className:`chat-tagline`,children:`Connect Claude`}),(0,V.jsx)(`p`,{className:`chat-intro`,children:t?`Sign in and authorize in the browser below.`:`Open your email or prepare your accounts, then sign in.`}),!t&&(0,V.jsx)(`div`,{style:{marginTop:`12px`},children:(0,V.jsx)(w,{variant:`primary`,onClick:p,disabled:r,children:r?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`})})]}),(0,V.jsx)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,minHeight:0,gap:`10px`,padding:`0 0 16px`},children:(0,V.jsx)(`iframe`,{src:`/vnc-viewer.html`,style:{flex:1,width:`100%`,minHeight:0,border:`none`,background:`#111`,display:`block`},title:`Claude Sign-in`})}),a&&(0,V.jsx)(`p`,{className:`admin-pin-error`,style:{textAlign:`center`,padding:`0 20px 16px`},children:a})]}):(0,V.jsxs)(`div`,{className:`connect-page`,children:[(0,V.jsx)(`button`,{onClick:()=>s(`onboarding-choice`),style:{position:`fixed`,top:`16px`,left:`16px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Back to setup choice`,children:`← Back`}),(0,V.jsxs)(`div`,{className:`connect-content`,children:[(0,V.jsxs)(`div`,{className:`connect-logos`,children:[(0,V.jsx)(`div`,{className:`connect-logo-wrap`,children:(0,V.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`connect-logo`})}),(0,V.jsx)(`svg`,{className:`connect-arrow`,viewBox:`0 0 48 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:(0,V.jsx)(`path`,{d:`M0 12h44m0 0l-8-8m8 8l-8 8`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})}),(0,V.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,V.jsx)(`img`,{src:re,alt:C.productName,className:`connect-logo connect-logo--maxy`}),!C.logoContainsName&&(0,V.jsx)(`span`,{className:`connect-logo-label`,children:C.productName})]})]}),(0,V.jsxs)(`h1`,{className:`connect-title`,children:[`Connect Claude to power `,C.productName]}),(0,V.jsx)(`p`,{className:`connect-subtitle`,children:`Sign in with your Anthropic account to get started.`}),(0,V.jsx)(w,{variant:`primary`,onClick:p,disabled:r,children:r?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`}),(0,V.jsx)(`p`,{style:{marginTop:`6px`,fontSize:`11px`,color:`#999`,maxWidth:`300px`,textAlign:`center`,lineHeight:`1.4`},children:`First time? You may need to sign into your email and Anthropic account in the browser before connecting.`}),(0,V.jsx)(`button`,{onClick:f,disabled:u,style:{marginTop:`12px`,background:`none`,border:`none`,color:`var(--color-primary, #666)`,fontSize:`13px`,cursor:`pointer`,textDecoration:`underline`,textUnderlineOffset:`3px`},children:u?`Launching…`:`Open browser first`}),a&&(0,V.jsx)(`p`,{className:`admin-pin-error`,children:a})]})]})}function Wt({setAppState:e,setOnboardingComplete:t}){let[n,r]=(0,B.useState)(!1),[i,a]=(0,B.useState)(``);async function o(n){r(!0),a(``);try{let r=await fetch(`/api/onboarding/skip`,{method:`POST`,headers:n===`minimal`?{"Content-Type":`application/json`}:{},body:n===`minimal`?JSON.stringify({minimal:!0}):void 0});if(!r.ok){a((await r.json().catch(()=>({}))).error||`Failed to apply defaults.`);return}t(!0),e(`connect-claude`)}catch(e){console.error(`[admin] skip onboarding error:`,e),a(`Could not apply defaults.`)}finally{r(!1)}}function s(){e(`connect-claude`)}return(0,V.jsx)(`div`,{className:`connect-page`,children:(0,V.jsxs)(`div`,{className:`connect-content`,children:[(0,V.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,V.jsx)(`img`,{src:re,alt:C.productName,className:`connect-logo connect-logo--maxy`}),!C.logoContainsName&&(0,V.jsx)(`span`,{className:`connect-logo-label`,children:C.productName})]}),(0,V.jsx)(`h1`,{className:`connect-title`,children:`How would you like to get started?`}),(0,V.jsx)(`p`,{className:`connect-subtitle`,style:{fontSize:`0.8rem`,maxWidth:`320px`},children:`Defaults: core plugins only, auto-detected timezone, concise output style, and a minimal personality. No WiFi or optional plugins. Minimal also skips remote access, public-agent API key, and business profile.`}),(0,V.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`10px`,width:`100%`,maxWidth:`320px`,alignItems:`center`},children:[(0,V.jsx)(w,{variant:`primary`,onClick:()=>o(`default`),disabled:n,children:n?`Applying defaults…`:`Use defaults`}),(0,V.jsx)(`button`,{onClick:s,disabled:n,style:{background:`none`,border:`none`,padding:`8px`,cursor:`pointer`,fontSize:`0.95rem`,color:`var(--text-secondary, #666)`,textDecoration:`none`},children:`Guided setup`}),(0,V.jsx)(`button`,{onClick:()=>o(`minimal`),disabled:n,style:{background:`none`,border:`none`,padding:`8px`,cursor:`pointer`,fontSize:`0.95rem`,color:`var(--text-secondary, #666)`,textDecoration:`none`},children:`Minimal`})]}),(0,V.jsx)(`p`,{className:`connect-subtitle`,style:{marginTop:`12px`},children:`You can change any setting later through conversation.`}),i&&(0,V.jsx)(`p`,{className:`admin-pin-error`,children:i})]})})}function Gt({data:e,onSubmit:t,submitted:n}){let r=e,[i,a]=(0,B.useState)(`Submitted`);return r?.title?(0,V.jsx)(O,{submitted:n,submittedLabel:i,actions:[{label:r.rejectLabel??`Reject`,variant:`ghost`,onClick:()=>{n||(a(`Rejected`),t(r.rejectMessage??`Rejected: ${r.title}`))}},{label:r.confirmLabel??`Approve`,variant:`primary`,onClick:()=>{n||(a(`Approved`),t(r.confirmMessage??`Approved: ${r.title}`))}}],children:(0,V.jsxs)(`div`,{className:`confirm`,children:[(0,V.jsx)(`div`,{className:`confirm__title`,children:r.title}),r.description&&(0,V.jsx)(`div`,{className:`confirm__desc`,children:r.description}),r.items&&r.items.length>0&&(0,V.jsx)(`div`,{className:`confirm__items`,children:r.items.map((e,t)=>(0,V.jsxs)(`div`,{className:`confirm__item`,children:[(0,V.jsx)(`span`,{className:`confirm__item-label`,children:e.label}),(0,V.jsx)(`span`,{className:`confirm__item-value`,children:e.value})]},t))})]})}):null}function Kt({data:e,onSubmit:t,submitted:n}){let r=e,i=(0,B.useRef)(!1),a=!!(r?.title&&Array.isArray(r?.fields)&&r.fields.length>0),o=r?.actions&&r.actions.length>0;return(0,B.useEffect)(()=>{a&&!o&&!n&&!i.current&&(i.current=!0,t(``))},[a,o,n,t]),a?(0,V.jsx)(O,{submitted:n,submittedLabel:`Done`,actions:o?r.actions.map(e=>({label:e.label,variant:e.variant,onClick:()=>{n||t(e.message)}})):[],children:(0,V.jsxs)(`div`,{className:`info-card`,children:[(0,V.jsxs)(`div`,{className:`info-card__header`,children:[(0,V.jsx)(`div`,{className:`info-card__title`,children:r.title}),r.subtitle&&(0,V.jsx)(`div`,{className:`info-card__subtitle`,children:r.subtitle})]}),(0,V.jsx)(`div`,{className:`info-card__fields`,children:r.fields.map((e,t)=>(0,V.jsxs)(`div`,{className:`info-card__field`,children:[(0,V.jsx)(`span`,{className:`info-card__field-label`,children:e.label}),(0,V.jsx)(`span`,{className:`info-card__field-value${e.type===`status`?` info-card__field-value--status`:``}`,children:e.type===`link`?(0,V.jsx)(`a`,{href:e.value,target:`_blank`,rel:`noopener noreferrer`,children:e.value}):e.value})]},t))})]})}):null}function qt({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.items)?r.items:[],[a,o]=(0,B.useState)(new Set),[s,c]=(0,B.useState)(!1),[l,u]=(0,B.useState)(`Done`);if(i.length===0)return null;let d=n||s,f=(e,n)=>{d||a.has(e)||(o(t=>new Set(t).add(e)),t(n))};return(0,V.jsx)(O,{submitted:d,submittedLabel:l,actions:[{label:`Done`,variant:`primary`,onClick:()=>{d||(c(!0),u(`Done`),t(r?.doneMessage??`Done`))}}],children:(0,V.jsxs)(`div`,{className:`action-list`,children:[r?.title&&(0,V.jsx)(`div`,{className:`action-list__title`,children:r.title}),(0,V.jsx)(`div`,{className:`action-list__items`,children:i.map(e=>(0,V.jsxs)(`div`,{className:`action-list__item${a.has(e.id)?` action-list__item--acted`:``}`,children:[(0,V.jsxs)(`div`,{className:`action-list__item-info`,children:[(0,V.jsx)(`span`,{className:`action-list__item-label`,children:e.label}),e.description&&(0,V.jsx)(`span`,{className:`action-list__item-desc`,children:e.description})]}),(0,V.jsxs)(`div`,{className:`action-list__item-right`,children:[e.status&&(0,V.jsx)(`span`,{className:`action-list__item-status`,children:e.status}),(0,V.jsx)(`div`,{className:`action-list__item-actions`,children:e.actions.map((t,n)=>(0,V.jsx)(w,{variant:t.variant===`danger`?`danger`:t.variant===`ghost`?`ghost`:`primary`,size:`sm`,disabled:d||a.has(e.id),onClick:n=>{n.stopPropagation(),f(e.id,t.message)},children:t.label},n))})]})]},e.id))})]})})}function Jt({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.fields)?r.fields:[],[a,o]=(0,B.useState)({}),[s,c]=(0,B.useState)({}),[l,u]=(0,B.useState)({}),[d,f]=(0,B.useState)(`Submitted`);if((0,B.useEffect)(()=>{i.length!==0&&(o(e=>{let t={...e};return i.forEach(e=>{e.type!==`list`&&(e.name in t||(t[e.name]=e.defaultValue??(e.type===`checkbox`?!1:``)))}),t}),c(e=>{let t={...e};return i.forEach(e=>{e.type===`list`&&(e.name in t||(t[e.name]=Array.isArray(e.defaultValue)?e.defaultValue:[]))}),t}))},[i]),i.length===0)return null;let p=(e,t)=>{n||o(n=>({...n,[e]:t}))},m=i.filter(e=>e.required&&e.type!==`list`).every(e=>{let t=a[e.name];return e.type===`checkbox`?t===!0:typeof t==`string`&&t.trim()!==``}),h=()=>{if(!m||n)return;f(`Submitted`);let e=r?.submitMessage??`Form submitted: {{json}}`,i=JSON.stringify(a),o=e;for(let[e,t]of Object.entries(a))o=o.replace(`{{${e}}}`,()=>String(t));o=o.replace(`{{json}}`,()=>i),o=o.replace(`{{values}}`,()=>i),t(o)},g=e=>e.description?`${e.label} — ${e.description}`:e.label,_=e=>{let r=(l[e.name]??``).trim();!r||n||(c(t=>({...t,[e.name]:[...t[e.name]??[],r]})),u(t=>({...t,[e.name]:``})),e.addMessage&&t(e.addMessage.replace(`{{value}}`,r)))},v=(e,r)=>{n||(c(t=>({...t,[e.name]:(t[e.name]??[]).filter(e=>e!==r)})),e.removeMessage&&t(e.removeMessage.replace(`{{value}}`,r)))};return(0,V.jsx)(O,{submitted:n,submittedLabel:d,actions:[{label:r?.submitLabel??`Submit`,variant:`primary`,disabled:!m,onClick:h}],children:(0,V.jsxs)(`div`,{className:`form-input`,children:[r?.title&&(0,V.jsx)(`div`,{className:`form-input__title`,children:r.title}),r?.description&&(0,V.jsx)(`div`,{className:`form-input__desc`,children:r.description}),(0,V.jsx)(`div`,{className:`form-input__fields`,children:i.map(e=>(0,V.jsx)(`div`,{className:`form-input__field`,children:e.type===`checkbox`?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(_e,{checked:a[e.name]===!0,onChange:t=>p(e.name,t),label:e.label,disabled:n}),e.description&&(0,V.jsx)(`div`,{className:`form-input__field-desc`,children:e.description})]}):e.type===`list`?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`label`,{className:`form-input__label`,children:e.label}),e.description&&(0,V.jsx)(`div`,{className:`form-input__field-desc`,children:e.description}),(0,V.jsxs)(`div`,{className:`form-input__list`,children:[(s[e.name]??[]).map(t=>(0,V.jsxs)(`div`,{className:`form-input__list-item`,children:[(0,V.jsx)(`span`,{className:`form-input__list-item-text`,children:t}),(0,V.jsx)(`button`,{type:`button`,className:`form-input__list-item-remove`,onClick:()=>v(e,t),disabled:n,"aria-label":`Remove ${t}`,children:`×`})]},t)),(0,V.jsxs)(`div`,{className:`form-input__list-add`,children:[(0,V.jsx)(`input`,{className:`form-input__input`,type:`text`,placeholder:e.addPlaceholder??``,value:l[e.name]??``,onChange:t=>u(n=>({...n,[e.name]:t.target.value})),onKeyDown:t=>{t.key===`Enter`&&(t.preventDefault(),_(e))},disabled:n}),(0,V.jsx)(`button`,{type:`button`,className:`form-input__list-add-btn`,onClick:()=>_(e),disabled:n||!(l[e.name]??``).trim(),children:`Add`})]})]})]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`label`,{className:`form-input__label`,htmlFor:`form-${e.name}`,children:[e.label,e.required&&(0,V.jsx)(`span`,{className:`form-input__required`,children:`*`})]}),e.description&&(0,V.jsx)(`div`,{className:`form-input__field-desc`,children:e.description}),e.type===`textarea`?(0,V.jsx)(`textarea`,{id:`form-${e.name}`,className:`form-input__textarea`,placeholder:e.placeholder,value:a[e.name]??``,onChange:t=>p(e.name,t.target.value),disabled:n,rows:3}):e.type===`select`?(0,V.jsxs)(`select`,{id:`form-${e.name}`,className:`form-input__select`,value:a[e.name]??``,onChange:t=>p(e.name,t.target.value),disabled:n,children:[(0,V.jsx)(`option`,{value:``,children:e.placeholder??`Select...`}),e.options?.map(e=>(0,V.jsx)(`option`,{value:e.value,children:g(e)},e.value))]}):(0,V.jsx)(`input`,{id:`form-${e.name}`,className:`form-input__input`,type:e.type,placeholder:e.placeholder,value:a[e.name]??``,onChange:t=>p(e.name,t.target.value),disabled:n})]})},e.name))})]})})}var Yt={pending:`○`,active:`◉`,completed:`✓`,failed:`✗`,skipped:`–`};function Xt({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.steps)?r.steps:[],a=(0,B.useRef)(!1),o=i.length>0&&i.every(e=>e.status===`completed`||e.status===`failed`||e.status===`skipped`);return(0,B.useEffect)(()=>{o&&!n&&!a.current&&(a.current=!0,t(r?.completedMessage??`All steps completed`))},[o,n,t,r?.completedMessage]),i.length===0?null:(0,V.jsxs)(`div`,{className:`progress-tracker${n?` progress-tracker--submitted`:``}`,children:[r?.title&&(0,V.jsx)(`div`,{className:`progress-tracker__title`,children:r.title}),(0,V.jsx)(`div`,{className:`progress-tracker__steps`,children:i.map((e,t)=>(0,V.jsxs)(`div`,{className:`progress-tracker__step progress-tracker__step--${e.status}`,children:[(0,V.jsx)(`span`,{className:`progress-tracker__icon`,children:Yt[e.status]??`○`}),(0,V.jsxs)(`div`,{className:`progress-tracker__step-info`,children:[(0,V.jsx)(`span`,{className:`progress-tracker__step-label`,children:e.label}),e.description&&(0,V.jsx)(`span`,{className:`progress-tracker__step-desc`,children:e.description})]})]},t))})]})}function Zt({handlePopout:e,disabled:t=!1}){let n=(0,B.useCallback)(()=>{delete document.body.dataset.dragPopoutActive},[]);(0,B.useEffect)(()=>()=>n(),[n]);let r=(0,B.useCallback)(e=>{if(t){e.preventDefault();return}let n=e.target;if(n.closest(`.editor-base__actions`)||n.closest(`.browser-viewer__actions`)){e.preventDefault();return}if(!document.querySelector(`.chat-messages`)){e.preventDefault();return}e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,``),document.body.dataset.dragPopoutActive=`true`},[t,n]),i=(0,B.useCallback)(t=>{if(n(),t.clientX===0&&t.clientY===0)return;let r=document.querySelector(`.chat-messages`);if(!r)return;let i=r.getBoundingClientRect();(t.clientX<i.left||t.clientX>i.right||t.clientY<i.top||t.clientY>i.bottom)&&e()},[e,n]);return t?{draggable:!1,onDragStart:()=>{},onDragEnd:()=>{}}:{draggable:!0,onDragStart:r,onDragEnd:i}}function Qt({data:e,onSubmit:t,submitted:n,isStreaming:r}){yt();let{title:i}=e??{},[a,o]=(0,B.useState)(!1),[s,c]=(0,B.useState)(!1),[l,u]=(0,B.useState)(!1),d=(0,B.useRef)(null),f=(0,B.useRef)(null),p=i??C.productName,m=(0,B.useCallback)(()=>{f.current&&=(clearInterval(f.current),null),d.current&&!d.current.closed&&d.current.close(),d.current=null,c(!1)},[]),h=(0,B.useCallback)(()=>{o(!1),u(!1);let e=`/vnc-popout.html?title=${encodeURIComponent(p)}`,t=window.open(e,`maxy-vnc-popout`,`width=1024,height=768`);t&&(d.current=t,c(!0),f.current=setInterval(()=>{d.current?.closed&&(m(),u(!0))},500))},[p,m]),g=(0,B.useCallback)(()=>{m(),o(!1),u(!0)},[m]),_=(0,B.useCallback)(()=>{m(),u(!1)},[m]),v=(0,B.useCallback)(()=>{u(!1)},[]),y=(0,B.useCallback)(()=>{m(),u(!1),o(!0)},[m]),b=(0,B.useCallback)(()=>o(!1),[]);(0,B.useEffect)(()=>{if(!a)return;let e=e=>{e.key===`Escape`&&b()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[a,b]),(0,B.useEffect)(()=>()=>m(),[m]);let x=Zt({handlePopout:h,disabled:s||a});if(n)return null;let S=`/vnc-viewer.html`;return a?(0,V.jsxs)(`div`,{className:`browser-viewer-fullscreen`,children:[(0,V.jsxs)(`div`,{className:`browser-viewer-fullscreen__bar`,...x,children:[(0,V.jsx)(D,{className:`browser-viewer__icon`}),(0,V.jsx)(`span`,{className:`browser-viewer-fullscreen__title`,children:p}),(0,V.jsxs)(`div`,{className:`browser-viewer-fullscreen__actions`,children:[(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Fe,onClick:h,"aria-label":`Pop out`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:nt,onClick:b,"aria-label":`Exit full screen`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:rt,onClick:g,"aria-label":`Minimise`})]})]}),(0,V.jsx)(`iframe`,{src:S,className:`browser-viewer-fullscreen__iframe`,title:p})]}):s?(0,V.jsx)(`div`,{className:`browser-viewer browser-viewer--popout`,children:(0,V.jsxs)(`div`,{className:`browser-viewer__bar`,...x,children:[(0,V.jsx)(D,{className:`browser-viewer__icon`}),(0,V.jsx)(`span`,{className:`browser-viewer__title`,children:p}),(0,V.jsxs)(`div`,{className:`browser-viewer__actions`,children:[(0,V.jsx)(`span`,{className:`browser-viewer__popout-label`,children:`Popped out`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:dt,onClick:_,"aria-label":`Pop back in`})]})]})}):l?(0,V.jsxs)(`div`,{className:`browser-viewer browser-viewer--minimised`,onClick:v,role:`button`,tabIndex:0,onKeyDown:e=>e.key===`Enter`&&v(),children:[(0,V.jsxs)(`div`,{className:`browser-viewer__bar`,...x,children:[(0,V.jsx)(D,{className:`browser-viewer__icon`}),(0,V.jsx)(`span`,{className:`browser-viewer__title`,children:p}),(0,V.jsxs)(`div`,{className:`browser-viewer__actions`,onClick:e=>e.stopPropagation(),children:[(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Fe,onClick:h,"aria-label":`Pop out`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Qe,onClick:y,"aria-label":`Full screen`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:ct,onClick:v,"aria-label":`Expand`})]})]}),(0,V.jsx)(`iframe`,{src:S,className:`browser-viewer__iframe`,title:p,"aria-hidden":`true`})]}):(0,V.jsxs)(`div`,{className:`browser-viewer`,children:[(0,V.jsxs)(`div`,{className:`browser-viewer__bar`,...x,children:[(0,V.jsx)(D,{className:`browser-viewer__icon`}),i&&(0,V.jsx)(`span`,{className:`browser-viewer__title`,children:i}),(0,V.jsxs)(`div`,{className:`browser-viewer__actions`,children:[(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Fe,onClick:h,"aria-label":`Pop out`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Qe,onClick:y,"aria-label":`Full screen`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:rt,onClick:g,"aria-label":`Minimise`})]})]}),(0,V.jsx)(`iframe`,{src:S,className:`browser-viewer__iframe`,title:p})]})}var $t=t((e=>{var t=a();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useState,o=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),a=r[0].inst,l=r[1];return s(function(){a.value=n,a.getSnapshot=t,u(a)&&l({inst:a})},[e,n,t]),o(function(){return u(a)&&l({inst:a}),e(function(){u(a)&&l({inst:a})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),en=t(((e,t)=>{t.exports=$t()})),tn=en(),nn=e(n(),1);function rn(e){this.content=e}rn.prototype={constructor:rn,find:function(e){for(var t=0;t<this.content.length;t+=2)if(this.content[t]===e)return t;return-1},get:function(e){var t=this.find(e);return t==-1?void 0:this.content[t+1]},update:function(e,t,n){var r=n&&n!=e?this.remove(n):this,i=r.find(e),a=r.content.slice();return i==-1?a.push(n||e,t):(a[i+1]=t,n&&(a[i]=n)),new rn(a)},remove:function(e){var t=this.find(e);if(t==-1)return this;var n=this.content.slice();return n.splice(t,2),new rn(n)},addToStart:function(e,t){return new rn([e,t].concat(this.remove(e).content))},addToEnd:function(e,t){var n=this.remove(e).content.slice();return n.push(e,t),new rn(n)},addBefore:function(e,t,n){var r=this.remove(t),i=r.content.slice(),a=r.find(e);return i.splice(a==-1?i.length:a,0,t,n),new rn(i)},forEach:function(e){for(var t=0;t<this.content.length;t+=2)e(this.content[t],this.content[t+1])},prepend:function(e){return e=rn.from(e),e.size?new rn(e.content.concat(this.subtract(e).content)):this},append:function(e){return e=rn.from(e),e.size?new rn(this.subtract(e).content.concat(e.content)):this},subtract:function(e){var t=this;e=rn.from(e);for(var n=0;n<e.content.length;n+=2)t=t.remove(e.content[n]);return t},toObject:function(){var e={};return this.forEach(function(t,n){e[t]=n}),e},get size(){return this.content.length>>1}},rn.from=function(e){if(e instanceof rn)return e;var t=[];if(e)for(var n in e)t.push(n,e[n]);return new rn(t)};function an(e,t,n){for(let r=0;;r++){if(r==e.childCount||r==t.childCount)return e.childCount==t.childCount?null:n;let i=e.child(r),a=t.child(r);if(i==a){n+=i.nodeSize;continue}if(!i.sameMarkup(a))return n;if(i.isText&&i.text!=a.text){for(let e=0;i.text[e]==a.text[e];e++)n++;return n}if(i.content.size||a.content.size){let e=an(i.content,a.content,n+1);if(e!=null)return e}n+=i.nodeSize}}function on(e,t,n,r){for(let i=e.childCount,a=t.childCount;;){if(i==0||a==0)return i==a?null:{a:n,b:r};let o=e.child(--i),s=t.child(--a),c=o.nodeSize;if(o==s){n-=c,r-=c;continue}if(!o.sameMarkup(s))return{a:n,b:r};if(o.isText&&o.text!=s.text){let e=0,t=Math.min(o.text.length,s.text.length);for(;e<t&&o.text[o.text.length-e-1]==s.text[s.text.length-e-1];)e++,n--,r--;return{a:n,b:r}}if(o.content.size||s.content.size){let e=on(o.content,s.content,n-1,r-1);if(e)return e}n-=c,r-=c}}var H=class e{constructor(e,t){if(this.content=e,this.size=t||0,t==null)for(let t=0;t<e.length;t++)this.size+=e[t].nodeSize}nodesBetween(e,t,n,r=0,i){for(let a=0,o=0;o<t;a++){let s=this.content[a],c=o+s.nodeSize;if(c>e&&n(s,r+o,i||null,a)!==!1&&s.content.size){let i=o+1;s.nodesBetween(Math.max(0,e-i),Math.min(s.content.size,t-i),n,r+i)}o=c}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,t,n,r){let i=``,a=!0;return this.nodesBetween(e,t,(o,s)=>{let c=o.isText?o.text.slice(Math.max(e,s)-s,t-s):o.isLeaf?r?typeof r==`function`?r(o):r:o.type.spec.leafText?o.type.spec.leafText(o):``:``;o.isBlock&&(o.isLeaf&&c||o.isTextblock)&&n&&(a?a=!1:i+=n),i+=c},0),i}append(t){if(!t.size)return this;if(!this.size)return t;let n=this.lastChild,r=t.firstChild,i=this.content.slice(),a=0;for(n.isText&&n.sameMarkup(r)&&(i[i.length-1]=n.withText(n.text+r.text),a=1);a<t.content.length;a++)i.push(t.content[a]);return new e(i,this.size+t.size)}cut(t,n=this.size){if(t==0&&n==this.size)return this;let r=[],i=0;if(n>t)for(let e=0,a=0;a<n;e++){let o=this.content[e],s=a+o.nodeSize;s>t&&((a<t||s>n)&&(o=o.isText?o.cut(Math.max(0,t-a),Math.min(o.text.length,n-a)):o.cut(Math.max(0,t-a-1),Math.min(o.content.size,n-a-1))),r.push(o),i+=o.nodeSize),a=s}return new e(r,i)}cutByIndex(t,n){return t==n?e.empty:t==0&&n==this.content.length?this:new e(this.content.slice(t,n))}replaceChild(t,n){let r=this.content[t];if(r==n)return this;let i=this.content.slice(),a=this.size+n.nodeSize-r.nodeSize;return i[t]=n,new e(i,a)}addToStart(t){return new e([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new e(this.content.concat(t),this.size+t.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let t=0;t<this.content.length;t++)if(!this.content[t].eq(e.content[t]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(e){let t=this.content[e];if(!t)throw RangeError(`Index `+e+` out of range for `+this);return t}maybeChild(e){return this.content[e]||null}forEach(e){for(let t=0,n=0;t<this.content.length;t++){let r=this.content[t];e(r,n,t),n+=r.nodeSize}}findDiffStart(e,t=0){return an(this,e,t)}findDiffEnd(e,t=this.size,n=e.size){return on(this,e,t,n)}findIndex(e){if(e==0)return cn(0,e);if(e==this.size)return cn(this.content.length,e);if(e>this.size||e<0)throw RangeError(`Position ${e} outside of fragment (${this})`);for(let t=0,n=0;;t++){let r=this.child(t),i=n+r.nodeSize;if(i>=e)return i==e?cn(t+1,i):cn(t,n);n=i}}toString(){return`<`+this.toStringInner()+`>`}toStringInner(){return this.content.join(`, `)}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(t,n){if(!n)return e.empty;if(!Array.isArray(n))throw RangeError(`Invalid input for Fragment.fromJSON`);return new e(n.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return e.empty;let n,r=0;for(let e=0;e<t.length;e++){let i=t[e];r+=i.nodeSize,e&&i.isText&&t[e-1].sameMarkup(i)?(n||=t.slice(0,e),n[n.length-1]=i.withText(n[n.length-1].text+i.text)):n&&n.push(i)}return new e(n||t,r)}static from(t){if(!t)return e.empty;if(t instanceof e)return t;if(Array.isArray(t))return this.fromArray(t);if(t.attrs)return new e([t],t.nodeSize);throw RangeError(`Can not convert `+t+` to a Fragment`+(t.nodesBetween?` (looks like multiple versions of prosemirror-model were loaded)`:``))}};H.empty=new H([],0);var sn={index:0,offset:0};function cn(e,t){return sn.index=e,sn.offset=t,sn}function ln(e,t){if(e===t)return!0;if(!(e&&typeof e==`object`)||!(t&&typeof t==`object`))return!1;let n=Array.isArray(e);if(Array.isArray(t)!=n)return!1;if(n){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!ln(e[n],t[n]))return!1}else{for(let n in e)if(!(n in t)||!ln(e[n],t[n]))return!1;for(let n in t)if(!(n in e))return!1}return!0}var U=class e{constructor(e,t){this.type=e,this.attrs=t}addToSet(e){let t,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(this.eq(i))return e;if(this.type.excludes(i.type))t||=e.slice(0,r);else if(i.type.excludes(this.type))return e;else !n&&i.type.rank>this.type.rank&&(t||=e.slice(0,r),t.push(this),n=!0),t&&t.push(i)}return t||=e.slice(),n||t.push(this),t}removeFromSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return e.slice(0,t).concat(e.slice(t+1));return e}isInSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return!0;return!1}eq(e){return this==e||this.type==e.type&&ln(this.attrs,e.attrs)}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Mark.fromJSON`);let n=e.marks[t.type];if(!n)throw RangeError(`There is no mark type ${t.type} in this schema`);let r=n.create(t.attrs);return n.checkAttrs(r.attrs),r}static sameSet(e,t){if(e==t)return!0;if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}static setFrom(t){if(!t||Array.isArray(t)&&t.length==0)return e.none;if(t instanceof e)return[t];let n=t.slice();return n.sort((e,t)=>e.type.rank-t.type.rank),n}};U.none=[];var un=class extends Error{},W=class e{constructor(e,t,n){this.content=e,this.openStart=t,this.openEnd=n}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,n){let r=fn(this.content,t+this.openStart,n);return r&&new e(r,this.openStart,this.openEnd)}removeBetween(t,n){return new e(dn(this.content,t+this.openStart,n+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+`(`+this.openStart+`,`+this.openEnd+`)`}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(t,n){if(!n)return e.empty;let r=n.openStart||0,i=n.openEnd||0;if(typeof r!=`number`||typeof i!=`number`)throw RangeError(`Invalid input for Slice.fromJSON`);return new e(H.fromJSON(t,n.content),r,i)}static maxOpen(t,n=!0){let r=0,i=0;for(let e=t.firstChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.firstChild)r++;for(let e=t.lastChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.lastChild)i++;return new e(t,r,i)}};W.empty=new W(H.empty,0,0);function dn(e,t,n){let{index:r,offset:i}=e.findIndex(t),a=e.maybeChild(r),{index:o,offset:s}=e.findIndex(n);if(i==t||a.isText){if(s!=n&&!e.child(o).isText)throw RangeError(`Removing non-flat range`);return e.cut(0,t).append(e.cut(n))}if(r!=o)throw RangeError(`Removing non-flat range`);return e.replaceChild(r,a.copy(dn(a.content,t-i-1,n-i-1)))}function fn(e,t,n,r){let{index:i,offset:a}=e.findIndex(t),o=e.maybeChild(i);if(a==t||o.isText)return r&&!r.canReplace(i,i,n)?null:e.cut(0,t).append(n).append(e.cut(t));let s=fn(o.content,t-a-1,n,o);return s&&e.replaceChild(i,o.copy(s))}function pn(e,t,n){if(n.openStart>e.depth)throw new un(`Inserted content deeper than insertion position`);if(e.depth-n.openStart!=t.depth-n.openEnd)throw new un(`Inconsistent open depths`);return mn(e,t,n,0)}function mn(e,t,n,r){let i=e.index(r),a=e.node(r);if(i==t.index(r)&&r<e.depth-n.openStart){let o=mn(e,t,n,r+1);return a.copy(a.content.replaceChild(i,o))}else if(!n.content.size)return yn(a,xn(e,t,r));else if(!n.openStart&&!n.openEnd&&e.depth==r&&t.depth==r){let r=e.parent,i=r.content;return yn(r,i.cut(0,e.parentOffset).append(n.content).append(i.cut(t.parentOffset)))}else{let{start:i,end:o}=Sn(n,e);return yn(a,bn(e,i,o,t,r))}}function hn(e,t){if(!t.type.compatibleContent(e.type))throw new un(`Cannot join `+t.type.name+` onto `+e.type.name)}function gn(e,t,n){let r=e.node(n);return hn(r,t.node(n)),r}function _n(e,t){let n=t.length-1;n>=0&&e.isText&&e.sameMarkup(t[n])?t[n]=e.withText(t[n].text+e.text):t.push(e)}function vn(e,t,n,r){let i=(t||e).node(n),a=0,o=t?t.index(n):i.childCount;e&&(a=e.index(n),e.depth>n?a++:e.textOffset&&(_n(e.nodeAfter,r),a++));for(let e=a;e<o;e++)_n(i.child(e),r);t&&t.depth==n&&t.textOffset&&_n(t.nodeBefore,r)}function yn(e,t){return e.type.checkContent(t),e.copy(t)}function bn(e,t,n,r,i){let a=e.depth>i&&gn(e,t,i+1),o=r.depth>i&&gn(n,r,i+1),s=[];return vn(null,e,i,s),a&&o&&t.index(i)==n.index(i)?(hn(a,o),_n(yn(a,bn(e,t,n,r,i+1)),s)):(a&&_n(yn(a,xn(e,t,i+1)),s),vn(t,n,i,s),o&&_n(yn(o,xn(n,r,i+1)),s)),vn(r,null,i,s),new H(s)}function xn(e,t,n){let r=[];return vn(null,e,n,r),e.depth>n&&_n(yn(gn(e,t,n+1),xn(e,t,n+1)),r),vn(t,null,n,r),new H(r)}function Sn(e,t){let n=t.depth-e.openStart,r=t.node(n).copy(e.content);for(let e=n-1;e>=0;e--)r=t.node(e).copy(H.from(r));return{start:r.resolveNoCache(e.openStart+n),end:r.resolveNoCache(r.content.size-e.openEnd-n)}}var Cn=class e{constructor(e,t,n){this.pos=e,this.path=t,this.parentOffset=n,this.depth=t.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position before the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position after the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,t=this.index(this.depth);if(t==e.childCount)return null;let n=this.pos-this.path[this.path.length-1],r=e.child(t);return n?e.child(t).cut(n):r}get nodeBefore(){let e=this.index(this.depth),t=this.pos-this.path[this.path.length-1];return t?this.parent.child(e).cut(0,t):e==0?null:this.parent.child(e-1)}posAtIndex(e,t){t=this.resolveDepth(t);let n=this.path[t*3],r=t==0?0:this.path[t*3-1]+1;for(let t=0;t<e;t++)r+=n.child(t).nodeSize;return r}marks(){let e=this.parent,t=this.index();if(e.content.size==0)return U.none;if(this.textOffset)return e.child(t).marks;let n=e.maybeChild(t-1),r=e.maybeChild(t);if(!n){let e=n;n=r,r=e}let i=n.marks;for(var a=0;a<i.length;a++)i[a].type.spec.inclusive===!1&&(!r||!i[a].isInSet(r.marks))&&(i=i[a--].removeFromSet(i));return i}marksAcross(e){let t=this.parent.maybeChild(this.index());if(!t||!t.isInline)return null;let n=t.marks,r=e.parent.maybeChild(e.index());for(var i=0;i<n.length;i++)n[i].type.spec.inclusive===!1&&(!r||!n[i].isInSet(r.marks))&&(n=n[i--].removeFromSet(n));return n}sharedDepth(e){for(let t=this.depth;t>0;t--)if(this.start(t)<=e&&this.end(t)>=e)return t;return 0}blockRange(e=this,t){if(e.pos<this.pos)return e.blockRange(this);for(let n=this.depth-(this.parent.inlineContent||this.pos==e.pos?1:0);n>=0;n--)if(e.pos<=this.end(n)&&(!t||t(this.node(n))))return new Dn(this,e,n);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos<this.pos?e:this}toString(){let e=``;for(let t=1;t<=this.depth;t++)e+=(e?`/`:``)+this.node(t).type.name+`_`+this.index(t-1);return e+`:`+this.parentOffset}static resolve(t,n){if(!(n>=0&&n<=t.content.size))throw RangeError(`Position `+n+` out of range`);let r=[],i=0,a=n;for(let e=t;;){let{index:t,offset:n}=e.content.findIndex(a),o=a-n;if(r.push(e,t,i+n),!o||(e=e.child(t),e.isText))break;a=o-1,i+=n+1}return new e(n,r,a)}static resolveCached(t,n){let r=En.get(t);if(r)for(let e=0;e<r.elts.length;e++){let t=r.elts[e];if(t.pos==n)return t}else En.set(t,r=new wn);let i=r.elts[r.i]=e.resolve(t,n);return r.i=(r.i+1)%Tn,i}},wn=class{constructor(){this.elts=[],this.i=0}},Tn=12,En=new WeakMap,Dn=class{constructor(e,t,n){this.$from=e,this.$to=t,this.depth=n}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}},On=Object.create(null),kn=class e{constructor(e,t,n,r=U.none){this.type=e,this.attrs=t,this.marks=r,this.content=n||H.empty}get children(){return this.content.content}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(e){return this.content.child(e)}maybeChild(e){return this.content.maybeChild(e)}forEach(e){this.content.forEach(e)}nodesBetween(e,t,n,r=0){this.content.nodesBetween(e,t,n,r,this)}descendants(e){this.nodesBetween(0,this.content.size,e)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,``)}textBetween(e,t,n,r){return this.content.textBetween(e,t,n,r)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(e){return this==e||this.sameMarkup(e)&&this.content.eq(e.content)}sameMarkup(e){return this.hasMarkup(e.type,e.attrs,e.marks)}hasMarkup(e,t,n){return this.type==e&&ln(this.attrs,t||e.defaultAttrs||On)&&U.sameSet(this.marks,n||U.none)}copy(t=null){return t==this.content?this:new e(this.type,this.attrs,t,this.marks)}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.content,t)}cut(e,t=this.content.size){return e==0&&t==this.content.size?this:this.copy(this.content.cut(e,t))}slice(e,t=this.content.size,n=!1){if(e==t)return W.empty;let r=this.resolve(e),i=this.resolve(t),a=n?0:r.sharedDepth(t),o=r.start(a);return new W(r.node(a).content.cut(r.pos-o,i.pos-o),r.depth-a,i.depth-a)}replace(e,t,n){return pn(this.resolve(e),this.resolve(t),n)}nodeAt(e){for(let t=this;;){let{index:n,offset:r}=t.content.findIndex(e);if(t=t.maybeChild(n),!t)return null;if(r==e||t.isText)return t;e-=r+1}}childAfter(e){let{index:t,offset:n}=this.content.findIndex(e);return{node:this.content.maybeChild(t),index:t,offset:n}}childBefore(e){if(e==0)return{node:null,index:0,offset:0};let{index:t,offset:n}=this.content.findIndex(e);if(n<e)return{node:this.content.child(t),index:t,offset:n};let r=this.content.child(t-1);return{node:r,index:t-1,offset:n-r.nodeSize}}resolve(e){return Cn.resolveCached(this,e)}resolveNoCache(e){return Cn.resolve(this,e)}rangeHasMark(e,t,n){let r=!1;return t>e&&this.nodesBetween(e,t,e=>(n.isInSet(e.marks)&&(r=!0),!r)),r}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+=`(`+this.content.toStringInner()+`)`),jn(this.marks,e)}contentMatchAt(e){let t=this.type.contentMatch.matchFragment(this.content,0,e);if(!t)throw Error(`Called contentMatchAt on a node with invalid content`);return t}canReplace(e,t,n=H.empty,r=0,i=n.childCount){let a=this.contentMatchAt(e).matchFragment(n,r,i),o=a&&a.matchFragment(this.content,t);if(!o||!o.validEnd)return!1;for(let e=r;e<i;e++)if(!this.type.allowsMarks(n.child(e).marks))return!1;return!0}canReplaceWith(e,t,n,r){if(r&&!this.type.allowsMarks(r))return!1;let i=this.contentMatchAt(e).matchType(n),a=i&&i.matchFragment(this.content,t);return a?a.validEnd:!1}canAppend(e){return e.content.size?this.canReplace(this.childCount,this.childCount,e.content):this.type.compatibleContent(e.type)}check(){this.type.checkContent(this.content),this.type.checkAttrs(this.attrs);let e=U.none;for(let t=0;t<this.marks.length;t++){let n=this.marks[t];n.type.checkAttrs(n.attrs),e=n.addToSet(e)}if(!U.sameSet(e,this.marks))throw RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(e=>e.type.name)}`);this.content.forEach(e=>e.check())}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(e=>e.toJSON())),e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Node.fromJSON`);let n;if(t.marks){if(!Array.isArray(t.marks))throw RangeError(`Invalid mark data for Node.fromJSON`);n=t.marks.map(e.markFromJSON)}if(t.type==`text`){if(typeof t.text!=`string`)throw RangeError(`Invalid text node in JSON`);return e.text(t.text,n)}let r=H.fromJSON(e,t.content),i=e.nodeType(t.type).create(t.attrs,r,n);return i.type.checkAttrs(i.attrs),i}};kn.prototype.text=void 0;var An=class e extends kn{constructor(e,t,n,r){if(super(e,t,null,r),!n)throw RangeError(`Empty text nodes are not allowed`);this.text=n}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):jn(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,t){return this.text.slice(e,t)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.text,t)}withText(t){return t==this.text?this:new e(this.type,this.attrs,t,this.marks)}cut(e=0,t=this.text.length){return e==0&&t==this.text.length?this:this.withText(this.text.slice(e,t))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}};function jn(e,t){for(let n=e.length-1;n>=0;n--)t=e[n].type.name+`(`+t+`)`;return t}var Mn=class e{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(t,n){let r=new Nn(t,n);if(r.next==null)return e.empty;let i=Pn(r);r.next&&r.err(`Unexpected trailing text`);let a=Wn(Vn(i));return Gn(a,r),a}matchType(e){for(let t=0;t<this.next.length;t++)if(this.next[t].type==e)return this.next[t].next;return null}matchFragment(e,t=0,n=e.childCount){let r=this;for(let i=t;r&&i<n;i++)r=r.matchType(e.child(i).type);return r}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let e=0;e<this.next.length;e++){let{type:t}=this.next[e];if(!(t.isText||t.hasRequiredAttrs()))return t}return null}compatible(e){for(let t=0;t<this.next.length;t++)for(let n=0;n<e.next.length;n++)if(this.next[t].type==e.next[n].type)return!0;return!1}fillBefore(e,t=!1,n=0){let r=[this];function i(a,o){let s=a.matchFragment(e,n);if(s&&(!t||s.validEnd))return H.from(o.map(e=>e.createAndFill()));for(let e=0;e<a.next.length;e++){let{type:t,next:n}=a.next[e];if(!(t.isText||t.hasRequiredAttrs())&&r.indexOf(n)==-1){r.push(n);let e=i(n,o.concat(t));if(e)return e}}return null}return i(this,[])}findWrapping(e){for(let t=0;t<this.wrapCache.length;t+=2)if(this.wrapCache[t]==e)return this.wrapCache[t+1];let t=this.computeWrapping(e);return this.wrapCache.push(e,t),t}computeWrapping(e){let t=Object.create(null),n=[{match:this,type:null,via:null}];for(;n.length;){let r=n.shift(),i=r.match;if(i.matchType(e)){let e=[];for(let t=r;t.type;t=t.via)e.push(t.type);return e.reverse()}for(let e=0;e<i.next.length;e++){let{type:a,next:o}=i.next[e];!a.isLeaf&&!a.hasRequiredAttrs()&&!(a.name in t)&&(!r.type||o.validEnd)&&(n.push({match:a.contentMatch,type:a,via:r}),t[a.name]=!0)}}return null}get edgeCount(){return this.next.length}edge(e){if(e>=this.next.length)throw RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function t(n){e.push(n);for(let r=0;r<n.next.length;r++)e.indexOf(n.next[r].next)==-1&&t(n.next[r].next)}return t(this),e.map((t,n)=>{let r=n+(t.validEnd?`*`:` `)+` `;for(let n=0;n<t.next.length;n++)r+=(n?`, `:``)+t.next[n].type.name+`->`+e.indexOf(t.next[n].next);return r}).join(`
|
|
2
2
|
`)}};Mn.empty=new Mn(!0);var Nn=class{constructor(e,t){this.string=e,this.nodeTypes=t,this.inline=null,this.pos=0,this.tokens=e.split(/\s*(?=\b|\W|$)/),this.tokens[this.tokens.length-1]==``&&this.tokens.pop(),this.tokens[0]==``&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(e){return this.next==e&&(this.pos++||!0)}err(e){throw SyntaxError(e+` (in content expression '`+this.string+`')`)}};function Pn(e){let t=[];do t.push(Fn(e));while(e.eat(`|`));return t.length==1?t[0]:{type:`choice`,exprs:t}}function Fn(e){let t=[];do t.push(In(e));while(e.next&&e.next!=`)`&&e.next!=`|`);return t.length==1?t[0]:{type:`seq`,exprs:t}}function In(e){let t=Bn(e);for(;;)if(e.eat(`+`))t={type:`plus`,expr:t};else if(e.eat(`*`))t={type:`star`,expr:t};else if(e.eat(`?`))t={type:`opt`,expr:t};else if(e.eat(`{`))t=Rn(e,t);else break;return t}function Ln(e){/\D/.test(e.next)&&e.err(`Expected number, got '`+e.next+`'`);let t=Number(e.next);return e.pos++,t}function Rn(e,t){let n=Ln(e),r=n;return e.eat(`,`)&&(r=e.next==`}`?-1:Ln(e)),e.eat(`}`)||e.err(`Unclosed braced range`),{type:`range`,min:n,max:r,expr:t}}function zn(e,t){let n=e.nodeTypes,r=n[t];if(r)return[r];let i=[];for(let e in n){let r=n[e];r.isInGroup(t)&&i.push(r)}return i.length==0&&e.err(`No node type or group '`+t+`' found`),i}function Bn(e){if(e.eat(`(`)){let t=Pn(e);return e.eat(`)`)||e.err(`Missing closing paren`),t}else if(/\W/.test(e.next))e.err(`Unexpected token '`+e.next+`'`);else{let t=zn(e,e.next).map(t=>(e.inline==null?e.inline=t.isInline:e.inline!=t.isInline&&e.err(`Mixing inline and block content`),{type:`name`,value:t}));return e.pos++,t.length==1?t[0]:{type:`choice`,exprs:t}}}function Vn(e){let t=[[]];return i(a(e,0),n()),t;function n(){return t.push([])-1}function r(e,n,r){let i={term:r,to:n};return t[e].push(i),i}function i(e,t){e.forEach(e=>e.to=t)}function a(e,t){if(e.type==`choice`)return e.exprs.reduce((e,n)=>e.concat(a(n,t)),[]);if(e.type==`seq`)for(let r=0;;r++){let o=a(e.exprs[r],t);if(r==e.exprs.length-1)return o;i(o,t=n())}else if(e.type==`star`){let o=n();return r(t,o),i(a(e.expr,o),o),[r(o)]}else if(e.type==`plus`){let o=n();return i(a(e.expr,t),o),i(a(e.expr,o),o),[r(o)]}else if(e.type==`opt`)return[r(t)].concat(a(e.expr,t));else if(e.type==`range`){let o=t;for(let t=0;t<e.min;t++){let t=n();i(a(e.expr,o),t),o=t}if(e.max==-1)i(a(e.expr,o),o);else for(let t=e.min;t<e.max;t++){let t=n();r(o,t),i(a(e.expr,o),t),o=t}return[r(o)]}else if(e.type==`name`)return[r(t,void 0,e.value)];else throw Error(`Unknown expr type`)}}function Hn(e,t){return t-e}function Un(e,t){let n=[];return r(t),n.sort(Hn);function r(t){let i=e[t];if(i.length==1&&!i[0].term)return r(i[0].to);n.push(t);for(let e=0;e<i.length;e++){let{term:t,to:a}=i[e];!t&&n.indexOf(a)==-1&&r(a)}}}function Wn(e){let t=Object.create(null);return n(Un(e,0));function n(r){let i=[];r.forEach(t=>{e[t].forEach(({term:t,to:n})=>{if(!t)return;let r;for(let e=0;e<i.length;e++)i[e][0]==t&&(r=i[e][1]);Un(e,n).forEach(e=>{r||i.push([t,r=[]]),r.indexOf(e)==-1&&r.push(e)})})});let a=t[r.join(`,`)]=new Mn(r.indexOf(e.length-1)>-1);for(let e=0;e<i.length;e++){let r=i[e][1].sort(Hn);a.next.push({type:i[e][0],next:t[r.join(`,`)]||n(r)})}return a}}function Gn(e,t){for(let n=0,r=[e];n<r.length;n++){let e=r[n],i=!e.validEnd,a=[];for(let t=0;t<e.next.length;t++){let{type:n,next:o}=e.next[t];a.push(n.name),i&&!(n.isText||n.hasRequiredAttrs())&&(i=!1),r.indexOf(o)==-1&&r.push(o)}i&&t.err(`Only non-generatable nodes (`+a.join(`, `)+`) in a required position (see https://prosemirror.net/docs/guide/#generatable)`)}}function Kn(e){let t=Object.create(null);for(let n in e){let r=e[n];if(!r.hasDefault)return null;t[n]=r.default}return t}function qn(e,t){let n=Object.create(null);for(let r in e){let i=t&&t[r];if(i===void 0){let t=e[r];if(t.hasDefault)i=t.default;else throw RangeError(`No value supplied for attribute `+r)}n[r]=i}return n}function Jn(e,t,n,r){for(let r in t)if(!(r in e))throw RangeError(`Unsupported attribute ${r} for ${n} of type ${r}`);for(let n in e){let r=e[n];r.validate&&r.validate(t[n])}}function Yn(e,t){let n=Object.create(null);if(t)for(let r in t)n[r]=new Qn(e,r,t[r]);return n}var Xn=class e{constructor(e,t,n){this.name=e,this.schema=t,this.spec=n,this.markSet=null,this.groups=n.group?n.group.split(` `):[],this.attrs=Yn(e,n.attrs),this.defaultAttrs=Kn(this.attrs),this.contentMatch=null,this.inlineContent=null,this.isBlock=!(n.inline||e==`text`),this.isText=e==`text`}get isInline(){return!this.isBlock}get isTextblock(){return this.isBlock&&this.inlineContent}get isLeaf(){return this.contentMatch==Mn.empty}get isAtom(){return this.isLeaf||!!this.spec.atom}isInGroup(e){return this.groups.indexOf(e)>-1}get whitespace(){return this.spec.whitespace||(this.spec.code?`pre`:`normal`)}hasRequiredAttrs(){for(let e in this.attrs)if(this.attrs[e].isRequired)return!0;return!1}compatibleContent(e){return this==e||this.contentMatch.compatible(e.contentMatch)}computeAttrs(e){return!e&&this.defaultAttrs?this.defaultAttrs:qn(this.attrs,e)}create(e=null,t,n){if(this.isText)throw Error(`NodeType.create can't construct text nodes`);return new kn(this,this.computeAttrs(e),H.from(t),U.setFrom(n))}createChecked(e=null,t,n){return t=H.from(t),this.checkContent(t),new kn(this,this.computeAttrs(e),t,U.setFrom(n))}createAndFill(e=null,t,n){if(e=this.computeAttrs(e),t=H.from(t),t.size){let e=this.contentMatch.fillBefore(t);if(!e)return null;t=e.append(t)}let r=this.contentMatch.matchFragment(t),i=r&&r.fillBefore(H.empty,!0);return i?new kn(this,e,t.append(i),U.setFrom(n)):null}validContent(e){let t=this.contentMatch.matchFragment(e);if(!t||!t.validEnd)return!1;for(let t=0;t<e.childCount;t++)if(!this.allowsMarks(e.child(t).marks))return!1;return!0}checkContent(e){if(!this.validContent(e))throw RangeError(`Invalid content for node ${this.name}: ${e.toString().slice(0,50)}`)}checkAttrs(e){Jn(this.attrs,e,`node`,this.name)}allowsMarkType(e){return this.markSet==null||this.markSet.indexOf(e)>-1}allowsMarks(e){if(this.markSet==null)return!0;for(let t=0;t<e.length;t++)if(!this.allowsMarkType(e[t].type))return!1;return!0}allowedMarks(e){if(this.markSet==null)return e;let t;for(let n=0;n<e.length;n++)this.allowsMarkType(e[n].type)?t&&t.push(e[n]):t||=e.slice(0,n);return t?t.length?t:U.none:e}static compile(t,n){let r=Object.create(null);t.forEach((t,i)=>r[t]=new e(t,n,i));let i=n.spec.topNode||`doc`;if(!r[i])throw RangeError(`Schema is missing its top node type ('`+i+`')`);if(!r.text)throw RangeError(`Every schema needs a 'text' type`);for(let e in r.text.attrs)throw RangeError(`The text node type should not have attributes`);return r}};function Zn(e,t,n){let r=n.split(`|`);return n=>{let i=n===null?`null`:typeof n;if(r.indexOf(i)<0)throw RangeError(`Expected value of type ${r} for attribute ${t} on type ${e}, got ${i}`)}}var Qn=class{constructor(e,t,n){this.hasDefault=Object.prototype.hasOwnProperty.call(n,`default`),this.default=n.default,this.validate=typeof n.validate==`string`?Zn(e,t,n.validate):n.validate}get isRequired(){return!this.hasDefault}},$n=class e{constructor(e,t,n,r){this.name=e,this.rank=t,this.schema=n,this.spec=r,this.attrs=Yn(e,r.attrs),this.excluded=null;let i=Kn(this.attrs);this.instance=i?new U(this,i):null}create(e=null){return!e&&this.instance?this.instance:new U(this,qn(this.attrs,e))}static compile(t,n){let r=Object.create(null),i=0;return t.forEach((t,a)=>r[t]=new e(t,i++,n,a)),r}removeFromSet(e){for(var t=0;t<e.length;t++)e[t].type==this&&(e=e.slice(0,t).concat(e.slice(t+1)),t--);return e}isInSet(e){for(let t=0;t<e.length;t++)if(e[t].type==this)return e[t]}checkAttrs(e){Jn(this.attrs,e,`mark`,this.name)}excludes(e){return this.excluded.indexOf(e)>-1}},er=class{constructor(e){this.linebreakReplacement=null,this.cached=Object.create(null);let t=this.spec={};for(let n in e)t[n]=e[n];t.nodes=rn.from(e.nodes),t.marks=rn.from(e.marks||{}),this.nodes=Xn.compile(this.spec.nodes,this),this.marks=$n.compile(this.spec.marks,this);let n=Object.create(null);for(let e in this.nodes){if(e in this.marks)throw RangeError(e+` can not be both a node and a mark`);let t=this.nodes[e],r=t.spec.content||``,i=t.spec.marks;if(t.contentMatch=n[r]||(n[r]=Mn.parse(r,this.nodes)),t.inlineContent=t.contentMatch.inlineContent,t.spec.linebreakReplacement){if(this.linebreakReplacement)throw RangeError(`Multiple linebreak nodes defined`);if(!t.isInline||!t.isLeaf)throw RangeError(`Linebreak replacement nodes must be inline leaf nodes`);this.linebreakReplacement=t}t.markSet=i==`_`?null:i?tr(this,i.split(` `)):i==``||!t.inlineContent?[]:null}for(let e in this.marks){let t=this.marks[e],n=t.spec.excludes;t.excluded=n==null?[t]:n==``?[]:tr(this,n.split(` `))}this.nodeFromJSON=e=>kn.fromJSON(this,e),this.markFromJSON=e=>U.fromJSON(this,e),this.topNodeType=this.nodes[this.spec.topNode||`doc`],this.cached.wrappings=Object.create(null)}node(e,t=null,n,r){if(typeof e==`string`)e=this.nodeType(e);else if(!(e instanceof Xn))throw RangeError(`Invalid node type: `+e);else if(e.schema!=this)throw RangeError(`Node type from different schema used (`+e.name+`)`);return e.createChecked(t,n,r)}text(e,t){let n=this.nodes.text;return new An(n,n.defaultAttrs,e,U.setFrom(t))}mark(e,t){return typeof e==`string`&&(e=this.marks[e]),e.create(t)}nodeType(e){let t=this.nodes[e];if(!t)throw RangeError(`Unknown node type: `+e);return t}};function tr(e,t){let n=[];for(let r=0;r<t.length;r++){let i=t[r],a=e.marks[i],o=a;if(a)n.push(a);else for(let t in e.marks){let r=e.marks[t];(i==`_`||r.spec.group&&r.spec.group.split(` `).indexOf(i)>-1)&&n.push(o=r)}if(!o)throw SyntaxError(`Unknown mark type: '`+t[r]+`'`)}return n}function nr(e){return e.tag!=null}function rr(e){return e.style!=null}var ir=class e{constructor(e,t){this.schema=e,this.rules=t,this.tags=[],this.styles=[];let n=this.matchedStyles=[];t.forEach(e=>{if(nr(e))this.tags.push(e);else if(rr(e)){let t=/[^=]*/.exec(e.style)[0];n.indexOf(t)<0&&n.push(t),this.styles.push(e)}}),this.normalizeLists=!this.tags.some(t=>{if(!/^(ul|ol)\b/.test(t.tag)||!t.node)return!1;let n=e.nodes[t.node];return n.contentMatch.matchType(n)})}parse(e,t={}){let n=new pr(this,t,!1);return n.addAll(e,U.none,t.from,t.to),n.finish()}parseSlice(e,t={}){let n=new pr(this,t,!0);return n.addAll(e,U.none,t.from,t.to),W.maxOpen(n.finish())}matchTag(e,t,n){for(let r=n?this.tags.indexOf(n)+1:0;r<this.tags.length;r++){let n=this.tags[r];if(hr(e,n.tag)&&(n.namespace===void 0||e.namespaceURI==n.namespace)&&(!n.context||t.matchesContext(n.context))){if(n.getAttrs){let t=n.getAttrs(e);if(t===!1)continue;n.attrs=t||void 0}return n}}}matchStyle(e,t,n,r){for(let i=r?this.styles.indexOf(r)+1:0;i<this.styles.length;i++){let r=this.styles[i],a=r.style;if(!(a.indexOf(e)!=0||r.context&&!n.matchesContext(r.context)||a.length>e.length&&(a.charCodeAt(e.length)!=61||a.slice(e.length+1)!=t))){if(r.getAttrs){let e=r.getAttrs(t);if(e===!1)continue;r.attrs=e||void 0}return r}}}static schemaRules(e){let t=[];function n(e){let n=e.priority==null?50:e.priority,r=0;for(;r<t.length;r++){let e=t[r];if((e.priority==null?50:e.priority)<n)break}t.splice(r,0,e)}for(let t in e.marks){let r=e.marks[t].spec.parseDOM;r&&r.forEach(e=>{n(e=gr(e)),e.mark||e.ignore||e.clearMark||(e.mark=t)})}for(let t in e.nodes){let r=e.nodes[t].spec.parseDOM;r&&r.forEach(e=>{n(e=gr(e)),e.node||e.ignore||e.mark||(e.node=t)})}return t}static fromSchema(t){return t.cached.domParser||(t.cached.domParser=new e(t,e.schemaRules(t)))}},ar={address:!0,article:!0,aside:!0,blockquote:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},or={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},sr={ol:!0,ul:!0},cr=1,lr=2,ur=4;function dr(e,t,n){return t==null?e&&e.whitespace==`pre`?cr|lr:n&~ur:(t?cr:0)|(t===`full`?lr:0)}var fr=class{constructor(e,t,n,r,i,a){this.type=e,this.attrs=t,this.marks=n,this.solid=r,this.options=a,this.content=[],this.activeMarks=U.none,this.match=i||(a&ur?null:e.contentMatch)}findWrapping(e){if(!this.match){if(!this.type)return[];let t=this.type.contentMatch.fillBefore(H.from(e));if(t)this.match=this.type.contentMatch.matchFragment(t);else{let t=this.type.contentMatch,n;return(n=t.findWrapping(e.type))?(this.match=t,n):null}}return this.match.findWrapping(e.type)}finish(e){if(!(this.options&cr)){let e=this.content[this.content.length-1],t;if(e&&e.isText&&(t=/[ \t\r\n\u000c]+$/.exec(e.text))){let n=e;e.text.length==t[0].length?this.content.pop():this.content[this.content.length-1]=n.withText(n.text.slice(0,n.text.length-t[0].length))}}let t=H.from(this.content);return!e&&this.match&&(t=t.append(this.match.fillBefore(H.empty,!0))),this.type?this.type.create(this.attrs,t,this.marks):t}inlineContext(e){return this.type?this.type.inlineContent:this.content.length?this.content[0].isInline:e.parentNode&&!ar.hasOwnProperty(e.parentNode.nodeName.toLowerCase())}},pr=class{constructor(e,t,n){this.parser=e,this.options=t,this.isOpen=n,this.open=0,this.localPreserveWS=!1;let r=t.topNode,i,a=dr(null,t.preserveWhitespace,0)|(n?ur:0);i=r?new fr(r.type,r.attrs,U.none,!0,t.topMatch||r.type.contentMatch,a):n?new fr(null,null,U.none,!0,null,a):new fr(e.schema.topNodeType,null,U.none,!0,null,a),this.nodes=[i],this.find=t.findPositions,this.needsBlock=!1}get top(){return this.nodes[this.open]}addDOM(e,t){e.nodeType==3?this.addTextNode(e,t):e.nodeType==1&&this.addElement(e,t)}addTextNode(e,t){let n=e.nodeValue,r=this.top,i=r.options&lr?`full`:this.localPreserveWS||(r.options&cr)>0,{schema:a}=this.parser;if(i===`full`||r.inlineContext(e)||/[^ \t\r\n\u000c]/.test(n)){if(!i){if(n=n.replace(/[ \t\r\n\u000c]+/g,` `),/^[ \t\r\n\u000c]/.test(n)&&this.open==this.nodes.length-1){let t=r.content[r.content.length-1],i=e.previousSibling;(!t||i&&i.nodeName==`BR`||t.isText&&/[ \t\r\n\u000c]$/.test(t.text))&&(n=n.slice(1))}}else if(i===`full`)n=n.replace(/\r\n?/g,`
|
|
3
3
|
`);else if(a.linebreakReplacement&&/[\r\n]/.test(n)&&this.top.findWrapping(a.linebreakReplacement.create())){let e=n.split(/\r?\n|\r/);for(let n=0;n<e.length;n++)n&&this.insertNode(a.linebreakReplacement.create(),t,!0),e[n]&&this.insertNode(a.text(e[n]),t,!/\S/.test(e[n]));n=``}else n=n.replace(/\r?\n|\r/g,` `);n&&this.insertNode(a.text(n),t,!/\S/.test(n)),this.findInText(e)}else this.findInside(e)}addElement(e,t,n){let r=this.localPreserveWS,i=this.top;(e.tagName==`PRE`||/pre/.test(e.style&&e.style.whiteSpace))&&(this.localPreserveWS=!0);let a=e.nodeName.toLowerCase(),o;sr.hasOwnProperty(a)&&this.parser.normalizeLists&&mr(e);let s=this.options.ruleFromNode&&this.options.ruleFromNode(e)||(o=this.parser.matchTag(e,this,n));out:if(s?s.ignore:or.hasOwnProperty(a))this.findInside(e),this.ignoreFallback(e,t);else if(!s||s.skip||s.closeParent){s&&s.closeParent?this.open=Math.max(0,this.open-1):s&&s.skip.nodeType&&(e=s.skip);let n,r=this.needsBlock;if(ar.hasOwnProperty(a))i.content.length&&i.content[0].isInline&&this.open&&(this.open--,i=this.top),n=!0,i.type||(this.needsBlock=!0);else if(!e.firstChild){this.leafFallback(e,t);break out}let o=s&&s.skip?t:this.readStyles(e,t);o&&this.addAll(e,o),n&&this.sync(i),this.needsBlock=r}else{let n=this.readStyles(e,t);n&&this.addElementByRule(e,s,n,s.consuming===!1?o:void 0)}this.localPreserveWS=r}leafFallback(e,t){e.nodeName==`BR`&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(e.ownerDocument.createTextNode(`
|
|
4
4
|
`),t)}ignoreFallback(e,t){e.nodeName==`BR`&&(!this.top.type||!this.top.type.inlineContent)&&this.findPlace(this.parser.schema.text(`-`),t,!0)}readStyles(e,t){let n=e.style;if(n&&n.length)for(let e=0;e<this.parser.matchedStyles.length;e++){let r=this.parser.matchedStyles[e],i=n.getPropertyValue(r);if(i)for(let e;;){let n=this.parser.matchStyle(r,i,this,e);if(!n)break;if(n.ignore)return null;if(t=n.clearMark?t.filter(e=>!n.clearMark(e)):t.concat(this.parser.schema.marks[n.mark].create(n.attrs)),n.consuming===!1)e=n;else break}}return t}addElementByRule(e,t,n,r){let i,a;if(t.node)if(a=this.parser.schema.nodes[t.node],a.isLeaf)this.insertNode(a.create(t.attrs),n,e.nodeName==`BR`)||this.leafFallback(e,n);else{let e=this.enter(a,t.attrs||null,n,t.preserveWhitespace);e&&(i=!0,n=e)}else{let e=this.parser.schema.marks[t.mark];n=n.concat(e.create(t.attrs))}let o=this.top;if(a&&a.isLeaf)this.findInside(e);else if(r)this.addElement(e,n,r);else if(t.getContent)this.findInside(e),t.getContent(e,this.parser.schema).forEach(e=>this.insertNode(e,n,!1));else{let r=e;typeof t.contentElement==`string`?r=e.querySelector(t.contentElement):typeof t.contentElement==`function`?r=t.contentElement(e):t.contentElement&&(r=t.contentElement),this.findAround(e,r,!0),this.addAll(r,n),this.findAround(e,r,!1)}i&&this.sync(o)&&this.open--}addAll(e,t,n,r){let i=n||0;for(let a=n?e.childNodes[n]:e.firstChild,o=r==null?null:e.childNodes[r];a!=o;a=a.nextSibling,++i)this.findAtPoint(e,i),this.addDOM(a,t);this.findAtPoint(e,i)}findPlace(e,t,n){let r,i;for(let t=this.open,a=0;t>=0;t--){let o=this.nodes[t],s=o.findWrapping(e);if(s&&(!r||r.length>s.length+a)&&(r=s,i=o,!s.length))break;if(o.solid){if(n)break;a+=2}}if(!r)return null;this.sync(i);for(let e=0;e<r.length;e++)t=this.enterInner(r[e],null,t,!1);return t}insertNode(e,t,n){if(e.isInline&&this.needsBlock&&!this.top.type){let e=this.textblockFromContext();e&&(t=this.enterInner(e,null,t))}let r=this.findPlace(e,t,n);if(r){this.closeExtra();let t=this.top;t.match&&=t.match.matchType(e.type);let n=U.none;for(let i of r.concat(e.marks))(t.type?t.type.allowsMarkType(i.type):_r(i.type,e.type))&&(n=i.addToSet(n));return t.content.push(e.mark(n)),!0}return!1}enter(e,t,n,r){let i=this.findPlace(e.create(t),n,!1);return i&&=this.enterInner(e,t,n,!0,r),i}enterInner(e,t,n,r=!1,i){this.closeExtra();let a=this.top;a.match=a.match&&a.match.matchType(e);let o=dr(e,i,a.options);a.options&ur&&a.content.length==0&&(o|=ur);let s=U.none;return n=n.filter(t=>(a.type?a.type.allowsMarkType(t.type):_r(t.type,e))?(s=t.addToSet(s),!1):!0),this.nodes.push(new fr(e,t,s,r,null,o)),this.open++,n}closeExtra(e=!1){let t=this.nodes.length-1;if(t>this.open){for(;t>this.open;t--)this.nodes[t-1].content.push(this.nodes[t].finish(e));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(!!(this.isOpen||this.options.topOpen))}sync(e){for(let t=this.open;t>=0;t--)if(this.nodes[t]==e)return this.open=t,!0;else this.localPreserveWS&&(this.nodes[t].options|=cr);return!1}get currentPos(){this.closeExtra();let e=0;for(let t=this.open;t>=0;t--){let n=this.nodes[t].content;for(let t=n.length-1;t>=0;t--)e+=n[t].nodeSize;t&&e++}return e}findAtPoint(e,t){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].node==e&&this.find[n].offset==t&&(this.find[n].pos=this.currentPos)}findInside(e){if(this.find)for(let t=0;t<this.find.length;t++)this.find[t].pos==null&&e.nodeType==1&&e.contains(this.find[t].node)&&(this.find[t].pos=this.currentPos)}findAround(e,t,n){if(e!=t&&this.find)for(let r=0;r<this.find.length;r++)this.find[r].pos==null&&e.nodeType==1&&e.contains(this.find[r].node)&&t.compareDocumentPosition(this.find[r].node)&(n?2:4)&&(this.find[r].pos=this.currentPos)}findInText(e){if(this.find)for(let t=0;t<this.find.length;t++)this.find[t].node==e&&(this.find[t].pos=this.currentPos-(e.nodeValue.length-this.find[t].offset))}matchesContext(e){if(e.indexOf(`|`)>-1)return e.split(/\s*\|\s*/).some(this.matchesContext,this);let t=e.split(`/`),n=this.options.context,r=!this.isOpen&&(!n||n.parent.type==this.nodes[0].type),i=-(n?n.depth+1:0)+(r?0:1),a=(e,o)=>{for(;e>=0;e--){let s=t[e];if(s==``){if(e==t.length-1||e==0)continue;for(;o>=i;o--)if(a(e-1,o))return!0;return!1}else{let e=o>0||o==0&&r?this.nodes[o].type:n&&o>=i?n.node(o-i).type:null;if(!e||e.name!=s&&!e.isInGroup(s))return!1;o--}}return!0};return a(t.length-1,this.open)}textblockFromContext(){let e=this.options.context;if(e)for(let t=e.depth;t>=0;t--){let n=e.node(t).contentMatchAt(e.indexAfter(t)).defaultType;if(n&&n.isTextblock&&n.defaultAttrs)return n}for(let e in this.parser.schema.nodes){let t=this.parser.schema.nodes[e];if(t.isTextblock&&t.defaultAttrs)return t}}};function mr(e){for(let t=e.firstChild,n=null;t;t=t.nextSibling){let e=t.nodeType==1?t.nodeName.toLowerCase():null;e&&sr.hasOwnProperty(e)&&n?(n.appendChild(t),t=n):e==`li`?n=t:e&&(n=null)}}function hr(e,t){return(e.matches||e.msMatchesSelector||e.webkitMatchesSelector||e.mozMatchesSelector).call(e,t)}function gr(e){let t={};for(let n in e)t[n]=e[n];return t}function _r(e,t){let n=t.schema.nodes;for(let r in n){let i=n[r];if(!i.allowsMarkType(e))continue;let a=[],o=e=>{a.push(e);for(let n=0;n<e.edgeCount;n++){let{type:r,next:i}=e.edge(n);if(r==t||a.indexOf(i)<0&&o(i))return!0}};if(o(i.contentMatch))return!0}}var vr=class e{constructor(e,t){this.nodes=e,this.marks=t}serializeFragment(e,t={},n){n||=br(t).createDocumentFragment();let r=n,i=[];return e.forEach(e=>{if(i.length||e.marks.length){let n=0,a=0;for(;n<i.length&&a<e.marks.length;){let t=e.marks[a];if(!this.marks[t.type.name]){a++;continue}if(!t.eq(i[n][0])||t.type.spec.spanning===!1)break;n++,a++}for(;n<i.length;)r=i.pop()[1];for(;a<e.marks.length;){let n=e.marks[a++],o=this.serializeMark(n,e.isInline,t);o&&(i.push([n,r]),r.appendChild(o.dom),r=o.contentDOM||o.dom)}}r.appendChild(this.serializeNodeInner(e,t))}),n}serializeNodeInner(e,t){let{dom:n,contentDOM:r}=wr(br(t),this.nodes[e.type.name](e),null,e.attrs);if(r){if(e.isLeaf)throw RangeError(`Content hole not allowed in a leaf node spec`);this.serializeFragment(e.content,t,r)}return n}serializeNode(e,t={}){let n=this.serializeNodeInner(e,t);for(let r=e.marks.length-1;r>=0;r--){let i=this.serializeMark(e.marks[r],e.isInline,t);i&&((i.contentDOM||i.dom).appendChild(n),n=i.dom)}return n}serializeMark(e,t,n={}){let r=this.marks[e.type.name];return r&&wr(br(n),r(e,t),null,e.attrs)}static renderSpec(e,t,n=null,r){return wr(e,t,n,r)}static fromSchema(t){return t.cached.domSerializer||(t.cached.domSerializer=new e(this.nodesFromSchema(t),this.marksFromSchema(t)))}static nodesFromSchema(e){let t=yr(e.nodes);return t.text||=e=>e.text,t}static marksFromSchema(e){return yr(e.marks)}};function yr(e){let t={};for(let n in e){let r=e[n].spec.toDOM;r&&(t[n]=r)}return t}function br(e){return e.document||window.document}var xr=new WeakMap;function Sr(e){let t=xr.get(e);return t===void 0&&xr.set(e,t=Cr(e)),t}function Cr(e){let t=null;function n(e){if(e&&typeof e==`object`)if(Array.isArray(e))if(typeof e[0]==`string`)t||=[],t.push(e);else for(let t=0;t<e.length;t++)n(e[t]);else for(let t in e)n(e[t])}return n(e),t}function wr(e,t,n,r){if(typeof t==`string`)return{dom:e.createTextNode(t)};if(t.nodeType!=null)return{dom:t};if(t.dom&&t.dom.nodeType!=null)return t;let i=t[0],a;if(typeof i!=`string`)throw RangeError(`Invalid array passed to renderSpec`);if(r&&(a=Sr(r))&&a.indexOf(t)>-1)throw RangeError(`Using an array from an attribute object as a DOM spec. This may be an attempted cross site scripting attack.`);let o=i.indexOf(` `);o>0&&(n=i.slice(0,o),i=i.slice(o+1));let s,c=n?e.createElementNS(n,i):e.createElement(i),l=t[1],u=1;if(l&&typeof l==`object`&&l.nodeType==null&&!Array.isArray(l)){u=2;for(let e in l)if(l[e]!=null){let t=e.indexOf(` `);t>0?c.setAttributeNS(e.slice(0,t),e.slice(t+1),l[e]):e==`style`&&c.style?c.style.cssText=l[e]:c.setAttribute(e,l[e])}}for(let i=u;i<t.length;i++){let a=t[i];if(a===0){if(i<t.length-1||i>u)throw RangeError(`Content hole must be the only child of its parent node`);return{dom:c,contentDOM:c}}else{let{dom:t,contentDOM:i}=wr(e,a,n,r);if(c.appendChild(t),i){if(s)throw RangeError(`Multiple content holes`);s=i}}}return{dom:c,contentDOM:s}}var Tr=65535,Er=2**16;function Dr(e,t){return e+t*Er}function Or(e){return e&Tr}function kr(e){return(e-(e&Tr))/Er}var Ar=1,jr=2,Mr=4,Nr=8,Pr=class{constructor(e,t,n){this.pos=e,this.delInfo=t,this.recover=n}get deleted(){return(this.delInfo&Nr)>0}get deletedBefore(){return(this.delInfo&(Ar|Mr))>0}get deletedAfter(){return(this.delInfo&(jr|Mr))>0}get deletedAcross(){return(this.delInfo&Mr)>0}},Fr=class e{constructor(t,n=!1){if(this.ranges=t,this.inverted=n,!t.length&&e.empty)return e.empty}recover(e){let t=0,n=Or(e);if(!this.inverted)for(let e=0;e<n;e++)t+=this.ranges[e*3+2]-this.ranges[e*3+1];return this.ranges[n*3]+t+kr(e)}mapResult(e,t=1){return this._map(e,t,!1)}map(e,t=1){return this._map(e,t,!0)}_map(e,t,n){let r=0,i=this.inverted?2:1,a=this.inverted?1:2;for(let o=0;o<this.ranges.length;o+=3){let s=this.ranges[o]-(this.inverted?r:0);if(s>e)break;let c=this.ranges[o+i],l=this.ranges[o+a],u=s+c;if(e<=u){let i=c?e==s?-1:e==u?1:t:t,a=s+r+(i<0?0:l);if(n)return a;let d=e==(t<0?s:u)?null:Dr(o/3,e-s),f=e==s?jr:e==u?Ar:Mr;return(t<0?e!=s:e!=u)&&(f|=Nr),new Pr(a,f,d)}r+=l-c}return n?e+r:new Pr(e+r,0,null)}touches(e,t){let n=0,r=Or(t),i=this.inverted?2:1,a=this.inverted?1:2;for(let t=0;t<this.ranges.length;t+=3){let o=this.ranges[t]-(this.inverted?n:0);if(o>e)break;let s=this.ranges[t+i];if(e<=o+s&&t==r*3)return!0;n+=this.ranges[t+a]-s}return!1}forEach(e){let t=this.inverted?2:1,n=this.inverted?1:2;for(let r=0,i=0;r<this.ranges.length;r+=3){let a=this.ranges[r],o=a-(this.inverted?i:0),s=a+(this.inverted?0:i),c=this.ranges[r+t],l=this.ranges[r+n];e(o,o+c,s,s+l),i+=l-c}}invert(){return new e(this.ranges,!this.inverted)}toString(){return(this.inverted?`-`:``)+JSON.stringify(this.ranges)}static offset(t){return t==0?e.empty:new e(t<0?[0,-t,0]:[0,0,t])}};Fr.empty=new Fr([]);var Ir=class e{constructor(e,t,n=0,r=e?e.length:0){this.mirror=t,this.from=n,this.to=r,this._maps=e||[],this.ownData=!(e||t)}get maps(){return this._maps}slice(t=0,n=this.maps.length){return new e(this._maps,this.mirror,t,n)}appendMap(e,t){this.ownData||=(this._maps=this._maps.slice(),this.mirror=this.mirror&&this.mirror.slice(),!0),this.to=this._maps.push(e),t!=null&&this.setMirror(this._maps.length-1,t)}appendMapping(e){for(let t=0,n=this._maps.length;t<e._maps.length;t++){let r=e.getMirror(t);this.appendMap(e._maps[t],r!=null&&r<t?n+r:void 0)}}getMirror(e){if(this.mirror){for(let t=0;t<this.mirror.length;t++)if(this.mirror[t]==e)return this.mirror[t+(t%2?-1:1)]}}setMirror(e,t){this.mirror||=[],this.mirror.push(e,t)}appendMappingInverted(e){for(let t=e.maps.length-1,n=this._maps.length+e._maps.length;t>=0;t--){let r=e.getMirror(t);this.appendMap(e._maps[t].invert(),r!=null&&r>t?n-r-1:void 0)}}invert(){let t=new e;return t.appendMappingInverted(this),t}map(e,t=1){if(this.mirror)return this._map(e,t,!0);for(let n=this.from;n<this.to;n++)e=this._maps[n].map(e,t);return e}mapResult(e,t=1){return this._map(e,t,!1)}_map(e,t,n){let r=0;for(let n=this.from;n<this.to;n++){let i=this._maps[n].mapResult(e,t);if(i.recover!=null){let t=this.getMirror(n);if(t!=null&&t>n&&t<this.to){n=t,e=this._maps[t].recover(i.recover);continue}}r|=i.delInfo,e=i.pos}return n?e:new Pr(e,r,null)}},Lr=Object.create(null),Rr=class{getMap(){return Fr.empty}merge(e){return null}static fromJSON(e,t){if(!t||!t.stepType)throw RangeError(`Invalid input for Step.fromJSON`);let n=Lr[t.stepType];if(!n)throw RangeError(`No step type ${t.stepType} defined`);return n.fromJSON(e,t)}static jsonID(e,t){if(e in Lr)throw RangeError(`Duplicate use of step JSON ID `+e);return Lr[e]=t,t.prototype.jsonID=e,t}},zr=class e{constructor(e,t){this.doc=e,this.failed=t}static ok(t){return new e(t,null)}static fail(t){return new e(null,t)}static fromReplace(t,n,r,i){try{return e.ok(t.replace(n,r,i))}catch(t){if(t instanceof un)return e.fail(t.message);throw t}}};function Br(e,t,n){let r=[];for(let i=0;i<e.childCount;i++){let a=e.child(i);a.content.size&&(a=a.copy(Br(a.content,t,a))),a.isInline&&(a=t(a,n,i)),r.push(a)}return H.fromArray(r)}var Vr=class e extends Rr{constructor(e,t,n){super(),this.from=e,this.to=t,this.mark=n}apply(e){let t=e.slice(this.from,this.to),n=e.resolve(this.from),r=n.node(n.sharedDepth(this.to)),i=new W(Br(t.content,(e,t)=>!e.isAtom||!t.type.allowsMarkType(this.mark.type)?e:e.mark(this.mark.addToSet(e.marks)),r),t.openStart,t.openEnd);return zr.fromReplace(e,this.from,this.to,i)}invert(){return new Hr(this.from,this.to,this.mark)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new e(n.pos,r.pos,this.mark)}merge(t){return t instanceof e&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new e(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:`addMark`,mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`)throw RangeError(`Invalid input for AddMarkStep.fromJSON`);return new e(n.from,n.to,t.markFromJSON(n.mark))}};Rr.jsonID(`addMark`,Vr);var Hr=class e extends Rr{constructor(e,t,n){super(),this.from=e,this.to=t,this.mark=n}apply(e){let t=e.slice(this.from,this.to),n=new W(Br(t.content,e=>e.mark(this.mark.removeFromSet(e.marks)),e),t.openStart,t.openEnd);return zr.fromReplace(e,this.from,this.to,n)}invert(){return new Vr(this.from,this.to,this.mark)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new e(n.pos,r.pos,this.mark)}merge(t){return t instanceof e&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new e(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:`removeMark`,mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`)throw RangeError(`Invalid input for RemoveMarkStep.fromJSON`);return new e(n.from,n.to,t.markFromJSON(n.mark))}};Rr.jsonID(`removeMark`,Hr);var Ur=class e extends Rr{constructor(e,t){super(),this.pos=e,this.mark=t}apply(e){let t=e.nodeAt(this.pos);if(!t)return zr.fail(`No node at mark step's position`);let n=t.type.create(t.attrs,null,this.mark.addToSet(t.marks));return zr.fromReplace(e,this.pos,this.pos+1,new W(H.from(n),0,t.isLeaf?0:1))}invert(t){let n=t.nodeAt(this.pos);if(n){let t=this.mark.addToSet(n.marks);if(t.length==n.marks.length){for(let r=0;r<n.marks.length;r++)if(!n.marks[r].isInSet(t))return new e(this.pos,n.marks[r]);return new e(this.pos,this.mark)}}return new Wr(this.pos,this.mark)}map(t){let n=t.mapResult(this.pos,1);return n.deletedAfter?null:new e(n.pos,this.mark)}toJSON(){return{stepType:`addNodeMark`,pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,n){if(typeof n.pos!=`number`)throw RangeError(`Invalid input for AddNodeMarkStep.fromJSON`);return new e(n.pos,t.markFromJSON(n.mark))}};Rr.jsonID(`addNodeMark`,Ur);var Wr=class e extends Rr{constructor(e,t){super(),this.pos=e,this.mark=t}apply(e){let t=e.nodeAt(this.pos);if(!t)return zr.fail(`No node at mark step's position`);let n=t.type.create(t.attrs,null,this.mark.removeFromSet(t.marks));return zr.fromReplace(e,this.pos,this.pos+1,new W(H.from(n),0,t.isLeaf?0:1))}invert(e){let t=e.nodeAt(this.pos);return!t||!this.mark.isInSet(t.marks)?this:new Ur(this.pos,this.mark)}map(t){let n=t.mapResult(this.pos,1);return n.deletedAfter?null:new e(n.pos,this.mark)}toJSON(){return{stepType:`removeNodeMark`,pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,n){if(typeof n.pos!=`number`)throw RangeError(`Invalid input for RemoveNodeMarkStep.fromJSON`);return new e(n.pos,t.markFromJSON(n.mark))}};Rr.jsonID(`removeNodeMark`,Wr);var Gr=class e extends Rr{constructor(e,t,n,r=!1){super(),this.from=e,this.to=t,this.slice=n,this.structure=r}apply(e){return this.structure&&qr(e,this.from,this.to)?zr.fail(`Structure replace would overwrite content`):zr.fromReplace(e,this.from,this.to,this.slice)}getMap(){return new Fr([this.from,this.to-this.from,this.slice.size])}invert(t){return new e(this.from,this.from+this.slice.size,t.slice(this.from,this.to))}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deletedAcross&&r.deletedAcross?null:new e(n.pos,Math.max(n.pos,r.pos),this.slice,this.structure)}merge(t){if(!(t instanceof e)||t.structure||this.structure)return null;if(this.from+this.slice.size==t.from&&!this.slice.openEnd&&!t.slice.openStart){let n=this.slice.size+t.slice.size==0?W.empty:new W(this.slice.content.append(t.slice.content),this.slice.openStart,t.slice.openEnd);return new e(this.from,this.to+(t.to-t.from),n,this.structure)}else if(t.to==this.from&&!this.slice.openStart&&!t.slice.openEnd){let n=this.slice.size+t.slice.size==0?W.empty:new W(t.slice.content.append(this.slice.content),t.slice.openStart,this.slice.openEnd);return new e(t.from,this.to,n,this.structure)}else return null}toJSON(){let e={stepType:`replace`,from:this.from,to:this.to};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`)throw RangeError(`Invalid input for ReplaceStep.fromJSON`);return new e(n.from,n.to,W.fromJSON(t,n.slice),!!n.structure)}};Rr.jsonID(`replace`,Gr);var Kr=class e extends Rr{constructor(e,t,n,r,i,a,o=!1){super(),this.from=e,this.to=t,this.gapFrom=n,this.gapTo=r,this.slice=i,this.insert=a,this.structure=o}apply(e){if(this.structure&&(qr(e,this.from,this.gapFrom)||qr(e,this.gapTo,this.to)))return zr.fail(`Structure gap-replace would overwrite content`);let t=e.slice(this.gapFrom,this.gapTo);if(t.openStart||t.openEnd)return zr.fail(`Gap is not a flat range`);let n=this.slice.insertAt(this.insert,t.content);return n?zr.fromReplace(e,this.from,this.to,n):zr.fail(`Content does not fit in gap`)}getMap(){return new Fr([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])}invert(t){let n=this.gapTo-this.gapFrom;return new e(this.from,this.from+this.slice.size+n,this.from+this.insert,this.from+this.insert+n,t.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1),i=this.from==this.gapFrom?n.pos:t.map(this.gapFrom,-1),a=this.to==this.gapTo?r.pos:t.map(this.gapTo,1);return n.deletedAcross&&r.deletedAcross||i<n.pos||a>r.pos?null:new e(n.pos,r.pos,i,a,this.slice,this.insert,this.structure)}toJSON(){let e={stepType:`replaceAround`,from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`||typeof n.gapFrom!=`number`||typeof n.gapTo!=`number`||typeof n.insert!=`number`)throw RangeError(`Invalid input for ReplaceAroundStep.fromJSON`);return new e(n.from,n.to,n.gapFrom,n.gapTo,W.fromJSON(t,n.slice),n.insert,!!n.structure)}};Rr.jsonID(`replaceAround`,Kr);function qr(e,t,n){let r=e.resolve(t),i=n-t,a=r.depth;for(;i>0&&a>0&&r.indexAfter(a)==r.node(a).childCount;)a--,i--;if(i>0){let e=r.node(a).maybeChild(r.indexAfter(a));for(;i>0;){if(!e||e.isLeaf)return!0;e=e.firstChild,i--}}return!1}function Jr(e,t,n,r){let i=[],a=[],o,s;e.doc.nodesBetween(t,n,(e,c,l)=>{if(!e.isInline)return;let u=e.marks;if(!r.isInSet(u)&&l.type.allowsMarkType(r.type)){let l=Math.max(c,t),d=Math.min(c+e.nodeSize,n),f=r.addToSet(u);for(let e=0;e<u.length;e++)u[e].isInSet(f)||(o&&o.to==l&&o.mark.eq(u[e])?o.to=d:i.push(o=new Hr(l,d,u[e])));s&&s.to==l?s.to=d:a.push(s=new Vr(l,d,r))}}),i.forEach(t=>e.step(t)),a.forEach(t=>e.step(t))}function Yr(e,t,n,r){let i=[],a=0;e.doc.nodesBetween(t,n,(e,o)=>{if(!e.isInline)return;a++;let s=null;if(r instanceof $n){let t=e.marks,n;for(;n=r.isInSet(t);)(s||=[]).push(n),t=n.removeFromSet(t)}else r?r.isInSet(e.marks)&&(s=[r]):s=e.marks;if(s&&s.length){let r=Math.min(o+e.nodeSize,n);for(let e=0;e<s.length;e++){let n=s[e],c;for(let e=0;e<i.length;e++){let t=i[e];t.step==a-1&&n.eq(i[e].style)&&(c=t)}c?(c.to=r,c.step=a):i.push({style:n,from:Math.max(o,t),to:r,step:a})}}}),i.forEach(t=>e.step(new Hr(t.from,t.to,t.style)))}function Xr(e,t,n,r=n.contentMatch,i=!0){let a=e.doc.nodeAt(t),o=[],s=t+1;for(let t=0;t<a.childCount;t++){let c=a.child(t),l=s+c.nodeSize,u=r.matchType(c.type);if(!u)o.push(new Gr(s,l,W.empty));else{r=u;for(let t=0;t<c.marks.length;t++)n.allowsMarkType(c.marks[t].type)||e.step(new Hr(s,l,c.marks[t]));if(i&&c.isText&&n.whitespace!=`pre`){let e,t=/\r?\n|\r/g,r;for(;e=t.exec(c.text);)r||=new W(H.from(n.schema.text(` `,n.allowedMarks(c.marks))),0,0),o.push(new Gr(s+e.index,s+e.index+e[0].length,r))}}s=l}if(!r.validEnd){let t=r.fillBefore(H.empty,!0);e.replace(s,s,new W(t,0,0))}for(let t=o.length-1;t>=0;t--)e.step(o[t])}function Zr(e,t,n){return(t==0||e.canReplace(t,e.childCount))&&(n==e.childCount||e.canReplace(0,n))}function Qr(e){let t=e.parent.content.cutByIndex(e.startIndex,e.endIndex);for(let n=e.depth,r=0,i=0;;--n){let a=e.$from.node(n),o=e.$from.index(n)+r,s=e.$to.indexAfter(n)-i;if(n<e.depth&&a.canReplace(o,s,t))return n;if(n==0||a.type.spec.isolating||!Zr(a,o,s))break;o&&(r=1),s<a.childCount&&(i=1)}return null}function $r(e,t,n){let{$from:r,$to:i,depth:a}=t,o=r.before(a+1),s=i.after(a+1),c=o,l=s,u=H.empty,d=0;for(let e=a,t=!1;e>n;e--)t||r.index(e)>0?(t=!0,u=H.from(r.node(e).copy(u)),d++):c--;let f=H.empty,p=0;for(let e=a,t=!1;e>n;e--)t||i.after(e+1)<i.end(e)?(t=!0,f=H.from(i.node(e).copy(f)),p++):l++;e.step(new Kr(c,l,o,s,new W(u.append(f),d,p),u.size-d,!0))}function ei(e,t,n=null,r=e){let i=ni(e,t),a=i&&ri(r,t);return a?i.map(ti).concat({type:t,attrs:n}).concat(a.map(ti)):null}function ti(e){return{type:e,attrs:null}}function ni(e,t){let{parent:n,startIndex:r,endIndex:i}=e,a=n.contentMatchAt(r).findWrapping(t);if(!a)return null;let o=a.length?a[0]:t;return n.canReplaceWith(r,i,o)?a:null}function ri(e,t){let{parent:n,startIndex:r,endIndex:i}=e,a=n.child(r),o=t.contentMatch.findWrapping(a.type);if(!o)return null;let s=(o.length?o[o.length-1]:t).contentMatch;for(let e=r;s&&e<i;e++)s=s.matchType(n.child(e).type);return!s||!s.validEnd?null:o}function ii(e,t,n){let r=H.empty;for(let e=n.length-1;e>=0;e--){if(r.size){let t=n[e].type.contentMatch.matchFragment(r);if(!t||!t.validEnd)throw RangeError(`Wrapper type given to Transform.wrap does not form valid content of its parent wrapper`)}r=H.from(n[e].type.create(n[e].attrs,r))}let i=t.start,a=t.end;e.step(new Kr(i,a,i,a,new W(r,0,0),n.length,!0))}function ai(e,t,n,r,i){if(!r.isTextblock)throw RangeError(`Type given to setBlockType should be a textblock`);let a=e.steps.length;e.doc.nodesBetween(t,n,(t,n)=>{let o=typeof i==`function`?i(t):i;if(t.isTextblock&&!t.hasMarkup(r,o)&&ci(e.doc,e.mapping.slice(a).map(n),r)){let i=null;if(r.schema.linebreakReplacement){let e=r.whitespace==`pre`,t=!!r.contentMatch.matchType(r.schema.linebreakReplacement);e&&!t?i=!1:!e&&t&&(i=!0)}i===!1&&si(e,t,n,a),Xr(e,e.mapping.slice(a).map(n,1),r,void 0,i===null);let s=e.mapping.slice(a),c=s.map(n,1),l=s.map(n+t.nodeSize,1);return e.step(new Kr(c,l,c+1,l-1,new W(H.from(r.create(o,null,t.marks)),0,0),1,!0)),i===!0&&oi(e,t,n,a),!1}})}function oi(e,t,n,r){t.forEach((i,a)=>{if(i.isText){let o,s=/\r?\n|\r/g;for(;o=s.exec(i.text);){let i=e.mapping.slice(r).map(n+1+a+o.index);e.replaceWith(i,i+1,t.type.schema.linebreakReplacement.create())}}})}function si(e,t,n,r){t.forEach((i,a)=>{if(i.type==i.type.schema.linebreakReplacement){let i=e.mapping.slice(r).map(n+1+a);e.replaceWith(i,i+1,t.type.schema.text(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,t}from"./jsx-runtime-DJER3a7U.js";import{n}from"./page-
|
|
1
|
+
import{i as e,t}from"./jsx-runtime-DJER3a7U.js";import{n}from"./page-BNM63zsb.js";import"./useAdminFetch-iYCQ9lT0.js";import"./Checkbox-BruL6MSR.js";var r=e(),i=t();(0,r.createRoot)(document.getElementById(`root`)).render((0,i.jsx)(n,{}));
|